图书管理系统(重构版)

目录

前言

一、开发前准备

二、开发中遇到问题

三、总结


前言

这次的图书管理系统的开发相比于上次,区别在于这次的数据使用的数据库进行存储,与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的解决等。

猜你喜欢

转载自blog.csdn.net/H445584704/article/details/122365941

相关文章