①调查学校教务系统的组织结构,列出各部门之间的互相关系
·管理者管理学生的相关信息,对其选课,排课,预约教室等事务做出处理;
·管理者管理教师的相关信息,对教师的基本信息修改请求做出处理,对其上课,排课,预约教室等请求做出处理;
·管理者还需要对学校的相关事务负责
·教师个人的信息和学生的成绩信息信息管理。
·学生对个人的信息进行管理。
②调查各个组织机构的数据来源,数据流向,格式,存储数据的报表等
·管理者管理的数据来自教师,学生,学校,院系,教室等;流向有教师,学生等;
·教师管理的数据来自教师,学生,院系,管理员等;流向有学生,教师自己等;
·学生管理的信息来自学生,教师,院系,管理员等;流向有学生自己,教师等;
·数据格式,多以可变字符串为主;存储介质以磁盘,服务器为主。
③调查数据的使用频度,处理数据的时间要求,安全性和完整性方面的要求。
·学生的学号,姓名,专业;教师的教工号,姓名;院系的院系名;教室名;学科号,学科名使用频率较多,可以适当建立索引。
·查询成绩和查询可选课程等操作要求时间耗费少,可以采用建立视图和索引,使用查询的代数和物理优化,适当的减少多表连接操作来提高查询效率。
·数据安全性方面,管理员,教师,学生的视图不同,对数据的操作权限不同。
·完整性要求每个实体集和联系集的属性符合现实要求,添加外键,通过对主表属性的修改,级联修改子表,减少修改步骤。
④预测现行系统,未来的功能和处理要求
未来的功能应该有,查课,排课,修改个人信息,查询成绩,修改成绩,预约教室,报名补考等功能。
(1)需求清单
①实现一个系统,管理员,教师,学生三类用户登录后有不同的操作权限
·管理员可以对学生和教师的信息,课程信息,教务通知信息进行增删改查;能设定选课时间;能添加教室,对教室和学生的预约教室请求进行操作。
·教师能查看个人信息,选课信息,课表信息,但只能修改个人密码信息;能对学生的分数信息进行增删改查。
·学生只能查看个人信息,课表信息,成绩信息,能对密码信息进行修改,能自行选课。
·学生和老师都能进行教室预约,向管理员提交预约请求。
②只有管理员设置的选课时间到才能进行选课
③只有教师提交分数后学生才能进行查看
④学生只能选择该和自己专业,年级,学期相匹配的课程
(2)安全性要求
①教师,学生,管理员的权限不同,通过视图,存取控制,创建角色,程序前后端控制等手段实现
②用户的密码存储需要加密,可以通过数据加密手段来实现
③对于恶意入侵和不和规范的授权可以使用审计的技术来防范
(3)完整性要求
①实体完整性
a.主码必须存在,且唯一
b.主码的值唯一确定这个元组
c.主码的任何属性都不能取空值
如:学号唯一标识学生表的一个元组
②参照完整性
a.外码要么不参照(取空值),要么被参照的对象必须存在
b.外码的值等于被参照关系的某个元组的主码或者unique属性
如:选课表的课程号参照课程表的课程号
③用户自定义完整性
a.属性符合学校规定,如学号11位,教工号10位,房间号5位等
b.属性取值符合实际,比如性别只有”男”,”女”;籍贯是中国的各个省。
(4)性能要求
a.能支持多人同时登录,并且不会造成数据的读取异常,需要用到多线程,和事务的并发控制。
b.查询成绩和选课的时候要迅速,可以采用
·建立视图和索引,避免进行全表扫描
·对数据格式进行优化
·使用查询的代数和物理优化
·适当的减少多表连接操作来提高查询效率
·尽量避免大事务操作提高系统并发能力
·根据实际进行模块划分,避免因为过度追求无冗余,而造成效率降低
c.数据库保证一定的可靠性,能够进行数据的恢复,可以采用日志恢复技术,检查点恢复技术等。
(5)事务要求
①一致性要求
学生选课前后,供学生选则课程内容不会变,即未选课程记录+1,已选课程记录-1;
②原子性要求
学生选课要么成功执行要么不执行,即不会出现,未选课程减少,而已选课程没有增加这样的情况.
③隔离性要求
教师修改成绩没有发布前是不能访问的成绩数据的
④持久性要求
事务的更新在事务的结束之前已经写入了磁盘
①采用自顶向下和自底向上的混合策略的方法定义全局概念结构的框架
链接:https://pan.baidu.com/s/1drNzjzrzdIH3puilyMLPqA
提取码:fd2b
希望各位大佬可以点个赞。
配套实验报告,图表源文件在最上面(亿图+WPS)