软件工程复习资料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. 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)软件工程强调规范化和文档化。

相关文档
最新文档