软件工程各章作业习题的名词解释和问答题参考答案
《软件工程》各章课后习题答案
《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。
课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。
下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。
每个模型都有其独特的特点和适用场景。
4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。
2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。
软件工程问答题答案(仅供参考)(精品)
软件工程问答题答案(仅供参考)(精品)软件工程问答题答案(仅供参考)(精品)软件工程是指通过计算机科学与工程学的原理、方法和工具来开发和维护软件的一门学科。
在软件工程领域,存在着许多关键问题和常见的问答题。
本文将为你提供一些常见软件工程问答题的答案,希望能够帮助你更好地理解和应用软件工程的知识。
1. 什么是软件需求工程?软件需求工程是软件工程中的一个重要领域,它关注的是对用户需求进行分析、规范和管理,以便于软件系统的开发和交付。
软件需求工程包括可行性研究、需求获取、需求分析、需求规格说明和需求验证等过程。
2. 请解释软件配置管理是什么?软件配置管理是指通过管理软件系统中的各种配置项和配置变更,以确保软件系统的正确、完整和可追踪。
它包括配置项识别、变更控制、版本控制、配置库管理等活动,旨在提高软件开发和维护过程的可控性和可靠性。
3. 请介绍软件测试的目的和重要性。
软件测试的目的是发现软件系统中的错误、缺陷和潜在问题,以便在软件交付之前进行修复和改进。
软件测试的重要性在于可以提高软件系统的质量和可靠性,降低软件使用过程中的风险和损失。
4. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。
它描述了软件系统中各个组件之间的关系和交互,以及软件系统的总体设计原则和理念。
软件架构可以帮助团队成员理解和沟通软件系统的设计和实现。
5. 请解释敏捷开发方法。
敏捷开发方法是一种以迭代、循环和适应性为核心的软件开发方法。
它强调团队合作、快速反馈和不断改进,在不断变化的需求环境下能够更加灵活地开发和交付高质量的软件系统。
6. 请介绍软件项目管理的过程和技术。
软件项目管理包括项目计划、项目组织、项目监控和项目交付等过程。
它涉及到时间管理、成本管理、风险管理、质量管理等技术和工具,以确保软件项目能够按时、按量和按质完成。
7. 请解释软件工程中的代码重构。
代码重构是指在不改变软件系统外部行为的前提下,通过对代码的重新组织和调整来改进软件系统的内部质量和可理解性。
软件工程―名词解释
全国 2010年 10月三、名词解释题 (本大题共 5小题,每小题 3分,共 15分1. 软件生存周期模型答案:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
(1分软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则, (1分确立开发过程所遵守的规定和限制, 便于各种活动的协调以及各种人员的有效通信, 有利于活动重用和活动管理。
(1分2. 模块答案:模块在程序中是数据说明、可执行语句等程序对象的集合, 或者是单独命名和编址的元素,如高级语言中的过程、函数和子程序等。
(2分在软件的体系结构中,模块是可组合、分解和更换的单元。
(1分3. 可维护性答案:软件可维护性是指软件能够被理解、校正、适应及增强功能的容易程度。
(2分可维护性可用 7个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
(1分4. 继承性答案:继承性是子类自动共享父类数据结构和方法的机制, 这是类之间的一种关系。
(2分在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
(1分5. 投资回收期答案:投资回收期是衡量一个开发工程价值的经济指标。
(1分投资回收期就是积累的经济效益等于最初的投资所需要的时间。
(2分全国 2010年 1月31.软件工程过程 :即软件生命周期的方法、工具和概念32.模块化 :模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程, 有多种属性, 分别反映其内部特性 . 每个模块完成一个特定的子功能, 所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能33.集成测试 :集成测试,也叫组装测试或联合测试。
在单元测试的基础上,将所有模块按照设计要求 (如根据结构图组装成为子系统或系统, 进行集成测试。
34.软件可靠性 :(1在规定的条件下,在规定的时间内,软件不引起系统失效的概率; (2在规定的时间周期内,在所述条件下程序执行所要求的功能的能力;35.模块的控制范围2008年 10月1. 过程设计语言 (PDL答案:也称程序描述语言, 又称为伪码, 是一种用于描述模块算法设计和处理细节的语言。
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
软件工程概论第一次作业
第一章《软件工程概述》作业一、名词解释1.软件2.软件危机3.软件工程4.软件生存周期5.软件过程模型二、填空题1、在信息处理和计算机领域内,一般认为软件是、和。
2、软件生产的发展经历了时代、时代和时代,各时代的生产方式分别是、和。
3、软件生存周期的8个阶段分别是、、、、、、、。
4、软件工程是利用工程化的原理和方法来进行、和软件的一门学科。
5、描述软件开发过程中各种活动如何执行的模型称为模型。
6、瀑布模型适应需求可变的软件开发,只有到才能见到整个软件系统。
7、软件产品的生产主要是研制,软件产品的成本主要体现在上。
8、软件工程面临的问题有、、、。
三、单项选择题1、软件文档是【】。
A.程序B.工具C.文书和资料D.数据2、软件是一种【】性工业产品A.理论B.知识(或逻辑)C.消耗D.物资3、与计算机科学的理论研究不同,软件工程是一门【】的学科。
A.理论性 B.工程性 C.原理性 D.心理性4、软件工程与计算机科学的性质不同,软件工程着重于【】。
A.理论研究 B.建造软件系统 C.原理探讨 D.原理的理论5、软件工程学科出现的直接原因是【】。
A.计算机的发展 B.其它工程学科的影响C.软件危机的出现D.程序设计方法学的影响6、软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,以期达到的最终目标是【】。
A.软件开发工程化 B.消除软件危机C.实现软件可重用D.程序设计自动化7、由于软件生产的复杂性和高成本,使大型软件的生成出现危机,软件危机的主要表现包括了下述【】方面。
①生产成本过高②需求增长难以满足③进度难以控制④质量难以保证A.①② B.②③ C.④ D.全部8、软件的主要结构和功能是在【】阶段决定的。
A.分析设计B.编程C.测试D.维护9、有关计算机程序功能、设计、编制、使用的文字或图形资料称为【】。
A.软件B.文档C.程序D.数据10、软件生成周期模型有多种,下列选项中,【】不是软件生存周期模型。
软件工程各章作业习题的名词解释和问答题参考答案
软件工程各章作业习题的名词解说和问答题参照答案第一章:1:什么是软件危机开发软件因为管理杂乱,加入软件规模愈来愈大,愈来愈复杂,造成软件开发失败。
2:软件工程过程指获得、供给、开发、操作和保护软件时要实行的过程、活动和任务。
3:软件生成周期可行性研究与计划、需求剖析、整体设计、详尽设计、实现、测试、使用与保护4:有哪些软件周期模型瀑布模型、原型模型、增量模型、螺旋模型。
5:软件计算机程序及说明程序的各样文档6:个体手工劳动个人编写程序7:小生产合作方式多人编写程序8:软件的特色是一种逻辑产品,软件的生产主假如研制,软件产品不会用坏,软件生产主假如脑力劳动,软件的成本高。
9:软件文档有关程序的功能、设计、图形资料等等。
第二章:三.名词解说1.可行性研究以最小代价 ,在尽可能短的时间内,确立该软件项目能否能够开发,能否值得开发.2.技术可行性主要研究开发的软件技术风险有多大3.经济可行性主要研究开发成功后可否获得应有的效益4.社会可行性主要研究开发的软件能否存在责任和侵权 , 以及与目前管理制度 , 人员素质 , 操作方式的矛盾可否解决 .四. 问答题1.可行性研究的任务是什么 ?第一初步确立项目的规模,目标,拘束和限制条件,决定系统的主要功能,进行简要压缩 ,提出几种解决方案. 对每种方案提出建议.2.可行性研究有那些步骤 ?确立任务;剖析技术可行性;剖析经济可行性;剖析社会可行性;作出系统流程图;作出开发计划。
3.可行性研究的目的 .减少开发大型软件的风险,缩短开发周期 , 减小投资 , 减少使用资源 , 在尽可能短的时间内 , 确立该软件项目能否能够开发 , 能否值得开发 .第三章三.名词解说1.需求剖析指开发人员为了正确地理解 , 表达用户的要求 , 经过检查 , 剖析 , 把系统的功能 , 性能等方面正确地表达出来2.DFD数据流图四.简答题1.什么是需求剖析 ? 该阶段的基本任务是什么 ?指开发人员为了正确地理解 , 表达用户的要求 , 经过检查 , 剖析 , 把系统的功能 , 性能等方面正确地表达出来基本任务:(1)能够表达和理解问题的功能和性能;(2)能够把一个复杂问题按某种方式进行区分,并能逐渐细化,进而使复杂问题简化, 软件的功能域 , 数据域都能够区分 ;(3)成立模型 .2.简述结构化剖析的步骤这一方法的基本思想是采纳自顶向下 , 逐层分解的方法剖析整个系统 , 有效的控制系统的复杂性 .关于复杂 , 规模大的应用系统 , 采纳先抽象后详细 , 先全局后局部的思想 , 有益于掌握系统的整体目标 , 结构和功能 .第四章:三.名词解说1.软件设计确立软件结构,选择好的数据库,进行数据结构设计2.模块化把复杂问题区分为模块的过程3.信息隐蔽指模块内部办理细节和内部数据用某种手段隐蔽起来,外面模块不可以随意接见4.模块独立性希望一个模块越独立越好,每个模块达成独立的功能,与其余模块联系越少越好5.耦合性指软件结构中模块之间互相依靠的程度6.内聚性模块内部各部分履行功能组合在一同的有关程度7.模块的控制范围一个模块对部下模块的控制8.模块的作用范围指模块之间的作用,但两个模块间是平级的9.软件结构以需求剖析文档为依照,解决实现软件系统结构四.简答题1.什么是软件纲要设计 , 该阶段的基本任务是什么 ?以需求剖析文档为依照,解决实现软件系统结构。
软件工程课后习题(含答案)
第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
软件工程名词解释(参考模板)
名词解释1.软件测试(第8章)2.静态测试(第8章)3.动态测试(第8章)4.黑盒测试(第8章)5.白盒测试(第8章)6.语句覆盖(第6章)7.判定覆盖(第6章)8.条件覆盖(第6章)9.判定/条件覆盖(第6章)10.条件组合覆盖(第6章)11.路径覆盖(第6章)12.测试用例(第8章)13.驱动模块(第6章)14.桩模块(第6章)15.单元测试(第8章)16.集成测试(第8章)17.确认测试(第8章)18.渐增式测试(第8章)19.非渐增式测试(第8章)20.调试(第9章)21.人的因素的含义(第11章)22.基线(第12章)23.软件配置管理(第12章24.软件配置项(第12章)25. 软件概要设计(第5章)26. 模块(第5章)27. 模块化(第5章)28. 抽象(第5章)29. 信息隐蔽(第5章)30. 模块独立性(第5章)31. 耦合性(第5章)32. 无直接耦合(第5章)33. 数据耦合(第5章)34. 标记耦合(第5章)35. 控制耦合(第5章)36. 公共耦合(第5章)37. 内容耦合(第5章)38. 内聚性(第5章)39. 偶然内聚(第5章)40. 逻辑内聚(第5章)41. 时间内聚(第5章)42. 通信内聚(第5章)43. 顺序内聚(第5章)44. 功能内聚(第5章)45. 软件结构图(第5章)46. 结构化设计(第5章)47. 变换流(第6章)48. 事务流(第6章)49. JSP(第6章)50. JSD(第6章)答案:1. 软件测试指为了发现软件中的错误而执行软件的过程。
它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
2. 静态测试指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
3. 动态测试指通过运行程序发现错误。
4. 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
软件工程答案
软件工程第一章作业1.1什么是计算机软件?软件的特点是什么?答:计算机软件指计算机系统中的程序及其文档。
软件的特点是:A 软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以精确得估算;B 软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;C 软件的运用没有硬件那样的机械磨损和老化问题。
1.2 简述软件的分类,并举例说明。
答:在《计算机科学技术百科全书》中,将软件分为系统软件、支撑软件和应用软件3类。
A 系统软件:系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。
系统软件和详细的应用领域无关。
例如:编译程序、操作系统等。
B 支撑软件:支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统、网络软件、软件工具、软件开发环境等。
C 应用软件:应用软件是特定应用领域专用的软件。
例如:工程/科学计算软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
1.4 什么是软件工程?答:在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
1.5 简述软件工程的基本原则。
答:软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:第一条:围绕适宜的开发模型;其次条:接受合适的设计方法;第三条:供应高质量的工程支撑;第四条:重视软件工程的管理。
1.6 软件生存周期分哪几个阶段?分别简述各个阶段的任务。
答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。
A计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件和其他计算机系统元素之间的关系,进行成本估算,做出进度支配,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。
B需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。
软件工程答案
1. “软件危机”是指( )A. 计算机病毒的浮现B. 利用计算机进行经济犯罪活动C. 软件开辟和维护中浮现的一系列问题D. 人们过分迷恋计算机系统2. DFD 中的每一个加工至少需要( )A. 一个输入流B. 一个输出流C. 一个输入或者输出流D. 一个输入流和一个输出流3. 为了提高模块的独立性,模块之间最好是( )A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合4. 下面关于 PDL 语言不正确的说法是( )A. PDL 是描述处理过程怎么做B. PDL 是只描述加工做什么C. PDL 也称为伪码D. PDL 的外层语法应符合普通程序设计语言常用的语法规则5. 详细设计与概要设计衔接的图形工具是( )A. DFD 图B. 程序图C. PAD 图D. SC 图6. 不适合作为数据处理与数据库应用的语言是( )A. SQLB. CobolC. 4GLD. Lisp7. 下列关于功能性注释不正确的说法是( )A. 功能性注释嵌在源程序中,用于说明程序段或者语句的功能以及数据的状态B. 注释用来说明程序段,需要在每一行都要加注释C. 可使用空行或者缩进,以便很容易区分注释和程序D. 修改程序也应修改注释8. 下列关于效率的说法不正确的是( )A. 效率是一个性能要求,其目标应该在需求分析时给出B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法C. 效率主要指处理机时间和存储器容量两个方面D. 程序的效率与程序的简单性无关9. 测试的关键问题是( )A. 如何组织对软件的评审B. 如何验证程序的正确性C. 如何采用综合策略D. 如何选择测试用例10. 结构化维护与非结构化维护的主要区别在于( )A. 软件是否结构化B. 软件配置是否完整C. 程序的完整性D. 文档的完整性11. 软件维护艰难的主要原因是( )A. 费用低B. 人员少C. 开辟方法的缺陷D. 得不到用户支持12. 可维护性的特性中,相互矛盾的是( )A. 可理解性与可测试B. 效率与可修改性C. 可修改性和可理解性D. 可理解性与可读性13. 快速原型是利用原型辅助软件开辟的一种新思想,它是在研究( )的方法和技术中产生的。
软件工程课后题答案大全(详细)
软件工程习题解答第一章概述1.软件产品的特性是什么?a.软件产品是一种逻辑产品。
b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。
c.软件产品不会用坏,不存在磨损、消耗问题。
d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。
e.软件费用不断增加,成本相当昂贵。
2.软件产品有几个阶段?各有何特征?阶段 A.程序设计时代(1946-1956) B.程序系统时代(1956-1968) C.软件工程时代(1968-今)生产方式个体手工劳动作坊式小集团合作生产工程化的生产工具机器语言、汇编高级语言数据库、开发工具、开发环境、网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运行效率个人技巧,开始提出结构化方法硬件特征价格贵、存储容量小、运行可靠性差速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长向超高速、大容量、微型化以及网络化方软件特征只有程序、程序设计概念,不重视程序设计方法程序员数量猛增,已意识到软件开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产生开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。
一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。
b.开发的软件不通满足用户要求。
c.开发的软件可维护性差。
d. 开发的软件可靠性差。
软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。
软件工程课后参考题答案
软件⼯程课后参考题答案第⼀章课后参考答案1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的⼀系列“严重问题”。
这些问题决不仅仅是不能正常运⾏的软件才具有的,实际上,⼏乎“所有软件”都不同程度地存在这些问题。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)⽤户对“已完成的”软件系统不满意的现象经常发⽣;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的⽂档资料;(6)软件成本在计算机系统总成本中所占的⽐例逐年上升;(7)软件开发⽣产率提⾼的速度,远远跟不上计算机应⽤普及深⼊的趋势。
出现软件危机的主要原因(1)与软件本⾝的特点有关(2)与软件开发和维护过程中使⽤的⽅法不正确有关2.假设⾃⼰是⼀家软件公司的总⼯程师,当把图1.1给⼿下的软件⼯程师们观看,告诉他们及时发现并改正错误的重要性时,有⼈不同意这个观点,认为要求在错误进⼊软件之前就清楚它们是不现实的,并举例说:“如果⼀个故障是编码错误造成的,那么,⼀个⼈怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进⾏修改付出的代价是很不相同的,在早期引⼊变动,涉及的⾯较少,因⽽代价也⽐较低;在开发的中期,软件配置的许多成分已经完成,引⼊⼀个变动要对所有已完成的配置成分都做相应的修改,不仅⼯作量⼤,⽽且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”时在引⼊变动,当然付出的代价更⾼。
⼀个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很⼩的,因为这不是整体构架的错误。
3.什么是软件⼯程?它有哪些本质特征?怎么⽤软件⼯程消除软件危机?软件⼯程是指导知道计算机软件开发和维护的⼀门⼯程学科。
采⽤⼯程的概念、原理、技术和⽅法来开发与维护软件,把经过时间考验⽽证明正确的管理技术和当前能够得到的最好技术⽅法结合起来,以经济地开发出⾼质量的软件并有效地维护它,这就是软件⼯程。
软件工程简答题名词解释
一、名词解释题软件生命周期:软件生命周期是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段灰盒测试:可以理解为静态的白盒测试或动态的黑盒测试,灰盒就是界于黑白之间, 对软件内部有所了解, 但不见得到了如指掌的程度, 却可以结合这些了解做些比黑盒多点的测试驱动模块(Drive):驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。
它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果QA:中文意思是品质保证软件测试:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程CMM:能力成熟度模型,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述软件质量:反映软件系统或软件产品满足明确或隐含需求的能力有关的特性总和等价类划分:等价类划分是一种典型的黑盒测试方法。
使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例集成测试:将一些“构件”集成一起时,测试它们能否正常运行。
这里“构件”可以是程序模块、客户机-服务器程序等等黑盒测试:指测试人员通过各种输入和观察软件的各种输出结果来发现软件的缺陷,而不关心程序具体如何实现的一种测试方法回归测试:指错误被修正后或软件功能、环境发生变化后进行的重新测试。
回归测试的困难在于不好确定哪些内容应当被重新测试四、简答题1、软件测试员的目标是什么?软件测试员的目标是找出软件缺陷,尽可能早一些,并确保得以修复。
2、软件测试的目的是什么?软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望做的事情,另一方面是确认软件以正确的方式来做了这个事情。
第二是提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息。
第三软件测试的目的是保证整个软件开发过程是高质量的。
软件工程习题答案
软件⼯程习题答案第1章软件⼯程概述参考答案⼀. 选择题1. B2. A3. B4. B5. D6. B7. D8. A9. D⼆. 填空题1. 设计编码测试2. 软件费⽤可靠性可维护性可重⽤性及⽣产率等3. 计算机软件开发和维护4. 分解抽象和信息隐蔽⼀致性确定性5. 软件的总⽬标待开发软件的需求6. ⼆三7. 计划阶段开发阶段维护阶段8. 软件需求明确9. 制定计划风险分析开发实施⽤户评估三. 名词解释1. 软件的定义如下:在运⾏中能提供所希望的功能和性能的指令集,使程序能正确运⾏的数据结构,描述程序研制过程和⽅法所⽤的⽂档。
2. 软件⼯程是指导计算机软件开发和维护的⼀门学科。
3. 软件危机指的是软件开发和维护过程中遇到的⼀系列严重问题。
4. 就是从提出软件产品开始,直到该软件产品被淘汰的全过程。
5. 瀑布模型⼜称⽣存周期模型,由B.M.Boehm提出,是软件⼯程的基础模型。
其核⼼思想是按⼯序将问题化简,将功能的实现与设计分开,便于分⼯协作。
6. 螺旋模型将瀑布模型与演化模型结合起来,并且加⼊两种模型均忽略了的风险分析,弥补了两者的不⾜。
四. 简答题1. 软件既是知识产品,⼜是与汽车,建筑物⼀样的⼯业产品,此外,软件还具有类似艺术,学术那样的知识性创造和特点,软件的特点如下:软件是⼀种逻辑实体,⽽不是具体的物理实体,因⽽它具有抽象性;软件是通过⼈们的智⼒活动,把知识与技术转化成信息的⼀种产品,是在研制、开发中被创造出来的;在软件的运⾏和使⽤期间,没有硬件那样的机械磨损、⽼化问题;软件的开发和运⾏经常受到计算机系统的限制,对计算机系统有着不同程度的依赖关系;软件的开发尚未完全摆脱⼿⼯的开发⽅式;软件的开发费⽤越来越⾼,成本相当昂贵;软件的开发是⼀个复杂的过程,因⽽管理是软件开发过程中必不可少的內容。
2. 软件危机主要表现如下:产品不符合⽤户的实际需要;软件开发⽣产率提⾼的速度远远不能满⾜客观需要,软件的⽣产率远远低于硬件⽣产率和计算机应⽤的增长速度,使⼈们不能充分利⽤现代计算机硬件提供的巨⼤潜⼒;软件产品的质量差;对软件开发成本和进度的估计常常不准确;软件的可维护性差;软件⽂档资料通常既不完整也不合格;软件的价格昂贵,软件成本在计算机系统总成本中所占的⽐例逐年上升。
软件工程-名词解释应用题汇总带答案
三、简答题(每题5分,共25分)1.分析软件危机产生的主要原因有哪些?答:导致软件危机的主要原因有:(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加1 个要点1分,只要答上5个要点得5分!2.说明结构化程序设计的主要思想是什么?答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。
(3分)3.软件测试包括哪些步骤?说明这些步骤的测试对象是什么?答:(1)单元测试,测试对象对单元模块(2分)(2)集成测试,测试对象为组装后的程序模块(2分)(3)确认测试,测试对象为可运行的目标软件系统(1分)4.需求分析与软件设计二个阶段任务的主要区别是什么?答:需求分析定义软件的用户需求,即定义待开发软件能做什么(2.5分)软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。
(2.5分)5、简述文档在软件工程中的作用。
(5分)(1)提高软件开发过程的能见度(1分)(2)提高开发效率、便于用户了解软件功能、性能(1分)(3)作为开发人员阶段工作成果和结束标志(1分)(4)记录开发过程的有关信息便于使用与维护(1分);(5)提供软件运行、维护和培训有关资料;(1分)四、某培训中心要研制一个计算机管理系统。
它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。
1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
1.对以上问题画出数据流程图。
2.画出该培训管理的软件结构图的主图。
软件工程名词解释和简答题
1.软件工程。
是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
…2.数据流图:数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。
3.模块:是数据说明、可执行语句等程序对象的集合,模块可以单独被命名、而且可通过名字来访间。
4.白盒测试法:白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
5.耦合性:也称为模块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
模块间耦合高低取决于模块间接口的复杂性]调用的方法及传递的信息。
软件危机:是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
计算机软件:与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。
或软件=程序+数据+文档。
UML:统一建模语言,是面向对象软件的标准化建模语言。
1、什么是软件危机?为什么会产生软件危机答:(1)软件危机是指软件在开发和维护过程中遇见的一系列严重问题,主要包含二方面的问题,一是如何开发利用软件,二是如何维护数量不断膨胀的已有软件。
(2)产生软件危机的原因:一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。
2、简述结构化程序设计方法的基本要点。
答:(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(2分)()采用主程序员的组织形式。
1分)3.简述软件工程的目标和面临的主要问题答:软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。
软件工程的简答和名词解释
简答和名词解释:1、可行性研究的内容(四个方面):1. 技术可行性使用现有的技术能实现这个系统吗?分析技术冒险的各种因素,例如有关的技术是否已进步到足以支持该系统?能否有胜任开发该系统的熟练技术人员?为开发项目的所有硬、软件资源是否能按期得到?2.经济可行性这个系统的经济效益能超过它的开发成本吗?主要进行成本/效益分析.估算项目的开发成本会否高于预期的利润,以确定是否值得投资开发,同时还要分析对其他产品所带来的经济影响。
3.操作可行性系统的操作方式在这个用户组织内行得通吗?4.法律可行性确定由于开发软件项目是否会侵犯他人、集体或国家的利益,是否会违反国家的法律,并由此承担法律责任。
2、模块化和信息隐藏模块化“模块”,又称“构件”,一般指用一个名字可调用的一段程序。
类似于高级语言中的procedure(过程)、function(函数)、subroutine(子程序)、section(节)、block(块)等。
设计中可以选择其它程序已编写好的模块,其本身也可供其它程序使用。
它一般具有如下四个基本属性:①接口:指模块的输入与输出。
②功能:指模块实现的功能。
注意这里所说的模块功能,应该是模块本身的功能加上它所调用的所有子模块的功能。
③逻辑:描述内部如何实现要求的功能及所需的数据。
④状态:该模块的运行环境,即模块的调用与被调用关系。
模块化:就是对一个复杂的问题,自顶向下、逐层把软件系统划分成若干模块的过程。
每个模块完成一个子功能,再按某种方法把这些模块组装起来,成为一个整体,即可完成指定的系统功能,满足问题要求的过程。
3、扇入扇出扇出是对由某一模块直接控制的模块数目的度量。
扇入指出有多少个模块直接控制一个给定的模块。
♠扇出 = 一个模块直接调用、控制的模块数。
3 ≤ fan-out ≤ 9♠扇入 = 直接调用该模块的模块数在不破坏独立性的前提下,fan-in 大的比较好。
♠深度 = 分层的层数。
过大表示分工过细。
软件工程课后答案(考试重点)
习题一名词解释:软件:是计算机系统运行的指令、数据和资料的集合,包括指令程序、数据、相关文档和完善的售后服务。
软件工程:是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。
软件生命周期:是指从提出开发软件产品开始,直到软件报废为止的全过程。
软件生命周期具体包括软件定义、开发和运行三个阶段。
P224、什么是软件危机?如何消除软件危机?答:所谓软件危机,就是指在软件开发和软件维护过程中所存在的一系列严重问题。
消除途径主要有以下几个:(1)理解软件的概念,软件是程序、数据及相关文档的完整集合。
(2)应该推广使用在实践中总结出来的开发软件的成功技术和方法。
(3)应该开发和使用更好的软件工具。
(4)尽量减少软件维护的代价,提高软件的可维护性,这也是软件工程学的一个重要目标。
7、什么是软件生命周期?软件生命周期主要包括哪些阶段?答:软件生命周期是指从提出开发软件产品开始,直到软件报废为止的全过程。
具体包括软件定义、开发和运行三个阶段,每个阶段又可进—步划分成若干个子阶段。
软件定义阶段进一步划分成两个阶段,即软件开发计划(包括问题定义、可行性研究)和需求分析。
定义阶段是对软件进行一个初步的分析,确定软件要完成的总目标,确切回答系统―要解决的问题是什么‖这一问题。
软件开发阶段由四个阶段组成:概要设计、详细设计、编码和测试。
其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
运行阶段包括检验、交付与维护阶段,他们的主要任务是使软件持久地满足用户的需要。
9、常见的软件过程模型有几个?都有什么特点?说明每种模型的适用范围。
答:略习题二1. 简述问题定义的步骤?答:问题定义步骤如下:首先,明确系统目标规模和基本要求。
系统分析员针对用户的要求做出详细的调查研究,认真听取用户对问题的介绍,阅读与问题相关的资料,深入现场,调查开发系统的背景,了解用户对开发的要求。
其次,分析现有系统,设计可能方案。
最后,与用户反复讨论,写出双方认可的问题定义报告。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程各章作业习题的名词解释和问答题参考答案第一章:1:什么是软件危机开发软件由于管理混乱,加入软件规模越来越大,越来越复杂,造成软件开发失败。
2:软件工程过程指获取、供应、开发、操作和维护软件时要实施的过程、活动和任务。
3:软件生成周期可行性研究与计划、需求分析、总体设计、详细设计、实现、测试、使用与维护4:有哪些软件周期模型瀑布模型、原型模型、增量模型、螺旋模型。
5:软件计算机程序及说明程序的各种文档6:个体手工劳动个人编写程序7:小生产合作方式多人编写程序8:软件的特点是一种逻辑产品,软件的生产主要是研制,软件产品不会用坏,软件生产主要是脑力劳动,软件的成本高。
9:软件文档有关程序的功能、设计、图形资料等等。
第二章:三. 名词解释1.可行性研究以最小代价, 在尽可能短的时间, 确定该软件项目是否能够开发, 是否值得开发.2.技术可行性主要研究开发的软件技术风险有多大3.经济可行性主要研究开发成功后能否得到应有的效益4.社会可行性主要研究开发的软件是否存在责任和侵权, 以及与当前管理制度, 人员素质, 操作方式的矛盾能否解决.四.问答题1. 可行性研究的任务是什么?首先初步确定项目的规模, 目标, 约束和限制条件, 决定系统的主要功能, 进行简要压缩, 提出几种解决方案.对每种方案提出意见.2.可行性研究有那些步骤?确定任务;分析技术可行性;分析经济可行性;分析社会可行性;作出系统流程图;作出开发计划。
3.可行性研究的目的.减少开发大型软件的风险,缩短开发周期, 减小投资, 减少使用资源, 在尽可能短的时间, 确定该软件项目是否能够开发, 是否值得开发.第三章三. 名词解释1. 需求分析指开发人员为了准确地理解, 表达用户的要求, 通过调查, 分析, 把系统的功能, 性能等方面准确地表达出来2. DFD数据流图四.简答题1.什么是需求分析? 该阶段的基本任务是什么?指开发人员为了准确地理解, 表达用户的要求, 通过调查, 分析, 把系统的功能, 性能等方面准确地表达出来基本任务:(1) 能够表达和理解问题的功能和性能;(2) 可以把一个复杂问题按某种方式进行划分, 并能逐步细化, 从而使复杂问题简化,软件的功能域,数据域都可以划分;(3) 建立模型.2. 简述结构化分析的步骤这一方法的基本思想是采用自顶向下,逐层分解的方法分析整个系统,有效的控制系统的复杂性.对于复杂, 规模大的应用系统,采用先抽象后具体, 先全局后局部的思想,有利于把握系统的总体目标, 结构和功能.第四章:三. 名词解释1. 软件设计确定软件结构,选择好的数据库,进行数据结构设计2.模块化把复杂问题划分为模块的过程3.信息隐蔽指模块部处理细节和部数据用某种手段隐蔽起来,外部模块不能随便访问4.模块独立性希望一个模块越独立越好,每个模块完成独立的功能,与其他模块联系越少越好5.耦合性指软件结构中模块之间相互依赖的程度6.聚性模块部各部分执行功能组合在一起的相关程度7.模块的控制围一个模块对下属模块的控制8.模块的作用围指模块之间的作用,但两个模块间是平级的9. 软件结构以需求分析文档为依据,解决实现软件体系结构四.简答题1.什么是软件概要设计, 该阶段的基本任务是什么?以需求分析文档为依据,解决实现软件体系结构。
基本任务:确定软件结构,分解各部分的模块,确定模块的功能,调用关系及接口信息,将用户的需求分配到适当的位置上,得出系统的模块层次结构。
2.软件设计的基本原理包括那些容?模块与模块化;抽象;信息隐蔽;模块独立性3.模块的耦合性, 聚性包括那些容? 其含义耦合性:无直接耦合(模块之间无直接联系);数据耦合(模块间传递数据);标记耦合(模块间传递数据结构和地址)控制耦合(模块间传递控制变量)公共耦合(模块间通过公共关系传递)容耦合(一个模块与另一个模块部数据有关)聚性:功能聚(仅完成一个功能的各成分组合在一起)顺序聚(与同一功能相关的且按顺序执行的各成分组合在一起)通信聚(在同一数据结构上操作的各成分组合在一起)时间聚(同一时间执行的各成分组合在一起)逻辑聚(逻辑上相似的各成分组合在一起)偶然聚(将语句和程序段随意地组合在一起,他们之间无任何联系)4.简述软件结构设计优化准则(1)划分模块时,尽量做到模块部高聚,模块之间低耦合,保持模块相对独立性。
(2)一个模块的作用围应该在自己的扩展围。
(3)软件结构的深度,宽度应适当。
(4)模块的大小要适中(5)模块的接口要简单、清晰,传递的参数数量不能太多,类型不要太复杂。
第五章:三.名词解释1 详细设计是解决如何实现具体的每个模块功能,涉及每个模块的处理过程,构造其实现算法。
2. 结构化程序设计设计容易理解,容易验证的程序。
四. 问答题1详细设计的基本任务是什么?设计算法,设计数据库,对某些固定的数据值进行代码设计,对界面及输入输出格式设计。
2结构化程序设计方法的基本要点是什么?使用顺序,选择,循环三种基本控制结构自顶向下,逐步求精的构造算法或程序。
3.详细设计主要使用那一个描述工具? 其特点?工具:结构化程序设计特点:首先考虑程序完成的主要功能的步骤;要考虑判断处理和重复处理的问题;考虑数据对程序的影响;三种基本控制结构只能按顺序出现或完整嵌套,不能出现相互交叉的情况。
第六章三. 名词解释1. 编码编程序2. 程序设计风格指人们编程的习惯特点四. 简答题1. 在项目开发时, 选择程序设计语言通常考虑那些因素?根据项目的应用领域;软件的开发方法;软件的执行环境;算法及数据的复杂性;软件开发人员的知识水平;合理选择编程语言。
2 什么是程序设计风格? 应该在那些方面注意培养良好的设计风格?(1)指人们编程的习惯特点(2)程序加注释;变量数据按意义取名;语句简单直接,容要缩进,使用空格,空行提高程序的清晰度;输入输出提示化,表格化,图形化第七章三. 名词解释1.软件测试为了发现软件中的错误而执行程序的过程2. 黑盒法着重于测试呗测程序的功能3. 白盒法从被测试程序部的逻辑结构入手来设计测试用例4.渐增式测试逐步组装模块,组装一部分测试一部分5 非渐增式测试将所有经过单元测试的模块一起连接起来进行测试四.问答题1软件测试的目的是什么?是为了发现软件中的错误而执行程序的过程,它的目标是尽可能多的控制软件中存在的错误,将测试结果作为纠错依据。
2白盒法有那些逻辑覆盖标准? 这些标准有什么关系?语句覆盖:是每个语句至少执行一次;判定覆盖:是每个判定的每个分支至少执行一次;条件覆盖:是每个判定的每个条件应该取到各种可能的值;判定/条件覆盖:同时满足判定和条件覆盖;条件组合覆盖:使每个判定中各条件的每一种组合至少出现一次;路径覆盖:使程序中每一条可能的路径至少执行一次3属于黑盒法的测试用例设计方法有那几种? 它们的特点等价类划分:将输入数据划分成若干合理的或不合理的等价类;边界值分析:检查边界情况的测试用例能搞笑的发现错误;错误推测:根据经验或直觉推测出程序种可能存在的各种错误;因果图:检查输入条件的各种组合可能引起的错误4. 软件测试要经过那几个阶段? 各个阶段与什么文档有关?先从每个模块的源程序出发,进行单元测试,然后按概要设计说明书的要求,将各模块组装起来进行集成测试,随后按需求规格说明书要求,对软件进行确认测试,最后将软件与系统中其他元素协调起来,进行系统测试。
第八章三.名词解释1.校正性维护识别和纠正隐含在软件中的错误过程2.适应性维护适应计算机运行环境的不断变化而修改软件的过程3.完善性维护适应用户业务和的发展变化而对软件的功能、性能进行修改、扩充的过程4. 预防性维护为了提高软件的可靠性和可维护性而对软件作出的修改5.软件可维护性指软件能够被理解、校正、适应及增加功能的容易程度6.软件维护的副作用因修改软件而造成的错误或其他不希望出现的情况问答题1维护有那些类型? 其容(1)校正性维护识别和纠正隐含在软件中的错误过程(2)适应性维护适应计算机运行环境的不断变化而修改软件的过程(3)完善性维护适应用户业务和的发展变化而对软件的功能、性能进行修改、扩充的过程(4)预防性维护为了提高软件的可靠性和可维护性而对软件作出的修改2.软件维护的特点是什么?(1)维护费用高,维护困难(2)维护的困难性,主要是由开发的软件的可维护性所引起的,软件结构差,文档不齐全,开发不规,开发技术旧,维护工作不吸引人。
3.软件维护的流程是什么?制定维护申请报告;进行维护工作;编制软件维护修改报告;复审。
4.软件维护的副作用有那些?编码、数据、文档副作用等5.提高可维护性有那些方法?建立明确的软件质量目标;利用先进的软件开发技术和工具;尽可能选择好的可维护语言;改进程序的文档。
下载可编辑.专业.整理.。