Java基础_在线考试系统(练习)

第二十三章 在线考试系统

23.1 在线考试系统

23.1.1 软件开发的流程

  • 需求分析文档、概要设计文档、详细设计文档、编码和测试、安装和调试、维护和升级

23.1.2 软件的需求分析

  • 在线考试系统的主要功能分析如下:

(1)学员系统

  • 用户模块:登录、修改密码、退出
  • 考试模块:开始考试、查询成绩、导出成绩(选)

(2)管理员系统

  • 学员管理模块:增加学员、删除学员、修改学员、查找学员
  • 考题管理模块:增加考题、删除考题、修改考题、查找考题、导入考题(选)

23.1.3 软件的概要设计

  • 在线考试系统采用C(Client客户端)/S(Server服务器)架构进行设计,具体如下:
    • 客户端(Client) - 主要用于提供字符界面供用户选择并将处理结果显示出来。
    • 服务器(Server) - 主要用于针对字符界面的选择实现真正业务功能的处理。
    • 数据库(Database) - 主要用于进行数据的存取。

23.1.4 软件的详细设计

  • 客户端和服务器之间采用基于tcp协议的编程模型进行通信。
    • 客户端的对象输出流连接服务器的对象输入流。
    • 服务器的对象输出流连接客户端的对象输入流。
  • 客户端采用消息的类型作为具体业务的代表,伴随着账户信息等一并发送给服务器。
    • 当客户端发来的消息类型为"managerCheck"时,则表示要实现管理员账户信息的校验功能。
    • 当客户端发来的消息类型为"userCheck"时,则表示要实现学员账户信息的校验功能。
  • 服务器采用消息的类型作为是否校验成功的标志发送给客户端。
    • 当客户端收到的消息类型为"success"时,则表示账户信息正确。
    • 当客户端收到的消息类型为"fail"时,则表示账户信息错误。

23.1.5 软件的编码流程

(1)管理员登录功能

  • 编写基于tcp协议的服务器端,也就是初始化服务器;
  • 编写基于tcp协议的客户端,来连接服务器;
  • 编写客户端的字符界面并提示客户进行业务的选择;
  • 将客户的选择和输入的相关信息通过对象输出流发送给服务器;
  • 服务器通过对象输入流接收客户端发来的消息并进行功能处理,将处理结果发送给客户端;
  • 客户端通过对象输入流接收服务器的处理结果并给出提示;

(2)学员管理系统的功能

  • 当项目启动时,将文件中的所有学员账户信息全部读取出来放到一个List集合中。
  • 客户端输入要增加学员的用户名和密码信息,通过对象输出流发送给服务器。
  • 服务器接收客户端发来的消息,判断集合中是否存在该学员账户信息并实现具体添加功能。
  • 服务器将增加学员功能的处理结果发送给客户端,客户端给出对应的提示。
  • 当项目退出时,将集合中的所有学员账户信息整体写入到文件中
posted @   阿胖的阿多  阅读(142)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示