扫一扫二维码
进群一起备考
查看更多当前 - 案例分析 - 软件工程
简单
案例题
2014年5月第4题
简单
案例题
2014年5月第4题
#第二版教材
#必须掌握
某企业经过多年的信息化建设,存在大量的应用软件系统,为了保证这些系统的运行与维护,专门组建应用系统维护部门。该部门的主要工作是保证系统的正常运行、处理问题以及扩展这些应该系统的功能,以满足企业业务功能的变化与扩展。
目前该部门存在人员流失、变更频繁,文档丢失或长期失于维护,维护成本愈来愈高等问题,具体表现为:
问题(1):随着时间和人员的变动,程序被多人修改,往往导致程序难以理解,注释混乱,流程复杂;
问题(2):随着不断修改程序和增加新的功能,模块之间的耦合关系日益复杂,维护成本不断增加。
这些问题导致新来的维护人员需要直接面对大量流程、结构复杂的源程序,维护困难,往往一次改动需要设计大量的软件模块。
为解决应用系统维护部门面对的问题,企业信息部门组织了专门的专家讨论会。各位专家一致认为,逆向工程与重构工程是目前预防性维护采用的主要技术,应该采用逆向工程的技术方法,重构相关应用系统文档,同时采用软件重构来降低软件代码的复杂性,最终降低维护成本。
分值(8分)
软件的逆向工程是分析已有程序,寻求比源代码更高级的抽象表现形式。与之相关的概念包括软件重构、设计恢复、重构工程等。请说明设计恢复中常见的恢复信息的4种级别。
参考答案
(1)实现级:过程的设计模型。
(2)结构级:程序和数据结构信息。
(3)功能级:对象模型、数据和控制流模型。
(4)领域级:UML状态图和部署图。
凯恩解析
设计恢复是逆向工程的核心活动,其目标是从已有源代码中提取出比代码层次更高的抽象模型,使维护人员能更快理解系统。
- 实现级:主要恢复算法流程、局部过程逻辑、变量作用域等,帮助维护人员理解程序的基本实现思路。
- 结构级:上升到程序整体层次,包含模块结构、调用关系、数据结构设计,相当于重建软件体系结构蓝图。
- 功能级:以用户需求为导向,恢复对象模型、控制流图、数据流图,揭示系统在业务逻辑上的处理过程,是联系代码与需求的桥梁。
- 领域级:最高层次的恢复,利用 UML 状态图、部署图、业务流程模型等,建立系统与业务领域的对应关系,使维护能从业务抽象层面切入。