当前位置:文档之家› 软件工程问题整理版

软件工程问题整理版

软件工程问题整理版
软件工程问题整理版

1、软件危机定义、发生原因、常见表现,如避免软件危机?

(1)软件危机定义:课本Page 8(开发和维护过程)

(2)发生原因、常见表现:课本Page 8-9,练习册Page 1

(3)如避免:Page 10 (采用软件工程的法)

答案(由于大部分答案参考ppt,故仅供参考,下同)

软件危机定义:是指在计算机软件的开发和维护过程中所遇到的一系列重问题。

表现在:

(1)对于软件开发的成本和进度的估计很不准确。

(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。

(3)开发的软件可靠性差。

(4)软件通常没有适当的文档。

(5)软件的可维护性差。

(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。

原因:

(1)软件的规模愈发庞大;

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

(3)成功的软件开发经验没被很好地应用。

(4)软件开发和维护中千金错误认识和法的形成可以归结与计算机发展早期软件开发的个体化特点。

(5)软件开发技术落后。

(6)生产式落后。

(7)开发工具落后,生产率提高缓慢。

如避免(参考,可以自己总结):

从软件开发的工程化法入手,即用现代工程的概念原理、技术和法去指导软件的开发、管理和维护,这就是软件工程思想和法。具体措施:

(1)使用好的软件开发技术和法;

(2)要有良好的组织、密的管理,各类人员协同配合,共同完成任务;

(3)使用好的软件开发工具,提高软件生产率;

(4)建立格的文档资料,重视软件开发过程的阶段评审。

2、软件生命期模型(软件生命期?)的组成,每个阶段的容?

(1)组成:Page 21 (2)容:Page 22—25)

答案:

软件生存期定义:

一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存期。

软件生存期一般可分为以下阶段:

(1)问题定义(2)可行性研究(3)需求分析(4)概要设计(总体设计)

(5)详细设计(6)编码(7)测试(8)维护

也可以分为四个大的阶段:软件分析、软件设计、编码与测试、运行与维护

(1)软件分析时期;

任务:确定软件项目的目标,软件应具备的功能和性能,构造软件的逻辑模型,并制定验收标准。在此期间,要进行可行性论证,并做出成本估计和经费预算,制定进度安排。进

行可行性研究和项目开发计划,需求分析。

(2)软件设计时期;

任务:a.设计软件的总体结构;

b.设计软件具体模块的实现算法;

c.软件设计结束之前,也要进行有关评审,评审通过后才能进入编码时期。

(3)编码与测试时期;

任务:组织程序员将高驻地的软件“翻译”成计算机可以正确运行的程序;并且要经过按照软件分析中提出需求要求和验收标准进行格的测试和审查。根据具体软件的特点,决定是否划分成一些阶段,如编码、单元测试、集成测试、验收测试等等。

(4)运行与维护时期。

任务:软件运行过程中可能由于各面的原因,需要对它进行修改。

3、瀑布模型、原型模型、增量模型的特点,如选择这些模型?

(1)瀑布模型:Page 25-27(特点:Page 28第二点;使用场合:特点的最后一点)(2)原型模型:Page 27-28(特点:Page 27;场合:Page 28三点)

(3)增量模型:Page 28)

参考答案:

瀑布模型:

(1)定义:是将软件生命期各活动规定为依线性顺序联接的若干阶段的模型,是一种整体开发模型。里程碑或基线驱动或者说文档驱动。过程逆转性很差,或者说不可逆转。

(2)优点:格按照生命期的各个阶段来进行开发,强调了每一阶段的格性。这样就能解决在开发阶段后期修正不完善的需求说明将花费巨大的费用的问题。在消除非结构化软

件、降低软件的复杂性、促进软件开发工程化面起了很大作用。

(3)缺点:它是一种理想的线性开发模式,缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。故适用于功能明确、完整、无重大变化的软件开发。如:编译系统、数据库管理系统和操作系统。

(4)适用场合:

●在开发时间需求没有或很少变化。

●分析设计人员对应用领域很熟悉。

●低风险项目(对目标、环境很熟悉)。

●用户使用环境很稳定。

●用户除提出需求以外,很少参与开发。

原型模型:

(1)定义:以某个软件原型为参照模型的开发法,叫做原型法。(原型驱动)

(2)原理:在初步需求分析之后,马上向客户展示一个软件产品原型,对客户进行培训,让客户试用,在试用中收集客户意见,修改原型,再让客户试用,反复循环几次,直到客户确认为止。

(3)适用场合:

●已有产品/产品原型,只需客户化的项目。

●简单而熟悉的行业或领域。

●有快速原型开发工具。

●进行产品移植或升级。

增量模型:

(1)定义:增量模型将软件产品看作一组增量构件,每次设计、实现、集成、测试和

交付一块构件,直到所有构件全部实现为止。

(2)特点:●任务或功能模块驱动,可以分阶段提交产品;●有多个任务单,这些多个任务单的集合,构成项目的一个总任务书(总用户需求报告)。

(3)适用场合:

●在开发过程中,客户接受分阶段交付。

●开发人员对应用领域不熟悉,难以一步到位。

●工期过紧的中等或高风险项目。

●用户可参与到整个软件开发过程中。

●使用面向对象语言或第四代语言。

●软件公司自己有较好的类库、构件库。

4、需求的特点?获取的法?为什么需求获取很困难?如解决需求获取困难的难题?

(1)需求的特点:

●可验证性:可验证性是软件需求的基本属性。软件需求必须是可验证的,否则软件的评审和测试就没有相应的依据。但在某些情况下,很难对某些软件需求进行验证或需要的代价很高。软件需求人员和测试人员应以合理的代价实现需求的验证。

●优先级:软件需求应具有优先级,可以在有限的资源情况下进行取舍。

●唯一性:软件需求应唯一地标识出来,以便在软件配置管理和整个软件生命期中进行管理。

(2)获取法:

1、面谈和问卷调查;

2、小组讨论;

3、情景串联;

4、参与、观察业务流程;

5、现有产品和竞争对手的描述文档;

6、市场资料

(3)需求获取困难原因:

PPT答案:

●用户需求具有动态性,即需求的不稳定性。在整个软件生存期,应用软件的需求会随着时间的进展而有所变化。个别用户,甚至是朝三暮四地变化。

●用户需求具有模糊性,即需求不准确性。由于用户的素质不是很高,业务流程不很规,所以需求表达不很清楚也不够明确。

●开发者和用户要对需求达成完全一致的认识,用户要在需求报告上签字,要承担责任。

●需求复杂并且庞大。现代的软件,规模越来越大,导致需求越来越复杂。

课本上答案(Page 62):

●需求易变性。用户在开始时提出一些功能需求,当对系统有一定的理解后,会提出一些需求。以后随着理解的深入而不断提出新的需求。用户需求的变动是一个极为普遍的问题,即使是部分变动,也往往会影响到需求分析的全部,导致不一对待性和不完备性。

●问题的复杂性;

●交流障碍。进行需求分析的人员具备不同的背景知识,处于不同的角度,扮演不同的角色,造成了相互之间交流的困难。

●不完备性和不一致性。用户各类人员对于系统的要求所处的角度不一样,对问题的

述往往是不完备的,其各面的需求还可能存在着矛盾。

(4)解决需求获取困难的法:把一个复杂问题按功能进行分解并可逐层细化;能够表达和理解问题的数据域和功能域;建立模型

5、DFD的画法及如将DFD图转换成功能结构图?

(1)DFD图的画法(课本Page 71)(第四章PPT)

●数据流图DFD的描述符号主要只有四种,即:

a. 数据源或数据潭

b. 数据流动的连线

c. 数据加工或处理泡

d. 输入或输出文件

●图例

●法:采用的是”自顶向下“逐层画法。即先画出的顶层数据流图,再逐层画出的底层数据流图,具体地描述上层系统的细节。

●注意事项:加工和处理框上至少有一个输出数据流和一个输入数据流;注意父/子图的平衡(父图中某个加工的输入输出数据流同相应的子图的输入输出相同,也就是说子图中所有输入数据流必须是父图中相应加工的输入)。

(2)DFD图转换成功能结构图(课本Page 111-116)(PPT 第七章)

具体法看第七章PPT。

变换型系统结构图:通过变换分析技术,将中心变换型的DFD图转换而得的SC图,称为变换型系统结构图。

事务型系统结构图:通过事务分析技术,将事务处理型的DFD图转换为的SC图,称为事务型的系统结构图。

两类图的区别:变换型系统结构图明显分为输入、中心变化和输出3部分;事务型系统结构图则是某个变换将它的输入分离成若干个发散的输出数据流。

变换分析技术(将DFD图转换成变换型系统结构图的法,DFD图中含有变换流的情况)事务分析技术(将DFD图转换成事务型系统结构图的法,DFD图中含有事务流的情况)而实际的DFD图往往是既包含变换流又包含事务流(称为混合DFD图)。

PPT上的M代表中心加工模块,I代表输入模块,T代表处理加工模块,O代表输出模块。对于变化型系统结构图而言,一个M应该包含一个I、一个T、一个O,属于

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 1 什么是计算机软件 计算机软件指计算机系统中的程序及其文档 3软件的特点 (1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 (2)软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 (3)软件的使用没有硬件那样的机械磨损和老化问题 4软件的分类 (1)系统软件(如操作系统、编译程序等)、 (2)支持软件(如数据库管理系统、网络软件、软件开发环境等)、 (3)应用软件(如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等) 6软件工程定义 软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 7生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 12能力成熟度模型CMM(了解一下) 初始级、可重复级、已定义级、已管理级、优化级 18瀑布模型(重) 系统工程、需求分析与规约、设计与规约、编码与单元测试、集成测试系统测试、运行与维护 第二章系统工程 41系统工程的任务 (1)识别用户的要求,确定待开发软件的总体要求和范围,

(2)系统建模和模拟 (3)进行成本估算,做出进度安排 (4)进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (5)生成系统规格说明书 42可行性分析 (1)经济可行性(成本、效益、货币的时间价值、投资回收期、纯收入) (2)技术可行性(风险分析、资源分析、技术分析) (3)法律可行性 第三章需求工程 48软件需求 指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 包括:功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能需求 50需求获取方法与策略(重) 建立顺畅的通信途径、访谈与调查、观察用户操作流程、组成联合小组、用况 51 图3.2 53 创建用况模型的主要步骤 (1)确定谁会直接使用该系统,即参与者(Actor) (2)选取其中一个参与者 (3)定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况 (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程 (5)描述该用况的基本过程 54需求分析原则(重) 1.必须能够表示和理解问题的信息域 2.必须能够定义软件将完成的功能 3.必须能够表示软件的行为(作为外部事件的结果) 4.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件工程试题含答案案.docx

软件工程期末试题(1) 一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分) Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×) PAD图在设置了五种基本控制结构后,还允许递归调用. (×) 你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×) 当验收测试通过,软件开发就完成了.(×) 完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×) 系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×) 在程序调试时,找出错误的位置和性质比改正该错误更难.(√) 以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√) 二,单项选择题(每小题2分,共10分) 试判断下列叙述中,哪个(些)是正确的(D) a,软件系统中所有的信息流都可以认为是事务流 b,软件系统中所有的信息流都可以认为是变换流 c,事务分析和变换分析的设计步骤是基本相似的 A,a B,b C,c D,b和c 进行需求分析可使用多种工具,但(B)是不适用的. A,数据流图B,PAD图C,判定表D,数据词典 在详细设计阶段,经常采用的工具有(A).

A,PAD B,SA C,SC D,DFD 详细设计的结果基本决定了最终程序的(C) A,代码的规模B,运行速度C,质量D,可维护性 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准. A,程序的内部逻辑B,程序的复杂程度 C,该软件的编辑人员D,程序的功能 三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块. A,子程序B,函数C,过程D,编译文件 下面哪些测试属于黑盒测试(BCD). A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD). A,货币的时间价值B,投资回收期C,收入D,投资回报率 软件维护的策略包括(BCD). A,定期检测维护B,改正性维护C,适应性维护D,完善性维护 下列属于软件测试过程的是(ABE). A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试 四,简答题(每题6分,共24分) 1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、四个方面:技术、经济、操作可行性、法律 3、数据流图四种成分:1、源点/终点2、处理3、数据存储 4、数据流 三、需求分析: 1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。 2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N) 四、总体设计: 1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 2.系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 3.模块独立:内聚和耦合 4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度 6.面向数据流的设计方法:变换流和事务流 五、详细设计: 1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树) 七、测试: 1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2、集成测试: 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3、白盒测试技术(逻辑覆盖、基本路经测试)

软件工程试题与答案-(27)

一.单项选择题(每题1分,20题共20分) 1.计算机系统可以划分为软件系统和硬件系统,软件是一种 A.逻辑产品 B.文档资料 C.程序代码D.物理装置 2.可行性分析研究的主要目的是 A.定义项目 B. 项目是否值得开发 C.开发项目 D.规划项目 3.在下列四种模块的耦合性中,信息隐蔽性能最好的是() A.控制耦合 B.内容耦合 C. 数据耦合 D. 特征耦合 4.需求分析是回答系统必须()的问题。 A. 为谁做 B.怎么做 C.何时做 D.做什么 5.在UML中,类是用()表示的 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.选择、循环、重复 C.顺序、分支、选择 D.输入、变换、输出 12.软件测试的目的是() A. 为了表明程序没有错误 B.为了发现程序中的错误 C. 为了说明程序能正确地执行 D.为了评价程序的质量 13.在UML的用例图中,人形符号表示的是 A 关联 B 用例C角色 D 系统 14.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试() A、结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑 15.下面哪些测试属于黑盒测试()。 A、路径测试 B、循环测试 C、等价类划分 D、条件判断 16.()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A封装 B 继承 C 多态性 D 消息 17.在UML中,协作图反映收发消息的对象的结构组织,它与()是同构的 A 用例图B时序图 C 活动图 D 类图 18.需求分析是软件生存周期中的一个重要阶段,它的应该是在()进行。 A、维护阶段 B、软件开发全过程 C、软件定义阶段 D、软件运行阶段

软件工程试题与答案整理版

软件工程试题 一、简述题(4 * 10 = 40) 1 简述生命周期方法学及其特点。 2 什么是软件过程?简述RUP及其特点。 3 简述面向对象的基本思想。 4 简述控制软件复杂性的基本方法。 二、判断题(判断命题正确与否,如错误,请改正)(10 * 2 = 20) 1 ()在建立了设计模型之后,就可以开始制定测试计划。 2 ()耦合是指一个模块内各个元素彼此结合的紧密程度。 3 ()数据流程图是描绘物理系统的传统工具。 4 ()软件工程标准有5个不同的级别层次:国际标准、国家标准、行业标准、企业规范、项目规范。 5 ()软件重用是指在软件开发过程中重复使用相同或相似软件元素的过程。 6 ()模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。 7 ()如果测试数据满足条件覆盖,则必然满足判定覆盖。 8 ()软件开发模型是跨越整个软件生命周期的系统开发、运作、维护所实施的全部工作和任务的结构框架。 9 ()能力成熟度模型是评价程序员程序设计能力的一种全面而客观的评审依据。 10()好的测试具有较高的发现错误的可能性。 三、选择题(将正确的答案代号填入括号中,每小题2分,共20分) 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.边界值法 8.在数据流程图中,符号“□”用来表示()。 A.处理 B.外部实体 C.数据存储 D.数据源点 9.()是基于形式化规格说明语言及程序变换的软件开发模型。 A.增量模型 B.喷泉模型 C.变换模型 D.螺旋模型 10.对象类之间的归纳关系就是()关系。 A.一般-特殊 B.整体-部分 C.相互依赖 D.层次关系 四、填空题(每小题10分,共20分) 1. 信息系统是一个复杂的人机系统,系统内外环境以及各种人为的、机器的因素都在不断地变化。为了使系统能够适应这种变化,充分发挥软件的作用,产生良好的社会效益和经济效益,就要进行系统的维护工作。系统的维护对于延长系统的生命周期具有决定意义,请列出系统开发中能够提高系统可维护性的要求。 ① ② ③ ④ ⑤ 2. 软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。请列出软件开发过程中软件质量保证的主要措施。 ① ② ③

软件工程各种图的画法考试必备

1.完成患者监护系统功能级的数据流图、实体联系图、软件结构图。 2.网上书店系统,其外部用户主要有游客、会员和管理员。其中,游客进行注册后,可以成为系统的会员,会员享有订购图书及订单和书籍等信息查询的功能,管理员可对系统的各种信息进行管理和维护。根据上述描述,请画出网上书店系统的:①基本系统模型(第0层);②功能级的数据流图(第1层);③底层的订购图书数据流图。 1.把如下统计空格程序的Jackson图改画为等价的程序流程图和盒图。 2、用Jackson图描述下述的一列火车的构成: 一列火车最多有两个火车头。只有一个火车头时则位于列车最前面,若还有第二个火车头时,则第二个火车头位于列车的最后面。火车头既可以是内燃机车也可以是电气机车。车厢分为硬座车厢、硬卧车厢和软卧车厢等3种。硬座车厢在所有车厢的前面部分,软卧车厢在所有车厢的后面部 分。此外,在硬卧车厢和软卧车厢之间还有一节餐车。 1.饮用水自动销售系统的工作过程大致如下:如果投入1元硬币,则自动放水5升;如果投入5角硬币,放水2.5升;如果选择1元,投入2个伍角的硬币,也可放水5升。如果饮用水来不及生成,系统会把硬币退出来并亮红灯。收到的硬币由收银员定时回收。试画出该系统的用例图。 2.某寄宿学校需要开发一个信息管理系统,通过该管理系统对学生的日常事务进行管理: 校长助理:管理学生的档案,进行新增、删除、查询、修改等操作;对学生班级进行管理(新增、删除等),进行新学生的编班工作和调班工作,查询班级名册等情况。 财务人员:进行每月的收费和退费工作,每个学生的每月费用包括住宿费,伙食费220,在6-8 月收取空调费20,在11-2 月收取取暖费20,每个学期的开学初(3 月、9 月)收取书本费(不定)。住宿费分三种情况:双职工的子女为60,单职工的子女80 元,父母均不在本单位工作为100 元。每个班的老师在每天要申报本班学生的出勤表,由校长助理完成各班的考勤录入,考勤情况决定上月的伙食退费,以每天10 元计算。 学生家长:在对退费有疑问时,可以查询学生的出勤情况。请画出本系统用例图。 1、汽车和自行车都是交通工具。一辆自行车只能归一个人拥有,但一辆汽车可归一个人或者两个人拥有。一个人可能没有自行车或汽车.也可能拥有多辆自行车或汽车。人分男人和女人两类,每个人都具有年龄和名字。在任何时候,一辆汽车上可能载有0个多个乘客。每辆汽车都有自己的颜色和商标。特别地,每辆汽车都只有两个前灯和一台发动机。请画出类图。 2、用聚集关联表示家用计算机系统的组成。家用计算机系统是由主机箱、键盘、鼠标、显示器、CD—ROM驱动器、一个或多个硬盘驱动器、调制解调器、软盘驱动器、打印机组成,还可能包括几个音箱。而主机箱内除CPU外带着一些驱动设备,例如显示卡、声卡等。 3、建立一个能够反映咨询公司日常业务的类图。为每一个关联起一个名字,并写上重数。该类图可能包括下列的类:顾问、客户、项目、提案、数据和报告。 4、画出打电话操作过程的事件跟踪图(即序列图)。 5、活动图是状态图的一种特殊情况。用于简化描述一个过程或者操作的工作步骤。活动用圆角矩形表示——比状态图更窄,更接近椭圆。一个活动中的处理一旦完成,则自动引起下一个活动的发生。箭头表示从一个活动转移到下一个活动。和状态图类似,活动图中的起点用一个实心圆表示,终点用一个同心圆(内圆为实心圆)表示。在活动图中可以带判定点,即一组条件引发一条执行路径,另一组条件则引发另一条执行路径,并且这两条执行路径是互斥的。判定点常用小的菱形图标表示,同时在相关路径的附近指明引起这条路径被执行的条件,条件用方括号括起来。请用活动图描述打电话过程。

软件工程习题及详细答案

个人收集整理勿做商业用途 软件工程习题及答案 一、选择题: 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、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

软件工程基础知识点总结

软件工程基础部分知识点总结 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素 3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。 2)软件工程的三个要素:方法、工具和过程。 ①方法:完成软件工程项目的技术手段;

软件工程各章重点

软件工程各章重点 第1章本章的主要题型是选择题和简答题。 1. 软件危机的主要表现是什么? 答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。 2. 软件工程的定义? 答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。 3. 软件工程研究的主要内容是什么? 答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。 4. 软件工程的7条基本原理是什么? 答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。 5. 什么是软件生命周期? 答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。 6. 软件过程的定义?

答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。 7. 你能举出几个典型的软件过程模型吗? 答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。 8. 目前,主流的软件开发方法有哪些? 答:结构化方法和面向对象方法。 9. 软件标准的层次是如何划分的? 为了提高软件开发的效率,保障软件产品的质量,软件工程领域中公布了许多国际标准、国家标准、行业标准、企业标准、项目规范,通常由低级到高级使用。软件工程的标准关系到许多方面,有规范开发过程的标准,有定义产品的标准,还有管理标准和记法符号的标准等等。 10. 软件工程师职业道德规范的8组关键词是什么? 答:1999年由ACM/IEEE-CS软件工程师道德规范和职业实践(SEEPP联合工作组制订了《软件工程师职业道德规范》,规范含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。 11. 职业化软件工程师要注意的十大问题是什么? 答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。 第2章本章的题型主要是选择题。

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

软件工程各阶段的工作内容及特征

软件工程各阶段的工作内容及特征 软件工程的目标是提高软件质量,质量因素有正确性、性能、可靠性、容错性、易用性、灵活性、可扩充性、可理解性、可维护性等等。开发常用模型有:线性模型、渐增式模型、螺旋模型、快速原型模型、形式化描述模型等等。“套用固定的模型不是程序员的聪明之举”。比如“程序设计”与“测试”之间的关系,习惯上总以为程序设计在先,测试在后,而对于一些复杂的程序,将测试分为同步测试与总测试更有效。软件开发中的三种基本策略:“复用”“分而治之”“优化—折衷”。软件复用是将具有一定集成度并可以重复使用的软件组成单元,称为软构件。分而治之是指把一个复杂的问题分解成若干个简单的问题,然后逐个解决。软件的优化是指优化软件的各个质量因素,如提高运行速度,提高对内存资源的利用率,使用户界面更加友好等等。优化工作的复杂之处是很多目标之间存在千丝万缕的关系,当不能够使所有的目标都得到优化时,就需要“折衷”策略。软件中的折衷策略是指通过协调各个质量因素,实现整体质量的最优。软件折衷的重要原则是不能使某一方损失关键的职能,更不可以像“舍鱼而取熊掌”那样抛弃一方。下面从需求分析、系统分析、系统实现、测试与改错、维护与再生这五个方面逐一阐述。 2.1 需求分析阶段 需求分析是项目成败与否的第一步,对需求把握得越准确,软件的修修补补就越少。有些需求在一开始时很难确定,在开发过程中要不断地加以改正。软件修改越早代价越少,修改越晚代价越大。需求

分析要关注到每一个最终使用者,避免遗漏使用方的需求。需求分析尽量从多个角度进行。需求分析需要与使用者进行多次反复沟通,开发者做到真正领会使用者的需求。做可行性分析不能以偏盖全,也不可以什么鸡毛蒜皮的细节都加以权衡。可行性分析必须为决策提供有价值的证据。需要分析的工作要点有:1)完成问题整理、收集;2)走访使用部门,进行询问、沟通;3)交流中的心态定位是我们在为编辑、为业务工作;4)我们要为用户考虑。让用户意识到我们的每一句话都是在为他们考虑;5)采用适当的交流语言。勾画出思路清晰用户易懂的流程图,清晰明了的表格,形象美观的图形,必不可少的文字;6)保留交流的记录和整理汇总的文档;7)技术人员自己要提出用户易用性需求、系统功能需求、系统维护需求;8)响应变更需求,拒绝不合理要求;9)业务建模。通过UML绘制的模型来完整、适当地对需求进行描述;10)分析绘制业务流程图和数据流程图,总结出各级操作人员,识别系统中的所有用例和角色;分析各角色和用例之间的联系,使用UML建模工具画出系统的用例图;最后勾画系统的概念层模型,借助UML建模工具描述概念层的类图和活动图。 2.2 系统设计阶段 系统设计阶段完成系统设计。系统设计是把需求转化为软件系统的最重要的环节,决定一套软件系统的健壮性、可扩展性、易开发性等。系统设计的优劣在根本上决定了软件系统的质量。这个阶段要确定系统结构,系统结构的稳定性决定应用软件的使用寿命。有了上一阶段需求的把控和需求建模,系统分析阶段就要完成结构设计、模块

《软件工程》试题及参考答案(第1套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 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、生产率高 7.确认测试主要涉及的文档是()。 A、需求规格说明书 B、概要设计说明书 C、详细设计说明书 D、源程序 8.模块的内聚性最高的是( ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 9.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( ) A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析 10.原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。 A.需求不确定性高的 B.需求确定的 C.管理信息D.实时 12、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 13.下列关于瀑布模型的描述正确的是( )。 A.利用瀑布模型,如果发现问题修改的代价很低

软件工程知识点总结

软件工程知识点总结 软件工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。接下来是为大家收集的软件工程知识点总结,以供大家学习! 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素

3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件) 1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。

软件工程知识点

第一章软件工程概述 一、软件的定义和特性(P2—P3) 定义:软件=程序+数据+文档 程序:按照事先设计的功能和性能要求执行的指令或语句序列 数据:程序能正常操纵信息的数据结构 文档:描述程序操作和使用的文档 特性: (1)软件是一种逻辑实体,具有抽象性,不是一般的物理实体; (2)软件的成产与硬件存在某些相同点,但有根本上的不同,软件开发是人的智力的高度发挥,而不是传统意义上的制造,它更依赖于开发人员的素质,智力,人员和组合,合作和管理; (3)软件维护与硬件维修有着本质的差别,软件维护没有硬件维护那样有可替换的标准零件; (4)软件在运行和使用期间没有硬件那样的机械磨损,老化问题,但存在退化问题; (5)基于构件的开发方法由于其自身的特点越来越受到人们的重视,这些技术可以减少开发时间、提高质量,并提高复用水平。 * 掌握P4图1-2(b)软件失效率曲线 二、计算机软件的发展经历了几个阶段?各有何特征?(P1—P2) 共经历了四个阶段 特征:第一阶段——程序规模小且主要采用个体工作方式,开发的系统大多采用批处理技术 第二阶段——引入人机交互的概念,实时系统出现,产生了第一代数据库管理系统,程序编制采用了合作的工作方式,出现了早期的软件危机 第三阶段——分布式系统出现,嵌入式系统得到广泛应用,低成本硬件 第四阶段——强大的桌面系统和计算机网络迅速发展时期,面向对象技术得到广泛应用,人工智能技术和专家系统开始应用于软件。 三、什么是软件危机?其产生的原因是什么? 定义:软件危机是指由于落后的软件生产方式无法满足迅速增长的计算机软件应用需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。(P4) 原因:(P5) (1)用户对软件需求的描述不准确、不全面,甚至有错误,以及在开发过程中,不断提出或者修改需求; (2)用户和开发人员对软件需求的理解存在差异,导致所开发的软件产品和用户需求不一致; (3)大型软件项目需要组织一定的人力共同完成,各类人员的信息交流不及时、不准确,有时还可能产生误解,软件开发人员对大型软件缺少开发经验,管理人员缺少相应的管理经验; (4)软件开发人员不能有、独立自主的处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误; (5)开发技术落后,缺乏有效的方法学和工具方面的支持,过分依赖程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化 (6)软件产品的特殊性和人类智力的局限性,导致人们无法处理“复杂问题”,因为软件是逻辑产品,软件开发进展情况较难衡量、软件开发质量难以评价、管理和控制软件开发过程相当困难。 四、什么是软件工程?它的目标和内容是什么? 定义:将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中,并对方法的研究。(P6) 目标:在给定的成本和进度前提下,开发出具有可修改性、可理解性、可维护性、有效性、可靠性、可适用性、可重用性、可移植性、可跟踪性和互操作性并且满足用户需求的软件产品。(P7) 内容:主要内容包括软件开发技术和软件工程管理两方面。(P6) 要素:方法,工具,过程 五、什么是软件生存周期?它有哪几个活动? 定义:(software life cycle)把软件产品从形成概念开始,经过定义、开发、使用和维护直到最后退役的全过程。 活动:软件定义、软件开发、软件使用维护和退役(P9)

软件工程(本)阶段练习三

华东理工大学网络教育学院 《软件工程(本)》阶段练习三 一、判断题(每题1分,共10分;正确打“√”,错误打“×”) 1、Jackson结构图只能描述数据结构,不能描述程序结构。( ×) 2、HIPO图是由一张层次图和一组IPO图组成的。( √) 3、源程序的文档化就是软件的文档化。( ×) 4、问题分析图(PAD)是一种常用的详细设计描述工具。( √) 5、Jackson方法是一种面向对象的软件设计方法。( ×) 6、把一个软件系统划分成多个模块的目的是为了降低软件系统的复杂性。( √) 7、耦合性是一个用来衡量模块内部各个元素彼此结合紧密程度的度量指标。( ×) 8、将软件系统划分为模块时,应尽量做到高内聚低耦合,提高模块的独立性。( √) 9、面向数据流的设计以需求分析阶段产生的数据流图为基础,按一定的步骤将其映射为软件结构。( √) 10、软件结构图是软件系统的模块层次图,它反映了整个系统的功能实现。( √) 二、单项选择题(每空1分,本大题共30分) 1、在模块化软件设计中,划分程序模块通常遵循的基本原则是:使各模块间的耦合性 ①;使各模块内部的内聚度②。 A、尽可能强 B、尽可能弱 C、适中 D、视情况而定 2、面向数据流的设计方法把数据流图(DFD)划分为变换型和③两大类,并提出了对应于这两类结构的分解方法。 A、控制型 B、处理型 C、事务型 D、功能型 3、模块化的目的是为了④。 A、增加内聚性 B、提高易读性 C、降低复杂性 D、减少耦合性 4、三种可能的模块耦合是: ⑤:例如一个模块直接引用另一个模块中的数据。 ⑥:例如一个模块把控制另一个模块执行流程的逻辑量作为参数传递给另一个模块。 ⑦:例如一个模块把一个数据量传递给另一个模块。 其中⑧的耦合性最强。

最新软件工程试题库

“软件开发与管理”试题库 第一章:软件开发与管理概述 一、填空题 1.软件是由、、三部分组成。 2.软件作为人工生产的产品,主要是由人进行“开发”而来,与硬件比较起来没有明显的制造过程。 3.软件开发过程复杂,但一般包括、、、 等主要阶段。 4.软件的是软件的生命。 5.在软件团队开发中由于人数的增加、成员间的交互与合作,所以除了技术问题外,还存在问题。 6.软件开发方法学包括和两种开发方法。 7.软件项目进度计划主要包括、、和。 二、思考与简答题 1.举例说明程序、软件、系统的区别和联系。 2.软件有什么特点?软件开发有什么特点? 3.说说程序、软件、系统的设计与应用的不同。 4.软件开发过程主要有哪几个典型任务活动,请说说它们各自的内容。 5.软件开发过程模型是什么含义?一般有哪几种开发过程模型? 6.软件开发方法有哪两类?它们各自的优缺点是什么? 7.请说说管理在软件开发中的重要作用。软件项目管理有哪些内容。 8.软件质量是如何管理的? 第二章:需求分析 一、填空题 1.软件的需求是用户对该软件在、等方面的期望与要求。 即软件的需求、需求和其它需求。

2.需求分析的任务是需求分析师通过与用户的交流、、,得到用户对系统完整、准确、清晰、具体的要求。 3.需求分析过程中建立的模型有:、和。 而传统结构化的需求分析模型包括:图、图、 图。 4.传统的需求分析模型中,的建立是今后数据库设计的基础,而的建立是今后软件功能结构设计的基础。 5.软件的需求最终要通过表达出来。 二、思考与简答题 1.需求分析的任务和作用是什么? 2.需求分析的步骤有哪些? 3.什么是数据模型?实体、属性、联系之间的关系是什么? 4.什么是功能模型?处理的描述包括哪些内容? 5.什么是动态模型?它与功能模型的区别是什么?系统的状态是如何转换的? 6.软件需求规格说明书你认为重点包括哪些方面? 第三章:软件设计 一、填空题 1.软件的需求分析解决了软件应该“做什么”的问题,而软件设计则解决软件应该的问题。 2.软件设计能指导软件的编码实现,没有设计的编码其结果很难预料与保证,所以说软件设计是软件开发的关键,直接影响软件的。 3.软件需求分析、软件设计、软件编码之间既有区别又有联系,它们是软件在不同层次的。从,从 是软件开发两个重要的过程进阶。 4.软件设计内容包括、、等方面。 5.传统结构化软件设计,是从E-R图出发设计,从数据流图出发设计。 6.详细设计是对软件模块的设计,它更接近于编码,所以详细设计又称为过程设计或算法设计。

相关主题
文本预览
相关文档 最新文档