资源描述
淮海工学院 计算机工程学院
《大型软件系统构造》大作业
名 称:学生成绩管理系统的设计
专业班级: 软件122班
姓 名:韩莹
系 (院): 计算机工程学院
时 间: 2015。4.8~~2015。6。8
成绩:
指导教师评语:
签名:
年 月 日
目 录
第一章需求分析
1 引言2
1.1项目背景2
1。2系统目标2
1.3范围+Feature+上下文图2
1.4用例图3
1。5用例规约3
2需求4
2。1功能需求4
2.2性能需求5
2。3约束需求5
第二章 领域建模
1 类图5
2状态图7
3 可扩展性8
第三章 关键需求
1 确定关键质量9
2 确定关键需求9
3具体关键需求分析10
第四章 概念架构设计
1 系统架构模式11
2 鲁邦图11
第五章 细化架构设计
1逻辑架构12
2开发架构14
3物理架构15
4运行架构15
5数据架构16
第六章 架构验证
1关键组件17
2交互方式18
3架构验证结论19
第七章总结20
第一章 需求分析
1 引言
1.1 项目背景
每个学校都需要进行考试成绩的统计分析工作,而这些工作都必须在考试结束后尽快完成。大量的成绩数据的统计工作如果只靠人工完成,费时费力,还容易出错。使用计算机对学生成绩管理信息进行管理,具有手工管理所无法比拟的有点.尤其是随着教学体制的不断改革,学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。高校都迫切需要研制开发一款属于自己的功能强大,操作简单,具有人性化的学生成绩管理系统。因此需要开发出一个满足学校进行成绩的录入、查询、修改和统计等需求的功能完善、安全可靠并且迅速便捷的成绩管理系统。
1。2系统目标
通过调查分析,开发出一个操作简便、界面友好、灵活实用、安全可靠的学生成绩管理系统是一个学校不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。学生成绩管理系统是针对教务管理人员、任课教师和学生设计开发的系统。该系统能够提高学校对学生成绩的统计分析效率,减轻教务管理人员对学生成绩管理和统计的负担,能提高学校对学生成绩的规范化管理。该成绩管理系统能够及时对学生成绩进行收集整理,使学校相关部门及时获取可靠的学生成绩信息,便于管理.学生成绩管理系统主要提供成绩查询,方便管理网上的信息查阅平台,学生可以通过该系统查阅和自己相关的信息。教师可以通过该系统对学生成绩的添加、删除、查询、修改、统计和自己的信息。系统管理员可以实现对教师信息、学生信息和管理员信息的添加、删除、查询、修改,对数据库的备份、还原等相关操作。
1.3 范围+Feature+上下文图
1.3.1项目首次发布的范围
学生成绩管理系统首次发布是针对淮海工学院全体师生完成假设中的大部分重要功能,浏览网页信息和成绩信息的录入查询统计等工作。
1。3.2随后发布的范围
学生成绩管理系统随后发布将针对苏北地区各同类高校,针对各学校进行本地化,更加方便各个院校的使用.然后推广使用到江苏全省甚至全国。
1。3.3 Feature
1)功能覆盖3大业务域:管理员管理、教师管理、学生管理
2)管理员管理相关的功能组包括:管理员信息管理、教师信息管理、学生信息管理、课程信息管理、密码管理
3)教师管理相关的功能组包括:学生成绩管理、密码管理
4)学生管理相关的功能组包括:查询成绩、密码管理
5)“学生成绩管理”包括:录入学生成绩、修改学生成绩、删除学生成绩
6)技术特色:与著名工具的无缝集成
7)技术特色:二次开发支持
1。3。4上下文图
1.4用例图
1。5用例规约
1. 用例名称:信息管理
2. 简要说明:管理员可以通过此功能管理信息
3. 基本事件
1)管理员进入“后台管理"界面
2)选择二级类别名系统自动显示已经存在的信息
3)管理员可以选择录入信息、修改信息、删除信息、修改密码
4)如果选择录入信息下拉菜单中的学生信息则跳入录入学生页面,管理员可以输入学号、姓名、性别、班级、密码,重新选择二级类别
5)如果选择修改教师信息则跳入修改教师页面,管理员可以修改教师号、姓名、课程,重新选择二级类别
6)如果选择删除课程信息则跳入删除课程页面,管理员可以删除课程,重新选择二级类别
8)管理员确认操作
9)系统完成操作
4. 非功能要求:操作必须方便直观
5. 前置条件:(身份验证)登陆用户必须是管理员
6. 后置条件:对象必须被成功录入或对象已存在而退出
7. 扩展点:无
8. 优先级:高
2需求
2。1 功能需求
编号
功能名称
使用者
功能描述
输入
系统响应
输出
1
用户管理
管理员
添加、修改或删除用户信息
用户信息中要修改的部分
修改“用户信息”实体中的信息
更新“用户信息”实体中的信息
2
课程管理
管理员
添加、修改或删除课程信息
课程信息中要修改的部分
修改“课程信息"实体中的信息
更新“课程信息”实体中的信息
3
修改密码
管理员
修改密码信息
输入一次旧密码和两次新密码
修改“管理员信息"实体中的信息
更新“管理员信息”实体中的信息
4
查询成绩
学生
按照课程名查询成绩信息
课程名
查询“成绩信息”实体中的信息
显示查询的课程成绩
3
修改密码
学生
修改密码信息
输入一次旧密码和两次新密码
修改更新“学生信息"实体中的信息
更新“学生信息"实体中的信息
6
成绩管理
教师
添加、修改或删除成绩信息
成绩信息中要修改的部分
修改“成绩信息”实体中的信息
更新“成绩信息"实体中的信息
7
成绩浏览
教师
查看某科全体学生的详细成绩信息
成绩信息的输入
“成绩信息”实体中的全部信息
显示某科全体学生的详细成绩信息
8
查询挂科情况
教师
查看某科成绩的挂科信息
成绩信息输入
“成绩信息"实体中的全部信息
显示挂科的学生
9
修改密码
教师
修改密码信息
输入一次旧密码和两次新密码
修改更新“教师信息”实体中的信息
更新“教师信息”实体中的信息
2。2 性能需求
编号
性能名称
使用者
性能描述
输入
系统响应
输出
1
信息的添加,修改、删除数据库
管理员
在数据库中添加、修改、删除对应信息
输入添加、修改、删除对应信息
在1秒内对数据进行添加、修改、删除,并输出提示信息
输出提示信息
2
信息查询
管理员、用户
在数据库中查找需要的内容
输入需要检索的信息
在3秒内列出所有符合要求的记录
输出符合要求的记录
2.3约束需求
用户的权限受到一定限制,只能维护和修改自己的私有信息。
第二章 领域建模
1 类图
学生:
老师:
管理员:
课程:
成绩:
2 状态图
2.1教师状态图:
修改密码:
3 可扩展性
系统需要维护和升级,所以需要考虑可扩展性,该系统很容易扩展新功能,适应“变化”的能力很强。
第三章 关键需求
1确定关键质量
性能
安全性
持续可用性
可互操作性
可靠性
鲁棒性
易用性
可测试性
可重用性
可维护性
可扩展性
可移植性
性能
--
—-
—-
——
——
—-
—-
--
——
安全性
--
—-
——
—-
——
持续可用性
+
+
可互操作性
—-
——
+
+
可靠性
—-
+
+
+
+
+
+
鲁棒性
——
+
+
+
易用性
——
+
——
可测试性
-—
+
+
+
+
+
可重用性
——
—-
+
-—
+
+
+
+
可维护性
—-
+
+
+
+
可扩展性
——
-—
+
+
+
+
可移植性
——
+
-—
+
+
——
+
图一质量属性关键矩阵(+:促进列;——:影响烈;“”:不明显影响)
成绩管理系统是一个运用广泛的系统,现在绝大部分学校已使用管理系统来管理学生成绩信息。所以以下是对在实际操作中可能出现的限制因素进行分析.
约束因素分类
约束因素
对构架(质量)的影响
经济因素
成本收益
预算的多少会影响架构师对技术的选择
影响软件质量:可重用性、可维护性、可移植性
投入时间
重用程度、技术选型
客户群
多国语言
支持外教、留学生使用
移动与便携
可以多个校园使用
现状
遗留系统的集成
互操作性
学生及老师管理员分布
分布式系统架构
可维护性、安全性
未来发展
期望系统生存期
可扩展性、可移植性
阶段计划
可重用性
可伸缩性、可扩展性、可移植性
其他
法律规定
可修改、、可维护性
竞争对手
技术选择
易用性
2确定关键功能
根据用户需要,成绩管理系统分为以下子系统:管理员管理信息系统(信息包括教师、学生、课程信息、信息发布功能以及成绩统计功能);教师管理成绩子系统(对学生成绩的录入、修改、查询等);学生查询成绩系统(查询功能);用户修改密码功能。
〈1〉核心功能:
² 管理员将教师、学生、课程信息添加到系统中
² 教师将成绩录入
² 系统将录入成绩的统计及打印
<2>必做功能
² 管理员的管理信息功能
² 成绩录入功能
² 成绩统计功能
² 成绩查询功能
〈3〉独特功能
² 信息发布
3具体关键需求分析
项目
内容
背景
系统定位
l 要做一个简单成绩管理系统,供学校使用
l 提高成绩管理效率
l 减少手工记录成绩的工作量
l 减少出错率
需求范围
关键需求
关键功能
² 管理员将教师、学生、课程信息添加到系统中
² 教师将成绩录入
² 系统将录入成绩的统计及打印
² 学生查询成绩
关键质量
² 运行期要保证正常运行
² 容易使用
² 使用维护简单的B/S架构
² 选择团队熟悉的开发技术,比如ASP.NET或Java
² 保证教师学生基本信息安全
第四章 概念架构设计
1 E—R图
2鲁棒图
3系统架构模式
第五章 细化架构设计
1 逻辑架构
(1)系统可分为三个子系统
其中,每个用户都包含用户登录功能块
(2) 教师管理学生信息系统
(3)学生查询成绩系统
(4)管理员用户管理系统
其中,用户管理方面可以划分为以下模块
2 开发架构
(1)系统采用三层架构模型进行开发
(2)数据表现层:负责用户和系统之间的交互,主要表现在将系统的数据按照用户的业务操作按照一定的规则显示在页面上.在学生成绩管理系统中,数据表现层根据用户的类型不同,分别展现不同的用户界面和功能,具体为,教师管理成绩界面,学生查询信息界面,管理员管理用户界面。
业务逻辑层:完成各个子系统之间的通信和交互,以实现系统的业务功能。本系统实现教师对成绩的管理,学生对成绩信息的查询,管理员对用户的管理。
数据处理层:实现系统的数据和数据库之间的交互。
3 物理架构
服务器端:PⅢ600/内存128Mb/硬盘10Gb以上的专用微机服务器;
客户端:PⅢ600/内存64Mb/硬盘6Gb以上的台式计算机;
功能分布与数据分布:系统的所有软件模块都集中在服务器上,所有的数据都保存在数据库服务器中。
4 运行架构
系统结构:B/S结构;
系统开发库:系统基于JSP技术作为系统的解决方案;
数据库:Microsoft SQL Server 2008;
服务器:IIS5.0;
开发环境:Netbeans;
服务器操作系统:Windows Server 2003;
客户端操作系统:windows 7及以上系统;
操作界面:浏览器界面,IE6。0.
5 数据架构
(1) 学生信息表
字段名称
数据类型
是否为空
说明
SNum
int
否
学号
SName
string
否
姓名
SSex
string
否
性别
SClass
string
否
班级
SPwd
string
否
密码
(2) 教师信息表
字段名称
数据类型
是否为空
说明
TNum
int
否
教工号
TName
string
否
姓名
TPwd
string
否
密码
(3) 管理员信息表
字段名称
数据类型
是否为空
说明
Num
int
否
账号
Name
string
否
姓名
Pwd
string
否
密码
(4) 课程表
字段名称
数据类型
是否为空
说明
CNum
string
否
课程号
CName
string
否
课程名
Period
int
否
学时
Credit
float
否
学分
(5)成绩表
字段名称
数据类型
是否为空
说明
SNum
int
否
学号
CNum
string
否
课程名
grade
float
否
学分
第六章 架构验证
1关键决策
1。1关键组件
程序采用图形界面进行交互
1.2原型实现的描述
管理员、教师和学生通过相同的登陆界面进入不同的页面,选择不同的菜单实现不同的功能。例如当管理员登录时,读取数据库的信息,数据库通过接口返回页面,使得管理员登陆成功。
2架构验证结论
1、运行期质量测试结果:
1) 性能
消息传递顺利,运行速度很快,吞吐量大,持续高速性好。
2) 安全性
安全性保密性好,不会轻易泄漏信息.
3) 易用性
界面简约易操作。
4) 持续可用性
如果在一段时间内,软件系统故障停机时间分别为t(d1),t(d2),……,正常运行时间分别为t(u1),t(u2),……,则系统的稳定可用性为:
A=T(up)/T(up)+T(down)
其中 T(up)=,T(down)=
得 A=0。03
5) 可伸缩性
当用户数和数据量增加时,软件系统维持高服务质量的能力很强。
6) 互操作性
本系统与其他系统交换数据和相互调用服务很简单。
7) 可靠性
该系统在一定的时间内无故障运行很好。
平均无故障时间MTTF与测试时间存在线性关系,即MTTF=5+5T
经验表明,平均无故障时间与单位长度程序中剩余的错误数成反比,即
MTTF=1/K(Et/It-Ec/It),K的典型值为200
8) 鲁棒性
该系统在用户进行了非法操作和软硬件系统发生了故障的情况下,系统大部分功能还是可以执行的。
2、开发期质量的评审结果:
1) 易理解性
因为操作简单,代码简单,所以开发人员很容易理解
2) 可扩展性
该系统很灵活,很适应新需求
3) 可重用性
从软件开发的长远目标上看,可重用性表明了一个软件组件除了在最初开发
的系统中使用之外,还可以在其它应用程序中使用的程度。确定了系统中一些元素用了方便于代码重用的方法设计,规定了作为项目副产品的可重用性组件库。
4) 可测试性
该系统进行了白盒测试和黑盒测试
5) 可维护性
理解软件、更改软件和测试软件的程度很简单,可维护性强,开发人员对本系统始终保持维护工作。
6) 可移植性
软件移植的可行性分析可以为以后确定测试目标与范围做好准备,该系统的可移植性很容易。
综上所述,该架构设计符合要求。
第七章 总结
这次课程设计我主要负责领域建模和系统测试及架构验证,通过这次课程设计,我知道了课程设计是我们的一门很重要的专业课,给我很多专业知识以及专业技能上的提升,使我对抽象的理论有了具体的认识,知道了什么是领域模型以及领域建模的重要性,明白了系统的测试方法和架构验证的目的,还了解了软件架构设计的六大部分(需求分析、领域建模、确定关键需求、概念架构设计、细化架构设计和架构验证),以及提高了我的思维分析能力,熟练掌握了各种画图工具,培养了我们学生综合运用相关课程知识独立解决实际问题的能力.
通过这一次的课程设计,,我知道了在需求分析中需求沟通和非功能需求的确定很重要,领域建模实践的精髓是“业务决定功能,功能决定模型",其中关键需求决定了架构的大方向,概念架构是高层架构成果的核心,框定了架构大方向,是甲方规划、乙方投标的评定关键。细化架构必须关注“模块+接口”,架构验证的输出结果是“架构原型”。
与此同时,我觉得自己的经验不足,知识欠缺,也遇到了很多问题,比如:用户可能无法理解做好需求分析的重要性,因此对软件需求分析员配合度不高,需求分析员需要花比较大的时间与用户沟通取得理解。作为需求分析人员不仅需要良好的沟通能力,还需要有足够的耐心。对用户缺乏专业知识而产生的不合理需求要与客户良好沟通。
总之,感觉自己在这次的课设中各方面都有了一定的提高。
10
展开阅读全文