非 系统分析师 的重点!!!
1、软件生命周期
软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生命周期或生存周期。
1.1 软件生存周期过程
在国家标准 GB/T 8566-2007 标准中,将软件生存周期中可能执行的活动分为:
- 5个基本过程
- 9个支持过程
- 7个组织过程
每个生存周期过程划分为一组活动,每一项活动进一步划分为一组任务。
1.1.1 5个基本过程
基本过程供 各主要参与方在软件生存周期期间使用,主要参与方是发起或完成软件开发、运行或维护的组织。
基本过程分为:
- 获取过程
- 供应过程
- 开发过程
- 运作过程
- 维护过程
1.1.2 9个支持过程
支持过程,作为一个有机组成部分 支持其他过程,以便取得软件项目的成功,并提到软件项目的质量。
支持过程包括:
- 文档编制过程
- 配置管理过程
- 质量保证过程
- 验证过程
- 确认过程
- 联合评审过程
- 审核过程
- 问题解决过程
- 易用性过程
1.1.3 7个组织过程
组织过程 可被某个组织 用来 建立和实现 由相关的生存周期过程和人员组成的基础结构 并不断改进这种结构的过程。
应用它们通常超出特定的项目和合同的范围,但是,这些特定项目和合同的经验教训有助于改善组织状况。
组织过程包括:
- 管理过程
- 基础设施过程
- 改进过程
- 人力资源过程
- 资产管理过程
- 重要大纲管理过程
- 领域工程过程
1.2 软件生命周期各阶段的任务
根据 GB/T 8566-2007,软件生命周期可以划分为可行性研究、需求分析、概要设计、详细设计、实现、组装测试、确认测试、使用、维护、退役 10个阶段。
- 可行性研究:确认软件项目性质、目标和规模,得出可行性报告。如果是可行的,就要指定详细的项目开发计划。
- 需求分析:把软件性能和功能的总体概念 描述为具体的软件需求规格说明,从而奠定开发的基础。
- 概要设计:根据软件需求规格说明建立软件的总体结构和模块间的关系,定义各功能模块接口,设计全局数据库或数据结构,规定设计约束,指定组装测试计划。
- 详细设计:将各模块要实现的功能用相应的设计工具详细描述出来。
- 实现:程序员根据详细设计文档将详细设计转化为程序,完成单元测试。
- 组装测试:经过单元测试的模块逐步进行组装和测试。
- 确认测试:测试系统是否达到了系统需求,由用户或用户参与 对系统进行验收。
- 使用:
- 维护:
- 退役
立项阶段
开发阶段
运维阶段
消亡阶段

其中重头戏是:开发阶段
单个系统开发 流程
# 需要关注不同阶段的产出物 - 会考选择
系统规划
系统分析
系统设计
系统实施
系统验收

2、软件开发方法

2.1 形式化方法
2.1.1 形式化方法概述
提高软件可靠性的一种重要技术是使用形式化方法。
形式化方法建立在严格数学基础上,具有精确数学语义的开发方法。
近年来,形式化方法在以下两个方面的发展大大改善了其实用性:
- 形式化方法与图形语言机制相结合。为图形语言机制赋予形式化的语法和语义,从而兼具了图形表示的直观、简洁,以及形式化方法的严谨、精确等优点。
- 用CASE(计算机辅助软件工程)工具支持形式化软件开发。CASE工具不仅能简化描述工作,而且还可以利用自动证明技术,帮助开发人员验证软件的数学性质。
2.1.2 净室软件工程
- 是软件开发的一种形式化方法
- 使用 盒结构规约 进行分析和建模
- 并且将正确性验证作为发现和排除错误的主要机制
- 使用统计测试来获取认证软件可靠性所需要的信息。

主要缺点:
- 对开发人员的要求比较高
- 正确性验证的步骤比较困难,且比较耗时
- 开发小组不进行传

本文详细阐述了软件生命周期的各个阶段、过程划分,包括5个基本过程、9个支持过程和7个组织过程。着重介绍了形式化方法、净室软件工程、逆向工程等开发方法,以及瀑布模型、敏捷开发和统一过程等模型的特点和优缺点。同时讨论了CMM和CMMI的能力成熟度模型。
最低0.47元/天 解锁文章
5325

被折叠的 条评论
为什么被折叠?



