zoukankan      html  css  js  c++  java
  • Java面向对象设计大作业——公选课选课系统

    功能调查与系统功能框架图

    功能

    本系统模拟公选课选课系统,由学生或管理员使用该系统,管理员可以自定义增加或删除课程,学生可以进行选课和查看已选课程。

    系统功能框架图

    类的设计(UML类图)

    类说明

    AdministratorService:
    说明:管理员对课程的操作
    主要方法:addCourse 是向Courses.txt文件中增加课程;
    deleteCourse是从Courses.txt文件中删除相应的课程

    Course:
    说明:课程类
    主要属性:name(课程名称),teacher(任课教师),numberSelected(课程已选人数),numberOfStudents(课程限制人数),ArrayList students = new ArrayList<>() (学生名单,使用ArrayList存储,使用ArrayList可以很方便的增删查改学生名单)
    主要方法:add 是向学生名单中添加学生;
    delete是从学生名单中删除某位学生;

    Student:
    说明:学生类
    主要属性:name(学生名字),private List elective = new ArrayList<>()(该学生的课程信息,使用ArrayList存储,使用ArrayList可以很方便的增删查改某个或某些课程)
    主要方法:add 是向课程信息中添加某个课程;
    delete是从课程信息中删除某个课程;

    StudentCourseOperation:
    说明:学生对课程的操作
    主要方法:readStuCourse 是从文件中读取该学生的课程信息;
    writeStuCourse是向文件中写入该学生的课程信息;

    UserService:
    说明:用户服务类,包括用户登录及注册
    主要属性:FILE_PATH(用户文件的路径),currentUser(当前用户的用户名),file(File型变量,登录后,如果该用户没有相应的课程txt文件(即首次登录)则创建一个课程txt文件)
    主要方法:login 是用户登录;
    register是用户注册;

    系统的包(package)的规划设计

    特色

    DAO模式

    使用了两个DAO接口,分别是CourseDAO和StudentDAO


    好处:虽然现在只用ArrayList进行数据存储,但是如果以后要用数据库或其他数据类型存储数据的话,Course类和Student类不用更改,直接新写一个相应的数据库类实现DAO接口即可。

    MVC模式

    以管理员增加课程的操作举例:

    实现数据持久化

    使用txt文件存储用户名密码、每个学生用户的课程信息,以实现数据持久化

    使用阿里巴巴代码规范扫描插件对项目代码进行扫描

    首次扫描后发现大量错误:

    修改代码规范后:

    使用Git管理代码

    Gitee仓库

    基本完成了系统的初步原型

    简单演示如下:
    登录界面:

    注册界面:

    注册成功:

    登录成功:

    选择身份界面:

    学生界面:

    查看已选课程:

    确定选课:

    管理员操作界面:

  • 相关阅读:
    黑白逆向编程课程笔记 8.静&动态地址&偏移
    黑白逆向编程课程笔记 7.CE使用(2)
    黑白逆向编程课程笔记 6.CE使用(1)
    传奇资源
    分布式——分布式发号器
    SpringBoot——属性注入
    SpringBoot——启动与自动配置类查找
    Mybatis——Spring事务实现
    SpringAOP——事务实现
    Linux——IO技术
  • 原文地址:https://www.cnblogs.com/cjt0722/p/14094997.html
Copyright © 2011-2022 走看看