[软件工程导论(第六版)]第8章 维护(课后习题详解)

简介: [软件工程导论(第六版)]第8章 维护(课后习题详解)

1. 软件的可维护性与哪些因素有关?在软件开发过程中应该采取哪些措施来提高软件产品的可维护性?

  • (1)软件的可维护性与软件的可理解性、可测试性、可修改性、可重用性、可移植性有关。
  • (2)提高软件产品的可维护性的措施有如下几点:
  • ① 软件中使用的可重用构件越多,软件的可靠性越高,改正性维护需求就越少。
  • ② 在每个阶段结束前的技术审查和管理复审中,应该着重对可维护性进行复审。

2. 假设自己的任务是对一个已有的软件做重大修改,而且只允许从下述文档中选取两份:(a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注解)。应选取哪两份文档?为什么这样选取?打算怎样完成交给自己的任务?

应该选取(a)和(c)两份文档,理由如下:

(1)“对一个已有的软件做重大修改”意味着对软件功能做较大变更或增加较多新功能,这往往需要修改软件的体系结构。因此,了解原有软件的总体情况是很重要的。程序的规格说明书准确地描述了对软件系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需 求、接口需求、约束、逆向需求及将来可能提出的需求,对了解已有软件的总体情况有很大帮助。在对已有软件做重大修改之前仔细阅读、认真研究这份文档,可以避免许多修改错误。因此,应该选取(a)程序的规格说明。

(2)有经验的软件工程师通过阅读含有适当数量注解的源程序,不难搞清程序的实现算法,没有描述详细设计结果的文档并不会给维护工作带来太大困难。此外,为了修改程序代码,原有程序的清单是必不可少 的。因此,应该选取(c)源程序清单。

3. 分析预测在下列系统交付使用以后,用户可能提出哪些改进或扩充功能的要求。如果由自己来开发这些系统,在设计和实现时将采取哪些措施,以方便将来的修改?

(1)储蓄系统(参见习题2第2题)

(2)机票预订系统(参见习题2第3题)

(3)患者监护系统(参见习题2第4题)

答:

(1)储蓄系统

一般大型软件的维护成本远高于开发成本若干倍,所以在设计时就应该考虑到维护成本,而且在开发过程中应该使用标准的程序设计语言和标准的操作系统接口,可以大大提高软件的可维护性,也可以减少软件存在的错误。

(2)机票预订系统

人多的时候系统瘫痪几率就大,在开发人员不在场的情况下,很容易出现系统错误,维护软件也是很困难的,也会给很多人带来不便,所以, 在设计过程中应该科学地管理规划还有合理设计模块,使各个模块的独立性越高,这样对软件的改进越方便,也便于快速纠错。

(3)患者监护系统

应该考虑它的完善性和预防性,要能满足用户在使用过程中的增加和修改工作,还要为了改善未来的可维护性或可靠性而修改。更要考虑系统数据的隐秘和安全,随时备份。

相关文章
|
算法 程序员 Go
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
|
缓存 数据处理 芯片
【软件设计师-从小白到大牛】上午题基础篇:第一章 计算机组成与体系结构(3)
检错是指可以检查出错误;纠错是指可以在检查出错误的基础上纠正错误。
73 0
|
1月前
|
敏捷开发 监控 数据可视化
软件工程基础知识,软考选择题的重点
本文总结了软件工程的基础知识要点,包括软件生命周期、过程成熟度级别、开发模型、开发方法、软件测试、项目管理(成本估算、进度管理、风险管理)以及软件质量特性,旨在为软考选择题提供复习重点。
57 2
|
自然语言处理 编译器 C语言
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(1)
语法分析阶段可以发现程序中的所有语法错误;编译正确的程序必然不包含语法错误;“除数为0”为动态语义错误,动态语义错误只有运行时才能发现。
151 0
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(1)
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(2)
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础
44 0
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(2)
|
算法 数据挖掘 数据库
[软件工程导论(第六版)]第5章 总体设计(复习笔记)
[软件工程导论(第六版)]第5章 总体设计(复习笔记)
|
算法 图计算
[软件工程导论(第六版)]第6章 详细设计(课后习题详解)
[软件工程导论(第六版)]第6章 详细设计(课后习题详解)
[软件工程导论(第六版)]第8章 维护(复习笔记)
[软件工程导论(第六版)]第8章 维护(复习笔记)
|
算法 数据库 开发者
[软件工程导论(第六版)]第3章 需求分析(复习笔记)
[软件工程导论(第六版)]第3章 需求分析(复习笔记)
|
自然语言处理
[软件工程导论(第六版)]第4章 形式化说明技术(复习笔记)
[软件工程导论(第六版)]第4章 形式化说明技术(复习笔记)
下一篇
无影云桌面