面向对象软件设计说明书.docx
《面向对象软件设计说明书.docx》由会员分享,可在线阅读,更多相关《面向对象软件设计说明书.docx(15页珍藏版)》请在冰豆网上搜索。
面向对象软件设计说明书
面向对象软件设计说明书
1概述
1.1系统简述
近年来,随着实践教学工作的不断推进,各高校在实验室开放工作中也都积累了丰富的经验,国外出现了很多探讨实验室开放模式的论文成果。
同时随着计算机技术的不断发展,有些高校或软件公司也陆续着手开发此项工作的管理系统。
从系统架构上讲,多数基于B/S架构开发,从功能上讲,有的已可以面向全校师生提供开放性实验信息,而多数则只面向某个专业的学生提供服务,对于跨学院、跨专业实验预约则需要填写专门的申请表或通过其他申请方式来进行。
本设计拟对开放性实验预约管理系统进行设计与实现,该系统主要包括用户管理、实验容管理、实验预约管理、预约执行及结果管理等功能模块。
开发目标是把大量的机械性工作交由计算机处理,同时提供友好的人机界面和人性化的操作方式,使学生、实验室管理员和实验指导教师能够把更多的精力投入到开放性实验活动中去,使学校领导层能够实时了解全校实验室开放工作的进展情况。
本设计的主要用户为学校的实验室管理员,教师,学生和科研单位的实验室管理员以及各实验员。
由于我国国的大部分学校和试验单位的计算机普遍采用Microsoft公司的windows系列操作系统,因此本设计主要运行在windows系列操作系统下,要求为windowsXP及以上版本。
浏览器为IE6以上,其它常见浏览器如FireFox。
本设计拟采用三层B/S体系架构,对开放性实验预约管理系统各个功能模块进行设计,基于j2ee开发环境的平台和SQLServer2005数据库管理软件。
1.2软件设计目标
实验室预约系统的设计目标为解决实验室的预约混乱,合理的安排实验室,使实验室尽可能多的为同学和教师服务。
功能主要是实现实验室的网上预约,除此之外,还可以提前安排本学期的实验课程,教师和管理员可以随时添加和删除不必要的和冗余的实验课程。
学生随时可以预约空闲的实验室和查看历史的实验成绩。
教师则根据学生的实验而划定学生的实验成绩分数,上传到本系统的数据库,管理员和任课教师有权随时更改学生的成绩。
在本系统中,实验室管理员,教师,学生分别拥有着不同的用户权限和使用着不同的功能。
使用本系统需使用登录账号。
初次使用请设置自己的基本信息,以便于教师和管理员必要时查询。
学生和教师的课程和实验信息由管理员设置,教师和学生可以登录查询。
管理员拥有超级用户权限,如有错误,请与管理员联系修改。
至于实验室部的仪器,实验室守则,试验规,实验药品的采购和存放,则是由实验室管理人员制定并负责实施,学生或实验人员在实验中损坏仪器的赔偿或补充,在本系统中不予实现。
学生的实验课程以外的容在本系统中也不予实现。
教师端只可以安排和删除自己任课围的实验课程,对学生的实验打分,预约实验室,除此之外没有其他权限。
管理员只有在实验室管理中拥有最高权限,与实验室无关的容,本系统不予涉及。
对于非功能性的需求,系统的响应快,支持的客户端多,可同时在线预约200名客户端。
安全性高,用户无权操作自己用户权限以外的容,支持用户名和密码匹配原则,并在系统中生成相关登录日志,密码忘记须持有效证件去找实验室管理员更改密码。
本系统针对管理员和教师以及学生设计,比较容易操作,界面简洁易懂,对计算机知识要求不高。
总体来说,应用实用性较高。
实验室管理员
学期管理
实验批次管理
实验项目管理
学生信息管理
教师信息管理
修改
添加
删除
修改
添加
删除
修改
添加
删除
修改
添加
删除
修改
添加
删除
1.3参考资料
资料名称[标识符]
出版单位
作者
日期
J2ee应用开发实践
清华大学
宋远行
2011年
Java语言程序设计
机械工业
DanielLiang 娜(译)DanielLiang
2011年
Java实用教程
清华大学
耿祥义,跃平
2012年
数据仓库工具箱
清华大学
包战(译)
2012年
DB2数据库管理最佳实践
电子工业
徐明伟,王涛
2011年
2用例
3设计概述
3.1简述
在系统的总体设计中,我们采用的是面向对象设计,系统的体系结构为客户/服务器结构。
在本系统中,我们使用到了面向对象程序设计,JAVA编程思想,以及sql2005的相关技术。
本系统的主要设计语言为j2ee编程语言,在数据库的建立和连接上我们用到了tomcat和sql的建立工具。
系统的图形设计主要用RATIONALROSE。
3.2系统结构设计
系统顶层结构,描述一下该系统的系统结构示意图。
高层结构:
3.2.1子系统1结构
3.2.2子系统2结构
学生
查看预约
预约操作
提交预约
查看提交预约
3.3系统界面
编号
画面名称
文件名
说明
1
登录界面
Login.cs
用户登录系统
2
主界画面
Form-main.cs
整个系统总框架,包括系统各个模块
3
信息管理画面
User_control.cs
信息的录入和删除等
4
信息查询界面
User_search.cs
相关信息的查询界面
5
预约界面
User_book.cs
实验室预约
本系统没有提供其他系统的借口,故不在对其他接口进行描述。
3.4约束和假定
为防止同时登录用户数目过多造成系统崩溃,特添加部分约束条件,防止系统出现意外状况,影响使用。
1)本系统最多支持50个终端同时登录,多余终端需等待进入。
2)支持并行操作的用户数为20.
3)系统响应的时间不会超过20秒,在峰值状态下数据处理量基本可满足需要。
不会因为系统影响使用。
本系统的实验语言为j2ee,如果在本系统的修改和功能拓展时使用其他语言,可能会造成系统部冲突而影响系统的正常使用,严重时可能会造成系统的崩溃。
本系统的试验运行平台为windowsXP系统,其他平台尚未实验,估计在兼容JAVA语言的计算机平台均可正常运行。
4对象模型
4.1系统对象模型
系统架构采用B/S模式,以Web信息系统的三层体系结构提供服务。
三层结构是由Web程序“浏览器/服务器”(B/S)模式衍生的体系结构,在传统的二层结构基础上增加了中间层,将业务规则、数据访问、合法性验证等放到中间层单独处理。
本系统把两者有机结合起来,以产生HTML页面做界面显示与用户段浏览器;服务器端以ASP、VBScript、JavaScript语言编写的程序做控制器,接受用户输入,并决定调用何种模型(GET、POST等)去完成用户的请求;以SQLServer作为数据模型存储资源及状态。
为系统提供了良好的安全性、可移植性和扩展性。
系统总体架构设计如下图5.1
预约平台
HTML
ASP,JSP
管理平台
数据验证,传输,存储
数据源
Applets
数据库层
业务层
用户层
图5-1系统模型图
5对象描述
5.1子系统1中的对象
对象1:
空闲实验室
用途:
用于被学生和教师以及其他实验人员预约。
约束:
当该实验室被预约之后,其他人不得在相同的时间再次预约。
当被实验室管理员设置用作其他用途时,不得预约。
持久性:
进入预约/查询界面开始,直到退出预约/查询界面终止
对象2:
已预约实验室
用途:
用于描述已经被预约或被用作其他用途的实验室
约束:
该实验室只有被预约或被用作其他安排时不可以被预约,但可以被查询到同事可以被预约者取消预约,变回空闲实验室。
持久性:
被预约直到使用或被取消预约
对象3:
实验课程
用途:
学生每学期的课程安排以及相应的实验室安排,课程的任课教师和学生数量和。
约束:
实验课程的安排必须完全服从空闲实验室的安排。
课程的学生数量有上限和下限。
数量不得超过上限,当数量低于下限时,该实验取消。
持久性:
启动系统直到关闭系统
5.1.1.属性描述:
(1)属性:
用户
类型:
整形(int)
描述:
用户的用户名
约束:
-32768~32767
(2)属性:
密码
类型:
int
描述:
用户进入系统时的密码
约束:
-32768~32767
5.1.2方法描述:
方法:
某用户登录时需要输入用户名和密码。
返回类型:
布尔型
参数:
1、0.
返回值:
若用户登录成功则返回true,若登录失败则返回false。
Pre-Condition:
必须输入合法的用户名和密码。
Post-Condition:
登录成功后必须行使合法的权利。
读取/修改的属性:
用户名不可以修改,密码可以修改。
调用的方法:
通过不同的用户需求调用相应的方法。
测试用例:
根据系统安全性设计的要求,对系统的安全性进行了集中的测试。
身份验证:
在首页中,只有当正确输入用户名、密码和用户身份时,才能进入系统,若输入错误,系统将拒绝用户登录,并提示“用户名或密码错误,请重新输入”。
非法登录:
若想通过在URL中输入地址直接登录到系统,系统将拒绝此次非法登录,将强制到首页。
通过对系统安全性的测试,确认系统达到设计要求。
6动态模型
步骤1:
定义用例,确定模型中的类和对象
本系统可以分为三个用户角色,分别为学生、教师和系统管理员,通过不同的用户角色来决定用户在使用系统时所享用的权限。
具体的描述如下图:
角色
描述
学生
(1)查看预约
(2)预约操作
(3)提交预约
(4)查看提交预约
教师
(1)查看预约
(2)预约操作
(3)提交预约
(4)查看提交预约
系统管理员
(1)查看预约
(2)预约操作
(3)查看提交预约
(4)对操作提交预约
6.1场景
场景名:
学生预约实验状态图
需求分析活动图:
描述用例实现分析活动图:
6.2状态图
结束查询
继续查询
输入查询条件,开始查询
学生对象预约实验的状态图
7非功能性需求
7.1安全性需求
(1)权限控制
根据不同用户角色,设置相应权限,用户的重要操作都做相应的日志记录以备查看,没有权限的用户禁止使用系统。
学生只可查看自已的实验成绩以及预约实验室,教师可查看所教课程的学生成绩并进行修改,安排课程,预约实验室。
(2)重要数据加密
本系统对一些重要的数据按一定的算法进行加密,如用户口令、重要参数等。
(3)数据备份
允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。
(4)记录日志
本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。
这些错误记录便于查找错误的原因。
日志同时记录用户的关键性操作信息。
7.2可用性需求
(1)方便操作,操作流程合理
尽量从用户角度出发,以方便使用本产品。
如:
新增学生信息时,敲入回车键光标的自动跳转、输入法的自动转换,信息检索时输入汉语简拼快速检索到结果等。
可以通过快速键方便用户录入信息,所有操作可仅通过键盘完成。
(2)支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均能方便地使用本系统。
(3)控制必录入项
本系统能够对必须录入的项目进行控制,使用户能够确保信息输入的完整。
同时对必录入项进行有效的统一的提示。
(4)容错能力
系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行,并有足够的提示信息帮助用户有效正确地完成任务。
(5)操作完成时有统一规的提示信息
例如删除操作时,系统可提示警示框“您确认删除记录吗?
操作不可恢复!
”,用户点击确认后,系统才执行删除操作,删除后可直接返回相关页面。
(6)管理员可自定义
为了满足业务的不断变化,一些重要的参数应该可以灵活设置。
7.3用户文档
同本软件一起发行的用户文档包括:
(1)安装手册:
Word格式文件。
(2)用户手册:
Word格式文件。
(3)在线帮助:
HTMLHelp格式文件,联机式。
7.4其它需求
(1)支持多浏览器。
(2)系统安装方便,易于维护。
7.5未实现功能
实验室药品的购买和使用,每个实验室的具体负责人,实验室的清洁和养护工作都未在本系统中实现,选修实验课程的选课功能都没有在系统涉及。
对于应急实验本系统没有设计,可通过管理员取消部分已预约的实验室来腾出空闲实验室。
对于未来可能出现的实验室大规模扩展的情况,高校招生的大规模扩展,学生数量大规模上升的情况,我们的系统对此也有所准备。
如果用户人数增长过快,只需在本系统的用户限制中增大最大用户同时在线数量,并扩展一下数据库容量即可。
同时更新服务器的硬盘容量和相关硬件的升级工作。
只需把新增的实验室信息录入系统即可。