软件体系结构
课程设计报告书
设计课题: 银行业务系统
班 级: 05 级软件(2)班
姓 名:
董正威
学 号:
0510321216
指导教师:
康老师
设计时间:
2008.6
第 1 页 共 15 页
图书管理系统
1 系统设置-----平台和开发工具的选择
(一)系统开发环境
操作系统:WINDOWS 98
硬件:PC 机
开发软件:UML, Rational Rose, Java
(二)开发工具的选择
Rational Rose 可以和任何一种面向对象的应用程序结构组合使用,通过 Rational
Rose 系列产品可得到各类主要编程语言和快速应用开发工具的直接支持:
Rose 本身能够支持的语言包括:C++、Visual C++、Java、Smalltalk、Ada,以及 4GL
语言:Visual Basic、PowerBuilder 和 Forte,也能够为 CORBA 应用产生接口定义语言
IDL 和为数据库应用产生数据库描述语言 DDL。Rose 能够提供对 CORBA 2.2 的支持。
2 模型总体设计
2.1 创建系统的 Use Case 视图
Use Case 框图显示系统中的使用案例与角色及其相互关系,角色是与所建系统交互
的对象(人或物),使用案例是系统提供的高级功能模块,演示了人们如何使用案例。
首先创建主 Use Case 框图,显示系统的总体视图。
下图是本次毕业设计的图书馆管理系统的 Use Case 框图,所建系统的需求组成所
有使用案例和角色设置。这个框图中有系统角色、系统用例和它们之间的关系。
Librarian
Make reservation
Lend item
<>
Remove Reservation
Borrower
Return of item
图 1.1 中有两个系统角色:借阅者和图书管理员,四个系统使用案例:借阅图书、
归还图书、预约图书和取消预约。
图 1.2 描述了系统的另一个方面的功能——系统维护的功能。本系统的维护是由图
图 1.1
第 2 页 共 15 页
书管理员来维护的,他可以增加书籍、删除或更新书籍、增加条款、删除条款、增加新
的借阅者、删除或更新借阅者。
Add Title
Librarian
Remove or Update Title
<>
<>
<>
Add Item
Remove Item
Maintenance
<>
<>
Remove or Update Borrower
Add Borrower
图 1.2
2.2 创建系统的 Logical 视图
首先在 Logical 视图中创建 Sequence 框图和 Collaboration 框图,也就是 Interaction
框图。Interaction 框图一步一步显示使用案例的流程。包括:流中需要什么对象;对象
相互发送什么消息;什么角色启动流;消息按什么顺序发送。图 1.3 是系统添加新用户
的 Sequence 框图。
第 3 页 共 15 页
: Librarian
:
BorrowerFrame
:
BorrowerInf...
1: addButton_Clicked ( )
Check if
already exists
2: $findOnLastName (String)
3: BorrowerInformation (String, String, String, String, String, Stri...
4: store ( )
增加书目条款信息的 Sequence 框图如图 1.4:
图 1.3
第 4 页 共 15 页
: Librarian
:
FindTitleDialog
1: findButton_Clicked ( )
: Title
: Title
:
UpdateTitle...
: Item
2: $findOnName (String)
3: okButton_Clicked ( )
4: UpdateTitleFrame (ObjId, boolean)
5: $getTitle (ObjId)
6: getNoItems ( )
7: getItem (int)
9: addItemButton_Clicked ( )
12: addItem (ObjId)
13: update ( )
8: getId ( )
10: Item (ObjId, int)
11: store ( )
增加书目的 Sequence 框图如图 1.5:
图 1.4
第 5 页 共 15 页
: Librarian
: TitleFrame
: Title
: Item
1: TitleFrame ( )
2: addButton_Clicked ( )
Check
if already
exist
Create
Title and
item
objects
Store
items and
title
3: $findOnName (String)
4: $findOnISBN (String)
5: Title (String, String, String, int)
6: Item (ObjId, int)
7: store ( )
8: addItem (ObjId)
9: store ( )
借阅书籍的 Sequence 框图如图 1.6:
图 1.5
第 6 页 共 15 页
: Librarian
:
LendItemFrame
: Title
:
FindTitleDialog
:
FindBorrowe...
:
BorrowerInf...
: Item
: Loan
1: findTitleButton_Clicked ( )
2: FindTitleDialog (Frame, boolean)
3: findButton_Clicked ( )
4: $findOnName (String)
5: okButton_Clicked ( )
6: resultTitle (ObjId)
7: getNoItems ( )
8: getItem (int)
9: getObjId ( )
10: getId ( )
11: findBorrowerInformation_Clicked ( )
12: FindBorrower_Dialog (Frame, boolean)
13: findButton_Clicked ( )
15: okButton_Clicked ( )
16: resultBorrower (ObjId)
14: $findOnLastName (String)
17: itemList_ListSelect ( )
18: okButton_Clicked ( )
19: getItemWithId (int)
20: Loan (ObjId, Borrower information)
21: store ( )
22: setLoan (ObjId)
23: update ( )
24: addLoan (ObjId)
25: update ( )
对书籍进行预约的 Sequence 框图如图 1.7:
图 1.6
第 7 页 共 15 页
: Librarian
:
Reservation...
:
FindTitleDialog
: Title
:
FindBorrowe...
:
BorrowerInf...
: Reservation
1: findTitleButton_Clicked ( )
2: FindTitleDialog (Frame, boolean)
3: findButton_Clicked ( )
4: $findOnName (String)
5: okButton_Clicked ( )
6: resultTitle (ObjId)
7: findBorrowerButton_Clicked ( )
8: FindBorrower_Dialog (Frame, boolean)
9: findButton_Clicked ( )
11: resultBorrower (ObjId)
10: $findOnLastName (String)
12: okButton_Clicked ( )
13: Reservation (ObjId, ObjId)
14: store ( )
15: addReservation (ObjId)
16: update ( )
17: addReservation (ObjId)
18: update ( )
删除借阅者信息的 Collaboration 框图如图 1.8:
第 8 页 共 15 页
图 1.7