现代软件工程平时作业及答案.doc

合集下载

中央电大《软件工程》平时作业1、2、3、4次及答案

中央电大《软件工程》平时作业1、2、3、4次及答案

软件工程第1次作业一、填空题(每空2分,共20分)二、单项选择题(将一个正确的答案代码填入括号中,每小题3分,共15分) 1.( )是用户和设计交换最频繁的方法。

A. 原型化方法B.瀑布模型方法C. 螺旋模型方法D. 构件组装模型方法2.下列哪个阶段不是软件生存期三个阶段中的内容( )。

A. 计划阶段B.开发阶段C. 编码阶段D. 维护阶段3.下列( )操作产生的副作用属于数据副作用。

A. 修改子程序B.局部变量的再定义C. 删除标识符D.修改对编辑条件的测试4.软件测试的目的( )。

A. 避免软件开发中出现的错误B.发现软件开发中出现的错误C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性D.修改软件中出现的错误5.完成详细设计的工具不包括( )。

A.PAD图B.数据流图C.HlP()图D.程序流程图三、多项选择题(将一个以上正确的答案代码填入括号中,每小题3 分,共15分) 1.应从( )等方面研究可行性。

A. 经济可行性B.技术可行性C. 运行可行性D.法律可行性2.对于下列的数据流图的局部,有关描述中正确的是( )。

A. 该图为第一层数据流图3.需求分析阶段结束后,交出的文档中应该包括( )。

A. 数据流图B.数据字典C. 简明的算法描述D.项目的经费预算4.软件管理工作涉及到的直接对象包括( )。

A. 软件开发人员B.硬件设备C. 项目经费D.软件项目5.在软件设计中,( )耦合应尽量避免。

A. 控制B.数据C.内容 D. 标记四、判断题(正确的在括号内打上“√”,错误的打上“X”。

每小题2分,共10分)1。

软件危机是指在软件开发和维护过程中遇到的一系列严重问题。

( )2,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。

( ) 3.UML只能应用于软件系统模型的建立。

( )4.程序设计语言中应绝对禁止使用GOTO语句。

2022年中央电大《软件工程》平时作业1、2、3、4次及答案

2022年中央电大《软件工程》平时作业1、2、3、4次及答案

软件工程第1次作业一、填空题(每空2分,共20分)二、单项选取题(将一种对的答案代码填入括号中,每小题3分,共15分) 1.( )是顾客和设计互换最频繁办法。

A. 原型化办法B.瀑布模型办法C. 螺旋模型办法D. 构件组装模型办法2.下列哪个阶段不是软件生存期三个阶段中内容( )。

A. 筹划阶段B.开发阶段C. 编码阶段D. 维护阶段3.下列( )操作产生副作用属于数据副作用。

A. 修改子程序B.局部变量再定义C. 删除标记符D.修改对编辑条件测试4.软件测试目( )。

A. 避免软件开发中浮现错误B.发现软件开发中浮现错误C.尽量发现并排除软件中潜藏错误,提高软件可靠性D.修改软件中浮现错误5.完毕详细设计工具不涉及( )。

A.PAD图B.数据流图C.HlP()图D.程序流程图三、多项选取题(将一种以上对的答案代码填入括号中,每小题3 分,共15分) 1.应从( )等方面研究可行性。

A. 经济可行性B.技术可行性C. 运营可行性D.法律可行性2.对于下列数据流图局部,关于描述中对的是( )。

A. 该图为第一层数据流图3.需求分析阶段结束后,交出文档中应当涉及( )。

A. 数据流图B.数据字典C. 简要算法描述D.项目经费预算4.软件管理工作涉及到直接对象涉及( )。

A. 软件开发人员B.硬件设备C. 项目经费D.软件项目5.在软件设计中,( )耦合应尽量避免。

A. 控制B.数据C.内容 D. 标记四、判断题(对的在括号内打上“√”,错误打上“X”。

每小题2分,共10分)1。

软件危机是指在软件开发和维护过程中遇到一系列严重问题。

( )2,构造化分析办法就是用抽象模型概念,按照软件内部数据传递、变换关系,自顶向下逐级分解,直到找到满足功能规定所有可实现软件为止。

( )3.UML只能应用于软件系统模型建立。

( )4.程序设计语言中应绝对禁止使用GOTO语句。

( ) 5.模块越小,模块长处越大。

( )五、问答题(每小题10分,共20分)1.什么是软件?什么是软件工程?2.什么是编码风格?为什么要强调编码风格?六、分析题(共20分)依照下列N—S图,写出其相应伪码。

软件工程作业全部答案

软件工程作业全部答案

软件⼯程作业全部答案1、3. 请读者详细解释软件的定义与程序的定义。

软件的定义:软件 = 程序 + 数据 + ⽂档。

这⾥的程序就是指程序系统。

这⾥的数据不仅包括初始化数据、测试数据,⽽且包括研发数据、运⾏数据、维护数据,也包括软件企业积累的项⽬⼯程数据与项⽬管理数据中的⼤量决策原始记录数据。

这⾥的⽂档指的就是软件开发过程中的分析、设计、实现、测试、维护⽂档、管理⽂档。

现在有⼀种新提法正在引起关注,这种提法就是:软件 = 知识 + 程序 + 数据 + ⽂档。

程序就是计算机为完成特定任务⽽执⾏的指令的有序集合。

从应⽤的⾓度可理解为: ⾯向过程的程序 = 算法 + 数据结构⾯向对象的程序 = 对象 + 信息⾯向构件的程序 = 构件 + 构架。

1、5. 读者同意“四种开发⽅法”与“五个⾯向理论”的提法不?为什么?“四种开发⽅法”就是指“⾯向过程的⽅法、⾯向对象的⽅法、⾯向数据的⽅法、形式化⽅法”,⾯向过程的⽅法来源于⾯向过程的程序设计,⾯向对象的⽅法来源于⾯向对象的程序设计,⾯向数据的⽅法就就是⾯向元数据的⽅法,它来源于关系数据库程序设计,形式化⽅法来源于离散数学中的集合运算与逻辑运算。

四种⽅法各适⽤于不同的场合,各有优缺点,互相促进,构成⼀个开发⽅法论的多极化世界。

“五个⾯向理论”就是指“⾯向流程分析、⾯向数据设计、⾯向对象实现、⾯向功能测试、⾯向过程管理”,它就是在综合“四种开发⽅法”各⾃的优点之后提出的软件⼯程实施理论,就是对前者的继承与发展。

总之,上述提法既精彩⼜实⽤。

2、1 为什么要选择软件开发模型?软件开发模型与软件⽣存周期有什么关系?因为软件开发模型就是软件⼯程研究的四⼤内容之⼀,它虽然不就是软件⼯程研究的重点,但就是在宏观上特别重要。

软件公司的项⽬组在开发⼀个⼤项⽬或产品时,⾸先在技术上必须选择⼀个开发模型,使开发模型⾮常适合这个项⽬或产品的⽣存周期;随后通过对⽣存周期的裁减,来给出适合与本项⽬或产品的软件⽣存周期定义。

软件工程(本)平时作业

软件工程(本)平时作业

《软件工程》平时作业第一次作业:第一章软件工程概述1.软件是一种____A、程序B、数据C、逻辑产品D、物理产品2.软件开发的结构化生命周期方法将软件生命周期划分成A) 计划阶段、开发阶段、运行阶段 B) 计划阶段、编程阶段、测试阶段C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计3.“软件危机”产生的主要原因是____。

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件4.判断:(1)软件开发小组的组成人员的素质应该好,而人数则不宜过多。

()(2)文档只起备忘录的作用,可以在软件开发完成后再整理生成。

()(3)总体设计的基本目的就是回答:“概括地说,系统应该如何实现?”这个问题。

()(4)没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了程序的运行效率。

()(5) 文档是影响软件可维护性的决定因素。

()5.软件工程的结构化生命周期方法中,一般将软件设计阶段再划分为____、_____两个阶段。

6.概念:软件工程、、软件生存周期7.什么是软件危机?为什么会发生软件危机?怎样挽救软件危机?8.什么是软件工程?软件工程的要素是什么?第三章软件需求分析1.原型化方法是用户和设计者之间执行的一种交互过程,适用于__A__系统,它从用户界面设计开始,首先形成__B__,用户__C__并就__D__提出意见。

它是一种__E__型的设计过程。

供选择的答案:A:①需求不确定性高的②需求确定的③管理信息④决策支持B:①用户界面使用手册②界面需求分析说明书③系统界面原型④完善的用户界面C:①改进界面的设计②使用和不使用那种编程语言③程序的结构④运行界面原型D:①同意什么和不同意什么②使用和不使用那种编程语言③程序的结构④执行速度是否满足要求E:①自外向内②自顶向下③自内向外④自底向上2.需求分析最终结果是产生____A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告3.软件计划需经过___________、_____________两个阶段4.结构化分析方法以数据流图、____和加工说明等描述工具,既用直观的图和简洁的语言来描述软件系统模型。

(完整word版)软件工程习题集+答案

(完整word版)软件工程习题集+答案

(完整word版)软件工程习题集+答案《软件工程》习题集目录一软件与软件工程 (1)二软件项目管理 (4)三需求分析 (7)四面向对象的需求分析 (10)五软件设计 (15)六程序设计语言和编码 (18)七软件测试 (20)八软件维护 (23)综合试卷一 (25)综合试卷二 (28)综合试卷三 (31)附参考答案: (34)一软件与软件工程参考答案 (34)二软件工程管理参考答案 (37)三需求分析参考答案 (39)四面向对象的需求分析参考答案 (43)五软件设计参考答案 (52)六程序设计语言和编码参考答案 (55)七软件测试参考答案 (59)八软件维护参考答案 (62)综合试卷一参考答案及评分标准 (65)综合试卷二参考答案及评分标准 (68)综合试卷三参考答案及评分标准 (71)一软件与软件工程一、选择题1.软件的主要特性是()B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4.软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7.软件开发方法的主要工作模型有()B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。

B、克服软件危机。

C、作好软件开发的培训工作。

D、以较低的成本开发出高质量的软件。

二、判断题1.软件就是程序,编写软件就是编写程序。

2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

现代软件工程第二章答案

现代软件工程第二章答案

习题二参考答案一. 填空题1.值得去开发, 其中的问题能否解决,需求分析, 设计2. 技术, 经济, 社会3. 研究正在运行的系统, 建立新系统的高层逻辑模型4. 所建议系统的技术可行性分析, 所建议系统的经济可行性分析, 社会因素可行性分析5. 经济角度开发成本比较和权衡二、选择题1. A2. B【解析】:经济可行性是从开发费用和软件回报的角度来分析开发该软件系统是否可行。

技术可行性是从软件实现的功能、用户要求的软件性能、是否有技术难题等方面等考虑开发该软件的可行性问题。

操作可行性判断系统的操作方式在该用户组织内是否可行,法律可行性对方在考虑开发的软件系统可能会涉及的任何侵犯、妨碍、责任等问题做出决定。

所以答案为B。

3. B4. D5. D【解析】:在软件开发中,开发人员的交流似乎非常主要的,而一个开发人员进入一个新的软件系统做开发,需要相当长的一个阶段以适应该软件的开发,这主要是由于新的人员需要一定时间的培训以熟悉该软件系统的开发状况及该软件的需求分析、定义和相关已经生成的文档,以便在软件开发中与老开发人员的交流和通信,一推动软件开发前进。

所以答案为D。

6. D【解析】:软件的计划主要是根据软件开发的要求、软件系统的规模等,对软件开发的各种资源(包括软硬见资源及开发人员)进行合理的规划,以便在开发过程中得到合理的调度,从而使软件开发最充分地利用资源,以在最短的时间内取得最大的经济效益;软件工程经济学的任务是对软件开发的成本、效益等进行分析和估算;软件工程管理学的任务是有效组织和管理软件开发,软件工程开发技术的任务之一是设计和测试软件系统。

所以答案是D。

7. A 8. A 9. C 10. D三、简答题1.可行性研究首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。

把它们清楚地列举出来。

然后,分析员进行简要的需求分析,经过压缩的设计,探索出若干种可供选择的主要解决方法。

现代软件工程课后习题答案

现代软件工程学校:玉溪师范学院姓名:周应光第一章选择题:1.ABC2.CD3.A4.C5.ABCD6.BD7.ABC8.ABC9.ABD判断题:×××√×√×××√简答题:1.软件产品的特性是什么?a.软件产品是一种逻辑产品,具有无形性。

b.软件产品的生产主是研制,c.软件不存在磨损和老化问题,但存在退化问题d.软件产品的生产主要是脑力劳动,e.软件费用不断增加,成本相当昂贵。

f.软件具有“复杂性”,其开发和运行常受到计算机系统的限制3.什么是软件危机?其产生的原因是什么?1》软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。

一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

2》软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。

b.软件开发管理困难而复杂。

c.软件开发费用不断增加。

d.软件开发技术落后。

e.生产方式落后。

f.开发工具落后,生产率提高缓慢。

4.什么是软件生存周期模型?有哪些主要模型?1》软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。

(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。

)2》软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等5.什么是软件开发的方法?有哪些主要方法?软件开发的方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。

主要方法:结构方法、Jackson方法、维也纳开发方法(VDM)、面向对象的开发方法。

6.软件生命期个阶段的任务是什么?答:软件生命期瀑布模型分为六个阶段:。

可行性研究与计划。

需求分析与规格说明。

设计。

编程。

测试。

运行维护第二章可行性研究填空题1.值得去开发,其中的问题能否解决,设计2.技术,经济,社会3.研究正在运行的系统,建立新系统的高层逻辑模型4,。

软件工程作业及参考答案(版)

软件工程作业及参考答案(最新版)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII软件工程一、软件危机与软件工程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.质量保证② A.需求分析 B.可行性研究C总体设计 D模块化设计③ A.文档编制 B.运行维护C.测试 D.验收8.软件开发中常采用的生命周期方法,由于其特征而一般称其为()。

A.层次模型B.瀑布模型 C.螺旋模型 D.对象模型9.描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。

其中,设计阶段又可以分成(B)和(C)两个步骤。

A:①需求分析②可行性研究③需求调查④问题定义B,C:①方案设计②代码设计③概要(总体)设计④数据设计⑤详细设计10.什么是软件危机软件危机产生的原因11.生命周期阶段的划分每个阶段的任务二、可行性研究1.可行性研究的任务步骤对于各种可能的方案,从哪几个方面进行可行性研究参考答案:任务:在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。

现代软件工程第3章作业.

1.填空题(1在进行可行性研究和计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入阶段。

(2需求分析的基本任务是要准确地定义,为了满足用户的需要,回答系统必须的问题。

(3在需求分析阶段,首先进行问题识别,即双方确定对问题的综合需求,这些需求包括、、、。

另外还有可靠性、安全性、保密性、可维护性等方面的需求。

(4需求分析的困难主要表现在4个方面:问题的复杂性、、、需求易变性。

(5数据流图有4个基本成分:、、、。

(6数据词典中的加工逻辑主要描述该加工的,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变量变换为输出数据流的。

(7SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书的主要部分。

这些描述工具是、、、、。

(8数据词典就是用来定义数据流图中的的。

它和数据流图共同构成了系统的,是的主要组成部分。

(9加工逻辑也称“小说明”,常用的加工逻辑的描述工具有:、、。

三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用描述。

对于存在多个条件复杂的判断问题,用和。

(10传统的SA方法主要用于的问题,主要工具DFD图体现了系统的功能,但它仅是一个,没有处理的顺序,即。

2.选择题(1需求分析是(A.要回答“软件必须做什么”B.可概括为“理解、分解、表达”六个字C.要求编写需求规格说明书D.以上都对(2进行需求分析可使用多种工具,但(是不适用的。

A.数据流图B.判定表C.PAD图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.设计说明书(8SA方法用DFD图描述(A.系统的控制流图B.系统的数据结构C.系统的基本加工D.系统的功能(9需求分析阶段不适于描述加工逻辑的工具是(A.结构化语言B.判定表C.判定树D. 流程图(10SA方法的基本思想是(A.自底向上逐步抽象B.自底向上逐步分解C.自顶向下逐步分解D.自顶向下逐步抽象3.简答题(1需求分析阶段的基本任务是什么?需求分析的难点主要表现在哪几个方面?(2画数据流图的步骤是什么?画数据流图应该注意什么事项?(3描述加工逻辑有哪些工具?(4什么是结构化分析方法?该方法使用什么描述工具?具有什么样的优缺点?(5传统的软件开发模型的缺陷是什么?原型化方法的类型有哪些?原型化开发模型的主要优点是什么?。

《软件工程》作业与参考答案

一、填空(15分)1、需求分析的任务:1)。

确定目标系统的综合要求A。

目标系统的功能要求B。

目标系统的性能要求C。

目标系统运行的环境要求D。

目标系统的扩展要求2)。

分析目标系统的数据要求A。

需要哪些数据?B。

数据之间有什么联系?C。

数据有什么属性及数据结构?D。

对数据的处理逻辑?3)。

导出目标系统的逻辑模型4)。

修正系统流程图5)。

修正系统开发计划6)。

开发原型系统2、模块设计准则1)、改进软件结构提高模块独立性(低耦合高内聚)2)、模块规模要适中3)、深度、宽度、扇入及扇出要适当4)、设计单入口单出口的模块5)、模块功能应该可以预测6)、降低接口的复杂性7)、模块的作用域应该在控制域之内3、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?1)、无法开发复杂程度高的软件2)、成本和进度估计不准3)、无统一科学的规范,软件不可维护4)、无质量保证,可靠性差5)、软件常不能满足用户的需求6)、无适当的文档资料7)、软件生产率太低4 、总体设计的任务1)、设计系统的物理实现方案2)、设计软件的整体结构,划分程序功能模块,决定模块间的接口关系和传递信息; 3)、设计系统全局的存贮数据结构4)、设计系统I/O的方式和格式;5)、设计系统安全性、出错处理及代码等6)、设计组装测试计划。

5、从下列关于结构化程序设计的叙述中选出5条正确的叙述。

①程序设计比较方便,但比较难以维护。

②便于由多个人分工编制大型程序。

③软件的功能便于扩充。

④程序易于理解,也便于排错。

⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。

⑥模块之间的接口叫做数据文件。

⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。

⑧模块间的单向调用关系叫做模块的层次结构。

⑨模块越小,模块化的优点越明显。

一般来说,模块的大小都在10行以下。

答:正确的叙述有②、③、④、⑦、⑧。

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

(一)名词解释1.软件2.软件危机3.数据流图4.数据字典5.变换流6.事务流7.耦合性8.内聚性9.程序设计语言(PDL)(二)填空题1. 在信息处理和计算机领域内,一般认为软件是_____、_____ 和_____ 。

2. 数据流图的基本组成部分有_____、_____、_____、_____。

3. 数据流图和数据字典共同构成了系统的_____模型,是需求规格说明书的主要组成部分。

4. 数据流图一般可分为_____和_____两类。

5. 结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为_____数据流图。

6. PDL是描述处理过程“_____ ”的细节,结构化语言是描述加工“_____ ”的。

(三)选择题1. 软件工程的概念是哪年提出的( )。

A. 1988B. 1968C. 1948D. 19282. 影响输入输出风格的因素不包括( )。

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. 需求分析阶段的研究对象是()。

A. 用户要求B. 分析员要求C. 系统要求D. 软硬件要求11. 可自动生成程序的详细设计方法是()。

A. 流程图B. IPO图C. 盒图D. PAD图12. 可行性研究采用()概括说明软件系统的物理模型。

A. 数据字典B. 系统流程图C. 数据流图D. 成本-效益分析(四)简答题1. 简述瀑布模型的阶段划分和各阶段的主要任务以及瀑布模型存在的问题。

2. 简述SA方法的优缺点。

3. 变换分析设计与事务分析设计有什么区别?简述其设计步骤。

(五)应用题某单位住房分配方案如下:所有住户50平方米以内每平方米1000元,超过50平方米后:在本人住房标准面积以内每平方米1500元,其中住房标准为:教授105平方米,副教授90平方米,讲师75平方米;标准面积以外每平方米4000元。

请用判定表和判定树表示各条件组合与费用之间的关系。

参考答案:(一)名词解释1. 软件是计算机程序、数据以及相关的各种文档的集合。

2. 软件危机是在软件发展第二阶段末期的规模较大的项目开发中,出现了与当初的计划推迟交工、费用比预算大幅度上升、不能满足用户要求、可靠性低、维护困难等问题,导致了软件危机。

3. 数据流图是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。

4. 数据字典是用来定义数据流图中的各个成分的具体含义的。

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

5. 变换流指数据流图(简称DFD)具有明显的输入、变换和输出界面。

6. 事务流指数据流图中输入流被分离成许多数据流,形成许多加工路径,并根据输入值选择其中一条路径来执行。

7. 耦合性也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。

8. 内聚性又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

9. 程序设计语言(简称PDL),又称伪码,它是一种用于描述模块算法设计和处理细节的语言。

(二)填空题1. 程序文档数据2. 数据流加工数据存储数据源点或终点3. 逻辑4. 变换型事务型5. 事务型6. 怎么做做什么(三)选择题1.B2.A3.D4.D5.C6.A7.A8.A9. D 10. A 11.D 12. B(四)简答题1. 瀑布模型的阶段划分和各阶段的任务为:(1) 需求分析和定义根据系统的使用者(需方)需求进行具体分析,制定系统应完成的功能、目标、各项服务和限制,确定工作范围和所花费的代价。

并且以用户和软件开发人员都能理解的形式加以定义和明确。

(2) 系统和软件设计先把用户的需求分成硬件需求和软件需求,在此基础上确定整个系统的结构。

在软件设计中,进一步把用户的要求和系统的目标在软件系统的各项功能中表现出来,并分别使之达到能够进行程序设计的程度。

(3) 编程和单元测试在这个阶段中,软件的设计已经以程序集合或单元程序的形式完成,并包含了验证各个单元程序是否满足式样要求的单元测试。

(4) 综合测试和系统测试把各个单元程序和程序组结合起来,作为一个完整的系统进行测试。

在这种测试中,一方面要发现和排除系统或程序中的错误,更重要的是要确认已完成的系统是否满足用户和设计者的要求。

测试后,把这个软件提供给用户。

(5) 运行和维护运行和维护是软件生存期中需要时间较长的一个阶段,在这一阶段,系统被实际装入并实际应用,那些在软件开发初期没有被发现的错误,或者是用户提出新的要求,都需要在这一阶段加以解决。

瀑布模型的问题之一是对软件工程中的反复性质认识不足,另外还有一个缺点是在开发工程的初期,就必须把规格式样确定下来,而在有些情况下,由于用户的需求不明确,某些规格式样开始是不太好确定的。

软件工程是复杂的、多变的工程,用单纯的线性模型很难完全表示出来。

2. SA方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种分析方法。

较适用于开发数据处理类型软件的需求分析。

利用图形等半形式化工具表达需求,简明、易读,也易于使用。

但也存在一些弱点,表现如下:SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程,因此,不适合描述实时控制系统。

SA方法使用DFD在分析与描述“数据要求”方面是有局限的,只有与数据库技术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。

DFD不适合描述人机界面系统的要求、如一些人机交互较频繁的软件系统。

SA方法要与形式化方法结合起来,才能更精确地描述软件需求。

要借助需求分析工具,提高需求分析的质量及效率。

3. 变换分析设计是一个顺序结构,由输入、变换和输出三部分组成,其工作过程有3步:取得数据、变换数据和给出数据。

事务分析设计是将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行。

二者区别:变换分析设计适用于具有明显变换特征的数据流图,事务分析设计适用于具有明显事务特征的数据流图。

变换分析设计步骤:①确定DFD中的变换中心、逻辑输入和逻辑输出:从物理输入端开始,沿着数据流方向向系统中心寻找,直到有这样的数据流,它不能再被看做是系统的输入,则它的前一个数据流是系统的逻辑输入。

从物理输出端开始,逆数据流方向向中间移动,可以确定系统的逻辑输出。

介于逻辑输入和逻辑输出之间的加工就是变换中心,即主加工。

②设计软件结构的顶层和第一层——变换结构:顶层即主模块,主要完成所有模块的控制。

第一层至少有3个功能模块:输入、输出和变换模块,即为逻辑输入设计一个输入模块,其功能是为顶层模块提供相应数据,为逻辑输出设计一个输出模块,其功能是输出顶层模块的信息,为变换中心设计一个变换模块,其功能是将逻辑输入进行变换加工,然后逻辑输出。

③设计中、下层模块。

对第一层的输入、变换、输出模块自顶向下逐层分解。

输入模块下属模块的设计:可设计两个下属模块,一个接收,一个转换。

输出模块下属模块的设计:可设计两个下属模块,一个转换,一个发送。

变换模块下属模块的设计:按照模块独立性原则来组织其结构,一般对每个基本加工建立一个功能模块。

④设计的优化:输入部分求精:为每个物理输入设置专门模块,其他输入模块与转换数据模块可适当合并。

输出部分求精:为每个物理输出设置专门模块,其他输出模块与转换数据模块可适当合并。

变换部分求精:根据设计准则,对模块进行合并或调整。

事务分析设计步骤:①确定DFD的事务中心和加工路径:当数据流图中每个加工将一个输入数据分解成多个发散的输出数据流时,该加工就是事务中心,从事务中心辐射出去的数据流为各个加工路径。

②设计软件结构的顶层和第一层——事务结构。

顶层是一个全控模块,有两个部分:接收分支(与变换型DFD的输入部分设计方法相同)和发送分支(即调度模块,它控制管理所有下层的事务处理模块)。

③设计中、下层模块、优化等工作,与变换分析设计相同。

(五)应用题S表示住房面积,M表示住房费用。

条件取值表判定表判定树。

相关文档
最新文档