软件工程学生成绩管理系统.docx
《软件工程学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程学生成绩管理系统.docx(21页珍藏版)》请在冰豆网上搜索。
软件工程学生成绩管理系统
成绩评定
指导教师:
论
统分析
第1章绪
第2章系
系统目标
功能要求
可行性研究方法系统可行第3章需引言…任务概述..
编写目的
背景……
功能需求..
予性分析
求分析.
软件工程课程设计报告
题目:
一学生成绩管理系统.
专业班级:
_计算机系计科102班.
姓名:
学号:
同组姓名:
—
管理功能部分
管理员功能
学生功能
数据流图
学生成绩管理系统逻辑结构图
用例
第4章概要设计
设计目标
编写目的
任务概述
总体设计
2
3
3
3
3
3
4
4
4
4
4
4
4
4
4
5
5
6
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章需求分析
引言
随着互联网的发展,利用INTERNETS术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子设备等方面发挥了重要作用。
服务教学、提高教学水平和效果是校园网将设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,实现信息资源的共享。
该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面的“软件”质量。
任务概述
3.2.1编写目的
解决学校对学生信息进行处理时,对各种数据的需求,并且能够有助于学校方面对学生的管理。
主要解决学生系你想查询困难等问题。
确定学生信息管理系统功能的需求,数据需求及软、硬件需求。
确定学生成绩管理系统所能实现的功能,本系统中主要是对数据进行操作,如学生信息及成绩的增加,删除,修改,查看,排序等功能。
3.2.2背景
这次待开发的系统名称为:
学生成绩管理系统本次项目任务的完成者:
刘瑶、李纳、谢千玲、周石花用户:
管理老师,学生
功能需求
3.3.1管理功能部分
从业务流程图可以看出,学生成绩挂历系统分为大的两个方面:
管理员模块,学生模块,其主要管理功能有:
3.3.1.1管理员功能
管理员进入学生成绩管理的主要功能是:
实现对学生信息及成绩的添加,删除,修改,查询和排序等基本功能。
3.3.1.2学生功能学生进入学生成绩管理系统的主要功能是:
每个学生登录系统后可以查询自己的个人信息以及成绩信息,查询的时候可以通过姓名也可以通过学号查询,同时学生登录时需要密码。
数据流图
图3-1数据流顶层图图3-2数据流细化图
学生成绩管理系统逻辑结构图
用例
主要参与者及用例表3-1
表3-1学生成绩管理系统用例表
参与者
用例编号
用例
管理员
1
登录
2
浏览信息
3
按成绩排序
4
查询
5
对学生成绩增、删、改
学生
1
登录
2
浏览信息
3
查找成绩
用例图
图3-4学生成绩系统用例图
类图
图3-5类图的初步设计
第4章概要设计
设计目标
概要设计师软件开发过程中的一个阶段就,在这个阶段需要完成一些明确的事情。
概要设计阶段的基本目的是回答“概括的说,系统应该如何实现”。
通过这个阶段,确定系统的组成模块。
本学生成绩管理系统由管理员、学生两个大模块组成。
每个模块又由自己的子模块组成。
编写目的
基于现在的学生越来越多,老师的工作量越来越大。
伴随着网络信息化,学生成绩管理也必须迈进一个更加进步的时代。
那就是用网络来管理学生成绩,实现一个电子管理学生成绩的平台,减轻老师的负担,也便利教务处的管理工作。
在本系统中,学生可以选课,退课,查询成绩;老师在期中期末的时候给学生打分,并按百分比计算,提交之前可以修改学生的成绩;管理员可以对教师、学生、课程的信息进行增、删、查、改,并且可以发布公告,新闻。
如果学生,教师,管理员想进入这个系统,必须先进行登录,新用户要注册,可以进行个人信息的维护,如密码的修改等。
任务概述
4.3.1目标
(1)本系统具有很强的可靠行,可以对录入的学生的成绩,对学生成绩进行修改、删除,并且可以对学生成绩进行排序。
(2)本系统中的模块具有很强的可续性,可以方便管理人员的修改与维护。
(3)本系统操作方便、灵活、简单。
(4)本系统可高效、快速的查询到学生的基本信息。
4.3.2需求概述
学生成绩管理系统是为方便教师学生实时掌握成绩、课程等相关信息,学生可以方便快捷的查询自己的成绩而研发的系统,旨在大幅度节约教师和学生们时间,提升教务系统办事效率。
总体设计
4.4.1系统设计思想
总模块软件结构
图4-1学生成绩管理系统主模块
根据上面的需求分析
:
学生子模块和管理员子模块
学生子模
管理员子
图4-3学生成绩信息顺序图
4.4.3学生成绩管理系统协作图
图4-4学生成绩信息协作图
4.4.4学生成绩管理系统状态图
图4-5学生成绩信息状态图
接口设计
4.5.1外部接口与用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到
简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
外观上也要做到合理化,考虑到用户多对WINDOWS格较熟悉,应尽量向这一方向靠拢。
在设计语言上,已决定使用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<>
加学生成绩
☆
★〓〓〓〓〓
〓〓〓〓"<cout<<"
===★
☆
2.
显示学生成绩
☆
★〓〓〓
"<cout<<"
===★
☆
3.
排序统计成绩
☆
★〓〓〓
"<cout<<"
===★
☆
4.
查找学生成绩
☆
★〓〓〓
"<cout<<"
===★
☆
5.
删除学生成绩
☆
★〓〓〓
"<cout<<"
===★
☆
6.
修改学生信息
☆
★〓〓〓
"<cout<<"
===★
☆
0.
安全退出系统
☆
★〓〓〓
"<cout<<"\n\t\t\n\t\t
请选择:
";
}
学生的姓名查找\n\t\t※
2.按学生学号查找
H・
J
cout<<"\n\t\t*********************************\n
请选择:
";
cin>>x;
switch(x)
{
case1:
{cout<<"\t\t请输入要查找的学生的姓名:
";cin>>name;
if(p=FindItem(name))
{
p->Next->Show();
coutvv"输入任意字符!
继续……";
getch();
}
else
{
cout<<"\t\t没有找到该姓名的学生!
"<<'\n'<coutvv"输入任意字符!
继续……";
getch();
}
}break;
case2:
{
coutvv"\t\t请输入要查找的学生的学号:
";cin>>Id;if(p=FindID(Id))
{
p->Next->Show();
coutvv"输入任意字符!
继续……";
getch();
}
else
cout<<"\t\t没有找到该学好的学生!
"<<'\n'<cout<<"输入任意字符!
继续
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);}
}
cout<<"排序完成!
"<getch();return;
}
//保存函数
voidStudentmassage:
:
Save()
("");
for(Student*p=Head->Next;p!
=End;p=p->Next)
out<name<<"\t"<Id<<"\t"<Cnum<<"\t"<Mnum<<"\t"<Enum<<"\t"<sum<<'\n';
();
}
//主函数
intmain()
{
intx,i,j;
boolquit=false;
StudentmassageGrade;
t§§§§§§§§§§§§§§§§§§§§§§§§§§"<cout<<"\t\t◎\t\t\t\t\t\t◎"<cout<<"\t\t◎★★★★0学生用户(学生只能读取学生信息)★★★★◎"<cout<<"\t\t◎★★★★1管理员用户★★★★◎"<for(i=0;i<3;i++)
cout<<"\t\t◎\t\t\t\t\t\t◎"<t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<";
cin>>j;
switch(j)
case0:
{
student();
();
}break;
case1:
manager();
while(!
quit)
{
system("cls");
();
cin>>x;
switch(x)
{
case0:
quit=true;break;
case1:
();break;
case2:
();break;
case3:
();break;
case4:
();break;
case5:
();break;
case6:
();break;
}
}break;
}return0;
第九章实验总结
此次课程设计,我们小组根据老师所给的选题,我们选择的是学生成绩管理系统。
小组根据讨论然后分工进行系统分析、需求分析、概要设计和详细设计。
之后总结各自的分析设计,进行代码的编写,修正。
第一次的代码运行结果就只是对成绩的添加、删除、修改和查询,之后再根据选题的要求将学生、管理员模块添加进去,再添加密码和在管理远程序中按照学生的成绩进行了排序。
通过这次的课程设计对系统的分析,我对软件工程有了进一步层次的了解,也让我意识到只有通过实践,才能真正理解计算机很多课程所叙述的内容,才能真正的去把握这门课程,操作是计算机这门学科必不可少的一门环节。
同时我也认识到了团结的重要性,一个人的力量是有限的,一个人的精力也是有限的,只有通过合作才能更快更好的完成任务。
第十章参考文献
1、《软件工程导论》——张海藩编着清华大学出版社
2、《uml基础与Rose建模》一一谢星星编着清华大学出版社
3、《数据结构》——严蔚敏吴伟民编着清华大学出版社