软件工程问答题答案

合集下载

软件工程问答题答案(仅供参考)(精品)

软件工程问答题答案(仅供参考)(精品)

软件工程问答题答案(仅供参考)(精品)软件工程问答题答案(仅供参考)(精品)软件工程是指通过计算机科学与工程学的原理、方法和工具来开发和维护软件的一门学科。

在软件工程领域,存在着许多关键问题和常见的问答题。

本文将为你提供一些常见软件工程问答题的答案,希望能够帮助你更好地理解和应用软件工程的知识。

1. 什么是软件需求工程?软件需求工程是软件工程中的一个重要领域,它关注的是对用户需求进行分析、规范和管理,以便于软件系统的开发和交付。

软件需求工程包括可行性研究、需求获取、需求分析、需求规格说明和需求验证等过程。

2. 请解释软件配置管理是什么?软件配置管理是指通过管理软件系统中的各种配置项和配置变更,以确保软件系统的正确、完整和可追踪。

它包括配置项识别、变更控制、版本控制、配置库管理等活动,旨在提高软件开发和维护过程的可控性和可靠性。

3. 请介绍软件测试的目的和重要性。

软件测试的目的是发现软件系统中的错误、缺陷和潜在问题,以便在软件交付之前进行修复和改进。

软件测试的重要性在于可以提高软件系统的质量和可靠性,降低软件使用过程中的风险和损失。

4. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。

它描述了软件系统中各个组件之间的关系和交互,以及软件系统的总体设计原则和理念。

软件架构可以帮助团队成员理解和沟通软件系统的设计和实现。

5. 请解释敏捷开发方法。

敏捷开发方法是一种以迭代、循环和适应性为核心的软件开发方法。

它强调团队合作、快速反馈和不断改进,在不断变化的需求环境下能够更加灵活地开发和交付高质量的软件系统。

6. 请介绍软件项目管理的过程和技术。

软件项目管理包括项目计划、项目组织、项目监控和项目交付等过程。

它涉及到时间管理、成本管理、风险管理、质量管理等技术和工具,以确保软件项目能够按时、按量和按质完成。

7. 请解释软件工程中的代码重构。

代码重构是指在不改变软件系统外部行为的前提下,通过对代码的重新组织和调整来改进软件系统的内部质量和可理解性。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。

A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。

A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。

A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。

A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。

A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。

A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。

A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。

软件工程答案

软件工程答案

1.什么是软件?答:计算机程序和相关文档。

2. 什么是软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

3.什么是软件工程?答:软件工程是关于软件生产的各个方面的工程学科。

或者说:采用工程的概念、原理、技术和方法来开发与维护软件,或者说把经过时间考验而证明是正确的管理技术和当前能够得到的合适的开发工具结合起来开发与维护软件,这就是“软件工程”。

第二次作业说明:以下题目在考试时,可能变成填空题、也可能变成选择题、还有可能变成名词解释。

1.软件工程方法学包括了几个关键要素?答:包括了3个关键要素,即方法、工具和过程。

2.软件过程包含了那几项基本活动?答:软件过程包含了4项基本活动:(1)软件描述;(2)软件开发;(3)软件有效性验证;例如:填空题软件过程包含了4项基本活动:(1)软件描述;(2)软件开发;(3)软件有效性验证;(4) 软件维护或进化。

例如:选择题软件过程包含了4项基本活动:(1)软件描述;(2)软件开发;(3)软件有效性验证;(4) 软件维护或进化 A.验证 B.检查 C. 软件有效性验证 D. 软件有效性检查 3.什么是模型?答:模型是人们认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。

第三次作业1.可行性研究包含哪几个方面?答:(1)技术可行性、(2)经济可行性、(3)操作可行性。

2.软件维护分为哪几类?答:根据软件维护的任务与性质不同,通常可将软件维护分为纠错性维护、适应性维护、完善性维护、预防性维护四类活动。

3. 软件可维护性的定义是什么?答:指维护人员理解、改正软件的难易程度。

决定软件可维护性的因素有:指整个软件文档和程序的可理解性、可测试性、可修改性。

第四次作业1. 原型法的基本概念是什么?答:原型法的基本概念有如下三点:(1)原型法不仅可以帮助系统分析员尽早获得更完整更准确的需求,还可以帮助设计人员验证设计方案或演进目标系统。

软件工程基础考试

软件工程基础考试

软件工程基础考试(答案见尾页)一、选择题1. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 计算机科学D. 需求分析2. 软件开发过程中,需求分析和系统设计的关系是什么?A. 需求分析是系统设计的依据B. 需求分析和系统设计同时进行C. 需求分析在系统设计之后进行D. 需求分析和系统设计没有必然联系3. 软件工程的三个层次及其在软件开发过程中的作用是什么?A. 应用层、系统层、理论层B. 物理层、数据层、逻辑层C. 需求层、设计层、实施层D. 开发层、测试层、维护层4. 软件开发生命周期(SDLC)的概念是什么?它包括哪几个阶段?A. 软件开发生命周期是指软件的开发过程B. SDLC包括需求分析、设计、编码、测试和维护C. SDLC是一个线性的过程D. SDLC各阶段按顺序进行,不具备迭代性5. 什么是敏捷开发方法?它与其他开发方法的区别是什么?A. 敏捷开发是一种快速开发的软件开发方法B. 敏捷开发强调团队合作和客户参与C. 敏捷开发适合大规模软件项目D. 敏捷开发与其他开发方法的区别在于流程管理6. 什么是面向对象编程(OOP)?请列举OOP的三个基本特征。

A. 封装、继承、多态B. 封装、继承、抽象C. 封装、多态、接口D. 继承、多态、接口7. 数据库管理系统(DBMS)在软件开发中的作用是什么?A. 存储和管理数据B. 提供数据查询和修改功能C. 数据库管理员(DBA)负责DBMS的管理和维护D. 所有选项都正确8. 什么是版本控制?请简述版本控制的两种主要策略。

A. 版本控制是一种软件配置管理技术B. 版本控制可以跟踪软件项目的变更C. 版本控制的主要策略有Git和SVND. 版本控制确保软件代码的安全性9. 什么是软件测试?它的目的和基本原则是什么?A. 软件测试是在软件投入运行后进行的活动B. 软件测试是为了发现软件中的错误和缺陷C. 软件测试的原则包括早期测试、缺陷倾向分布等D. 软件测试的目的是提高软件的质量和可靠性10. 什么是配置管理?它在软件开发中的作用是什么?A. 配置管理是指对软件配置项进行管理和控制的过程B. 配置管理可以确保软件配置的一致性和可追溯性C. 配置管理的主要活动包括配置标识、配置控制、配置审核等D. 配置管理有助于解决软件生命周期中的版本冲突问题11. 软件开发过程中,需求分析的主要任务是?A. 确定软件开发的功能B. 编写需求规格说明书C. 进行系统设计D. 进行程序设计12. 在软件开发中,迭代过程是为了更好地适应变化,它主要包括哪几个阶段?A. 需求分析B. 设计C. 编码D. 测试13. 软件工程中的“软件”指的是什么?A. 程序和数据B. 程序、数据和文档C. 程序和数据,可运行D. 程序、数据和用户手册14. 软件工程的发展历程中,第一个正式发布的软件开发标准是?A. ISO 9000B. CMMIC. PMBOKD.软件开发生命周期(SDLC)15. 在软件工程中,测试的目的是什么?A. 证明软件的正确性B. 找出软件中的错误C. 提高软件的质量D. 规范软件的开发过程16. 软件工程中的“软件生命周期”通常包括哪几个阶段?A. 开发B. 运行C. 维护17. 软件工程中,版本控制的主要作用是什么?A. 监控软件的修改历史B. 管理软件的版本C. 确保软件的一致性D. 保证软件的可靠性18. 软件工程中,敏捷开发方法是一种以人为核心、迭代、循序渐进的开发方法,它的核心价值包括:A. 个体和互动跨功能团队B. 可用的软件客户合作C. 响应变化随时间进化D. 面向结果19. 在软件工程中,UML(统一建模语言)是一种用于描述、构造和编写软件系统的图形化语言,它通常用于以下哪个阶段?A. 需求分析B. 设计C. 编码D. 测试20. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。

软件工程—简答题

软件工程—简答题

软件工程—简答题四、简答题1. 简述软件危机产生的缘故。

答案:软件危机产生的缘故有:(每点1分)(1)软件的规模越来越大,结构越来越复杂。

(2)软件开发的治理困难。

由于软件规模大,结构复杂,又具有无形性,导致治理困难,进度操纵困难,质量操纵困难,可靠性无法保证。

(3)软件开发费用不断增加。

软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升专门快。

(4)软件开发技术、开发工具落后,生产率提高缓慢。

(5)生产方式落后。

软件仍旧采纳个体手工方式开发。

2. 简述需求分析的概念及需求分析的差不多任务。

答案:需求分析是指开发人员要准确明白得用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

(3分)需求分析的差不多任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须〝做什么〞的问题。

(2分)3. 简述数据流图的分类及每一类的特点。

答案:数据流图有两类:变换型数据流图和事务型数据流图。

(1分)变换型数据流图是由输入、处理和输出三部分组成,(1分)因此变化型数据流图是一个顺序结构。

(1分)事务型数据流图特点:事务处理中心将它的输入流分离成许多发散的数据流,形成许多加工路径,(1分)并依照输入的值选择其中一个路径来执行。

(1分)4. 简述建立对象模型的过程。

答案:建立对象模型的步骤如下:(每点1分)(1)确定类:标出来自问题域的相关对象类。

(2)预备数据字典:为所有建模实体预备一个数据字典,准确描述各对象类的精确含义,描述当前问题中的类的范畴,包括对类的成员、用法方面的假设或限制;(3)确定关联:确定二个或多个类之间的相互依靠;(4)确定属性:只考虑与具体应用直截了当相关的属性(5)使用继承来细化类:使用继承来共享公共结构,以此来重新组织类__全国2020年1月1.简述软件工程面临的问题。

软件工程(简答题)

软件工程(简答题)

1、典型的详细设计工具有流程图、盒图、、类程序设计语言。

问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。

问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。

问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。

问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。

问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。

问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。

问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。

问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。

问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。

模块结构图可用和两种形式来表示。

问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。

问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。

问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。

问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。

它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。

2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。

通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。

4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。

它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。

5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。

6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。

7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。

它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。

8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。

单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。

9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。

维护包括错误修复、性能优化、功能扩展等。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

第一章1,与计算机硬件相比,计算机软件有哪些特点?软件的特点如下。

1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了解它的功能、特性和质量等。

2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程中,渗透了大量的脑力劳动。

3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问题。

4)软件的开发和运行必须依赖于特定的计算机系统环境。

5)具有可复用性。

3,什么是软件危机?什么原因导致了软件危机?软件危机的现象如下。

1)经费超出预算,项目一再拖延。

2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。

3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。

4)开发工具落后,手工方式,开发效率低。

所有导致软件危机的原因,都与软件本身的产品特点相关。

1)软件是一个复杂的逻辑产品。

如果没有解决复杂问题的有效方法,以及软件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。

2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。

3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做到准确估算,生产过程不易控制。

4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得多。

5,请简述软件工程研究的内容。

软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。

软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。

常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。

软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose等。

7,请简述软件工程的目标、过程和原则。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、简述软件工程的7条基本原理
1)用分阶段的生命周期计划严格管理;2)坚持进行阶段评审;3)实行严格的产品控制;4)采用现代程度设计技术;5)结果应能清楚地审查;6)开发小组的人员应该少而精;7)承认不断改进软件实践的必要性
2、软件工程的研究内容和软件工程的目标
软件工程研究的主要内容有以下两个方面:
1)软件开发技术。

软件开发方法学:基于瀑布模型的结构化生命周期方法,基于动态需求的快速原型法,基于结构的面向对象的软件开发方法;软
件工具:用来开发软件的软件;软件工程环境:支持软件开发的环境,
软件工具及其相互间关系的总和。

2)软件工程管理。

软件管理:人力管理,进度安排,质量保证,资源管理;
软件工程经济学:以经济学的观点研究开发过程中的经济效益,即进行
成本估算,效益分析的方法和技术。

3、什么是软件的生存周期各阶段的任务是什么
软件生存周期又称软件生命周期,是指一个软件系统从目标提出到最后丢弃的整个过程。

大致分为如下四个阶段:
1)软件分析时期,包含问题定义,可行性研究和需求分析三个部分。

问题定义阶段必须要回答的关键问题是“要解决的问题是什么”;可行性研
究阶段的任务是研究问题的范围,探索这个问题是否值得去解决,是否
有可行的解决方法;需求分析阶段的任务是确定目标系统必须具备哪些
功能。

2)软件设计时期,包含概要设计和详细设计。

概要设计阶段必须要解决的问题是“应该如何解决这个问题”;详细设计阶段的任务是把解法具体
化,设计出程序的详细规格说明,包括必要的细节,程序员可以根据它
们写出实际的程序代码。

3)编码和单元测试时期。

编码和单元测试:这个阶段的任务是程序员根据目标系统的性质和实际环境,选取一种适当的高级程序设计语言(必要
时包括汇编语言),把详细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块;综合测试:此阶段的任务是通过各
种类型的测试使软件达到预定的要求。

4)运行和维护时期。

维护阶段的任务是通过各种必要的维护活动使系统持久地满足用户的需要。

4、什么是瀑布模型它有哪些优缺点
瀑布模型(Waterfall Model),它将软件生存期划分为计划、开发和运行三个时期,每个时期又划分为若干阶段。

瀑布模型的优点:
1)可强迫开发人员采用规范的方法
2)严格地规定每个阶段必须提交的文档
3)要求每个阶段的所有产品都必须经过质量保证小组的仔细检查
瀑布模型的缺点:
1)各个阶段的划分完全固定,阶段之间产生大量的文档,增加工作量
2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发陈果,从而增加了开发的风险
3)早期的错误可能要等到开发后期的测试阶段才能发现,进而造成严重的后果
5、什么是软件的生存周期模型常用的模型有哪些
软件生存周期模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存周期的系统开发,运行维护所实施的全部过程,活动和任务的结构框架。

常用的模型有:瀑布模型,原型模型,增量模型,螺旋模型,喷泉模型,变换模型和基于知识的模型。

6、什么是螺旋模型简述按照螺旋模型进行软件开发的步骤
螺旋模型是一种风险驱动的模型。

这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。

软件开发过程每迭代一次,软件开发又前进一个层次。

螺旋模型进行软件开发的步骤:
(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。

7、可行性研究的任务有哪些可行性研究包括那些步骤
可行性研究的任务:通过对被开发系统的可行性研究,能够实现用最小的代价在尽可能短的时间内确定问题是否可以解决。

也就是说,可行性研究的目的不是解决问题,而是确定问题是否能获得解决,研究在当前的具体条件下,开发新系统是否具备必要的资源和其他条件。

可行性研究是进行一次压缩简化了的系统分析和设计的过程,也就是在较高的层次上以较抽象的方式进行设计的过程。

可行性研究的步骤:
1)确定系统的规模和目标;2)分析现有系统;3)建立新系统的高层次逻辑模型;4)设计和评价新系统的实现方案;5)制定行动方案;6)书写
计划任务书;7)提交审查。

8、简述软件模块设计的一般准则
1)降低模块的耦合性,提高模块的内聚性;2)保持适中的模块规模;3)模块应具有高扇入和适当的扇出;4)软件结构中的深度和宽度不宜过大;5)尽量降低模块的接口复杂度;6)设计单入口单出口的模块。

9、软件设计中变换分析设计的一般步骤
1)确定输入,输出,变换的加工集合;2)确定顶层模块和第一层模块(建立映射);3)执行二级分解;4)设计的优化:输入部分的求精,输出部分的求精,变换部分的求精
10、软件结构优化的一般准则
1)模块独立性准则;2)改造程序结构使任一模块的作用域在其控制域之内;3)软件结构的形态特征准则;4)改造程序结构,降低界面的复杂性和冗余程度,提高协调性;5)模块功能应可预言,避免对模块施加过多限制;6)改造程序结构,追求单入口单出口的模块;7)为满足设计或可移植性的要求,把某些软件用包的形式封装起来。

11、简述面向对象设计的五个层次和四个设计部分
OOA模型可以划分为五个层次:类及对象层次、属性层、服务层、结构层、主题层,分别对应着五个活动:设立类和对象、定义属性、定义服务、确立结构、
识别主题。

四个设计部分:问题域部分,人机交互部分,任务管理部分,数据管理部分;针对OOD模型中的四个部分在OOD中进行四个相应的活动:设计问题域部分,设计人机交互部分,设计任务管理部分,设计数据管理部分。

12、软件测试包括哪些步骤这些测试与软件开发各阶段之间有什么关系
软件产品一般经过以下四步测试:单元测试,集成测试,确认测试和系统测试。

单元测试集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确的实现了规定的功能。

然后进行集成测试,根据设计规定的软件体系结构,把已测试过的模块组装起来。

在组装过程中,检查程序结构组装的正确性。

确认测试则是要检查已实现的软件是否满足了需求规格说明中的各种需求,以及软件配置是否完全,正确。

最后是系统测试,把已经经过确认的软件纳入实际运行环境中,与其他系统成分组合在一起进行测试。

13、简述软件维护的工作流程
为了有效地进行软件维护,应事先就开始做组织工作。

首先需要建立维护的机构,声明提出了维护申请报告的过程及评价的过程;为每一个维护申请规定标准的处理步骤;必须建立维护活动的登记制度以及规定评价和评审的标准。

14、影响软件质量的要素有哪些
由于软件开发人员,管理人员,维护人员和用户在软件开发,维护和使用过程中所处的地位不同,它们对软件质量的理解和要求也不同。

如:管理人员十分关心软件开发采用的标准,在经费和时间允许的情况下,如何实现软件需求规格说明书中定义的功能;维护人员特别注重软件的正确性,可理解性和可修改性;用户更关心软件的性能和可靠性等。

因此,应该对软件质量给出一个客观的,科学的定义,这对统一人们对软件产品的认识,在软件开发与维护的过程中评价和控制软件质量都是十分必要的。

软件质量依赖于软件的各种属性的复杂组合,它随着应用的不同而不同,随着用户提出的质量要求不同而不同。

15、UML统一建模语言五种视图的作用
1)用例视图描述了系统应该具备的功能;2)逻辑视图描述了用例视图中提出的系统功能的实现;3)并发视图主要考虑资源的有效利用,代码的并行执行以及系统环境中异步事件的处理;4)组件视图描述系统的实现模块以及它们之
间的依赖关系;5)配置视图显示系统的物理部署,它描述位于节点上的运行实例的部署情况。

配置视图还允许评估分配结果和资源分配。

相关文档
最新文档