第一篇:软件开发基本流程
软件开发流程
某软件项目开发流程
1. 总纲
目的
主要讲述如何组织开发软件项目,使之更加快速、有效的完成。并分成以下几个阶段进行详细讲述:项目计划阶段、需求分析阶段、软件开发阶段、测试阶段、管理软件开发过程、各参与角色的具体职责描述及对人员的要求。
适用范围
开发周期3周、开发人月2人月的项目,中小型(3-7人)软件项目的开发指南,而大型软件项目使用RUP会更好。
注:周期小于上述范围,使用开发任务需求单进行安排,走任务开发流程。
总体流程
计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》完成
2. 项目计划阶段
项目计划草案和风险管理计划作为第一步,当有一个商业机会后,根据公司高层负责制定的初步商业计划书来完成项目的计划草案,确定、分析项目风险并确定其优先级,还要制定风险解决方案。本阶段的目的是确立产品开发的经济理由。
当确定开发之后则制定软件开发计划、人员组织结构定义及配备、过程控制计划。
(1)项目计划草案
项目计划草案应包括产品简介、产品目标及功能说明、开发所需的资源、开发时间和里程碑。
(2)风险管理计划
也就是把有可能出错或现在还不能确定的东西列出来,并制定出相应的解决方案。风险发现得越早对项目越有利。
(3) 软件开发计划
软件开发计划的目的是收集控制项目时所需的所有信息,项目经理根据项目计划来安排资源需求并根据时间表跟踪项目进度。项目团队成员根据项目计划以了解他们的工作任务、工作时间以及他们所依赖的其他活动。
可将计划分成总体计划和详细计划,总体计划中每个任务为一个里程碑,详细计划中必须将任务落实到个人。
软件开发计划还应包括产品的应收标准及应收任务(包括确定需要制订的测试用例)。
(4)人员组织结构定义及资源计划
常见的人员组织结构有垂直方案、水平方案、混合方案。垂直方案中每个成员充当多重角色。水平方案中每个成员充当一到两个角色。混合方案则包括了经验丰富的人员与新手相互融合。具体选择根据人员实际技能情况进行选择。
适用范围:开发人月大于5人月、周期超过2个月、投入人员4人以上的项目必须编写计划,低于范围的则可省略或者简化
(5) 过程控制计划
过程控制计划的目的是收集项目计划正常执行所需的所有信息,用来指导项目进度的监控、计划的调整,确保项目按时完成。
适用范围:开发人月大于5人月、周期超过2个月、投入人员4人以上的项目必须编写计划 低于范围的则可省略或者简化
3. 需求分析阶段
需求分析阶段的目的是在系统工作方面与用户达成一致。
(1)软件需求规约
详细说明系统将要实现的所有功能。
参考文档:
(2) 用户界面原型
可以有三种表示方法:图纸(在纸上)、位图(绘图工具)、可执行文件(交互式)。
参考文档:
4. 软件开发阶段
本阶段从物理上实现目标系统。采用了面向对象方法。
(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)测试员
职责: 执行测试,描述测试结果,提出问题解决方案。
人员要求:了解被测试的系统,具备诊断和解决问题的技能,编程技能
根据每个人的特长来担任其中的一个或多个角色。最好是每个人都能参与设计和编码工作,每个人都能够建立起系统地全局观
第二篇:软件开发管理流程
根据我公司目前工作现状,开发管理流程涉及到三个方向的工作管理;一是全新项目开发整体流程;二是二期项目开发管理流程(项目已部分上线,二期进行其它公司或模块上线);三是维护工作管理流程;
一、 升级项目流程
针对我公司现有的BSP项目,存在有些省份的BSP项目存在部分上线而对于后期需要继续上线其他部分的情况,提出以下工作流程。
总体流程
计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》部署上线—》验收完成
(一) 计划阶段
制定整体开发计划,计划体现整个开发周期,包括需求、编码、测试周期以及资源要求;
(二) 需求分析阶段
修订需求版本,提供需求说明书,并提出需求评审申请。
评审:发起需求评审的同时提交评审资料至项目管理部—》项目管理部给相关
人员发放资料并通知评审安排--》记录评审结果(需整改时整改之后可再次评审)--》确定需求版本。
(三) 软件开发阶段
编码开发前:开发环境搭建,其中包括迁出代码最新版本,从线上复制出数据库(或者导出基础数据库表数据);其目的为开发环境与正式环境保持一致,为上线前的部署做好准备。
编码开发中:开发组长对整个开发过程做好监控,保证质量的同时保证进度;并且要求开发人员做好工作记录;加强团队的协作与沟通。
编码开发完:提交相关资料(操作手册、部署文档:sql脚本、代码文件路径记录、流程文件路径记录),组长整理部署文档并且提交测试申请;部署文档要求写明部署步骤及部署内容及相应注释;
(四) 测试阶段
测试组长根据测试申请中的测试内容安排测试。测试环境模拟线上测试环境,根据部署文档进行部署,并且记录所有补丁包。测试过程中开发人员在修改bug的同时需要维护部署文档。
(五) 部署
部署人员根据部署文档中描述的步骤部署系统。完成之后实施人员安排验收。
二、 全新项目开发管理流程
总体流程
计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》部署上线—》验收完成
(一) 计划阶段
项目计划草案和风险管理计划作为第一步,确定、分析项目风险并确定其优先级,还要制定风险解决方案。本阶段的目的是确立产品开发的经济理由。当确定开发之后则制定软件开发计划、人员组织结构定义及配备、过程控制计划。
项目计划草案
项目计划草案应包括产品简介、产品目标及功能说明、开发所需的
资源、开发时间和里程碑。
风险管理计划
就是把有可能出错或现在还不能确定的东西列出来,并制定出相应
的解决方案。风险发现得越早对项目越有利。
软件开发计划
软件开发计划的目的是收集控制项目时所需的所有信息,项目经理
根据项目计划来安排资源需求并根据时间表跟踪项目进度。项目团队
成员根据项目计划以了解他们的工作任务、工作时间以及他们所依赖
的其他活动。
项目管理培训
可将计划分成总体计划和详细计划,总体计划中每个任务为一个里
程碑,详细计划中必须将任务落实到个人。
软件开发计划还应包括产品的应收标准及应收任务(包括确定需要
制订的测试用例)。
人员组织结构定义及配备
常见的人员组织结构有垂直方案、水平方案、混合方案。垂直方案
中每个成员充当多重角色。水平方案中每个成员充当一到两个角色。
混合方案则包括了经验丰富的人员与新手相互融合。具体选择根据人
员实际技能情况进行选择。
过程控制计划
过程控制计划的目的是收集项目计划正常执行所需的所有信息,用来
指导项目进度的监控、计划的调整,确保项目按时完成。
(二) 需求分析阶段
需求分析阶段的目的是在系统工作方面与用户达成一致。
(1)软件需求规约
详细说明系统将要实现的所有功能。
(2)用户界面原型
可以有三种表示方法:图纸(在纸上)、位图(绘图工具)、可执行文件(交互式)。
(三)软件开发阶段
本阶段从物理上实现目标系统。采用了面向对象方法。
(1)软件架构
说明软件的组织结构、部署结构及运行环境。
(2)功能设计
定义功能点之间的关联。
(3)数据库设计
定义数据库表之间的关联和各个表的字段。
(4)编码和单元测试
按照设计文档进行编码,每完成一个模块应进行单元测试。
(5)集成系统
按软件组织结构的要求将各个子模块组合起来。
(四) 测试阶段
测试的目的是在发布之前找出程序的错误。包括:核实每个模块是否正常运行(参考设计文档)、核实需求是否被正确实施(参考需求文档)。
(1)测试计划
收集和组织测试信息,为测试工作提供指导。
(2)测试数据
尽量使用真实数据。
(3)测试报告
记录测试结果,详细描述问题,提出解决办法。
(4)用户操作手册
(五) 管理软件开发过程
有以下几方面地工作:
(1)组织会议
讨论会议、总结会议等。
(2)评审程序
对各个阶段的工作结果进行审核等。
(3)协调人员
(4)监控进度
软件项目开发流程
第一个步骤是市场调研,技术和市场要结合才能体现最大价值。
第二个步骤是需求分析,需求人员出需求分析说明书。发起需求评审申请,项目管理部组织开发团队进行评审;
评审:发起需求评审的同时提交评审资料至项目管理部—》项目管理部给相关人员发放资料并通知评审安排--》记录评审结果(需整改时整改之后可再次评审)--》确定需求版本。
第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。按照公司现状,使用快速原型设计方法完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和经验教训的总结,还要重新进行详细设计的步骤
第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把具体的模块以最‘干净’的方式提供给编码者,使得系统整体模块化达到最大;一份好的详细设计说明书,可以使编码的复杂性减低到最低。
第五个步骤是编码,开发人员需严格按照编码规范及需求文档编码,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在以前的开发过程中都出现过。编码时的相互沟通和应急的解决手段都是相当重要的。项目组长需提高对开发过程中问题的管控能力。尽量避免重大问题,提高工作效率。
第六个步骤是测试,测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。总之,测试同样是项目研发中一个相当重要的步骤。
第七个步骤是部署,搭建部署环境,按照部署方案进行部署,完成后验收测试;
第三篇:软件开发流程体会与收获
一:可行性报告
这个可行性报告应该包括本次软件开发项目的目的以及指明读者对象。其次我们应该指出开发软件的名称,和项目的提出者,开发人员,使用人员,以及本软件与其他软件以及系统的关系。我觉得还应该列出编写报告的参考资料,例如项目经核准的计划任务书,合同或者上级机关的批文等等。这个可行性报告应该列出软件的功能,性能,输入,输出…….这个软件应该实现的目的可以是人力与设备费用的节省,处理速度的提高,以及人员工作效率的提高等等。应指出软件开发的条件与限制,包括软件的寿命,经费的限制,法律与政策的限制,系统的限制等等。决定可行性的主要因素为主要有资金,人员,时间的限制。关于费用的问题主要有人力、设备、空间、支持性服务、材料开支等等。对于开发软件对现有系统的影响可以是对软件,程序,运行环境的影响。还有就是我们老师经常给我们说的版权问题了,这个很重要,必须引起重视,有很多案例就是关于侵犯版权而引起的,国人以前不太注重专利权而失去很多机遇,所以我们要注重版权问题。
二:项目开发计划
对于项目开发计划,粗读来觉得和可行性报告没什么太大的区别,全都包括了编写目的,项目背景,条件限制等等的内容,但也有一些的不同在这里包含了产品,服务,验收标准。软件设计的产品也就是软件,而软件就是为了服务的,因此我们做出来的产品应该尽可能的符合客户或者远远超出客户的需求,也许有些客户并不明白自己真的需
要什么产品,所以我们要尽可能的详尽描述自己的的产品功能,与维修。这里还应该包括工程的实施计划,介绍开始与完成时间预算等问题。人员的组织与分工也是一项重要的工作,通过这个你可以预估软件的投入与收益。
三:需求规格说明书
本次一如既往的延续了之前的要求,只是多了数据描述,说实话,我们还真的不太了解,什么是动态数据,什么是静态数据根本不了解,如今才开始慢慢了解,动态数据指的是能通过服务器的代码来获取数据库中的信息,静态数据指的是当我们的客户(也就是访问者)在查看的时候就已经被生成好了,没有和服务器数据库进行交互的数据,直接在客户端创建完毕。这里又有了一个问题什么是数据库呢?数据库就是按照数据结构来组织、存储和管理数据的仓库。数据库又很多类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据,数据库系统都在各个方面得到了广泛的应用。同时这里还需要功能和性能的要求,一个优秀的软件需要有满足客户基本需求和更高层次的功能,以及优良的性能。用户的界面需要符合用户的需求。同时他不能泄露用户的资料,一个软件应该有优秀的安全系统。
四:概要设计说明书
这里就不啰嗦了,在这里会增加软件开发的总体设计,既然是软件设计就应该现有一个总体的设计,这样才会有一个总体的规划,在总体设计里面包括处理流程,总体结构和魔模块外部设计,功能分
配(表明各项功能与程序结构的关系)。还有接口设计,数据结构设计,运行设计,以及出错处理设计,这一点很重要,任何一个软件都不能保证不出错,这里出错设计就很有必要。维护也很重要,软件要定时维护以免出现漏洞。
五:详细设计说明书
看了这个题目就应该明白一些了,这个主要对前面的一些功能与设计进行详细的说明。但是在这个;里面多了算法与程序逻辑,算法指的是模块所选用的算法结构,而程序逻辑
就在这里详细了算法的方式。还有就是测试要点,这个在软件中很重要,软件能否完美的运行就需要测试,只有经过测试后才能真正的投入使用。
六:用户操作手册
在中国的人群中恐怕有这样一个通病,就是拿到一件东西后自己先慢慢研究,等自己实在搞不懂的时候才去看说明书或者是用户操作手册,这其实是很不好的习惯,因为在用户操作说明书中包括了软件概述,运行环境,使用说明,运行说明,非常规过程,操作命令一览表以及程序文件和数据文件一览表,这些能够更好的帮助我们使用以及维护软件。千万不要等到自己把软件给使用崩溃了才想起来去看使用手册,这样你就有可能丢失大量的数据。
七:测试计划
测试计划就是用来对软件测试进行详细规划的,这里包括任务概述,计划,测试项目说明,评价。我觉得最重要的还是计划已经测试项目
说明,经过详细的计划和测试才可以保证软件的正常运行。 八:测试分析报告
上一节说道测试计划,经过测试之后就应该有一个分析报告,在这个报告里应该包括测试的项目,人员,测试结果,测试的结论,以及评价。经过这些才能给出软件的能力,局限性。我们还要给出弥补软件缺陷的建议,这样我们才能进一步解决问题,为以后的开发与更新做好准备。
九:开发进度月报
处理好之前的一切之后我们便开始了实际的开发,在这里应该详细列出每个月的主要活动,实际的进展与计划的比较所用的工时,经费的支出,工作中遇到的问题以及擦去的对策,每个月完成的成果,通过者本月的完成成果可以为下个月做安排使软件的设计工作能够更好地进行。
十:项目开发总结报告
软件开发完了之后就要写一个软件开发的总结报告,在这个报告里需要写出开发的结果既产品也就是软件,软件的主要功能及性能,费用。还要对项目的开发进行评价,比如生产率评价,技术方案的评价,产品质量的评价。最后我们还要总结经验与教训,为了下一次更好地进行项目的开发。
十一:程序维护手册
我们以后作为程序员应该学会写程序维护手册,在升序
维护手册里我们应该列举程序说明,操作环境,维护过程,既然是维
护手册,那么维护过程就一定要详细叙述,像什么约定、验证过程、出错及纠正方法、专门维护过程、专门维护程序和程序清单和流程图。通过详细的维护手册,用户可以简单的进行一些软件的维护与更改,不必要每天都要等着程序员的调试,给自己和程序员都留下了自由的时间。
十二:软件问题报告
首先要有一个登记号,这个登记号由软件配置管理部门
为该报告规定一个唯一的、顺序的编号。然后是登记日期、问题发现日期、活动、状态、报告人、问题属于什么方面、模块、修订版本号等等,通过这份报告我们可以详细了解软件的问题情况,以便于制定好修改计划,及时处理问题。
十三:软件修改报告
这份报告是基于软件问题报告的基础之上的,在我们完
成软件的问题处理之后应该写一篇软件的修改报告,在这里应该表明修改前后的改变,如程序修改,文件的更新,数据库修改或者他们的组合。经过修改之后应该表明前后版本的标识等等,最后应该估计修改所需资源,以便合理预估。
总之,经过对软件设计开发流程的阅读学到了很多,希望
会对以后有所帮助。
第四篇:软件项目经理的基本职责
【IT168 管理】软件项目经理的基本职责:
1. 制定项目计划,并根据各种变化修改项目计划
2. 实施 项目的管理、开发、质量保证 过程,确保客户的成本、进度、绩效和质量目标.
3. 制定有效的项目决策过程
4. 确保在项目生命周期中遵循是实施公司的管理和质量政策
5. 选择一个能够精确衡量项目成本、进度、质量、绩效的项目距阵
6. 风险管理
7. 招聘和培训必须的项目成员
8. 确定项目的人员组织结构.
9. 定期举行项目评估(review)会议
10.为项目所有成员提供足够的设备、有效的工具和项目开发过程
11.有效管理项目资源
软件开发中项目经理有那些职责
搜集了一篇软件开发中项目管理的文章,大家看看
当项目繁多的时候,需要规范,并且定义到细节,只有这样,才能支持大规模的开发。
PM非常重要,PM的能力将直接导致项目最后的质量。
本文是根据公司当前的现状而描述的,并不一定普遍适用--合适的,就是最好的。
项目经理职责:
1、 基本职责就是确保项目目标的实现,领导项目团队准时、优质地完成全部工作。
2、 与客户沟通,了解项目的整体需求。并与客户保持一定的联系,即时反馈阶段性的成果,和即时更改客户提出的合理需求。
3、 制定项目开发计划文档,量化任务,并合理分配给相应的人员。
4、 跟踪项目的进度,协调项目组成员之间的合作。
5、 监督产生项目进展各阶段的文档,并与QA即时沟通,保证文档的完整和规范。
6、 开发过程中的需求变更,项目经理需要跟客户了解需求,在无法判断新的需求对项目的整理影响程度的情况下,需同项目组成员商量,最后决定是否接收客户的需求,然后再跟客户协商。确定要变更需求的情况下,需产生需求变更文档,更改开发计划,通知QA。
7、 项目提交测试后,项目经理需了解测试结果,根据测试的bug的严重程度来重新更改开发计划。
8、 向上汇报。向上级汇报项目的进展情况,需求变更等所有项目信息。
9、 项目完成的时候需要项目总结,产生项目总结文档。
项目经理权利:
1、 开发指挥权。项目开发人员的分配和调整。
2、 技术决策权。主要是审查和批准重大技术措施和技术方案,以防决策失误,造成重大损失。
3、 申请协作权。项目发展出现不能解决的问题的时候,可以向上级申请协作。
4、 考核成员权。考核项目组成员,视觉和测试组只考核组长。 必备流程:
1.
每天下午5:00――6:00,项目经理召集该项目的相关人员(包括开发人员、美工等)作项目每日总结,内容包括:
(1)
了解每个成员的工作进度情况。
(2)
了解成员在工作中遇到的困难,并寻找资源解决。
(3)
成员之间的配合是否协调一致(比如,需要提交的物件没有按时提交或遗忘等)。
(4)
如有需要,根据当前的进展情况调整项目计划。
(5)
安排每个成员第二天的工作。
(6)
如果考虑到项目当前的进展状态可能会导致项目延期,则项目经理有权安排项目组加班,以保证工期。
2. 如果项目经理接收到新的需求,则项目经理应该在下午的项目每日总结会上提出,并分配安排工作。除非新来的需求特别紧急或影响到项目组当前正在进行的任务,需要召集项目组成员紧急讨论外,否则不应打断项目组的当前工作。
如果新的需求是在每天下班后接收的,则项目经理应在第二天早上召集项目组勤劳的蜜蜂有糖吃
成员讨论并安排任务。
第五篇:软件开发流程与规划学习心得
软件开发学习流程与规划心得
班级:软件0902学号:090203049姓名:杨菲
一、前期规划:
我理解的前期规划是:在市场人员们汇总一个需求提交给产品专家带领的产品经理团队,然后经过这个团队根据公司具体情况再次分析和规划出一个最终需求文档。
这个需求文档应当首先提交给技术研发部门的负责人以及核心开发人员。由开发团队对其进行技术和风险分析。如果对此需求统一有异议的地方,需要返回给产品团队,重新修正需求。反复如此,直至需求完善准确,细致,清晰。
前期规划就像高楼的地基,如果马马虎虎,就算是一块砖块没摆好都可能导致整个高楼建设的失败。在规划中我认为,交流永远是需要双方积极主动,能认真听取每个人的建议。前期工作思维不慎重,不细致,不认真,不够完善,将产生连锁效应直接导致整个工程和项目的失败。
对于第一种,当然是因为前期规划疏漏了某些细小功能,没能把需求文档做完善。应该是规划工作做的还不够认真和细致。
对于第二种情况,我认为更多是在产品设计规划方面经验还不够成熟。这种问题应该是很难避免的。因为每种新产品对产品团队来说都很陌生。即使以前做过类似的东西,也难免面面俱到。这只能通过不断努力和认真的态度来弥补。
前期规划的交流涉及了市场、产品和技术研发等多个团队之间。需要的不仅是团队内部的交流,更多需要协调好团队之间的交流。可能有时候需要公司高层和中层参与协调。
二、概要设计:
我理解的概要设计步骤:(以项目为中心的开发流程)
1 项目经理仔细阅读项目需求文档。
2 项目经理召集项目开发成员,开项目启动会议。具体商议项目的开发任务和责任分配。
3核心开发人员开发确定,以及各模块开发人员确定。
4由系统分析员和核心开发人员仔细阅读需求文档,对系统整个架构分析和做技术规划。
5系统分析员整理和书写最终的系统架构和概要设计文档。
6系统分析员在文档提交日,提交给项目经理。项目经理确认文档并审批。
7项目经理召集项目开发成员,开一个概要设计以及系统架构确定的会议。向每个成员分发文档,并讨论确定最终概要设计文档。
8开始详细设计文档的工作
三、详细设计:
1项目经理组织成立各个模块的开发小组,并确定开发小组组长(程序经理)。
2各开发组长书写各自模块的详细设计文档,开发成员需要协助,配合。
3在指定提交日,开发组长提交文档给系统分析员。由系统分析员审批。
4系统分析员组织召开一个详细设计文档确认的会议。
5然后开发组长分发各自模块的详细设计文档给程序员,程序员在指定时间内完成。
6程序员做内部测试。开发组长协调并配合。
7确认无bug提交给开发组组长。
8所有模块整合工作,由整个开发组成员参与完成。由所有开发组长和系统分析员负责主要部分工作。程序员协助和配合。
9对整合后工程做详细测试。
10确认测试通过后,开发组长根据开发成员表现以及提交成果填写绩效考核表。然后提交给项目经理。
11项目经理会召开项目总结会,同时向优秀成员颁奖。同时鼓励所有成员继续努力。对不能按时完成导致项目能按时提交,以及对导致失败的关键人员给与惩罚处理。
四、具体编码:
开发几个项目之后,对编写程序有了更进一步的了解。
好的程序应该具有: 易读性,易扩展性,容错性。
易读性: 所有变量和函数以及类名用简单易懂易记忆的命名方式。所有类和函数甚至变量都有关键的注释说明。这点很重要,也是最基础的。如果代码书写
不够美观和易懂,我想自己以后也不想再看。就更别谈功能的扩展和新版本开发了。
易扩展性: 整体系统架构逻辑简单清晰。模块与模块之间尽量做到互不影响,也就是尽可能的独立。这部分工作主要体现在前期设计工作中,需要掌握好的设计经验和方法才能够做得比较好。
容错性: 对数据流和指针以及数组都做数据有效性检查;对第三方接口的调用失败的容错性。对所有代码都做调用失败后的错误处理。以及在大的工程中加入trace文件输出,把关键的数据流和关键处理部分的操作信息输出。以便对工程异常情况产生条件的定位,及时解决问题。
五、调试、跟踪与测试:
1 测试需要注意的:
1对每个模块的接口做测试,数据边界的检查。在对整个模块做测试。主要测试稳定性,效率以及功能是否正常。确认单个模块完全正常后,再加入工程。在系统架构设计的时候,可能会引入原型参考。要对原型做完成测试后,确认没有问题后,才可使用。
2 可以采用VC自带Trace或者将信息输出为文本文件的方式跟踪程序并输出关键信息,以便定位程序异常的原因。
3 对于通信模块的测试,特别注意服务端和客户端的数据流。可以针对性的写一个客户端或服务端的测试程序,检验通讯过程是否正常。
4 在用VC做开发中,一定先要让Debug版本正常运行,保证没有任何异常,内存泄漏和Assert等调试警告信息。如果用到其他Lib,一定要保证Lib本身不存在问题。