架构-软件工程1-概述
软件工程概述(原)
软件开发生命周期
- 软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义、可行性研究、需求分析等。
- 软件开发时期:就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。
- 软件运行和维护:就是把软件产品移交给用户使用。
软件系统的文档
- 用户文档:用户文档主要描述系统功能和使用方法,并不关系这些功能是怎样实现的;
- 系统文档:系统文档描述系统设计、实现和测试等各方面的内容
软件工程过程
软件工程过程是指为获得软件产品包括以下4个方面活动:
- P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。
- D(Do)——软件开发。开发出满足规格说明的软件。
- C(Check)——软件确认。确认开发的软件能够满足用户的需求,
- A(Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。
软件系统工具
通常可以按软件过程活动将软件工具分为:
- 软件开发工具:需求分析工具、设计工具、编码与排错工具、测试工具等。
- 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。
- 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择
建模工具:
软件开发工具是指用干辅助软件开发过程活动的各种软件。
其中,软件建模工具是辅助建立软件系统的抽象模型的。常见的软件建模工具包括Rational Rose、Together、WinA&D、QuickUML、EclipseUML等;
软件设计四个活动
- 数据设计:将模型转换成数据结构的定义。好的数据设计将改善程序结构和模块划分,降低过程复杂性
- 架构(体系结构)设计:定义软件系统各主要部件之间的关系。
- 人机界面(接口)设计:软件内部,软件和操作系统间以及软件和人之间如何通信。
- 过程设计:系统结构部件转换成软件的过程描述。
能力成熟度模型
能力成熟度模型CMM
能力成熟度模型集成CMMI
是若干过程模型的综合和改进,不仅仅软件,而是支持多个工程学科和领域的、系统的、一致的过程改进框架,能适应现代工程的特点和需要,能提高过程的质量和工作效率。
CMMI两种表示方法:
- 阶段式模型:类似于CMM,它关注组织的成熟度,五个成熟度模型如下:
- 连续式模型:关注每个过程域的能力,一个组织对不同的过程域可以达到不同的过程域能力等级。
软件过程
软件过程是制作软件产品的一组活动,以及结果,这些活动主要由软件人员来完成,软件活动主要包括如下内容。
- 软件描述:定义软件功能,以及使用的限制。
- 软件开发:软件的设计和实现,软件工程人员制作出能满足描述的软件。
- 软件有效性验证:软件必须经过严格的验证,以保证能够满足客户的需求。
- 软件进化:软件随着客户需求的变化不断地改进。
软件过程模型是软件开发实际过程的抽象与概括,它应该包括构成软件过程的各种活动。
架构-软件工程2.1-设计模型1架构-软件工程1-概述
http://060800.xyz/2025/07/26/架构/架构-软件工程1-概述/