当前位置:   article > 正文

Java_图书管理系统_总结1_java图书管理系统项目总结

java图书管理系统项目总结

Java_图书管理系统_总结1

嗷呜 嗷呜 嗷呜~
经过使用IO流操作进行编写简单的图书管理系统(控制台输出)的实践项目后,有许许多多的感受以及项目总结想在这边分享一下~

先容我呐喊一句:终于结束了!!!


笔者在之前主要是通过数据库对数据进行操作。
=_=本次却全部是由IO流操作存取数据。

  1. 掌握java基本语法
  2. 熟悉使用流程控制
  3. 理解面向对象思想
  4. 熟练封装,继承,多态
  5. 熟悉使用接口,异常
  6. 熟悉使用集合
  7. 熟悉掌握I/o流相关操作

目的是为了通过此次小小项目来检验自己对Java基础的掌握情况。本篇文章主要是感受以及在其中遇到的Bug修复,后期会开新篇再对此项目进行总结分析。话不多说,开始整个项目的感受总结叭~



主要功能模块图

本系统在设计阶段主要包括如下简单功能。

功能模块图


主要实现的功能流程图

本系统最终实现的功能流程简要如下。

功能流程图

提示:以下是本篇文章正文内容,下面案例可供参考

一、项目感受

首先,对于此次开发周期以及相应的开发前期准备并不是很足。像IO流操作的读取、以及类的封装、继承、集合与泛型的应用都不是很熟吖~尤其是在项目中如何把上述知识使用到,并且运用到整个项目中时,开始就很难以下手。但是在写出来读者用户的增删查之后整个思路就明晰了很多。其中前后最大的变化是从开始的不知道从哪里下手,到后面会先根据功能想好思路,之后通过注释整理整个思路,整理完后根据注释进行实现功能。我感觉针不戳!
其次,整个项目的时间开发过程中,可能遇到最多的反而不是逻辑问题大,更多的是不断调试、不断DeBug的过程。
最后,可能就是有关整个项目的设计开发后期,更多的可能注重的不是功能的实现(如果类似的功能,实现一般只要写出来一个,其他的都很快就能够完成。)而是会慢慢想到我这个开发方式是不是能够用我目前的知识进行再优化一下。就像有些重复的方法,我是不是能够把它封装调用;有相似的方法,但传入的参数不是基础数据类型时,可能会有类型不匹配,此时我会逐渐想到是否能够使用泛型等等。
U1S1,前期在整个项目完成了一部分功能以及调试了多个BUG后,对于整个BUG也不会像开始的时候那么没头脑和不高兴了!在这里,想插一句话:DeBug调试真香!虽然目前会的不多,但是有兴趣学习使用这个工具了。话题拉回来,后期再开发时,明显能够感觉到整个开发的效率是不一样的了。所以,很建议自己完完整整动手打一个基础的小项目。
很多爪哇新友又会说,"我不知道从哪下手吖!”。其实所有的事物开始都很迷茫。只要坚定自己可以做到,前期做好准备工作,多试错。过了这个阶段,就会打开新的局面!总之,就是干!

二、所遇问题梳理总结

1. IO对象操作流的正确使用

  1. 如果需要使用ObjectOutputStream、ObjectInputStream把一个对象存取进文本中时。
    (1)需要序列化操作的类必须要实现Serializable标记接口。
    (2)多个序列化操作,为了防止序列化与反序列化不对应,使用serialVersionUID变量来确定反序列化的对象是否已使用相同版本的类进行序列化(写入)。
    如下,读者POJO类实现了Serializable;并设置了独有的serialVersionUID变量。
public class Reader implements Serializable {
   

    private static final long serialVersionUID = 5307549931908362055L;
    //    读者编号
    private String readerId;
    //    读者姓名
    private String name;
    //    出生日期
    private Date birthday;
    //    性别
    private String gender;
    //    联系方式
    private String tel;
    //    所在院系
    private String dept;
    //    注册日期
    private Date registrationDate;
    //    此读者类型
    private ReaderType readerType;

    //    获取本读者的类型
    public ReaderType getReaderType() {
   
        return readerType;
    }

    public void setReaderType(ReaderType readerType) {
   
        this.readerType = readerType;
    }
//    set get toString方法

    public String getReaderId() {
   
        return readerId;
    }

    public void setReaderId(String readerId) {
   
        this.readerId = readerId;
    }

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public Date getBirthday() {
   
        return birthday;
    }

    public void setBirthday(Date birthday) {
   
//        birthdayToDate(birthday);

        this.birthday = birthday;
    }

    public String getGender() {
   
        return gender;
    }

    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/653384
推荐阅读
相关标签
  

闽ICP备14008679号