第四章 软件过程

4.1 软件过程

过程的含义:

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

客户需求 - > 过程—> 客户满意的产品

 

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

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

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

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

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

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

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

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

 8.2 软件过程模型

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

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

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

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

 瀑布模型

开发阶段严格按照线性方式进行,每一个阶段具有 相关的里程碑和交付产品,且需要确认和验证。

  • 以预测性为原则
  • 以文档驱动开发过程
  • 以过程控制为核心

软件开发的迭代性

软件开发具有迭代性 ,需要不断地反复尝试 ,通过比较和选择不同的设计 ,最终确定令人满意的问题解决方案 。

 原型化模型

 迭代式开发

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

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

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

 

 

 可转换模型

  • 由于数学方法具有严密性和准确性,形式化方法所交付 的系统具有较少的缺陷和较高的安全性。
  • 特别适合于那些对安全性、可靠性和保密性要求极高的 软件系统,这些系统需要在投入运行前进行验证。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值