《uml-复习资料》由会员分享,可在线阅读,更多相关《uml-复习资料(7页珍藏版)》请在金锄头文库上搜索。
1、.确定取消复习资料1(2013-5-7-2013-5-18)作业内容顺序图和合作图存款过程的顺序图(文字描述部分略,请自己补足)例1. 将订单生成送货单顺序图第1步 在dispatchForm(分发窗体)中,对于某个已支付的Order进行分发时,就会调用该订单(一个Order类的实例对象aOrder)的dispatch()方法。 1.1 dispatch()方法将逐个调用 for each orderitem 该Order对应的所有OrderItem对象的getPeddleryId()方法获取供应商ID 1.2(PeddleryId),1.1.1 而OrderItem对象则是通过其所对应的Pr
2、oduct对象来的getPeddleryId()方法来获取供应商ID 。1. 1.2当Order的实例对象aOrder得到返回的PeddleryId后,根据该值判断是否已经有相对应的DeliverOrder对象【if PeddeleryId Not Exist】,如果没有就创建它(调用 1.3 create(PeddleryId)),然后再将对应的Product添加到这个DeliverOrder对象中。else 1.4否则就直接添加到相应的DeliverOrder对象中。2. 3. 新增图书用例分析下面来看具体实例:新增图书用例分析步骤1:分析1、 基本事件流 1图书管理员向系统发出“新增书籍
3、信息“请求。2系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类。 3图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并自动根据书号规则生成书号。 4图书管理员输入书籍的相关信息,包括:书名、作者、出版社、ISBN号、开本、页数、定价、是否有CD-ROM。5系统确定输入的信息中书名没有重复。6系统将所输入的信息存储建档。2、扩展事件流1. 如果输入的书名有重名现象,测显示出重名的书籍,并要求图书管理员选择修改书名或取消输入。2. 图书管理员选择取消输入,则结束用例,不做存储建档工作。3. 图书管理员选择修改书名后,转到5.二、寻找边界对象l 对这个用例而言,参与者“图书管理员
4、“,因此要寻找边界对象只需以”图书管理员“这个参与者为线索,从用例描述中去寻找分析类:(1)图书管理员向系统发出“新增书籍信息“请求-图书管理员在什么地方向系统发出”新增书籍信息“的请求呢?通常会设计一个主窗口,并在上面摆放一些按钮来实现,因此在此句描述中间,可以发现两个边界类:主窗口、”新增书籍信息“按钮。(2)系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类-从此句中可以发现一个新的边界类:书籍类别列表框。(3)图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并自动根据书号规则生成书号-此句中可以发现最为关键的一个边界类-“新书信息录入“窗口以及辅助的”提交“按钮。l
5、而且,还可以发现新增书籍信息按钮是组成主窗口的一部分。书籍类别列表框、提交按钮则是组成新书信息录入窗口的一部分。根据以上信息,可以先将参与者和边界对象绘制出来,其结果如图所示。l 图书管理员向系统发出“新增书籍信息”请求主窗口、“新增书籍信息”按钮l 系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类书籍类别列表框。l 图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并自动根据书号规则生成书号“新书信息录入”窗口及辅助的“提交”按钮三、寻找控制对象和实体对象实体对象通常来源于领域中的类图,也就是描述业务领域的名词或名词短语,通过阅读整个事件流的详细描,我们得知,实体对象有书籍
6、、计算机书籍、非计算机书籍以及书籍列表4个。根据事件流中的步骤5,以及扩展事件流的描述,可以在上图增加相应的控制对象,得到更进一步的分析图新添两个逻辑: 是基本事件流中的步骤2、3要求根据用户选择的类别,自动获得书号;是当书名重复性检查没有通过(有重名),则应返回要求其重输。四、构建交互图(顺序图和合作图):有了上图所示的分析图后,我们就容易构建交互模型了。下面是构建顺序图的步骤:1. 首先,按照从左到右的顺序,依此将参与者、边界对象和实体对象放在最顶部,边界类放在左边,实体类放在右边。 注意,在分析模型中可以先不考虑控制类的引用(有必要时也可以引入)。2. 然后根据事件流描述和上图,逐一导出
7、其相应的消息流,即可得到如图所示的顺序图。1. 图书管理员新增图书用例执行顺序(1)图书管理员(使用者)在主窗口上单击“新增图书信息”按钮mouseclick事件,系统将弹出新书录入窗口调用该窗口的Show()方法。 (2)图书管理员在新书录入窗口中选择图书的类别由于是通过书籍类别下拉刘表来实现的,因此将向其发送一个selectItem事件。 (3)图书管理员选择的信息将传给书号规则getNo(type)方法,书号规则将计算生成书号generateNo(type)方法,并返回给新书录入窗口返回消息bookNo,并通过窗口的setBookNo(bookNo)方法显示出来。 (4)当图书管理员输入完新书信息后,单击“提交”按钮mouseclick 事件,将对书籍列表进行查询,看该书是否存在,既重复性判断isExist方法,它将返回一个布尔值(true表示有重复,flase表示没有重复)。 (5)如果没有重复(返回false),则保存该书记信息store(bookNo,bookName,.)方法,因此使用了一个带opt操作符的交互片段来表示。 (6)向“新书录入”窗口返回是否成功的提示信息。 合作图如下(文字描述部分略)窗体底端