软件的特性以及软件构造的关键因素
折中:在特定的情况下选择比较重要的因素,舍弃其他的不重要因素。
在软件构造的过程中,不可能使软件的各种特性都能够达到最优化,因此需要在各种特性之间进行折中选择,其中正确性是必须要保证的特性。
软件的内部特性与外部特性
外部:
正确性:需要满足实现预定的标准是最重要的质量指标——分层,保证每一层的正确性 测试调试 形式化方法验证
健壮性:对于软件工程说明书中没有提到的情况(异常情况)下的处理,注意不可以在异常情况下崩溃。
可扩展性:根据需求的变化对软件功能进行修改(扩充)——简约设计主义(简单的比复杂的维护起来更加方便),分离设计主义(把各个模块尽量分开来做)
可复用性:一次开发,多次使用(某些软件在开发过程中的element可以在多个软件系统中使用)——发现共性,借用前人的成果
设计的同构性:标准化——标准化文件格式,数据结构标准化用户interfaces
性能优化:在保证正确性的情况下对性能进行适当优化——算法优化,内存优化,IO优化等
可移植性:可以在不同的操作系统环境下进行移植
易用性:用户可以轻易使用,不需要过多技术基础——提供详细的指南,软件应该容易学,容易安装操作和监控,简化结构,了解用户群体
功能性:越来越多的功能导致程序变得复杂占用更多的存储空间——在增加功能的同时需要保证其他的属性不能受到损失
及时性:在用户需求或者需求之前就可以上市供用户使用。
可验证性
完整性
可修复性
经济性
内部:
代码长度与圈复杂度
可读性
容易理解
软件大小
软件构造的五个关键因素:
①Easy to understand
②Ready for change
③Cheap for develop
④Safe from bugs
⑤Efficient to run