本文已参与「新人创作礼」活动,一起开启掘金创作之路。
| 当年上课时候整理的作业内容,主要一些基本概念 |
1.简述软件可维护性决定因素。
·可理解性:表现为外来读者理解软件的结构、功能、接口和内部处理过程的难易程度。
·可测试性:诊断和测试的容易程度取决于软件容易理解的程度。对程序模块来说,可以用程序复杂度来度量。
·可修改性:软件容易修改的程度和设计原理、启发规则直接有关。耦合、内聚、信息隐藏、局部化、控制域和作用域的关系等都有影响。
·可移植性:指把程序从一种计算环境(硬件配置和操作系统)转移到另一种计算环境的难易程度。
·可重用性:所谓重用是指同一事物不做修改或稍加改动就在不同环境中多次重复使用。大量使用可重用的软件构件因其可靠性高、易应用于新环境而可提升软件可维护性。
2.什么是软件可维护性?常见的软件维护活动可分为那几类?
1)可定性地定义为:维护人员理解、改正、改动或改进这个软件的难易程度。提高可维护性是支配软件工程方法学所有步骤的关键目标。
2)通常包括4类活动:为了纠正在使用过程中暴露出来的错误而进行的改正性维护;为了适应外部环境的变化而进行的适应性维护;为了改进原有的软件而进行的完善性维护;为了改进将来的可维护性和可靠性而进行的预防性维护。
3.分析预测机票预订系统(见Chapter2 Q3)交付使用以后,用户可能提出哪些改进或扩充功能的要求。如果由自己来开发这些系统,在设计和实现时将采取哪些措施,以方便将来的修改?
1)可能提出:①列出备选项自选航班;②取票通知和账单合并;③取票时间改为起飞前两小时;④增加退票、改签功能。
2)措施:①做到模块化,使功能尽可能独立;②留出适当接口以便增加功能;③完善开发文档;④规范开发过程,命名语义化。
| 初学者手写作业,对问题叙述较为简单浅显,仅作为学习过程记录。欢迎交流讨论与指正 |