软件工程答案版_第1页
软件工程答案版_第2页
软件工程答案版_第3页
软件工程答案版_第4页
软件工程答案版_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、概念问题:1.软件危机:计算机软件开发和维护中遇到的一系列严重问题。2.软件工程:它是一门指导计算机软件开发和维护的工程学科。软件工程就是采用工程的概念、原理、技术和方法来开发和维护软件,并将经过时间测试证明正确的管理技术与现有的最佳技术和方法结合起来,经济地开发高质量的软件并有效地维护它。3.软件生命周期:它包括三个阶段:软件定义、软件开发和操作维护(也称为软件维护)。每个阶段又进一步分为几个阶段。4、模块衔接:它标志着模块中的每个元素彼此紧密结合的程度。这是信息隐藏和定位概念的自然延伸。5.软件测试:为了发现程序中的错误而执行程序的过程。6、软件可维护性:维护人员理解、纠正、更改或改进

2、软件有多容易?7.DFD数据流程图:一种描述信息流和数据从输入到输出的转换的图形技术。8.模块耦合:软件结构中不同模块之间互连程序的度量。耦合的强度取决于模块之间接口的复杂程序、进入或访问模块的点以及通过接口传递的数据。9、形式化方法:描述系统本质的基于数学的技术。10.软件重用:指同一事物未经修饰或稍加修饰的重复使用。广义而言,软件复用可以分为以下三个层次:知识复用、方法和标准复用以及软件构件复用。11.软件维护:软件交付使用后,为纠正错误或满足新需求而修改软件的过程。12.对象:它是通过封装描述对象属性的数据和应用于数据的所有操作而形成的实体。13.软件可靠性:这是程序在给定时间间隔内按照

3、规范成功运行的概率。第二,填空:1.软件工程包括技术和管理。它是由(技术)和(管理)紧密结合而形成的一门工程学科。管理是通过一系列的活动,如(计划)、(组织)和(控制)。软件工程的方法论包括三个要素:(方法),(工具)和(过程)。2.任何计算机系统都由两部分组成(硬件)和(软件)。3.软件生命周期模型通常用来简明地描述软件过程。请列举几个典型的软件过程模型,如(瀑布模型)、(快速原型模型)、(增量模型)等。4.可行性研究本质上是一个大大简化的系统分析和设计过程。一般来说,对于可供选择的主要系统实施方案的可行性,每个实施方案的可行性应至少从三个方面(技术可行性)、(经济可行性)和(操作可行性)进

4、行研究。5.需求分析任务包括(系统集成需求)、(数据需求)、(逻辑模型推导)和(系统开发计划修订)等。通用接口要求包括(用户接口)、(硬件接口)、(软件接口)和(通信接口要求)等。6.在需求分析过程中应该建立三个模型,即(数据模型)、(功能模型)和(行为模型)。7.根据形式化的程度,软件工程中使用的方法可以分为三类(非正式的),(半正式的)和(正式的)。8.软件设计通常包括两个阶段(总体设计阶段)和(详细设计阶段)。软件设计过程中应遵循的基本原则和相关概念包括(模块化)、(抽象)、(逐步细化)、(信息隐藏和本地化)和(模块独立性)。9.软件设计的基本任务可以概括为包括以下四个任务(体系结构设计

5、)、(人机界面设计)、(数据设计)和(过程设计)。10.在设计人机界面的过程中,必须充分重视和处理四个问题(系统响应时间)、(用户帮助组设施)、(错误信息处理)和(命令交互)。11、(白盒测试)和(黑盒测试)是软件测试的两种基本方法,通常主要用于测试过程的早期阶段(白盒测试)和后期阶段(黑盒测试)。12.根据控制结构的应用特点,软件结构编程可分为(经典结构编程)、(扩展结构编程)和(修改结构编程)。13.用面向对象方法开发软件的过程是一个活跃的迭代过程。传统方法强调(从上到下)软件开发任务的所有阶段的顺序完成。14.两种广泛使用的定量测量程序复杂性的方法是McCabe方法和Halstead方法

6、。15.通常,构成软件系统的物理元素包括(程序)、(文件)、(数据库)、(手动过程)和(文档)等。16.软件配置管理主要包括五项任务:(识别)、(版本控制)、(变更控制)、(配置审计)和(报告)。17.大型复杂系统的对象设计一般由以下五个层次组成:(主体层次)、(类和对象层次)、(结构层次)、(属性层次)和(服务层次)。18.软件复用是提高软件(开发生产率)和目标系统(质量)的重要途径。它基本上从设计开始。软件构件复用可以分为以下三个层次:代码复用、设计结果复用和分析结果复用。19.面向数据流的设计方法将信息流映射到软件结构中。信息流有两种类型:转换和交易。20.大型软件系统的测试过程主要包括

7、(模块测试)、(子系统测试)、(系统测试)、(验收测试)和(并行操作)等。21.一般来说,调试软件有三种方法,即(暴力法)、(回溯法)和(原因排除法)。22.需求分析任务包括系统集成需求、数据需求、逻辑模型的推导和系统开发计划的修订。其中,常见的设计约束或实现约束有:(精度),(工具和语言约束),(设计约束),应该使用的标准和应该使用的(硬件平台)。23.COCOMO是建筑成本模型的英文缩写。24.软件定义阶段通常分为三个阶段,即(问题定义)、(可行性研究)和(需求分析)。25.程序的三个基本控制结构是(顺序)、(选择)和(循环)。26.软件系统响应时间有两个重要属性,即(长度)和(可变性)。

8、27.有三种典型的方法来组织软件项目:民主程序员组、主程序员组和现代程序员组。软件维护通常包括四种类型的活动,即(纠正性维护)、(完善性维护)、(适应性维护)和(预防性维护)。传统方法强调(硬件接口)按顺序完成软件开发各个阶段的任务。用(软件接口)开发软件的过程是一个进化的过程,这个过程被积极地重复多次。30.软件规模的估算方法主要有(代码行技术)和(功能点技术)等。31.软件过程中的一组任务包括一组(软件工程任务)、(里程碑)和要交付的产品(软件配置组件)。软件生命周期模型通常用来简明地描述软件过程。请列举几个典型的软件过程模型,如微软过程,(瀑布模型),(快速原型),(增量模型),(螺旋模

9、型),(喷泉模型)等。32.为了解决软件危机,需要技术措施(方法和工具)和必要的(组织管理)措施。33.CMM是软件过程能力成熟度模型的简称。这五个级别从低到高依次为(初始级别)(也称为级别1)、(可重复级别)(也称为级别2)、(定义级别)(也称为级别3)、(管理级别)(也称为级别4)和(优化级别)(也称为级别5)。34.结构化方法的需求分析过程应建立三个模型。它们是(行为模型)、(功能模型)和(数据模型)。35.用面向对象的方法开发软件,需要建立三种模型,即(对象模型)、(动态模型)和(功能模型)。36.软件需求的验证应从以下四个方面进行,即(一致性)、(完整性)、(真实性)和(有效性)。3

10、7.大型软件的测试应该分阶段进行,通常至少分为三个基本阶段(单元测试)、(集成测试)和(验收测试)。38.软件构件复用可以分为以下三个层次:代码复用、设计结果复用和分析结果复用。3.真或假:1.传统方法强调自上而下顺序完成软件开发的所有阶段,而面向对象方法是一个进化过程,会主动重复多次。()2.软件复用仍然是降低软件成本和提高软件质量的唯一合理途径。()3.在软件设计过程中,对于交互系统来说,人机界面设计与数据设计、体系结构设计和过程设计一样重要。考虑到现在人机界面在系统中所占的比重越来越大,在软件的编码实现阶段可以同时考虑人机界面的设计,即程序员在完成基于过程算法的编码实现的同时,可以根据软

11、件规范和业务逻辑要求来实现人机界面,从而降低软件的开发成本。()4.即使采用了正式的方法,软件复用仍然是降低软件成本和提高软件质量的唯一合理的方法。()5.模块独立性是良好软件设计的关键,而维护是软件质量的关键。()6.软件测试的目的是“建设性的”,即试图证明所构建的软件系统的正确性和适用性。()7.软件质量是软件工程的目标之一。确保模块独立性是良好软件设计的关键,而维护是决定软件质量的关键环节。()8.软件测试通常包括黑盒测试和白盒测试。测试的目的是试图证明所构建的软件系统的正确性和适用性。()9.形式化方法可以用来证明软件需求和设计的正确性和合理性。因此,软件复用不是降低软件成本和提高软件

12、质量的合理方法之一。为了降低软件测试和纠错的成本,没有必要对软件进行测试,但也要保证软件的质量和降低开发成本等软件工程目标。()10.形式化方法有许多优点。因此,在实际的软件工作中,应该依靠形式化的方法来保证开发的软件是绝对正确的,并降低由于设计缺陷造成的维护成本。()11.在开发同一个软件(即LOC固定点或功能点)时,如果延长项目的持续时间,可以减少完成项目所需的工作量,提高软件设计工作,提高软件编码效率。()12.程序员的知识、软件可移植性要求、软件应用领域、工程规模和系统用户需求是软件开发中选择编程语言的主要实用标准。()13.详细设计阶段的任务不是专门编写程序,而是设计程序的“蓝图”,

13、然后程序员会根据这个蓝图编写实际的代码。()14、可行性研究过程中只需要找出几个技术方案,等到需求分析时再考虑成本效益问题。()15.在软件开发中选择编程语言的主要实用标准包括程序员知识、软件可移植性要求、软件应用领域、工程规模和系统用户要求。()16.使用形式化方法对软件系统进行建模、分析和设计有许多不可替代的优势。因此,在实际的软件工作中,应该依靠形式化的方法来保证开发的软件是绝对正确的,并降低由于设计缺陷造成的维护成本。()17.请根据您所学的软件工程原理和常识判断以下陈述是否正确:在开发同一软件(即LOC固定点或功能点)时,如果项目持续时间延长,完成项目所需的工作量可以减少,软件设计工

14、作可以改进,软件编码的效率可以提高。()18.其他方法如评审和测试必须用来验证软件的正确性,因为形式化方法不能用来证明从非形式化需求到形式化规范的转换是正确的。()19.在软件系统开发中,选择编程语言的主要实用标准是基于程序员的知识。()20.复杂的问题和软件系统可以通过长时间的开发来深入分析。因此,当开发相同的软件时(即LOC是固定的或者功能点是相同的),如果项目持续时间延长,完成项目所需的工作量可以减少。()21.形式化方法不能用来证明从非形式化需求到形式化规范的转换是正确的。因此,必须使用审查和测试等其他方法来验证软件的正确性。()22.人机界面是软件开发后期的完美工作内容。在设计阶段没

15、有必要考虑人机界面。()23、确定覆盖率必须满足句子覆盖率。()24、代码审查方法不如计算机测试方法。()25.不同编程语言之间的编程效率几乎没有差别。()26.穷举测试是一种更现实的测试方法。()四、简短回答问题1.软件工程包括哪7个基本原则?(7分)(1)分阶段生命周期计划的严格管理(2)、坚持阶段性审查(3)、实施严格的产品控制(4)采用现代编程技术(5)应明确审查结果(6)开发团队应该有更少更熟练的人员。(7)承认持续改进软件工作实践的必要性2.简要解释软件生命周期包括哪三个阶段,以及它的任务是什么?每个阶段包括哪些活动阶段?传统瀑布模型软件开发的特点是什么?(14分)软件生命周期包括

16、三个阶段:软件定义、软件开发和操作维护(软件维护),每个阶段又进一步分为几个阶段。软件定义阶段通常进一步分为三个阶段,即问题定义、可行性研究和需求分析。开发阶段包括系统设计和系统实现两个阶段,即总体设计、详细设计、编码、单元测试和综合测试。维护周期不再进一步划分为阶段,但是每个维护活动本质上是一个压缩和简化的定义和开发过程。特点:阶段是顺序的和相互依赖的,延期实施的观点和质量保证的观点。3.简要描述需求分析的结构化方法遵循的4个标准?在确定功能需求时,系统对软件系统有什么综合要求?这四个标准包括:(1)必须理解和描述问题的信息领域,并根据这一标准建立数据模型;(2)有必要定义软件应该完成的功能。该标准要求建立功能模型。(3)必须描述作为外部事件结果的软件行为。这个标准要求建立一个行为模型。(4)描述信息、功能和行为的模型必须被分解,以分层的方式显示细节。八项综合要求:(1)功能要求(2)性能要求(3)可靠性和可用性要求(4)错误处理要求(5)接口要求(6)限制(7)反向需求(8)未来可能的要求4.借口(1)、审核系统规模和目标(2)研究当前使用的系统(3)导出新系统的高级逻辑模型(4)、进一步界定问题(5)推导和评估替代解决

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论