架构-软件工程1-概述

软件工程概述(原)

软件开发生命周期

  • 软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义、可行性研究、需求分析等。
  • 软件开发时期:就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。
  • 软件运行和维护:就是把软件产品移交给用户使用

软件系统的文档

  • 用户文档:用户文档主要描述系统功能和使用方法,并不关系这些功能是怎样实现的;
  • 系统文档:系统文档描述系统设计、实现和测试等各方面的内容

软件工程过程

软件工程过程是指为获得软件产品包括以下4个方面活动:

  1. P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。
  2. D(Do)——软件开发。开发出满足规格说明的软件。
  3. C(Check)——软件确认。确认开发的软件能够满足用户的需求,
  4. A(Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。

软件系统工具

通常可以按软件过程活动将软件工具分为:

  • 软件开发工具:需求分析工具、设计工具、编码与排错工具、测试工具等。
  • 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。
  • 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择

建模工具:
软件开发工具是指用干辅助软件开发过程活动的各种软件。
其中,软件建模工具是辅助建立软件系统的抽象模型的。常见的软件建模工具包括Rational Rose、Together、WinA&D、QuickUML、EclipseUML等;

软件设计四个活动

  • 数据设计:将模型转换成数据结构的定义。好的数据设计将改善程序结构和模块划分,降低过程复杂性
  • 架构(体系结构)设计:定义软件系统各主要部件之间的关系。
  • 人机界面(接口)设计:软件内部,软件和操作系统间以及软件和人之间如何通信。
  • 过程设计:系统结构部件转换成软件的过程描述。

能力成熟度模型

能力成熟度模型CMM

能力成熟度模型CMM

能力成熟度模型集成CMMI

若干过程模型的综合和改进,不仅仅软件,而是支持多个工程学科和领域的、系统的、一致的过程改进框架,能适应现代工程的特点和需要,能提高过程的质量和工作效率。
CMMI两种表示方法:

  1. 阶段式模型:类似于CMM,它关注组织的成熟度,五个成熟度模型如下:
    阶段式模型
  2. 连续式模型:关注每个过程域的能力,一个组织对不同的过程域可以达到不同的过程域能力等级。

软件过程

软件过程是制作软件产品的一组活动,以及结果,这些活动主要由软件人员来完成,软件活动主要包括如下内容。

  1. 软件描述:定义软件功能,以及使用的限制。
  2. 软件开发:软件的设计和实现,软件工程人员制作出能满足描述的软件。
  3. 软件有效性验证:软件必须经过严格的验证,以保证能够满足客户的需求。
  4. 软件进化:软件随着客户需求的变化不断地改进。

软件过程模型是软件开发实际过程的抽象与概括,它应该包括构成软件过程的各种活动。

架构-软件工程2.1-设计模型1

架构-软件工程1-概述
http://060800.xyz/2025/07/26/架构/架构-软件工程1-概述/
作者
砖头
发布于
2025年7月26日
许可协议