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集合中。
客户端输入要增加学员的用户名和密码信息,通过对象输出流发送给服务器。
服务器接收客户端发来的消息,判断集合中是否存在该学员账户信息并实现具体添加功能。
服务器将增加学员功能的处理结果发送给客户端,客户端给出对应的提示。
当项目退出时,将集合中的所有学员账户信息整体写入到文件中