用户关注软件质量的外部属性,如软件的正确性、可靠性、有效性、完整性、可用性 、可维护性、可移植性、可复用性等
软件工程的定义是:(1)将系统的、法律规范的、可量化的方法应用于软件的开发、运行和维护的过程;(2)及上述方法的讨论
软件工程的项目、人、过程、方法和工具、软件制品构成了软件工程的五要素
P11—124
增量式开发的优点是:(1)在软件开发的过程中,根据增量持续不断地发布软件新版本,可及时获得客户的反馈,用于调整后续的软件开发策略
(2)由于软件需求是确定的,可先对软件体系结构进行设计,增量开发过程能保持良好的软件体系结构
增量式开发的缺点是:(1)增量规模不能大(开发不要超过 20k 行代码),否则会暴露瀑布模型的缺点
(2)将客户需求分解成增量序列必须对系统需求十分了解,并有顶层设计的经验
(3)多数系统都需要基本服务,如何为基本服务定义增量,何时实现这些增量,处理起来比较困难
RUP 将软件生存周期,即软件制品的進化状态划分为出世、细化、构造、移交、生产 5个阶段
将软件开发过程分解为业务建模、需求、设计、实现、验证与确认(V&V)、部署、配置和变更管理、项目管理、环境 9 个工作流
功能需求是指利益相关方要求目标软件系统应该具有的功能,还包括软件系统在业务处理过程中完成这些功能时必须遵守的约定或限制
质量需求主要指利益相关方对目标软件系统的质量要求
约束性需求是指利益相关方对目标软件系统在项目预算、完成时间、技术选型、必须遵循的标准语法律规范方面提出的要求,以及预期的开发、运行环境的特征而导致的针对目标软件系统的约束
需求建模的基本方法包括抽象、分解与多视点分析 3 种
用例的概念:从外部用户的视角看,一个用例(Use Case)是执行者(Actor)与目标软件系统之