图书管理系统(重构版)
Posted 进制转生~成为程序员就拿出真本事
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图书管理系统(重构版)相关的知识,希望对你有一定的参考价值。
目录
前言
这次的图书管理系统的开发相比于上次,区别在于这次的数据使用的数据库进行存储,与I/O流的存储相同的好处是。可以进行持久化存储,比之I/O流存储更好的地方在于,数据库有数据库管理系统,能更方便的对数据进行管理。
一、开发前准备
1、需求文档
碰到任何问题,最长见的思维方式即为:问题三要素——是什么、为什么、怎么做。这
是几乎所有行业、所有人群面对事情时,最常见的思维方式。
为什么要写需求文档?需求文档定义为:用于阐述产品,满足协同人员开发的内容文档。
编写好需求文档,对于开发前来说有着至关重要的作用。
2、数据库设计
规范的数据库设计,能让开发中对数据的处理更加清楚,减轻开发中,程序员对数据的
处理的负担。数据库的设计要满足三大范式。
3、接口设计
好的系统架构离不开好的接口设计,因此,真正懂接口设计的人往往是软件设计队伍中
的稀缺型人才。
接口在软件设计中主要有两大好处:
a. 制定标准
标准规范的制定离不开接口,制定标准的目的就是为了让定义和实现分离,而接口
作为完全的抽象,是标准制定的不二之选。
b. 提供抽象
除了标准之外,接口还有一个特征就是抽象。正是这样的抽象,得以让接口的调用
者和实现者可以完全的解耦。解耦的好处是调用者不需要依赖具体的实现,这样也就不
用关心实现的细节。这样,不管是实现细节的改动,还是替换新的实现,对于调用者来
说都是透明的。
二、开发中遇到问题
1、有关图书实体和读者实体的设定
对图书实体信息和读者实体信息进行删除个修改的时候有个注意点,就是当这个读者正处于借书状态,或者这本书正处于被借状态,那么它们的实体信息不应该被进行删除和修改。
对应可借鉴的方法:
public static boolean isExit(String readerId)
for (BorrowBook bb : BorrowBookDAO.getInstance().getList())
if (bb.getReaderId().equals(readerId))
System.out.println("该读者正在借阅书籍,不可修改或删除!");
return false;
return true;
2、有关图书类别和读者类别的设定
对于图书类别和读者类别,当有图书或者读者正在使用其相应的类别时,这个类别对应的信息,也不能被修改或者删除,就好比一个人现在正在吃面包,你突然把面包修改为了石头,很明显时不可能的。
3、有关文本提示的设定
有关文本提示方面,在部分功能的调用前,加上点小提示,能更好的提高系统使用感受,
三、总结
总体来说,开发一个项目前,一定要先弄清楚,需要什么功能,然后搭建好架构,规范化接口,规范化数据,做好任务分工,以及对系统漏洞的一些预处理,bug的解决等。
以上是关于图书管理系统(重构版)的主要内容,如果未能解决你的问题,请参考以下文章