收藏 分销(赏)

软件工程习题解答解析.doc

上传人:精**** 文档编号:4876964 上传时间:2024-10-17 格式:DOC 页数:30 大小:1.76MB
下载 相关 举报
软件工程习题解答解析.doc_第1页
第1页 / 共30页
软件工程习题解答解析.doc_第2页
第2页 / 共30页
软件工程习题解答解析.doc_第3页
第3页 / 共30页
软件工程习题解答解析.doc_第4页
第4页 / 共30页
软件工程习题解答解析.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、期考试题题型构成:选择题20道 40分 填空题 10道 20分 应用题 5道 40分软件工程习题解答一、软件生存周期各阶段基本任务?1. 问题定义: (1)回答要处理问题是什么。 (2)系统分析员应当提出有关问题性质、工程目和规模书面汇报。 (3)通过和顾客讨论,澄清模糊不清地方,改正理解不对地方,得出一份双方都满意文档。 (4)问题定义是软件生命周期中最简短阶段。 2.可行性研究:(1)前一阶段定义问题有可行处理措施吗? (2)系统分析员要进行一次大大压缩和简化了系统分析和设计。导出高层逻辑模型(用数据流图表达)。确定工程规模和目,精确估计系统成本和效益。 (3)使用部门负责人根据可行性研究

2、成果决定与否继续进行该工程开发工作。 3.需求分析: (1)重要确定目系统必须具有哪些功能。 (2)系统分析员和顾客亲密配合,充足交流,得出经顾客确认系统逻辑模型(数据流图、数据字典、算法描述)。 4.总体设计: (1)回答怎样处理问题。 (2)系统分析员 应使用系统流程图或其他工具描述每种也许系统; 估计每种方案成本和效益。 推荐一很好系统有其详细计划。设计软件构造(用层次图或构造图描述)。 5.详细设计: (1)回答应当怎样详细地实现这个系统。 (2)设计出程序详细规格阐明(用HIPO层次图加输入/处理/输出图)或PDL语言(过程设计语言)。 6.编码和单元测试: (1)写出对轻易理解,轻

3、易维护程序模块。 (2)程序员: 选用一种合适用高级语言书写程序(或汇编语言)。仔细测试编写出每一种模块。7.综合测试: (1)通过多种类型测试,使软件到达预定规定。 (2)最基本测试是集成测试和验收测试措施。 集成测试是根据设计软件构造,把通过单元测试检查模块按某种选定方略装配起来,在装配过程中对程序进行必要测试。验收测试是按照需求规格阐明书规定,由顾客对目系统进行验收。(3)用正式文档将测试计划、详细测试方案以及实际测试成果保留。 (4)以正式或非正式方式对顾客进行培训。 8.软件维护: (1)使系统持久地满足顾客需要。 (2)四类维护: 改正性维护:诊断和改正使用过程中发现软件错误。适应

4、性维护:修改软件以适应环境变化。完善性维护:根据顾客规定,改善或扩充软件。防止性维护:修改软件为未来维护预先准备。第二章 可行性研究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元

5、,年利率为 12。试计算投资回收期和纯收入。 解: 1、投资回收期 最初投资额为5000元,通过3年后可以节省4814.28元,比最初投资还少185.72元,第4年一年再次节省1273.89元,则 18572127389=015 3 + 015=315 因此这项工程投资回收期是3。2、纯收入 722453 - 5000=222453元 0,值得投资。 第三章 需求分析1.什么是数据流图?其作用是什么?其中基本符号各表达什么含义?数据流图:简称DFD,是SA(构造化分析)措施中用于表达系统逻辑模型一种工具,是一种功能模型。作 用:它以图形方式描绘数据在系统中流动和处理过程,反应系统必须完毕逻辑功

6、能.基本符号有四种: ,箭头,表达数据流; ,圆或椭圆,表达加工; =,双杠,表达数据存储;,方框,表达数据源点或终点.2.某银行计算机储蓄系统功能是:将储户填写存款单或取款单输入系统,假如是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;假如是取款,系记录算清单储户。请用DFD和IDEF0描绘该功能需求,并建立对应数据字典。 (1)数据流条目:数据流名称:存款单别 名:无简 述:储户存款时填写项目来 源:储户去 向:记帐数据 流 量:未知组 成:姓名+住址+存款类型+存款日期+利率数据流名称:取款单别 名:无简 述:储户取款时填写项目来 源:储户去 向:

7、记录数据 流 量:未知组 成:姓名+住址+取款类型+取款日期+利率数据流名称:清单别 名:无简 述:储户取款后得到项目来 源:记录去 向:储户数据 流 量:未知组 成:姓名+住址+取款类型+取款日期+利率+余额 (2)数据存储条目:数据存储名称:账单别 名:无简 述:寄存储户信息及其账目组 成:姓名+住址+余额+存款类型+最终修改日期+利率组 织 方 式:未知查 询 要 求:能立即查询 (3)数据项条目: 未知 (4)加工条目:加工 名:分类检查编 号:无激发条件:接受到存/取款单优 先 级:优先输 入:存/取款单输 出:存/取款单加工逻辑:IF 存款单 THEN 把存款单输出到记录 ELSE

8、 把取款单输出到记录 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,

9、x=2; y=1, z=1, x=1. 2、某报表处理系统规定顾客输入处理报表日期,日期限制在1月至12月,即系统只能对该段期间内报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月6位数字字符构成,前四位代表年,后两位代表月。现规定用黑盒测试法中边界值法写出测试用例。答:输入条件测试用例阐明测试数据报表日期 1个数字字符 5 类型及长度 5个数字字符 5 7个数字字符 005 有1个非数字字符 .5 所有是非数字字符 MAY- 6个数字字符 05 日期范围在有效范围 01 边界上选用 12 数据 00 13 月份范围 月份为1月 01 月份为12月 12 月份12 13

10、 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

11、选修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四.某都市电话号码由三部分构成。它们名称和内容分别是: 地区码:空白或三位数字; 前

12、缀:非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-234

13、5有效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、软件维

14、护有哪些内容?a、校正性维护b、适应性维护c、完善性维护d、防止性维护第九章 见大纲(选择、填空)第十章 面向对象技术1、阐明对象、类、类构造、消息基本概念?答:对象:是客观实体在问题域中抽象。类:具有相似或相似性质对象抽象就是类。类构造:类构造一般有一般-详细(分类构造)整体-抽象(组装构造)消息:对象之间通信构造。2、面向对象特性和要素?答:特性:一致性、多态性、分类性、继承性。要素:共享、封装、抽象。第十二章 软件工程管理 3、软件开发成本估算措施有哪几种?答:COCOMO、PUTANM 。4、什么软件配置管理?什么是基线?答:软件配置管理:软件配置管理(SCM)用于整个软件工程过程,目

15、是表达变更,控制变更,保证变更对实行,汇报变更。SCM是用在整个软件生存周期个阶段中变更活动。基线:是软件生存周期中各开发阶段一种特定点,它作用是把开发各阶段工作划分愈加明确化,使本来持续工作在这些点上断开,便于检查于肯定阶段成果。图书馆信息系统UML实例一、怎样理解UML1、UML统一建模语言统一建模语言(Unified Modeling Language,UML)是一种通用可视化建模语言,跨越软件开发整个生命过程,详细描述系统构造措施,为规范化、可视化、文档化软件系统提供了一致建模语言。使用UML重要目是是便于顾客、开发人员、分析人员、测试人员、管理人员、其他波及项目人员之间通信。建立“立

16、体”模型需要:点 、 线、 面 UML描述模型有三种词汇:要素、关系、图 2、UML有四种要素:(1)表达构造要素:Use Case、类、接口、协作(2)表达行为要素:交互、状态机(3)表达组织要素:包(Package)(4)表达辅助阐明要素:注释(Notes)3、UML中有四种类型关系:(1)关联关系:表达两个类之间存在稳定连接(传递消息)关联关系(Association)访问方向:单箭头表达一方实例可以访问另一方实例关联关系有两种强化形式:聚合关系(Aggregation)、组合关系(Composition)聚合关系:表达两个类实例之间“整体”与“部分”关系,处在空心菱形符号一端类是整体。

17、组合关系:是深入强化聚合关系,增长“皮之不存,毛将焉附”语义,“整体”一端用实心菱形表达。(2)依赖关系:表达“被依赖者”类变化有也许影响“依赖者”类,用带有箭头虚线表达。(3)泛化关系:表达类A是类B一种。(4)实现关系:一方提出祈求,另一方履行规定中申明任务。4、UML中有九种图,共三大类:三种静态图(1)业务用例图(Business Use Case Diagram):显示整个系统提供功能。(2)用例图(Use Case Diagram):从系统顾客角度出发,描述系统应当具有功能。重要用于展示用例(Use Case)、角色(Actor)及其关系。用例是系统中一种功能单元,可以被描述为参与

18、者与系统之间一次交互作用(3)类图(Class Diagram):重要用于展示类、接口、包及其关系。类(Class)是指某些具有相似属性(Attribute))和操作(Operation)对象集合,其中操作包括一组有序参数(parameter),类之间关系有联络(Association)和泛化(Generation)等。四种动态图:(4)状态图(State chart Diagram):展示对象在其生命周期中也许经历状态、在这些状态上对事件响应能力。(5)活动图(Activity Diagram): 是状态机一种变体,用来描述执行算法工作流程中波及活动, 活动状态代表着一种活动、一种工作流程环

19、节或一种操作执行,活动视图描述一组次序或并发活动,展示系统从一种活动转到另一种活动也许途径与判断条件。(6)次序图(Sequence Diagram):用于准时序展示对象间消息传递。当执行一种用例行为时,次序图中每条消息对应一种类操作或状态机中引起转换触发事件。(7)协作图(Collaboration Diagram):其关键内容与序列图相对应,强调(收发消息)对象间构造组织。两种执行图:(8)组件图(Component Diagram):显示系统中组件及其互相依赖性。开发人员懂得有哪些代码库,互相间有什么关系,编译人员懂得组件所需编译次序。(9)布署图(Deployment Diagram)

20、:它考虑应用程序物理布署,如网络布局和组件在网络上位置问题。显示网络上所有结点、结点间连接、每个结点上运行进程。二、图书馆信息系统UML实例简介1、理解需求图书馆信息系统文本需求阐明:(1)图书馆将书和杂志借给读者,读者、书、杂志系统中注册。(2)图书馆负责购置图书、删除书目。(3)图书管理员与借书者打交道,他们工作要得到系统支持。(4)借书者可以增删预订书目(5)图书馆可维护与书目、借书者、借阅(Loan)和预订等有关信息。(6)系统可以在Unix、Windows、OS/2等环境下运行,有一种非常友好顾客图形界面(GUI)(7)系统应当具有很好扩展性。2、需求分析2.1、定义业务用例:描述图

21、书馆提供功能Business Use case框图:显示业务用例与业务角色之间交互。业务用例:表达企业执行过程,为何要建立系统。业务角色:表达业务要交互角色,如客户与厂家,不表达企业内角色或人员。业务工人:表达企业内角色或人员。2.2、定义用例,即描述图书馆系统功能Use Case 框图:显示使用案例与角色交互。使用案例:表达从顾客角度对系统规定(系统功能)。角色:表达接受和提供系统信息人或系统(系统主体)。图书馆中角色:图书馆管理员、借书者图书馆信息系统中用例(使用案例)如下:借出书目(Lend Item)、返回书目(Return Item)、预订(Make Reservation)、删除预

22、订(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、Pac

23、kage,将新包命名为System Use Case Model(使用案例模型)。(2)右击System Use Case Model包、New、UseCase Diagram,将新框图命名为Main。(3)双击该框图,添加新用例、 添加新角色、增长关联。3、领域分析3.1、图书馆信息系统类构造Class框图 Class框图:显示系统中类与类之间交互。 Class框图:可显示每个使用案例中类互相作用,也可显示整个系统或子系统。 开发人员用Class框图开发类,产生类框架代码,用所选语言填充细节。 分析人员用Class框图显示系统细节。 架构师用Class框图显示系统设计。类含义类包括三部分:类

24、名、类包括属性(与类有关信息)、类操作(类提供功能)连接类直线:显示类之间通信关系。我们将信息和影响信息行为连接在一起,包装成类,对象是类实例。在UML中,类用下图注表达: Class-Attribute+Operation()图书馆信息系统域类构造建立图书馆信息系统域类Class框图操作环节:(1)右击Logical视图、选New、Class Diagram、将新框图取名 “域类”、双击打开该框图、选Class类工具栏按钮、添加类:借书者信息(Borrower Information)、标题(Title)、书标题、杂志标题、书目、预订、借书(2)添加关联、泛化关系(3)添加属性与操作 3.2

25、、用例“借出书目”、“增长标题” 序列图用例“借出书目”序列图操作环节:(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 Mess

26、age工具栏按钮、从“图书管理员”角色生命线拖到“借出书目窗口”对象生命线、选中消息,输入find title()用例“借出书目”序列图(没有预定状况)“增长标题(Add Title)”用例序列图3.3、用例“借出书目” 、“增长标题”协作图协作图(Collaboration Diagram)Sequence框图:演示是对象与角色随时间变化交互。Collaboration框图:则不参照时间而显示对象与角色交互Collaboration框图显示信息与Sequence框图相似,但Collaboration框图用不一样方式显示这个信息。质量保证工程师和系统架构师:用该框图显示对象间处理过程分布。创立

27、Collaboration框图:打开Sequence框图,按F5键。用例“借出书目”协作图“增长标题(Add Title)”用例协作图3.4、“标题”类状态图状态图(State chart Diagram)State chart框图:显示对象功能。方括号中条件称为保证条件,控制过渡能不能发生。 开发人员开发类时可使用这种框图,不是对每个类创立,只用复杂类。 State chart框图仅用于文档,从Rose模型产生代码时,没有任何代码是从State chart框图信息产生。 建立状态图操作环节:1、在浏览器Logical View中找到“标题”类,右击这个类选New、 Sate chart Di

28、agram。 2、增长状态、过渡、过渡细节 “标题”类状态图4、架构设计图书馆信息系统架构设计定义包(子系统)、包间有关性和基本通信机制。包:将完毕一种任务所需要类组合在一起。按功能组合类,可得到互相独立包,即可在其他应用程序中复用。Component框图:显示系统中组件及其互相依赖性。开发人员懂得有哪些代码库,互相间有什么关系,编译人员懂得组件所需编译次序。 在Component框图中创立包显示应用包及包间有关性类图图书馆信息系统包(子系统)如下:(1)顾客接口包(User Interface Package):通过顾客接口类,顾客可浏览、输入数据(2)业务对象包(Business Object Package):包括分析模型中域类(3)数据库包(Database Package):提供服务给业务对象包中类,包中只有一种类Persistent(4)应用包(Utility Package):提供服务给系统中其他种类包,包中只有一种类ObjId5、图书馆信息系统详细设计将包内容细化,详细描述每一种类,使编程人员编码。详细设计操作环节:(1)在“业务对象包”中增长组件和画出依赖性 (2)将类映射组件 数据库包:增长一种Persistent抽象组件类 :通过该类能实现数据库store()、update()、delete

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服