1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 软件需求工程 高校教学平台 系统编码与实现计划

软件需求工程 高校教学平台 系统编码与实现计划

时间:2019-08-06 19:25:10

相关推荐

软件需求工程 高校教学平台 系统编码与实现计划

点击查看 软件需求工程 高校教学平台 卷首语

文章目录

引言编写目的项目简介面向读者设计计划模块划分用户管理模块课程信息管理模块教学班模块教学班章节子模块教学班资料管理子模块教学班作业子模块教学班实验子模块教学班测试子模块教学班通知子模块教学班论坛子模块教学班成绩子模块教学班分组子模块数据库ER图数据库设计用户 User课程 Course教学班 Class作业 Assignment实验 Experiment通知 Notification测试 Exam教学 Teaches与课 Takes题目 Question小组 Team教师详情 Teacher_Detail章节 Chapter资源 Resource帖子 Post提交作业 Take_Assignment提交测试 Take_Exam提交实验 Take_Experiment查看章节 View_Chapter系统编码计划团队角色团队分工日程安排

引言

编写目的

本软件需求规格说明书对高校教学平台作了具体详细的用户需求分析。

本文档的目的是详细地介绍高校教学平台所包含的需求,以便用户能够确认产品的确切需求以及开发人员能够根据需求设计编码,以下叙述将结合文字描述,时序图,流程图,界面原型以及类图等尽可能地通过高校教学平台预期的外部行为和用户可视化行为完整地描述高校教学平台教学系统的功能,性能,用户界面,运行环境,外部接口以及针对用户操作给出的各种响应。

本文档的预期读者有用户(包括在校学生、教师、助教、管理员以及外校游客等),项目经理,开发人员以及跟该项目相关的其他竞争人员和无关人员。

项目简介

本项目开发的软件为一个高校教学平台。

自 21 世纪,我们的生活就全面的迈入了全新的信息化时代,教育行业也不例外,逐渐的信息技术开始成为教学与学习的重要工具,从初期的投影仪、电脑教室逐渐发展至互动课堂、在线教育。信息技术日益融入教与学的过程,开始引发教学方式和学习方式的深刻变革。在 年发生的新冠疫情更是将在线教学成为教学的刚性需求。在线教学平台需要让老师和学生在线上进行高效率、高质量的教学、学习和交流等活动。

在这一大背景下,教学、学习、交流网站应运而生。超文本特性可实现对教学信息最有效的组织与管理。网络化的学习有利于充分实现交互与共享,有利于激发学生的学习兴趣和充分体现学习主体作用,有利于培养学习者的信息素养和信息能力。另一方面教师利用教学、学习、交流网站可以充分发挥网络特性,对学生,教学进行更为有效的管理,同时也有了更为便利的信息发布手段。

本项目的项目提出者如下:

浙江大学计算机科学与技术学院 软件工程管理课程任课教师 金波、邵健

浙江大学计算机科学与技术学院 软件需求工程课程任课教师 邢卫、林海

开发团队是浙江大学软件工程管理、软件需求工程课程第 25 小组,面向用户为中国高校教师、助教、学生、校外用户、系统管理员

主要功能分为了一下几个模块:

用户模块

用户信息管理、教师信息管理、教师个人主页展示

课程模块

课程信息管理

教学班模块

教学班信息管理、作业系统、考试与测试系统、资源管理系统、通知发布系统、课程论坛

使用指南、友情链接

面向读者

预期读者可分为以下几类:

项目经理:项目经理可以根据本文档了解预期产品的功能,并据此进行项目管理,项目规划

设计人员:设计人员可以根据本文档对需求进行分析,并设计出系统和数据库等

开发人员:开发人员可以根据本文档配合《设计报告》,了解系统功能,编写《用户手册》

测试人员:测试人员可以根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试

销售人员:销售人员可以根据本文档了解预期产品的功能和性能

用户:用户可以根据本文档了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商

其他人员:其他人员,如部门领导、公司领导等可以根据本文档了解产品的功能和性能

设计计划

模块划分

用户管理模块

用户:登录、注册、注销、找回密码、修改密码;查看个人信息、修改个人信息

教师:添加助教

管理员:添加学生账号、添加教师账号、添加教师主页、修改教师主页

课程信息管理模块

管理员:修改课程信息、添加课程、删除课程

教师:查看公开课程和校内课程信息、修改课程信息

学生:查看公开课程和校内课程信息

助教:查看公开课程和校内课程信息

游客:查看公开课程信息

教学班模块

教学班章节子模块

教师:查看章节信息、修改章节信息、添加课程章节;查看资料信息、修改资料信息、添加课程资料

助教:查看章节信息、修改章节信息、添加课程章节;查看资料信息、修改资料信息、添加课程资料

学生:查看章节信息

教学班资料管理子模块

教师:查看资料信息、修改资料信息、添加课程资料

助教:查看资料信息、修改资料信息、添加课程资料

学生:查看资料信息

教学班作业子模块

教师(助教):可以发布添加新作业,也可以修改删除作业。在某教学班的作业列表中,教师可以查看到所有作业的名称、起止时间、作业类型、已经提交的学生数量等信息。批改作业列表中教师可以看到该项作业所有学生的作业状态、目前得分。批改作业时可以给该学生打分并写评语。同时教师也可以查看某作业的详细信息,包括该作业的名称、分数占比、形式、所属章节、创建时间、起止时间、作业的内容描述和作业附件列表等。

学生:可以查看某教学班的作业列表,包括所有作业的名称、起止时间、作业形式、个人提交状态和目前得分等。通过点击某项作业的分数可以查看目前教师的打分和评语等。提交作业时,可以输入markdown语句,也可以上传文件资料。

教学班实验子模块

管理员:后台实验库的增加/删除/修改/查询、后台实验库答案的维护

教师:添加小组实验、添加个人实验、修改实验、删除实验、查看实验、查看学生实验完成情况、导出/下载提交的实验、批改实验、点评实验、处理学生实验成绩申诉、查看学生实验成绩情况

学生:完成组队 、查看实验、下载实验、提交个人实验、组长提交小组实验、修改已上传的实验 、下载已上传的实验 、实验成绩申诉

教学班测试子模块

教师(助教):可以先编辑发布单道题目,需要输入题目的描述、题目的选项、题目的类型和题目的参考答案等。发布测试时只需从已有题库中勾选题目即可。在某教学班的测试列表中,教师(助教)可以看到该教学班所有测试的名称、起止时间、持续时间、已经提交的学生数量等信息。批改测试时,教师(助教)可以根据提供的参考答案对学生的作答进行评分。

学生:可以查看某教学班的测试列表,包括所有测试的名称、起止时间、持续时间、目前个人的提交状态、目前教师已打的分数等信息。开始测试时,学生需要先阅读测试须知(包括了测试持续时间和测试途中允许退出全屏的次数),确认后才能进入测试页面进行答题。

教学班通知子模块

管理员:公布网站更新信息介绍、删除网站更新信息介绍、更新友情链接

学生:查看网站通知、查看课程通知

教师:公布课程通知、删除课程通知、修改课程通知、查看网站通知、查看课程通知

教学班论坛子模块

教师(助教)与学生的论坛模块是基本一致的。论坛首页就是该教学班所有帖子的列表。点击任意一个帖子即可进行回复。也可以点击页面中的“我要发贴”按钮发布新帖子,需要编辑帖子的标题和具体内容等。

教师(助教)与学生的唯一区别是,凡是教师(助教)发布的或回复的帖子,在帖子的标题前面都会用红旗标注,表示是教师(助教)的帖子,方便学生查看。

教学班成绩子模块

教师(助教):通过查看教学班成绩页面可以看到该教学班的成绩总体情况,通过点击任意学生的名字可以查看该学生的详细成绩信息,同时也可以修改该学生某项作业的成绩。

学生:仅可以查看自己在本教学班中所有作业、实验和测试的成绩,成绩页面会展示一些成绩分析数据的图标形式等。点击任意一项成绩即可查看教师给出的打分和评语。

教学班分组子模块

教师(助教):在分组页面中可以查看该教学班当前所有已经组好的队伍,包含了每个队伍的序号、组员姓名和组员学号等。

学生:不仅可以在分组界面查看自己队伍的详细信息,还可以通过点击“我要组队”按钮进行组队。

数据库ER图

由于平台原因图像不清晰,如果需要svg格式可以留言留下邮箱

数据库设计

用户 User

create table User ( User_ID varchar(20) not null, Password varchar(20) not null default '123456', Name varchar(255) not null, Department varchar(255) not null, Email varchar(255) not null, Phone int, Type int not null, /* 1 for student, 2 for teacher, 3 for manager */ primary key ( User_ID ) );

课程 Course

create table Course ( Course_ID varchar(255) not null, Department varchar(255) not null, Credits float not null, Name varchar(255) not null, Type boolean not null, /* true for public course */ Description text not null, Outline text, Teacher_Group varchar(255), primary key ( Course_ID ) );

教学班 Class

create table Class ( Class_ID varchar(255) not null, Course_ID varchar(255) not null, Semester varchar(255) not null, Year int not null, Building varchar(255) not null, Room varchar(255) not null, primary key ( Class_ID ), foreign key ( Course_ID ) references Course( Course_ID ) );

作业 Assignment

create table Assignment ( Assignment_ID int auto_increment not null, Class_ID varchar(255) not null, Chapter_Number varchar(255) not null, Name varchar(255) not null, Description text, Percentage int not null, Create_Time datetime not null, Start_Time datetime not null, Expire_Time datetime not null, Type boolean not null, /* true for solo, false for group */ primary key ( Assignment_ID ), foreign key ( Class_ID ) references Class( Class_ID ) );

实验 Experiment

create table Experiment ( Experiment_ID int auto_increment not null, Class_ID varchar(255) not null, Name varchar(255) not null, Description text, Percentage int not null, Create_Time datetime not null, Start_Time datetime not null, Expire_Time datetime not null, Type boolean not null, /* true for solo, false for group */ primary key ( Experiment_ID ), foreign key ( Class_ID ) references Class( Class_ID ) );

通知 Notification

create table Notification ( Notification_ID int auto_increment not null, Class_ID varchar(255) not null, Create_Time datetime not null, Type boolean not null, Content text not null, primary key ( Notification_ID ), foreign key ( Class_ID ) references Class( Class_ID ) );

测试 Exam

create table Exam ( Exam_ID int auto_increment not null, Class_ID varchar(255) not null, Name varchar(255) not null, Percentage int not null, Create_Time datetime not null, Start_Time datetime not null, Expire_Time datetime not null, Duration int not null, /* based on seconds */ Punishment_Number int not null, /* means the number of time to quit full-screen */ primary key ( Exam_ID ), foreign key ( Class_ID ) references Class( Class_ID ) );

教学 Teaches

create table Teaches ( Teacher_ID varchar(20) not null, Class_ID varchar(255) not null, primary key ( Teacher_ID, Class_ID ), foreign key ( Teacher_ID ) references User( User_ID ), foreign key ( Class_ID ) references Class( Class_ID ) );

与课 Takes

create table Takes ( Student_ID varchar(20) not null, Class_ID varchar(255) not null, Grade float default 0, primary key ( Student_ID, Class_ID ), foreign key ( Student_ID ) references User( User_ID ), foreign key ( Class_ID ) references Class( Class_ID ) );

题目 Question

create table Question ( Question_ID int auto_increment not null, Exam_ID int not null, Score float not null, Type int not null, /* There are four main types: true or false, single choice, multiple choice and fill in blank */ Description text not null, /* description of the question */ Content text, /* for choice question, the content is options of the question, for fill in blank this could be null */ Answer text not null, primary key ( Question_ID ), foreign key ( Exam_ID ) references Exam ( Exam_ID ) );

小组 Team

create table Team ( Class_ID varchar(255) not null, Team_Number int not null, Team_Member_ID text not null, primary key ( Class_ID, Team_Number ), foreign key ( Class_ID ) references Class( Class_ID ) );

教师详情 Teacher_Detail

create table Teacher_Detail ( Teacher_ID varchar(20) not null, Name varchar(255) not null, Department varchar(255) not null, position varchar(255), Major varchar(255), Phone int not null, Email varchar(255) not null, Address varchar(255), Description text not null, Teaching_Course text not null, Research_Oriention text, Paper text, Personal_Hompage text, primary key ( Teacher_ID ), foreign key ( Teacher_ID ) references User( User_ID ) );

章节 Chapter

create table Chapter ( Class_ID varchar(255) not null, Chapter_Number varchar(255) not null, Name varchar(255) not null, Father_Chapter_Number varchar(255), /* if the current chapter is the root, then the value is null */ Type int not null, /* represent the level of the chapther, for example the root chapther is 1 */ primary key ( Class_ID, Chapter_Number ), foreign key ( Class_ID ) references Class( Class_ID ) );

资源 Resource

create table Resource ( Resource_ID int auto_increment not null, Upload_User_ID varchar(20) not null, Class_ID varchar(255) not null, Assignment_ID int, /* if the resource does not belong to an assignment, then the value is null */ Experiment_ID int, Chapter_Number varchar(255) not null, Name varchar(255) not null, Size int not null, /* based on KB */ Type varchar(255) not null, /* mainly five types: document, image, audio, video, hyper link */ Authority boolean not null, /* true for downloadable */ Upload_Time datetime not null, Start_Time datetime not null, /* when the resource is visible to users */ Expire_Time datetime not null, /* after the expire time, the resource is no longer visible */ primary key ( Resource_ID ), foreign key ( Upload_User_ID ) references User( User_ID ), foreign key ( Class_ID ) references Class( Class_ID ) );

帖子 Post

create table Post ( Post_ID int auto_increment not null, User_ID varchar(20) not null, Class_ID varchar(255) not null, Type boolean not null, /* true for father post */ Create_Time datetime not null, Replyto_Post_ID int, /* the id of the father post of the current post, if current post is root, then value is null */ Title varchar(255) not null, Content text, primary key ( Post_ID ), foreign key ( User_ID ) references User( User_ID ), foreign key ( Class_ID ) references Class( Class_ID ) );

提交作业 Take_Assignment

create table Take_Assignment ( Take_Assignment_ID int not null auto_increment, Student_ID varchar(20) not null, Assignment_ID int not null, Submit_Time datetime, Content text, Score float not null, State int not null, /* mainly three states, 1 for not submit, 2 for submitted, 3 for expired */ Comment varchar(255), primary key ( Take_Assignment_ID ), foreign key ( Student_ID ) references User( User_ID ), foreign key ( Assignment_ID ) references Assignment( Assignment_ID ) );

提交测试 Take_Exam

create table Take_Exam ( Student_ID varchar(20) not null, Exam_ID int not null, Submit_Time datetime not null, Cheat boolean not null default false, /* whether the student cheated or not, if cheat, score = 0 */ Score float not null, State int not null, /* also three states, 1 for not submit, 2 for submitted, 3 for expired */ primary key ( Student_ID, Exam_ID, Submit_Time ), foreign key ( Student_ID ) references User( User_ID ), foreign key ( Exam_ID ) references Exam( Exam_ID ) );

提交实验 Take_Experiment

create table Take_Experiment ( Take_Experiment_ID int not null auto_increment, Student_ID varchar(20) not null, Experiment_ID int not null, Submit_Time datetime not null, Content text, Score float not null, State int not null, /* 1 for not submit, 2 for submitted, 3 for expired */ Comment varchar(255), primary key ( Take_Experiment_ID ), foreign key ( Student_ID ) references User( User_ID ), foreign key ( Experiment_ID ) references Experiment( Experiment_ID ) );

查看章节 View_Chapter

create table View_Chapter ( Class_ID varchar(255) not null, Chapter_Number varchar(255) not null, Student_ID varchar(20) not null, Progress int not null default 0, /* percentage of progress */ primary key ( Class_ID, Chapter_Number, Student_ID ), foreign key ( Class_ID ) references Class( Class_ID ), foreign key ( Student_ID ) references User( User_ID ) );

系统编码计划

团队角色

表3-1 团队角色分配

团队分工

表3-2 团队分工

日程安排

表3-3 项目进度计划(日程安排)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。