学生成绩信息管理系统概要设计等Word格式.docx
《学生成绩信息管理系统概要设计等Word格式.docx》由会员分享,可在线阅读,更多相关《学生成绩信息管理系统概要设计等Word格式.docx(41页珍藏版)》请在冰豆网上搜索。
教师可随时查看可发布课程的信息,并对这些课程进行编辑修改,之后可对课程进行发布,具体包括:
1.课程查看:
查看可发布课程的信息。
2.课程编辑:
对可发布的课程进行编辑或增加,此操作仅由教师可进行。
3.课程发布:
对可发布里的课程进行发布操作。
课程发布用例图:
图4.4课程发布用例图
Figure4.4coursereleaseUseCaseDiagram
4.1.2课程删改管理子模块
课程删改项目是在该功能模块下教师可以对已发布的课程进行删除、修改等操作,包括课程信息核对与课程信息删改。
在发布的课程中,教师会根据实际情况进行核对,之后进行删改操作,具体包括:
1.课程信息核对:
将需要操作的课程信息进行核对,并作相应的记录。
2.课程信息删改:
对已发布的课程进行编辑和删改,此操作仅由教师可进行。
课程删改管理用例图:
图4.5课程删改管理用例图
Figure4.5casedeletionmanagementcourse
4.2数据库设计
数据库设计是建立数据库及其应用系统的关键技术,是信息系统开发和建设的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
数据库建设是硬件、软件和干件的结合三分技术,七分管理,十二分基础数据技术与管理的界面称之为“干件”,数据库设计应该与应用系统设计相结合,结构(数据)设计:
设计数据库框架或数据库结构,行为(处理)设计:
设计应用程序、事务处理等结构和行为分离的设计
4.2.1概念结构设计
概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。
概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上
对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。
这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。
所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。
以扩充的实体联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。
第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。
设计概念结构通常有四种方法:
自顶向下、自底向上、逐步扩张和混合策略(即将自顶向下和自底向上相结合)。
本系统采用的是自底向上的方法,即自顶向下进行需求分析,然后再自底向上的设计概念结构。
数据库的概念设计如图4.6所示,其反映的是数据库表的关系,具体的表有课程计划表(CourseSchedule)表依赖于课程基本表(Course)学生选课表(StudentCourseSchedule)操作表(Appeal)。
图4.6数据库关系图
Figure4.6Databasediagram
4.2.2逻辑结构设计
1.可发布课程(编号,名称,状态,授课教师,课序号,学分,课程类别,说明)
主键:
编号
函数依赖{编号->
其他所有属性}
由函数依赖可知,依赖左端为候选码,所以采购项目属于BCNF
2.已发布课程(编号,名称,授课教师,课序号,学分,课程类别,开课单位,上课时间,上课地点,选课人数,说明)
由函数依赖可知,依赖左端为候选码,所以采购物资属于BCNF
3.删改课程操作(编号,操作课程,操作时间,操作教师,说明)
由函数依赖可知,依赖左端为候选码,所以投标表属于BCNF
4.学生选课信息表(学生编号,所选教师编号,院系编号,所选课程编号,学期)
联合主键:
学生编号,所选教师编号,院系编号,所选课程编号
函数依赖{(学生编号,所选教师编号,院系编号,所选课程编号)->
其他非主属性}
由函数依赖可知,不存在传递依赖,但是依赖左端不都为候选码,所以评标表满足第三范式。
4.2.3物理结构设计
为给定的逻辑数据模型选取一个最合适应用要求的物理结构的过程就是数据库的物理设计。
物理设计时要确定数据库的存储路径,数据规模等,在数据库管理系统中创建数据库,建立数据库的所有数据模式。
本系统数据库在设计过程中参考逻辑结构设计,充分考虑了数据表的划分及其之间的联系,在保障数据流向简明、查询效率较高的前提下,设计了如下数据库表结构:
1.可发布课程表(Course)
表4.1可发布课程表
Table4.1Publishedcurriculum
字段名
字段解释
类型
是否可空
CrsId
课程编号(主键)
Int
Notnull
CrsName
课程名称
nvarchar(50)
null
Summarization
概述
AppealsByCrsId
课程操作ID
ExamsByCrsId
考试ID
CommentsByCrsId
评论ID
CourseSchedulesByCrsId
课程发布ID
CoursesTablesByCrsId
课程表ID
StudentSchedulesByCrsId
学生选课ID
说明:
这里的课程状态为课程是否被发布,课序号是对应一门课程来说的比如ACCESS数据库这门课有很多老师在上这门课程的课程号都是一样的但是对应不同的老师和上课时间会给一个课序号。
2.发布课程表(Courseschedule)
表4.2发布课程表
Table4.2Releasecoursetable
CSchId
CSchName
CSchTeacher
授课教师(主键)
CSchCoursenumber
单位
CSchCredit
学分
int
CSchCoursecategory
课程类别
CSchCourseunit
开课单位
CSchCoursetime
上课时间
datetime
CSchClasslocation
上课地点
Nvarchar(50)
CSchCoursenum
选课人数
CSchExplain
说明
这里的课程编号与授课老师是主键,授课单位为学院名称,相比课程表增加的上课时间根据课程安排的情况而定,在此注意的是不同的老师可能会教授同一门课程,因此在此处使用了课程编号与授课教师的联合主键。
3,删改课程操作(Appeal)
表4.3投标表
Table4.3Biddingtable
OpeId
操作编号(主键)
OpeCour
操作课程
OpeTime
操作时间
Datetime
OpeTeacher
操作教师(主键)
Varchar(max)
OpeExplain
float
这里的课程编号与授课老师是主键,与发布课程表一致,原理与其相同,主要是老师对发布的课程进行的删改操作。
4.学生选课信息表(StudentSchedule)
表4.4学生选课信息表
Table4.4Studentinformationtable
SSchId
学生编号(主键)
SSchBidId
所选教师编号(主键)
SSchExpertId
院系编号(主键)
SSchBusiness
所选课程编号(主键)
SSchPrice
学期
该表是体现学生所选课程的信息,由于选课的人数众多,易混乱,因此采用的是多属性联合主键的形式。
第五章详细设计
详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。
在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的嵌入式系统产品。
详细设计必须遵循概要设计来进行。
详细设计方案的更改,不得影响到概要设计方案;
如果需要更改概要设计,必须经过项目经理的同意。
详细设计,应该完成详细设计文档,主要是模块的详细设计方案说明。
和概要设计一样,每个模块的详细设计文档都应该独立成册。
5.1类图
类图(ClassDiagram):
类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。
类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。
类图一般在详细设计过程中出现,主要用来描述系统中各个模块中类之间的关系,包括类或者类与接口的继承关系,类之间的依赖、聚合等关系。
在画类图的时候,理清类和类之间的关系是重点。
类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。
其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。
它