第一篇:软件开发过程及岗位职责
软件开发过程及岗位职责
本文主要讲述如何组织开发软件项目,使之更加快速、有效的完成。并分成以下几个阶段进行详细讲述:项目计划阶段、需求分析阶段、软件开发阶段、测试阶段、管理软件开发过程、各参与角色的具体职责描述及对人员的要求。最后提供了一些文档标准参考。
本开发过程可以作为中小型(3-7人)软件项目的开发指南,而大型软件项目使用RUP会更好。
总体流程如下:
计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》完成一、项目计划阶段
项目计划草案和风险管理计划作为第一步,当有一个商业机会后,根据公司高层负责制定的初步商业计划书来完成项目的计划草案,确定、分析项目风险并确定其优先级,还要制定风险解决方案。本阶段的目的是确立产品开发的经济理由。
当确定开发之后则制定软件开发计划、人员组织结构定义及配备、过程控制计划。
(1)项目计划草案
项目计划草案应包括产品简介、产品目标及功能说明、开发所需的资源、开发时间和里程碑。
(2)风险管理计划
也就是把有可能出错或现在还不能确定的东西列出来,并制定出相应的解决方案。风险发现得越早对项目越有利。
(3)软件开发计划
软件开发计划的目的是收集控制项目时所需的所有信息,项目经理根据项目计划来安排资源需求并根据时间表跟踪项目进度。项目团队成员根据项目计划以了解他们的工作任务、工作时间以及他们所依赖的其他活动。
可将计划分成总体计划和详细计划,总体计划中每个任务为一个里程碑,详细计划中必须将任务落实到个人。
软件开发计划还应包括产品的应收标准及应收任务(包括确定需要制订的测试用例)。
(4)人员组织结构定义及配备
常见的人员组织结构有垂直方案、水平方案、混合方案。垂直方案中每个成员充当多重角色。水平方案中每个成员充当一到两个角色。混合方案则包括了经验丰富的人员与新手相互融合。具体选择根据人员实际技能情况进行选择。
(5)过程控制计划
过程控制计划的目的是收集项目计划正常执行所需的所有信息,用来指导项目进度的监控、计划的调整,确保项目按时完成。
二、需求分析阶段
需求分析阶段的目的是在系统工作方面与用户达成一致。
(1)软件需求规约
详细说明系统将要实现的所有功能。
(2)用户界面原型
可以有三种表示方法:图纸(在纸上)、位图(绘图工具)、可执行文件(交互式)。
三、软件开发阶段
本阶段从物理上实现目标系统。采用了面向对象方法。
(1)软件架构
说明软件的组织结构、部署结构及运行环境。
(2)类设计
定义类之间的关联和类的属性、方法。
(3)数据库设计
定义数据库表之间的关联和各个表的字段。
(4)编码和单元测试
按照设计文档进行编码,每完成一个模块应进行单元测试。
(5)集成系统
按软件组织结构的要求将各个子系统组合起来。
四、测试阶段
测试的目的是在发布之前找出程序的错误。包括:核实每个模块是否正常运行(参考设计文档)、核实需求是否被正确实施(参考需求文档)。
(1)测试计划
收集和组织测试信息,为测试工作提供指导。
(2)测试数据
尽量使用真实数据。
(3)测试报告
记录测试结果,详细描述问题,提出解决办法。
(4)帮助文件和用户操作手册
五、管理软件开发过程
有以下几方面地工作:
(1)组织会议
讨论会议、总结会议等。
(2)评审程序
对各个阶段的工作结果进行审核。
(3)协调人员
(4)配置管理
使用一些配置管理工具进行开发文档管理,如:Visual Sourcesafe,Teamsouce等
六、各参与角色的具体职责描述及对人员的要求
(1)项目经理
职责:
1、制定产品的目标。
2、制定各个工作的详细任务表,跟踪这些任务的执行情况,进行控制。
3、组织会议对程序进行评审。
4、综合具体情况,对各种不同方案进行取舍并做出决定。
5、协调各项目参与人员之间的关系。
人员要求:
对产品有激情,具有领导才能。
对问题能正确而迅速地做出确定。
能充分利用各种渠道和方法来解决问题。
能跟踪任务,有很好地日程观念。
能在压力下工作。
(2)系统分析员
职责:
1、了解用户需求,写出《软件需求规约》。
2、建立用户界面原型。
人员要求:
担任系统分析员的人员应该善于协调,并且具有良好的沟通技巧。担任此角色的人员中必须要有具备业务和技术领域知识的人才。
(3)设计员
职责:
1、定义类的方法和属性以及各个类之间的关联,画出类图。
2、进行数据库设计。
人员要求:
掌握面向对象分析与设计技术,统一建模语言(UML)。
(4)程序员
职责:
按项目的要求进行编码和单元测试。
人员要求:
良好的编程技能和测试技术。
(5)测试员
职责:
执行测试,描述测试结果,提出问题解决方案。
人员要求:
了解被测试的系统,具备诊断和解决问题的技能,编程技能
根据每个人的特长来担任其中的一个或多个角色。最好是每个人都能参与设计和编码工作,每个人都能够建立起系统的全局观。
第二篇:软件开发过程规范(模版)
软件开发过程规范
1目的为了规范软件研发各个阶段的开发行为,特制定此规范。
2适用范围
本规范适用于研发中心软件产品研发从立项,到开发实施、测试、结项的各个阶段,规定了各开发阶段的文档编制、代码编写和资料备份内容与要求。3术语和缩写
研发项目干系人:公司内部与研发项目有关联的任何人。
项目计划周期:从项目立项到计划完成时间的实际工作日数。
项目实际周期:从项目立项到实际完成时间的实际工作日数。
项目质量目标:项目允许出现的总的缺陷数的加权平均值。
项目实际质量:项目实际出现的总的缺陷数的加权平均值。
软件缺陷:在测试过程中被发现的软件bug,按照不同的严重程度分为四级;一级,系统崩溃,无法自动恢复,加权系数为100。
二级,系统功能无法实现或性能指标无法达到,但不影响其他功能的使用,加权系数为2。
三级,系统功能实现不完整,加权系数为1。
四级,不影响系统功能和性能的小错误,忽略此错误系统可正常运行,加权系数为0.5。
加权缺陷数量:测试中出现的各种缺陷的数量乘以其对应的加权系数,求和。4内容和要求
4.1研发立项
4.1.1立项申请,产品研发经过申请后才能立项,立项申请人可以是公司员工,也可以是公司各职能部门。
4.1.2立项申请人或委托其部门负责人召集相关人员讨论通过,确定项目经理并初步确定项目组成员。
4.1.2.1《研发立项申请书》由项目经理负责编制。
4.1.2.2项目编号规则为,软件项目:PS+编制日期;(硬件项目:PH+编制日期)。如:PS20070902。
4.1.2.3《研发立项申请书》要规定开发的产品的具体名称,以及所属各个系列的规格型号定义。
4.1.2.4《研发立项申请书》规定开发的产品的属性,包括功能详细描述,性能要求详细描述和稳定性要求详细描述。
4.1.2.5《研发立项申请书》明确项目经理和项目组成员。
4.1.2.6《研发立项申请书》明确项目的开始日期和计划完成日期。
4.1.2.7《研发立项申请书》概要说明项目开发的资源需求,包括硬件设备、软件工具、场地环境等。
4.1.2.8《研发立项申请书》确定项目的质量目标,包括各级缺陷的数量和测试周期,所制定的质量目标不允许有一级缺陷。
4.1.2.9《研发立项申请书》的编制格式参照《研发立项申请书模板》。
4.1.3《研发立项申请书》由研发项目经理、主管软件的研发经理、营销中心经理认可,主管研发副总经理最终确认。
4.1.4内容变更:研发项目干系人可对申请对《研发立项申请书》的内容进行变更,变更后按申请的流程进行签字确认,变更后的内容重新填写《研发立项申请书》并附在原申请书后。项目组成员的变更由研发内部掌握,不必进行变更申请。变更可在结项前的任何阶段提出。
4.1.5项目撤销,如遇重大变故造成所研发的项目已经无实际意义或其他原因需要立即停止,可申请撤销,申请人需是项目干系人,并具有中心经理以上的级别,申请人负责编写《研发项目撤销申请书》,说明撤销原因,撤销申请需得到项目经理、主管软件的研发经理、营销中心经理和主管研发副中经理认可,经由总经理批准后生效。撤销申请可在结项前的任何阶段提出。
4.2研发
4.2.1研发立项确定后,项目经理需编写《项目研发计划书》。
4.2.1.1《项目研发计划书》初步制定项目开发的任务列表和模块划分,以及项目组人员的模块归属和工作时间安排。
4.2.1.2《项目研发计划书》可以用通用的项目管理工具来完成,编制格式由项目经理确定,推荐使用Microsoft Project。
4.2.1.3《项目研发计划书》由项目组成员认可。
4.2.1.5项目经理可根据实际情况和设计的深入,随时变更《项目研发计划书》。
4.2.1.6主管软件的研发经理可抽查《项目研发计划书》的编制和实施情况,并给出改进建议。
4.2.2研发设计
4.2.2.1《软件需求分析说明书》
4.2.2.1.1软件项目需编制《软件需求分析说明书》。
4.2.2.1.2《软件需求分析说明书》由项目经理或其委托人编制。
4.2.2.1.3《软件需求分析说明书》确定整个系统的物理结构和部署要求,并根据系统的物理结构进行模块划分,确定各个模块的功能范围和模块间的接口方式。详细说明系统规模要求和运行环境限制,并指出系统运行所需资源的要求。明确开发和系统运行所需软硬件资源的要求。确定项目进行一次全面测试所需要的测试人员人数和测试周期。《软件项目需求分析说明书》的格式参照《软件项目需求分析说明书模板》。在软件需求分析过程中,如果软件有用户界面,要在此阶段进行界面的初步设计,为了提高效率,界面草图的绘制不限定形式和格式。
4.2.2.1.4《软件需求分析说明书》由项目组全体成员认可,主管软件的研发经理最终确认。
4.2.2.1.5《软件需求分析说明书》的变更,在开发过程中,项目组成员可提出对《软件需求分析说明书》的变更申请,变更的范围限于不能违背《研发立项申请书》的要求,即不能有涉及到《研发立项申请书》变更的内容,如果有,需要做《研发立项申请书》变更的流程。《软件需求分析说明书》变更的主要目的是修正其中的错误,或者经过变更可提高产品的品质或性能指标或缩短产品的研发周期。《软件需求分析说明书》的变更需得到项目经理的同意,必要时由项目经理召集相关技术人员和项目组成员召开简短的技术会议进行论证。项目经理将变
更后的内容形成新版本的《软件项目需求分析说明书》,由主管软件的研发经理最终确认。
4.2.2.2《软件概要设计说明书》
4.2.2.2.1软件项目需编制《软件概要设计说明书》。
4.2.2.2.2《软件概要设计说明书》由项目经理或其委托人编制。
4.2.2.2.3《软件概要设计说明书》确定整个系统的逻辑结构,并对需求分析中各物理模块进行逻辑模块划分,详细描述各逻辑模块的业务规则和模块之间的接口以及重要的内部接口,确定系统级的全局变量和数据结构,确定各逻辑模块所包含的程序文件名称和使用的开发工具,描述每个文件中所包含的函数功能。确定数据库的类型和所有数据表名称及数据表的用途,确定数据库的访问方式。详细描述系统的配置方式。如果软件有用户界面,要对界面进行详细设计,确定所有界面的名称、规格及界面上的元素类型及功能,界面设计可在开发工具中直接绘制,也可采用其他绘图方式,但在概要设计文档中要保留图示并进行详细说明。格式参照《软件项目概要设计说明书模板》。
4.2.2.2.4《软件概要设计说明书》由项目组全体成员认可,主管软件的研发经理最终确认。
4.2.2.2.5《软件概要设计说明书》的变更,在开发过程中,项目组成员可提出对《软件概要设计说明书》的变更申请,变更范围限于不得违背《研发立项申请书》和《软件需求分析说明书》的要求,所涉及的变更不至于影响到《研发立项申请书》和《软件需求分析说明书》的变更,如果有,需要做《研发立项申请书》的变更流程或者《软件需求分析说明书》的变更流程。《软件概要设计说明书》变更的主要目的是修正其中的错误,或者经过变更可提高产品的品质或性能指标或缩短产品的研发周期。概要设计说明书的变更需得到项目经理的同意,必要是由项目经理召集相关技术人员和项目组成员召开简短的技术会议进行论证。项目经理将变更后的内容写入新版本的《软件项目概要设计说明书》,主管软件的研发经理最终签字确认。
4.2.2.3软件详细设计
4.2.2.3.1软件详细设计由项目经理指派,项目组成员分担完成。
4.2.2.3.2软件项目详细设计的内容及格式要求,软件项目的详细设计根据《软件概要设计说明书》划分的各个逻辑模块包含的程序文件,确定每个程序文件中所包含的函数的详细描述,要求有函数的功能描述、输入输出说明、使用规则和限制,如有必要,还可以描述函数的实现流程。详细描述软件中所有全局变量的格式、初始值、用途和使用规则。详细描述软件中所有的数据结构和类结构。详细描述数据库中的数据表,确定数据表的的每个字段,以及数据表之间的关系,确定所有的视图、触发器和存储过程。详细设计文档不做具体的格式要求,为了提高研发效率,可以把详细设计作为代码的一部分,直接在程序中编写,编写时要遵循《研发中心软件编码标准》的规定。
4.2.2.3.3项目经理负责组织对详细设计进行审核,审核方式可采用项目经理主审和项目成员互审相结合的方式,主要审核详细设计和概要设计及需求分析的符合性,及详细设计的正确性。主管软件的研发经理可组织相关技术人员对详细设计情况进行抽查。
4.2.2.3.4详细设计的变更,可在项目开发的任何时段进行,由项目成员在得到项目经理的口头同意后进行,要在变更处做好变更记录。
4.2.2.4质量控制
4.2.2.4.1项目组内部互审,在项目的开发过程中,项目经理可组织项目组成员对编制的代码进行互相审核,目的是审查代码是否符合《研发中心软件编码标准》的要求,并在联调前找到代码中的缺陷,审核时要做好审核记录,内容为代码的编写人、审核人、缺陷位置、缺陷描述和改进建议,格式由项目经理决定。根据项目的具体情况,项目经理有权决定不进行代码的互审。
4.2.2.4.2研发中心内部抽查审核,在项目的开发过程中,主管软件的研发经理可组织相关人员对项目组的开发质量进行抽查审核,被审核的代码模块由研发经理确认,审核的主要目的是验证的代码书写的规范性和与设计的符合性。在评审中发现问题,主管软件的研发经理可口头通知项目经理进行整改,问题严重时,可对项目组下达《软件整改通知单》,通知项目组进行整改。具体使用何种方式由主管软件的研发经理确定。《软件整改通知单》下达后,按比例扣除项目组的项目奖金,扣除办法参见《研发软件项目奖金发放制度》。
4.2.2.4.3项目组内部集成验证测试,项目经理可在代码完成后组织内部集成测试,并同时指派项目组成员进行《软件使用说明书》的编制,在内部集成测试结束,《软件使用说明书》完成后,项目经理可申请提交软件的a测试。
4.2.2.4.4《a测试申请书》,项目经理负责编制《a测试申请书》,格式参照《a测试申请书模板》。编制完毕后,与《软件使用说明书》一起提交给主管软件的研发经理进行审核确认,主管软件的研发经理签字同意后,指定项目的测试人员,进行a测试。
4.2.2.4.5测试人员根据《研发立项申请书》和《软件使用说明书》的要求与内容,编制《软件测试大纲》,确定要测试的具体项目以及对这些项目的要求,《软件测试大纲》编制完成后要由项目经理认可,主管软件的研发经理确认。同时项目组负责协助测试环境的搭建。
4.2.2.4.6在一轮测试结束后,测试人员出具《项目测试报告》。项目组对测试出的问题进行修改,然后再申请新一轮的测试,新的一轮测试由项目经理决定是进行验证性测试还是完整测试,如果是验证性测试,可由项目经理确定测试内容范围并和测试经理协商测试周期,循环上述过程直到项目经理认为可以结束测试。为了保证测试质量,要求最后一次测试必须是完整测试。测试结束后,测试人员要编制《测试过程总结报告》。
4.3研发结项
4.3.1测试结束后,项目经理可决定对项目进行结项提交。
4.3.2项目经理负责编制《研发结项申请书》,格式参照《研发结项申请书模板》。
4.3.3《研发结项申请书》要对所存留的问题进行详细描述。
4.3.4《研发结项申请书》说明项目的实际开发周期,与计划周期的差异将作为项目奖金的评定依据。
4.3.5《研发结项申请书》要说明项目质量目标的实现情况,根据《测试过程总结报告》统计出项目的实际质量,与计划质量目标的差异将作为项目奖金的评定依据。
4.3.6《研发结项申请书》中所存留问题部分的内容需由此项目的实际测试人员进行确认。
4.3.7《研发结项申请书》由项目经理、主管软件的研发经理、营销中心经理、技服中心经理认可后,由主管研发副总经理最终确认。
4.3.4项目提交后,项目经理出具《软件项目信息统计表》,由主管软件的研发
经理认可,主管研发副总经理最终确认,作为项目奖金分配的依据。
4.4技术资料的管理与备份
4.4.1项目经理负责技术资料的管理与备份,备份内容包括项目所涉及的文档、代码和其他相关技术资料。
4.4.2项目立项后,项目组要在代码管理服务器上建立专门的项目目录。
4.4.3在研发过程中,项目组不定期的向代码管理服务器进行代码备份,备份时机由项目经理决定。
4.4.4项目提交测试前要进行一次完整备份。
4.4.5项目结项后,要进行一次完整备份,并将最终项目内容刻录光盘备档。
4.4.6备档后的光盘由主管软件的研发经理统一管理。
4.4.7在研发过程中,纸质文档由项目经理负责管理,项目结项后提交到主管软件的研发经理备档。
4.4.8由于项目组备份不及时和备份管理不到位造成项目资料丢失,致使开发周期延误的,每发生一次按比例扣发项目经理的项目奖金,造成重大损失的,全部扣发项目经理项目奖金,并根据具体情况追究其责任,是否为重大损失由主管软件的研发经理确认。奖金的扣发办法参照《研发软件项目奖金发放制度》。5职责和权限
5.1主管研发副总经理负责本规范的编制、发布、维护与解释。
5.2主管软件的研发经理负责推动和监督本规范的实施。
5.3公司所有员工可对本规范提出修改意见。
6历史记录
本规范于2007年9月25日编制完成,形成V1.0版。
V1.0于2007年11月1日开始施行
第三篇:标准的软件开发过程
标准的软件开发过程
软件开发的标准过程包括六个阶段,而六个阶段需要编写的各类文件达14种之多,在每个阶段需要编写哪些文件,以及这些文件的主要内容见下:
1.可行性与计划研究阶段
可行性研究报告:在可行性研究与计划阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析、投资一收益分析、制订开发计划,并完成应编制的文件。
项目开发计划:编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开 发工作。
2.需求分析阶段
软件需求说明书:软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。内容包括对功能的规定对性能的规定等。
数据要求说明书:数据要求说明书的编制目的是为了向整个开发时期提供关于被处理数据的描述和数据采集要求的技术信息。
初步的用户手册:用户手册的编制是要使用非专门术语的语言,充分地描述该软件系统所具有的功能及基本的使用方法。使用户(或潜在用户)通过本手册能够了解该软件的用途,并且能够确定在什么情况下,如何使用它。
3.设计阶段
概要设计说明书:概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计。运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
详细设计说明书:详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关 内容合并入概要设计说明书。
数据库设计说明书:数据库设计说明书的编制目的是对于设计中的数据库的所有标识、逻辑结构和物理结构作出具体的设计规定。
测试计划初稿:这里所说的测试,主要是指整个程序系统的组装测试和确认测试。本文件的编制是为了提供一个对该软件的测试计划,包括对每项测试活动的内容、进度安排、设计考虑、测试数据的整理方法及评价准则。
4.实现阶段
模块开发卷宗(开始编写):模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一组密切相关的模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起。编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并为将来的维护提供非常有用的技术信息。
用户手册完工
操作手册:操作手册的编制是为了向操作人员提供该软件每一个运行的具体过程和有关知识,包括操作方法的细节。
测试计划终稿:
5.测试阶段
模块开发卷宗(此阶段内必须完成)
测试分析报告:测试分析报告的编写是为了把组装测试和确认测试的结果、发现及分析写成文件加以记载。
项目开发总结报告:项目开发总结报告的编制是为了总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。
6.运行与维护阶段
开发进度月报的编制目的是及时向有关管理部门汇报项目开发的进展和情况,以便及时发现和处理开发过程中出现的问题。一般地,开发进度月报是以项目组为单位每月编写的。如果被开发的软件系统规模比较大,整个工程项目被划分给若干个分项目组承担,开发进度月报将以分项目组为单位按月编写。
对于一项软件而言,有些文件的编写工作可能要在若干个阶段中延续进行。
鉴于软件开发是具有创造性的脑力劳动,也鉴于不同软件在规模上和复杂程度上差别极大,本指南认为在文件编制工作中应允许一定的灵活性,并不是14种文件每种都必须编写。文件编制的衡量因素
◆在因素总和较低的情况下,项目开发总结报告的内容应包括:程序的主要功能、基本流程、测试结果和使用说明。
◆测试分析报告应该写,但不必很正规。
◆数据要求说明和数据库设计说明是否需要编写应根据所开发软件的实际需要来决定。
例2:为了避免在软件开发中文件编制的不足或过分,一个简便的办法是把对软件文件的编制要求同软件的规模大小联系起来,这就是本例的出发点。软件的规模不妨分为四级:
1.小规模软件源程序行数小于5 000的软件;
2.中规模软件源程序行数为 10 000~ 50 000的软件;
3.大规模软件源程序行数为 100 000?500 000的软件;
4.特大规模软件源程序行数大于500 000的软件。
对上述的四级软件的文件编制要求分别列于表O3。
至于源程序行数为 5 000~ 10 000,50 000~ 100 000的软件,其文件编制要求介于两级之间,可根据一个软件产品的具体情况,由项目负责人参照表O3的规定,确定需要编制的文件种类。
对于源程序行数大于500 000的特大规模软件,可进一步把本指南规定的十四种文件按实际需要扩展成更多种类。
第四篇:软件开发过程认识实习报告
软件开发过程认识实习报告(卓越工程)
一、认识实习的意义和目的
时间如白驹过隙,一转眼大一上学期已经过去了,虽然参加工作对于大一新身似乎很遥远,但光阴荏苒,如果我们不珍惜时间,毕业后就只能提出“时间都去哪儿了?”的疑问。学校为增强学生的课外实践能力和对软件开发过程的认知,在大一下学期开展了为期一周的实习,实习地点为863中部软件园,位于郑州市高新区翠竹街6号。
IT行业的发展往往需要大量人才的聚集,河南国家863中部软件园是郑州高新区规划的80 万㎡国家863中部软件基地的核心部分,自2000年起我国软件业持续高速发展,2000-2012年我国软件产业收入增长44倍,近年来郑州市软件行业经济增长迅猛,863中部园区周边有多所高校环绕,如郑州大学,信息工程大学,河南工业大学、中原工学院、郑州轻工业学院。这些大学能为郑州软件行业输送大量IT人才,而河南地处交通要道,软件信息行业能与交通行业结合,随着互联网+的时代到来,河南必定展现一面繁华景象。
我学的是计算机类,希望通过本次实习,对软件行业能有实质性的了解。同时,在实习过程中注意培养自己的观察能力,理解能力,动手能力以及思维能力等。虽然专业知识还未学很多,希望通过本次实习能对接下来的专业学习能有指导性的作用,培养和提高理论学习与实际联系的能力,对将来自己所从事的行业有所概念。
二、认识实习再认识
国家863 中部软件园是郑州高新区规划的80 万㎡国家863中部软件基地的核心部分,园区占地面积 133 亩,由多层、小高层、聚集了以河南卓奇计算机科技有限公司为首的众多高新技术企业,为河南企业发展起到了重要作用。在本次实习中学校安排依次参观认识了捷安高科,精华教育,腾讯大豫网,河南省863软件孵化器,正信科技,约克动漫,新星教育,并安排了多次讲座。我很感谢学校组织的这次难得的软件认识实习,让我有机会更加深入地了解软件行业的现状与前景,接触了行业最前沿的技术与产品。同时,我也由衷地感谢863软件园职员为我们无微不至的帮助。
2017年2月13日-2月17日,我主要通过参观与听讲座来了解软件开发过程。通过本次实习,我得以亲生体验软件开发过程,学到了很多课堂上学不到的知识,并获得了把课堂教学的理论知识与社会实践相结合的机会。在这次实习中,我对软件开发行业的经营管理,行业现状,主营业务,公司理念有了初步的了解,并认识到软件开发行业对人民生活,社会进步,国家全面发展的的重要性。
三、实习单位介绍及过程安排
本次在863软件园的每个企业参观流程基本一致,每个小组负责人先带我们参观公司部门,工作环境,然后向我们介绍各部门的职能,接着向我们展示了公司的主要产品,如捷安高科的模拟驾驶,模拟电焊,之后会有公司管理层对公司概况的一次讲座,如公司的主营业务,产品理念,以及IT行业现状,对人才能力的要求等。
下面我介绍几个参观实习的公司。
捷安高科,捷安高科的主营业务为模拟驾驶,模拟焊接,虚拟仿真培训,目的在于通过软硬件结合,让即将上岗的工作人员有实际操作经验,公司于2002年成立,其中轨道交通,按揭焊接的软件业务开发团队有350人,软件开发50人,在北京军工子公司有100人的开发团队,2014在新三板上市,目前正向老三板转板,公司核心竞争力:janvr模拟仿真引擎与开发平台,所需技术为虚拟现实,三维动画,系统仿真。
腾讯·大豫网成立于2011年8月26日,是由腾讯科技(深圳)有限公司和河南日报报业集团联合打造的河南第一网。腾讯以其强大的用户基础和品牌影响力,以其优秀的网络媒体运营经验和技术产品研发运营能力,以其卓越的用户体验和人才理念,协同河南日报报业集团暨《大河报》社在本土以最权威的公信力、最广泛的社会影响力、卓越的媒体实力、斐然的商业能力共同服务于河南。
正信科技以研发方向为主,1996年公司成立,该公司以java为主进行软件开发、系统集成,成为河南有名的软件提供商,通信运维管理提供商,行业云服务提供商等。公司主要业务为通信运维管理,行业云服务等。并且在讲座中提到人才挑选的要求,对于研发人员,专业课程学习扎实,对软件开发有浓厚兴趣,沟通能力,协调能力,并且重点提到了团队协作精神,软件开发是一个团队工作,协作能力与研发能力同等重要。讲座人还提到研发,测试,实施,需求分析是软件开发必不可少的环节。
新星科技有限公司负责人首先带我们参观了文化长廊,了解了公司近年的重大活动,如公司被评为数字化医院工程研究中心和医疗信息化工程技术研究中心,并且开展了医疗信息化技能提升培训,医疗数据安全管理研讨会,数字化医院数据中心建设专题会议,数字化医院评审交流会。在接下来的讲座中,演讲人谈到了软件行业发展现状:软件行业发展快,市场增长率高,社会需求高,产品技术稳定,而且竞争激烈。
由于软件行业发展迅猛,形成了“互联网在前,法律政策在后”的局面,例如近几年的滴滴打车最开始在法律上是不认同的,但通过几年的运行,大众普遍认可,之后便出台了相关的政策,接受了打车软件的实行,这启发我要关注国家对软件行业公司的最新政策,挖掘大众需求,勇于创新,关注市场。新星科技90%是技术人员,他们利益一致,更是梦想共同体。
四、实习心得体会
接下来我介绍实习期间的几次印象深刻的讲座和个人认识。周二的河南省863软件讲座是发展前景讲坐,阐述了IT行业现状。IT行业渗透各方各面,潜移默化改变生活方式。互联网+的时代正在到来,互联网+是指以传统方式为核心,添加上互联网方式,把互联网和传统行业结合能够在新的领域发展新天地。IT行业广义上计算机和电子通信技术,狭义是指计算机软件开发。
我觉得IT行业也有不为人知的一面,水涨船高的薪水伴随着脑力负担重,技术更新快,员工压力大。目前行业发展趋势:计算机语言主流:c语言,java。这启示我在大学要把这两门语言的基础打扎实,为将来进入软件行业做准备。
周四的863软件讲座指向职业规划,而规划的主观条件是自身兴趣能力,专业方向,客观条件则是市场环境,国家政策,要做好职业规划首先要做好定位,我理解为我要在哪个城市发展?把精力放在哪个城市?因为换工作平台确实不易。然后要规划理想的职业,理想的职业是是自己喜欢,自己能干,社会需要三者的交集。接着谈到了职业技能,技能分两种,一是专业技能通过学习途径获得;一是可转换技能,比如沟通能力,时间管理能力,对市场的敏感度,学习能力等。
职业规划发展的阶段与活动:探索期(20~26岁),职业前期(26~30岁),职业中期(30~50岁),职业后期(50岁~),不同的职业发展阶段要做好变现,变现一定要聚焦,如方向聚焦、心聚焦、平台聚焦,根据我的工作方向规划自己的发展方向,比如我将来的一项工作是对欧美地区的外包,那么大学期间英语就一定要学好。制定职业规划的方法:目标分解和倒退法,既从最远的规划到最近几年的规划,再到进几个月几周的规划,对职业规划实与调整。最后还讲了一会儿商务礼仪,礼仪的核心是尊重为本,设计站姿,坐姿,微笑,握手,拥抱的方式,穿着也十分讲究,感觉特别有意思。
周五上午是863软件孵化园关于CMMI基础的讲座,CMMI既能力成熟度模型综合,阶级式分为初始级,已管理级,已定义级,定义管理级,持续优化级。目前863软件孵化园已经达到了CMMI3,计划2018年达到CMMI5。CMMI每一级都有几个到十几个PA域(process area),每隔3年CMMI复评一次并且支持企业的商业目标。下面简单介绍CMMI各等级的达到要求。
1.初始级。软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
2.可管理级。建立了基本的 项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
3.已定义级。已将 软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
4.量化管理级。分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
5.优化管理级。过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
周五下午是863软件孵化器讲座:公司主营业务是软件服务(技术服务外包和商务流程外包)、软件测试业务、物流软件应用开发业务、大学生实训等,同时演讲人提到,做软件开发,心态很重要,因为,心态影响行为,有一个公式叫,成功=心态*能力,心态如果是负数,那么你离成功就越走越远了。863还提供岗前培训,为期5个月,考核同过就正式上岗。我们的负责人说其实最快的上任就职的方式是跟着我们自己的导师做项目,这样我们在大学期间就可以积累工作经验,这说明从大学起就应该有这方面的意识与行动了。
通过听实习中的几次讲座,让我对软件行业有了更加深刻的认识。每一家企业都有自己的企业文化,企业信仰,产品理念,做产品不是一个人的事,而是通过各部门齐心协力坚守岗位,毫不松懈,共同努力才能做出让大众喜爱的产品。
这次实习,除了让我对IT行业的基本业务有了一定了解,我觉得自己在其他方面的收获也是挺大的.作为还没踏入社会,一直在大学里单纯学习的我,这次的实习无疑成为了我踏入社会前的一个平台,为我今后踏入社会奠定了基础。
首先,我觉得不管以后是学习还是工作,都要有很强的责任心.这能提高我们的工作满意度,在工作岗位上,我们必须要有强烈的责任感,要对自己的岗位负责,要对自己办理的业务负责.如果没有完成当天应该完成的工作,那职员必须得加班;如果不小心出现了错误,也必须负责纠正。其次,我觉得工作后每个人都必须要坚守自己的职业道德和努力提高自己的职业素养,正所谓做一行就要懂一行的行规。比如,腾讯大豫网的公司一条高压线就是不能问同时的薪资是多少,这样做的好处就是避免了员工之间因为薪资高低而引起的钩心斗角,保证了员工之间的和睦与融洽让员工的精力都投身与工作中。还有863讲座中提到的职场礼仪,即使平时是朋友,但在工作中就要正装出勤,不论同级还是上下级都应有相应的称呼和行为礼仪,这都是对对方的尊敬。
最后,我觉得到了实际工作中以后学历重要,但个人的业务能力和交际能力也同等重要。
也就是要做一个全方位人才。实践出真知,因此,如果将我们在大学里所学的知识与更多的实践结合在一起,使一个本科生具备较强的处理基本实务的能力与比较系统的专业知识,这才是我们实习的真正目的。
五、未来的规划或安排
大一上学期刚过去,感觉时间转瞬即逝,我意识到了自己没能合理安排时间,很多小计划都没能实现,比如英语每天记10个单词,每天跑半个小时的步,不知怎的,一天,一星期,一个月很快就过去了,相对于高中时期确实太放松自己了。所以,我打算为我接下来的三年半做一个完整的学习计划。
1.自我分析。要制定计划,首先要认清自己。我必须对上学期的学习现状做一个总结,寻找自己的优势和不足。我觉得我对于英语和数学的认知还不错,也比较感兴趣,但由于上学期的懒惰,英语并没有过80分,让我对自己有点失望。弱点在于程序设计基础,期末刚及格,我分析了下,在于上课不认真听讲,对于以前这门没接触的科目没引起高度重视,是自己的态度不认真。
2.确定学习目标。学习目标是学生学习的努力方向,正确的学习目标能催人奋进,从而产生为实现这一目标去奋斗的力量。没有学习目标,就象漫步在街头不知走向何处的流浪汉一样,是对学习时光的极大浪费。因此,我希望在今后两年的学习中提高我的总体学习成绩。在今后每学期中,每天都必须要看书和做习题,扩充自己的专业知识。特别是英语,既然自己对这方面有兴趣,那就要用心学习,有助于将来拓宽自己的事业路。还有,为了达到德智体全面发展的要求,我每周必须要有3天以上参加群体性的体育活动,例如篮球,足球等,以锻炼自己的身体。
3.合理安排时间。在安排时间上我们既要考虑学习,也要考虑休息放松。既要考虑专业课的学习,基础课也不能忽视。所以我安排每周会有3次看课外书的时间,2次锻炼身体的时间,每天晚上睡前被10个单词,为英语4级做准备。
综上所述,为了让我自己的大学生活过得充实,更是为了自己能学有所成。我会充分利用自己的时间。控制玩手机、电脑的时间。努力学习知识技能,为今后的发展打下坚实的基础。当我再看到这个计划时,希望我会高兴自己能及时醒悟,不辜负青春年华。
第五篇:JAVA学习书籍- 软件开发过程
了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。
1、《UML 精粹》
UML 其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。但是UML 真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML 用户指南》之类的东西。要提醒大家的是,这本书的中译本翻译的非常之烂,建议有条件的看英文原版。
2、《解析极限编程拥抱变化》XP
这是Kent Beck 名著的第二版,中英文对照。没什么好说的,必读书籍。
3、《统一软件开发过程》UP
其实UP 和敏捷并不一定冲突,UP 也非常强调迭代,测试,但是UP 强调的文档和过程驱动却是敏捷所不取的。不管怎么说,UP
值得你去读,毕竟在中国真正接受敏捷的企业很少,你还是需要用UP 来武装一下自己的,哪怕是披着UP 的XP。
4、《敏捷建模》AM
Scott Ambler 的名著,这本书非常的progmatic,告诉你怎么既敏捷又UP,把敏捷和UP 统一起来了,又提出了很多progmatic的建议和做法。你可以把《解析极限编程拥抱变化》、《统一软件开发过程》和《敏捷建模》这三本书放在一起读,看XP 和UP的不同点,再看AM 是怎么统一XP 和UP 的,把这三种理论融为一炉,形成自己的理论体系,那么你也可以去写书了。
软件项目管理
如果你突然被领导提拔为项目经理,而你完全没有项目管理经验,你肯定会心里没底;如果你觉得自己管理项目不善,很想改
善你的项目管理能力,那么去考PMP 肯定是远水不解近渴的。
1、《快速软件开发》
这也是一本名著。可以这样说,有本书在手,你就有了一个项目管理的高级参谋给你出谋划策,再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的,在实际的项目管理中,讲这些理论是不解决问题的,这本书有点类似于“软件项目点子
大全”之类的东西,列举了种种软件项目当中面临的各种问题,以及应该如何解决问题的点子,你只需要稍加变通,找方抓药
就行了。__