哈工大软件构造第一章总结
软件构造第一章名为软件构造的多维视图和质量目标,作为整个课程的开篇,阐释了软件构造的对象是什么,以及软件系统构成的维度和指标。
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. 软件构造过程中的多维度视图 多维度视图 在这里插入图片描述 Moment维度关注于程序在某一个时刻的表现,而Period维度更关注于程序在一段时间内的表现: Build-time维度关注 ...
- 软件构造 第一章第二节 软件开发的质量属性
软件构造 第一章第二节 软件开发的质量属性 1.软件系统质量指标 External quality factors affect users 外部质量因素影响用户 Internal quality ...
- 软件构造 第二章 第一节 软件生命周期和版本控制
软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process mode ...
- 2022哈工大软件构造lab1小结(知识点)
哈工大软件构造lab1小结 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 问题一 使用的库 异常处理机制 字符串内容检查 写入文件 问题二 problem 3:画一 ...
- 哈工大软件构造课程知识点总结(一)
系列文章目录 哈工大软件构造课程知识点总结(一) 哈工大软件构造课程知识点总结(二) 哈工大软件构造课程知识点总结(三) 哈工大软件构造课程知识点总结(四) 哈工大软件构造课程知识点总结(五) 哈工大 ...
- 哈工大软件构造课程知识点总结(三)
系列文章目录 哈工大软件构造课程知识点总结(一) 哈工大软件构造课程知识点总结(二) 哈工大软件构造课程知识点总结(三) 哈工大软件构造课程知识点总结(四) 哈工大软件构造课程知识点总结(五) 哈工大 ...
- 哈工大软件构造实验一
哈工大软件构造lab1 实验目标 实验过程 Magic Square 第一部分 要求 实现 第二部分 要求 实现 Turtle Graphics 第一部分 绘制多边形 第二部分 计算方位 第三部分 凸 ...
- 哈工大软件构造期末知识点总结
哈工大软件构造试题构成: 1.30-45分的选择题,10-20题 2.55-70分的简答与设计题,5-6题 考试知识点(不全面): 1.git工具的知识点 2.Java设计模式(一共有23个,主要考察 ...
- 哈工大软件构造 复习
哈工大软件构造试题构成: 1.30分的选择题 2.70分的简答题 2019考试知识点(重要的,但不涵盖全部考试范围): 1.git工具的知识点(没有考察命令行,考察的主要是git的演变及各部分的作用) ...
最新文章
- 腾讯云服务器 ubuntu 设置允许root用户登录和禁用ubuntu用户
- The setting logImpl is not known
- SIEM比以往更重要的5个原因
- 自从安上了“AI”,这些商务经理天天按时下班了
- Spring Security——异常信息本地化
- 结构型设计模式 (1)—— 适配器模式(Adapter Pattern)
- 在类中用class时数据是共有还是私有_C++判断题题库1
- 谈谈 Delphi 的类型与指针[2]
- Android 11 开机动画资源
- Riverbed助力Interplex成功使用机器人技术
- mysql结构改写为hbase表_sqlite数据库修改表结构
- 中国电信天府热线数据中心
- 基于 高德 + Windvane 的H5选址工具,纵享丝滑,对高德选址组件说:走你
- 34. 实战:基于某api实现歌曲检索与下载(附完整源代码)
- 【软路由】esxi 配合UPS停电自动关机,网络异常自动重启openwrt虚拟机
- 刘未鹏逃出肖申克系列链接
- 步进电机控制与LCD显示L297与L298
- 问卷星文本导入问题实现
- PCB行业ERP解决方案!重点推荐!!!
- 基于局部均方差的图像去噪声算法
热门文章
- 艾宾浩斯记忆法和遗忘曲线
- Russia Proposes First Multinational Cryptocurrency
- 团队作业 #1 —— 采访
- cisco路由器升级rom版本
- 开始Windows Embedded Compact 7的第一个项目――虚拟机上的CEPC
- Symbian日薄西山了么
- windows遥测_Windows 7的2019年7月安全补丁包括遥测
- 如何提高mysql插入速度_mysql技巧:提高插入数据(添加记录)的速度
- 手机扫码登录实现原理
- 路由器WAN网口可接入192.168.0.1管理无线密码