软件构造第二次学习博客——第1、2章知识点总结

软件构造第二次学习博客——第1章知识点总结

1.软件构造的多维度视图

按阶段划分:构造时/运行时视图

按动态性划分:时刻/阶段(形态)视图

按构造对象的层次划分:代码(逻辑)/构件(物理)视图

2.阶段划分、各阶段活动
在这里插入图片描述
3.软件质量指标
在这里插入图片描述
(1)外部指标(影响用户)

①正确性

按照预先定义的“规约”执行,至高无上的质量指标。

需要在软件系统的每一层保证自己的正确性,同时假设其下层是正确的。

通过测试和调试、防御式编程、形式化方法等手段保证正确性

②健壮性

针对异常情况(取决于spec的范畴)的处理,出现异常时不要“崩溃”。

出现规约定义之外的情形的时候,软件要做出恰当的反应,是对正确性的补充。

未被specification覆盖的情况即为“异常情况”

③可扩展性

对软件的规约进行修改,是否足够容易?

两种原则:简约主义设计,分离主义设计

④可复用性

发现共性,一次开发,多 次使用

不要不断重复自己写过的东西,不要重复造轮子

⑤兼容性

不同的软件系统之间相互可容易的集成

需要保证设计的同构性:

-标准统一的文件格式

-标准统一的数据结构

-标准统一的用户接口

-标准统一的访问协议

⑥性能

性能是软件系统对硬件资源尽可能少地提出要求的能力,例如处理器时间、内部和外部存储器占用的空间、通信设备中使用的带宽。

性能毫无意义,除非有足够的正确性

对性能的关注要与其他质量属性进行折中

过度的优化导致软件不再适应变化和复用

⑦可移植性

软件可方便的在不同的技术环境(硬件、操作系统)之间移植’

⑧易用性

容易学、安装、操作、监控

给用户提供详细的指南

结构简单,了解用户。

⑨功能性

功能性是系统提供的可能性的程度。

程序设计中一种不适宜的趋 势,即软件开发者增加越来越多的功能,企图跟上竞争,其结果是程 序极为复杂、不灵活、占用过多的磁盘空间

每增加一小点功能,都确保其他质量属性 不受到损失

⑩及时性

软件系统在用户需要时或之前发布的能力。

(2)内部指标(影响软件本身和它的开发者,外部质量取决于内部质量)

源代码相关因素,如代码行数(loc)、循环复杂性等

体系结构相关因素,如耦合、内聚等

可读性

可理解性

清晰度

大小

(3)指标折中

正确的软件开发过程中,开发者应该将不同质量因素之间如何做出折中的设计决策和标准明确的写下来

虽然需要折中,但“正确性”绝不能与其他质量因素折中。

最重要的几个质量因素:正确性、健壮性(可靠),复用性、可扩展性(模块化)
总结:
在这里插入图片描述

展开阅读全文
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读