面向对象设计之8_图书管理系统方案

合集下载

面向对象图书管理信息系统设计与实现

面向对象图书管理信息系统设计与实现

面向对象图书管理信息系统设计与实现#include 〈iostream〉#include <iomanip〉#include <string〉#include <fstream〉//输入/输出文件流类using namespace std;const int Maxr=100;//最多的读者const int Maxb=100;//最多的图书const int Maxbor=5;//每位读者最多借五本书//读者类,实现对读者的信息的描述class Reader{private:int tag;//删除标记1:已删0:未删int no;//读者编号char name[10];//读者姓名int borbook[Maxbor];//所借图书public:Reader() {}char *getname(){return name;} //获取姓名int gettag(){return tag;}//获取删除标记int getno(){return no;}//获取读者编号void setname(char na[])//设置姓名{strcpy(name,na);}void delbook(){tag=1;}//设置删除标记1:已删0:未删void addreader(int n,char *na)//增加读者{tag=0;no=n;strcpy(name,na);for(int i=0;i〈Maxbor;i++)borbook[i]=0;}void borrowbook(int bookid)//借书操作{for(int i=0;i<Maxbor;i++){if (borbook[i]==0){borbook[i]=bookid;return;}}int retbook(int bookid)//还书操作{for(int i=0;i〈Maxbor;i++){if(borbook[i]==bookid){borbook[i]=0;return 1;}}return 0;}void disp()//读出读者信息{cout << setw(5) << no <<setw(10) << name<〈"借书编号:[”; for(int i=0;i<Maxbor;i++)if(borbook[i]!=0)cout <〈borbook[i] 〈< "|”;cout <〈”]"〈<endl;}//读者类库,实现建立读者的个人资料class RDatabase{private:int top; //读者记录指针Reader read[Maxr];//读者记录public:RDatabase()//构造函数,将reader。

java面向对象课程设计指导书--图书信息管理系统

java面向对象课程设计指导书--图书信息管理系统

目录摘要------------------------------------------------------------------------------------------31系统需求分析----------------------------------------------------------------------------32 可行性分析------------------------------------------------------------------------------33 系统设计---------------------------------------------------------------------------------43.1系统总体设计----------------------------------------------------------------------43.2系统流程图-------------------------------------------------------------------------53.3系统详细设计----------------------------------------------------------------------54 数据库设计------------------------------------------------------------------------------74.1数据库需求分析-------------------------------------------------------------------74.2数据库概念结构设计-------------------------------------------------------------84.3数据库逻辑结构设计-------------------------------------------------------------85 编码---------------------------------------------------------------------------------------96系统测试---------------------------------------------------------------------------------377 设计总结--------------------------------------------------------------------------------438 参考文献--------------------------------------------------------------------------------45摘要数据库是数据管理的最新技术,是计算机科学的重要分支,随着数据库技术深入而广泛的应用,使用数据库技术管理图书信息已经越来越成熟,另一方面,Java Swing在图形界面的开发上应用越来越广泛,综合使用数据库技术与Java Swing编程技术来进行图书信息管理的开发,简单高效。

C#面向对象实现图书管理系统

C#面向对象实现图书管理系统

C#⾯向对象实现图书管理系统本⽂实例为⼤家分享了C#⾯向对象实现图书管理系统的具体代码,供⼤家参考,具体内容如下这个系统需要两个类:class Book,class BookManager⾸先先进⾏对Book类成员的声明。

class Book{//数据string id;public string Id{get { return id; }set { id = value;}}//使⽤了lamda表达式,跟上⾯的get/set等价public string Name { get => name; set => name = value; }string name;string author;float price;int page;public int Page { get; set; }public void print(){string str = string.Format("书名是{0},作者是{1},编号是{2},价格{3},页数{4}",name,author,id,price,page);Console.WriteLine(str);}}BookManager类的声明//数据成员int size;//容器的⼤⼩public int curIndex;//当前存储的位置Book[] books; //定义⼀个Book类型的数组//函数成员public BookManager(int size){curIndex = 0;this.size = size;//申请了⼀个容器,⽬前⾥⾯还没有值books = new Book[size];}实现添加的⽅法1、curIndex⼀开始的位置是[0],将b的内存地址存⼊数组中的第0位后,curIndex+1,这样的话下⼀次存储时会将数据存储到第1位。

2、判断数组的游标是否⼤于容器⼤⼩, ⼤于则要进⾏数组扩容public void addBook(Book b)//传⼊Book的⼀个引⽤ b{books[curIndex] = b;//将b存⼊数组curIndex++;if (curIndex>=size)//判断数组的游标是否⼤于容器⼤⼩, ⼤于则要进⾏数组扩容{size = size + size / 2;//将容器的⼤⼩扩容增加原来的⼀半Book[] booksNew = new Book[size];//定义⼀个新的Book类型数组 booksNewArray.Copy(books,booksNew, books.Length);//使⽤Copy函数将books数组⾥⾯的值赋值给booksNew,长度为books的长度books = booksNew;}}重写删除的⽂本,通过ID遍历public bool delBook(string id){int findCurIndex = 0;bool isFind = false;for (int i = 0; i < curIndex; i++)//通过遍历⽐较两个id{if (books[i].Id.Equals(id)){findCurIndex = i;isFind = true;break;}}return false;}查找书籍⽅法public Book find(string id){if (string.IsNullOrEmpty(id)){return null;//返回空引⽤}for (int i = 0; i < curIndex; i++)//通过遍历⽐较两个id{if (books[i]!=null&&books[i].Id.Equals(id)){return books[i];}}return null;}显⽰所有书籍⽅法public void showAllBook(){Console.WriteLine("所有的书籍信息如下");for (int i = 0; i < curIndex; i++){books[i].print();}}以上,书和管理器的类就写完了接下来在主函数中运⾏测试:using System;namespace 图书管理系统{class Program{static void Main(string[] args){Console.WriteLine("欢迎进⼊图书管理软件");int num = 1;BookManager manager = new BookManager(2);//容器(数据库)while (true){Console.Clear();//清理控制台信息Console.WriteLine("1、录⼊书籍\n2、查找书籍\n3、删除书籍\n4、显⽰所有书籍\n按对应的数字进⼊该功能,按Q退出"); string str = Console.ReadLine();num = int.Parse(str);switch (num){case 1://录⼊书籍Console.WriteLine("已经进⼊录⼊书籍功能");Console.Write("输⼊编号:");string id = Console.ReadLine();Console.Write("输⼊书名:");string name = Console.ReadLine();Console.Write("输⼊作者名字:");string authName = Console.ReadLine();Console.Write("输⼊书的价格:");float price = float.Parse(Console.ReadLine());Console.Write("输⼊书的页数:");int page = int.Parse(Console.ReadLine());Book book = new Book(authName, price);//通过构造函数⽣成对象,并且赋值//通过属性对对象赋值book.Id = id; = name;book.Page = page;//把书存储到管理器中manager.addBook(book);break;case 2://查找书籍if (manager.curIndex == 0){Console.Write("系统⾥⼀本书都没有!");break;}id = Console.ReadLine();Book curBook = manager.find(id);if (curBook != null){Console.WriteLine("找到了书,信息如下:");curBook.print();}else{Console.WriteLine("没有找到书");}break;case 3://删除书籍Console.Write("输⼊要删除的书籍编号:");id = Console.ReadLine();Book _curBook = manager.find(id);if (_curBook != null){Console.WriteLine("已删除{0}这本书", _);manager.delBook(_curBook.Id);}else{Console.WriteLine("没有找到书");}break;case 4://显⽰所有书籍if (manager.curIndex != 0){manager.showAllBook();}else{Console.WriteLine("系统⾥⼀本书都没有!");}break;}if (str.ToLower().Contains('q')){break;}Console.ReadKey();}}}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

面向对象 软件工程系课程设计 图书管理系统报告

面向对象 软件工程系课程设计 图书管理系统报告

目录1.前言 (3)2.需求分析 (3)2.1系统的功能性需求 (3)2.2系统需求分析规格说明书 (4)2.3系统用例图 (4)3.3.1参与者 (4)3.3.1分析用例图 (4)4 分析模型 (9)4.1分析包 (9)4.2分析类图 (10)4.2.1分析类图 (10)4.2.2概念类关系 (12)4.2.3概念类字典 (13)4.3分析动态模型 (13)4.3.1顺序图 (13)4.3.2协作图 (15)4.3.3状态图 (15)4.3.4活动图 (15)5 设计模型 (15)5.1软件平台设计 (15)5.2结构设计 (15)5.3详细设计与界面设计 (16)5.3.1图书信息管理 (16)5.3.2读者信息管理 (17)5.3.3出版社信息管理 (18)5.3.4图书借还管理 (18)5.3.5系统管理 (18)5.3.6公用包设计 (18)5.4数据库设计 (18)6、实现模型 (19)6.1组件图 (19)6.1.1组件设计 (19)6.1.2组件实现 (19)6.2配置图 (19)7、测试用例 (20)7.1.测试用例 (20)7.2.测试结果 (20)7.3.性能分析 (20)8、用户手册 (20)8.1系统安装 (20)8.2登录 (20)8.3图书管理 (21)总结 (21)参考文献 (21)附录源程序文件名清单: (21)1.前言随着各种信息的日益膨胀和图书管理人员信息服务需求的不断增强,图书信息系统急待有一个面向日常工作的信息服务功能,如图书数据资料、管理人员资料、图书信息文档等信息的存储、管理、共享、使用与交流,图书资料的存储与使用以及文献检索、电子阅览等。

这在每个图书馆都有各自不同的管理方式,其共有的特点多数仍处在手工阶段。

存在信息资料管理分散、安全性差、利用率低等缺陷,再者,这类信息本身存在着它的不规范性,单纯使用特定的软件进行管理也有一定难度,而且很难适应此类信息管理模式的变化比计划还快的特点。

ch8-图书管理系统-动态设计-状态图

ch8-图书管理系统-动态设计-状态图

• 采用方法:面向对象的设计方法(OOD) • 内容: 1. 静态结构设计:类和对象的设计,架构设计 (设计模式),数据库设计 • 静态结构设计建模技术:类的建模(系统类 图),对象的建模,组件图,配置图,数据库 设计类图 2. 动态结构设计:状态、行为的设计 • 动态结构设计建模技术:状态建模(状态图), 行为建模(时序图、交互图)
我们的进度,在这里
在已有的状态图上加入新的状态和转换
我们的进度,在这里
重填 新办借阅 证 登录失败 点击新办借阅证 重填 开始 登录 登录成功 图书管理系 统主界面 点击补办借阅证 补办借阅 证 查询 提交
返回 显示新办借 阅证信息
显示旧借 补办 阅证信息
显示新借 阅证信息 返回
阅读“图书借阅”用例描述
在已有的状态图上加入新的状态和转换
重填 新办借阅 证 登录失败 点击新办借阅证 重填 开始 登录 登录成功 图书管理系 统主界面 点击补办借阅证 补办借阅 证 查询 显示旧借 阅证信息 补办 显示新借 阅证信息 返回 重填 图书借阅 点击图书归还 返回 重填 返回 图书归还 查询 显示借阅 信息 归还 归还成功 提交 返回 显示新办借 阅证信息
我们的进度,在这里 即将开始的任务——图书管理系统设计 阶段
今天的工作任务
我们的进度,在这里
1. 根据需求规格说明书,进行状态分析和状态 建模(属于动态结构设计) 2. GUI工程师准备开始进行图形用户界面设计.
提交内容
1. 系统状态图 2. GUI工程师在下周交付GUI设计图
我们的进度,在这里
我们的进度,在这里
点击图书借阅
借阅
所借图书 信息
点击注销
取消注销 注销 确认注销 结束

图书管理系统方案-设计

图书管理系统方案-设计

目录第一章需求规格说明 (1)1.1 功能概述 (1)1.2 综合描述 (2)1.3 功能需求 (3)1.4支持信息 (6)第二章详细设计 (8)2.1 UML定义 (8)2.2 顺序图定义 (9)第三章系统测试 (10)3.1 管理信息系统的测试 (10)3.1.1测试的原则 (10)3.1.2测试的分类 (10)3.2功能测试 (11)3.3交互测试 (13)第四章总结 (16)第一章功能需求说明1.1功能概述本文简洁明了的阐述了本校图书管理系统的使用方法及功能,方便各界使用者的了解和使用。

本文档描述了本校的图书管理系统的功能需求和非功能需求,其阅读对象是本系统的使用者和开发者,以及在校师生。

1.1.1 范围图书管理系统的直接受益者学生,他们对系统的要求有:●可以按各类方法 (比如图书的编号,作者,名称,出版日期)检索图书馆的藏书情况。

●可以方便的借阅图书,预定图书,归还图书。

●可以查询和修改自己的资料信息、历史借阅情况等。

●可以方便的浏览校园的动态信息。

作为图书馆工作人员,他们对图书管理系统的要求有:●可以方便的对馆内图书进行查询。

●可以及时的调出借阅者的信息。

●可以简洁的完成整个借书流程。

●可以在线提醒借阅者的借阅到期信息,以及新书上架,以及馆内现有可以节约的图书。

●可以通过手机添加APP或者微信扫描公众主页添加对图书馆藏书的关注作为图书馆系统管理人员,他们对图书管理系统的要求有:●可以及时的完成整个借阅的流程,方便操作。

●可以通过扫描或者学号登陆等手段及时录入更新图书馆的学生借阅信息,注销毕业的学号。

1.1.2 定义、缩写词以及简写Library management systemObject orientedUMLROS1.1.3 内容组织第二部分综合描述中进行各部分的介绍和描述,指出各部门各环节的优势和局限性。

第三部分详细需求使用图例方式形象具体介绍流程,还定义了产品的性能和需求能力。

《面向对象》案例:图书管理系统

① 系统管理员维护借阅者帐户的活动图 ② 系统管理员进行书目信息维护的活动图 ③ 系统管理员维护书籍信息的活动图
(1)系统管理 员维护借阅者 帐户的活动图
(2)系统管理 员进行书目信 息维护的活动图
(3)系统管理员 维护书籍信息的 活动图
18.4 系统中的类
18.4.1 系统中主要的类 18.4.2 各个类之间的关系
Information Maintenance
18.4.1 系统中主要的类
① 参与者相关的类 ② 系统中用到的其他类
(1)参与者相关的类
(2)系统中用到的其他类
18.4.2 各个 类间的关系 (对应的 E-R图)
18.5 系统的配置与实现
18.5.1 系统的组件图 18.5.2 系统的配置图
1 业务对象组件图
2. 用户界面的组件图
2. 系统管理员添加借阅者帐户的时序图
: Administrator
: Maintenance Window
: Borrower
1: create borrower( ) 2: create(String, String)
3. 系统管理员删除书目的时序图
4. 图书管理员处理书籍借阅的时序图
5. 图书管理员处理书籍归还的时序图
3: Return true
4: reserve( )
18.3.4 系统的协作图
1. 2. 3. 4. 5. 系统管理员添加书籍的协作图 系统管理员删除书籍的协作图 图书管理员处理借书的协作图 图书管理员处理还书的协作图 借阅者预留书籍的协作图
1. 系统管理员添加书籍的协作图
1: add item( ) : Maintenance Window : Administrator

面向对象设计与分析 图书管理系统

华北电力大学科技学院实验报告实验名称图书馆管理系统的分析与设计课程名称面向对象技术专业班级:学生姓名:学号:成绩:指导教师:实验日期:一、图书管理系统需求描述图书馆里有多种书目,每种书有多个副本,每个副本有唯一的编号。

每本图书借阅期限为60天,超期罚款,按天计算,每天0.1元。

每个借阅者在系统中建立一个账户,并发放借阅证,账户中有用户名、证号、单位、存的现金数额,用于超期罚款,用户可以续费。

持借阅证的用户可以借书、还书,但这些操作要通过图书馆馆员来实现,每个借阅者可借10本书。

每次借阅会将特定的借阅者和书籍副本联系起来。

图书管理员还负责图书的书目管理,书籍副本管理,借阅者管理。

如果借阅证丢失,借阅证持有者应到图书馆前台挂失。

借阅证持有者可以预约图书,最多可预约3本(可以设定预约有效的期限),并在图书到达后得到电话通知,图书馆为其保留图书,3日内有效。

还可以取消预约。

二、需求分析系统的功能需求主要包括以下几个方面:1.这是一个图书馆管理系统。

2.借阅者需预先建立一个账户(账户中有用户名、证号、单位、存的现金数额),并领取借阅证,借阅者可以续费。

3.各种书目需预先注册。

每种书目有多个副本且每个副本有唯一的编号。

3.借阅者能够通过图书馆馆员借书、还书(每个借阅者可借10本书),每次借阅或归还都更新数据库信息。

4.借阅者可以通过网络查询书籍信息。

5.借阅者可以预约图书。

当他所预约的图书归还或购进时,就通知预定人。

图书馆为其保留3日预约书籍。

当预定某书的借书者借阅该书后,系统取消预约。

6.如果借阅者还书超过期限(60天),需扣款,按天计算,每天0.1元。

7.图书馆馆员在软件系统的支持下处理借阅者的借书和还书请求。

8.系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加和删除书籍,增加、删除和更新借阅者帐户,挂失借阅证等。

7.系统能够运行在流行的技术环境中,并应有一个良好的人机交互图形用户界面。

面向对象_软件工程系课程设计_图书管理系统报告

目录1.前言 (3)2.需求分析 (3)2.1系统的功能性需求 (3)2.2系统需求分析规格说明书 (4)2.3系统用例图 (4)3.3.1参与者 (4)3.3.1分析用例图 (4)4 分析模型 (9)4.1分析包 (9)4.2分析类图 (10)4.2.1分析类图 (10)4.2.2概念类关系 (12)4.2.3概念类字典 (13)4.3分析动态模型 (13)4.3.1顺序图 (13)4.3.2协作图 (15)4.3.3状态图 (15)4.3.4活动图 (15)5 设计模型 (15)5.1软件平台设计 (15)5.2结构设计 (15)5.3详细设计与界面设计 (16)5.3.1图书信息管理 (16)5.3.2读者信息管理 (17)5.3.3出版社信息管理 (18)5.3.4图书借还管理 (18)5.3.5系统管理 (18)5.3.6公用包设计 (18)5.4数据库设计 (18)6、实现模型 (19)6.1组件图 (19)6.1.1组件设计 (19)6.1.2组件实现 (19)6.2配置图 (19)7、测试用例 (20)7.1.测试用例 (20)7.2.测试结果 (20)7.3.性能分析 (20)8、用户手册 (20)8.1系统安装 (20)8.2登录 (20)8.3图书管理 (21)总结 (21)参考文献 (21)附录源程序文件名清单: (21)1.前言随着各种信息的日益膨胀和图书管理人员信息服务需求的不断增强,图书信息系统急待有一个面向日常工作的信息服务功能,如图书数据资料、管理人员资料、图书信息文档等信息的存储、管理、共享、使用与交流,图书资料的存储与使用以及文献检索、电子阅览等。

这在每个图书馆都有各自不同的管理方式,其共有的特点多数仍处在手工阶段。

存在信息资料管理分散、安全性差、利用率低等缺陷,再者,这类信息本身存在着它的不规范性,单纯使用特定的软件进行管理也有一定难度,而且很难适应此类信息管理模式的变化比计划还快的特点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

. . . .. .. 案例:“图书管理系统”面向对象分析与设计

例如,“图书管理系统”面向对象分析与设计大致过程如下: 1. 需求调查分析 需求调查分析的结果一般用文字描述,必要时也可用业务流程图辅助描述。“图书管理系统”需求述如下: 在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者),账户存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的围、数量和期限不同,可通过互联网或图书馆查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。 借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。 图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和管理。

2. 用例建模

(1)确定执行者 通过对系统需求述的分析,可以确定系统有两个执行者:管理员和读者。简要描述如下: 1) 管理员:管理员按系统授权维护和使用系统不同功能,可以创建、修改、删除读者信息和图书信息即读者管理和图书管理,借阅、归还图书以及罚款等即借阅管理。 2) 读者:通过互联网或图书馆查询终端,查询图书信息和个人借阅信息,还可以在符合续借的条件下自己办理续借图书。

(2)确定用例

在确定执行者之后,结合图书管理的领域知识,进一步分析系统的需求,可以确定系统的用例有: • 借阅管理:包含借书、还书(可扩展过期和丢失罚款)、续借、借阅情况查询;

• 读者管理:包含读者信息和读者类别管理;

• 图书管理:包含图书信息管理、图书类别管理、管理、图书注销和图书信息查询。 . . . .. .. 下面是借阅情况查询、读者信息管理、读者类别管理、图书类别管理、管理和图书信息查询等用例的简要描述: 1) 借阅情况查询:读者通过互联网或图书查询终端登录系统后,查阅个人的所有借阅纪录。 2) 读者信息管理:管理员登录后,对读者详细信息进行增、删、改等维护管理。 3) 读者类别管理:管理员登录后,对读者类别进行增、删、改等维护管理。 4) 图书类别管理:管理员登录后,对图书类别进行增、删、改等维护管理。 5) 信息管理:管理员登录后,对详细信息进行增、删、改等维护管理。 6) 图书信息查询:读者或管理员通过互联网或图书查询终端登录后,查询所需要的图书信息。

下面是借书、还书、续借、图书信息管理、图书注销等用例的详细描述:

1) 借书 用例名称:借书 参与的执行者:管理员 前置条件:一个合法的管理员已经登录到这个系统 事件流: A.输入读者编号; 提示超期未还的借阅记录; B.输入图书编号; If 选择“确定” then If 读者状态无效 或 改书“已”注销 或 已借书数>=可借书数 Then 给出相应提示; Else 添加一条借书记录; “图书信息表”中“现有库存量”-1; “读者信息表”中“已借书数量”+1; 提示执行情况; Endif 清空读者、图书编号等输入数据; Endif If 选择“重新输入”then 清空读者、图书编号等输入数据; Endif If 选择“退出”then 返回上一级界面; Endif 返回A.等待输入下一条; 后置条件:如果是有效借书,在系统中保存借阅纪录,并修改图书库存量和读者借书数量。

2) 还书 用例名称:还书 . . . .. .. 参与的执行者:管理员 前置条件:一个合法的管理员已经登录到这个系统 事件流: A.输入读者编号; 提示超期未还的借阅记录; If 有超期 then 提示,调用“计算超期罚款金额”; Endif If 丢失 then 选择该书借阅记录; 调用“计算丢失罚款金额”+调用“计算超期罚款金额”; Endif If 选择“确定” 还书then //要先交罚款后才能还 B.输入图书编号; If 读者状态无效 或 该图书标号不在借书记录中then 提示该读者借书证无效或该图书不是该读者借阅的; Else 添加一条还书记录; 删除该借书记录; “图书信息表”中“现有库存量”+1; “读者信息表”中“已借书数量”-1; 提示执行情况; Endif 清空读者、图书编号等输入数据; Endif If 选择“重新输入”then 清空读者、图书编号等输入数据; Endif If 选择“退出”then 返回上一级界面; Endif 返回A.等待输入下一条; 后置条件:如果是有效还书,在系统中删除借阅纪录,并修改图书库存量和读者借书数量。

3) 续借 用例名称:续借 参与的执行者:管理员、读者 前置条件:一个合法的管理员或读者已经登录到这个系统 事件流: A.输入读者编号; 提示超期未还的借阅记录; If 有超期 then 提示,调用“计算超期罚款金额”; . . . .. .. Endif 选择该书借阅记录; Endif If 选择“确定” 续借then If 该图书已超期 或 该图书续借次数>=可续借次数then 提示该读者该图书已超期或该图书续借次数>可续借次数,不能续借; Else 修改该书借阅记录中的“应归还日期”; 图书续借次数+1; 提示执行情况; Endif 清空读者、图书编号等输入数据; Endif If 选择“重新输入”then 清空读者书编号等输入数据; Endif If 选择“退出”then 返回上一级界面; Endif 返回A.等待输入下一条; 后置条件:如果是有效续借,在系统中修改借阅纪录。

4) 图书信息管理 用例名称:图书信息管理 参与的执行者:管理员 前置条件:一个合法的管理员已经登录到这个系统 事件流: (参见附录D“图书管理系统软件设计规格说明书”中“书籍信息管理”模块详细设计,这里略) 后置条件:如果是有效操纵,在系统中增加、修改、删除图书信息纪录。

5) 图书注销 用例名称:图书注销 参与的执行者:管理员 前置条件:一个合法的管理员已经登录到这个系统 事件流: A.查询要注销的图书信息; B.选择要注销的图书信息记录; If 选择“确定”注销 then If 该书有借阅记录 then 提示该书有人已借阅,不能注销; Else 添加一条注销记录; “图书信息表”中设定该书 “已”注销; . . . .. .. 提示执行情况; Endif Endif If 选择“退出”then 返回上一级界面; Endif 返回A.等待选择下一条或重新查询; 后置条件:如果是有效注销,在系统中保存注销纪录,并对图书信息做标记。

(3)确定用例之间的关系 确定执行者和用例之后,进一步确定用例之间的关系,如图7-35所示。

3.静态建模 首先使用本章介绍的CRC或OMT技术,通过寻找系统需求述中的名词,结合图书管理的领域知识,首先给出候选的对象类,经过筛选、审查,可确定“图书管理系统”的类有:读者、图书、借阅记录、图书注销记录、读者类别、图书类别、等。然后,经过标识责任、标识协作者和复审,定义类的属性、操作和类之间的关系。 这里仅以“读者”类为例列出该类的属性和操作,其它类的属性可参阅附录D“图书管理系统软件设计规格说明书”中4.2“数据表结构”,操作与“读者”类的类似。 “读者”类

图7-35 “图书管理系统“用例

图书管理系统 图书信续续 借书 还书 借阅情《包含》 《包含》 《包含》 《包含》 丢失 读者 借阅 图书类管理员 过期

《扩展》

《扩展》 读者

出版社信息图书信

读者信《包含》 《包含》 读者类

图书 《包含》 《包含》 《包含》

《包含》 . . .

.. .. • 私有属性

读者编号(借书证和用户名与此同):文本 读者:文本 读者类别编号:文本 读者性别:文本 出生日期:时间/日期 读者状态:文本 办证日期:时间/日期 已借图书数量:数值 证件名称:文本 证件:文本 读者单位:文本 联系地址:文本 联系:文本 EMAIL:文本 用户密码:文本 办证操作员:文本 备注:文本

• 公共操作

永久写入读者信息 永久读取读者信息 新增读者 删除读者 修改读者信息 获取读者信息 查找读者信息 返回借阅数量

类之间的关系如图7-36所示。

借阅记录 图书 图书类别 图书注销记录 读者类别 读者

图7-36 “图书管理系统”类图 出版社 1 0..*

0..1 0..1

* * 0..*

1..*

相关文档
最新文档