ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:1.71MB ,
资源ID:4146200      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4146200.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程期中.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程期中.docx

1、软件工程期中1.什么是当前系统?当前系统的物理模型与逻辑模型有什么差异?1所谓当前系统可能是需要改良的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。2当前系统的物理模型客观地反映当前系统实际的工作情况。但在物理模型中有许多物理的因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。所以当前系统的逻辑模型是从当前系统的物理模型抽象出来的2. 在UML中用例与用例之间存在泛化、包含和扩展关系,请分析它们的异同。1共性:都是从现有用例中抽取出公共的那局部信息,

2、作为一个单独的用例,然后通过不同的方法重用这个公共的用例,以减少模型维护的工作量。 2不同点:a.泛化侧重表示子用例间的互斥性。b.包含侧重表示被包含用例对参与者提供效劳的间接性。c.扩展侧重表示扩展用例的触发不定性。 泛化关系是描述用例之间一般与特殊关系的。子用例继承了父用例所有的结构、行为和关系,同时子用例还可以添加、覆盖、改变继承的行为。子用例是父用例的一种特殊形式,不同的子用例代表了父用例的不同实现方法。在一个复杂系统中,不同的用例之间可能存在一些相同的行为,这时可以将这些相同的行为提取出来组成一个用例。当其他用例使用该用例时,用例之间便形成了包含关系。向一个用例中添加一些动作后构成了

3、另一个用例,这两个用例之间的关系就是扩展关系,后者继承前者的一些行为,把后者称为扩展用例。也可以把扩展关系看成从主用例中将异常行为或可选分支抽象成一个单独的用例而形成的关系。3.多个软件工程师合作开发一个工程,各开发者之间需要两两互相通信。假设每一条通信路径的开销为300 LOC/年LOC为代码行数。(1)设有6名软件工程师,如果单独工作,每个人的生产率是6500 LOC/年,那么由这6名软件工程师组成的工程组的生产率是多少?(2)在这一年期限的最后两个月,又增加了两名工程师,新增成员的个人生产率为4500 LOC/年,那么这8人组成的工程组全年完成的开发工作量又是多少条代码行? 当开发小组的

4、人员为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、的算法,并将盒图中每个格中标出数字、,利用数字画出程序控制流图,计算此程序的环形复杂度5. 某学校计算机教材购销系统有以下功能:学生买书,首先填写购书单,计算机根据各班学生用书表及售书登记表审查有效性。假设有效,计算机根据教材库存表进一步判断书库是否有书;假设有书,把领书单返回给学生,学生凭领书单到书库领书。对脱销的教材,系统用缺书单的形式通知书库保管员,新书购进库后,也由书库保管员将进书通知返回给系统。请就以上系统功能画出分层的DFD图。第三层只需画出销售子系统的DFD图 6. 图书馆的预定图书子系统有如下功能:由供书部门提供书目给订购组;订购组从各单位取得要订的书目;根据供书目录和订书书目

6、产生订书文档留底;将订书信息包括数目、数量等反应给供书单位;将未订书目通知订书者;对于重复订购的书目由系统自动检查,并把其结果反应给订书者。请就以上系统功能分两层画出DFD图。7.根据描述建立软件公司的对象模型,即画出类图。问题陈述如下:一个软件公司有许多部门,分为开发部门和管理部门两种。每个部门由部门名字唯一确定。每个开发部门开发多个软件产品,每个软件产品都由程序、数据和文档组成。该公司有许多员工,分为经理、工作人员和开发人员。开发部门有经理和多个开发人员,管理部门有经理和多个工作人员。每个开发人员可参加多个开发工程,每个开发工程需要多个开发人员。每位经理可主持多个开发工程。 8.一本书的组

7、成包括一个封面,一个目录,一个前言,假设干章,每章有假设干节,每节有假设干段,每段有假设干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。试建立该书的对象模型。9.根据描述建立复印机行为的动态模型,即画出复印机状态图。问题描述:办公室复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令那么进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,那么进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,那么进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲

8、置状态。 实验1. 绘制书中73页习题3的数据流图:题目:银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款那么系统记录存款人姓名、住址或 号码、身份证号码、存款类型、存款日期、到期日期、利率及密码可选等信息,并印出存款存单给储户;如果是取款而且存款时留有密码,那么系统首先核对储户密码,假设密码正确或存款时未留密码,那么系统计算利息并印出利息清单给储户。分析:从存取款的常识可知,本系统的数据源点和终点都是“储户,储户既要提出存取款要求,又要获得存款存单或利息清单。系统对存取款的处理功能主要是“记录存款信息、“打印存款存单和“核对密码、“计算利息、“打印利

9、息清单。为了完成上述功能,显然“存款信息应该是一个数据存储。2. 在上题文件的另一个绘图页中绘制书中73页习题4的数据流图:题目:为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等输入进该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统校对无误即印出机票给旅客。分析:从问题陈述可知,本系统的数据源点是“旅行社,机票预订系统印出取票通知和帐单是给旅行社的,所以“旅行社也是终点。另外旅客凭取票通知和帐单交款取票,系统印出机票给旅客,那么“旅客也是一个源点和终点。机票预订系

10、统包括了预订机票和旅客取票两局部,主要功能有:“分类并检验、“订票、“记账和“机票准备。要为旅客安排航班,需要查看“航班目录,所以“航班目录应该作为一个数据存储;系统能够输出账单,所以有记账功能,那么另一个数据存储为“记账文件;完整的订票信息应给存储在“机票文件中,作为“准备机票功能的根本数据。提示:本系统的根本系统模型如下:3. 在上题文件的另一个绘图页中绘制书中73页习题5的数据流图:题目:医院对患者监护系统的根本要求是随时接收每个病人的生理信号脉搏、体温、血压、心电图等,定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的平安范围时向值班护士发出警告信息,此外,护士在需要时

11、还可以要求系统印出某个指定病人的病情报告。分析:从问题陈述可知,本系统的数据源点是“病人和“护士,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志这项要求可以想到,还应该有一个提供日期和时间信息的“时钟作为数据源点。从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。系统对病人生理信号的处理功能主要是“接收信号、“分析信号和“产生警告信息。此外,系统还应该具有“定时取样生理信号、“更新日志和“产生病情报告的功能。为了分析病人上理信号是否超出了医生规定的平安范围,应该存储“患者平安范围信息。此外,定时记录病人生理信号所形成的

12、“患者日志,显然也是一个数据存储。提示:本系统的根本系统模型如下:绘制本系统的功能级数据流图过程如下:4. “选课系统类图的设计。需求陈述如下:某学校网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。同样,通过业务层,这些操作结果存入数据库中。5. 图书馆馆藏出版物需求描述如下:一家图书馆藏有书籍、杂志、小册子、电影录像带、音乐CD、录音图书磁带和报纸等出版物,供读者借阅。这些出版物有出版物名、出版者、获得

13、日期、目录编号、书架位置、借出状态和借出限制等属性,并有借出、收回等效劳。创立图书馆馆藏出版物的类图。分析:题目中很明确地给出了此对象模型中包含的各种类,也明显地表示出了馆藏出版物与“书籍、杂志、小册子、电影录像带等其它类应该是继承关系。所以,容易画出此描述的类图。6. 交通工具分为空中、陆地、水上三种。空中交通工具分为客机、货机、专用轻型机。陆地交通工具分为列车、汽车;列车又分为旅客列车、货运列车;汽车又分为客车、货车。水上交通工具分为客轮、货轮、客货混合轮。建立交通工具的类图7. 一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个机箱,一个主板,一个电源,存储

14、器等部件。存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘、光盘、优盘。请建立微机的类图8. “选课系统状态图的设计。一个课程类的状态变化如下:课程对象被创立,添加到数据库中。管理员可以删除、修改课程信息,在某个学期,开设该课程,如果选修人数超过指定人数,就不再允许学生选这门课。学期结束,课程的状态终止。9. 人们烧水的状态描述如下:初始状态进入烧水过程时先处于炉子关闭状态,当翻开炉子的触发事件发生时,需要检查是否满足监护条件“壶里是否有水,如果满足那么执行烧水的动作,触发转换进入到炉子翻开状态,在此状态下,如果出现水烧开了,或壶烧坏了的情况,状态图应如何表

15、达?试创立烧水的状态图。10. 图形用户界面具有一个主菜单和一个带有文件翻开命令的文件菜单,在每个菜单上都有一条退出命令。假设每次只有一个文件能够翻开。建立图形用户界面的状态图。11. 航班机票预订系统状态描述:在刚确定飞行方案时,显然没有任何预订的,并且在有人预订机票之前都将处于这种“无预订的状态。对于订座而言,显然有“局部预订和“预订完两种状态,当航班快要起飞时,显然要“预订关闭。请建立航班机票预订系统的状态图12. 请根据下述电梯系统的需求描述画出类图来。在一幢m层楼的大厦中,用电梯内的和每个楼层的按钮来控制n部电梯的移动。 每部电梯有m个按钮,每个按钮代表一个楼层。当按下一个按钮时该按

16、钮指示灯亮,同时电梯驶向相应的楼层,当到达由按钮指定的楼层时指示灯熄灭。除了大厦的最底层和最高层之外,每层楼都有两个按钮分别指示电梯上行和下行。当这两个按钮之一被按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭,电梯向请求的方向移动。当电梯无升降动作时,关门并停在当前楼层。分析:1. 确定问题域内的候选对象 大厦、电梯、楼层、按钮、运动、指示灯、请求、最底层、最高层、方向和门 2. 筛选出正确的对象 删除“大厦、最底层、最高层、楼层无关 删除“运动、指示灯、请求、方向和门属性 只剩下“按钮、电梯 按钮又分为:电梯按钮和楼层按钮 3. 根据领域知识或常识找出隐含对象 按钮并不直接与电梯通信,为了决

17、定分派哪一部电梯去响应一个特定的请求,必须有某种类型的电梯控制器。进一步完善对象模型: 分析:电梯类的主要功能是执行电梯控制器类发来的电梯操作命令,如果把电梯门的状态作为电梯的一个属性,那么电梯类还要执行门操作命令,这样电梯类的功能就不单一了。 解决:把电梯门独立出来作为一个类。 这样翻开或关闭电梯门的唯一方法就是向对象“电梯门发送一条消息。如果电梯门类的封装性很好,就能保证不会在错误的时间开/关电梯门,从而能有效地杜绝严重的意外事故。 另外,出于在XX的情况下不允许修改请求的考虑,也应该把“请求作为一个独立的类。13. 请根据使用 的通常情况画出描述交互行为状态图来。 系统的一般操作过程为:

18、没人打 时 处于闲置状态;有人拿起听筒那么进入拨号音状态,到达这个状态后, 的行为是响起拨号音;这时如果拿起听筒的人改变主意不想打了,他把听筒放下挂断, 重又回到闲置状态;如果拿起听筒很长时间不拨号超时,那么进入超时状态具体打 、通话过程的脚本如下:打 者拿起 ; 拨号音开始;打 者拨数字先拨一位数字,如:3; 拨号音结束;打 者拨数字5;打 者拨数字8;打 者拨数字2;如果 号码拨错,交换机提示出错信息;如果号码正确,且对方空闲,那么接 者的 开始振铃;铃声在打 者的 上传出;如果在30秒钟内,接 者拿起话筒;接 者的 停止振铃;打 者的 停止振铃;通 ;接 者挂断 ; 切断;打 者挂断 。

19、如果拨号正确,对方忙,打 者的 上传出忙音。如果拨号正确,接 者在30秒钟内不接听 ,双方 停止振铃。14.白盒测试15.黑盒测试输入三个整数a、b和c分别作为三角形的3条边,通过程序判断由这3条边构成的三角形类型是:等边三角形、等腰三角形、一般三角形或非三角形。请从输出域定义等价类,设计测试用例。按照等价类的划分原那么,建立输出等价类。选取测试用例,覆盖所有的等价类。某一报表处理系统,要求用户输入处理报表的日期。假设日期限制在1990年1月至1999年12月,即系统只能对该段时间内的报表进行处理。如果用户输入的日期不在此范围内,那么显示输入错误信息。该系统规定日期由年、月的6位数字字符组成,

20、前4位代表年,后两位代表月。现用等价类划分法设计测试用例,来测试程序的“日期检查功能 。程序规格说明为:“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。 请使用等价类划分法,从输入域定义等价类,完成测试用例设计。16. 面向对象设计原那么单一职责原那么:一个类应该仅有一个职责。注意:职责是否应该分开依赖于具体的应用。开放-封闭原那么:在设计一个软件系统模块类、方法的时候,应该可以在不修改原有的模块修改封闭的根底上,能够扩展其功能扩展开放。在面向对象的程序中是可以做到的,利用面向对象的抽象和多态。程序对于修改不

21、是100%封闭!一种抽象只能处理一类变化。抽象后的系统对这类变化是封闭的,但是对于其它类型的变化仍然不是封闭的。依赖倒置原那么系统框架设计的核心原那么。高层模块不应该依赖于低层模块,二者都应该依赖于抽象。抽象不应该依赖于细节。细节应该依赖于抽象。使用何种语言来编写程序是无关紧要的,如果程序的依赖关系是倒置的,它就是面向对象的设计;如果程序的依赖关系不是倒置的,它就是过程化的设计。接口隔离原那么使用多个专门的接口比使用单一的总接口要好。不能强迫用户去依赖那些他们不使用的接口。程序所依赖的接口中不要包含该程序不使用的方法。下面的设计是否合理,如果不合理,请说明原因并给出修正后的设计。此题10分说明

22、:1Retangle类有两个方法,一个方法画矩形,另一个方法计算矩形的面积。其中draw()方法调用area()方法。2有两个不同的应用程序使用Retangle类。一个是Computational Geometry Application,它是计算几何图形面积的,它依赖Retangle类的area()方法,但是它从来不用draw()方法。另一个是Graphical Application,它是绘制图形的,它主要依赖Retangle类的draw()方法,也有可能会用到area()方法。标准答案:这个设计违反了“单一职责原那么。Retangle类有两个职责,第一个职责是绘制矩形,第二个职责是计算矩

23、形的面积。解决方法:把两个职责别离开,别离到两个完全不同的类中。 3分 7分例2.下面的设计是否适宜,如果不适宜,请修正设计。系统需求说明:在屏幕上显示出圆形的面积。该需求今后会被扩展,要求显示正方形、矩形等其他形状的面积。要求设计的系统符合开放封闭原那么。 interface Shape double area(); public class Circle implements Shape private int r; public Circle(int a) r = a; public double area() return 3.14*r*r; public class PrintDra

24、wing public void printArea(Shape s) System.out.println(Area is: + s.area(); public class Show public static void main(String args ) Circle c = new Circle(2); PrintDrawing pc = new PrintDrawing(); pc.printArea(c); 改良后的Button类的伪码为:public class Button public void Poll(ButtonServer bs) 判断是“开还是“关; if (“开

25、) bs.turnOn(); else bs.turnOff(); ButtonServer类的代码为:interface ButtonServer public void turnOn(); public void turnOff(); Lamp类的伪码为:public class Lamp implements ButtonServer public void turnOn() public void turnOff() 17.工程管理五个等级从低到高是:初始级、可重复级、已定义级、已管理级和优化级。1. 初始级软件过程的特征是无序的,有时甚至是混乱的。几乎没有什么过程是经过定义的,工程能

26、否成功完全取决于个人能力。处于这个最低成熟度等级的组织,根本上没有健全的软件工程管理制度。由于软件过程完全取决于当前的人员配备,所以不可能准确地预测产品的开发时间和本钱。2. 可重复级建立了根本的工程管理过程,以追踪本钱、进度和功能性。必要的过程标准已经建立起来了,使得可以重复以前类似工程所取得的成功。在这一级,有些根本的软件工程管理行为、设计和管理技术,是基于相似产品中的经验确定的,因此称为“可重复。3. 已定义级用于管理和工程活动的软件过程已经文档化和标准化,并且已经集成到整个组织的软件过程中。所有工程都使用文档化的、组织批准的过程来开发和维护软件。这一级包含了第2级的所有特征。4. 已管

27、理级已收集了软件过程和产品质量的详细度量数据,使用这些详细的度量数据,能够定量地理解和控制软件过程和产品。这一级包含了第3级的所有特征。处于第4级的公司为每个工程都设定质量和生产目标,并不断地测量这两个量,当偏离目标太多时,就采取行动来修正。5. 优化级通过定量的反应能够实现持续的过程改良,这些反应是从过程及对新想法和技术的测试中获得的。这一级包含了第4级的所有特征。甘特图以水平线段表示任务的工作阶段;线段的起点和终点分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。特点:从甘特图上可以很清楚地看出各子任务在时间上的比照关系,可以标明各任务的方案进度和当前进度,能动态地反映软件开发进展情况。但是,它难以反映多个任务之间存在的复杂的逻辑关系。 工程网络是采用网络图来描述一个工程的任务网络。特点:不仅可以表达子任务的方案安排,还可以在任务方案执行过程中估计任务完成的情况,分析某些子任务完成情况对全局的影响,找出影响全局的区域和关键子任务,以便及时采取措施,确保整个工程的完成。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1