概要设计
着手解决如何做➡️设计
软件设计分两步➡️概要设计(初步设计,概括的说软件系统应该如何实现,确定软件系统的总体结构,即确定软件系统的组成成分以及各组成成分之间的相互关系),详细设计(对概要设计的进一步细化,确定软件系统各组成部分内部的数据结构和算法过程)
对于分布式系统而言,还要对网络系统进行设计
方法:结构化方法和面向对象的方法
为什么要进行软件的设计?
什么是软件质量?
我们国家的软件质量标准:软件质量是软件产品满足明确和隐含需求的能力有关的特性
定义良好的原则集合用于讨论和质量评估➡️质量模型
第一个模型:McCall质量模型
之后Q-Model模型
McCall质量模型
产品的修正:可维护性、可测试性、灵活性
产品转移:可移植性、可复用性、互联性
产品运行:正确性、可靠性、效率、可使用性、完整性
优点:明确了软件质量不只有一个维度,有多个维度
缺点:不好适用,例如:质量有多好?
Boehm的Q-Model
由预定义的属性集和度量构成
ISO软件质量模型