软件构造博客1

本文探讨了软件构造的多维度视图,包括Build-time、Moment、Run-time和Component-level等视角,以及它们在代码组织、变化和运行时表现的应用。同时,文章阐述了软件系统的内外部质量特性,如正确性、健壮性、扩展性和可复用性,并强调了正确性的重要性。此外,提出了软件构造的五个关键质量目标:易于理解、低成本开发、易于扩展、安全性及高效运行。
摘要由CSDN通过智能技术生成

目录

         一、多维度视图

二、软件系统的质量特性

三、软件构造的五个关键质量目标


一、多维度视图

Moment维度关注特定时刻的软件形态,而Period关注的是软件形态随时间的变化。
Build-time维度关注程序还未被投入运行,编码阶段的表现,而Run-time维度更关注于程序运行时的表现;
Code-level维度关注代码的逻辑组织而Component-level维度关注代码的物理组织.

(1) Build-time, moment, and code-level view 分析源代码是如何组织的,可以在词汇层面、语义层面、语法层面分析

(2) Build-time, period, and code-level view 分析代码的变化

(3) Build-time, moment, and component-level view 更倾向于关注包和库

(4) Build-time, period, and component-level view 关注各项软件实体随时间如何变化

(5)Run-time, moment, and code-level view 关注程序的内存信息转储

(6) Run-time, period and code-level view 记录程序执行的调用次序

(7) Run-time, moment, and component-level view 关注代码执行中的包和库

(8) Run-time, period, and component-level view 使用日志查看系统的情况

二、软件系统的质量特性

1.外部质量(外部质量因素影响用户)

正确性:最重要的质量指标,软件的行为要严格的符合规约中定义的行为

        测试和调试:发现不正确、消除不正确

        防御式编程:在写程序的时候就确保正确性

        形式化方法:通过形式化验证发现问

健壮性: 针对异常情况的处理,出现规约定义之外的情形的时候,软件要做出恰当的反应

        健壮性是对正确性的补充

可性展性:为什么要扩展 :应对变化

        规模越大,扩展起来越不容易

 可复用性:一次开发,多次使用

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

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

可移植性:软件可方便的在不同的技术环境之间移植

易用性:容易学、安装、操作、监控

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

 及时性

 可验证性

 完整性

 可修复性 

 经济性

2.内部质量

可读性

可理解性

清晰

大小

3.质量属性之间的权衡

        不同质量因素需要做出这种,但是“正确性”绝不能妥协。

三、软件构造的五个关键质量目标

易于理解

开发成本低

易于扩展

不易出现漏洞

高效运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值