软件工程学生成绩管理系统.docx
《软件工程学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程学生成绩管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
软件工程学生成绩管理系统
软件工程课程设计报告
题目:
_____学生成绩管理系统____
专业班级:
___计算机系计科102班___
姓名:
____________________
学号:
_____________
同组姓名:
______
___________________
成绩评定目录年月日指导教师:
绪论....................................................................系统分析................................................................系统目标....................................................................功能要求....................................................................可行性研究方法..............................................................系统可行性分析..............................................................需求分析........................................................................................................................................学生学生成绩管理系统管理员
参与者用例编号用例
登录1管理员
浏览信息2按成绩排序3查询4对学生成绩增、删、改5学生1登录2浏览信息
3查找成绩进行管理,并且可以对学生的成绩进行排序。
测试学生登录系统的功能是否正确实现用例目的输入/动作预期输出/结果实际结果选择学生登录,输入提示“输入错误密码,提示“输入错误密码,错误密码请重新输入”请重新输入”
提示“无法找到该提示“无法找到该学选择学生登录,输入生”密码,输入错误名字学生”选择学生登录,输入进入学生登录子系统进入学生登录子系统
账号,输入密码,单击登录
第1章2
第2章3
3
3
3
3
第3章4
引言4
任务概述....................................................................4
编写目的..................................................................4
背景......................................................................4
功能需求....................................................................4
管理功能部分..............................................................4
管理员功能...............................................................4
学生功能.................................................................4
数据流图....................................................................5
学生成绩管理系统逻辑结构图..................................................5
用例........................................................................6
第4章概要设计................................................................8
设计目标.....................................................................8
编写目的....................................................................8
任务概述....................................................................8
9....................................................................总体设计
系统设计思想..............................................................9
学生成绩管理系统顺序图...................................................10
接口设计...................................................................11
第5章详细设计...............................................................12
根本任务...................................................................12
程序流程图.................................................................12
详细设计说明...............................................................14
第六章软件测试...............................................................16
第七章实验结果截图显示......................................................18
第八章程序源代码............................................................20
第九章实验总结...............................................................28
28...............................................................参考文献第十章.
第1章绪论
随着互联网的发展,利用INTERNET技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。
服务教学、提高教学水平和教学结果查询是校园网建设的核心目标和核心价值,本系统立足于校园实际,争取做出一个方便快捷的成绩管理系统,实现成绩信息的管理。
该项目主要是服务于学生成绩管理方面,进一步方便教师的工作和学生的成绩查询,从而从侧面达到提高学校的管理质量。
它具有使用范围广,实用性强,使用简单,所花经费少等优点。
主要功能有两个方面:
管理员,登陆,进入系统,可以进行管理员操作,进行学生信息及成绩信息的编辑、查询、删除、修改、添加、排序等操作。
学生,登陆,进入系统,可以进行查询等操作。
软件系统目标:
(1)本系统具有很强的可靠行,可以对录入的学生信息进行效验,对数据进行修改、删除,规定各种权限。
(2)本系统中的模块具有很强的可续性,可以方便管理人员的修改与维护。
(3)本系统操作方便、灵活、简单。
)本系统可高效、快速的查询到学生的基本信息。
4(.
第2章系统分析
系统目标
学生用户和管理员用户可以进入不同的管理模块,并且只有密码输入正确才能进入功能模块,学生用户只能查询学生信息,管理员用户可以对学生成绩实行各种操作。
功能要求
1.性能:
学生成绩的增加、删除、修改,排序及查询
2.输入:
学生管理员密码
3.输出:
学生成绩信息
4.基本的数据流程和处理流程:
事务事务
图2-1基本数据和处理流程
5.安全与保密要求:
登录系统时,需验证密码;不同身份的登录者,具有不同的使用权限。
可行性研究方法
主要为对现有成绩管理系统的分析和研究比较的方法。
系统可行性分析
可行性分析是为了清除的了解系统开发是否能够实际进行,是否能够带来一定效益,是否值得实现。
因而进行可行性分析是非常必要的,从下面几个方面来进行分析。
1.技术可行性:
设置不同权限,提高了数据的安全性。
2.运行可行性:
本系统作为一个小型的学生成绩管理系统,所耗费的资源非常的小。
已有软件和硬件配置均能满足需要。
3.经济可行性:
服务端及客户端的支出使用原有设备即可。
但是对软件有一次性软件费用支出和定期性软件维护支出。
软件使用后,能够减少人力的支出和维护。
4.法律可行性:
本软件属项目组开发,符合法律的各项规定。
5.使用可行性:
软件针对学校以及学院,对使用人员没有特殊限制,管理老师、学生等均可使用。
界面友好,操作简单,能够保证大多数用户使用该系统的要求。
结论
通过可行性的一系列分析可得出结论,在现有的条件下,系统的开发方案是可行的。
开发条件具备,可以开始进行实际开发。
.
第3章需求分析
引言
随着互联网的发展,利用INTERNET技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子设备等方面发挥了重要作用。
服务教学、提高教学水平和效果是校园网将设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,实现信息资源的共享。
该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面的“软件”质量。
任务概述
3.2.1编写目的
解决学校对学生信息进行处理时,对各种数据的需求,并且能够有助于学校方面对学生的管理。
主要解决学生系你想查询困难等问题。
确定学生信息管理系统功能的需求,数据需求及软、硬件需求。
确定学生成绩管理系统所能实现的功能,本系统中主要是对数据进行操作,如学生信息及成绩的增加,删除,修改,查看,排序等功能。
3.2.2背景
这次待开发的系统名称为:
学生成绩管理系统
本次项目任务的完成者:
刘瑶、李纳、谢千玲、周石花
用户:
管理老师,学生
功能需求
3.3.1管理功能部分
从业务流程图可以看出,学生成绩挂历系统分为大的两个方面:
管理员模块,学生模块,其主要管理功能有:
3.3.1.1管理员功能
管理员进入学生成绩管理的主要功能是:
实现对学生信息及成绩的添加,删除,修改,查询和排序等基本功能。
3.3.1.2学生功能
学生进入学生成绩管理系统的主要功能是:
每个学生登录系统后可以查询自己的个人信息以及成绩信息,查询的时候可以通过姓名也可以通过学号查询,同时学生登录时需要密码。
数据流图
图3-1数据流顶层图
数据流细化图3-2图
学生成绩管理系统逻辑结构图
用户操作学生成绩管理系统
业务逻辑
数据存储图3-3逻辑结构图
用例
主要参与者及用例表3-1
表3-1学生成绩管理系统用例表
用例图
图3-4学生成绩系统用例图
类图
类图的初步设计3-5图
第4章概要设计
设计目标
概要设计师软件开发过程中的一个阶段就,在这个阶段需要完成一些明确的事情。
概要设计阶段的基本目的是回答“概括的说,系统应该如何实现”。
通过这个阶段,确定系统的组成模块。
本学生成绩管理系统由管理员、学生两个大模块组成。
每个模块又由自己的子模块组成。
编写目的
基于现在的学生越来越多,老师的工作量越来越大。
伴随着网络信息化,学生成绩管理也必须迈进一个更加进步的时代。
那就是用网络来管理学生成绩,实现一个电子管理学生成绩的平台,减轻老师的负担,也便利教务处的管理工作。
在本系统中,学生可以选课,退课,查询成绩;老师在期中期末的时候给学生打分,并按百分比计算,提交之前可以修改学生的成绩;管理员可以对教师、学生、课程的信息进行增、删、查、改,并且可以发布公告,新闻。
如果学生,教师,管理员想进入这个系统,必须先进行登录,新用户要注册,可以进行个人信息的维护,如密码的修改等。
任务概述
4.3.1目标
(1)本系统具有很强的可靠行,可以对录入的学生的成绩,对学生成绩进行修改、删除,并且可以对学生成绩进行排序。
(2)本系统中的模块具有很强的可续性,可以方便管理人员的修改与维护。
(3)本系统操作方便、灵活、简单。
(4)本系统可高效、快速的查询到学生的基本信息。
4.3.2需求概述
学生成绩管理系统是为方便教师学生实时掌握成绩、课程等相关信息,学生可以方便快捷的查询自己的成绩而研发的系统,旨在大幅度节约教师和学生们时间,提升教务系统办事效率。
总体设计
4.4.1系统设计思想
总模块软件结构
学生成绩管理系统主模块4-1图成学生,可以将这个系统分为以下模块:
根据上面的需求分析学生子模块和管理员子模块
学生子模管理员子
删修查学浏图4-2学生成绩管理系统层次图
除改生览询模块功能表4-1
个学学成学学生可以在该模块中查询自己的成绩学生子模块管理员可以再此模块中浏览学生的成绩,对学生的成绩信息管理员子模块
4.4.2学生成绩管理系统顺序图
图4-3学生成绩信息顺序图
4.4.3学生成绩管理系统协作图
图4-4学生成绩信息协作图
4.4.4学生成绩管理系统状态图
图4-5学生成绩信息状态图
接口设计
4.5.1外部接口与用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
外观上也要做到合理化,考虑到用户多对WINDOW风格较熟悉,应尽量向这一方向靠拢。
在设计语言上,已决定使用VisualC++进行编程。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。
4.5.2内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在下面数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参。
数传递或返回值的形式在各模块间传输.
第5章详细设计
根本任务
依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,具体来说就是把经过总体设计得到的各个模块详细的加以描述。
程序流程图
1.系统主程序流程图
图5-1主程序流程图
2.学生登录模块
图5-2学生用户流程图
3.管理员管理流程图
图5-3管理员管理流程图
4.系统类图
图5-4成绩管理系统类图
详细设计说明
管理模块包括以下内容:
界面设计
用户登陆:
该系统根据用户的身份实现了不同的功能,用户登陆时需要选择一种登陆方式(默认情况下是学生),系统再根据用户选择的登陆方式到相应的表中去搜索。
例如,登陆时选择了教师登陆方式,系统将会在教师信息表中搜索是否存在与该用户的输入相符的信息,如果存在则进入教师主页,否则提示用户输入有误,请重新输入。
学生用户界面
1.按照学号查找
学生可以查询自己指定的学号查询成绩,方便学生了解成绩情况。
2.按照学生姓名查找
学生可以查询自己指定姓名查询成绩,方便学生了解自身情况。
.
管理员界面
1.增加学生成绩
管理员可以增加某个学生的某门科目的成绩。
2.显示学生成绩
管理员可以显示所有学生所有科目的成绩。
3.排序统计成绩
管理员可以根据学生成绩进行排序和统计。
4.查找学生成绩
管理员可以查询某个学生的成绩。
5.删除学生成绩
管理员可以删除某个学生的成绩。
6.修改学生成绩
管理员可以修改学生的成绩。
.
第六章软件测试
测试用例设计
表6-1
用例编C001
号“学生登录”功能测试对
象表6-2
用例编C002
号“管理员登录”子系统界面测试对象.
用例目测试管理员登录子系统界面的功能是否正确实现
的
输入/动作
预期输出
选择管理员登录,输
提示“输入错误密码,
入错误密码
请重新输入”
选择管理员登录,输
进入管理员登录子系
入密码
统
观察界面是否正确显
显示“增加学生成绩”
示操作按钮
“显示学生成绩”
序统计成绩”生成绩,“删除学生成绩”,“修改学生信息”
结实际结提“输入错误密码请重新输入进入管理员登录子显示“增加学生绩“显示学生绩查找“排序统计绩查找学生成绩“删除学生成绩“修改学生信息
表6-3
用例编C003
号“管理员登录”子系统增加学生成绩功能测试对象测试“管理员登录”子系统增加学生成绩功能是否正确实用例目现的
预期输出/结果实际结果输入/动作
在“教师登录”子系显示要增加的学生的显示要增加的学生的统中选择增加学生成姓名和学号和各科成姓名和学号和各科成绩功能绩绩.
表6-4
用例C004
“管理员登录”子系统排序统计学生成绩功测试测试“管理员登录”子系统排序统计学生成绩功能是否用例确实
预期输结实际结输动
在“管理员登录”显示排序成显示排序成
系统中选择排序查询功能
6-5表
用例编C005
号“管理员登录”子系统显示学生成绩功能测试对
象测试“管理员登录”子系统显示学生成绩功能是否正确实用例目现的预期输出/结果实际结果输入/动作
在“教师登录”子系显示所有学生的姓名显示所有学生的姓名统中选择显示学生成和学号和各科成绩和学号和各科成绩绩功能
第七章实验结果截图显示
代码运行之后的主界面
图7-1
学生模块显示
图7-2
7-3
图
管理员模块显示
7-4
图
第八章程序源代码
#include
#include<>
#include<>加学生成绩☆★〓〓〓〓〓〓〓〓〓<潣瑵?
〓〓〓〓〓〓〓〓〓★☆2.显示学生成绩☆★〓〓〓〓〓〓〓〓〓<潣瑵?
〓〓〓〓〓〓〓〓〓★☆3.排序统计成绩☆★〓〓〓<〓〓〓〓〓〓〓〓〓★
<〓〓〓〓〓〓〓〓〓★☆删除学生成绩★〓〓〓<〓〓〓〓〓〓〓〓〓★☆6.<〓〓〓〓〓〓〓〓〓★☆安全退出系统<cout<<\
\t\t\n\t\t请选择:
}
;※学生的姓名查找\n\t\t2.按学生学号查找;请选择:
cout<<\
\t\t*********************************\ncin>>x;
switch(x)
{
;cin>>name;
请输入要查找的学生的姓名:
case1:
{cout<<\\t
if(p=FindItem(name))
{
p->Next->Show();
潣瑵?
输入任意字符!
继续……;
getch();
}
else
{
cout<<\\t没有找到该姓名的学生!
<<'\n'<潣瑵?
输入任意字符!
继续……;
getch();
}
}break;
case2:
{
cout<<\\t请输入要查找的学生的学号:
;cin>>Id;
if(p=FindID(Id))
{
p->Next->Show();
潣瑵?
输入任意字符!
继续……;
getch();
}
else
{
cout<<\\t没有找到该学好的学生!
<<'\n'<潣瑵?
输入任意字符!
继续……;
getch();
}
}break;
}
}
.<Student*p=NULL,*p1=NULL,*k=NULL;
intn=Studentmassage:
:
ListCount();
if(n<2)
return;
for(p=Head->Next;p!
=End;p=p->Next)
for(k=p->Next;k!
=End;k=k->Next)
{
if(p->sum>k->sum)
{Studentmassage:
:
Swap(p,k);}
}
潣瑵?
尼排序完成!
<getch();return;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
voidStudentmassage:
:
Save()
{
(\);
for(Student*p=Head->Next;p!
=End;p=p->Next)
out<name<<\<Id<<\<Cnum<<\
<Mnum<<\<Enum<<\<sum<<'\n';
();
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
intmain()
{
intx,i,j;
boolquit=false;
StudentmassageGrade;
cout<<\\t§§§§§§§§§§§§§§§§§§§§§§§§§§<for(i=0;i<3;i++)