软件构造第一章名为软件构造的多维视图和质量目标,作为整个课程的开篇,阐释了软件构造的对象是什么,以及软件系统构成的维度和指标。

1.软件构造的多维视图

第一章的第一部分内容可以由下面这幅图来概括:

那么按找该表头的信息,软件构造的多维视图可以分为8个部分:

在build-time过程中的moment情况下,软件的逻辑结构代表源代码、抽象语法树、方法和类等,而物理结构则指包、文件、库等软件在物理层面的组织;而来period情况下逻辑结构和物理结构则又分别指代码的变化以及版本的变化。(一般来说,代码变化指代码行的修改、增加与删除,而版本变化则是用major-minor-patch的结构组织起来的版本号来表示同一软件的不同状态)

而在run-time过程中的moment情况下,软件的逻辑结构可用代码快照(程序运行时某时刻内存中变量层面的状态)和内存信息转储来表示,period视角下则为执行追踪(以日志方式记录程序调用次序)和并行多线程;最后period下的物理结构则主要指事件日志,提供对于系统进行诊断与检查又帮助的事件记录。

2.视图的转换

在关键构造过程中,对于软件的视图将会从一个角度向另一个角度转换,如下图:

其中主要经过了从无到代码(编程与分析)、从代码到组件(依靠包、链接、编译等)、从构建阶段到运行阶段,以及从时刻到时间段的转变。

3.软件系统的质量指标

包括外部与内部两部分,外部影响用户,内部影响软件本身与开发者,外部质量取决于内部质量。

(1)外部质量指标

1)正确性:严格按照规约进行,最重要的指标。

2)健壮性:出现规约外的异常情况时要有相应的处理,是正确性的补充。

3)可扩展性:应对变化

4)可复用性:一次开发多次使用。

5)兼容性:不同系统相互集成。

6)性能:在保证其他指标的情况下提高性能。

7)可移植性:软件可在不同技术环境之间移植。

8)易用性:容易学习、安装、操作、监控。

9)功能性:每增加一点功能都要确保其他属性不受损失

10)及时性:开发进度需要达到需求。

此外还有其他指标,比如可验证性、完整性、可修复性和经济性等,而所有外部指标中正确性是最重要的指标,不可让步。

(2)内部质量指标

如可读,易懂,清晰和大小等。

(3)指标折中

在开发过程中,程序不同的质量因素之间存在冲突,这就需要程序员将不同因素的折中设计决策和标准明确下来,但是需要注意,程序的正确性是不能与其他因素折中的。

4.软件构造的五个关键指标

易懂,易改,廉价开发,避免漏洞,运行高效。

哈工大软件构造第一章总结相关推荐

  1. 哈工大软件构造第一章

    1. 软件构造过程中的多维度视图 多维度视图 在这里插入图片描述 Moment维度关注于程序在某一个时刻的表现,而Period维度更关注于程序在一段时间内的表现:     Build-time维度关注 ...

  2. 软件构造 第一章第二节 软件开发的质量属性

    ​软件构造 第一章第二节 软件开发的质量属性 1.软件系统质量指标 External quality factors affect users 外部质量因素影响用户 Internal quality ...

  3. 软件构造 第二章 第一节 软件生命周期和版本控制

    软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process mode ...

  4. 2022哈工大软件构造lab1小结(知识点)

    哈工大软件构造lab1小结 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 问题一 使用的库 异常处理机制 字符串内容检查 写入文件 问题二 problem 3:画一 ...

  5. 哈工大软件构造课程知识点总结(一)

    系列文章目录 哈工大软件构造课程知识点总结(一) 哈工大软件构造课程知识点总结(二) 哈工大软件构造课程知识点总结(三) 哈工大软件构造课程知识点总结(四) 哈工大软件构造课程知识点总结(五) 哈工大 ...

  6. 哈工大软件构造课程知识点总结(三)

    系列文章目录 哈工大软件构造课程知识点总结(一) 哈工大软件构造课程知识点总结(二) 哈工大软件构造课程知识点总结(三) 哈工大软件构造课程知识点总结(四) 哈工大软件构造课程知识点总结(五) 哈工大 ...

  7. 哈工大软件构造实验一

    哈工大软件构造lab1 实验目标 实验过程 Magic Square 第一部分 要求 实现 第二部分 要求 实现 Turtle Graphics 第一部分 绘制多边形 第二部分 计算方位 第三部分 凸 ...

  8. 哈工大软件构造期末知识点总结

    哈工大软件构造试题构成: 1.30-45分的选择题,10-20题 2.55-70分的简答与设计题,5-6题 考试知识点(不全面): 1.git工具的知识点 2.Java设计模式(一共有23个,主要考察 ...

  9. 哈工大软件构造 复习

    哈工大软件构造试题构成: 1.30分的选择题 2.70分的简答题 2019考试知识点(重要的,但不涵盖全部考试范围): 1.git工具的知识点(没有考察命令行,考察的主要是git的演变及各部分的作用) ...

最新文章

  1. 腾讯云服务器 ubuntu 设置允许root用户登录和禁用ubuntu用户
  2. The setting logImpl is not known
  3. SIEM比以往更重要的5个原因
  4. 自从安上了“AI”,这些商务经理天天按时下班了
  5. Spring Security——异常信息本地化
  6. 结构型设计模式 (1)—— 适配器模式(Adapter Pattern)
  7. 在类中用class时数据是共有还是私有_C++判断题题库1
  8. 谈谈 Delphi 的类型与指针[2]
  9. Android 11 开机动画资源
  10. Riverbed助力Interplex成功使用机器人技术
  11. mysql结构改写为hbase表_sqlite数据库修改表结构
  12. 中国电信天府热线数据中心
  13. 基于 高德 + Windvane 的H5选址工具,纵享丝滑,对高德选址组件说:走你
  14. 34. 实战:基于某api实现歌曲检索与下载(附完整源代码)
  15. 【软路由】esxi 配合UPS停电自动关机,网络异常自动重启openwrt虚拟机
  16. 刘未鹏逃出肖申克系列链接
  17. 步进电机控制与LCD显示L297与L298
  18. 问卷星文本导入问题实现
  19. PCB行业ERP解决方案!重点推荐!!!
  20. 基于局部均方差的图像去噪声算法

热门文章

  1. 艾宾浩斯记忆法和遗忘曲线
  2. Russia Proposes First Multinational Cryptocurrency
  3. 团队作业 #1 —— 采访
  4. cisco路由器升级rom版本
  5. 开始Windows Embedded Compact 7的第一个项目――虚拟机上的CEPC
  6. Symbian日薄西山了么
  7. windows遥测_Windows 7的2019年7月安全补丁包括遥测
  8. 如何提高mysql插入速度_mysql技巧:提高插入数据(添加记录)的速度
  9. 手机扫码登录实现原理
  10. 路由器WAN网口可接入192.168.0.1管理无线密码