软件开发的流程控制

  需求分析  
  概要涉及  
  详细设计  
  编写代码  
  测试维护

 

MIT教材

ALGORITHMS IN C++  

 

PROGRAMMING IN C

 

C++ Primer

 

C++:HOW TO PROGRAM

 

项目流程控制

 

 计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》完成
一、项目计划阶段
项目计划草案和风险管理计划作为第一步,当有一个商业机会后,根据公司高层负责制定的初步商业计划书来完成项目的计划草案,确定、分析项目风险并确定其优先级,还要制定风险解决方案。本阶段的目的是确立产品开发的经济理由。
当确定开发之后则制定软件开发计划、人员组织结构定义及配备、过程控制计划。
(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)测试员
职责: 执行测试,描述测试结果,提出问题解决方案。
人员要求:了解被测试的系统,具备诊断和解决问题的技能,编程技能

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nengyu/archive/2009/01/12/3758351.aspx

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 软件开发流程是一种规范化的方法,用于组织和管理软件开发过程中的各个阶段和活动。它有助于团队成员理解和遵循一致的开发标准,提高开发效率和质量。 软件开发流程通常包括以下几个主要阶段:需求分析、设计、编码和测试。 - 需求分析阶段:这一阶段主要是与客户进行沟通,了解客户的需求和期望,确定软件开发的目标和范围。在这个阶段,我们需要进行需求调研、需求规格化、需求分析和需求确认等工作。 - 设计阶段:在需求分析的基础上,我们需要进行软件的整体设计和详细设计。整体设计主要是确定软件的体系结构和模块划分,详细设计则是对每个模块进行具体的设计。在这个阶段,我们需要进行概要设计、接口设计和数据库设计等工作。 - 编码阶段:在设计完成后,就可以进行编码了。在这个阶段,开发人员根据详细设计书编写源代码。编码工作需要符合规范,并进行代码注释和版本控制。 - 测试阶段:编码完成后,我们需要对软件进行测试,包括单元测试、集成测试和系统测试等。通过测试,我们可以发现并修复其中存在的错误和缺陷。 除了这些主要阶段,软件开发流程还包括一些支持性工作,如项目管理、文档编写和维护等。 软件开发流程的最终目标是提供高质量的软件产品,同时确保开发过程的可控性和可维护性。它能够帮助开发团队更加高效地进行合作,减少错误和冗余工作,提高软件开发的效率和成功率。在实践中,各个团队可以根据具体情况和实际需求进行适当的调整和变化,以获得更好的开发效果。 ### 回答2: 软件开发流程是指在软件开发过程中所面临的一系列步骤和活动。CSND(CSDN)作为一个IT技术社区,也提供了关于软件开发流程的相关知识和资源。 软件开发流程通常是以瀑布模型(Waterfall Model)为基础的。瀑布模型将软件开发划分为需求分析、设计、编码、测试和运维等阶段,并且每个阶段都是按顺序进行的。首先是需求分析阶段,开发人员与客户进行沟通,确定软件的需求和功能。然后是设计阶段,根据需求分析的结果设计软件的结构和架构,并制定详细的设计文档。接下来是编码阶段,开发人员根据设计文档编写程序代码。随后是测试阶段,开发人员对编写的代码进行测试,发现并修复其中的错误和缺陷。最后是运维阶段,软件被交付给客户使用,并进行维护和升级。 除了瀑布模型,还有一些敏捷开发方法也被广泛应用于软件开发流程中,例如Scrum和迭代开发等。敏捷开发方法更加注重快速响应和适应变化,通过将开发过程划分为多个迭代,每个迭代都经历需求分析、设计、编码、测试和交付等环节。这种方法能够更好地满足客户需求的变化,并提供更加灵活和高效的开发流程。 总结来说,软件开发流程是一系列的步骤和活动,用于指导软件项目的开发和交付。CSND(CSDN)提供的相关资源和知识可以帮助开发人员更好地学习和了解软件开发流程,从而提高开发效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值