第二十三章 在线考试系统
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 @
2021-11-08 14:33
阿胖的阿多
阅读(
142)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示