SE、UML期末复习材料(2)

更新时间:2024-04-03 09:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SE&UML考试复习综合题部分

一、 类图:

1-1、根据以下陈述,绘制出类图(属性和操作省略):

图形化文档(Document)绘制在多张图纸(Sheet)上,每张图纸有多个图形对象(DrawObject),如:文本对象(Text)、几何图形对象(GeometriObject)和组图(Group)。而每个组图又包含多个图形对象。几何图形对象有圆(Circle)、线(Line)和矩形(Rectangle)。 参考答案:

1-2、汽车和自行车都是交通工具(Vehiche),一辆自行车(bicycle)只归一个人(person)拥有,但一辆汽车(Auto)可归一人或两个人拥有,一个人可能没有自行车或汽车,也可能拥有多辆自行车或汽车。人又分男人(male ) 和女人(female)两类,每个人都有年龄(age)和名字(name),每辆交通工具都有自己的颜色(color)和商标(brand)。根据的陈述画出类图。(注:只可省略类的操作属性) 参考答案:

1-3、远程网络教学系统中,其中参与者为学生、教师和管理员;学生有登陆账户(学号)、登录密码、姓名、性别、年龄、班级、年级、邮箱等属性;教师有登录账号、登录密码、姓名、性别、教授课程、电话及邮箱等属性;管理员有登陆账号、登陆密码、邮箱等属性、

(1)根据这些信息创建系统的类图。 参考答案:

(2)若在上题中如果把参与者学生、教师和管理员进行抽象,从而抽象出一个独立的人员类,学生、教师和管理员分别是人员类的子类。根据这些信息重新创建类图。 参考答案:

1-4、“远程教学网络系统”中,有抽象的人员(person)类下对应有学生(student)、教师(teacher)和管理员(administrator)三个实体类;学生有account、password、st_code、st_name、major、grade、emall等属性;教师有acoount、password、te_name、major、course、phone及emall等属性;管理员有accout、password、ad_code、Emall等属性、根据这些信息创建出含抽象类在内的系统类图。并完成对应的Java代码。 参考答案:

参考答案:

Public class Person //Person 虚基类 private class Administrator extend person { { //Administrator 管理员子类

Public string account; private string ad_code; Public string password; } Public string emall; private class Teacher extend person } { //Teacher 教师子类 Private class Student extend person private string te_name; { //Student 学生子类 private string major; Private string st_code; private string course; Private string st_name; private stringt phone; Private string major; } Private string grade; }

1-5、根据类图,按照正向工程写出Jave代码:

参考答案:

public class Person //类Person的结构定义

{ private String name; //类的成员(属性)的定义,属性的类型、名。 private Date birthday; //类的成员(属性)的定义,属性的类型、名。 public compay theCompany //类之间的关联,在Person类中指明Company类 } 与之的关联。

private class Company //类Person的结构定义

{ private String name; //类的成员(属性)的定义,属性的类型、名。 private String address; //类的成员(属性)的定义,属性的类型、名。 public person thePerson[ ]; //同理类之间的关联,在Company中与Person类 } 与之的关联,[ ]体现了之间类之间的对应重数。 private class WorkFor //类WorkFor的结构定义,(关联类没有具体含义) { private Double salary; //类的成员(属性)的定义,属性的类型、名。 private String jobTitle; //类的成员(属性)的定义,属性的类型、名。 }

1-6、根据类图,按照正向工程写出Jave代码:

参考答案:

public class Borrower //类Borrower的结构定义

{ public Load theLoan[ ]; } //类Borrower的Loan关联,Loan的重数。 private class Person extends Borrower //Borrower是Person类的继承(子类) { }

private class Library extends Borrower //Library 是Borrower的继承(子类) { public Book theBook[ ]; //类Book与类Library的关联,*的重数。 public Loan theLoan[ ]; } //类Loan与类Library的关联,*的重数。 private class Book //类Book的结构定义 { public Library theLibrary; //类Library与类Book关联. public Loan theLoan; } //类Library与类Book关联. Private class Loan //类Loan的结构定义 { public Borrower theBorrower //类Borrower的Loan关联, public Library theLibrary; //类Library的Loan关联, public Book theBook; } //类Book的Loan关联,

1-7、按照下图编写出相对应的Java代码。

参考答案: private class E{

public A theA;} public class A{ public D theD[ ]; public E theE;}

private class D{

public A theA;}

1-8、一个应用程序:计算一定面积上表面粘贴地转和墙纸所需材料长度和价格,其类图(涉及三个类,Flooringclient;Surface;Floor),根据下列类图及类图关系写出另外两个类各自的Jave代码,(作为参考已给出了flooringClient类图生成的Java代码。)

Surface FlooringClient +main():static void Flooring FlooringClient

Surface -name:String -length:double -width:double +Surface(initName:String,initLength:double ,initWidth:double) +getName():String +getLength():double +getWidth():double +getArea():double +getCircumference():double 提示:

Flooring -limit:double -name:String -price:double -unnamed1 +Floor(initName:String,initPrice:double,initWidth:double) +getName():string +getPricePerM():double +getWidth():double +getNoOfMeters(aSurface:Surface):double +getTotalPrice(aSurface:Surface):double 1、其getArea()是计算面积,即Area 应是 length * width 2、其FlooringCiient,java代码如下: *FlooringCiient.java class FlooringClient

{ public static void main(String[] grgs)

{ Surface theSurface=new Surface(“Margaret’s Floor”,5,6);

Flooring theFlooring=new Flooring(“Fitted carpet”,24,50,5); } }

参考答案:

* Flooring.jave */ class Flooring

{ private static final double limit = 0.02; //limit for one more width private Static name; //for identification purposes private double price; //price per meter private double widthOfFlooring; //meter

public Flooring(String initName,double initPrice,double initWidth) {

name=initName; price=initprice;

widthOfFlooring=initWidth;

}

public String getName() {return name;} public double getPricePerM() {return price;}

public double getWidth() {return widthOfFlooring;} public double getNoOfWidth(Surface aSurface) {

double lengthSurface = aSurface.getLength(); double widthSurface = aSurface.getWidth();

int noOfWidths = (int)(lengthSurface / widthOfFloring); double reset = lengthSurface % widthOfFlooring; if(reset >= limit) noOfWidth++; return noOfWidths * widthSurface; }

public double getTotalPrice(Surface aSurface) {

return getNoOfMeters(aSurface) * price; } }

/*Surface.java */ Class Surface {

private String name; //for identification purposes private double length; private double width;

public Surface(String initName,double initLength,double initWidth) { name = initName; length = initLength; width = initWidth; }

public String getName(){return name;} public double getLength(){return length;} public double getWidth(){return width;}

public double getArea(){return width * length;}

public double getCircumference(){return 2*(length + width)} //calculat circleference

二、 用例图

2-1、作出网上浏览网站及购物的用例图?(本题参考答案:

10分)

2-2、根据题意绘制用例图(10分)饮料售货机能够提供6种不同的饮料,售货机上有六个按钮,分别对应于6种饮料,顾客可以通过按钮来选择所要的饮料。每个按钮旁有一个指示灯,用来表示本机中是否还有这种饮料可售。售货机有一个硬币槽的找零槽,用来收钱和找零。假设一位顾客购买矿泉水,不用找零,请绘制出上述场景的用例图。 参考答案:

2-3、试画出网上选课系统的用例图。

用例有登录;找回密码;查看课程信息;按课程编号查询;按课程名查询;选择课程;删除已选课程;维护课程信息;参与者有系统管理员与学生。 参考答案:

2-4、系统管理员有参与创建新账号、设置账号、设置账号基本信息、设置账号权限、查看账号和删除账号的功能。在设置帐号时,主要分为设置账号的基本信息和设置账号的权限,为了便于修改和维护,将这两个功能分别抽象为两个用例。画出系统管理员以上功能的用例图。

2-5 实验一的例子:以客户为中心建立的初始Use Case Diagram. 参考答案:

三、顺序图

3-1、以实验二中的“学生选课”为例,根据陈述创建“学生选课系统的”顺序图。

学生选课涉及到界面(Form:)、课程(course:)、系统控制(control:)、数据库(database:)等泳道。事件流陈述为:学生首先进入选课界面SelectCourse();向系统控制发出选课要求Get Allcourse();系统根据学生请求调数据库Query Courses();随后向课程返回选课表Createstring(),学生填入课程信息;(Get courseinfo())并验证信息DisplayCourseList(); 学生进入付费过程SelectCoursebyID();向系统控制发出请求Query Association(int...),系统传送数据库Query Association(int?),并验证该课程现在是否可选Can Select(),将增加选课的信息记录在数据库Add Association(),并向界面返回选课成功信息Show Success()。 参考答案:

3-2、 实验二中删除课程(Delete Course)顺序图 参考答案:

3-3根据“网上购物系统”的用例图,

创建: 浏览网站(Browse Web Site)和 添加物品到购物推车(Add Item to Shopping Cart)所对应的顺序图. 参考答案:

(3) Query Course的顺序图:(参考答案略) (4)Add Course 的顺序图:(参考答案略) (5)Modify Course的顺序图:(参考答案略) (6)Pay for Course 的顺序图:(参考答案略)

3-4、绘制顺序图来描述小刘给小王打电话的过程 (10分)

小刘拿起电话后,听到电话的蜂鸣声(正常提示音),然后连续拨打小王的电话号码,电话传出接通音,然后小王拿起电话。待双方交谈完之后,小王首先挂断电话,小刘待听到挂断忙音后也挂断电话。(提示:建立小刘、电话机、小王三个泳道)

参考答案:

3-5、2010-2011学年度 第二学期 期末试卷(2011-9-6)(综合-第1题)

根据以下叙述绘制顺序图。

在学生查询成绩信息的操作中,有student、Window、control、Database四个泳道、活动有:以学号查询、成绩查询、查询数据库、查询失败、成功查询信息提示、显示查询信息,按照以上要求绘制出学生查询的顺序图。(入门到精通P304图17-17) 参考答案:

:Student :Window:Control :Databas学号、学期查询 查询要求 查询数据库 查询失败 查询成功,提示 × 显示查询信息

3-6、2010-2011学年度 第二学期 补考试卷(2011-10-6)(综合-第2题)

以“远程网络教学系统”为例,在该系统中,系统管理员需要登录系统才能进行系统维护工作,如添加教师信息、删除教师信息等。根据系统管理员添加教师信息用例,创建相关序列图。

3-7 根据“图书管理系统”用例图中的“Lend item”绘制对应的顺序图.分析事件流 将消息加进框图中, 完成顺序图设计.

3-8 (5-4、)下面是银行职员代理客户存款用例的具体工作描述: 1、客户向银行职员提出存款要求。 2、银行职员进入主界面(用例开始) 3、银行职员在系统主界面(MainForm)请求存款操作,系统创建存款界面(WithdrawForm)。 4、银行职员添加存款信息后,提交至账户类(Account )。

5、账户类确认数据库是否存在该账户,如存在发消息给存款类(Deposit)创建一个存款交易记录,再将记录保存到数据库。计算新账户的余额,最后更新数据库中该账户的信息。请利用顺序图描述该用例的实现过程。 参考答案:

四、活动图:

4-1、某公司销售人员接到订单后,将订单传给财务人员和仓库人员,财务人员开具发票,并收款。仓库人员准备货物,并查看货物是否加急,若是加急采用EMS方式发货,否则用普通包裹发货。完成之后由销售人员关闭该订单。根据以上陈述画出该公司销售过程的活动图。(提示:建立仓库人员、销售人员及财务人员三个泳道) 参考答案:

4-2、在实验课中的“学生选课系统”中,具有“添加课程”的功能组合,这项功能组合的具体内容是以下活动,首先输入课程内容、验证课程、创建课程对象、在数据库中查询课程、判断添加课程是否合法检查、不合法提示重新输入、合法在数据库中添加课程、检查添加是否成功、

成功则显示成功信息后结束,不成功也显示失败信息后结束。按照提示将以上的活动描述在相应泳道上绘制出“添加课程”的活动图。

(提示:可以建立 用户接口、业务逻辑、数据库 三个泳道。) 参考答案:

4-3、对于“远程网络教学系统”,学生登录后可以下载课件。在登录时,系统需要验证用户的登录信息,如果验证通过系统会显示所有可选服务。如果验证失败,则登录失败。当用户看到系统显示的所有可选服务后,可以选择下载服务,然后下载需要的课件。下载完成后用户退出系统,系统则会注销相应的用户信息。请画出学生下载课件的活动图。 参考答案:

4-4、 实验七:“学生选课系统”中“Add Course”(添加课程) 的活动图如下: 参考答案:

4-5、根据陈述来绘制铁路票务数据库系统的客户购票的活动图: (本题10分)

1.客户先进行网络连接,进入票务数据库系统页面。 2.进入退票界面,客户可以进行退票的操作。

3.进入订票界面,客户可以查看票务的实时信息情况。 4.检索信息之后,客户进行预定购票。 5.进入账号管理系统,输入自己的账号。 6.验证后给予客户票的代码,凭证取票。 7.结束则退出。

(根据从顾客角度来绘制票务订票的活动图,可以从票务数据库系统界面与顾客两个泳道来分析。)参考答案:

4-6.“借书”过程用例的活动图如下: 参考答案:

4-7、顾客首先在查看和浏览商品,一旦确定要购买的物品后,就通知销售员。这时销售员为购买的物品,开出订单,并通知仓管员提取物品。仓管员则根据定单,提取货物,再把订单交给销售员。这时,顾客查看自己的订单,确认货物,而销售员则开始计算货款。一旦双方都完成后,顾客就付款,提货,销售员则将订单保存下来。 请依据以上描述画出顾客购物活动图。 参考答案:

五、状态图:

5-1、根据以下叙述,绘制“复印机”的工作状态图

复印机平时处于闲置状态,街道复印指令后转入复印状态,完成后返回闲置状态;若复印时发生没纸,则转入缺纸状态,发出警告等待装纸,装置完成后又进入到闲置状态;复印时发现卡纸(故障)状态,发出警告等待排除故障,故障排除后又进入闲置状态。 参考答案:

5-2、对于“远程网络教学系统”,学生如果需要下载课件,首先需要输入网站的网址,打开网站的主页。处于网站主页后,输入用户名密码,如果验证通过则进入功能选择页面,如果验证失败则需要重新输入用户名密码。进入功能选择页面后可以选在下载课件进入课件选择页面,选择需要下载的课件进入课件下载状态。课件下载完毕后,学生就完成了此次课件下载,请画出学生下载课件的状态图。

5-3、根据以下四个状态进行完善,绘制“智能交通信号灯控制” 的状态图。陈述如下: 1) 任何状态下超时(timeout)均立即进行状态转换; 顺序是:直行、左转、(对方)直行、(对方)左转 ??; (注:对方是指另一方向。比如东西向的对方是南北向) 2) 当处于直行状态时, 允许(右车道)汽车右转弯;;

3) 处于直行状态时,时间到(timeout)如果左车道无车, 则立即转入(对方)直行状态.(换句

话说:在直行时一对监视设备分别检查左车道,若无车,在转换时信号灯自动跳过“左转”状态)

参考答案:(必须将状态信息及状态转移信息填全)

5-4.实验六:“学生选课系统”课程(Course)对象的状态图

参考答案:

Modify Course Finished in database Delete course Create Modified [Students=Max] deleted Delete After this term in Schedule [Students=Max] Locked

5-5、按照学生成绩管理系统中登陆用例的脚本来完成登陆的状态图。 其“登陆用例”描述如下:

1、进入登陆界面; 2、输入登录密码;

3、登陆不正确可以重新输入;而当重复输入密码三次则视同非法登陆,系统自动退出; 4、选择服务对象(老师、学生身份); 5、选择后进入系统;

6、完成系统具体服务后登出登陆。 参考答案:

5-6、 根据以下描述,绘制网上商城中商品状态图:

1)首先商品处于“备选”状态;

2)若购物用户想购买商品,则把商品“放入购物车”;若如果购物用户不想再选择购物车中的商品,则可以将指定的商品从购物车中删除。

3)购物用户确认购买购物车中的商品。 4)购物用户支付货款,商品等待派送。 5)在商城管理员指定派送,商品出库。

6)商品出库后,若该商品的总数量<=5(库存报警值下限),则该商品缺货; 7)采购相应的商品充实库存,以备销售。 参考答案:

5-7、航班建模状态图:创建一个状态图来描述航班如何从提出申请、制定航班计划、售票、起飞、飞行、到着陆的状态过程。

1) 进入“开始”状态,航班申请起飞,等待批准 2) 若申请得到批准,则进入到航班计划准备阶段; 3) 若满足条件开始预售,航班进入有票可售状态;

4) 若满足条件首完最后一张票,航班进入到票以售完状态;有退票情况,则航班重新回到有票可售状态

5) 航班起飞前30分钟,进入到“结束售票”状态。 6) 起飞指令下达后,航班进入到飞行状态; 参考答案:

本文来源:https://www.bwwdw.com/article/spfr.html

Top