需求概述
图书管理是每一个高校都要具体落实的工作。但一直以来图书的管理都是传统的人工去管理,这不仅工作量大,效率低,而且消耗的资金较多。随着图书的不断增多,这种管理方式是越来越跟不上。这不仅影响到读书者借阅和管理者的维护,还影响到知识的普及。但随着计算机的普及和发展,人工去维护图书渐渐被计算机来取代。不仅提高了效率,降低的资金的消耗,而且给读者和管理者带来了便捷。
图书馆管理系统的开发,其效率远远高于人工,其检索和借阅,返还书籍都非常方便。所以,开发一个图书馆管理系统是非常必要的。
通过建立一个高效实用且通用的系统,以帮助图书馆管理图书以及解决读者借读书籍等问题。本系统的建立为图书管理员提供了极大的帮助。本系统主要分两个子系统,一个是关于用户借还书籍业务的系统,一个是维护图书和订购书籍的子系统。
系统的参与者有图书管理员以及图书馆数据库;
第一个用户子系统的功能有:借阅书刊、返还书刊、查询书刊信息、预订书刊和取消预订。读者通过管理员来进行借阅书籍和返还书籍。当书籍不足时,读者也可以通过预订来达到借阅书籍。
第二个维护书籍子系统,管理员对于订购回来的书籍的信息的添加入库,对旧书籍的删除和修改,对每一段时间内书籍的相关借和还进行统计和汇报。
本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使图书管理工作真正做到科学、合理的规划,系统、高效的实施。
业务流程
1、删除书籍:输入书籍信息,查找书籍是否存在,若存在则删除
2、修改书籍:选择书籍,导出书籍信息,修改信息,确认保存
3、增加书籍:购入书籍,录入书籍信息,确认保存
用况图
这是图书馆管理系统总用况,我们所做的子系统相关用况是删除书刊信息、修改书刊信息、添加书刊信息、登录界面。
一、删除书刊信息事件流:
前置条件:
借阅者的卡号和借阅者名有效
A1:如果卡号无效或得借阅者名有误,则返回登陆界面
1.输入需要删除书刊的ISBN/ISSN号
2.删除书刊信息
二、修改书刊信息事件流:
前置条件:
借阅者的卡号和借阅者名有效
A1:如果卡号无效或得借阅者名有误,则返回登陆界面
1.输入需要修改书刊的的ISBN/ISSN号
2.修改书刊信息
三、添加书刊信息事件流:
前置条件:
借阅者的卡号和借阅者名有效
A1:如果卡号无效或得借阅者名有误,则返回登陆界面
1.输入需要添加书刊的书名
2.输入需要添加书刊的ISBN/ISSN号
3.添加书刊信息
四、登录事件流
1.输入借阅者卡号
相关类描述
书刊种类:
属性:包括书刊类型、藏书位置。
描述:书刊类主要用于存放书籍信息。
书刊类:
属性:ISDN号、书名、作者、出版社、学科类型、类型
描述:本类主要用于记录图书馆的书刊的详细信息,主要用于给查询者查看、修改等相关信息。
界面类:
属性:借阅者ID、姓名、密码
描述:图书管理员输入借阅者信息,做登陆验证,然后如果验证成功,则会缓存信息在本类中,作为其他操作的前置条件;同时界面类也用于与控制类做交互,输出借阅信息、预定信息等。
控制类:
与数据库和界面类交互。能进行对身份的验证,读者信息增删查改,书籍信息的增删查改,并且上传到数据库中。
时序图
1、删除时序图:管理员在界面输入书籍信息,创建对象保存输入的书籍信息,发送信号到控制类,控制类通过访问数据库查询书籍是否存在,若存在就返回书籍信息到界面,管理员确认删除,控制类通过访问数据库删除相关书籍记录,返回删除成功信息到界面。
2、添加时序图:管理员在界面输入书籍信息,创建对象保存输入的书籍信息,发送信号到控制类,控制类通过访问数据库查询书籍是否存在,若不存在就创建书籍信息记录到数据库,返回成功信息到界面。
3、修改时序图:管理员在界面输入书籍信息,创建对象保存输入的书籍信息,发送信号到控制类,控制类通过访问数据库查询书籍是否存在,若存在,返回书籍信息到界面,管理员修改书籍信息,确认修改,控制类将修改信息存入数据库,返回修改成功信息到界面。
总结
经过此次实验,我深深感到软件工程的重要性。虽然我不能说我将《软件工程》学习的有多么的好,但是通过学习,我还是受益良多。
软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,处理的是逻辑和信息。唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。
我还了解到用户需求对软件的重要性。成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。
软件工程这门课程是做软件开发的人必学的课程,通过学这门课程程序员就会注重软件开发的理论知识以及做项目开发的思路。此次综合性实验后,至少以后写程序就不会去盲目的去套用代码而是理清此程序的架构以及思路,程序该从什么时候开始什么时候结束,在中间需要添加什么样的功能以完善功能。其实学软件工程并不难,软件工程就是要理解了先做什么后做什么,以后写程序再复杂的程序也可以分成几大块,理清程序的思路后就可以一步步的解决其中的难题最终实现软件的功能。如果没学软件工程不知道理清程序的思路的话做一个大的项目开发那么多的代码没有一个很好的结构最终只会导致程序混乱错误百出知道代码再多也会素手无策的。
总而言之作为一个程序员学习软件工程这门课程是至关必要的如果没学习软件工程你就不会做项目开发也不可能开发出一个完善的软件出来