学生成绩管理系统软件架构课程设计.docx

上传人:b****5 文档编号:5117732 上传时间:2022-12-13 格式:DOCX 页数:25 大小:469.58KB
下载 相关 举报
学生成绩管理系统软件架构课程设计.docx_第1页
第1页 / 共25页
学生成绩管理系统软件架构课程设计.docx_第2页
第2页 / 共25页
学生成绩管理系统软件架构课程设计.docx_第3页
第3页 / 共25页
学生成绩管理系统软件架构课程设计.docx_第4页
第4页 / 共25页
学生成绩管理系统软件架构课程设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统软件架构课程设计.docx

《学生成绩管理系统软件架构课程设计.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统软件架构课程设计.docx(25页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统软件架构课程设计.docx

学生成绩管理系统软件架构课程设计

 

淮海工学院计算机工程学院

《大型软件系统构造》大作业

名称:

学生成绩管理系统的设计

专业班级:

软件122班

姓名:

韩莹

系(院):

计算机工程学院

时间:

201548〜〜201568

成绩:

指导教师评语:

签名:

年月日

第一章需求分析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.3Feature

1)功能覆盖3大业务域:

管理员管理、教师管理、学生管理

2)管理员管理相关的功能组包括:

管理员信息管理、教师信息管理、学生

信息管理、课程信息管理、密码管理

3)教师管理相关的功能组包括:

学生成绩管理、密码管理

4)学生管理相关的功能组包括:

查询成绩、密码管理

5)“学生成绩管理”包括:

录入学生成绩、修改学生成绩、删除学生成绩

6)技术特色:

与著名工具的无缝集成

7)技术特色:

二次开发支持

1.3.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类图

学生:

Student

-SNum:

int-SName:

string-SSex:

string-SClass:

string-SPwd:

string+Student(inSNum:

int)+Student(inSNum:

int,inSName:

string,inSSex:

string,inSClass:

string,inSPwd:

string)+getSNum():

int

+getSName(inName:

string):

void+getSSex():

void+getSCIass():

void

+getSPwd(inNewPwd:

string):

void

老师:

Teacher

-TNum:

-TName-TPwd:

int

:

stringstring

+Teacher(inTNum:

int)

+Teacher(inTNum,inTName,inTPwd)+getTNum():

int

+getTName():

string

+getTName(innewTName:

string):

void

+getTPwd():

string

+getTPwd(innewPwd:

string):

void

+ToString():

string

管理员:

Administrator

-Num:

string

-Name:

string

-Pwd:

string

+administrator(inNum:

string)

+administrator(inNum:

string,inName:

string,inPwd:

string)+getNum():

string

+getName():

string

+getName(innewName:

string):

void

+getPwd():

string

+getPwd(innewPwd:

string):

void

+toString():

string

课程:

Course

-CNum:

string

-CName:

string

-Period:

int

-Credit:

float

+Course(inCNum)

+Course(inCNum,inCName,inPeriod,inCredit)+getCNum():

string

+getCName():

string+getPeriod():

string+getCredit():

string

成绩:

Grade

-SNum:

int

-CNum:

string

-grade:

float

+Grade(inSNum:

int,inCNum:

string)

+Grade(inSNum:

int,inCNum:

string,ingrade:

int)

+setGrade(ingrade:

int)

+getGrade():

int

2状态图

2.1教师状态图:

-•密码或用户名、不正确

Do湿示

尺警告J

密码

验证气

Do/输入密码并验证

录入失败

Do/发出警告

修改密码:

原密码不正确

Do/显示警告

修改密码

Do/输入原密码

两次新密码不一样

修改密码

Do/显示警告

X..

Do/输入新密码

修改密码

Do/再次输入新

密码

,丿

3可扩展性

系统需要维护和升级,所以需要考虑可扩展性,该系统很容易扩展新功能,适应“变化”的能力很强。

第二章关键需求

1确定关键质量

性能

安全性

持续可用性

可互操作性

鲁棒性

易用性

可测试性

可重用性

可维护性

可扩展性

可移植性

性能

安全性

--

--

持续可用性

+

+

可互操作性

--

--

+

+

可靠性

--

+

+

+

+

+

+

鲁棒性

--

+

+

+

易用性

--

+

--

可测试性

--

+

+

+

+

+

可重用性

--

--

+

--

+

+

+

+

可维护性

--

+

+

+

+

可扩展性

--

--

+

+

+

+

可移植性

--

+

--

+

+

--

+

图一质量属性关键矩阵(+:

促进列;--:

影响烈;“”:

不明显影响)

成绩管理系统是一个运用广泛的系统,现在绝大部分学校已使用管理系统来管理学生成

绩信息。

所以以下是对在实际操作中可能出现的限制因素进行分析。

 

约束因素分类

约束因素

对构架(质量)的影响

经济因素

成本收益

预算的多少会影响架构师对技术的选择

影响软件质量:

可重用性、可维护性、可移植性

投入时间

重用程度、技术选型

客户群

多国语言

支持外教、留学生使用

移动与便携

可以多个校园使用

现状

遗留系统的集成

互操作性

学生及老师管理员分布

分布式系统架构可维护性、安全性

未来发展

期望系统生存期

可扩展性、可移植性

阶段计划

可重用性

可伸缩性、可扩展性、可移植性

其他

法律规定

可修改、、可维护性

竞争对手

技术选择易用性

2确定关键功能

根据用户需要,成绩管理系统分为以下子系统:

管理员管理信息系统(信息包括教师、学生、课程信息、信息发布功能以及成绩统计功能);教师管理成绩子系统(对学生成绩的

录入、修改、查询等);学生查询成绩系统(查询功能);用户修改密码功能。

<1>核心功能:

管理员将教师、学生、课程信息添加到系统中

教师将成绩录入

系统将录入成绩的统计及打印

<2>必做功能

管理员的管理信息功能

成绩录入功能

成绩统计功能

成绩查询功能

<3>独特功能

信息发布

3具体关键需求分析

项目

系统定位

内容

要做一个简单成绩管理系统,供学校使用提高成绩管理效率

减少手工记录成绩的工作量

减少出错率

学生信息管理

教师信息管理

课程信息管理

背景

需求范围

关键功能

关键需求

关键质量

成绩管理

成绩统计

管理员将教师、学生、课程信息添加到系统中教师将成绩录入

系统将录入成绩的统计及打印

学生查询成绩

运行期要保证正常运行

容易使用

使用维护简单的B/S架构

选择团队熟悉的开发技术,比如ASP.NET或Java

保证教师学生基本信息安全

 

第四章概念架构设计

1E-R图

2鲁棒图

團氐1后台管理魯棒團

3系统架构模式

 

第五章细化架构设计

1逻辑架构

(1)系统可分为三个子系统

用户登录

登陆验证

修改信息

取回密码

(2)教师管理学生信息系统

(3)学生查询成绩系统

学生查询成绩系统

(4)管理员用户管理系统

管理员用户管理系统

其中,用户管理方面可以划分为以下模块

用户管理系统

2开发架构

(2)数据表现层:

负责用户和系统之间的交互,主要表现在将系统的数据按照用户的业务操作按照一定的规则显示在页面上。

在学生成绩管理系统中,数据表

现层根据用户的类型不同,分别展现不同的用户界面和功能,具体为,教师管理成绩界面,学生查询信息界面,管理员管理用户界面。

业务逻辑层:

完成各个子系统之间的通信和交互,以实现系统的业务功能。

本系统实现教师对成绩的管理,学生对成绩信息的查询,管理员对用户的管理。

数据处理层:

实现系统的数据和数据库之间的交互。

3物理架构

服务器端:

PE600/内存128Mb/硬盘10Gb以上的专用微机服务器;

客户端:

PE600/内存64Mb/硬盘6Gb以上的台式计算机;

功能分布与数据分布:

系统的所有软件模块都集中在服务器上,所有的数据都保存在数据库服务器中。

多台便携电脑

4运行架构

系统结构:

B/S结构;

系统开发库:

系统基于JSP技术作为系统的解决方案;

数据库:

MicrosoftSQLServer2008;

服务器:

IIS5.0;

开发环境:

Netbeans

服务器操作系统:

WindowsServer2003

客户端操作系统:

windows7及以上系统;

操作界面:

浏览器界面,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

】田千口i=r.课程号

CName

string

课程名

Period

int

学时

Credit

float

学分

(5)

成绩表

字段名称

数据类型

是否为空

说明

SNum

int

学号

CNum

string

课程名

grade

float

学分

1关键决策

1.1关键组件

TO

学生成绩管理系统

ZM

U学生成绩「赶成绩

査询亠更新

程序采用图形界面进行交互

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(ui),T(down)='t(di)

得A=0.03

5)可伸缩性

当用户数和数据量增加时,软件系统维持高服务质量的能力很强。

6)互操作性

本系统与其他系统交换数据和相互调用服务很简单。

7)可靠性

该系统在一定的时间内无故障运行很好。

平均无故障时间MTTF与测试时间存在线性关系,即MTTF=5+5T经验表明,平均无故障时间与单位长度程序中剩余的错误数成反比,即

MTTF=1/K(Et/lt-Ec/lt),K的典型值为200

8)鲁棒性

该系统在用户进行了非法操作和软硬件系统发生了故障的情况下,系统大部

分功能还是可以执行的。

2、开发期质量的评审结果:

1)易理解性

因为操作简单,代码简单,所以开发人员很容易理解

2)可扩展性

该系统很灵活,很适应新需求

3)可重用性

从软件开发的长远目标上看,可重用性表明了一个软件组件除了在最初开发的系统中使用之外,还可以在其它应用程序中使用的程度。

确定了系统中一些元素用了方便于代码重用的方法设计,规定了作为项目副产品的可重用性组件库。

4)可测试性

该系统进行了白盒测试和黑盒测试

5)可维护性

理解软件、更改软件和测试软件的程度很简单,可维护性强,开发人员对本

系统始终保持维护工作。

6)可移植性

软件移植的可行性分析可以为以后确定测试目标与范围做好准备,该系统的

可移植性很容易。

综上所述,该架构设计符合要求。

第七章总结

这次课程设计我主要负责领域建模和系统测试及架构验证,通过这次课程设计,我知道了课程设计是我们的一门很重要的专业课,给我很多专业知识以及专业技能上的提升,使我对抽象的理论有了具体的认识,知道了什么是领域模型以及领域建模的重要性,明白了系统的测试方法和架构验证的目的,还了解了软件架构设计的六大部分(需求分析、领域建模、确定关键需求、概念架构设计、细化架构设计和架构验证),以及提高了我的思维分析能力,熟练掌握了各种画图工具,培养了我们学生综合运用相关课程知识独立解决实际问题的能力。

通过这一次的课程设计,,我知道了在需求分析中需求沟通和非功能需求的确定很重要,领域建模实践的精髓是“业务决定功能,功能决定模型”,其中关键需求决定了架构的大方向,概念架构是高层架构成果的核心,框定了架构大方向,是甲方规划、乙方投标的评定关键。

细化架构必须关注“模块+接口”,架

构验证的输出结果是“架构原型”。

与此同时,我觉得自己的经验不足,知识欠缺,也遇到了很多问题,比如:

用户可能无法理解做好需求分析的重要性,因此对软件需求分析员配合度不高,需求分析员需要花比较大的时间与用户沟通取得理解。

作为需求分析人员不仅需要良好的沟通能力,还需要有足够的耐心。

对用户缺乏专业知识而产生的不合理需求要与客户良好沟通。

总之,感觉自己在这次的课设中各方面都有了一定的提高。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1