前言
软件的开发流程包含需求分析、对需求的建模以及后续的总体、详细设计、实现和测试过程。本文针对工程实践项目的需求进行了建模分析,包含用例建模、业务领域建模以及数据建模等,最终给出项目的概念原型。
需求分析
一个web服务器主要需要完成的功能就是解析用户请求,对用户的请求完成响应,用户的请求包含注册、登录和资源请求等。同时服务器需要支持一定程度的并发量,以保证对用户的请求能够及时返回结果。
- 主要功能需求
1.申请课程
该功能为学生角色添加课程的形式,挑选自己感兴趣的课程,通过这种直观的方式,向管理员发出申请,被批准后即可与老师在线沟通,针对自己的疑问给老师留言提问。
2.查看答疑
同学登录在线后,可以查看对于自己所提的问题,老师的回复。也可以查看本门课程中,其他同学的一些提问,以及对应的老师的答疑。
3.修改个人信息
本功能为客户修改私人信息所用,这些信息一部分为客户注册时存入系统。还有一部分,为客户方便个人使用、个性化所用。客户可以根据自己的喜好上传头像、修改名字等。
4.查看提问
该功能为教师角色在线后,被提醒查阅自己的学生的问题,并根据这些问题给予相应的解答。
5.学生管理
这个功能为教师角色用于管理自己的学生,考虑到可能会有学生影响系统学习规则,或者由于学生结课,通过了考试,不再需要学习本课程。老师可以根据情况管理学生。
- 性能需求
支持较高数量的并发请求,同时能够在给定时间内完成响应
- 其他需求
要求具有一定的可移植性,有良好的外部接口
用例建模
- 首先从需求的表述中可以发现,项目包含两种参与者:学上、教师和管理员。
1.角色分析
角色分析主要是从系统操作者这个角度来分析和系统有关的角色。从本系统的需求分析的情况来看。系统的操作者主要由老师和学生这两类群体组成。不过对于一些比较负责的大型系统,角色的定位可能要麻烦的多。例如有的系统是需要调用其他系统的,这样的话,系统作为调用者,也可以定义为一种角色。
2.用例分析
用例是描述角色之间的交互行为的。对于本文开发的系统来说,学生通过客户端提交课程申请,这就是一个用例,参与的角色是用户和系统;老师通过系统同意添加课程,或者修改信息,这也是用例,参与的角色是老师和系统。其他的后台维护,申请状态的修改,这些都是用例。
根据对角色和用例的介绍,本系统的用例如下:用户角色,参与了课程详细信息查询,添加课程,提交问题这几个用例;老师角色,参与了课程信息的添加,删除,修改,申请的接收,申请发送的用例。
学生用例图
教师用例图
系统管理员要完成对系统数据的相关操作:包括学生、课程、及相关的老师信息等。课程管理操作是完成课程菜单的管理,包括:课程的信息浏览、修改和删除、添加新的科目等;用户管理包括:审核注册的信息、查看客户的相关资料、添加制定的管理员等等;连接管理包括:修改删除相关数据、新建制定数据、数据浏览等等;评论管理包括:留言的浏览、浏览数据修改、留言的删除等等。
系统管理员用例图
系统流程分析
1.用户登录
当用户想要开始学习时,即可进入主页。如果是新用户,需注册方可享受服务;如果已有账号,直接登录,即进入主页。
登录流程图
2.添加课程
在用户添加课程的过程中,用户进入主页后需要先登录,然后可根据课程编号申请课程。经管理员审核后,即可进入学习。如添加失败则返回申请课程界面。进入课程后,学生可发出提问,或者查看过往回复。
添加课程流程图
3.查看历史信息
用户进入主页后,通过登录,可以查看回复,或通过回复,与老师互动。
查看历史信息流程图
4.管理员处理
管理员可以通过自己的账号和密码进入管理。在该页面中,管理人员可以查看用户的申请,并决定是否同意,给用户提供相应的服务。
管理员处理流程图