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