《软件开发生命周期与建模-实验报告(面向对象系统分析与设计)图书管理系统资料(共18页).doc》由会员分享,可在线阅读,更多相关《软件开发生命周期与建模-实验报告(面向对象系统分析与设计)图书管理系统资料(共18页).doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上附:实验报告格式信息与管理科学学院计算机科学系实验报告课程名称: 软件开发生命周期与建模 实验名称: 【实验5】基于UML和OOAD的系统分析与设计 专心-专注-专业姓 名: 杨现阳,张泽浩,张金庚,张俊超,杨波,王秋波 组号: 3 班级:2014级计应4班 指导教师: 张 浩 实 验 室: 兰亭机房2 日 期: 2016年06月01日一、实验目的 通过常用的基于UML和OOAD的系统分析与设计实例实验,理解OOAD分析过程,熟悉UML9大视图,掌握基于OOAD的软件系统分析与设计方法,达到举一反三解决实际问题的目的。二、实验环境一台PC机,所需软件Win7/10、U
2、ML工具(Rose/Visio/EclipseUML/ StartUML/)、Eclipse/MyEclipse、JDK6.0等。三、实验内容 基于UML和OOAD的系统分析与设计【任选一题】,建立用例模型、类图、对象图、时序图、活动图等。l 图书信息管理系统:角色用户包括系统管理员、采编录入管理员、借书管理员、还书管理员、学生用户、教师用户。系统主要功能包含:角色权限管理、用户信息管理(增删改查)、图书信息采编入库、基础信息管理(增删改查)、基础信息统计、借书管理与统计、还书管理与统计等。l 大学生选课管理系统:角色用户包括系统管理员、基础信息管理员(教师信息管理员、学生信息管理员、教室信息
3、管理员、实验室信息管理员、课表信息管理、课程信息管理员、教学任务信息管理员)、教师、学生、教室管理者、实验室管理者等。系统主要功能包含:角色权限管理、用户信息管理、基础信息管理、教师选报教学任务、教学管理者排课、学生选课(必修课、选修课)、学生补选课、周课表查看与打印、课程信息查询与打印、选课信息统计等。四、实验操作过程 1对系统进行需求分析,形成准确、完整的用户需求描述文档。n 系统的功能需求主要包括以下几个方面: 借阅者可以通过网络查询书籍信息和预定书籍。 借阅者能够借阅书籍和还书。 图书管理员能够处理借阅者的借阅和还书请求。 系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增
4、加、删除和更新借阅者帐户,增加和删除书籍。 n 用户提出的需求包括下列内容:1. 这是一个图书馆支持系统;2. 图书馆将图书和杂志借给借书者。借书者已经预先注册,图书和杂志也预先注册;3. 图书馆负责新书的购买。每一本图书都购进多本书。当旧书超期或破旧不堪时,从图书馆中去掉。4. 图书管理员是图书馆的员工。他们的工作就是和读者打交道并在软件系统的支持下工作。5. 借阅人可以预定当前没有的图书和杂志。这样,当他所预定的图书和杂志归还回来或购进时,就通知预定人。当预定了某书的借书者借阅了该书后,预定就取消。或者通过显式的取消过程强行取消预定。6. 图书馆能够容易地建立、修改和删除标题、借书者、借阅
5、信息和预定信息。7. 系统能够运行在所有流行的技术环境中,包括Unix, Windows和 Linux,并应有一个良好的人机交互图形用户界面(GUI)。8. 系统容易扩展新功能。系统可以不必考虑预定的图书到达后通知预定人的功能。9.如果读者还书超过期限(本科生1个月,研究生2个月,教师3个月),需扣款。2正常事件流与异常事件流描述。书管理系统的用例事件流描述:1借阅物理书刊(BorrowBook)11前置条件(Pro-Conditions)在这个用例开始前,Librarian必须登录到系统中12后置条件(Post-Conditions)如果这个用例成功,在系统中建立并存储借阅记录,如果必要还要
6、删除预定记录。否则,系统的状态没有变化。13扩充点(ExtensionPoints)没有14事件流141基流(BasicFlow)当借阅者从图书馆借阅物理书刊时,用例启动。如果Librarian选择“借书”,则执行分支流S-1:借阅物理书刊。如果所借的物理书刊是经过预定的,则执行分支流S-2:通过预定借阅物理书刊。142分支流(Subflows)S-1:借阅物理书刊(1)提供书刊种类、借阅者信息(2)检索书刊种类(Title)(E-1)(3)确定所借阅的物理书刊是否可以获得(E-2),即物理书刊是否都已借出(4)检索借阅者(E-3)(5)图书馆将物理书刊借给借阅者(6)创建借阅记录(7)存储借
7、阅记录S-2:通过预定借阅物理书刊(1)提供书刊种类、借阅者信息(2)检索书刊种类(Title)(E-1)(3)检索借阅者(E-3)(4)确定该类书刊的物理拷贝是否可以获得(E-2)(5)将物理书刊发给借阅者(6)创建借阅记录(7)存储借阅记录(8)删除预定记录143替代流(AlternativeFlow)E-1:该种书刊不存在,系统显示提示信息,用例终止E-2:物理书刊都已借出,系统显示提示信息,用例终止E-3:系统中不存在该借阅者,系统显示提示信息,用例终止2返回物理书刊(ReturnBook)21前置条件(Pre-Conditions)在这个用例开始前,Librarian必须登录到系统中
8、22后置条件(Post-Conditions)如果这个用例成功,系统删除借阅记录。否则,系统的状态没有变化。23扩充点(ExtensionPoints)没有书管理系统的用例事件流描述:1借阅物理书刊(BorrowBook)11前置条件(Pro-Conditions)在这个用例开始前,Librarian必须登录到系统中12后置条件(Post-Conditions)如果这个用例成功,在系统中建立并存储借阅记录,如果必要还要删除预定记录。否则,系统的状态没有变化。13扩充点(ExtensionPoints)没有14事件流141基流(BasicFlow)当借阅者从图书馆借阅物理书刊时,用例启动。如果L
9、ibrarian选择“借书”,则执行分支流S-1:借阅物理书刊。如果所借的物理书刊是经过预定的,则执行分支流S-2:通过预定借阅物理书刊。142分支流(Subflows)S-1:借阅物理书刊(1)提供书刊种类、借阅者信息(2)检索书刊种类(Title)(E-1)(3)确定所借阅的物理书刊是否可以获得(E-2),即物理书刊是否都已借出(4)检索借阅者(E-3)(5)图书馆将物理书刊借给借阅者(6)创建借阅记录(7)存储借阅记录S-2:通过预定借阅物理书刊(1)提供书刊种类、借阅者信息(2)检索书刊种类(Title)(E-1)(3)检索借阅者(E-3)(4)确定该类书刊的物理拷贝是否可以获得(E-
10、2)(5)将物理书刊发给借阅者(6)创建借阅记录(7)存储借阅记录(8)删除预定记录143替代流(AlternativeFlow)E-1:该种书刊不存在,系统显示提示信息,用例终止E-2:物理书刊都已借出,系统显示提示信息,用例终止E-3:系统中不存在该借阅者,系统显示提示信息,用例终止2返回物理书刊(ReturnBook)21前置条件(Pre-Conditions)在这个用例开始前,Librarian必须登录到系统中22后置条件(Post-Conditions)如果这个用例成功,系统删除借阅记录。否则,系统的状态没有变化。23扩充点(ExtensionPoints)没有24事件流241基流(
11、BasicFlow)当借阅者返回所借阅物理书刊时,用例启动。(1)提供所还物理书刊信息(2)检索物理书刊(E-1)(3)查询物理书刊的借阅记录(E-2)(4)删除借阅记录242替代事件流(AlternativeFlow)E-1:物理书刊不存在,系统显示提示信息,用例终止E-2:若借阅记录不存在,系统显示提示信息,用例终止3预定书刊(ReserveTitle)31前置条件(Pre-Conditions)在这个用例开始前,Librarian必须登录到系统中32后置条件(Post-Conditions)如果这个用例成功,系统建立预定记录。否则,系统的状态没有变化。33扩充点(ExtensionPoi
12、nts)没有34事件流341基流(BasicFlow)当Librarian为借阅者预定物理书刊时,用例启动。(1)提供书刊种类、借阅者信息(2)检索书刊种类(E-1)(3)检索借阅者(E-2)(4)系统接受预定,创建预定记录(5)将预定记录存储在系统中342替代事件流(AlternativeFlow)E-1:该种书刊不存在,系统显示提示信息,用例终止E-2:系统不存在该借阅者,系统显示提示信息,用例终止4取消预订(CancelReservation)41前置条件(Pre-Conditions)在这个用例开始前,Librarian必须登录到系统中42后置条件(Post-Conditions)如果
13、这个用例成功,系统删除预定记录。否则,系统的状态没有变化。43扩充点(ExtensionPoints)没有44事件流441基流(BasicFlow)(1)提供所预定的书刊种类、借阅者信息(2)检索所预定书刊种类(E-1)(3)检索借阅者(E-2)(4)从系统删除预定记录(E-3)442替代事件流(AlternativeFlow)E-1:该种书刊不存在,系统显示提示信息,用例终止E-2:系统不存在该借阅者,系统显示提示信息,用例终止E-3:预定信息不存在,系统显示提示信息,用例终止5维护借阅者信息(MaintainBorrowerInfo)51前置条件(Pre-Conditions)在这个用例开
14、始前,Librarian必须登录到系统中52后置条件(Post-Conditions)如果这个用例成功,系统添加、修改、删除借阅者信息。否则,系统的状态没有变化。53扩充点(ExtensionPoints)没有54事件流541基流(BasicFlow)系统要求Librarian选择所要执行的活动(添加、修改、删除借阅者信息)如果所选择的活动是“添加借阅者”,则执行分支流S-1:添加借阅者如果所选择的活动是“删除借阅者”,则执行分支流S-2:删除借阅者如果所选择的活动是“修改借阅者”,则执行分支流S-3:修改借阅者542分支流(Subflows)S-1:添加借阅者(1)提供借阅者的信息,如姓名、
15、地址、邮政编码和身份证号码等。(2)系统存储借阅者信息(E-1)。S-2:删除借阅者(1)提供借阅者的信息(2)查询借阅者(E-2)(3)查询借阅者的借阅记录(E-3)(4)从系统中删除借阅者的信息,以及借阅者的预定记录S-3:更改借阅者(1)提供借阅者的信息(2)查询并显示借阅者信息(E-2),修改相应的信息(3)更新系统中借阅者的信息543替代流(AlternativeFlow)E-1:若借阅者已存在,系统显示提示信息,用例终止E-2:若查询不到借阅者,系统显示提示信息,用例终止E-3:若存在借阅记录,系统显示提示信息,用例终止6维护书刊信息(MaintainTitleInfo)61前置条
16、件(Pre-Conditions)在这个用例开始前,Librarian必须登录到系统中62后置条件(Post-Conditions)如果这个用例成功,系统添加、修改、删除书刊种类信息。否则,系统的状态没有变化。63扩充点(ExtensionPoints)没有3识别参与者及关系。n 系统的参与者主要有三类: 读者(也可称为借阅者) 图书馆管理员 图书馆管理系统维护者 4识别用例及关系。1. 借阅者请求服务的用例图2. 图书馆管理员处理借书、还书等的用例图3. 系统管理员进行系统维护的用例图 5画出综合用例图,并进行用例描述【参考用例描述模板】。6识别所有类(含类名、属性、方法)和对象,进行类抽象
17、,建立类之间的关系、对象之间的关系。(1) 参与者相关的类(2) 系统中用到的其他类3 各个类之间的关系7分别就用户注册、用户登录、角色及用户管理、【图书信息采编入库、借书管理与统计、还书管理与统计】/【教学管理者排课、学生选课(必修课、选修课)、课程信息查询与打印】,完成对应的时序图。1. 系统管理员添加书籍的时序图2. 系统管理员添加借阅者帐户的时序图3. 系统管理员删除书目的时序图4. 图书管理员处理书籍借阅的时序图5. 图书管理员处理书籍归还的时序图6. 借阅者查询书籍信息的时序图7. 借阅者预留书籍的时序图8给出3个关键模块的活动图。1. 借阅者的活动图2. 图书管理员的活动图3系统
18、管理员维护借阅者帐户的活动图4系统管理员进行书目信息维护的活动图5系统管理员维护书籍信息的活动图9给出对应3个关键模块的代码。public class User private int id;private String username; private String password;private String phone;private String email;private int type;public int getId() return id;public void setId(int id) this.id = id;public String getUsername()
19、return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getPhone() return phone;public void setPhone(String phone) this.phone = phone;public String ge
20、tEmail() return email;public void setEmail(String email) this.email = email;public int getType() return type;public void setType(int type) this.type = type;public class Title private int id; private String name;public int getId() return id;public void setId(int id) this.id = id;public String getName
21、() return name;public void setName(String name) this.name = name; public class Book private int id; private int title_id; private String name; private String status;public int getId() return id;public void setId(int id) this.id = id;public int getTitle_id() return title_id;public void setTitle_id(in
22、t title_id) this.title_id = title_id;public String getName() return name;public void setName(String name) this.name = name;public String getStatus() return status;public void setStatus(String status) this.status = status; 六、心得体会 本实验报告以一个图书馆图书管理系统开发为背景,针对图书馆对图书资源进行有效利用和管理的功能需求,采用统一建模语言(UML)对图书资源进行面向对
23、象的描述,通过利用统一建模语言UML中的各种图形,分析和设计图书管理系统,建起了图书管理的面向对象模型,探讨了基于UML的体系结构建模及其实现问题。由建模过程可以看出UML在体系结构建模方面存在很好的优势,不但从整体上正确描述了该图书管理系统的体系结构,并且可以充分利用UML面向对象的优势,从而实现整个软件系统面向对象的分析、设计与开发,大大缩短开发周期,最终使得项目成功完成,此管理系统节省了管理人员和读者的大量时间,有利于信息处理效率的提高。鉴于篇幅和水平有限,本实验报告只对主要部分和主要过程做了介绍,限于水平,希望老师对本实验报告的缺点、错误提出批评,指正。七、组内打分组号姓名学号班级作业成绩(百分制)3杨现阳计应四班 90张泽浩计应四班90张金庚计应四班80张俊超计应四班80杨 波计应四班80王秋波计应四班80八、指导教师评分注:纸质版实验报告编辑后打印,以组为单位交给学习委员,以班为单位交给老师成绩: (百分制)指导教师: 张 浩