软件工程4-史济民

软件工程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 =?=

第2章 软件工程 答案

第2章软件工程 一、选择题 1.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致 了___A___ A .软件危机 B .软件工程 C .程序设计革命 D .结构化程序设计 2.“软件工程的概念是为解决软件危机而提出的”这句话的意思是___C______。 A 强调软件工程成功解决了软件危机的问题 B 说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理 C 说明软件工程这门学科的形成是软件发展的需要 D 说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护 3.瀑布模型的存在问题是_____B______。 A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 4.下列关于瀑布模型不正确的是_____B______。 A 瀑布模型上一阶段的变换结果是下一阶段的输入 B 瀑布模型每个阶段都不需要反馈 C 瀑布模型提供了软件开发的基本框架 D 瀑布模型存在局限性 5.快速原型是利用原型辅助软件开发的一种新思想,它是在研究___A___的方法和技术中产生的。 A 需求阶段 B 设计阶段 C 测试阶段 D 软件开发的各个阶段 6.原型化方法是用户和设计者之间执行的一种交互构成,适用于__A____系统。A.需求不确定性高的B.需求确定的C.管理信息D.实时 7. 信息隐蔽概念与_____A_______这一概念直接的相关。

A 模块的独立性 B 模块类型的划分 C 软件结构定义 D 软件生命周期 8. 为高质量地开发软件项目,在软件结构设计时,必须遵循____A_____原则。 A 信息隐蔽 B 质量控制 C 程序优化 D 数据共享 9._____A_________的目标是确定软件开发工程的总目标,确定工程的可行性。 A 软件定义 B 软件开发 C 软件测试 D 软件维护 10.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出___B____ 的回答。 A.确定 B.行或不行 C.正确 D.无二义 11.经济可行性研究的范围包括___C____。 A.资源有效性 B.管理制度 C.效益分析 D.开发风险 12.需求分析中开发人员要从用户那里了解____A____。 A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 13. 需求分析阶段的任务是确定____D_____。 A 软件开发方法 B 软件开发工具 C 软件开发费 D 软件系统的功能 14. 需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出____B_____的过程。 A 模块说明书 B 软件规格说明 C 项目开发计划 D 合同文档 15. 需求规格说明书的作用不包括____C_______ A 软件验收的依据 B 用户与开发人员对软件要做什么的共同理解 C 软件可行性研究的依据 D 软件设计的依据

软件工程题库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

软件工程(第2版)-在线作业_A

软件工程(第2版)-在线作业_A用户名:W130244122121最终成绩:85.0一单项选择题 1. 个体手工劳动生产方式的时代是()。 程序设计 软件生产生动化 程序系统 软件工程 本题分值: 5.0 用户得分: 5.0 教师评语: 用户解答:程序设计 知识点: 1.1 软件工程的产生 2. 成本-效益分析的目的是从()角度评价一个新软件项目是否可行。 成本 经济 技术 效益 本题分值: 5.0 用户得分: 5.0 教师评语: 用户解答:经济

知识点: 2.1 可行性研究 3. 项目开发计划是一个()文档。 管理性 可行性 技术性 分析性 本题分值: 5.0 用户得分: 5.0 教师评语: 用户解答:管理性 知识点: 2.2 系统流程图 4. 需求分析是()。 由用户自己单独完成的 软件生存周期的开始 由系统分析员单独完成的 软件开发工作的基础 本题分值: 5.0 用户得分: 5.0 教师评语: 用户解答:软件开发工作的基础

知识点: 3.1 需求分析的任务 5. 与早期的软件开发方式相比较,结构化生命周期法其最要的指导原则应该是()。 分阶段开发 逐步求精 用户需求至上 自顶向下设计 本题分值: 5.0 用户得分: 5.0 教师评语: 用户解答:自顶向下设计 知识点: 3.2 结构化分析方法 6. 数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示()。 软件功能 软件加工 软件模型 软件结构 本题分值: 5.0 用户得分:0.0 教师评语: 用户解答:软件模型

知识点: 3.3 数据流图(DFD) 7. IDEF0图不反映出系统()。 系统功能如何实现 系统实现的约束条件 系统由谁来做 系统做什么 本题分值: 5.0 用户得分: 5.0 教师评语: 用户解答:系统功能如何实现 知识点: 3.6 IDEF方法 8. 下列()是耦合度最高、且最差的耦合。 公共耦合 控制耦合 内容耦合 数据耦合 本题分值: 5.0 用户得分: 5.0 教师评语: 用户解答:内容耦合

软件工程可行性研究报告

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

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

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

软件工程课后习题答案第五版

软件工程课后习题答案第五版 《软件工程导论》课后习题答案 第一章软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 3.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。 (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 4.构成软件项目的最终产品: 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 5.什么是软件生存周期? 软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。 6.软件生存周期为什么划分成阶段? (1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。

软件工程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)对一批模块进行测试,被发现的错误多的模块中残留的错误将比其他的模块少。

软件工程(第2版)_在线作业_5

软件工程(第2版)_在线作业_5 交卷时间:2016-03-26 13:49:45 一、单选题 1.(5分) 在面向对象方法中,信息隐蔽是通过对象的()来实现的。 ? A. 继承性 ? B. 共享性 ? C. 分类性 ? D. 封装性 纠错 得分:5 知识点:10.1 面向对象概述 展开解析 答案D 解析 2.(5分) 下列是关于系统开发方法JSP的说法,不正确的是()。 ? A. JSP方法适用于输入数据和输出数据之间有对应关系的问题求解? B. JSP方法不明确的划分软件概要设计和详细设计的两个阶段 ? C. JSP方法主要用于规模不大的数据处理系统 ? D. JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段

得分:5 知识点:5.2 Jackson方法 展开解析 答案D 解析 3.(5分) 下列是关于功能性注释的说法,()是不正确的。 ? A. 修改程序也应修改注释 ? B. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 ? C. 可使用空行或缩进,以便很容易区分注释和程序 ? D. 注释用来说明程序段,需要在每一行都要加注释 纠错 得分:5 知识点:6.2 程序设计风格 展开解析 答案D 解析 4.(5分) 对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。 ? A. 封装 ? B. 结合 ? C. 抽象 ? D. 隐藏

得分:5 知识点:10.1 面向对象概述 展开解析 答案A 解析 5.(5分) 原型化方法是用户和软件开发人员之间进行的一种交互过程,它适用于()系统的开发。 ? A. 动态改变的 ? B. 需求不确定性的 ? C. 管理信息 ? D. 需求确定的 纠错 得分:5 知识点:9.3 快速原型模型 展开解析 答案B 解析 6.(5分) 以下叙述中,()是正确的。 ? A. 对象模型指出发生了什么 ? B. 动态模型确定什么时候发生 ? C. 功能模型描述了系统的所有计算,它考虑所计算的次序 ? D. 功能模型确定发生的客体

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

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

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

第一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++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在 计 算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发 现错误,就 重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧 所有通过了 编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运 行的可执行 软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统, 都属于软 件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效, 甚至不能 运行。

软件工程(第2版)_在线作业_1

软件工程(第2版)_在线作业_1 交卷时间2018-08-11 16:25:28 一、单选题(每题5分,共14道小题,总分值70分) 1. 面向对象的程序设计语言必须具备()特征。 (5分) A可视性,可移植性,封装性 B继承性,可重用性,封装性 C继承性,多态性,封装性 D可视性,继承性,封装性 纠错 正确答案您的答案是C回答正确展开 2. 个体手工劳动生产方式的时代是()。 (5分) A程序系统 B软件工程 C软件生产生动化 D程序设计 正确答案您的答案是D回答正确展开 3. 系统流程图是描绘()的传统工具。 (5分) A数据结构

C物理系统 D逻辑系统 正确答案您的答案是C回答正确展开 4. Putnam 成本估算经验模型是()。 (5分) A动态多变量模型 B模块性成本模型 C结构性成本模型 D动态单变量模型 正确答案您的答案是A回答正确展开 5. 软件详细设计主要采用的方法是()。 (5分) A PDL语言 B模块设计 C结构化程序设计 D数据流图 正确答案您的答案是C回答正确展开 6. 成本的差别估算方法是将开发项目与一个或多个()的类似项目进行比较,找出与其的不同之处,并由此估算不同之处对成本的影响,进而导出开发项目的总成本。 (5分) A正在进行 B正在论证

D已经完成 正确答案您的答案是D回答正确展开 7. 结构化分析(SA)是软件开发需求分析阶段所使用的方法,下列()不是SA所使用的工具。 (5分) A结构化语言 B DFD图 C PAD图 D判定表 正确答案您的答案是C回答正确展开 8. 成本-效益分析的目的是从()角度评价一个新软件项目是否可行。 (5分) A效益 B技术 C经济 D成本 正确答案您的答案是C回答正确展开 9. 面向对象的主要特征除对象唯一性、封装和继承外,还有()。 (5分) A兼容性 B可移植性 C多态性

软件工程实验教案

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

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

软件工程第二版知识点

1、软件的特性:(10个) 形态、智能、开发、质量、生产、管理、环境、维护、废弃、应用特性 2、软件的概念 软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及其相关文档的完整集合。 3、软件危机产生的原因 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 4、什么是软件工程 软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 5、简述软件生存期由哪些主要的阶段组成,每一阶段的主要任务是什么? 软件定义、软件开发、运行维护(1) 问题定义与可行性研究:问题定义必须回答的关键问题是:“要解决的问题是什么”。可行性研究要回答的关键问题是:“在成本和时间的限制条件下能否解决问题?是否值得做?”。(2) 需求分析:这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题。(3) 软件设计:本阶段要回答的关键问题是“目标系统如何做?”为此,必须在设计阶段中制定设计方案,把已确定的各项需求转换成相应的软件体系结构。结构中的每一组成部分都是意义明确的构件,此即所谓概要设计。进而具体描述每个构件所要完成的工作,为源程序编写打下基础,此即所谓详细设计。(4) 程序编码和单元测试:本阶段要解决的问题是“正确地实现已做的设计”,为此,需要选择合适的编程语言,把软件设计转换成计算机可以接受的程序代码,并对程序结构中的各个模块进行单元测试,然后运用调试的手段排除测试中发现的错误。要求编写出的程序应当是结构良好、清晰易读的,且与设计相一致的。(5) 集成测试和系统测试:集成测试的任务是将已测试过的模块按设计规定的顺序组装起来,在组装的过程中检查程序连接的问题。系统测试的任务是根据需求规格说明的要求,对必须实现的各项需求,逐项进行确认,判定已开发的软件是否符合用户需求,能否交付用户使用。为了更有效地发现系统中的问题,通常这个阶段的工作由开发人员、用户之外的第三者承担。 (6) 运行维护:已交付的软件投入正式使用,便进入运行维护阶段。这一阶段可能持续若干年。软件在运行中可能由于多方面的原因,需要对它进行维护。通常有四种类型的维护:改正性维护、适应性维护、完善性维护和预防性维护。 6、软件工程的三种基本要素是什么 软件工程的三种基本要素是方法、工具和过程。(1) 软件工程方法为建造软件提供技术上的解决方法(“如何做”)。目前使用得最广泛的方法是传统方法(结构化方法)和面向对象方法。(2) 工具为方法的运用提供自动的或半自动的软件支撑环境。(3) 过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 7、简述传统方法和面向对象方法的特点 (1) 传统方法的特点传统方法也称为生命周期方法或结构化范型。它采用结构化技术来完成软件开发的各项任务。这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地逐步完成每个阶段的任务。每一个阶段的开始和结束都有严格的标准,对于任何两个相邻的阶段而言,前一个阶段的结束标准就是后一阶段的开始标准。传统方法的主要缺点是在适应需求变化方面不够灵活,另外,结构化方法要么面向行为,要么面向数据,缺乏使两者有机结合的机制。(2)面向对象方法的特点面向对象方法把数据和行为看成同等重要,是将数据和对数据的操作紧密地结合起来的方法,这也是面向对象方法与传统方法的重要区别。面向对象方法的出发点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类认识问题和解决问题的方法与过程,从而使描述问题的

软件工程中的需求分析

关于软件工程需求分析探究 来源:https://www.360docs.net/doc/718487964.html, [摘要]我国的信息化已经走过了20多年的历程,但许多软件开发公司仍不得不在收集、编写和管理产品需求中疲于奔命。而缺乏用户参与、不完整的需求及不断变更需求,是导致信息技术项目不能按进度安排和资金预算完成全部功能的主要原因。 [关键词]用户软件开发软件工程 需求分析是软件工程中的一个重要环节。是关乎软件项目开发成败的重要因素。现在的软件项目中返工开销几乎占了总开发的一半,而导致返工的主要原因是需求分析不明确.从而引发项目开发中的一系列更改。这些更改可能导致浪费大量资源、软件项目无法按时完成等严重问题。所以,需求分析是软件设计和实现的基础,是软件项目迈向成功的重中之重。 一、软件工程中的需求分析概述 一个软件项目的开发主要分为五个阶段:需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段。而需求分析阶段所得到的结果。是软件项目开发中其他四个阶段的必备条件。从以往的经验来看,需求分析中的一个稍稍的偏差.就可能导致整个项目无法达到预期的效果。需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。在这个过程中。用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段结束后.要求得到:1.SRS文档(System Requirement Specification);2.DRM文档;3 Acceptance Plan。从广义上理锯需求分析则包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。 二、软件工程中的需求工作流程 软件需求是指用户对目标软件在功能、行为、性能、设计约束等方面的期望。通过对问题及其环境的理解与分析,为问题涉及的信息、功能及行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,如图1所示,整个活动构成软件开发生命周期的需求分析阶段。在需要的开发中,问题的获取包括业务需求、用户需求、功能需求。业务需求的参与者主要是业务流程分析员,对企业目前的业务流程进行评估。确定进行何种程度的业务建模;用户需求重心是如何收集用户需求,确定角色和用例,获取需求的方法倾向组织访谈会:功能需求依赖于用户需求。是用户需求在系统上的一个映射,为用户做一个软件原型是一个很好的方法。 三、软件工程中的需求分析 需求分析包括提炼、分析和仔细审查已收集到的需求,以确保所有承担风险者都明白其含义。能找出其的错误、遗漏等地方。分析员通过评价来确定是否所有的需求和软件需求规格说明都达到了优秀需求说明的要求。分析的目的在于开发出高质量的需求。这样你能做出实用的项目估算并可以进行设计、构造和测试。通常。把需求中的一部分用多种形式来描述.如同时用文本和图形来描述。分析这些不同的视图将揭示出一些更深的问题,这是单一视图无法提供的。分析还包括与客户的交流以澄清某些混淆,并明确哪些需求是更为重要的。其目的是确保所有风险承担者尽早地对项目达成共识并对将来的产品有个相同而清晰的认识。

软件工程(第2版)-在线作业-

软件工程(第2版)_在线作业_2 交卷时间2018-08-11 17:10:27 一、单选题(每题5分,共14道小题,总分值70分) 1. 按集成化程度对软件开发环境进行分类,其第一代的主要特征是()。 (5分) 建立在操作系统之上 具有真正的数据库 建立在知识库系统上 正确答案您的答案是A回答正确展开 2. 原型模型开发方法具有基本的开发步骤,下列()是实施原型法的最基本的步骤。 ①获得基本需求②开发工作模型 ③严格细部说明④模型验证 (5分) ①② ①②③ ①②④ 正确答案您的答案是C回答正确展开 3. 不适合作为数据处理与数据库应用的语言是()。 (5分) Cobol SQL

Lisp 4GL 正确答案您的答案是C回答正确展开 4. 软件开发环境的裁剪是指环境应能自动按照用户的需要()。 (5分) 建立操作系统 建立子环境 建立新环境 建立子系统 正确答案您的答案是B回答正确展开 5. 在软件工程学中,我们把一组具有相同数据结构和相同操作的对象的集合定义为(),此定义包括一组数据属性和在数据上的一组合法操作。 (5分) 属性 对象 类 消息 正确答案您的答案是C回答正确展开 6. 技术可行性要研究的问题之一是()。 (5分) 存在侵权否 技术风验问题 成本效益问题

运行方式可行否 正确答案您的答案是B回答正确展开 7. IDEF0图不反映出系统()。 (5分) 系统由谁来做 系统做什么 系统实现的约束条件 系统功能如何实现 正确答案您的答案是D回答正确展开 8. 许多产品的质量问题源于新产品的开发设计阶段,因此在产品()阶段就应采取有力措施来消灭由于设计原因而产生的质量隐患。 (5分) 软件评审 软件度量 开发设计 软件测试 正确答案您的答案是C回答正确展开 9. 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此,必须给出()的回答。 (5分) 无二义 确定 正确 行或不行

软件工程课程教学大纲

软件工程课程教学大纲 课程名称:软件工程 英文名称: Software Engineering 课程编号:x2050881 学时数: 48 其中实验学时数:8 课外学时数: 学分数: 3.0 适用专业:软件工程专升本 一、课程的性质、目的和任务 软件工程是软件工程专业的专业必修课。课程的任务是培养学生在软件开发过程中技术方法的综合应用能力。课程介绍软件的基本概念、软件生命周期各时期和阶段的主要任务。并通过介绍传统软件工程、面向对象软件工程,使学生了解软件工程的主要技术和方法。通过对面向对象的软件开发方法的介绍,使学生掌握开发主流软件系统的技术方法;通过对软件测试的学习,使学生了解如何通过白盒测试、黑盒测试的方法对软件进行质量保证。通过对软件工程课程的学习,为学生从事软件开发和管理工作打下良好的基础 二、课程教学内容的基本要求、重点和难点 1、绪论 掌握:软件、软件危机、软件工程的概念;软件工程的内容、目标;软件工程三要素;软件的特点、软件危机产生及表现; 了解:软件工程产生的背景; 重点:软件工程的定义、软件的特点; 难点: 软件与程序、软件危机发生的原因和解决方法。 2、软件过程 掌握:软件过程、生命周期的概念;软件过程的活动集合;基本生存周期模型;四个古典模型;理解:软件过程的作用;生存周期划分阶段的目的;当今流行的RUP、XP开发模型。 重点:软件过程、生命周期的概念与作用;软件生命周期模型; 难点:软件开发方法学中的分阶段、评审、控制、基线、里程碑、循环往复、演进迭代、风险控制等思想的体现;软件过程与生命周期区别和联系;软件工程与软件过程的区别和联系。 3、软件计划时期 掌握:软件计划阶段的主要活动和目标;可行性研究的目的、任务、方法和工具;技术可行性研究的步骤;理解:项目从“问题定义”开始;项目前期工作;软件计划的作用、内容、方法和步骤;

软件工程(第2版) 在线作业 1

软件工程(第2版)_在线作业_1 80分 交卷时间:2016-03-1611:29:28 一、单选题 1. (5分) 面向对象的程序设计语言必须具备()特征。 ? A.继承性,可重用性,封装性 ? B.可视性,可移植性,封装性 ? C.可视性,继承性,封装性 ? D.继承性,多态性,封装性 得分:5 知识点:10.5面向对象的实现 (5分) 个体手工劳动生产方式的时代是()。 ? A.软件工程 ? B.程序设计 ? C.程序系统

? D.软件生产生动化 得分:5 知识点:1.1软件工程的产生 (5分) 系统流程图是描绘()的传统工具。? A.逻辑系统 ? B.物理系统 ? C.状态变迁 ? D.数据结构 得分:5 知识点:2.2系统流程图 (5分) Putnam成本估算经验模型是()。? A.结构性成本模型 ? B.动态多变量模型 ? C.动态单变量模型

? D.模块性成本模型 得分:5 知识点:12.2软件项目计划 (5分) 软件详细设计主要采用的方法是()。 ? A.PDL语言 ? B.数据流图 ? C.模块设计 ? D.结构化程序设计 得分:0 知识点:5.1详细设计的基本任务 (5分) 成本的差别估算方法是将开发项目与一个或多个()的类似项目进行比较,找出与其的不同之处,并由此估算不同之处对成本的影响,进而导出开发项目的总成本。 ? A.正在论证 ? B.已经完成

? C.正在进行 ? D.正在调研 得分:5 知识点:12.2软件项目计划 (5分) 结构化分析(SA)是软件开发需求分析阶段所使用的方法,下列()不是SA所使用的工具。 ? A.PAD图 ? B.DFD图 ? C.结构化语言 ? D.判定表 得分:5 知识点:软件工程(第2版),3.3数据流图(DFD) (5分) 成本-效益分析的目的是从()角度评价一个新软件项目是否可行。 ? A.技术

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

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

相关文档
最新文档