标签:logs 成功 改善 功能设计 软件设计 mit 详细信息 关系 个人
——有点小长,慢慢品尝。
By: Ziyang Chan & Kaiwen Huang
0 前言
如果您想获得更好的观看体验,请前往PDF版本(强力推荐),链接如下:
https://files.cnblogs.com/files/CZiyang/辅导员辅助系统设计.pdf
1 设计模式
本项目主要运用了ASP.NET MVC5 + Database First + SQL Server来实现。
关于设计模式我采用了MVC的方式,有所不同的是,我采用了Database First将数据库对象映射为数据模型类,目的是为了方便应用MVC。
2 模块设计
顶层数据流图:
各模块总览如下:
2.1 学生信息模块
A.数据流图
B.模块功能设计
2.2 党支部模块
A.数据流图
B.模块功能设计
2.3 成绩模块
A.数据流图
B.模块功能设计
3 数据库设计
从整个软件设计来看,我的这个项目对数据库的需求还是蛮高的,并且我使用的是Database First框架(Entity Framework之一),顾名思义,我肯定得把数据库先设计完善了才行,只有这样我才能用Database First把数据库中的每一个对象都转化成实体数据模型来更好的使用MVC。因此数据库的设计尤为关键,我只有将数据库完善了,后面的工作才会一帆风顺。
3.1 PDM
我在上次设计的数据库的基础上,用关系数据理论,将其规范到3NF。之后我根据实际情况,去除了不必要的联系,使得数据库结构变得清晰简单,之后我用PowerDesigner将CDM转化成了PDM并生成了数据库,PDM如下图所示:
3.2 主要数据字典
①表1 学生基本信息表
概述:存放学生的基本信息,包括学号、班级、姓名、性别、出生年月、民族、政治面貌、宿舍号。
表名:Student
②表2 学生详细信息表
概述:存放学生的详细信息,包括学号、身份证号、个人联系方式、工行卡、家庭地址、家庭联系方式、籍贯。
表名:StudentDetaile
③表3 宿舍表
概述:存放学生的宿舍信息,包括宿舍号、门牌地址、宿舍类型、入住人数、舍长姓名。
表名:Dorm
④表4 班级表
概述:存放学生的班级信息,包括:专业名、班级名、班主任、班级人数、班级助理。
表名:Class
⑤表5 专业表
概述:存放学生的专业信息,包括:专业名、专业人数。
表名:Department
⑥表6 班委表
概述:存放班级班委的信息,包括:学号、班级名、职务。
表名:ClassCommittee
⑦表7 加权成绩表
概述:存放学生的加权成绩信息,包括:学号、学期、加权成绩、排名。
表名:Grade
⑧表8 综测成绩表
概述:存放学生的综测成绩,包括:学号、学期、姓名、日常行为规范分、校园文化活动分、工作与实践能力分、附加分、总分、班级排名、证明人。
表名:CompreGrade
⑨表9 辅导员助理表
概述:存放学生的辅导员助理的信息,包括:学号。
表名:Assistant
⑩表10 入党积极分子表
概述:存放入党积极分子的信息,包括:学号、入党申请时间、成为入党积极分子日期、批次、入党介绍人、是否发展和所属党支部。
表名:ActivistsStu
?表11发展对象表
概述:存放发展对象的信息,包括:学号、发展日期、是否成为预备党员和所属党支部。
表名:DevelopObject
?表12 预备党员表
概述:存放预备党员的信息,包括:学号、成为预备党员日期、是否转正和所属党支部。
表名:PrepPartyMember
?表13正式党员表
概述:存放正式党员的信息,包括:学号、成为正式党员日期和所属党支部。
表名:FormalPartyMember
3.3 视图设计
由于我是15级助理,鉴于时间有限,我只设计了15级的相关视图,如下表所示:
3.4 存储过程设计
3.4.1 学生信息模块
3.4.2 党支部模块
3.4.3 成绩模块
3.4.4 数据库安全性模块
3.4.5 数据库备份与恢复模块
3.5 触发器设计
4 说明
The end
标签:logs 成功 改善 功能设计 软件设计 mit 详细信息 关系 个人
原文地址:http://www.cnblogs.com/CZiyang/p/7900243.html