当前位置:文档之家› 软件工程 史济民

软件工程 史济民

软件工程12道复习题(2013~20142)

二、应用题(50分) 1. 将下面给出的伪码转换为N-S图和PAD图。 void root(float root1,float root2) { i=1; j=0; while (i<=10) { 输入一元二次方程的系数a,b,c; p=b*b-4*a*c; if(p<0) 输出“方程i无实数根”; else if (p>0) 求出要做并输出; if (p==0) { 求出重根并输出; j=j+1; } i=i+1; } 输出重根的方程的个数j; } 答: 盒图:

PAD图: 2. 下面给出了用盒图描绘的一个程序的算法,请用逻辑覆盖法设计测试方案,要求做 到用语句覆盖和路径覆盖。 答: (1)实现语句覆盖的测试方案如下: 1)覆盖THEN部分的语句,即使得条件(A>0)AND (B>0)和条件(C>A) OR(D0)AND (B>0)和条件(C>A) OR(D

输入:A=1,B=1,C=0,D=2 预期输出:X=2,Y=2 4) 覆盖两个条件均为真的路径 输入:A=-1,B=-2,C=2,D=1 预期输出:X=3,Y=1 3. 某高中打算投资4万元改造现在的学生成绩管理系统,现有系统的维护费用每年为2.6万元,新系统运行后,新系统的维护费用为每年8000元,假设年利率为5%,请分析此项目中等成本方案的经济可行性(计算回收期和纯收入)。 答: 正了20个错误,使程序的平均无故障时间达到了8小时。乙在测试该程序的另一个副本时改正了24个错误,其中6个错误与甲改正的相同。然后,由甲一个人继续测试这个程序。请问 (1) 刚开始测试时程序逻辑中的错误总数ET 是多少? (2) 为使平均无故障时间达到240h ,如果甲不利用乙的工作成果,则他还需再改 正多少个错误? 答: (1) 刚开始测试时程序中的错误总数为: E T (2) 由方程 8= ) 20(48000 -ET K 解得 K= 100) 2080(848000 =- 由方程  80206 24 =?=

软件工程(第五版)--习题及答案--第三章

一、判断题 1、(√)软件需求分析阶段要确定软件系统要“做什么”。 2、(×)软件需求规格说明书可作为可行性研究的依据。 3、(√)需求分析员可以参加最后的需求评审工作。 4、(×)画数据流图时可以加少量的控制流,使加工之间有时序的关系。 5、(√)结构化分析模型的核心是数据词典。 6、(×)在数据流图中,带有箭头的线段表示的是控制流。 7、(×)在软件生产过程中,需求信息的来源是项目经理。 8、(√)需求分析阶段的任务是确定软件的功能。 二、选择题 1、需求分析最终结果是产生(B)。 A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 2、数据流图(DFD)是(A)方法中用于表示系统的逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 3、需求规格说明书的作用不包括(C)。 A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 4、数据词典是用来定义(D)中的各个成分的具体含义。 A、流程图 B、功能结构图

C、结构图 D、数据流图 5、结构化分析方法(SA)是一种面向(B)的分析方法。 A、数据结构 B、数据流 C、结构化数据系统 D、对象 6、在数据词典中,以下哪一项表示允许重复0至任意次(A)。 A、{ } B、0{ } C、0{ }n D、{ }n 7、以下数据流图符号中哪一个表示加工(B)。 A、B、C、D、 8、软件开发的需求活动,其主要任务是(D)。 A、给出软件解决方案 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 9、结构化分析的核心是(A)。 A、自顶向下的分解 B、用DFD建模 C、用DD描述数据需求 D、自底向上的抽象 10、需求分析的任务是(A)。 A、正确说明让软件“做什么” B、用DFD建模 C、用DD建立数学模型 D、给出需求规格说明书 11、对于分层的DFD,父图与子图的平衡是指(B)。 A、父图与子图的输入输出数据流必须相同 B、子图必须继承父图的输入与输出流 C、父图与子图相应的输入输出数据流名字保持一致

软件工程课后习题_第1,2,3章

第一章: 一.判断题: 1.软件就程序,编软件就是编写程序。() 2.软件危机的主要表现是软件需求增加,软件价格上升。() 3.软件工程科学出现的主要原因是软件危机的出现。() 4.与计算机科学的理论研究不同,软件工程是一门原理性学科() 二.选择题 1.在下列选项中,()不是软件的特征 A系统性与复杂性 B 可靠性与一致性 C 抽象性与智能性 D 有形性与可控性 2.软件危机的主要原因是: A软件工具落后 B 软件生产能力不足 C 对软件的认识不够 D 软件本身的特点及开发方法 3.下列说法正确是的是 A 20世纪50年代提出了软件工程的概念 B 20世纪60年代提出了软件工程的概念 C 20世纪70年代提出了客户机/服务器技术 D 20世纪80年代软件工程学达到成熟 4.( )是将系统化的规范的可定量的方法应用于软件的开发,运行和维护的过程。它包括方法、工具和过程三个要素 A 软件生命周期 B 软件测试 C 软件工程 D 软件过程

5.在下列选项中,()不属于软件工程学科索要研究的基本内容。 A 软件工程材料 B 软件工程目标 C 软件工程原理 D 软件工程过程 6.软件工程的三要素是() A技术,方法和工具 B 方法,对象和类 C 方法,工具和过程 D 过程,模型和方法 7.用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件成为软件开发工具,通常也称为()工具 A CAD B CAI C CAM D CASE 三简答题 1.与计算机硬件相比,计算机软件有哪些特点? 2.软件就是程序吗?如何定义软件? 3.什么是软件危机?是什么原因导致了软件危机? 4.为什么说软件工程的开发能在一定程度上解决软件危机的各种弊端? 5.请简述软件工程的研究内容。 6.请简述软件工程的三要素。 7.请简述软件工程的目标,过程和原则。 8.请简述软件工程的基本原则。 9.请简述现代软件工程与传统软件工程显著的区别与改进。 第二章: 一判断题 1.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

实用软件工程第3版课后习题答案_IT168文库

《实用软件工程》第3版 习题参考答案 习题 1 1.1 开发文档都有哪些?用图示表示它们之间的关系。 开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间的关系如下图所示。 1.2 简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 其中软件开发方法的内容又涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose。 软件管理过程主要有CMMI、ISO9000、微软企业文化和敏捷文化现象。 1.3 详细解释软件的定义、程序的定义及软件工程的定义。 软件的定义:软件=程序+数据+文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。 现在有一种新提法正在引起关注,这种提法是:软件=知识+程序+数据+文档。 程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为: 面向过程的程序=算法+数据结构 面向对象的程序=对象+信息 面向构件的程序=构件+构架 软件工程是研究软件开发和软件管理的一门工程学科。 1.4 软件工程的7+1条基本原理有什么现实意义? 软件工程的7条基本原理是在面向过程的程序设计时代(结构化时代)提出来的,但在

软件工程课后习题(含答案)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。 (2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规范的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程题库12

Object-Oriented Analysis Phase 1. The object-oriented approach considers the _____________. A. data and actions B. data only C. functions only D. behavior only E. interactions only 2. In finite State Machines the emphasis is on: A. data and actions B. data C. actions D. data actions and interactions E. interactions 3. Using the object-oriented approach, the emphasis is on: A. data primarily B. actions primarily C. neither data nor actions D. data and actions but asynchronously E. data and actions simultaneously 4. Why has it been suggested that it is easier to build and maintain large systems using an Object-oriented approach? A. Development and management are easier as objects are essentially independent components. B. Objects are reusable. C. Structured systems tend to look either at actions (e.g. procedures and functions) or data only, while, in contrast, Object-Oriented techniques consider both. D. One approach is not necessarily better than another - its a matter of picking horses for courses. E. The Object-Oriented approach avoids the build-and-fix model mentality. 5. The advantage of using the Object-oriented approach compared to the Structured approach is: A. fewer faults are detected. B. fewer change requests are made during development and maintenance. C. adaptive and perfective maintainability increased significantly. D. improvements in usability E. all of these

软件工程可行性研究报告

竭诚为您提供优质文档/双击可除软件工程可行性研究报告 篇一:软件工程可行性分析报告实例(图书管理系统) 可行性分析报告实例 本实例以一个图书管理系统为例,介绍软件工程技术方法以及软件工程各阶段主要文档。 本文介绍可行性分析报告。可行性分析报告包括: ? ? ? 封面(略)目录(略)可行性分析报告内容 -1- -2- -3- -4- 项目开发计划实例 项目开发计划内容如下: ?

? ? -5- 封面(略)目录(略)项目开发计划报告内容 篇二:软件工程项目可行性分析报告 可行性与项目计划研究报告 1.引言 1.1项目的背景,研究的目的和意义 背景:经过一段时间的调查我们发现周边网吧的管理系统不尽相同,而其实现的功能都基本相同。大多数网吧的管理系统仅仅实现了计时收费的目的。所以我们觉得现在大多数网吧的管理系统功能还不够完善,做得还不够人性化。因此我们想尝试改进现有的网吧管理系统,使其功能更人性化,提供的服务更齐全,以改变现状 我们也从网上找了几个别人做的系统简单地看了一下 项目名称:****** 项目发起者:******** 面向用户:****** 1.2项目的目前研究现状 此项目现阶段还处于可行性分析阶段,具体实施将等到所学知识的进一步健全以及对项目有进一步的认识 1.3参考资料(作者、标题、出版单位、发表日期、编

号、页号)《软件工程》高等教育出版社史济民等 《数据库系统教程》高等教育出版社施伯乐等 《Java面向对象编程》电子工业出版社孙卫琴 《Java编程思想》机械工业出版社bruceexkel 等 2.系统的技术可行性 2.1系统的简要描述 功能:网吧管理帮助网吧管理员管理网吧管理员可以通过该系统对上网人员(会员、非会员)记时收费、充值,对出售的食品饮料等计费,对网吧内的各台机器进行控制,以及提供一些特殊的服务(如在节假日对上网费打折等等)而被控制端有登陆、登离、呼叫网管、修改密码、买东西、查看个人信息(余额、姓名等等) 特点:由于上网顾客需要食品和饮料,而大多数网吧内也有这些商品出售,但 往往是买一次东西结算一次,搞得网管十分头疼,而且效率也不高。上网顾客往往对这样的购物方式也不满意,他们希望可以不用离开座位就可以获得所需的商品。为了解决这个问题,我们将在网吧管理系统中添加了购物系统。在购物系统中,上网人员可以看到各种商品及其价格,点击购买后网管可以在服务器端看到顾客的请求,并将所需商品送给顾客,而计费系统会自动将商品的费用添加进计费系统中。

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

厦门理工软件学院2011 –2012 学年度下期 《软件工程》试题(第3套) 题号一二三四五总分 题分 第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 2.研究开发所需要的成本和资源是属于可行性研究中的研究的一方面。( ) A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 3.模块的内聚性最高的是( ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 4.在SD方法中全面指导模块划分的最重要的原则是( ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 5.软件详细设计主要采用的方法是( ) A.模块设计 B.结构化设计 C.PDL语言 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.下列文档与维护人员有关的有( )

软件工程第3章习题解答

第3章《结构化分析》习题解答 习题1 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。数据流图实体-关系图描绘系统中的数据对象。描绘本系统的功能,并用请用 解答: (1)数据流图: 储蓄存款单清单基本模型:储户储户系统取款单 D1 储户信息库 存款第一级模型清清储打储储清取款系系 第二级模型(最终结果——完整的DFD图):

实体关系图ER:(2) 图1:E-R n存款单1填写住址姓名 储户n取款单 1 填写身份证号电话 :E-R图2帐号姓名金额1取款清单 1 核对取款单 图E-R3:住址姓名电话 存款日期 11存款存款清单存款单 到期日期利率存款类型身份证号金额 图E-R:总住址姓名电话 存款日期 n存款单1住址填写姓名到期日期利率储户存款类型金额身份证号1电话身份证号1填写n 存款取款单1 1 核对取款清单1存款清单金额姓名帐号

习题2 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。 请用实体-关系图描绘本系统中的数据对象并用数据流图描绘本系统的功能。 解: 总E-R图:性别身份证号姓名 n订票旅行社m工作单位旅客n n旅行时间合约1服务1航空公司目的地 数据流图1: 0订票旅客信息机票系统旅客信息旅客旅行社旅客 通知、帐单通知、帐单

软件工程(第二版)课后习题

第一d ìy ī章zhāng 1.什么s h ?n m e 是s h ì软件ru ǎnji àn 危机w ēi j ī?为什么w ai s h ?n m e 会h u ì产生ch ǎnsh ēng 软件ru ǎnji àn 危机w ēi j ī? 答d á:软件ru ǎnji àn 危机w ēi j ī是s h ì指z h ǐ在z ài 计算机j ìs u àn j ī软件ru ǎnji àn 的d e 开发k āi f ā和h ?维护w ?i h ù过程gu òch ?ng 中zh ōng 遇到y ùd ào 的一系列严重问题。 (1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方 式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时 间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济 地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产 方法。 3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方 法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。 (2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良 好的效益。 软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。 所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在 计 算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发 现错误,就 重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧 所有通过了 编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运 行的可执行 软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统, 都属于软 件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效, 甚至不能 运行。

第三课 软件工程综合复习题连答案

《软件工程》综合复习资料 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种(c)。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称(D)。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是(D)。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、__D___是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是( B )。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是(D )。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是(C ) A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关:( C ) A.软件在计算机中很难识别,存在磁盘中也看不到。 B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是(B ) A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。

第三章 软件工程基础

第三章软件工程基础 3.1软件工程基本概念 软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。 软件由两部分组成: (1)机器可执行的程序和数据; (2)机器不可执行的,与软件开发、运行、维护、使用等有关的文档。 软件的特点: (1)软件是逻辑实体,而不是物理实体,具有抽象性; (2)没有明显的制作过程,可进行大量的复制; (3)使用期间不存在磨损、老化问题; (4)软件的开发、运行对计算机系统具有依赖性; (5)软件复杂性高,成本昂贵; (6)软件开发涉及诸多社会因素。 根据应用目标的不同,软件可分应用软件、系统软件和支撑软件(或工具软件)。 应用软件是为解决特定领域的应用而开发的软件; 系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件; 支撑软件是介于两者之间,协助用户开发软件的工具性软件。 软件危机主要表现在成本、质量、生产率等问题。 软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。 软件工程包括3个要素:方法、工具和过程。 方法是完成软件公曾项目的技术手段 工具支持软件的开发、管理、文档生成 过程支撑捐建开发的各个环节的控制、管理 软件工程过程是把软件转化为输出的一组彼此相关的资源和活动,包含4种基本活动: (1)P——软件规格说明; (2)D——软件开发; (3)C——软件确认; (4)A——软件演进。 软件工程过程与软件生命周期 软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。一般包括可行性分析研究与需求分析、设计、实现、测试、交付使用以及维护等活动, 还可以将软件生命周期分为软件定义、软件开发和软件运行维护3个阶段。 生命周期的主要活动阶段是:可行性研究与计划制定、需求分析、软件设计、软件实施、软件测试及运行与维护。3.2结构化设计方法 在程序结构中,各模块的内聚性越强,则耦合性越弱。软件设计应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。 软件设计的基本原理 (1)抽象:软件设计中考虑模块化解决方案时,可以定出多个抽象级别。抽象的层次从概要设计到详细设计逐步降低。 (2)模块化:模块是指把一个待开发的软件分解成若干小的简单的部分。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。 (3)信息隐蔽:信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。 (4)模块独立性:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。内聚性是信息隐蔽和局部化概念的自然扩展。一个模块的内聚性越强则该模块的模块独立性越强。一个模块与其他模块的耦合性越强则该模块的模块独立性越弱。

软件工程2010(12)测验答案

软件工程测试题 一、判断对错(关于软件开发及需求分析的叙述)。 1)只要采用面向对象的开发方法和技术,就可以解决软件危机。 2)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。 3)软件工程管理的范围是软件项目开发期间的所有活动。 4)在面向对象的需求分析方法中,建立静态模型是最主要的任务。 5)加工说明是对系统流程图中的加工进行说明。 6)判定树的优点是容易转换为计算机实现并能够描述组合条件。 7)用面向对象方法开发的软件系统,可维护性好。 8)分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。 9)在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。 10)CMM 是指导软件开发的一种面向对象的新技术。 二、判断对错(关于模块化程序设计的叙述)。 1)程序设计比较方便,易于维护。 2)不利于多人分工编制大型程序。 3)软件的功能便于扩充。 4)程序易于理解,也便于排错。 5)在主存储器能够容纳得下得前提下,应使模块尽可能大,以便减少模块的个数。 6)模块之间的接口叫做数据文件。 7)模块之间接口关系改变,只要模块内部实现细节不修改将不会影响别的模块。 8)模块间的单向调用关系叫做模块的层次结构。 9)模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。 10)模块化的程序设计提高了系统的可修改性。 三、判断对错(关于程序设计风格的指导原则)。 1)不能进行浮点数的相等比较。 2)尽量多使用临时变量。 3)不滥用语言特色。 4)不用可以省略的括号。 5)使用有意义的变量名。 6)应尽可能把程序编的短些。 7)把常见的局部优化工作留给编译程序去做。 8)注解越少越好。 9)程序的格式应有助于读者理解程序。 10)应尽可能多用GOTO 语句。 四、判断对错(关于软件测试)。 1)为了使得软件容易测试,应该使用高级的程序设计语言编制程序。 2)软件测试是一个程序的执行过程,目的是为了发现软件中隐藏的错误。 3)如果程序中连锁式连接了8个判定(IF)结构,则程序中总的路径数达28。 4)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 5)为了快速完成集成测试,采用一次性集成方式是适宜的。 6)对一批模块进行测试,被发现的错误多的模块中残留的错误将比其他的模块少。

(完整word版)软件工程第四版第1章参

一.基本概念 1.软件就是程序吗?如何定义软件? 答:人们经过长期实践已经逐步认识到,软件≠程序,程序只是软件的关键要素,普遍接受的观点是:软件=程序+数据+文档。 2.文档有何作用?程序代码属不属于文档? 答:文档指的是在软件开发和维护过程中形成的文字记录。从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。没有文档的软件维护不但不能延长反而会缩短软件寿命。 文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。 3.什么是软件危机?什么原因产生了软件危机? 答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生的原因是主客观不相适应。见书图1-2。 客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; 主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 4.软件工程定义有很多说法,用你自己的理解说明软件工程是干什么的? 参考:软件工程是指导计算机进行软件计划、开发和维护的工程学科; 软件工程是为解决软件危机而诞生的,解决的途径是:用工程化的理论、方法和技术来管理软件开发过程。任何产品的工程化就是有计划、有目标、有规范、有文档、有标准。 见1.4节。软件工程就是指导软件产品的工程化。

5.软件工程三要素是什么? 答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。见图1-4。 (2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。过程定义的活动集合及其序列见第2章。 (3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。如经常说的面向结构、面向对象、面向组件等开发方法,项目管理中估算、度量、计划等管理方法。软件工程以介绍方法为主,本书从第3章开始逐步介绍开发过程所用到的方法。 (4)“工具”为过程和方法提供自动的或半自动的支持。这些工具既包括软件也有硬件。 软件工具包括编程、建模、管理等开发工具。通过网络环境把这些软件工具集成起来搭建一个支持团队开发的平台,称之为计算机辅助软件工程(ComputerAided Software Engineering,CASE)。CASE集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。 6.软件工程的目标、过程和原则是什么? 答:目标、过程、原则是一切工程的三维框架,它是以工程的观点来看待软件开发。见书 1.5.2节 (1)软件工程的目标:降低成本,及时交付高质量的软件产品(高质量、高效率、高效益)。 (2)实现目标的过程:完成产品加工的过程。它包括:基本过程、支持过程和组织过程。

软件工程-原理、方法及应用(史济民第二版)答案

软——应 课习题 件工程原理、方法与用后答案最完整版 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 (1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。 (2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。 软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。5.什么是软件工程环境?谈谈你对环境重要性的认识。 答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。 (1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。(2)大型软件:这类软件必须从头至尾坚持软件工程的方法,严格遵守标准文档格式和正规的复审制度,才能避免或减少混乱,真正开发出大型的软件。 8. 什么是形式化软件开发方法?实现这类开发的困难和出路在哪里?

软件工程试题3教学教材

一、选择题 1. 软件工程三要素是(C D)。 A) 技术、方法和工具B) 方法、工具和过程 C) 方法、对象和类D) 过程、模型、方法 2. 包含风险分析的软件工程模型是(A)。 A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型 3. 软件工程的主要目标是(C)。 A) 软件需求B) 软件设计C) 风险分析D) 软件实现 4. 软件危机的主要表现是(B D)。 A) 软件成本太高B) 软件产品的质量低劣 C) 软件开发人员明显不足D) 软件生产率低下 5. 软件开发方法的主要工作模型有(A B C) A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型 6. 软件工程的目标有(A B C)。 A) 易于维护B) 低的开发成本 C) 高性能D) 短的开发期 7. 软件工程学的目的和意义是( )。 A) 应用科学的方法和工程化的规范管理来指导软件开发 B) 克服软件危机 C) 作好软件开发的培训工作 D) 以较低的成本开发出高质量的软件 8. 需求分析的主要目的是(BC)。 A) 系统开发的具体方案 B) 进一步确定用户的需求 C) 解决系统是“做什么的问题” D) 解决系统是“如何做的问题” 9. 需求分析的主要方法有(CD)。 A) 形式化分析方法B) PAD图描述 C) 结构化分析(SA)方法D) OOA法 10. 面向对象的分析方法主要是建立三类模型,即(D)。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 11. SA法的主要描述手段有(B)。 A) 系统流程图和模块图 B) DFD图、数据词典、加工说明 C) 软件结构图、加工说明 D) 功能结构图、加工说明 12. 画分层DFD图的基本原则有(ACD)。

软件工程第五版习题及答案

《软件工程》(第五版)习题参考答案 第1章 一、判断题 1、(×)软件的维护与硬件维护本质上是相同的。 2、(√)软件在运行和使用中也存在退化问题。 3、(×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。 4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。 5、(×)文字处理软件Word属于系统软件。应用软件 6、(√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。 7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。 8、(×)快速原型模型对软件开发人员的水平要求不高。 9、(√)喷泉模型适合于面向对象的软件开发。 10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。 二、选择题 1、软件是一种(C)。 A、程序 B、数据 C、逻辑产品 D、物理产品 2、软件开发方法是(A)。 A、指导软件开发的一系列规则和约定 B、软件开发的步骤 C、软件开发的技术 D、软件开发的思想 3、软件生存周期中花费最多的阶段是(D)。 A、详细设计 B、软件编码(最少) C、软件测试 D、软件维护 4、软件工程的三要素不包括(D)。 A、工具 B、过程 C、方法 D、环境 5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。 A、总体设计 B、详细设计(怎么做) C、可行性研究(能不能做) D、需求分析 6、瀑布模型本质上是一种(A)模型。 A、线性顺序 B、顺序迭代 C、线性迭代 D、能及早见到产品的 7、瀑布模型突出的缺点是不适应(D)的变动。 A、算法 B、程序语言 C、平台 D、用户需求 8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。 A、瀑布模型 B、喷泉模型 C、快速原型模型 D、螺旋模型 9、瀑布模型不适合用于(A)的软件开发。 A、需求模糊不清 B、用户不能参与开发 C、用户对计算机不了解 D、开发人员对业务知识不熟悉 10、快速原型的主要优点不包括(D)。 A、能让用户参与开发、给出反馈 B、尽早把需求分析清楚,以降低风险

软件工程实验教案

《软件工程》实验教案 学院系部:计算机科学与技术系 专业: 课程名称:软件工程 主讲教师:周学清 使用教材:张海藩.《软件工程导论》.[M].清华大学出版社课时10课时(四个实验) 2015年下学期

一、课程的地位、作用与目的 本课程为计算机科学与技术专业的专业必修课程。软件开发是建立计算机应用系统的重要环节,因此,“软件工程”是本专业的一门工程性课程,也是一门十分重要的专业课程。软件工程研究的是在软件开发中应遵循的原理、可使用的方法和工具,用以指导软件开发过程,规范软件开发步骤,提高软件开发的质量。 二、课程内容与基本要求 软件工程主要讲述构建软件系统的方法、技术、流程、工具及规范。通过本课程的学习,掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向;用工程化的方法开发软件项目,掌握在开发过程中应遵循的流程、准则、标准和规范;掌握软件的可行性研究、软件的需求分析、软件的总体设计、软件的详细设计过程、软件的实现、软件的维护;特别是需求分析中数据流图的画法、由数据流图导出软件的基本结构的方法以及模块划分原则、模块的设计。掌握统一建模语言UML的应用;掌握面向对象分析、面向对象设计、面向对象实现的软件工程方法,其重点在于面向对象的模型建立;掌握软件项目管理的方法,能够通过计划、组织和控制等活动,合理配置和使用资源来达到软件开发的总体目标。引导学生重视软件测试工作,掌握软件测试技术。 三、集中实践场所及相关设施要求 1、实践场所选择 计算机实验室 2、设施要求 计算机、配套软件开发环境、相关作图软件(ROSE或starUML) 四、课程考核形式与成绩评定 理论课程占本课程80%,其实验课、作业、考勤成绩应占本课程总成绩的20%左右。五、教学参考书 1.张海藩.软件工程导论.北京:清华大学出版社,2003年,第四版 2.邓良松,刘海岩,陆丽娜.软件工程.西安:电子科技大学出版社,2004年9月 3.刘超,张莉.可视化面向对象建模技术.北京:北京航空航天大学出版社,1999年4.UML National Guide https://www.doczj.com/doc/005406203.html,/uml. 5.周佰生,冯学民,樊东平译.统一软件开发过程.北京:机械工业出版社,2002年六、实验内容:

软件工程管理分析案例教程(第三版)课后习题-答案

第一章 二、判断题 1、搬家属于项目。(√) 2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。(×) 3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。(√) 4、项目具有临时性的特征。(√) 5、日常运作存在大量的变更管理,而项目基本保持连贯性的。(×) 6、项目开发过程中可以无限制地使用资源。(×) 三、选择题 1、下列选项中不是项目与日常运作的区别的是(C) A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。 B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。 C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。 D.项目是一次性的,日常运作是重复性的。 2、下列选项中最能体现项目的特征(C) A.运用进度计划技巧 B.整合范围与成本 C.确定期限 D.利用网络进行跟踪 3、以下都是日常运作和项目的共同之处,除了(D) A.由人来做 B.受限于有限的资源 C.需要规划、执行和控制 D.都是重复性工作 4、项目经理的职责不包括(D) A.开发计划 B.组织实施 C.项目控制 D.提供资金 5、下列选项中属于项目的是(C) A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁 6、下列选项中正确的是(C) A.一个项目具有明确的目标而且周期不限 B.一个项目一旦确定就不会发生变更 C.每个项目都有自己的独特性 D.项目都是一次性的并由项目经理独自完成 7、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。 A.过程 B.项目 C.项目群 D.组合 8、(B)是一系列伴随着项目的进行而进行,目的是确保项目能够达到期望结果的一系列管理行为。 A.人力资源管理 B.项目管理 C.软件项目管理 D.需求管理 9、下列活动中不是项目的是(C) A.野餐活动 B.集体婚礼 C.上课 D.开发操作系统 10、下列选项中不是项目的特征的是(C) A.项目具有明确的目标 B.项目具有限定的周期 C.项目可以重复进行 D.项目对资源成本具有约束性 第二章 二、判断题 1、项目初始阶段甲方为软件开发方,乙方为顾客。(×) 2、项目招标对于一个项目的开发是必需的,即便项目是内部项目。(×) 3、make or buy决策中的make指的只是自主开发。(√)

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