Create DiagramCreate Graphical ElementUserCreate Text ElementCreate Element<
16、下面是一个售点系统产品的需求,创建用例图。
系统允许管理员通过从磁盘加载存货数据来运行存货清单报告; 管理员通过从磁盘加载、向磁盘保存存货数据来更新存货清单; 销售员记录正常的销售;
电话操作员是处理电话订单的特殊销售员; 任何类型的销售都要更新存货清单;
如果交易使用信用卡,那么销售员需要核实信用卡; 如果交易使用支票,那么销售员需要核实支票。 要求如下:
① 确定系统的参与者; ② 确定系统的用例; ③ 细化每个用例;
④ 确定每个用例中的泛化。 ⑤ 创建用例图。 参考解答
确定系统的参与者;
1、管理员——administrator
2、电话操作员——telephone operator 3、销售员——sales clerk 4、后两者之间是泛化关系 确定系统的用例:
管理员
① 运行存货清单报告(run inventory reports)
加载存货数据(load inventory data)——include ② 更新存货清单(update inventory)
保存存货数据(load inventory data)——include
确定系统的用例:
电话操作员
电话订单(phone order) 销售员——sales clerk
销售(walk-in sale) 销售(sale)——泛化关系
核实信用卡(verify credit card)——extends 核实支票(verify check)——extends
更新存货清单(update inventory)——include
<
Payroll(薪水管理员)
18、该参与者在Payroll系统上使用的用例有哪些?
Print Weekly Payroll Add Employee to payroll
Remove Employee from Payroll Edit Employee Within Payroll Change Payroll Amount(更新数量) Manage Tax Rates(管理税率)
19、为Payroll系统建立用例图模型。
Print Weekly Payroll<
1、交互图分为两种:顺序图和协作图。其中,顺序图强调消息发送的时间顺序。 2、在顺序图中,一个对象的生命周期结束时,在其生命线上打上一个×。 3、交互图中,消息一般对应着接收对象所属类或超类中定义的某一操作。 4、生命线是从对象引出的向下方的垂直虚线,它代表了对象的生存时间。 5、从严格的意义上讲,下列4个选项中不属于顺序图的内容是( B )。
A对象 B. 参与者 C消息 D. 控制焦点
6、为创建一个数据库对象,把该对象连接到一个数据源,然后查询对象获得结果集的用例建模。
1.确定工作流
情形一:
对象连接成功地与数据源建立连接; 查询对象成功地获得结果集; 情形二:
对象连接没有与数据源建立连接; 查询对象没有获得结果集;
2. 确定对象
数据库对象(Database) 连接对象(Connection) 数据源(Oracle DB 10g) 结果集(ResultSet)
7、在顺序图中,如何销毁一个对象?
在对象的生命线的终点处放置一个“X”符号,该点是对删除或取消消息的回应。
Object11: method()Object2
8、顺序图和交互图的关系类似于下面哪一种类型的关系?( C ) A、类和对象 B、UML和Java
C、C++和高级程序设计语言
9、在顺序图中表示消息时,必须要有消息顺序号。( 对 ) 10、对象是类的实例,对象之间的链接是类之间的关联的实例。
11、在协作图中,消息用连接两个对象之间的关联线附近的箭头表示,箭头指向接受消息的对象。 12、下面( A、C )的建模元素不能在协作图中表出来。
A状态 B. 消息序号 C. 活动 D. 多对象
13、顺序图和交互图的关系类似于下面( C )类型的关系。
A类和对象 B. 类和参与者
C Java和高级程序设计语言 D. UML和Java 14、协作图是由对象、消息、和链接等组成。
15、在协作图中的链是两个或多个对象之间的独立连接,是关联的实例。
16、协作图通过各个对象之间的组织交互关系,以及对象之间连接,表达对象之间的链接。 17、for循环——绘制一个带for循环脚本的顺序图,表示如下语句: 消息发起者为A
for(int i=0; i for ( int i =0; i < n; i++)A1: excute(i)B 18、while循环——绘制一个带while循环的顺序图,表示如下语句: //消息发起者为查找数据库的对象:Searcher while(value.notFound( )) { value=database.search(key); } while ( value.notFound() ) SearcherDatebase1: search() 19、一名参与者通过击键发起了交互序列,并且在序列中引发消息。交互序列如下: GUI将击键事件通知给操作系统(OS); OS接着通知CPU; OS更新GUI数据; CPU又通知图形卡(Video Card); 图形卡向显示器(Monitor)发送一个消息; 显示器将字母或者数字显示在屏幕上,给用户提供了图形化的反馈信息。 1: Keystroke : KeyStroke : GUI2: notify(keystroke) : Operating System : Monitor6: feedback()3: update(keystroke)5: display(keystroke) : CPU : Video Card4: notufy(keystroke) 20、图书管理员添加书籍的协作图 addItem()——添加书籍的方法; find(String)——根据书籍名查找相应书目的方法; update()——修改某类书目下书籍数量的方法; 1: addItem() : MaintenanceWindow : Administrator : Title3: update() : Item2: find(String)