软件构造的多维视角与质量目标

软件构造的多维视角

三个维度

By dynamics: Moment/Period views

By phases:Build-time/Run-time views

By levels:Code-level/Component-level views

 

八个视图

Build-time,moment,and code-level view

源代码是如何通过基本程序块组织起来的。如函数、类、方法、接口等,以及他们之间的依赖关系。

三种相互关联的形式:

词汇层面:面向词法的源代码

语法层面:面向语法的程序结构

语义层面:面向语义的程序结构 

Build-time,period,and code-level view

代码随着时间的变化,如添加行,修饰或者删除一个文件等 

Build-time,moment,and component-level view

源代码的物理组织成文件,这些文件根据目录进行组织

文件封装成包,组建和子系统

可重用的模块以库的形式存在,库存储在自己的磁盘文件中,里面手机里一些可在各种程序中重用的函数 

Build-time,period,and component-level view

在一个软件系统中,文件,包,组建和库随时间的变化 

Run-time,moment,and code-level view

快照图:描述程序运行时内存里变量层面的状态

内存转储:硬盘上的文件(包含进程内存内容的副本)当进程被某些内部错误或信号中断时产生。 

Run-time,period and code-level view

程序单元(对象)之间的交互

执行追踪:用日志方式记录程序执行的调用次序 

Run-time,moment,and component-level view

UML(统一建模语言)中的部署图 

Run-time,period,and component-level view

运行时软件的高级概念

可执行程序CPU执行的机器可读指令序列,以及相关联的数据值。这是完全编译好的程序,可以加载到计算机内存中并执行。

:可由不同程序重用的常用程序对象的集合。大多数操作系统都包括开发人员可以重用的标准库,而不是要求每个程序都提供自己的库。不能直接加载并在目标机器上执行;它必须首先与一个可执行程序链接。

配置和数据文件:不可执行文件,提供了有用的数据和配置信息,程序可以从磁盘加载。

分布式程序:这种软件由多个可执行程序组成,它们通过网络进行通信,或者仅仅是在同一台机器上运行的多个进程。

软件建设的质量目标 

外部质量因素
正确性:软件产品按照其规范定义的执行其精确任务的能力。确保正确性方法:测试和调试---发现不正确、消除不正确;防御式编程---在写程序的时候就确保正确性;形式化方法---通过形式化验证发现问题。
健壮性:软件系统对异常情况作出适当反应的能力,是对正确性的补充。正确性保证软件的行为严格的符合规约中定义的行为,健壮性确保出现规约定义之外的情形的时候,软件要做出恰当的反应。
可扩展性:软件产品很容易适应规格的变化。规模越大,扩展起来越不容易。
可重用性:软件元素服务于许多不同的应用程序的能力建设。一次开发,多次使用。
兼容性:不同的软件系统之间相互可容易的集成。不同的软件系统之间相互可容易的集成,关键在于设计同质(保持设计的同构性),并达成协定的标准程序间通信。方法包括:标准格式文件,标准化数据结构,规范化用户界面等。
效率:软件系统尽可能少地对硬件资源进行处理的能力,例如处理器时间、内部和外部存储器占用的空间、通信设备中使用的带宽等。
可移植性:将软件产品转移到各种软硬件环境的方便性。软件可方便的在不同的技术环境之间移植。
易用性:具有不同背景和资质的人能学会使用软件产品并应用它们解决问题。
功能性:系统提供的可能性的范围。
及时性:软件系统在用户需要它或或需要他之前之前发布的能力。
可验证性:是否易于准备验收过程,特别是测试数据,以及在验证和操作阶段检测故障并跟踪错误的过程。   
完整性:软件系统保护各种成分的能力
可修复性:修复缺陷的能力。
经济性:系统在其指定的预算下完成的能力。

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

内部质量因素

代码行数(LOC),圈复杂度,耦合度,凝聚度,可读性、可理解性、明确性、规模等 

软件建设的五大质量目标

可理解性
可复用性
可维护性和适应性 
健壮性
性能

 



 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值