软件项目与过程管理第五周作业

作业内容:本周我们组根据老师的要求对需求分析说明书进行了第二版的修改。此外我们小组进行编写了概要设计说明书。以下是我这周的项目工作的成果。

我主要负责概要设计书的系统数据结构设计。

一、逻辑结构设计要点

根据整个作业管理系统的设计,画出了如下E-R图(使用word画的简略图)

1、教师信息表 

教师(教工号,姓名,所属院系,联系方式,邮箱地址)

2、学生信息表 

学生(学号,姓名,所属院系,联系方式,邮箱地址)

3、课程信息表 

课程(课程ID,课程教工号,授课班级,作业存放地址,上传作业的目录)

4、课程作业信息表 

作业(作业ID,教师教工号,学生学号,作业状态,作业下载地址,批阅作业下载地址,成绩)

二、物理结构设计要点

  给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。

  1. 教师信息表

教师信息表主要用于存放教师的基本信息,包括教工号、姓名、所属学院、联系方式和E-mail地址。

字段名

字段含义

数据类型

是否为空

varID

教师教工号

varchar(20)

varName

教师姓名

varchar(20)

varDepartment

教师所属院系

varchar(50)

varPhoneNum

教师联系方式

varchar(30)

varEmail

教师邮箱地址

varchar(100)

表5-2-1教师信息表

 

    2.学生信息表

学生信息和语教师信息表一样,存放学生的基本信息,包括学生的学号、姓名、专业或学院、联系方式、E-mail地址

字段名

字段含义

数据类型

是否为空

varID

学生学号

varchar(20)

varName

学生姓名

varchar(20)

varDepartment

学生所属院系

varchar(50)

varPhoneNum

学生联系方式

varchar(30)

varEmail

学生邮箱地址

varchar(100)

表5-2-2学生信息表

 

    3.课程信息表

课程信息表存放所有的课程信息,信息包括课程代码、课程名、教师教工号、教师名、课程的时间、课程的地点,课程对应的学生作业在服务器内存放目录。

字段名

字段含义

数据类型

是否为空

varCourseID

课程ID

varchar(20)

varName

课程名

varchar(50)

varTeacher

课程教工号

varchar(20)

varClass

授课班级

varchar(100)

varRequest

作业存放地址

varchar(255)

varDirectory

上传作业的目录

varchar(255)

表5-2-3课程信息表

 

 

     4.课程作业信息表

课程名单表存放所有课程的所有名单,即课程和学生的对应关系。根据需求分析,理论上的课程名单表只需要有课程唯一确定号、教工号、学生学号就能够标识课程和学生的对应关系,但是这样会造成教师或学生的信息需要从其他表导出,这样会增加数据库的读取次数。为了减少这样的次数,我们以增加硬盘占用空间作为代价增加几个冗余属性——课程名、课程代码、教师姓名、学生姓名。 除了基本的对应信息之外,学生上传的作业、教师上传的批阅作业、教师上传的作业要求的存放地址也存放于这个表中。其他信息包括课程作业状态、成绩、分组信息、组内角色亦存放于此表。

字段名

字段含义

数据类型

是否为空

varCourseID

课程号

varchar(50)

varTeacher

教师教工号

varchar(20)

varStudentID

学生学号

varchar(20)

varStatus

作业状态

varchar(255)

varFinalFile

作业下载地址

varchar(255)

varFileAmended

批阅作业下载地址

varchar(255)

intMart

成绩

Int

 

表5-2-4课程作业信息表

 

 

三、数据结构与程序的关系

数据结构为关系型数据库,所以在程序中可以用标准的SQL语句与数据结构进行交互,交互过程中采用通用的数据反问接口。为了保持良好的程序架构,对数据库访问采用DAO设计模式实现,提高维护性和扩张性。

原文地址:https://www.cnblogs.com/huxinyu2013551711/p/5350325.html