分析与设计文档
谭宇琪 梁锐彪 潘伟志 傅敬益 章永锵
6052044 6052030 6052041 6052015 6052066
提交时间:2009年03月24日
目录
第一章
1.1
需求分析 ....................................................................................................................... 3 问题陈述 ....................................................................................................................... 3 1.1.1 1.1.2 1.1.3 1.2 1.3
待解决问题 ....................................................................................................... 3 系统涉众 ........................................................................................................... 3 功能描述 ........................................................................................................... 4
教学辅助系统用例析取 ............................................................................................... 7 教学辅助系统用例规约 ............................................................................................... 8
1.3.1用户管理用例规约 .......................................................................................................... 8 1.3.2查看在线视频用例规约 .................................................................................................. 9 1.3.3上传资源用例规约 ........................................................................................................ 10 1.3.4学生提交作业用例规约 ................................................................................................ 12
1.3.5学术讨论(论坛)用例规约 ................................................................................ 13 1.4术 语 表 ........................................................................................................................... 15 第二章 系统设计 ........................................................................................................................... 16
2.1 系统架构设计 .................................................................................................................. 16 2.2生成分析类 ....................................................................................................................... 19
第一章 需求分析
1.1 问题陈述 1.1.1 待解决问题
就目前许多大学院校的教学资源而言,仅仅是课堂上的教学,已不能满足在校大学生的学习需求了。学生渴望跟科任老师在课后进行交流,解决课堂上和课后留下的问题,同时他们更迫切希望能够从每位老师身上获取更多的知识。另一方面,带着沉重的作业本回家,使得老师有苦不能言的状况,引起了教务员和学生的关注。为了减轻老师肩膀上的负担,许多老师都要求作业上交电子版,并把作业上传到邮箱,通过网络来评改学生作业。可以考虑到,对于这些作业的整理以及统计学生作业上交的情况使老师们都费下很大劲。再者,突发事件的发生,使得老师要求调课,课室的更换等,必须及时通知到老师、学生双方。以上这些情况的种种,都会引起无论是老师还是学生的关注。
针对上述的这些问题,我们项目组开发了教学辅助平台系统。通过该系统,老师可以方便地在该平台上对学生的作业进行批改,打分。从教务员的角度,他们可以把需要调课的老师以及需要更换的课室及时发布的该平台上,老师、学生通过在平台上都可以及时了解消息。再从学生的角度,他们可以通过该平台实现与老师交流,解决学习上的问题。从整体上看,通过该平台可以大大促进老师、教务员和学生三方的工作、学习效率。
1.1.2 系统涉众
访客
在本系统中,访客主要是指访问该平台的未注册用户。访客仅能对某些内容进行浏览,,也只能以匿名的方式进行留言,但不具备享有该系统其他功能的权利。一般,教务员和老师通过工号登录该系统,而学生通过自身的学号登录。 教务员
教务员调课改动通知、活动通知、学校常务通知、学校教务通知、课程选取与安排、课室的调整以及学生成绩的公布。 老师
老师可以浏览系统绝大部分内容,回馈学生提出的问题,对学生作业进行批改,上传学习资料,对教务员提出课时安排、课室调整的要求,并可对学生发出某些要求消息。 学生
学生只享有学生应有的系统权限,浏览系统内的部分学术资料,可以对任课老师提出学术性问题、上交电子版作业、上传下载学习资料,同时接收由教务员或者老师发出的消息。
系统管理员
系统管理员管理系统的用户以及系统的营运,如:管理系统各种用户的注册,登录,注销,在线服务,离线帮助等。对系统的维护、更新。对重要数据的管理备份工作等,以维持整个系统的顺利工作。
1.1.3 功能描述
系统管理模块
系统管理员管理系统的用户以及系统的营运,如:管理系统各种用户的注册,登录,注销,在线服务,离线帮助等。对系统的维护、更新。对重要数据的管理备份工作等,以维持整个系统的顺利工作。 教务员功能模块
教务员调课改动通知、活动通知、学校常务通知、学校教务通知、课程选取与安排、课室的调整以及学生成绩的公布。 老师功能模块
老师可以浏览系统绝大部分内容,回馈学生提出的问题,对学生作业进行批改,上传学习资料,对教务员提出课时安排、课室调整的要求,并可对学生发出某些要求消息。
学生功能模块
学生只享有学生应有的系统权限,浏览系统内的部分学术资料,可以对任课老师提出学术性问题、上交电子版作业、上传下载学习资料,同时接收由教务员或者老师发出的消息。
通知模块
调课改动通知模板、活动通知模板、学校常务通知模板、学校教务通知模板。 课程管理模块
提交教学计划,教学方案,提供突发事件任务改动,网上选课,课程及教学地点的安排,提醒行程安排。 作业模块
可以指定作业的截止日期和最高分;
学生可以上传作业(档格式不限)到服务器,上传时间也被记录; 也可以允许迟交作业,但老师可以清晰地看到迟交了多久;
可以在一个页面、一个表单内为整个班级的每份作业评分(打分和评论); 老师的回馈会显示在每个学生的作业页面,并且以 email寄出通知。 提问模块
学生可以对任课老师提出问题;
老师回答问题,并可划分问题类别,删除无价值的问题; 聊天模块
支援平滑的、同步的文字互动,聊天室视窗里包含个人图片 ,支援 URL、笑脸、嵌入HTML和图片等 ;
所有的谈话都记录下来供日后查看,并且也可以允许学生查看 。 论坛模块
有多种类型的论坛供选择,例如老师专用、每用户的各种话题; 每个贴文都带有作者的照片;
可以以嵌套、列表和树状方式流览话题,也可以让旧贴在前或新贴在前; 老师可以设定论坛为不可回复(例如只用来发公告的论坛) ;
图片附件可以内嵌显示 ;
如果论坛允许评级,那么可以限制有效时间段 。 对学生的问题,进行打包上传,方便老师在论坛上回答。 测验模块
老师可以定义题库,已便在不同的测验里重复使用 ;
题目可以分门别类地保存,易于使用,并且可以公布这些分类,供同一网站的其他课程使用;
题目可以自动评分,并且如果题目更改,可以重新评分 ;
根据老师的设定,测验可以被作答多次,并能显示回馈和/或正确答案; 题目和答案可以乱序(随机)显示,以减少作弊 ; 题目可以从外部文字档案汇入 ;
如果愿意,可以分多次完成测验,每次的结果被自动累积。 资源模块
上传下载课件,教学视频,经典试题,参考书目,资料。
1.2 教学辅助系统用例析取
提交作业查看成绩下载资源自测博客学生查看在线视频提问题多对多模式学术讨论(论坛)上传资源登陆聊天一对一模式上传自测试题上传成绩教师添加学生(权限)开设课程回答学生提问发起投票批改作业发布通知处理突发事件教务员登陆管理用户管理资源社团/组织
图1.2 教学辅助系统用例析取
1.3 教学辅助系统用例规约 1.3.1用户管理用例规约
1.3.1.1
简要说明
本用例只允许规定的用户,如:学生、教师和教务员,注册成为系统的用户。一般访客不具备成为用户的权利。同时用户在进入系统后,可以修改自己的个人信息,包括用户密码用户基本信息,联系方式等。
1.3.1.2 事件流
1.3.1.2.1 基本事件流(一)
用户用例开始于用户选择“登录”的操作。
用户选择“登录”后,系统展示输入界面,供用户输入用户相关信息(用户名和密码)。系统在接收到用户所输入的相关信息,调用数据库,与数据库中已存有合法用户资料进行校对。
1.3.1.2.2 基本事件流(二)
此用例开始于用户选择“设置”的操作。 用户选择“个人信息”,将列出用户的基本信息。
用户选择“修改”项时,列出的信息处于可编辑状态,用户可以直接在当前信息上修改自己的信息,完成后选择“提交”将保存修改后的信息,选择“取消”则不对用户信息进行任何修改。
用户选择“修改密码”时,需要输入原来的密码,并用重复输入新的密码两遍, 原始密码正确,并且重复两次的密码相同时,选择“提交”将保存修改后的密码,选择“取消”则不对用户密码进行修改。
1.3.1.3
无。
特殊需求
1.3.1.4 前置条件
事件1要求开始前用户必须已经进入系统页面 ,同时该用户必须为学生,教师或者教务员。
事件2要求用户已经登录系统。
1.3.1.5 后置条件
如果事件1成功,用户将进入系统,执行权限范围内的各种操作,否则将提示“不存在该用户”,作为一般访客。
如果事件2成功,相应的用户个人信息被修改,否则系统状态不改变。
1.3.2查看在线视频用例规约
1.3.2.1 简要说明
本用例允许学生进入自己已选的网络课程,观看该课程的教学视频。
1.3.2.2 事件流 1.3.2.2.1基本事件流
学生进入个人主页后,点击“已选网络课程”,系统显示该学生已选的网络课程列表。
学生点击其中一个网络课程,系统显示该课程的所以视频列表。
学生点击其中一个视频,系统播放该视频,并在视频右边显示所有视频的滚动列表。
1.3.2.2.2 备选事件流
视频播放不成功
此时系统会显示“该视频出错,我们会跟进”,系统并将错误信息发送给管理员。
1.3.2.3 特殊需求
无。
1.3.2. 4 前置条件
本用例开始前用户必须已经登陆进入系统,并且已经选修该网络课程。
1.3.2.5 后置条件
如果该用例成功,学生则可观看所选择的视频。否则返回到“已选网络课程”
页面。
1.3.3上传资源用例规约
1.3.3.1 简要说明
本用例允许用户在登录后,选择本地计算机中符合上传规格的文件,上传到远程服务器。用户可以选择上传文件的属性,如私有文件,共享文件,作业文件等等。上传成功后系统会给出上传成功的提示,否则给出失败的提示。
1.3.3.2 事件流 1.3.3.2.1基本事件流
用户成功登陆教学辅助管理系统之后,点击共享资源中的上传文件,网页会跳转到文件上传的页面,在这里,跳转到的页面会根据用户类型(如学生,教师,教务员)及用户权限的不同而给出不同的文件上传类型。
如果用户类型是学生,则会有私有文件,作业文件(该类型需要选择相应的教师文件夹),班级文件,系级文件,院级文件等,如果该生加入了某个社团,还可以选择某某社团文件等,选择之后,系统会自动查询相应级别还剩下多少存储空间并返回给用户,用户选择本地计算机上不大于该存储空间并且格式允许的文件进行上传。上传成功后,系统给出成功提示。如果不成功,系统给出失败提示。
如果用户类型是老师,则会有私有文件,班级文件,系级文件,院级文件等。 如果用户类型是教务员,则会有私有文件,教务资讯等。 这两者的上传操作与学生类型相同。
1.3.3.2.2 备选事件流
不满足上传基本要求。
不管上传任何资源,都必须满足以下要求:已选定上传类型,已添加上传文件,上传的文件不大于硬盘空间的存储容量,上传的文件符合硬盘管理员对文件格式的要求。如果不满足该要求将不予上传资源。
1.3.3.3 特殊需求
无。
1.3.3. 4 前置条件
上传之前用户必须已经登陆系统。
1.3.3.5 后置条件
如果上传成功,系统自动提示用户资源已经成功上传,如果失败,则提示上传失败。不论上传成功与失败,网页都会自动显示该用户当前各级文档中的文件名列表,并询问是否继续上传文件。
1.3.4学生提交作业用例规约
1.3.4.1 简要说明
本用例允许学生在用文档做好作业成功后,可选择上传作业,继续上传,取消提交,浏览,删除作业。新上传的作业的状态为待确定,在其状态未转变为已确定时,学生可以取消提交,取消后的作业为候选。
1.3.4.2 事件流 1.3.4.2.1基本事件流
学生登录进入学生用户界面后,点击按钮“上传作业”,系统将跳转到另一个界面。
这个界面会弹出一个窗口,要求学生选择作业的路径,当选择完路径,上传后会显示上传成功。
当上传成功后,界面会显示是否继续上传,提交作业;点击按钮“继续上传”,系统则会弹出一个窗口,要求学生选择作业的路径;点击按钮“提交作业”,系统则会将作业上传到数据库中,并转入下一个界面。
这个界面会列出作业的状态,并有按钮取消,浏览,删除供学生选择;在相应文件名后面按取消按钮后,系统会删除这个作业,并且保存到存储区域;删除则不保存;按浏览文件可浏览这个作业的内容。
确认完以上信息后,提交作业成功。
1.3.4.2.2 备选事件流
保存作业
在任何时候,学生在不确定是否提交作业的前提下,可以选择保存作业而不提交它。点击“保存”,进行作业的保存,此时作业的状态为“候选”。
不满足提交条件
如果在上传作业事件流中,系统确定学生没有按其规定的文档或上传作业的文档与其他约束条件发生冲突时, 如上传其他类型的文档,可执行文件,不安全文件,系统会给学生错误的提示,如果学生确定时,让学生继续上传作业,本用例继续执行;如果选择取消操作,此时本用例重新开始。
1.3.4.3 特殊需求
无。
1.3.4. 4 前置条件
本用例开始前学生必须已经登陆进入系统。
1.3.4.5 后置条件
如果该用例成功,学生的作业被上传,作业处于待确认状态。否则系统状态不变。
1.3.5学术讨论(论坛)用例规约
1.3.5.1 简要说明
本用例允许老师和学生在登陆后进入学术讨论BBS板块进行发帖或进入已有的贴并对已有的贴进行回帖。本BBS论坛设有游客角色,所以未登陆者可以以匿名的形式发表意见,但不能下载本论坛上的资源。
用户(老师和学生)可以注销用户,退出论坛。本论坛设等级制,根据用户的贡献度来进行等级分级。贡献度越高,头衔越高,当然随之享有的权利越高。
1.3.5.2 事件流 1.3.5.2.1基本事件流
基本事件流(一)
用户(老师和学生)在首次进入论坛首页后,要先注册后再登陆。注册时需要核实你的学号、出生日期等个人资料,并设置自己的密码和昵称。注册完毕后,会以你的学号和设置的密码直接登陆论坛。(首次注册后,以后就可以直接以学生的学号密码直接登陆了)
基本事件流(二)
登陆后,用户随时可以更改自定义的信息,如:昵称、登陆密码等。若用户按取消键,将要修改的信息将不被保存,恢复到未更改时的信息。
基本事件流(三)
用户可以自由发帖。可以是提出问题;可以进入用户感兴趣的贴,并对此贴进行回帖;也可以上传资源以供大家共享!
1.3.5.2.2 备选事件流
无。
1.3.5.3 特殊需求
无。
1.3.5. 4 前置条件
本用例开始时用户必须已经进入本论坛。
1.3.5.5 后置条件
如果用例成功,相应的用户的个人信息被修改。否则系统状态不变。登陆用户发的贴可以供用户浏览、发表意见、上传、共享资源。
1.4术 语 表
表1.4 本系统用到的部分术语
登陆: 角色: 功能: 教务员和老师通过工号登录,学生通过学号登录. 教务员,学生,老师. 下载资源:下载一些图片,PPT,视频等资料. 自测:随机抽取一些题目来检测自己. 提交作业:提交已经做好的WORD文档或者PPT等文件. 学术讨论:进入论坛发帖以及回帖(有针对性). 操作的状态: 成功,取消,侯选. 第二章 系统设计
2.1 系统架构设计
2.1.1系统框架总体设计
图2-1 系统框架总体设计图
我们将采用基于B/S的MVC架构,数据库采用MySql。如图2-1所示,View层用于与用户的交互,Model层实现系统中的业务逻辑,Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
2.1.2 系统层次关系
本系统三层结构,分别为表示层、业务逻辑层和数据访问层。
web Presentation Layer entity controlservice Business Layer dao nhibernate DataAccess Layer Mysql
图 2-2 系统的层次关系包图
本系统在数据访问层采用Nhibernate作为数据持久解决方案,并写Dao封装Nhibernate的操作,方便业务逻辑层编写人员操作Model。在业务逻辑层有实
体类、控制类以及常用的服务类。表示层我们采用asp.net做视图。
2.1.3 系统关键抽象
关键抽象是一个概念,通常不在需求内,使系统必须可以处理的抽象的来源一般包括:领域知识,需求描述和术语表。
resources(from KeyAbstraction)test(from KeyAbstraction)video(from KeyAbstraction)homework(from KeyAbstraction)model(from KeyAbstraction)problem(from KeyAbstraction)chatroom(from KeyAbstraction)chat(from KeyAbstraction)topic(from KeyAbstraction)course(from KeyAbstraction)motify(from KeyAbstraction)article(from KeyAbstraction)vote(from KeyAbstraction)emergency(from KeyAbstraction)article identify(from KeyAbstraction)student(from KeyAbstraction)teacher(from KeyAbstraction)acdemic dean(from KeyAbstraction)图2-3 数码相片打印网站系统关键抽象
从本系统的需求描述和术语表中,我们可以提取出以上的关键抽象,主要包括系统涉及的数据及功能。
2.2生成分析类
2.2.1回答问题用例的生成分析类
图2.2.1 回答问题的生成分析类
回答问题,首先需要一个问题对象,所以就设计一个问题实体类Question。老师进行回答学生提出的问题之前,必须通过浏览页面,点击进入到相关界面,才可对学生提出的问题进行回答。这里就需要3个边界类对象,分别为Web Form(普通界面)、AnswerQuestionListForm(问题列表界面)和AnswerQuestionForm(被选择的问题界面),老师在最后的AnswerQuestionForm进行问题的答复。老师回答问题后,系统把回答的问题内容通过对应数据库控制类QuestionDao保存到数据库中的实体类DataBase:Question。此实体类对象Question用以保存问题内容以及已经回答问题的答复内容。
2.2.2 系统的类结构
图2-4 系统的类结构
2.3 子系统分析
本系统功能比较分散,而功能点少,不需要划分子系统。
2.4类的设计
2.4.1 实体类包中类的设计
图2-5 实体类包中的实体类
2.4.1数据访问层类包中类的设计
图2-6 数据访问层类包中的类
2.4.3 业务逻辑层类包中类的设计
图2-7 业务逻辑层类包中的类
2.4.4 表示层类包中类的设计
图2-8 表示层类包中的类
2.5分析类的分析机制
由于本系统使用Nhibernate作为数据持久层框架,大大减少了数据库编程的工作量,所以主要精力放在对业务逻辑的分析。分析时从usecase入手,分析出大概的实体类和边界类。这时dao层的crud也基本可以确立,再通过画时序图,找出完成用例所需要的操作,根据操作所对应的实体类去划分控制类。
2.6 数据库的设计
数据库名称定位Teaids_data,这个数据库包含十九张表,它们分别为存储学生相关信息的学生(student)表,存储资源信息的资源(resources)表,存储作业与老师、学生关系信息的作业(homework)表,存储老师课程信息的课程(course)表等。
2.6.1 学生(student)表
学生表描述了学生的相关信息,此表也用来核对学生登陆时的学生ID与密码,表的具体设计如下:
名称 类型 可为空 默认值 no no no no no no 表2-3 student表
备注 学生的ID 学生ID的密码 学生的名字 学生的年龄 学生的性别 学生的地址 sT_id(主键) string gpassword name age sex address string string string int string 2.6.2 资源(resources)表
资源表描述了用户上传的资源的相关信息,表的具体设计如下:
名称 Re_id(主键) Type File_name Capatity File_url Upload_time Deadline Date 类型 可为空 默认值 int string string string string string string string no no no no no no no no 表2-4 resources表
备注 资源的ID 资源的类型 资源的名称 资源所占容量 资源的链接地址 下载资源的时间 资源下载的截止时间 上传资源的时间 2.6.3作业(homework)表
作业表描述了学生作业相关信息,学生提交作业后由老师进行批改作业以及评价,表的具体设计如下:
名称 类型 可为空 Id Score Comment RealseDate Int int string string no no no no no no no 默认值 表2-5 homework表
作业的id 批改后的作业分数 作业评价 作业的ID 学生ID 老师ID 备注 Task_Id(主键) string Student_Id(外键) string Tescher_Id(外键) string 2.6.4课程(course)表
课程表描述了老师教学课程的相关信息,表的具体设计如下:
名称 Course_id(主键) Date Address T_id(外键) Course_name 类型 可为空 默认值 int string string string string no no no no no 表2-6 course表
备注 课程ID 课程时间 老师教学的地点 教学老师的ID 课程的名字 2.7 系统部署
2.7.1 系统运行环境要求
操作系统:Windows Server 2003(推荐)、Windows 2000、Windows XP 数据库: MySql 4.1 或更高
Web服务器:IIS 5.0 及以上版本(推荐 IIS6.0) Net版本:net framework 2.0或以上
浏览器:目前主流的浏览器均可(本系统采用div+css标准化)
2.7.2 系统部署
Web服务器安装:
1. 安装windows xp系统。
2. 安装iss(含net framework 2.0)。
数据库服务器安装:(略,为了安全最好不安装在web服务器上) 本系统安装:
把本系统加压在iis的wwwroot根目录即可。
因篇幅问题不能全部显示,请点此查看更多更全内容