教学辅助系统概要设计说明书目录1 引言 2..1.1 编写目的 2 1.2 背景 2 1.3 定义 2 1.4 参考资料 2 2 总体设计 2 2.1 需求规定 2 2.2 运行环境 4 2.3 基本设计概念 4 2.4 结构 4 2.5 功能器求与程序的关系 7 2.6 人工处理过程 8 2.7 尚未问决的问题 8 3 接口设计 8 3.1 用户接口 8 3.2 外部接口 8 3.3 内部接口 8 4 运行设计 8 4.1 运行模块组合 8 4.2 运行控制 9 4.3 运行时间(单位秒) 9 5 系统数据结构设计 9 5.1 逻辑结构设计要点 9 5.2 物理结构设计要点 1..0 6 系统出错处理设计 1..2 6.1 出错信息 1..2 6.2 补救措施 1..2 6.3 系统维护设计 1.2 1 引言1.1 编写目的明确各个系统模块的功能, 转换为软件结构和数据结构语言 将一个复杂系统按功能进行模块划分、 建立模块的层次结构及调用关系、 确定模块间的接口及人机界面等 数据结构 设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。
1.2 背景a. 本系统的名称为:教学辅助系统;b. 教学辅助系统由上海电力学院一线教师提出, 由软件工程专业谷海振负责完成开发,本系统面向广大的高校师生以及高校管理人员, 本系统需部署到使用单位的服务器上, 通过 互联网以及 WEB 浏览器访问本系统,管理人员可通过相应的专业客户端以及相关软件对系统进行操作c. 教学辅助系统主要是与采用此系统的高校师生进行异步交流,可以考虑与教学管理系统相关块区相联系,共同建设数字化校园1.3 定义概要设计的主要任务是把需求分析得到的 DFD 转换为软件结构和数据结构1.4 参考资料a. 参考书籍软件工程 , 薛德黔等编著 , 科学出版社软件工程导论 (第四版 ), 张海藩 , 清华大学出版社实用软件工程 , 郑人杰 , 清华大学出版社 2 总体设计b.使用的软件:myeclipse6.5版,my sql, Windows 98及以上版本的操作系统以及 IE6.0以上版本的浏览器2 总体设计2.1 需求规定2.1.1 本教学辅助系统 H 图如下:2.1.2关键模块的IPO图:2.1.2.1 “注册”模块的IPO图:系统名:教学辅助系统设计人:谷海振模块名:注册日期:2012.07.04模块编号:1.1上层调用模块:角色管理下层被调用模块:文件名:全局变量:输入数据:注册信息 A输出数据:无处理:IF A符合注册成功END IF注释:只有老师需要通过注册来开启个人账号,学生由后台管理员直接存入系统2.1.2.2 "浏览课程信息”模块的 IPO图:系统名:教学辅助系统设计人:谷海振模块名:浏览课程信息日期:2012.07.04模块编号:2.1上层调用模块:浏览信息下层被调用模块:已上传课件可卜载课件文件名:课件全局变量:输入数据:待课件文件 A输出数据:引卜载课件 B处理:if存在Bthen可以下载Bif登录信息为授课教师then可以上传Aelse /、可以上传课件end ifend if注释:只有当前课程订单授课教师可以上传 课件,而任何人都可以下载当前课件2.1.2.3 "留言板留言”模块的IPO图:系统名:教学辅助系统设计人:谷海振模块名:留言回复日期:2012.07.04模块编号:3.4上层调用模块:交流讨论下层被调用模块:无文件名:留言及回复信息全局变量:输入数据:留言A 回复B输出数据:已经回复的留言 C处理:IF A符合&&已经登录(学生 or老师)THEN发表B更新CElse /、可发表BEND IF注释:2.2 运行环境WEBI艮务器一台,要求性能比较高,能够支持大量用户同时查询。
WE喇览工作站,普通 PC机2.3 基本设计概念使用结构化设计方法,结构化方法是给出一组帮助设计人员在模块层次上区分设计质量 的原理与技术2.4 结构2.4.1 教学辅助系统结构图教学辅助系统结构图系统各个模块功能介绍:本系统功能共分为四个模块,分别为:角色管理模块、浏览信息模块、交流讨论模块、后台 数据操作模块各模块的具体功能如下:模块1:角色管理模块① 角色注册模块:只有教师需要进行注册激活账号, 学生信息由后台管理员统一录入完成② 登录模块:登录时分为学生和教师角色,用于系统区分登录人员信息和分配权限③ 信息修改模块:可以对自己的个人信息进行修改④ 注销:安全退出系统,防止有人继续使用模块2:浏览信息模块① 浏览课程信息模块:课程信息包括开课学院, 授课教师等信息,并可以进行课件的下载对于上传课件只有当该门课的授课教师才有权利进行操作②查看个人动态模块:前提条件为登录状态,系统根据登录人进行查找与其相关的最新动态(留言历史,按照留言的先后顺序进行排列输出) ②查看教师主页:根据模糊查询找到授课教师或者根据课程找到授课教师,点击进入授课教师主页,可以看到其基本信息以及教授课程模块3:交流讨论模块。
① 查看留言及回复:查看自己的或者老师的留言板上的内容D 留言板留言模块:通过在教师的留言板上留言,前提是登录系统模块4:后台数据操作模块① 学生管理模块:向系统中录入学生信息② 课程管理模块:添加查看课程,并未其配备授课教师等信息2.4.2 主要模块处理流程2.4.2.1 留言及回复处理流程图:2.4.2.2 上传课件处理流程图:/开始"%1s结束、 2.5 功能器求与程序的关系\程序 功能、前台首 页检索课程 资源登录修改信 息教师 个人 主页学生 新鲜 事儿交流平 台后台 管理 首页学生 管理课程新 增及配 置登录VV修改个 人信息VV查看课 程信息VVVV下载课 件VV查找教 师VV留言VVV回复留 言VVVVVV上传课 件VVV新增学生课程管 理2.6 人工处理过程信息录入以及课件上传2.7 尚未问决的问题交流环节实现异步按序展示3接口设计3.1 用户接口系统通过 WEB浏览器与用户进行交流当需要用户提交表单时会有程序进行验证,保 证数据的正确性和合理性,如果不符合填写规范则会对根据用户输入返回错误提示3.2 外部接口本系统提供标准的 HTTP#议输出,可以在所有支持TCP/IP协议并安装有支持 HTML5.0 标准的浏览器软件的联网电脑上得到所要查询的信息。
3.3 内部接口本系统各模块通过数据库传递模块间的需要传递的数据4运行设计4.1 运行模块组合a.登录:系统数据库中已经存在该成员名与实施登录操作;b.修改个人信息:已经处于登录状态与修改信息;c.下载课件:教师事先已经将课件上传与检索到了该课程;d.查找教师:可以通过从课程信息中进入教师主页,另一方面,可以通过首页信息的 直接模糊查询方式进入;e.留言:当前用户必须为登录状态与找到教师留言板;f.回复留言:当前用户必须为登录状态与找到该留言记录;g.上传课件:用户角色必须为教师,且必须通过个人主页的方式进入授课管理上传课 件h.新增学生:管理员处于登录状态,以及执行该操作;i .课程管理:新增课程信息与课程配备教师资源以上各个模块的运行均通过 WEB 浏览器与服务器进行交流4.2 运行控制a.登录:自主登录或经过系统验证身份强制登录;b.修改个人信息:处于登录状态;c.下载课件:教师事先已经将课件上传当检索到了该课程时;d.查找教师:可以通过从课程信息中进入教师主页,另一方面,可以通过首页信息的 直接模糊查询方式进入;e.留言:当前用户必须处于登录状态与找到教师留言板;f.回复留言:当前用户必须先登录状态与找到该留言记录;g.上传课件:用户角色必须为教师,且必须通过个人主页的方式进入授课管理上传课 件h.新增学生:管理员处于登录状态,以及执行该操作;i .课程管理:新增课程信息与课程配备教师资源。
4.3 运行时间(单位秒)a.登录:2秒b.修改个人信息:2秒;c.下载课件:视课件大小而定;d.查找教师:1秒;e.留言:1秒;f .回复留言: 1 秒;g.上传课件:视课件大小而定;h.新增学生:1秒;i .课程管理: 2 秒5 系统数据结构设计5.1 逻辑结构设计要点5.1.1 各个实体之间的相互关系如下图:class beanTeacherjava.io.Serializable---- ---tid: Stringtpwd: Stringtname: Stringtemail: Stringtphone: Stringdname: Stringdiscusses: Set = new HashSet(0)-cts: Set = new HashSet(0)++「eacher()Teacher(String)++ ++ ++ ++++ ++ +++ ++Teacher(String, String, String, String, String, String, Set, Set) getTid() : String setTid(String) : void getTpwd() : String setTpwd(String) : void getTname() : String setTname(String) : void getTemail() : String setTemail(String) : void getTphone() : String setTphone(String) : void getDname() : String setDname(String) : void getDiscusses() : Set setDiscusses(Set) : void getCts() : Set setCts(Set) : void-teacher 上-java.io.SerializableClasses- cid: String- cname: String- dname: String- cts: Set = new HashSet(0)- cfs: Set = new HashSet(0)+ Classes()+ 。