UML课程设计华北电力大学科技学院.docx
- 文档编号:4410197
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:34
- 大小:107.26KB
UML课程设计华北电力大学科技学院.docx
《UML课程设计华北电力大学科技学院.docx》由会员分享,可在线阅读,更多相关《UML课程设计华北电力大学科技学院.docx(34页珍藏版)》请在冰豆网上搜索。
UML课程设计华北电力大学科技学院
科技学院
课程设计(综合实验)报告
(20--20年度第学期)
名称:
UML课程设计
题目:
图书管理系统
院系:
科技学院
班级:
软件11k1
学号:
68686868686868
学生姓名:
南方小羊
指导教师:
刘书刚
设计周数:
1
成绩:
日期:
2012年6月日
《面向对象技术与UML》课程设计
任务书
一、目的与要求
1.本实验是为软件工程专业的学生在学习《面向对象技术与UML》后,为培养更好的解决问题和实际动手能力而设置的实践环节。
通过本环节,使学生拥有应用面向对象方法进行分析与设计的能力,为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生从系统宏观层面理解和领会面向对象思想和方法;并熟练运用相关建模工具对软件系统进行静态建模和动态建模。
3.通过运用面向对象方法对一个小型软件应用系统进行完整设计,可以培养学生面向对象分析和建模能力。
主要有以下几个方面的具体要求:
使用UML语言中的各种图形表达面向对象分析设计的建模结果;熟练使用建模工具实践UML语言;加深面向对象概念、面向对象设计原则的理解,并能够自觉运用;熟悉并实践面向对象分析与设计的步骤。
二、主要内容
本实验是针对一个实际中常见的小型系统(需求参见班级邮箱中下发的需求文档)进行全面的分析,主要包含以下内容:
1.根据所选系统收集简单需求,利用CASE工具对系统进行用例建模。
2.根据前述需求描述,进行初步分析,寻找并筛选类及其属性、操作,绘制相应的类图;同时寻找类之间的静态关系,建立类模型。
3.根据用例模型,分析类对象的状态变化情况,并对其中重要部分绘制系统的状态图。
4.根据用例模型,进行类之间的交互情况分析,并对其中重要的交互情况绘制活动图。
5.根据用例模型,进行类之间的交互情况分析,并对其中重要的交互情况绘制顺序图。
6.将类图生成代码(C++或JAVA)。
7.将代码在相应的环境中,进行扩充编程,能运行,具有良好的人机界面。
三、进度计划
序号
设计(实验)内容
完成时间
备注
1
理解系统需求,建立相应的用例图
第一天
2
建立相应的类图,确定类之间的关系
第二天
3
建立UML各种图
第三天
4
程序运行
第四天
5
测试并验收
第五天
四、设计(实验)成果要求
1.运用建模工具完成系统的面向对象的分析;生成代码;代码运行,效果良好。
2.完成实验报告。
五、考核方式
1.在微机上检查系统的建模情况,并请学生解释分析和设计的理由。
2.实验报告的检查。
学生姓名:
南方小羊
指导教师:
课程教学组
2011年6月27日
一、课程设计(综合实验)的目的与要求
课程设计目的:
1、掌握运用数据库原理进行系统分析和设计的方法;
2、掌握关系数据库的设计方法;
3、掌握利用rose技术;
4、掌握应用程序对数据库的访问方法。
课程设计内容及要求:
1.要求根据数据库原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。
2.需求分析具体实现
3.对应用程序进行概要设计。
4课程设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
二、设计(实验)正文
图书管理系统主要设计目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。
同时对整个系统的分析、设计过程给出一个完整论证。
图书管理系统是一种基于集中统一规划的数据库数据管理新模式。
在对图书、读者的管理,其实是对图书、读者数据的管理。
本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。
需求分析,需求分析是指准确了解和分析用户的需求,这是最困难、最费时、最复杂的一步,但也是最重要的一步。
它决定了以后各步设计的速度和质量。
根据系统的需求,首先将要记录的信息分类,要记录的信息如下。
1.系统的功能需求包括一下几个方面。
(1)借阅者可以通过网络查询书籍信息和预定书籍。
(2)借阅者能够节约书籍和还书。
(3)图书管理员能够处理借阅者的借阅和还书请求。
(4)系统管理员可以对系统的数据进行维护,如增加、删除和更新数目,增加、删除和更新借阅者账户,增加和删除书籍。
(1)用例图
(2)时序图
(3)协作图
(4)活动图
(5)类图
2.设计过程
用例图分析:
借阅者请求服务的用例图
图书馆里员处理借书还书的用例图
系统管理员进行系统维护的用例图
实现用例的时序图:
系统管理员添加借阅者账户的时序图
Create(string,string):
添加新的借阅者账户的函数
Additem():
添加书籍函数。
find(string):
根据书籍查找相应数目的函数。
Creat(intefer,title):
修改书籍数目的函数。
系统管理员删除数目的时序图
Find(string):
书目类的查找函数
Find_on_title(title):
查找此书目下书籍信息的函数
Destroy():
删除书籍信息的函数
Destroy():
删除书目信息的函数
图书管理员处理书籍借阅的时序图
Find(string):
查找书目的函数
Find_item()查找所要书籍的函数
Find_on_title(title):
根据书目名从数据库中找到书目信息的函数
Identity_borrower():
验证借阅者身份的函数
Find(string):
根据借阅者的登录账号找到借阅者信息的函数
Creat(borrower,item):
修改借阅信息的函数
图书管理员处里书籍归还的时序图
Check():
检查书籍状况的函数
Update:
()更新书籍类信息的函数
Update():
更新借阅者借阅信息的函数
借阅者查询书籍信息的时序图
借阅者预定书籍的时序图
书的状态图
借阅者账户的状态图
借阅者的活动图
图书管理员的活动图
系统管理员维护借阅者账户的活动图
系统管理员进行书目信息维护的活动图
系统管理员维护书籍信息的活动图
类图:
publicclassAdministrator
{
privateStringworkID;
privateStringcode;
publicTheLibraryRecordstheTheLibraryRecords;
/**
@roseuid4FEBB648031B
*/
publicAdministrator()
{
}
/**
@roseuid4FEBAFA100B1
*/
publicvoidfindReaderInformation()
{
stringname1;
System.out.println("inputname3")
Scannersc=newScanner(systemin);
name3=sc.nextstring;
}
/**
@roseuid4FEBAFA100B2
*/
publicvoidfindBookInformation()
{
inttota_lmunber1;
stringouthor1;
stringtype1;
intborrow_number1;
BooleanIsAllowForBorrow;System.out.println("inputouthor1")
Scannersc=newScanner(systemin);
outhor=sc.nextstring;
System.out.println("inputnumber1")
Scannersc=newScanner(systemin);
tota_lnumber1=sc.nextInt;
System.out.println("inputouthor1")
Scannersc=newScanner(systemin);
outhor1=sc.nextstring;
System.out.println("inputtype1")
Scannersc=newScanner(systemin);
type1=sc.nextstring;
System.out.println("inputborrow_numbe1")
Scannersc=newScanner(systemin);
borrow_number1=sc.nextInt;
System.out.print("succestitle");
stringdate2;
stringISBN2;
doublemoney2;
Boolenispay2;
System.out.println("inputdate2")
Scannersc=newScanner(systemin);
date2=sc.nexttring;
System.out.println("inputISBN2")
Scannersc=newScanner(systemin);
ISBN2=sc.nexttring;
System.out.println("inputmoney")
Scannersc=newScanner(systemin);
money2=sc.nextstring;;
System.out.println("sucesstoloan");
stringname3;
stringstate3;
stringzip3;
intmaxbook3;
intmaxda3y;
stringuserId3;
intborrownumbe3r;
System.out.println("inputname3")
Scannersc=newScanner(systemin);
name3=sc.nextstring;
System.out.println("inputstate3")
Scannersc=newScanner(systemin);
state3=sc.nexttring;
System.out.println("inputzip3")
Scannersc=newScanner(systemin);
zip3=sc.nextstring;
System.out.println("inputuserId3")
Scannersc=newScanner(systemin);
useId3=sc.nexttring;
System.out.println("inputmaxbook")
Scannersc=newScanner(systemin);
maxbook3=sc.nextInt;
System.out.println("inputmaxday3")
Scannersc=newScanner(systemin);
maxday3=sc.nextInt;
System.out.println("inputborrow_number3")
Scannersc=newScanner(systemin);
borrow_number3=sc.nextInt;
}
/**
@roseuid4FEBAFA100B3
*/
publicvoidaddBook()
{
System.out.print("请输入书名:
");
Stringsbn=s.nextLine();
System.out.println();
}
/**
@roseuid4FEBAFA100B4
*/
publicvoidaddBookInformation()
{
System.out.print("请输入作者:
");
Stringa=s.nextLine();
System.out.println();
System.out.print("请输入出版社:
");
Stringp=s.nextLine();
System.out.println();
System.out.print("请输入ISBN号码:
");
StringsISBN=s.nextLine();
System.out.println();
}
}
publicclassBossextendsAdministrator
{
/**
@roseuid4FEBBF2703A5
*/
publicBoss()
{
}
/**
@roseuid4FEBB4C901CD
*/
publicvoiddestroyWorker()
{
}
}
publicclassOtherextendsStudent
{
/**
@roseuid4FEBB64802EC
*/
publicOther()
{
}
}
publicclassStudent
{
privateStringname;
privateStringborrowID;
privateStringStudentID;
privateintallowtotal;
publicTheLibraryRecordstheTheLibraryRecords;
/**
@roseuid4FEBB648031B
*/
publicStudent()
{
}
/**
@roseuid4FEBAFA100B1
*/
publicvoidborrow()
{
BookInfo[]numOfInfo;
Scanners=newScanner(System.in);
Menus()
{
numOfInfo=newBookInfo[MAX];
numOfInfo[NUMBER++]=newBookInfo();
numOfInfo[NUMBER++]=newBookInfo();
numOfInfo[NUMBER++]=newBookInfo();
for(inti=NUMBER;i { numOfInfo[i]=newBookInfo(); } } /** @roseuid4FEBAFA100B2 */ publicvoidreturn() { stringname1; inttota_lmunber1; stringouthor1; stringtype1; intborrow_number1; BooleanIsAllowForBorrow; System.out.println("inputouthor1") Scannersc=newScanner(systemin); outhor=sc.nextstring; System.out.println("inputnumber1") Scannersc=newScanner(systemin); tota_lnumber1=sc.nextInt; System.out.println("inputouthor1") Scannersc=newScanner(systemin); outhor1=sc.nextstring; System.out.println("inputtype1") Scannersc=newScanner(systemin); type1=sc.nextstring; System.out.println("inputborrow_numbe1") Scannersc=newScanner(systemin); borrow_number1=sc.nextInt; if(date2equaldate&&ISBN2equalISBN&&money2equalmoney&&ispay2equalixpay) System.out.println("successreturn"); } /** @roseuid4FEBAFA100B3 */ publicvoidfind() { if(name1equalname&&author1equalauthor&&isbn1equalisbn&&tota_number1equaltota_number&&borrow1equalborrow_number&&type1equaltype) System.out.println("successfindtitle"); if(date2equaldate&&ISBN2equalISBN&&money2equalmoney&&ispay2equalixpay) System.out.println("successfindtitle"); if(name3equalname&&state3equalstate&&zip3equalzip&&maxbook3equalmaxbook&&userId3equalmaxbookmaxdy3equalmaxdsay&&userId3equaluserId&&borrow_number3equalborrow_number) ystem.out.println("successBorrower"); } /** @roseuid4FEBAFA100B4 */ publicvoidfindstate() { } /** @roseuid4FEBAFA100B5 */ publicvoiddestroy() { System.out.println("是否注销") if(yes) System.out.println("pressy") else System.out.println("pressn") } } publicclassTheLibraryRecords { privateintname; privateintborrowID; privateintbookInformation; publicAdministratortheAdministrator; publicStudenttheStudent; publicBooktheBook; /** @roseuid4FEBB64803B7 */ publicTheLibraryRecords() {stringname; inttota_lmunber; stringouthor; stringtype; if(haspeopleborrowbook||haspeoplereturn||hasnewbook) System.out.println("inputouthor") Scannersc=newScanner(systemin); outhor=sc.nextstring; System.out.println("inputtota_lnumber") Scannersc=newScanner(systemin); tota_lnumber1=sc.nextInt; System.out.println("inputouthor") Scannersc=newScanner(systemin); outhor=sc.nextstring; System.out.println("inputtype") Scannersc=newScanner(systemin); type=sc.nextstring; } /** @roseuid4FEBAFA100BE */ publicvoidsetInformation() { stringname1; inttota_lmunber1; stringouthor1; stringtype1; intborrow_number1; BooleanIsAllowForBorrow;System.out.println("inputouthor1") Scannersc=newScanner(systemin); outhor=sc.nextstring; System.out.println("inputnumber1") Scannersc=newScanner(systemin); tota_lnumber1=sc.nextInt; System.out.println("inputouthor1") Scannersc=newScanner(systemin); outhor1=sc.nextstring; System.out.println("inputtype1") Scannersc=newScanner(systemin); type1=sc.nextstring; System.out.println("inputborrow_numbe1") Scannersc=newScanner(systemin); borrow_number1=sc.nextInt; } /** @roseuid4FEBAFA100BF */ publicvoiddestroy() { System.out.println("是否注销") if(yes) System.out.println("pressy") else System.out.println("pressn") } } publicclassBook { privateStrin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 课程设计 华北 电力大学 科技学院