




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计文档一、设计包的实际划分以及系统构架设计二、系统构架图说明1、ui包(用户接口包)用户接口包显示了所有的在用户接口中的类,以及它们与其它类(即,在业务对象类)之间的关系和协作。用户接口描述了四个类图:1、基本类图:该图显示了startclass,该类包含了整个应用软件的主操作,并且只有它才可以激活主窗口(mainwindow)。主窗口包含了一个菜单,该菜单被用来访问在应用系统中所有的其它窗口。2、功能类:它显示了所有的用在menubar “functions”中的窗口类。这些窗口包含了对于租借和返还书目以及预定书目和取消预定的主要功能。3、信息类:它显示了所有的用在menubar “information”中的窗口类。这些类都是为了查看有关标题和租借者信息以及浏览所有的标题和所有的租借者的信息。4、维护类:它显示了所有的用在menubar “maintenance”中的窗口类。这些类都是为了系统维护的,如增加、删除和更新标题、书目和租借者信息。ui包同样也包含了对所有在分析中多定义的用例顺序图,它显示了这些用例在设计阶段的实现。用例现在被细化成在设计类图中的实际操作,因此,这些顺序图可以阅读,用来理解实际代码。有些顺序图同样也被转换成协作图。2、bo包(业务对象包)这是业务对象包,包含了从分析阶段的问题域中的类。这些类在设计阶段被详细化,描述了它们精确的操作和确切的信号。这些类同样被变成了永久性的类,这是通过继承来自数据库包中的永久类并实现必要的写操作和读操作。在分析阶段所定义的关联也在设计阶段使用对象识别码变量来实现,在这里,一个对象识别码可以被用做对系统中任何其它永久对象的参考的一个方式,并且在必要时可以很容易地控制这个对象。3、db包(数据存储包)数据库包支持永久存储业务对象。在当前的版本中,这些仅仅通过persistent类来控制,它只做简单的对象的连续存储到一个文件中。persistent类的子类仅仅实现写和读操作,读写操作就是写和读对象的属性到一个文件中。永久对象类具有操作,如通过一个对象识别码来检索一个对象,从一个永久对象中读出对象识别码,当然还可以存储、删除和更新一个对象。同样存在于类的所有对象中的迭代操作,它用来实现查找的方法。4、工具包工具包包含了用于所有的其它包中的通用工具。目前,它仅仅包含了objid类,它实现了一个对象识别码,一个对象使用它可以参考其它在系统中的任何永久对象,并且很容易的用来作为参考和检索在文件中的对象。objid类被所有的其它类所使用,因此将其存放在这个包中。三、各个包中的类图简介1、图形用户接口包图形用户接口包包含了5个接口类,分别介绍如下:mainwindow类:mainwindow类操作那些总是出现在应用系统中的窗口,应用系统窗口具菜单条,并且显示一个图象在它的客户端区域。由用户选择(每一个菜单的选择都映射给一个在mainwindow类中的操作)了不同的菜单动作,并且mainwindow类创建并显示其它用户接口类的所有对象。当应用系统退出时,mainwindow对象和窗口将会被删除。lenditemframe类:lenditemframe类是租借活动被注册的窗口。它是从functions-lend item菜单中调用,并且让用户通过使用特别的查询窗口(findtitledialog and findborrowerdialog)来选择书目的标题和租借者。当标题、书目和租借者已经被建立起来时,通过按下“ok”按钮,租借被确认并且一个租借对象已经在系统中被注册。returnitemframe类:returnitemframe是在“functions-return item”菜单选中时创建和显示的,在这时,一本书目被返还给图书馆。标题和书目的id被输入给该窗口(标题是通过findtitledialog查询窗口)并且该书目的归还被确认。而代表这次租借的租借对象将被删除。reservationframe类:reservationframe类是进行标题书目预定的窗口类。它是由“functions-reserve title”菜单来创建,它允许用户通过使用特殊的查询窗口(findtitledialog 和 findborrowerdialog)选择图书的标题和租借者。当图书的标题和租借者选定之后,通过按下“ok”按钮来确认预定。cancelreservationframe类:cancelreservationframe类用来从系统中删除一个预定。它有一个画面显示,在画面上可以查找图书标题,并且所查到的图书标题做了预定的所有租借者都会显示在一个列表框内。用户可以选择哪一个预定将被删除,然后按下“ok”按钮来确认删除。2、bo包(业务对象包)业务对象包包含了5个类(简化了分析类中的两个类),分别介绍如下:标题类:标题代表了一个书的概念(一本书或杂志),这是一个租借者可以对其书目进行租借的概念。而书目却是在图书馆实际具有的书和杂志。在图书馆中,一个流行的标题可能具有几个书目。标题具有一些信息,例如图书名称,图书作者,以及其它信息如isbn或杂志编号等。标题具有0或多个预定,这意味着当一个标题的书目被返还时,该书目将被保留给一个特定的租借者。所有的标题类的对象都是永久的,因此,它继承了永久类并实现了读写操作。书目类:书目代表了一个标题的可以被租借的实际书目(物理上真正存在的书目)。该对象可以具有状态“借出”或“未借”两种。书目总是具有一个相应的标题对象,该对象定义了该书目(即书名、作者和isbn书号)。将书目和它的标题分离的原因是,你或许需要预定一个标题,但是没有特定的书目,图书馆可以对同一个标题存有几本具体的书目(在这里,每一个书目可以被一个租借者租借)。你或许同样能够查找一个标题,但是图书馆却还没有购买任何一本具体的书目。所有的书目类都是永久性的,因此,需要继承persistent类,并且实现读写操作。租借者信息类:租借者信息是指一个具体的租借者的信息,它可以是一个人或者是另一个图书馆。被存储的信息是姓名,地址,城市,邮政编码,和省份。borrowerinformation类所有的对象都是永久的,因此它继承了persistent类并且实现了读写租借类:租借是租借者与图书馆之间的契约。阻截参考了一个租借者和一本书目,一个租借对象的存在代表了一个租借者已经租借了在租借对象中所参考(指向)的一本书。当该书目被返还时,租借对象将被删除。租借类的所有的对象都是永久的,因此,它继承了persistent类并实现了读写操作。预定类:一个租借者可以进行一个预定。预定是指租借者想预定相关的标题,当该标题的一个书目归还时,租借者可以能够优先于其他租借者之前租借这本书。一个标题可以由不同的租借者预定不止一次。预定类的所有的对象都是永久的,因此它继承了persistent类并实现了读写操作。3、db包(数据库包)数据库包中只包含了一个类,那就是persistent类:永久类只是简单地将对象持续存储到一个文件中。永久类的子类仅仅实现有关本类的对象属性的读和写到一个文件的操作。永久类具有由一个对象识别码来检索一个对象的操作,和为一个永久对象获得识别码,以及存储、删除和更新一个对象的操作。该类可以在性能上进行优化。4、util包(工具包)工具包中只包含了一个类,那就是objid类:对象识别码类,代表了对系统中的一个对象的一个参考(关联)。对象识别码是由所参考的类的类名和一个唯一识别码数字来组成。通过向在persistent类中的 getobject操作传递对象识别码,对象将会被从永久存储(文件)中读取并返回给调用者。因此,对象识别码对实现永久对象的参考是一个容易的机制。getobject操作同样也在persistent类的子类中实现来返回一个更为类型特定的对象来提高类型的安全性。四、设计阶段的状态图1、title2、item五、设计阶段的顺序图1、租借图书2、返还图书3、预定图书4、取消预定用户界面设计(user-lnterface design)设计阶段的一个特定的活动是创建用户界面。图书馆系统的用户界面基于用例,分为以下几部分,每一部分都在主窗体菜单上给出一个单独的菜单项。functions:实现系统基本功能的窗体,通过它可以实现借阅、归还和对图书的预定。information:查看系统信息的窗体,收集了借阅者和图书的信息。maintenance:维护系统的窗体,添加、修改和删除标题、借阅者和书目。图 显示了一个user-interface package 中类图的例子。其中包含了典型的awt 事件句柄。按钮(button)、标签(label)和编辑(edit)等的属性没有显示。典型地,每一个窗体都给出了系统的一个服务,并且映射一个最初的用例(尽管并非所有的用户界面都必须从用例中映射)。六、组件图1、组件图组件视图显示了所有的在逻辑视图中的类的代码实现文件。由于实现的语言使用了java,则在逻辑视图和组件视图之间只有一个简单的一对一的映射。我们使用了同样的包和名字。startclass.java组件仅仅包含了用于启动系统的主操作(显示出mainwindow对象的窗口)。2、bo包组件图在组件视图中的bo包包含了在逻辑视图中的业务对象包中的类的实现组件。3、ui包组件图在组件视图中的ui包包含了在逻辑视图中的用户接口包中的类的实现组件。4、db包组件图在组件视图中的db包包含了在逻辑视图中的数据库包中的类的实现组件。5、util包组件图在组件视图中的util包包含了在逻辑视图中的工具包中的类的实现组件。七、部署图八、实现在构造或称实现阶段进行程序编写。该应用程序要求能运行在几个不同的处理器和不同的操作系统上,因此选择java 来实现系统。java 可以轻松地将逻辑类映射为代码组件,因为在类和java 代码文件之间有1 对1 的映射。图显示,设计模型的组件视图简单地将逻辑视图中的类映射为组件视图中的组件。每个逻辑视图包含了一个指向逻辑视图中类的连接,因此可以很容易地在不同的视图之间导航(即便象本例只是简单地使用了文件名)。由于依赖性可以从逻辑视图的类图中得到,因此组件图中没有显示组件之间的依赖性。编写代码时,从下面的设计模型的图中取出规范说明:1类规范:每一个类的规范详细地显示了必要的属性和操作。2类图:类图由类构成,显示了类的结构以及类之间的关系。3状态图:类的状态图显示了类可能具有的状态以及需要处理的状态转移(以及触发转移的操作)。4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华三考试题库及答案
- 森林火警法律知识培训课件
- 桩基全护筒跟进施工课件
- 桥脑病变MRI课件
- 桥梁隧道冲刺课件
- 2025年技能提升跨行业通-用招聘笔试模拟题及答案
- 2025年陪诊师考试知识点探讨与试题及答案
- 2025年验船师考试(C级船舶检验专业实务)复习题及答案二
- 2025年航空公司面试空中乘务员能力预测试题集
- 2025年物流经理专业面试题解答技巧
- 中国省市县行政区划
- DB11-T 1253-2022 地埋管地源热泵系统工程技术规范
- 管道工程施工重难点分析及应对措施
- JBT 7043-2006 液压轴向柱塞泵
- 2022年临沧市市级单位遴选(选调)考试试题及答案
- 体育公园运营可行性方案
- 《直升机构造与系统》课件-直升机的类型
- JBT 11699-2013 高处作业吊篮安装、拆卸、使用技术规程
- 《平方根》(第1课时)示范公开课教学设计【北师大版八年级数学上册】
- 中专宿舍管理制度和方法
- 《信息检索与处理(修订版)》课件下 第2单元第二课 分析信息-第3单元 综合探究实践活动
评论
0/150
提交评论