【软件工程】三、软件开发过程

  • 本节知识点:

  • 软件过程概念及其组成。

  • 传统软件工程模型如:瀑布、原型、增量模型的特点及其适用场合。

  • 迭代模型特点及其适用场合。


    软件过程概念及其组成

1. 过程的含义:

过程是一组将输入转化为输出的互相关联或互相作用的活动。

 2. 软件过程的组成:

过程方法是系统地识别和管理组织内所使用的过程,保证更有效地获得期望的结果。
包括 管理过程 实现过程 支持过程。

 问题定义:人们通过开展技术探索和市场调查等活动,研究系统的可行性和可能的解决方案,确定待开发系统的总体目标和范围。

 需求开发:在可行性研究之后,分析、整理和提炼所收集到的用户需求,建立完整需求分析模型,编写软件需求规格说明。

 软件设计:根据需求规格说明,确定软件体系结构,进一步设计每个系统部件的实现算法、数据结构及其接口等。

 软件构造:概括地说是将软件设计转换成程序代码,是一个复杂而迭代的过程,要求根据设计模型进行程序设计以及正确而高效地编写和测试代码。

软件测试:检查和验证所开发的系统是否符合客户期望,主要包括单元测试、子系统测试、集成测试和验收测试等活动。

 软件维护:系统投入使用后对其进行改进,以适应不断变化的需求,完全从头开发的系统很少,将软件系统的开发和维护看成是一个连续过程更有意义。

软件项目管理:是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量和风险进行控制和管理的活动。

软件配置管理:是通过执行版本控制,变更控制的规程,并且使用合适的配置管理软件,来保证所有产品配置项的完整性和可跟踪性。 

 

 

 


  • 传统软件工程模型

软件过程模型是对软件过程的抽象描述。

常见的软件过程模型:

瀑布模型

将基本的开发活动看成是一系列界限分明的独立阶段,这是—种计划驱动的软件过程,有利于规范软件开发活动。

瀑布模型仅适用于软件需求在开发初期就可以被完整确定这样的软件项目,而且用户使用的环境也要很稳定。

 

原型化模型

原型是一个部分开发的产品,用于加强对系统的理解,有助于明确需求和选择可行的设计策略。

迭代式开发 

将描述、开发和验证等不同活动交织在一起,在开发过程中建立一系列版本,将系统一部分一部分地逐步交付。

适用于更快速地发布产品,追求产品创新,需求不确定性高,需要快速响应用户的变化,关注用户行为的环境。

可转换模型

利用自动化的手段,通过一系列转换将需求规格说明转化为一个可交付使用的系统。

适合于对安全性、可靠性和保密性要求极高的软件系统,这些系统需要在投入运行前进行验证。

增量模型

在每一新的发布中逐步增加功能直到构造全部功能。

 

迭代模型

一开始提交一个完整系统,在后续发布中补充完善各子系统功能。

 


  • 迭代模型特点及其适用场合

迭代模型能够更快的开发出一个可用的版本,可以尽早的推广,占领市场

降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。

降低了产品无法按照既定进度进入市场的风险,每一个迭代都是一个可用的版本,基本上每一个迭代都会给客户使用,可以不断验证我们开发功能是否符合客户要求

加快了整个开发工作的进度。因为每个迭代都会专注于开发某一个或某几个功能,开发人员清楚问题的焦点所在,他们的工作会更有效率。

由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的(也可以通过观察客户反馈,细化需求,挖掘需求,瀑布模型就没有这个优势)。

因此,迭代过程这种模式使适应需求的变化会更容易些。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值