软件工程期中.docx
- 文档编号:861439
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:24
- 大小:1.61MB
软件工程期中.docx
《软件工程期中.docx》由会员分享,可在线阅读,更多相关《软件工程期中.docx(24页珍藏版)》请在冰豆网上搜索。
软件工程期中
1.什么是当前系统?
当前系统的物理模型与逻辑模型有什么差别?
(1)所谓当前系统可能是需要改进的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。
(2)当前系统的物理模型客观地反映当前系统实际的工作情况。
但在物理模型中有许多物理的因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。
所以当前系统的逻辑模型是从当前系统的物理模型抽象出来的
2.在UML中用例与用例之间存在泛化、包含和扩展关系,请分析它们的异同。
(1)共性:
都是从现有用例中抽取出公共的那部分信息,作为一个单独的用例,然后通过不同的方法重用这个公共的用例,以减少模型维护的工作量。
(2)不同点:
a.泛化侧重表示子用例间的互斥性。
b.包含侧重表示被包含用例对参与者提供服务的间接性。
c.扩展侧重表示扩展用例的触发不定性。
泛化关系是描述用例之间一般与特殊关系的。
子用例继承了父用例所有的结构、行为和关系,同时子用例还可以添加、覆盖、改变继承的行为。
子用例是父用例的一种特殊形式,不同的子用例代表了父用例的不同实现方法。
在一个复杂系统中,不同的用例之间可能存在一些相同的行为,这时可以将这些相同的行为提取出来组成一个用例。
当其他用例使用该用例时,用例之间便形成了包含关系。
向一个用例中添加一些动作后构成了另一个用例,这两个用例之间的关系就是扩展关系,后者继承前者的一些行为,把后者称为扩展用例。
也可以把扩展关系看成从主用例中将异常行为或可选分支抽象成一个单独的用例而形成的关系。
3.多个软件工程师合作开发一个项目,各开发者之间需要两两互相通信。
假设每一条通信路径的开销为300LOC/年(LOC为代码行数)。
(1)设有6名软件工程师,如果单独工作,每个人的生产率是6500LOC/年,那么由这6名软件工程师组成的项目组的生产率是多少?
(2)在这一年期限的最后两个月,又增加了两名工程师,新增成员的个人生产率为4500LOC/年,那么这8人组成的项目组全年完成的开发工作量又是多少条代码行?
当开发小组的人员为N时,可能的通信路径有N(N-1)/2条。
6500*6-(6*5/2)*300=34500(行/年)
从第11月开始增加2个人,则通信路径增加了:
8*(8-1)/2–15=13(条)
所以通信开销增加了:
(300/12)*2*13=650(LOC)
而这2人的开发工作量为:
(4500/12)*2*2=1500(LOC)
则总计工作量为:
34500+1500–650=35350(LOC)
4.输入三个正整数作为边长,然后判断该三条边能否构成三角形。
若能,则构成的三角形是等边、等腰还是一般三角形?
请用N-S图描述程序的算法,并将盒图中每个格中标出数字①、②……,利用数字画出程序控制流图,计算此程序的环形复杂度
5.某学校计算机教材购销系统有以下功能:
学生买书,首先填写购书单,计算机根据各班学生用书表及售书登记表审查有效性。
若有效,计算机根据教材库存表进一步判断书库是否有书;若有书,把领书单返回给学生,学生凭领书单到书库领书。
对脱销的教材,系统用缺书单的形式通知书库保管员,新书购进库后,也由书库保管员将进书通知返回给系统。
请就以上系统功能画出分层的DFD图。
(第三层只需画出销售子系统的DFD图)
6.图书馆的预定图书子系统有如下功能:
由供书部门提供书目给订购组;
订购组从各单位取得要订的书目;
根据供书目录和订书书目产生订书文档留底;
将订书信息(包括数目、数量等)反馈给供书单位;
将未订书目通知订书者;
对于重复订购的书目由系统自动检查,并把其结果反馈给订书者。
请就以上系统功能分两层画出DFD图。
7.根据描述建立软件公司的对象模型,即画出类图。
问题陈述如下:
一个软件公司有许多部门,分为开发部门和管理部门两种。
每个部门由部门名字唯一确定。
每个开发部门开发多个软件产品,每个软件产品都由程序、数据和文档组成。
该公司有许多员工,分为经理、工作人员和开发人员。
开发部门有经理和多个开发人员,管理部门有经理和多个工作人员。
每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员。
每位经理可主持多个开发项目。
8.一本书的组成包括一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。
试建立该书的对象模型。
9.根据描述建立复印机行为的动态模型,即画出复印机状态图。
问题描述:
办公室复印机的工作过程大致如下:
未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
实验
1.绘制书中73页习题3的数据流图:
题目:
银行计算机储蓄系统的工作过程大致如下:
储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
分析:
从存取款的常识可知,本系统的数据源点和终点都是“储户”,储户既要提出存取款要求,又要获得存款存单或利息清单。
系统对存取款的处理功能主要是“记录存款信息”、“打印存款存单”和“核对密码”、“计算利息”、“打印利息清单”。
为了完成上述功能,显然“存款信息”应该是一个数据存储。
2.在上题文件的另一个绘图页中绘制书中73页习题4的数据流图:
题目:
为方便旅客,某航空公司拟开发一个机票预订系统。
旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统校对无误即印出机票给旅客。
分析:
从问题陈述可知,本系统的数据源点是“旅行社”,机票预订系统印出取票通知和帐单是给旅行社的,所以“旅行社”也是终点。
另外旅客凭取票通知和帐单交款取票,系统印出机票给旅客,则“旅客”也是一个源点和终点。
机票预订系统包括了预订机票和旅客取票两部分,主要功能有:
“分类并检验”、“订票”、“记账”和“机票准备”。
要为旅客安排航班,需要查看“航班目录”,所以“航班目录”应该作为一个数据存储;系统能够输出账单,所以有记账功能,则另一个数据存储为“记账文件”;完整的订票信息应给存储在“机票文件”中,作为“准备机票”功能的基本数据。
提示:
本系统的基本系统模型如下:
3.在上题文件的另一个绘图页中绘制书中73页习题5的数据流图:
题目:
医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。
分析:
从问题陈述可知,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。
进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。
从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。
系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。
此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。
为了分析病人上理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。
此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。
提示:
本系统的基本系统模型如下:
绘制本系统的功能级数据流图过程如下:
4.“选课系统”类图的设计。
需求陈述如下:
某学校网上选课系统主要包括如下功能:
管理员通过系统管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。
学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:
查询已选课程、选课以及付费。
同样,通过业务层,这些操作结果存入数据库中。
5.图书馆馆藏出版物需求描述如下:
一家图书馆藏有书籍、杂志、小册子、电影录像带、音乐CD、录音图书磁带和报纸等出版物,供读者借阅。
这些出版物有出版物名、出版者、获得日期、目录编号、书架位置、借出状态和借出限制等属性,并有借出、收回等服务。
创建图书馆馆藏出版物的类图。
分析:
题目中很明确地给出了此对象模型中包含的各种类,也明显地表示出了馆藏出版物与“书籍、杂志、小册子、电影录像带”等其它类应该是继承关系。
所以,容易画出此描述的类图。
6.交通工具分为空中、陆地、水上三种。
空中交通工具分为客机、货机、专用轻型机。
陆地交通工具分为列车、汽车;列车又分为旅客列车、货运列车;汽车又分为客车、货车。
水上交通工具分为客轮、货轮、客货混合轮。
建立交通工具的类图
7.一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。
主机包括一个机箱,一个主板,一个电源,存储器等部件。
存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘、光盘、优盘。
请建立微机的类图
8.“选课系统”状态图的设计。
一个课程类的状态变化如下:
课程对象被创建,添加到数据库中。
管理员可以删除、修改课程信息,在某个学期,开设该课程,如果选修人数超过指定人数,就不再允许学生选这门课。
学期结束,课程的状态终止。
9.人们烧水的状态描述如下:
初始状态进入烧水过程时先处于炉子关闭状态,当打开炉子的触发事件发生时,需要检查是否满足监护条件“壶里是否有水”,如果满足则执行烧水的动作,触发转换进入到炉子打开状态,在此状态下,如果出现水烧开了,或壶烧坏了的情况,状态图应如何表达?
试创建烧水的状态图。
10.图形用户界面具有一个主菜单和一个带有文件打开命令的文件菜单,在每个菜单上都有一条退出命令。
假设每次只有一个文件能够打开。
建立图形用户界面的状态图。
11.航班机票预订系统状态描述:
在刚确定飞行计划时,显然没有任何预订的,并且在有人预订机票之前都将处于这种“无预订”的状态。
对于订座而言,显然有“部分预订”和“预订完”两种状态,当航班快要起飞时,显然要“预订关闭”。
请建立航班机票预订系统的状态图
12.请根据下述电梯系统的需求描述画出类图来。
在一幢m层楼的大厦中,用电梯内的和每个楼层的按钮来控制n部电梯的移动。
每部电梯有m个按钮,每个按钮代表一个楼层。
当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,当到达由按钮指定的楼层时指示灯熄灭。
除了大厦的最底层和最高层之外,每层楼都有两个按钮分别指示电梯上行和下行。
当这两个按钮之一被按下时相应的指示灯亮,当电梯达到此楼层时灯熄灭,电梯向请求的方向移动。
当电梯无升降动作时,关门并停在当前楼层。
分析:
1.确定问题域内的候选对象
大厦、电梯、楼层、按钮、运动、指示灯、请求、最底层、最高层、方向和门
2.筛选出正确的对象
删除“大厦、最底层、最高层、楼层”——无关
删除“运动、指示灯、请求、方向和门”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 期中