软件工程复习资料2012秋(1)

合集下载

2012年软件工程复习

2012年软件工程复习

问答题1.导致软件危机的重要原因是什么?高投入,小收获。

原因:软件开发是工程性的问题,采用了手工作坊形式(个人风格)。

2.叙述软件的生命期。

软件生命周期=开发+维护开发:可行性研究,需求分析,设计,编程,测试3.可行性研究的目的是什么?确定项目全部都可以执行。

4.可行性研究阶段,应从哪几个方面进行论证?4个。

技术,经济,环境,法律道德。

5.软件开发阶段,分几个阶段,各个阶段的工作量约各占多少?开发:可行性研究5%,需求分析20%,设计15%,编程20%,测试40%6.给出“软件”的一个简单定义。

程序+文档,开发用到的文档,以及可以运行的程序。

7.整个软件开发阶段,主要是那些人员参与,并叙述他们的主要作用。

3种。

用户:主管人员。

开发:高级技术员,一般技术员,分析员。

8.可从哪几个方面对软件的质量进行评价?可靠性,可阅读性,可理解性,效率。

9.结构化分析的基本手段是“分解”和“抽象”,叙述它们的意义。

分解:把大问题分解成小问题——最小的。

抽象:先讨论核心的,一步步向具体讨论——最具体。

结构化:自顶向下的。

10.若采用结构化分析方法进行分析,产生的需求说明书由哪些组成?需求说明书:数据流图(懂得数据流图的画法),数据字典,小说明,补充说明。

11.数据流图中的“中间文件”是什么?两个加工之间的数据传送界面。

文件:暂存数据的。

12.在结构化分析方法中,用子图对父图中的加工作进一步分解,如果一个父图包含n 个加工,则这个父图有几个子图?<=n13.从软件工程的观点来看,整体变量在一个系统中是多好还是少好,为什么?少好。

整体变量增加模块间的联系,而联系是越少越好。

14.什么叫模块间联系?模块间的调用关系,越小越好。

15.什么叫模块内联系?模块内部各个成分的关系。

16.评价模块结构质量的标准是什么?块间联系强弱,模块内联系强。

17.什么叫白盒法测试?根据程序构造测试用例18.什么叫黑盒法测试?19.进行联合测试时,一般采用黑盒法测试还是白盒法测试测试?黑盒法测试。

2012秋软件工程作业参考资料

2012秋软件工程作业参考资料

一、名词解释1、软件软件= 程序+数据+文档2、软件工程软件工程是研究如何将完善的科学与工程原理,先进高效的管理技术以及完整规范的设计方法应用于经济地开发即可靠,又能在实际计算机上有效运行的软件的一门工程学科。

3、软件生命周期软件生命周期是一个软件系统从目标提出、定义、开发、使用和维护,直到最后丢弃的整个过程。

4、模块独立性所谓模块独立性是指模块完成它自身规定的功能而与系统中其它的模块保持一定的相对独立。

5、UMLUnified Modeling Language统一建模语言,是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。

二、简答题6、什么是软件危机?危机的主要表现是什么?答:a)、软件危机是指在软件开发和维护过程中存在的一系列严重问题的通称。

b)、表现:对软件开发的成本和进度难于估计。

软件质量不高,潜在差错的危害。

缺乏完整、正确的文档,维护极困难,难于移植以至于不得不重复开发类似的软件。

传统的手工方法生产效率低,难以满足社会对软件日益增长的需要7、什么是软件开发的工程化?工程化的软件开发方法与早期的程序设计方法的不同点在哪里?答:软件工程学的核心思想是:用工程化的规范方法指导软件的开发、运行及维护工作。

工程化需要包括如下四个方面:⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境⑶.具备统一的工程规范⑷.管理和控制早期的程序开发方法没有统一的指导原则,随意编写程序,强调程序执行效率。

工程化的软件开发方法具有统一的指导原则,规范化的开发软件,强调软件的可理解性,可维护性和可复用性。

8、瀑布模型的主要缺点是什么?原型开发方法有什么好处?答:瀑布模型给出了固定的开发顺序,它的突出缺点是缺乏灵活性。

软件需求往往无法一下子彻底弄清,因此瀑布模型可能导致开发出的不是用户真正需要的软件,或者由于需求不能确定而造成项目后续工作无法开始。

瀑布模型很难适应需求的动态变更,特别是用户对需求处于模糊认识时更为困难。

软件工程复习资料

软件工程复习资料

软件工程复习资料第一篇:软件工程复习资料软件工程复习资料一、熟悉和理解(一)软件工程概述1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动,关键不足在于不能适应需求的动态变更。

2.软件不只是用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,编写程序代码只是软件开发的一个部分。

3.快速原型模型可以有效地适应用户需求的动态变化。

4.生产高质量的软件产品是软件工程的首要目标。

5.软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的一个原因。

6.开发一个软件项目总存在某些不确定性,即存在风险.有些风险如果控制得不好,可能导致灾难性的后果。

7.缺乏处理大型软件项目的经验.是产生软件危机的一个原因。

8.瀑布模型本质上是一种线性顺序模型,增量模型本质上是一种快速原型模型。

9.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出可行或不可行的回答。

10.软件生存周期模型包括瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型等。

11.软件是一种逻辑产品。

12.“软件危机”是指软件开发和维护中出现的一系列问题,成本高、生产率低、质量得不到保证、需求不能充分理解都是是软件危机的表现形式。

13.原型化方法是用户和设计者之间执行的一种交互过程,适用于需求不确定性高的系统。

14.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的各个阶段.15.研究开发所需要的成本和资源是属于可行性研究中的经济可行性研究的一方面。

16.快速原型模型的主要特点之一是及早提供工作软件。

17.软件工程由方法,工具和过程三部分组成,称软件工程的三要素.18.基于计算机系统的软件要素中的软部件由程序,数据和文档组成.19.瀑布模型是以文档为驱动、适合于软件需求明确的软件项目的模型。

20.螺旋模型是风险驱动的,而瀑布模型是文档驱动的。

2012软件工程复习题(附答案)

2012软件工程复习题(附答案)

《软件工程》复习题一、单项选择题1. ( C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A.多态B.继承C.封装D.消息2.Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时,可以实现( A )A.从数据结构导出程序结构B.从模块结构导出数据结构C.从数据流图导出初始结构图D.从模块结构导出程序结构3.下列模型属于成本估算方法的有(A )A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法4.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称为( C )A.软件工程B.软件周期C.软件危机D.软件产生5. 在软件生存周期中,(D)阶段所占用的工作量最大,约70%。

A.分析B.设计C.编码D.维护6. 软件测试的目的是(B)。

A.评价软件的质量B.发现软件的错误C.找出软件中所有错误D.证明软件是正确的7.模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚8.在SD方法中全面指导模块划分的最重要的原则是( B )A.程序模块化B.模块独立性C.模块低耦合D.模块高内聚9.下列属于维护阶段的文档是( C )A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告10.快速原型模型的主要特点之一是( D )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件11.因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B )A.教正性维护B.适应性维护C.完善性维护D.预防性维护12.类库这种机制是( A )级别的信息共享。

A.不同应用B.不同类C.同一应用D.同一类13.只有单重继承的类层次结构是( C )层次结构。

A.网状型B.星型C.树型D.环型14.软件详细设计主要采用的方法是( D )A.模块设计B.结构化设计C.PDL语言D.结构化程序设计15.下列关于JSP方法不正确的说法是( D )A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。

国家开放大学《软件工程》复习资料

国家开放大学《软件工程》复习资料

《软件工程》复习资料一、选择题1.软件工程的研究内容具有层次化结构,最底层是质量保证层,中问层是(C),最主.层是工具层。

A过程层 B.方法层C.过程层和方法层 D.系统层2.可行性研究的四大要素是(D)。

A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平巳经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性3.针对需求不确定的软件开发,比较好的模型是(A)。

A.快速原型化模型B.瀑布模型c.软件成熟度模型。

.系统化模型4.下面的哪个选项不是软件工程的宗旨?(D)A.开发满足用户需求的软件B.研究算法C.及时交付软件D.生产无故障软件5.瀑布模型的主要特点是(A)。

A.将开发过程严格地划分为一系列有序活动B.将开发过程分解为阶段c.提供了有效的管理模式D.缺乏灵活性6.软件结构图中没有(D)元素。

A.模块B.调用参数C.返回结果D.判断7.结构化设计方法划分模块的原则是(C)A.模块扇出小于5B.模块扇人小于5c.低搞合,高内聚 D.模块深度小于78.配置视图体现了系统的实现环境,反映系统的(B)。

A.逻辑架构B.物理架构C组成结构 D.体系结构9.角色可以有四种类型:系统的使用者,硬件设备,外部系统和(D)。

A.数据库B.接口C.对象D.时间10.功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。

在面向对象方法中,由(C)实现。

A.场景描述B.活动图和1场景描述C.用例图和场景描述D.交互图和场景描述11.在分析模型内表示协调,}I顶序、事务处理以及控制其他对象的类是(A)。

A.控制类B.组件类C.主函数D.事务类12.而信息隐藏的核心内容是(C)。

A.人把数据都放在公共的区域B.数据不能被其他模块访问C.一个模块的内部信息不允许其他模块直接访问D.把信息加密,只能让有密钥的模块访问13.面向过程的方法最关心的是过程,而过程实施的对象是作为过程(A)传递的。

软件工程复习资料

软件工程复习资料

软件工程复习资料1. 软件工程概述软件工程是一门研究如何构建和维护软件系统的学科。

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

本节将对软件工程的基本概念和重要原理进行介绍。

1.1 软件工程的定义软件工程是一种应用工程原理、方法和工具来开发和维护高质量软件的系统工程。

它关注软件开发过程中的各个环节,以提高软件质量和开发效率。

1.2 软件工程的目标软件工程的目标是开发高质量的软件系统,满足用户需求,具备良好的可维护性和可扩展性。

通过采用合适的开发方法和工具,提高软件开发过程的可靠性和效率。

1.3 软件工程的原则软件工程遵循一些重要的原则来指导软件开发过程,包括模块化、抽象、信息隐藏、接口规范、单一职责等原则。

这些原则有助于提高软件质量和可维护性。

2. 软件开发过程软件开发过程是指将软件需求转化为可执行软件的过程。

它包括需求分析、设计、编码、验证和维护等阶段。

本节将介绍常用的软件开发过程模型和相应的方法。

2.1 瀑布模型瀑布模型是一种线性的软件开发过程模型,包括需求分析、设计、编码、测试和维护等阶段。

瀑布模型适用于需求稳定的项目,但不适用于需求频繁变更的项目。

2.2 敏捷开发敏捷开发是一种迭代的软件开发过程模型,强调快速反馈和适应需求变化。

敏捷开发方法包括Scrum、XP等。

它适用于需求不确定或频繁变更的项目。

2.3 增量开发增量开发将软件系统划分为多个增量,每个增量包含了一个或多个功能模块。

每个增量的开发和测试独立进行,逐步完善系统。

增量开发适用于大型项目和复杂项目。

2.4 软件开发过程的选择选择适合项目的软件开发过程模型非常重要。

需要考虑项目的规模、需求的稳定性、团队的能力等因素来决定采用哪种开发过程模型。

3. 软件需求工程软件需求工程是软件工程的一项重要活动,旨在准确捕获用户需求,并将其转化为可执行的软件需求规格。

本节将介绍软件需求的定义、分类和常用的需求获取和分析方法。

12级《软件工程》期终知识点汇总

12级《软件工程》期终知识点汇总
择题(2’×15=30’)
判断题(1’×15=15’) 简答题(5’×6=30’) 分析题 (8’+6’+11’=25’ )
分析设计题

软件计划网络图
6种逻辑覆盖测试用例的设计(根据覆盖标准的要 求选择所需测试数据) 面向对象的测试用例的设计 状态转换图



主要知识点
主要知识点



面向对象方法的基本概念:类、对象、消息、 封装、继承、多态性 属性、操作常用可见性有哪几种? 面向对象开发方法有哪些? 面向对象的分析方法中需要建立哪些模型?各 有什么作用?模型元素之间的基本联系有哪些? OOA对象模型的结构分为哪几层?问题域中 实体间的结构关系有哪些? 简述状态、行为、事件的概念,并说明三者间 的关系



软件生命周期的划分 软件工程的目标及衡量标准 软件危机的定义、原因和表现。 软件工程方法学的要素 常见的软件开发模型有哪些? 结构化分析方法的基本原则。 结构化开发过程中各阶段的主要任务及使用的 工具。
主要知识点

什么是信息隐藏?有何好处? 7种耦合、7种内聚(重点掌握需要注意 及回避的几种)。 白盒测试、黑盒测试的定义和具体的方 法。 软件测试的过程以及每个阶段的主要任 务。 软件可靠性的度量。

软件项目管理的要素有哪些? 什么是软件项目管理?管理的主要对象是什么? 什么是软件计划?常用的工具有哪些?各有何 功能?各工具的优缺点如何? 什么是CMM?分为哪几层?各有何特点?
主要知识点





OOD模型有哪几个组成部分?各起什么作用? 面向对象数据库管理系统的实现途径有哪几条? 选择面向对象语言时应考虑哪些因素? 测试单个类的方法主要有哪些? 软件维护的目标是什么?软件维护可分为哪几 类?各类维护的定义 什么是软件的可维护性?软件的可维护性和哪 些因素有关?

软件工程复习资料-完整版

软件工程复习资料-完整版

软件工程复习资料-完整版一、概述软件工程是一门关于开发、维护和管理软件的综合学科。

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

软件工程的目标是提供高质量的软件,满足用户的需求,同时将开发过程控制在预定的时间和预算范围内。

二、软件生命周期1. 需求分析阶段在需求分析阶段,开发团队与用户沟通,了解用户的需求和期望。

通过需求分析,确定软件的功能和性能要求,制定详细的需求规格说明。

2. 设计阶段在设计阶段,团队根据需求规格说明,设计软件的整体架构和模块。

设计阶段包括概要设计和详细设计,概要设计主要确定软件的整体结构,详细设计则更加具体,包括模块的功能和接口设计。

3. 编码阶段在编码阶段,根据详细设计,实现软件的各个模块。

编码时应遵循编程规范,确保代码的可读性和可维护性。

同时,要进行单元测试,确保每个模块的功能正确。

4. 测试阶段在测试阶段,对软件进行不同层次的测试,包括单元测试、集成测试和系统测试。

单元测试测试各个模块的功能,集成测试测试模块之间的接口,系统测试测试整个系统的功能和性能。

5. 部署和维护阶段在软件开发完成后,需要将软件部署到目标环境中,并进行用户培训。

同时,还需要对软件进行维护和升级,以解决出现的问题和满足用户的需求变化。

三、软件工程的原则1. 模块化将软件划分为多个模块,每个模块负责特定的功能。

模块化能够提高软件的可维护性和复用性,同时有利于团队的协作开发。

2. 可伸缩性软件应该具备可伸缩性,能够满足不同规模和需求的用户。

在设计和实现软件时,需要考虑未来的扩展和升级,保证软件的灵活性。

3. 可测试性软件应该具备可测试性,方便进行各个阶段的测试。

在设计和编码时,需要考虑如何进行自动化测试,提高测试的效率和覆盖率。

4. 可维护性软件应该具备可维护性,方便对软件进行改进、修复和升级。

在设计和编码时,需要遵循良好的编程规范,提高代码的可读性和可维护性。

5. 文档化软件开发过程需要进行详细的文档记录,包括需求文档、设计文档、测试文档等。

软件工程复习资料-完整版

软件工程复习资料-完整版

一、选择题:1、用例图中,用来表示用例的符号为( B ) 。

2、协作图中包含的元素包括(A ) 。

A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。

A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。

A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。

A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。

A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。

A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。

A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。

A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。

A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。

A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。

A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。

A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。

软件工程习题与答案(第1次)

软件工程习题与答案(第1次)

软件工程学习资料(1)一、填空1、软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。

2、N-S图中的顺序结构:在PAD图中表示为:PAD图设置五种基本控制结构,并允许递归使用。

3、模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。

耦合衡量不同模块彼此之间相互依赖的紧密程度。

内聚衡量一个模块内部各个元素彼此结合的紧密程度。

4、软件测试方法按测试过程是否在实际应用环境中分为静态分析和动态测试。

二、单项选择题1、模块在同一段时间内完成各种初始化工作,这属于。

A.偶然内聚B.逻辑内聚C.时间内聚D.过程内聚2、在编程安全方法方面,一般来说无法做到。

A. 避开错误B.完美无缺,绝无错误C. 冗余D.设计防错程序3、在衡量软件质量时,最重要的标准是。

A. 成本低B. 可维护性好C. 符合要求D. 界面友好4、下列工具中,不属于详细设计工具的是。

A. 测试工具B. 图形工具C. 表格工具D. 语言工具5、下列哪个做法会导致不利的语句结构A.避免使用ELSE GOTO结构B.对递归定义的数据结构尽量不再使用递归过程C.模块功能尽可能单一化,模块间的耦合能够清晰可见D.利用信息隐蔽,确保每一个模块的独立性三、判断题1、Jackson系统开发方法是一种典型的面向对象的分析设计方法。

(×)2、HIPO图是由一组IPO图加一张HC图组成,是美国IBM公司在软件设计中使用的主要表达工具。

(√)3、在软件开发中采用原型系统策略的主要困难是成本问题。

(√)4、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。

(√)5、下图表示的是WHILE 型循环。

(×6的顺序,而数据流图只反映数据的流向,不反映处理逻辑的先后。

(√)四、问答题1、什么是软件答:软件是一种产品,包含下面三方面的含义。

(1)在运行中能提供所希望的功能和性能的指令集(即程序);(2)使程序能够正确运行的数据结构;(3)描述程序研制过程、方法所用的文档。

软件工程复习资料(提纲+答案)

软件工程复习资料(提纲+答案)

软件工程复习资料(提纲+答案)第一章软件工程的实质1、什么是软件?由什么组成?软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档组成的完整集合。

可以写作为:软件=程序+数据+文档。

2、什么是软件危机?为什么会产生?(原因)软件危机:指的是在计算机软件的开发和维护过程中所遇到的一系列严重的问题。

原因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高3、为什么要进行软件开发?4、软件工程的三段论?三段论:软件项目管理论、软件项目开发论、软件过程改进论5、软件工程生存期模型概念、类型、每种类型的特点?答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。

软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。

常见的软件生存周期模型有瀑布模型、V模型、原型模型、增量式模型、螺旋式模型。

6、了解复用的原则第二章软件项目的需求分析1、需求分析的主要任务?(基本任务)答:需求分析阶段的基本任务是要准确的定义新系统的目标,满足用户需要,回答系统必须“做什么”的问题。

本阶段要主要有以下几方面工作:(1)问题识别,双方确定对问题的综合需求,包括:功能需求、性能需求、用户界面需求,以及可靠性、安全性、可维护性等方面的需求。

(2)建立模型,对获取的需求,进行分析细化,划分系统功能,确定系统构成,并建立系统的逻辑模型。

(3)编写文档,也就是完成“需求规格说明书”的编写工作。

2、需求分析分两大块(功能与非功能)功能需求描述系统所预期提供的功能或服务。

非功能需求是对系统提供的服务或功能给出的约束。

包括时间约束、开发过程的约束、标准等。

3、(P27)需求建模的基本方法?答:关联模型、行为模型(数据流模型和状态机模型)、数据模型、面向对象模型、结构化模型(技术:数据流图(DFD)、数据字典(DD)、系统流程图)以及其他方法(如原型法、功能列表等)4、结构化方法的代表?(P29)7状态图活动图8、理解好数据流图为什么要分层?9、UML中常用的9种图?(P32 把包图去掉)静态图:类图、对象图、构件图、实施图和包图。

软件工程复习要点2012秋

软件工程复习要点2012秋

28
代码行估算的方法,并用 Bohem ຫໍສະໝຸດ 单模型估算工作量, (第 13 讲)
Boehm 简单模型 : E =3.2*(KLOC)1.05 (指数幂) 其中,E 是以人月为单位的软件开发工作量
29 通过 putnam 模型进行开发时间的估算 (第 14 讲) Putnam 模型 T=2.4E1/3 其中,E 是开发工作量(以人月为单位) ,T 是开发时间(以月为单位) 。 30 为什么说向一个延期的项目增加人手,只能进一步延期 (第 14 讲) 经验告诉我们,随着开发小组规模扩大,个人生产率将下降,以致开发时间与从事开发工作 的人数并不成反比关系。 1、当小组变得更大时,每个人需要用更多时间与组内其他成员讨论问题、协调工作,因此 增加了通信开销。 2、如果在开发过程中增加小组人员,则最初一段时间内项目组总生产率不仅不会提高反而 会下降。 这是因为新成员在开始时不仅不是生产力, 而且在他们学习期间还需要花费小组其 他成员的时间 Gantt 图和网络图 (第 14 讲) 软件开发 SQA 小组职责有哪些 SQA 小组的职责,是辅助软件工程师以获得高质量的软件产品。其从事的软件质量保证 活动主要是: 计划,监督,记录,分析和报告。简而言之,SQA 小组的作用是,通过确保 软件过程的质量来保证软件产品的质量。 31 32 33 文档审查怎么做 (第 14 讲) 审查过程包括下述 5 个基本步骤: (1)综述。由负责编写文档的一名成员向审查组综述该文档。在综述会结束时把文档分发给 每位与会者。 (2)准备。评审员仔细阅读文档。最好列出在审查中发现的错误类型,并按发生频率把错误 类型分级, 以辅助审查工作。 这些列表有助于评审员们把注意力集中到最常发生错误的区域。 (3)审查。评审组仔细走查整个文档。和走查一样,这一步的目的也是发现文档中的错误, 而不是改正它们。通常每次审查会不超过 90 分钟。审查组组长应该在一天之内写出一份关 于审查的报告。 (4)返工。文档的作者负责解决在审查报告中列出的所有错误及问题。 (5)跟踪。组长必须确保所提出的每个问题都得到了圆满的解决(要么修正了文档,要么澄 清了被误认为是错误的条目) 。必须仔细检查对文档所做的每个修正,以确保没有引入新的 错误。如果在审查过程中返工量超过 5%,则应该由审查组再对文档全面地审查一遍。 34 软件配置管理主要有哪 5 项任务 (第 15 讲) 1. 标识软件配置中的对象 2. 版本控制 3. 变化控制 4. 配置审计 5. 状态报告 即(标识对象、版本控制、变化控制、配置审计和状态报告) 35 CMM(能力成熟度模型)改进过程分哪5级 (第 15 讲) 答案:1、初始级 2、可重复级 3、已定义级 4、已管理级 5、优化级 1 绘制教师,学生,选课的 ER 图 2 使用状态变迁图表示打印机空闲,工作,卡纸,缺纸的状态变迁。 3 为方便旅客,某航空公司拟开发机票预订系统,旅行社把预订机票的旅客信息(姓名, 性 别,工作单位,身份证号码,旅行时间,旅行目的地等)输入该系统,系统安排航班,印出 取票通知和账单, 旅客在飞机起飞前一天凭取票通知和账单交款取票, 系统校对无误即印出

软件工程复习资料2012秋(1)

软件工程复习资料2012秋(1)

软件工程复习题一、 选择题,请从四个可选项中选择正确答案。

1.以下哪一项不是软件危机的表现形式()A. 成本高B. 生产率低C. 技术发展快D. 质量得不到保证2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。

( )A. 演化模型B. 喷泉模型C. 原型模型D. 螺旋模型 3.可行性研究的目的不包括( ) A. 分析开发系统的必要性 B. 确定系统建模的方案C. 分析系统风险D. 确定是否值得开发系统4.可行性分析研究的费用大约是项目总经费的( )。

A. 2%B.8%C.20%D.50%5.在 E-R 模型中,包含以下基本成分( )。

A.数据、对象、实体B. 控制、联系、对象C. 实体、联系、属性D. 实体、属性、联系6.软件需求分析产生一)。

个重要文档是( A. 软件维护说明书 B. 需求规格说明书 C. 可行性报告 D. 初步用户手册7.内聚程度较低的是()。

A. 通信内聚B. 过程内聚C.顺序内聚 D. 时间内聚8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( )A. 把软件划分成模块 B 确定模块之间的调用关系 C. 确定各个模块的功能D. 设计每个模块的伪代码9.UML 语言支持的建模方式不包括有(A. 静态建模B. 动态建模C. 10.以下哪一项不是面向对象的特征。

A. 多态性 B. 继承性 C.11.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( )A. 软件危机B. 软件工程C. 程序设计革命D. 结构化程序设计)。

模块化建模 D. 功能建模 )封装性 D. 过程调用12.瀑布模型的关键不足在于()A. 过于简单B. 不能适应需求的动态变更C. 过于灵活D. 各个阶段需要进行评审13.可行性研究的四大要素是()。

A. 经济、技术、法律和社会环境B. 经济、技术、开发组织能力和领导者水平C. 经济、技术、计算机硬件环境和网络带宽D. 经济、技术、软件开发工具和人员的稳定性14.经济可行性研究的主要内容包括()A. 开发过程B. 开发工具C. 风险分析D. 效益分析15.在需求分析过程中,分析员要从用户那里解决的最重要的问题是()。

软件工程复习资料全

软件工程复习资料全

软件工程复习材料一、考试复习围:1、软件工程基本概念、基本原理2、需求分析,结构化分析、面向对象分析,结构化分析建模、面向对象分析建模3、软件设计,结构化程序设计,概要设计、详细设计4、软件测试二、考试题型:单项选择题、简答题、综合应用题(要求会画:数据流图、软件结构图、用例图、类图、N-S盒图、PAD图)三、复习容:1、什么是软件危机?人们把软件开发和维护中的各种问题称为“软件危机”。

2、软件危机主要包含哪两方面的问题?①如何开发软件以满足软件日益增长的需求。

②如何维护数量不断增长的已有软件。

3、软件危机的表现有哪些?①对软件开发成本和进度的估算很不准确。

②用户对完成的软件很不满意。

③软件产品的质量很不可靠。

④没有完整的文档。

⑤软件成本比重上升。

⑥软件开发生产效率低下,软件开发技术进步落后与需求的增长,造成“供不应求”的局面。

4、什么是软件工程?软件工程的定义:采用工程的概念、原理和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

5、.软件工程包括3个要素有哪些?方法、工具和过程。

6、软件生命周期各阶段有哪些?软件生命周期包括:软件定义、软件开发、软件维护三个时期。

其中:软件定义包括:问题定义、可行性研究、需求分析阶段;软件开发包括:总体设计、详细设计、编码、软件测试阶段。

7、需求分析的任务有哪些?需求分析的任务主要有两个方面:①通过对问题及环境的理解、分析和综合,建立分析模型。

②在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出来。

8、软件系统需求分类是哪些?软件系统需求可以分为功能需求、非功能需求和领域需求:1)功能需求描述系统所预期提供的功能或服务。

即定义系统应该做什么,系统要求输入什么信息,输出什么信息,以及如何将输入变换为输出。

它由开发的软件类型、软件未来的用户以及开发的系统类型决定。

《软件工程》复习提纲

《软件工程》复习提纲

《软件工程》复习提纲第一篇:《软件工程》复习提纲《软件工程》课程要点λ每章教学课件中的“本章小结”列出了需要掌握的内容λ教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1.概念:(1)软件的概念(组成成分、作用);答:计算机软件是程序、数据和相关文档的集合;用于实现计算机系统所需要的逻辑方法和控制过程(2)软件危机的含义、表现、产生原因(客观、主观)答:计算机软件开发和维护过程中遇到的一系列严重问题。

软件危机的表现:①对软件开发成本和进度的估计很不准确②已完成的软件不能满足用户需求③软件质量差④软件不可维护⑤软件没有开发文档⑥软件成本在计算机系统总成本中所占的比例逐年上升⑦软件生产率跟不上硬件的发展和计算机迅速普及的趋势与软件的特点有关(客观原因):①软件是计算机系统中的逻辑部件,缺乏“可见性”,管理和控制软件开发过程相当困难②软件在使用期间不存在机械磨损和老化问题,一旦发现错误,通常意味着修改原来的设计,因此软件难维护③软件规模庞大,程序复杂性增加,需多人分工合作(不能保证每个人完成的工作合在一起构成一个高质量的大型软件系统)与软件开发和维护的方法不正确有关(主观原因):① 开发无计划② 忽视软件需求分析的重要性③ 轻视软件维护④ 无过硬评测手段⑤ 缺乏有力的开发方法和工具⑥ 不重视开发文档等软件配置(3)软件工程学科包括的内容(三要素)、解决的主要问题答:(1)软件工程定义:1)软件工程是指导计算机软件开发和维护的工程学科2)采用工程化的概念、原理、技术和方法来开发和维护软件3)将经过时间考验而证明正确的管理技术和开发技术结合起来,以较经济的手段开发出高质量的软件并有效维护它2)软件工程方法学的三要素:①方法:完成软件开发各项任务的技术方法1 ②工具:为方法的高效运用,而提供的自动或半自动的软件支撑环境③过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤(4)软件生命周期的含义、组成阶段及各阶段主要任务答:软件生命周期:一个软件从定义、开发、运行维护,直到最终被废弃要经历一个漫长的时期,这个时期称为软件生命周期。

2012软导知识整理

2012软导知识整理

2012年度软件工程导论一、试卷结构1.选择题2.填空3.名词解释4.问答5.操作题6.计算题二、内容1、2见课件3、名词解释1)软件危机在软件开发和维护过程中一些列严重问题。

2)软件工程软件工程是指研究软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件。

3)软件生命周期软件周期是由软件定义、软件开发和运行维护3个时期组成。

4)瀑布模型将软件生存周期的各项活动规定为依照固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件产品。

5)数据字典以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。

6)投资回收期使累积的经济效益等于最初投资所需要的时间。

7)模块化指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。

8)逐步求精为了能集中精力解决主要问题而尽量推迟对问题细节的考虑,把一个时期内必须解决的种种问题按优先级排序的技术。

9)信息隐蔽把系统分解为模块时应该遵守的指导思想,在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。

10)Beta测试β测试是由软件的多个用户在实际使用环境下进行的测试。

11)黑盒测试技术把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

12)维护在软件已经交付使用后,为了改正错误或满足新的要求而修改软件的过程。

4、问答1)软件危机的原因及表现软件危机产生的原因:一方面与软件本身的特点有关,另一方面也和软件开发和维护的方法不正确有关。

这场软件危机表现在:一方面软件十分复杂,价格昂贵,供需差日益增大,另一方面软件开发时又常常受挫,质量差,指定的进度表和完成日期很少能按时实现,研制过程很难管理,即软件的研制往往失去控制。

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

软件工程复习题一一、选择题,请从四个可选项中选择正确答案。

1.以下哪一项不是软件危机的表现形式()A.成本高B.生产率低C.技术发展快D.质量得不到保证2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。

()A.演化模型B.喷泉模型C.原型模型D.螺旋模型3.可行性研究的目的不包括()A.分析开发系统的必要性B.确定系统建模的方案C.分析系统风险D.确定是否值得开发系统4.可行性分析研究的费用大约是项目总经费的()。

A.2%B.8%C.20%D.50%5.在E-R 模型中,包含以下基本成分()。

A.数据、对象、实体B.控制、联系、对象C.实体、联系、属性D.实体、属性、联系6.软件需求分析产生一个重要文档是()。

A.软件维护说明书B.需求规格说明书C.可行性报告D.初步用户手册7.内聚程度较低的是()。

A.通信内聚B.过程内聚C.顺序内聚D.时间内聚8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()A.把软件划分成模块 B确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码9.UML 语言支持的建模方式不包括有()。

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.开发过程B.开发工具C.风险分析D. 效益分析15.在需求分析过程中,分析员要从用户那里解决的最重要的问题是()。

A.要求软件做什么B.要给软件提供哪些信息C.要求软件工作效率如何D.要求软件具有什么样的结构16.DFD中的每个加工至少需要()A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流17.PDL是描述处理过程()。

A.做什么B.为什么做C.怎么做D.对谁做18.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合 B.公共耦合 C.标记耦合 D.内容耦合19.按照模块独立性,耦合程度由弱至强正确的顺序是()。

A.数据耦合、控制耦合、外部耦合、内容耦合B.控制耦合、数据耦合、内容耦合、外部耦合C.内容耦合、外部耦合、控制耦合、数据耦合D.外部耦合、内容耦合、数据耦合、控制耦合20.UML 中,包图是一种()。

A.集合B.数据结构C.分组机制D.对系统的动态描述21.面向对象设计首先要确定系统的总体结构和风格,构造系统的()。

A.逻辑模型B.物理模型C.数据模型D.用例模型22.面向对象设计的步骤中,正确的顺序是()。

A.系统构架设计、用例设计、类设计B.系统构架设计、数据库设计和用户界面设计C.类设计、用例设计、构架设计D.用例设计、构架设计、类设计23.类有3种类型,即()。

A.边界类、实体类、控制类B.实体类、控制类、界面类C.控制类、实体类、虚类D.界面类、控制类、公共类24.()是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。

A.消息连接B.参数传递C.方法重写D.继承25.结构化程序设计主要强调的是()。

A.程序的规模B.程序效率C.程序语言的先进性D.程序易读性26.下列关于功能性注释不正确的说法是()。

A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B. 注释用来说明程序段,需要在每一行都要加注释C. 可使用空行或缩进,以便很容易区分注释和程序D. 修改程序也应修改注释27.软件测试的目的是()。

A.评价软件的质量B.发现软件的错误C.找出软件中的所有错误D.证明软件是正确的28.在设计黑盒测试用例时,主要研究()。

/course_ware/software/test/ - 412A. 概要设计说明书B.详细设计说明C.项目开发计划D. 需求规格说明29.以下属于完善性维护的有()。

A.解决开发时未能测试各种可能条件带来的问题B.增加联机求助命令C.缩短系统的应答时间,使其达到特定要求D.为提高软件的可靠性和可维护性,主动修改软件40.软件项目管理的内容包括()。

A.人员的组织与管理B.软件配置管理C.软件开发进度计划D.以上所有31.以下哪一项不属于面向对象的软件开发方法()A.coad方法B.booch方法C.jackson方法D.omt方法32.面向对象分析的核心在于()。

A.建立正确的模型B.识别问题域对象C.识别对象之间的关系D.上面都有33.在面向对象方法中,描述系统控制结构的模型是()模型。

A. 动态模型B. 功能模型C. 对象模型D. 静态模型34.面向对象分析和设计涉及到三个方面的内容:()、一系列有效的分析步骤和一个方便易用的建模工具。

A.一套完善的建模符号B.有效的数据结构C.灵活的体系结构D.稳定的系统架构35.每个子系统的接口上定义了若干(),体现了子系统的功能。

A.说明B.操作C.属性D.关系36.程序设计语言的技术特性不应包括()。

A.数据结构的描述性B.抽象类型的描述性C.数据库的易操作性D.软件的可移植性37.以下哪种测试方法不属于白盒测试技术()。

A.语句覆盖测试B.边界值分析测试C.条件覆盖测试D.判断覆盖测试38.软件测试的主要特点是()。

A.软件测试的开销不大 B.软件测试要依靠工具C.软件不能进行“穷举”测试 D.软件测试要依靠人工39.在软件生存期的维护阶段,继续诊断和修正错误的过程称为()。

A.完善性维护B.适应性维护C.预防性维护D.改正性维护40.不属于软件项目管理的是()。

A.开发机构能力评估B.项目风险评估C.质量监控D.软件销售利润二、简答题1.什么是软件危机?试简述至少3种软件危机的典型表现。

2.简述软件过程模型3.简述结构化分析的主要步骤4. 请给出软件工程七条基本原理中的任意6条基本原理。

5.软件工程为什么要强调规范化和文档化?6.简述模块独立性,内聚与耦合。

7.设计下列伪程序的语句覆盖测试用例。

BEGININPUT(A,B,C)IF A>5 THENX=10ELSEX=1END IFIF B>10 THENY=20ELSEY=2END IFIF C>15THEN Z=30ELSE Z=3END IFPRINT(X,Y,Z)END8. 为了提高软件的可维护性,在软件开发过程的各个阶段怎样充分考虑软件的可维护性因素。

9.简述在项目开发时选择程序设计语言的主要考虑的因素。

10.设计下列伪程序的条件组合覆盖测试用例。

BEGININPUT(A,B)IF(A>0) AND (B>0) THENX=A+BELSEX=A-BENDIF (C>A) OR (D<B) THENY=C-DELSEY=C+DENDPRINT(X,Y)END三、应用题1.一个简单的飞机机票预订系统:机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来。

旅行社把预订机票的旅客信息 (姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。

系统为旅客安排航班,打印出取票通知单(附有应交的账款)。

旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。

请你根据以上的描述,画出数据流程图。

2. 用用例图描述图书管理。

该系统主要包括三类用户:读者、图书管理员、系统管理员。

其中,读者是多个,图书管理员是几个,系统管理员是一个。

对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。

图书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。

参考答案一、选择题,请从四个可选项中选择正确答案。

1. C2. A3. B4. B5. C6.B7.D8.D9.C 10.D11.A 12.B 13.A 14.D 15.A16.D 17.C 18.D 19.A 20.C21.B 22.A 23.B 24.D 25.D26.B 27.B 28.D 29.B 30.D31.C 32.D 33.A 34.A 35.B36.D 37.B 38.C 39.D 40.D二、简答题1.什么是软件危机?试简述至少3种软件危机的典型表现。

答:(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。

(2)典型表现:●开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;●软件需求分析不够充分,用户不满意“已经完成”的软件系统。

●软件质量难于保证;●软件维护困难;●通常没有保留适当的文档资料●开发成本逐年上升;●软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势2. 简述软件过程模型答:(1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。

它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定义每个角色和职责。

(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。

3. 简述结构化分析的主要步骤答:(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO图),实体关系图。

(2)以初始数据流程图为基础,从数据流程图的输出端开始回溯。

在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。

(3)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。

(4)系统分析人员与用户一起对需求分析的结果进行复查。

(5)根据细化的需求修订开发计划。

(6)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。

4. 请给出软件工程七条基本原理中的任意6条基本原理。

答:原理1.用分阶段的生命周期计划严格管理原理2.坚持进行阶段评审原理3.实行严格的产品控制原理4.采用现代程序设计技术原理5.结果应能清楚地审查原理6.开发小组的人员应该少而精原理7.承认不断改进软件工程实践的必要性5.软件工程为什么要强调规范化和文档化?答:(1)软件工程强调规范化和文档化。

相关文档
最新文档