




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成绩评定第1章第2章2.12.22.32.4第3章3.1指导教师: 绪论 统分析 系统目标 功能 可行性研究方法 系统可行性分析需引言要求求分析软件工程课程设计报告题 目: 学生成绩管理系统专业班级 :_ 计算机系计科 102 班姓 名: 学 号 : 同组姓名: 年月3.2 任务概述 3.2.1 编写目的 3.2.2 背景 3.3 功能需求 3.3.1 管理功能部分 管理员功能 学生功能 3.4 数据流图 3.5 学生成绩管理系统逻辑结构图 3.6 用例 第 4 章 概要设计 4.1 设计目标 4.2 编写目的 4.3 任务概述 4.4 总体设计 23333344444444455688889
2、4.4.1 系统设计思想 94.4.2 学生成绩管理系统顺序图 104.5 接口设计 11第 5 章 详细设计 125.1 根本任务 125.2 程序流程图 125.3 详细设计说明 14第六章 软件测试 16第七章 实验结果截图显示 18第八章 程序源代码 20第九章 实验总结 28第十章 参考文献 28第 1 章 绪论随着互联网的发展,利用 INTERNET技 术来实现“无纸办公”这个概念已经深入人心,校园网 作为学校信息化建设的一个平台在完成资源共享、 互联网访问、教务管理、 电子备课等方面发挥了 重要作用。服务教学、 提高教学水平和教学结果查询是校园网建设的核心目标和核心价值, 本系统
3、 立足于校园实际, 争取做出一个方便快捷的成绩管理系统, 实现成绩信息的管理。 该项目主要是服 务于学生成绩管理方面, 进一步方便教师的工作和学生的成绩查询, 从而从侧面达到提高学校的管 理质量。它具有使用范围广,实用性强,使用简单,所花经费少等优点。主要功能有两个方面: 管理员,登陆,进入系统,可以进行管理员操作,进行学生信息及成绩信息的编辑、查询、删 除、修改、添加、排序等操作。学生,登陆,进入系统,可以进行查询等操作。软件系统目标:(1)本系统具有很强的可靠行,可以对录入的学生信息进行效验,对数据进行修改、删除, 规定各种权限。(2)本系统中的模块具有很强的可续性,可以方便管理人员的修改
4、与维护。(3)本系统操作方便、灵活、简单。4)本系统可高效、快速的查询到学生的基本信息。第 2 章 系统分析2.1 系统目标学生用户和管理员用户可以进入不同的管理模块,并且只有密码输入正确才能进入功能模块, 学生用户只能查询学生信息,管理员用户可以对学生成绩实行各种操作。2.2 功能要求1. 性能:学生成绩的增加、删除、修改,排序及查询2. 输入:学生管理员密码3. 输出:学生成绩信息4. 基本的数据流程和处理流程:图 2-1 基本数据和处理流程5. 安全与保密要求:登录系统时,需验证密码;不同身份的登录者,具有不同的使用权限。2.3 可行性研究方法 主要为对现有成绩管理系统的分析和研究比较的
5、方法。2.4 系统可行性分析 可行性分析是为了清除的了解系统开发是否能够实际进行,是否能够带来一定效益,是否值得 实现。因而进行可行性分析是非常必要的,从下面几个方面来进行分析。1. 技术可行性:设置不同权限,提高了数据的安全性。2. 运行可行性:本系统作为一个小型的学生成绩管理系统,所耗费的资源非常的小。 已有软件 和硬件配置均能满足需要。3. 经济可行性:服务端及客户端的支出使用原有设备即可。但是对软件有一次性软件费用支出和 定期性软件维护支出。软件使用后,能够减少人力的支出和维护。4. 法律可行性:本软件属项目组开发,符合法律的各项规定。5. 使用可行性: 软件针对学校以及学院, 对使用
6、人员没有特殊限制, 管理老师、学生等均可使用。 界面友好,操作简单,能够保证大多数用户使用该系统的要求。2.5 结论通过可行性的一系列分析可得出结论, 在现有的条件下, 系统的开发方案是可行的。 开发条件 具备,可以开始进行实际开发第 3 章 需求分析3.1 引言随着互联网的发展,利用 INTERNET技术来实现“无纸办公”这个概念已经深入人心,校 园网作为学校信息化建设的一个平台在完成资源共享、 互联网访问、 教务管理、电子设备等方面发 挥了重要作用。 服务教学、 提高教学水平和效果是校园网将设的核心目标和核心价值, 本系统立足 于校园实际,着眼于未来发展, 实现信息资源的共享。 该项目主要
7、是服务于教学方面,进一步方便 教师的工作和学生的学习,从而从侧面达到提高学校的教学方面的“软件”质量。3.2 任务概述3.2.1 编写目的解决学校对学生信息进行处理时,对各种数据的需求,并且能够有助于学校方面对学生的 管理。主要解决学生系你想查询困难等问题。确定学生信息管理系统功能的需求,数据需求及软、 硬件需求。 确定学生成绩管理系统所能实现的功能, 本系统中主要是对数据进行操作, 如学生信息 及成绩的增加,删除,修改,查看,排序等功能。3.2.2 背景这次待开发的系统名称为:学生成绩管理系统 本次项目任务的完成者:刘瑶、李纳、谢千玲、周石花 用户:管理老师,学生3.3 功能需求3.3.1
8、管理功能部分从业务流程图可以看出,学生成绩挂历系统分为大的两个方面:管理员模块,学生模块, 其主要管理功能有:3.3.1.1 管理员功能管理员进入学生成绩管理的主要功能是: 实现对学生信息及成绩的添加, 删除,修改, 查询和排序等基本功能。3.3.1.2 学生功能 学生进入学生成绩管理系统的主要功能是:每个学生登录系统后可以查询自己的个人信息 以及成绩信息,查询的时候可以通过姓名也可以通过学号查询,同时学生登录时需要密码。3.4 数据流图图 3-1 数据流顶层图图 3-2 数据流细化图3.5 学生成绩管理系统逻辑结构图3.6 用例 主要参与者及用例表 3-1 表 3-1 学生成绩管理系统用例表
9、参与者用例编号用例管理员1登录2浏览信息3按成绩排序4查询5对学生成绩增、删、改学生1登录2浏览信息3查找成绩用例图图 3-4 学生成绩系统用例图3.7 类图图 3-5 类图的初步设计第 4 章 概要设计4.1 设计目标概要设计师软件开发过程中的一个阶段就,在这个阶段需要完成一些明确的事情。 概要设计 阶段的基本目的是回答 “概括的说, 系统应该如何实现?” 。通过这个阶段 ,确定系统的组成模块。 本学生成绩管理系统由管理员、学生两个大模块组成。每个模块又由自己的子模块组成。4.2 编写目的基于现在的学生越来越多, 老师的工作量越来越大。 伴随着网络信息化, 学生成绩管理也必须 迈进一个更加进
10、步的时代。 那就是用网络来管理学生成绩, 实现一个电子管理学生成绩的平台, 减 轻老师的负担,也便利教务处的管理工作。在本系统中,学生可以选课,退课,查询成绩;老师在 期中期末的时候给学生打分, 并按百分比计算, 提交之前可以修改学生的成绩; 管理员可以对教师、 学生、课程的信息进行增、删、查、改,并且可以发布公告,新闻。如果学生,教师,管理员想进 入这个系统,必须先进行登录,新用户要注册,可以进行个人信息的维护,如密码的修改等。4.3 任务概述4.3.1 目标(1)本系统具有很强的可靠行,可以对录入的学生的成绩,对学生成绩进行修改、删除,并且可 以对学生成绩进行排序。(2)本系统中的模块具有
11、很强的可续性,可以方便管理人员的修改与维护。(3)本系统操作方便、灵活、简单。(4)本系统可高效、快速的查询到学生的基本信息。4.3.2 需求概述学生成绩管理系统是为方便教师学生实时掌握成绩、 课程等相关信息, 学生可以方便快捷的查 询自己的成绩而研发的系统,旨在大幅度节约教师和学生们时间,提升教务系统办事效率。4.4 总体设计4.4.1 系统设计思想总模块软件结构图 4-1 学生成绩管理系统主模块根据上面的需求分析: 学生子模块和管理员子模块学生子模管理员子图 4-3 学生成绩信息顺序图4.4.3 学生成绩管理系统协作图图 4-4 学生成绩信息协作图4.4.4 学生成绩管理系统状态图图 4-
12、5 学生成绩信息状态图4.5 接口设计4.5.1 外部接口与用户界面 在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上, 应做到 简单明了,易于操作, 并且要注意到界面的布局, 应突出的显示重要以及出错信息。外观上也要做 到合理化,考虑到用户多对 WINDOW风 格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定 使用 Visual C+ 进行编程。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。4.5.2 内部接口内部接口方面,各模块之间采用函数调用、参数传递、 返回值的方式进行信息传递。具体参数 的结构将在下面数据结构设计的内容中说明。 接口传递的信
13、息将是以数据结构封装了的数据, 以参 数传递或返回值的形式在各模块间传输 。第 5 章 详细设计5.1 根本任务依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统, 也就是说, 经过这个阶段的设计工作, 应该得出对目标系统的精确描述, 具体来说就是把经过总体 设计得到的各个模块详细的加以描述。5.2 程序流程图1. 系统主程序流程图图 5-1 主程序流程图2. 学生登录模块图 5-2 学生用户流程图3. 管理员管理流程图图 5-3 管理员管理流程图4. 系统类图图 5-4 成绩管理系统类图5.3 详细设计说明管理模块包括以下内容:界面设计用户登陆:该系统根据用户的
14、身份实现了不同的功能,用户登陆时需要选择一种登陆方式(默 认情况下是学生),系统再根据用户选择的登陆方式到相应的表中去搜索。例如,登陆时选择了教 师登陆方式, 系统将会在教师信息表中搜索是否存在与该用户的输入相符的信息, 如果存在则进入 教师主页,否则提示用户输入有误,请重新输入。学生用户界面1. 按照学号查找学生可以查询自己指定的学号查询成绩,方便学生了解成绩情况。2. 按照学生姓名查找学生可以查询自己指定姓名查询成绩,方便学生了解自身情况。管理员界面1. 增加学生成绩管理员可以增加某个学生的某门科目的成绩2.显示学生成绩管理员可以显示所有学生所有科目的成绩。3. 排序统计成绩管理员可以根据
15、学生成绩进行排序和统计。4. 查找学生成绩管理员可以查询某个学生的成绩。5. 删除学生成绩管理员可以删除某个学生的成绩。6. 修改学生成绩管理员可以修改学生的成绩。第六章 软件测试测试用例设计表 6-1用例编号C001测试对象“学生登录”功能用例目的测试学生登录系统的功能是否正确实现输入/ 动作预期输出 / 结果实际结果选择学生登录,输入提示“输入错误密码,提示“输入错误密码,错误密码请重新输入”请重新输入”选择学生登录,输入提示“无法找到该提示“无法找到该学密码,输入错误名字学生”生”选择学生登录,输入账号,输入密码,单击登录进入学生登录子系统进入学生登录子系统表 6-2用例编号C002测试
16、对“管理员登录”子系统界面象用例目的测试管理员登录子系统界面的功能是否正确实现输入/ 动作预期输出 / 结果实际结果选择管理员登录,输提示“输入错误密码,提示“输入错误密码,入错误密码请重新输入”请重新输入”选择管理员登录,输进入管理员登录子系进入管理员登录子系入密码统统观察界面是否正确显显示“增加学生成绩” ,显示“增加学生成示操作按钮“显示学生成绩” ,“排绩”,“显示学生成序统计成绩”,“查找学绩”,“排序统计成生成绩,“删除学生成绩”“,查找学生成绩,绩”,“修改学生信息”“删除学生成绩” ,“修改学生信息”表 6-3用例编号C003测试对“管理员登录”子系统增加学生成绩功能象用例目测
17、试“管理员登录”子系统增加学生成绩功能是否正确实的现输入/ 动作预期输出 / 结果实际结果在“教师登录”子系显示要增加的学生的显示要增加的学生的统中选择增加学生成姓名和学号和各科成姓名和学号和各科成绩功能绩绩表 6-4用例编号C004测试对“管理员登录”子系统排序统计学生成绩功能象用例目测试“管理员登录”子系统排序统计学生成绩功能是否正的确实现输入/ 动作预期输出 / 结果实际结果在“管理员登录”子显示排序成功显示排序成功系统中选择排序查询功能表 6-5用例编号C005测试对“管理员登录”子系统显示学生成绩功能象用例目测试“管理员登录”子系统显示学生成绩功能是否正确实的现输入/ 动作预期输出
18、/ 结果实际结果在“教师登录”子系显示所有学生的姓名显示所有学生的姓名统中选择显示学生成和学号和各科成绩和学号和各科成绩绩功能第七章 实验结果截图显示7.1 代码运行之后的主界面图 7-17.2 学生模块显示图 7-2图 7-37.3 管理员模块显示图 7-4第八章 程序源代码# include <fstream> # include <string.h>#include <conio.h>/ 用 getch();#include<iostream> using namespace std;/Student 类class Studentpubli
19、c:char name20;char Id20;int Cnum; /C+ int Mnum; / int Enum; / int sum; / Student * Next;void Input()课程得分汇编课程得分 嵌入式操作系统课程得分 总分cout<<"tt 请输入学生的姓名: " cin>>name;cout<<"tt 请输入学生的学号: " cin>>Id;cout<<"tt 请输入 C+课程的成绩: " cin>>Cnum;cout<<
20、"tt 请输入汇编课程的成绩: " cin>>Mnum;cout<<"tt 请输入嵌入式操作系统课程的成绩: " cin>>Enum;sum=Cnum+Mnum+Enum;void ReadFile(istream & in) in>>name>>Id>>Cnum>>Mnum>>Enum>>sum; void Show()cout<<" 姓名 :"<<name<<endl<<
21、;" 学号:"<<Id<<endl<<"C+:"<<Cnum<<endl<<" 汇 编 :"<<Mnum<<endl<<" 嵌 入 式 操 作 系 统 : "<<Enum<<endl<<" 总 成 绩 :"<<sum<<endl<<endl<<endl;/ Studentmassage 类 class St
22、udentmassage public:Studentmassage();Studentmassage();void ShowMenu();void Find();void Save();void ModifyItem();void RemoveItem();void Swap(Student *,Student *);void Sort();int ListCount();void Display()for(Student * p=Head->Next;p!=End;p=p->Next)p->Show(); cout<<" 输入任意字符!继续 &quo
23、t; getch();void AddItem()End->Input();End->Next=new Student;End=End->Next;cout<<" 添加成功 !"<<endl;cout<<" 输入任意字符!继续 "getch();private:Student * Head,* End;ifstream in;ofstream out;Student *FindItem(char * name)for(Student * p=Head;p->Next!=End;p=p->N
24、ext)/匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->name,name)return p;return NULL;Student *FindID(char * Id)for(Student * p=Head;p->Next!=End;p=p->Next)/匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->Id,Id)return p;return NULL;/ 构造函数 Studentmassage:Studentmassage()Head=new Student;Head->Next
25、=new Student;End=Head->Next;in.open("sort.txt");if(!in)cout<<" 这是一个新系统,无学生信息。请先输入。 "<<endl;elsewhile(!in.eof()End->ReadFile(in);if(End->name0='0')break;End->Next=new Student;End=End->Next;in.close();/ 析构函数Studentmassage:Studentmassage()Save();fo
26、r(Student * temp;Head->Next!=End;)temp=Head->Next;Head->Next=Head->Next->Next;delete temp;delete Head,End;/ 菜单 void Studentmassage:ShowMenu()cout<<cout<<" cout<<" "<<endl;1cout<<" "<<endl;2cout<<" "<<en
27、dl;3cout<<" "<<endl;4cout<<" "<<endl;5cout<<" "<<endl;6cout<<" "<<endl;0 "<<endl;cout<<"nttntt请选择: " "<<endl;增加学生成绩 显示学生成绩 排序统计成绩 查找学生成绩 删除学生成绩 修改学生信息 安全退出系统 / 查找函数void Stude
28、ntmassage:Find()char name20 ,Id10;int x;Student * p=NULL;n"cout<<"ntt*cout<<"tt 1. 按学生的姓名查找 ntt 2. 按学生学号查找 cin>>x;cout<<"ntt*n请选择:switch(x)case 1:cout<<"tt 请输入要查找的学生的姓名: "cin>>name;if(p=FindItem(name)p->Next->Show();cout<<
29、" 输入任意字符!继续 "getch();elsecout<<"tt 没有找到该姓名的学生! "<<'n'<<endl;cout<<" 输入任意字符!继续 "getch();break;case 2:cout<<"tt 请输入要查找的学生的学号: " cin>>Id; if(p=FindID(Id)p->Next->Show();cout<<" 输入任意字符!继续 " getch();
30、elsecout<<"tt 没有找到该学好的学生! "<<'n'<<endl; cout<<" 输入任意字符!继续 "getch();break;/ 修改信息void Studentmassage:ModifyItem() / 修改信息char name20;Student * p=NULL;cout<<"tt 请输入要修改的人的姓名 :"cin>>name; if(p=FindItem(name)cout<<"tt 已找到学
31、生的信息,请输入新的信息 !"<<endl;p->Next->Input();cout<<" 修改成功! "<<endl;cout<<" 输入任意字符!继续 "getch();elsecout<<"tt 没有找到 !"<<endl;cout<<" 输入任意字符!继续 "getch();/ 删除信息void Studentmassage:RemoveItem() / 删除信息char name20;Student
32、 * p=NULL,*temp=NULL;cout<<"tt 请输入要删除的学生的姓名 :"<<endl;cin>>name;if(p=FindItem(name)temp=p->Next;p->Next=p->Next->Next;delete temp; cout<<"tt 删除成功 !"<<endl;cout<<" 输入任意字符!继续 "getch();elsecout<<"tt 没有找到 !"<
33、<endl;cout<<" 输入任意字符!继续 "getch();/ void Studentmassage:Swap(Student *p1, Student *p2)/交换两个 combox 变量的数据域Student *temp=new Student; strcpy(temp->name,p1->name);strcpy(temp->Id,p1->Id);temp->Cnum=p1->Cnum;temp->Mnum=p1->Mnum; temp->Enum=p1->Enum;temp-&g
34、t;sum=p1->sum;strcpy(p1->name,p2->name);strcpy(p1->Id,p2->Id);p1->Cnum=p2->Cnum;p1->Mnum=p2->Mnum; p1->Enum=p2->Enum;p1->sum=p2->sum; strcpy(p2->name,temp->name);strcpy(p2->Id,temp->Id);p2->Cnum=temp->Cnum;p2->Mnum=temp->Mnum;p2->Enum
35、=temp->Enum;p2->sum=temp->sum;/ 学生登录模块 void student()int k; cout<<" 请输入你的密码 :" cin>>k;if(k!=1)do cout << ", 输入错误,请重新输入密码 " cin >> k; while(k!=1);/ 管理员登录模块 void manager()int k;cout<<" 请输入你的密码 :"cin>>k;if(k!=2)do cout <<
36、" 输入错误,请重新输入密码 " cin >> k;while(k!=2);cout<<" 登录成功 !"/ int Studentmassage:ListCount()/ 统计当前链表的记录总数,返回一个整数 if(! Head) return 0;int n=0;for(Student * p=Head->Next;p!=End;p=p->Next) n+; return n;/ void Studentmassage:Sort()/ 对当前链表进行排序cout <<"Sorting.&quo
37、t;<<endl;Student *p=NULL,*p1=NULL,*k=NULL;int n=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 <<" 排序完成! "<<endl;getch(); return;/ 保存函数voi
38、d Studentmassage:Save()out.open("sort.txt");for(Student *p=Head->Next;p!=End;p=p->Next)out<<p->name<<"t"<<p->Id<<"t"<<p->Cnum<<"t" <<p->Mnum<<"t"<<p->Enum<<"t"<<p->sum<<'n'out.close();/ 主函数 int main()int x, i,j;bool quit=false;Studentmassage Grade;t §§§§§§§§§§§§§§§§§§§§§§
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年其他未列明建筑服务合作协议书
- 2025年数控雕铣机合作协议书
- 员工廉洁协议书
- 微信视频号运营服务协议合同
- 二零二五版实习协议书和劳动合同书
- 二零二五公司员工培训协议合同书范例
- 二零二五企业公司转让合同书范例
- 公司保安服务协议书二零二五年
- 切割剪企业数字化转型与智慧升级战略研究报告
- 自启板牙切头企业数字化转型与智慧升级战略研究报告
- 围墙拆除工程施工方案
- 性发育异常疾病课件
- 动态分析与设计实验报告总结
- 清水河储能电站施工方案设计
- 从汽车检测看低空飞行器检测发展趋势
- 《短视频拍摄与制作》课件-3短视频中期拍摄
- 中铁投资公司招聘笔试题
- 2024年十堰市中小学教师职称晋升水平能力测试题附答案
- 中药热奄包在急性胃炎治疗中的应用研究
- 观光小火车方案
- 《资本论》思维导图
评论
0/150
提交评论