软件工程第八章知识点
- 格式:doc
- 大小:33.50 KB
- 文档页数:2
软件工程考核知识点-第8章-软件维护第8章软件维护软件投入使用后就进入软件维护阶段。
维护阶段是软件生存周期中时间最长的一个阶段,所花费的精力和费用也是最多的一个阶段。
8.1软件维护的内容软件维护内容有四种:校正性维护,适应性维护,完善性维护和预防性维护。
1.校正性维护在软件交付使用后,由于在软件开发过程中产生的错误并没有完全彻底的在测试中发现,因此必然有一部分隐含的错误被带到维护阶段来。
这些隐含的错误在某些特定的使用环境下会暴露出来。
为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。
校正性维护占整个维护工作的20%左右。
2.适应性维护随着计算机的飞速发展,计算机硬件和软件环境也在不断发生变化,数据环境也在不断发生变化。
为了使应用软件适应这种而修改软件的过程称为适应性维护。
这种维护活动占整个维护活动的25%。
3.完善性维护在软件漫长的运行时期中,用户往往会对软件提出新的功能要求与性能要求。
这是因为用户的业务会发生变化,组织机构也会发生变化。
为了适应这些变化,应用软件原来的功能和性能需要扩充和增强,为达到这个目的而进行的维护活动称为完善性维护,占整个维护活动的50%。
4.预防性维护为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。
这是为以后进一步的运行和维护打好基础,占整个维护工作的4%。
8.2 维护的特点8.2.1非结构化维护和结构化维护软件的开发过程对软件的维护过程有较大的影响。
若不采用软件过程的方法开发软件,则软件只有程序而无文档,维护工作非常难,这就是一种非结构化的维护。
若采用软件工程的方法开发软件,则各阶段都有相应的文档,这容易进行维护工作,这是一种结构化的维护。
1.非结构化维护因为只有源程序,而文档很少或没有文档,维护活动只能从阅读、理解、分析源程序开始。
这是软件工程时代以前进行维护的情况。
2.结构化维护用软件工程思想开发的软件具有各阶段的文档,这对于理解和掌握软件功能、性能、系统结构、数据结构、系统接口和设计约束有很大作用。
四年级软件工程下册第八单元总结1. 单元概述四年级软件工程下册第八单元主要介绍了软件工程的核心概念和方法,旨在帮助学生深入理解软件工程的基本原则,掌握软件开发过程中的关键环节,培养良好的软件工程实践习惯。
本单元涵盖了软件需求分析、软件设计、编码、测试和维护等方面的内容,通过理论讲解、实例分析和实践操作,使学生能够全面掌握软件工程的理论和实践技能。
2. 单元知识点2.1 软件需求分析软件需求分析是软件开发过程中的首要环节,主要任务是理解和收集用户需求,形成需求文档。
本单元介绍了需求分析的基本方法,包括调查法、观察法、访谈法和原型法等,并讲解了需求分析的基本步骤,包括需求收集、需求分析、需求规格化和需求验证等。
2.2 软件设计软件设计是软件开发过程中的关键环节,主要任务是根据需求分析结果,设计软件的总体结构和具体实现方案。
本单元介绍了软件设计的基本方法,包括结构化设计、面向对象设计和敏捷设计等,并讲解了设计的基本步骤,包括问题域分析、功能分析、结构分析和详细设计等。
2.3 编码编码是软件开发过程中的实现环节,主要任务是将设计好的软件方案转化为计算机可以理解的程序代码。
本单元介绍了编码的基本规范和技巧,包括编码风格、命名规则和编程习惯等,并讲解了常见编程错误和调试方法。
2.4 测试测试是软件开发过程中的验证环节,主要任务是检查软件的功能和性能是否满足需求分析中的规定。
本单元介绍了测试的基本方法,包括黑盒测试、白盒测试和灰盒测试等,并讲解了测试的基本步骤,包括测试计划、测试用例设计和测试执行等。
2.5 维护维护是软件开发过程中的持续环节,主要任务是修复软件在使用过程中发现的问题,优化软件性能,延长软件寿命。
本单元介绍了维护的基本方法和策略,包括错误修复、性能优化和功能扩展等,并讲解了维护的基本步骤,包括维护计划、维护实施和维护评估等。
3. 单元实践本单元要求学生通过实践操作,将所学的软件工程理论和方法应用于实际的软件开发过程中。
软件工程吴迪第八章课后答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】软件工程课后答案《软件工程》作业及答案1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
1-2假设你是一家软件公司的总工程师,当你把图给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
一、选择题1.下列耦合度表示中,最弱的耦合形式是( )。
A.特征耦合 B.公共耦合 C.数据耦合 D.数据结构2.一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于( )耦合。
A.数据型B、复合型C、内容型D、公共型3.PAD(Problem Analysis Diagram)图是一种( )工具。
A.系统描述 B.详细设计 C.测试 D.编程辅助4.下列系统设计工具中,( )不属于详细设计工具。
A.N—S图 B.数据流图 C.程序流程图 D.PAD 5.程序流程图、N-S图和PAD图是( )使用的表达工具。
A.设计阶段的概要设计B.设计阶段的详细设计C.编码阶段D.测试阶段二、填空题1.详细设计的任务是确定每个模块的内部特性,即模块的算法、。
2.是对软件结构中模快间关联程度的一种度量。
3.独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条的边的路径。
4.成本效益分析的目的是从角度评价开发一个项目是否可行。
三、应用题1.系统设计的内容是什么?答案:一、1.C 2.A 3.B 4.B 5.B二、1.使用的数据2.耦合度3.在其他独立路径中未有过4.经济三、1.系统设计阶段先从高层入手,然后细化。
系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。
(1)系统分解。
系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。
每次分解的各子系统数目不能太多,最底层子系统称为模块。
(2)确定并发性。
分析模型、现实世界及硬件中不少对象均是并发的。
系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。
后者可以放在一起,而综合成单个控制线或任务。
(3)处理器及任务分配。
各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。
一、选择
1、软件维护工作的最主要部分是(A )
A.改正性维护B.适应性维护
C.完善性维护D.预防性维护
2、软件维护工作中大部分的工作是由于(D )而引起的。
A.程序的可靠性 B.适应新的硬件环境
C.适应新的软件环境 D.用户的需求改变
3、在软件生存周期中,时间最长,所花费的精力和费用也最多的阶段是 B 。
A.详细设计 B.维护
C.概要设计 D.测试
4、修改软件以适应外部环境(新的硬件、软件配置)或数据环境(数据库、数据格式、数据输出/输入方式、数据存储介质)发生变化是指?( B )
A.改正性维护B.适应性维护
C.完善性维护D.预防性维护
5、软件的可维护性是评价软件质量的一个重要标准,下面关于提高软件可维护性的措施描述正确的有 A 。
(A)在进行需求分析的同时考虑维护问题
(B)设计时选择时间效率和空间效率尽可能高的算法
(C)提高程序可读性,尽量使用高级语言编程
(D)测试结束时,删除程序中的注解以缩短源程序长度
6、可维护性的特性中,相互矛盾的是 B 。
A.可理解性与可测试性 B.效率性和可修改性
C.可修改性和可理解性
D. 可理解性与可读性
7、各种软件维护的类型中最重要的是 A .
A.完善性维护 B.纠错性维护
C.适应性维护
D.预防性维护
8、软件维护困难的主要原因是 C 。
A.费用低 B.人员少
C.开发方法的缺陷
D.维护难
9、维护阶段的文档是 C 。
A.软件需求说明 B.操作手册
C.软件问题报告
D.测试分析
10、产生软件维护的副作用,是指 C 。
A.开发时的错误 B.隐含的挫样
C.因修改软件而造成的错误
D.运行时误操作
二、填空
1、在软件产品被开发出来并交付用户使用之后,就进入了软件的阶段。
(运行维护)3、软件生命周期的最后一个阶段是软件的阶段,也是持续时间最长、代价最大的一个阶段。
(维护)
2、软件工程的主要目的就是要提高软件的可性,减少软件所需要的工作量,降低软件系统的。
(维护,维护,总成本)
4、是影响软件可维护性的决定因素。
(文档)
5、实质上是软件再工程。
(预防性维护)
6、维护可分为____,____,____,____四类。
(改正性维护;适应性维护;完善性维护;预防性维护)
三、简答
1、决定软件可维护性的因素有哪些?
答:(1)可理解性
(2)可测试性
(3)可修改性
(4)可移植性
(5)可重用性
2、软件维护过程包括哪些方面?
答:(1)维护组织
(2)维护报告
(3)维护事件流
(4)保护维护记录
(5)评价维护活动
3、软件维护的定义和特点?
答:定义:所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
特点:(1)结构化维护与非结构化维护差别巨大
(2)维护的代价高昂
(3)维护的问题很多
4、修改性维护与排错是否是一回事?为什么?
答案:修改性维护与排错不是一回事,改正性维护是对软件投入运行后,暴露出的一部分在测试阶段没有发现的错误,对软件进行的修改的过程。
排错是错误发现后,对错误定位,然后修改程序的过程。
前者是一种维护过程,而后者是维护过程中的一个步骤。
5、影响软件可维护性的主要因素有哪些?你认为的途径是什么?
答案:软件系统的维护,必须是软件是可以维护的,要使得软件可以维护,必须保证软件的可维护性。
软件的可维护性是指理解,改正,改动,改进软件的难易程度。
它受三各方面的影响:即软件的可理解性,可测试性,可修改性。
解决软件可维护性还有两个关键的问题:软件系统必须要有完整,详细的文档资料;并且要在系统开发中采用软件模块化,结构化设计,使用合适的程序语言,注意程序风格等。