1 Views and Quality Objectives of Software Construction
1 Multi-dimensional software views
目录
1 Views and Quality Objectives of Software Construction
1 Multi-dimensional software views
2 Software construction: Transformation between views
3 Quality properties of software systems
第4部分是所谓程序员的工作,现在社会不缺程序员;哈工大的培养目标是其他部分
本节重点考察这张图:软件的多维视图
code churn (代码变化:从一个版本到另一个版本,代码的增删改)
动态链接:库文件不会在build时被加入可执行文件,仅仅做出标记;发布软件时,要将程序所依赖的所有动态库都复制给用户(实验所用到的库也要提交到github)
snapshot(代码快照图):描述程序运行时内存里变量层面的状态
考试时可能会给出表中的某一项,然后问它在表中的位置
UML的画法不要求掌握
只需要了解图大致有什么含义
本学期考试的内容:(只考红色部分)
2 Software construction: Transformation between views
各个视角之间有联系
本门课只讲红色部分
3 Quality properties of software systems
外部视角 用户
内部视角 程序员
外部质量取决于内部质量
高质量软件的高质量是从用户的角度看的
外部质量:correctness、robustness、extendibility、reusability、compatibility、efficiency、portability、ease of use、functionality、timeliness……
正确性(了解什么是正确性即可:输入正确时输出正确,输入错误时不做要求)、健壮性(输入不正确时不崩溃)、可扩展性(涉及模块化)、可复用性(发现共性,抽象)、兼容性(软/硬件的标准化,协议)、性能、可移植性(不讲,java有很好的可移植性)、易用性(不讲,界面、用户指南)、功能性(改一个功能,不会影响其他功能,在下下章涉及一点点)、及时性(管理软件的开发过程,软件的项目管理,本课不涉及)……
健壮性主要涉及异常处理这一章,异常是主观的,输入是否正确由程序员决定(在注释/规约中给出)
性能和其他的质量属性有冲突,很多的质量目标相互冲突
本门课的目标就是提高软件的内部质量
软件的所有质量目标不可能都完美地达到
只挑几个重要的点讲
本课只涉及红色的部分
总结: