软件工程习题解答_第1页
软件工程习题解答_第2页
软件工程习题解答_第3页
软件工程习题解答_第4页
软件工程习题解答_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

期考试题题型构成:选择题20道 40分 填空题 10道 20分 应用题 5道 40分软件工程习题解答一、软件生存周期各阶段的基本任务?1. 问题定义: (1)回答要解决的问题是什么。 (2)系统分析员应该提出关于问题性质、工程目标和规模的书面报告。 (3)经过和用户讨论,澄清含糊不清的地方,改正理解不正确的地方,得出一份双方都满意的文档。 (4)问题定义是软件生命周期中最简短的阶段。 2.可行性研究:(1)前一阶段定义的问题有可行的解决办法吗? (2)系统分析员要进行一次大大压缩和简化了的系统分析和设计。导出高层逻辑模型(用数据流图表示)。确定工程规模和目标,准确估计系统的成本和效益。 (3)使用部门的负责人根据可行性研究的结果决定是否继续进行该工程的开发工作。 3.需求分析: (1)主要确定目标系统必须具备哪些功能。 (2)系统分析员和用户密切配合,充分交流,得出经用户确认的系统逻辑模型(数据流图、数据字典、算法描述)。 4.总体设计: (1)回答如何解决问题。 (2)系统分析员 应使用系统流程图或其他工具描述每种可能系统; 估计每种方案的成本和效益。 推荐一较好的系统有其详细计划。设计软件的结构(用层次图或结构图描述)。 5.详细设计: (1)回答应该怎样具体地实现这个系统。 (2)设计出程序的详细规格说明(用HIPO层次图加输入/处理/输出图)或PDL语言(过程设计语言)。 6.编码和单元测试: (1)写出正确的容易理解,容易维护的程序模块。 (2)程序员: 选取一种适当的用高级语言书写程序(或汇编语言)。仔细测试编写出的每一个模块。7.综合测试: (1)通过各种类型的测试,使软件达到预定的要求。 (2)最基本的测试是集成测试和验收测试方法。 集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配的过程中对程序进行必要的测试。验收测试是按照需求规格说明书的规定,由用户对目标系统进行验收。(3)用正式文档将测试计划、详细测试方案以及实际测试结果保存。 (4)以正式或非正式的方式对用户进行培训。 8.软件维护: (1)使系统持久地满足用户的需要。 (2)四类维护: 改正性维护:诊断和改正使用过程中发现的软件错误。适应性维护:修改软件以适应环境变化。完善性维护:根据用户要求,改进或扩充软件。预防性维护:修改软件为将来的维护预先准备。第二章 可行性研究1.已知某软件包具有三个主要功能:输入数据、更新数据、产生报表。根据历史资料记载,实现每个功能所需源代码行数估算如下: 输入数据: a=l00 m=200 b=300 更新数据: a=200 m=300 b=400 产生报表: a=300 m=400 b=500 三个功能的软件生产率都是 200行人月,每行成本 lO元行,请用LOC技术估算出该软件包的成本和工作量。 解: 2.某计算机系统投入使用后、 5年内每年可节省人民币 2 O0O元,假设系统的投资额为5 000元,年利率为 12。试计算投资回收期和纯收入。 解: 1、投资回收期 最初投资额为5000元,经过3年后可以节省4814.28元,比最初投资还少185.72元,第4年一年再次节省1273.89元,则015 3 + 015=315 因此这项工程的投资回收期是315年。2、纯收入 722453 - 5000=222453元 0,值得投资。 第三章 需求分析1.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。作 用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.基本符号有四种: ,箭头,表示数据流; ,圆或椭圆,表示加工; =,双杠,表示数据存储;,方框,表示数据的源点或终点.2.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。请用DFD和IDEF0描绘该功能的需求,并建立相应的数据字典。 (1)数据流条目:数据流名称:存款单别 名:无简 述:储户存款时填写的项目来 源:储户去 向:记帐数据 流 量:未知组 成:姓名+住址+存款类型+存款日期+利率数据流名称:取款单别 名:无简 述:储户取款时填写的项目来 源:储户去 向:统计数据 流 量:未知组 成:姓名+住址+取款类型+取款日期+利率数据流名称:清单别 名:无简 述:储户取款后得到的项目来 源:记录去 向:储户数据 流 量:未知组 成:姓名+住址+取款类型+取款日期+利率+余额 (2)数据存储条目:数据存储名称:账单别 名:无简 述:存放储户信息及其账目组 成:姓名+住址+余额+存款类型+最后修改日期+利率组 织 方 式:未知查 询 要 求:能立即查询 (3)数据项条目: 未知 (4)加工条目:加工 名:分类检查编 号:无激发条件:接收到存/取款单优 先 级:优先输 入:存/取款单输 出:存/取款单加工逻辑:IF 存款单 THEN 把存款单输出到统计 ELSE 把取款单输出到统计 ENDIF加工 名:统计编 号:无激发条件:取款单优 先 级:无输 入:取款单输 出:清单加工逻辑:根据账单检查此储户是否存在,不存在输出错误 IF 取款数1) and (z=0) then x:=x/y;if(y=2) or (x=l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。答题要求:(1)画出流程图。(2)用白盒法设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。答:(1)流程图(2)用白盒法中条件组合覆盖设计测试用例: y=2, z=0, x=4; y=2, z=1, x=1; y=1, z=0, x=2; y=1, z=1, x=1. 2、某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。现要求用黑盒测试法中的边界值法写出测试用例。答:输入条件测试用例说明测试数据报表日期的 1个数字字符 5 类型及长度 5个数字字符 20035 7个数字字符 2003005 有1个非数字字符 2003.5 全部是非数字字符 MAY- 6个数字字符 200305 日期范围在有效范围 200301 边界上选取 200812 数据 200300 200813 月份范围 月份为1月 200301 月份为12月 200312 月份12 200313 3、对以下程序进行测试: PROCEDURE EX(A,B:REAL;VAR X:REAL); BEGIN IF(A=3)OR(B 1)THEN X:=AB IF(A2)AND(B=0)THEN X:=A3 END 先画出程序流程图。 再按不同逻辑覆盖法设计一种(写出名称)测试数据。答:语句覆盖A=3 B=04、程序功能说明书指出,某程序的输入条件为:每个学生可以选修1至3门课程,试用黑盒法设计测试用例。 (1)按等价分类法设计测试用例(要求列出设计过程) (2)按边缘值分析法设计测试用例。答:1)合理等价类 选修1门 选修2门 选修3门 不合理等价类 没选课 选3门以上 测试用例 选修2 选修0 选修3 2) 边缘值法 0,1,3,4 5、设被测试的程序段为: begin s1 ; if (x=0) and (y2) then s2;if (x1,B=0A=2,B=0执行S1A1,B0或A1,B=0或A1,B0A=2,B=1或A=1,B=0或A=1,B=1执行S2条件覆盖以下四种情况各出现一次A1B=0A=2,B=0执行S1A1B0A=1,B=1执行S2条件组合覆盖A1,B=0A=2,B=0执行S1A1,B0A=2,B=1执行S2A1,B=0A=1,B=0执行S2A1,B0A=1,B=1执行S2四.某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:非0或1的三位数字; 后 缀:4位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 1.划分等价类输入条件有效等价类无效等价类地区码1.空白;2.三位数;1. 有非数字字符;2.少于三位数字;3.多于三位数字。前 缀3.从200到999之间的三位4.有非数字字符;5.起始位为0;6.起始位为1; 7.少于三位数字;8.多于三位数字。后 缀4.四位数字。9.有非数字字符;10.少于四位数字;11.多于四位数字。设计测试方案方案内容输 入预期输出地区码前缀后缀1空白200999之间的三位数字四位数字( )276-2345有效2三位数字四位数字(635)805-9321有效3有非数字字符(20A)723-4567无效4少于三位数字(33 )234-5678无效5多于三位数字(5555)345-6789无效6有非数字字符(345)5A2-3456无效7起始位为0(345)012-3456无效8起始位为1(345)132-3456无效9少于三位数字(345) 92-3456无效10多于三位数字(345)4562-3456无效11有非数字字符(345)342-3A56无效12少于四位数字(345)342- 356无效13多于四位数字(345)562-34567无效第八章 软件维护选择、填空、简答(见大纲)1、软件维护有哪些内容?a、校正性维护b、适应性维护c、完善性维护d、预防性维护第九章 见大纲(选择、填空)第十章 面向对象技术1、说明对象、类、类结构、消息的基本概念?答:对象:是客观实体在问题域中的抽象。类:具有相似或相同性质的对象的抽象就是类。类结构:类的结构通常有一般-具体(分类结构)整体-抽象(组装结构)消息:对象之间通信的构造。2、面向对象的特征和要素?答:特征:一致性、多态性、分类性、继承性。要素:共享、封装、抽象。第十二章 软件工程管理 3、软件开发成本估算方法有哪几种?答:COCOMO、PUTANM 。4、什么软件配置管理?什么是基线?答:软件配置管理:软件配置管理(SCM)用于整个软件工程过程,目标是表示变更,控制变更,确保变更的正确实施,报告变更。SCM是用在整个软件生存周期个阶段中的变更活动。基线:是软件生存周期中各开发阶段的一个特定点,它的作用是把开发各阶段的工作划分的更加明确化,使本来连续的工作在这些点上断开,便于检查于肯定阶段成果。图书馆信息系统UML实例一、如何理解UML1、UML统一建模语言统一建模语言(Unified Modeling Language,UML)是一个通用的可视化建模语言,跨越软件开发的整个生命过程,详细描述系统结构的方法,为规范化、可视化、文档化软件系统提供了一致的建模语言。使用UML主要目的是是便于用户、开发人员、分析人员、测试人员、管理人员、其他涉及项目人员之间的通信。建立“立体”的模型需要:点 、 线、 面 UML描述模型有三种词汇:要素、关系、图 2、UML有四种要素:(1)表示结构的要素:Use Case、类、接口、协作(2)表示行为的要素:交互、状态机(3)表示组织的要素:包(Package)(4)表示辅助说明的要素:注释(Notes)3、UML中有四种类型的关系:(1)关联关系:表示两个类之间存在稳定的连接(传递消息)关联关系(Association)的访问方向:单箭头表示一方的实例能够访问另一方实例关联关系有两种强化形式:聚合关系(Aggregation)、组合关系(Composition)聚合关系:表示两个类的实例之间“整体”与“部分”关系,处于空心菱形符号一端的类是整体。组合关系:是进一步强化的聚合关系,增加“皮之不存,毛将焉附”的语义,“整体”一端用实心的菱形表示。(2)依赖关系:表示“被依赖者”类的变化有可能影响“依赖者”类,用带有箭头的虚线表示。(3)泛化关系:表示类A是类B的一种。(4)实现关系:一方提出请求,另一方履行要求中声明的任务。4、UML中有九种图,共三大类:三种静态图(1)业务用例图(Business Use Case Diagram):显示整个系统提供的功能。(2)用例图(Use Case Diagram):从系统的用户角度出发,描述系统应该具有的功能。主要用于展示用例(Use Case)、角色(Actor)及其关系。用例是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用(3)类图(Class Diagram):主要用于展示类、接口、包及其关系。类(Class)是指一些具有相同属性(Attribute))和操作(Operation)的对象的集合,其中操作包含一组有序的参数(parameter),类之间的关系有联系(Association)和泛化(Generation)等。四种动态图:(4)状态图(State chart Diagram):展示对象在其生命周期中可能经历的状态、在这些状态上对事件的响应能力。(5)活动图(Activity Diagram): 是状态机的一个变体,用来描述执行算法的工作流程中涉及的活动, 活动状态代表着一个活动、一个工作流程步骤或一个操作的执行,活动视图描述一组顺序的或并发的活动,展示系统从一个活动转到另一个活动的可能路径与判断条件。(6)顺序图(Sequence Diagram):用于按时序展示对象间的消息传递。当执行一个用例行为时,顺序图中的每条消息对应一个类操作或状态机中引起转换的触发事件。(7)协作图(Collaboration Diagram):其核心内容与序列图相对应,强调(收发消息的)对象间的结构组织。两种执行图:(8)组件图(Component Diagram):显示系统中的组件及其相互依赖性。开发人员知道有哪些代码库,相互间有什么关系,编译人员知道组件所需的编译的顺序。(9)部署图(Deployment Diagram):它考虑应用程序的物理部署,如网络布局和组件在网络上的位置的问题。显示网络上的所有结点、结点间的连接、每个结点上运行的进程。二、图书馆信息系统UML实例介绍1、理解需求图书馆信息系统文本需求说明:(1)图书馆将书和杂志借给读者,读者、书、杂志系统中注册。(2)图书馆负责购买图书、删除书目。(3)图书管理员与借书者打交道,他们的工作要得到系统的支持。(4)借书者可以增删预订书目(5)图书馆可维护与书目、借书者、借阅(Loan)和预订等有关的信息。(6)系统能够在Unix、Windows、OS/2等环境下运行,有一个非常友好的用户图形界面(GUI)(7)系统应该具有很好的扩展性。2、需求分析2.1、定义业务用例:描述图书馆提供的功能Business Use case框图:显示业务用例与业务角色之间的交互。业务用例:表示公司的执行的过程,为什么要建立系统。业务角色:表示业务要交互的角色,如客户与厂家,不表示公司内的角色或人员。业务工人:表示公司内的角色或人员。2.2、定义用例,即描述图书馆系统的功能Use Case 框图:显示使用案例与角色的交互。使用案例:表示从用户角度对系统的要求(系统功能)。角色:表示接受和提供系统信息的人或系统(系统主体)。图书馆中的角色:图书馆管理员、借书者图书馆信息系统中的用例(使用案例)如下:借出书目(Lend Item)、返回书目(Return Item)、预订(Make Reservation)、删除预订(Remove Reservation)增加标题(Add Title)、更新或删除标题(Update or Remove Title)、增加书目(Add Item)、删除书目(Remove Item)、增加借书者(Add Borrower)、更新或删除借书者(Update or Remove Borrower)“标题(Title)”与“书目(Item)”的区别:在图书馆中,一个流行的标题可能有好几本,标题可能是书名或书的作者,这样可让借书者预定。图书馆信息系统的用例图:增加系统用例模型包、Use Case框图、用例与角色建立图书馆信息系统的用例图操作步骤:(1)右击Use Case视图、New、Package,将新包命名为System Use Case Model(使用案例模型)。(2)右击System Use Case Model包、New、UseCase Diagram,将新框图命名为Main。(3)双击该框图,添加新用例、 添加新角色、增加关联。3、领域分析3.1、图书馆信息系统的类结构Class框图 Class框图:显示系统中类与类之间的交互。 Class框图:可显示每个使用案例中类的相互作用,也可显示整个系统或子系统。 开发人员用Class框图开发类,产生类的框架代码,用所选语言填充细节。 分析人员用Class框图显示系统细节。 架构师用Class框图显示系统设计。类的含义类包括三部分:类名、类包含的属性(与类相关的信息)、类的操作(类提供的功能)连接类的直线:显示类之间的通信关系。我们将信息和影响信息的行为连接在一起,包装成类,对象是类的实例。在UML中,类用下列图注表示: Class-Attribute+Operation()图书馆信息系统的域类结构建立图书馆信息系统域类的Class框图操作步骤:(1)右击Logical视图、选New、Class Diagram、将新框图取名 “域类”、双击打开该框图、选Class类工具栏按钮、添加类:借书者信息(Borrower Information)、标题(Title)、书的标题、杂志标题、书目、预订、借书(2)添加关联、泛化关系(3)添加属性与操作 3.2、用例“借出书目”、“增加标题” 的序列图用例“借出书目”的序列图操作步骤:(1)设置 选Tools、Options、Diagram标签、复选Focus of controlSequence Numbering、Collaboration Numbering、(2)创建Sequence 框图Use Case视图、包System Use Case Model(使用案例模型)下,右击“借出书目”用例,选 New、Sequence Diagram (3)将角色和对象加进框图将“图书管理员”角色从浏览器拖到框图中、选Object工具栏按钮、单击框图顶部添加对象 (4)将消息加进框图选Object Message工具栏按钮、从“图书管理员”角色的生命线拖到“借出书目窗口”对象的生命线、选中消息,输入find title()用例“借出书目”的序列图(没有预定的情况)“增加标题(Add Title)”用例的序列图3.3、用例“借出书目” 、“增加标题”的协作图协作图(Collaboration Diagram)Sequence框图:演示的是对象与角色随时间变化的交互。Collaboration框图:则不参照时间而显示对象与角色的交互Collaboration框图显示的信息与Sequence框图相同,但Collaboration框图用不同方式显示这个信息。质量保证工程师和系统架构师:用该框图显示对象间处理过程的分布。创建Collaboration框图:打开Sequence框图,按F5键。用例“借出书目”的协作图“增加标题(Add Title)”用例的协作图3.4、“标题”类的状态图状态图(State chart Diagram)State chart框图:显示对象的功能。方括号中的条件称为保证条件,控制过渡能不能发生。 开发人员开发类时可使用这种框图,不是对每个类创建,只用复杂的类。 State

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论