软件课设学生成绩管理系统.docx

上传人:b****3 文档编号:4105813 上传时间:2023-05-06 格式:DOCX 页数:80 大小:454.46KB
下载 相关 举报
软件课设学生成绩管理系统.docx_第1页
第1页 / 共80页
软件课设学生成绩管理系统.docx_第2页
第2页 / 共80页
软件课设学生成绩管理系统.docx_第3页
第3页 / 共80页
软件课设学生成绩管理系统.docx_第4页
第4页 / 共80页
软件课设学生成绩管理系统.docx_第5页
第5页 / 共80页
软件课设学生成绩管理系统.docx_第6页
第6页 / 共80页
软件课设学生成绩管理系统.docx_第7页
第7页 / 共80页
软件课设学生成绩管理系统.docx_第8页
第8页 / 共80页
软件课设学生成绩管理系统.docx_第9页
第9页 / 共80页
软件课设学生成绩管理系统.docx_第10页
第10页 / 共80页
软件课设学生成绩管理系统.docx_第11页
第11页 / 共80页
软件课设学生成绩管理系统.docx_第12页
第12页 / 共80页
软件课设学生成绩管理系统.docx_第13页
第13页 / 共80页
软件课设学生成绩管理系统.docx_第14页
第14页 / 共80页
软件课设学生成绩管理系统.docx_第15页
第15页 / 共80页
软件课设学生成绩管理系统.docx_第16页
第16页 / 共80页
软件课设学生成绩管理系统.docx_第17页
第17页 / 共80页
软件课设学生成绩管理系统.docx_第18页
第18页 / 共80页
软件课设学生成绩管理系统.docx_第19页
第19页 / 共80页
软件课设学生成绩管理系统.docx_第20页
第20页 / 共80页
亲,该文档总共80页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件课设学生成绩管理系统.docx

《软件课设学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《软件课设学生成绩管理系统.docx(80页珍藏版)》请在冰点文库上搜索。

软件课设学生成绩管理系统.docx

软件课设学生成绩管理系统

可行性研究

【一】可行性概述分析

1、市场可行性分析

随着学生人数不断增加,同时时间、效率观念进一步的深化,传统的纸质学生成绩管理表很难满足现今教务员以及教师的需求,同时也为管理工作增加了一定的难度。

如何实现学生成绩的计算机智能化管理是个大高校所面临的一个重要问题。

因此一个智能化的管理系统必将是高校选择的对象,因此市场前景是欣欣向荣的。

2、技术可行性分析

由于学生成绩管理系统软件属于小型的软件,需要调研的数据也比较单一,数据设计的对象也很简单。

因此,运用数据结构学习的技术完全能把程序编写完整,只要掌握学校的老师、教务员以及学生成绩的数据之间的关系,关于软件的各部分文档就能完整地描述清楚,用户就能很顺利地和开发者交流此软件并顺手地运用之。

因此,从技术上讲,我们并没有太大的难度,只要舍得投入一定的时间就能做得很好。

3、经济可行性分析

该软件的程序设计部分只要在装有C++的软件的计算机上即可编制完成,而文档的编写只要在Word里面就能完成,而实验数据只要从身边的同学进行采样即可,同时,该软件之比较随意的支撑软件和操作系统下就能运行,因此从开发者来讲不需要大量的经济支出,而对于用户来讲,主要的经济支出是软件维护,且不需要大量支出。

【二】可行性细节说明

1、编写目的

1.1目的

这份可行性研究报告是对南京航空航天大学“学生成绩管理系统”所作的一份可行性研究分析,列出了该项目的系统流图、数据流程以及该项目能够带来的改进之处,说明了在开发软件初期用户和开发者应作的准备工作,并证实了开发系统和编写本可行性研究报告的必要。

1.2预期读者

南京航空航天大学教务员、管理员、教师以及本系统开发小组的成员

1.3背景

1项目名称:

学生成绩管理系统

2项目任务提出者:

南京航空航天大学教务处

开发者:

朱德政田旭娅邵敏敏

用户:

南京航空航天大学教务员以及教师

1.4术语

序号术语或缩写词说明性定义

001学生成绩管理系统学生成绩管理系统是帮助教师、教务员对学生成绩管理的软件

002C++语言开发工具全称为VisualC++,即高效的软件系统开发工具

1.2参考资料

序号资料名文件编号发表日期出版单位

001软件工程理论与实践ISBN7-03-016768-62006年7月科学出版社

002C语言程序实验2008年2月南航出版社

003C++实验2008年2月南航出版社

2可行性研究的前提

2.1要求

能够对学校学生成绩进行全方位的管理

2.2目标

减少人力和物力的使用,提高操作速度以及管理效率,本项目截止到1月5日结束。

2.3条件和限制

1硬件环境

CPU:

PentiumP2或更高

内存:

在Windows运行需要6M以上

显示器:

VGA或更高分辨率

硬盘空间:

需要6M

2开发环境

装有必要软件的计算机

3、对现有系统的分析

现有的学生成绩管理系统还存在功能不完善、各模块之间智能化没有得以实现,所需支出的工作负荷比大,而且安全性能有待提高。

4、所建议的系统

4.1改进之处

与以前的学生成绩管理系统比较起来,该系统操作更为简便,提高工作效率,减少人力物力的输出

4.2要求

4.2.1对软件的要求

计算机中应当安装有VisualC++6.0软件支持

4.2.2对用户单位机构的要求

学校应该有足够的计算机供管理人员使用,且管理人员能够熟练操作该系统。

4.2.3对系统运行过程的要求

用户在运行此系统时无需在手动的进行一系列的操作,无需编写学生成绩管理表,会由系统自动生成。

4.3技术条件方面的可行性

在当前的限制条件下,该系统的功能目标能够达到;利用现有的技术,该系统的功能能够实现。

5、投资及效益分析

5.1一次性投资:

软件WindowsXP,VisualC++6.0开发工具,软件设计和开发费用

5.2经常性支出:

软件维护费用。

5.3效益:

进一步实现学生成绩管理自动化,减少人力投资和办公费用,极大的提高办公效率。

5.4收益/投资比:

1.5/1

5.5敏感性分析:

15年,系统的处理速度相当快,设备要符合运行环境的要求。

6、社会因素方面的可行性

6.1法律方面的可行性

合同正当且经过法律认可,未申请专利,申请了版权。

6.2使用方面的可行性

从用户单位的设备以及管理制度来看,可以使用该软件系统;从用户单位的管理员素质来看,也符合满足使用该软件系统的要求。

需求规格说明书

引言:

编写目的

随着时间观念的进一步深化,效率已是人们最为关注的话题。

如果仍然使用手工操作或使用相当繁琐复杂的软件,不但浪费财力,而且浪费物力,效率也显然无法提高。

而传统的学生成绩管理表查询复杂,一旦记录在案很难进行改动,同时纸质的学生成绩管理表很容易丢失,不易妥善保存。

为此开发学生成绩管理系统显得如此重要,以便于管理。

本工程的设计目标就是为学校学生成绩管理提供便捷途径,使教务员与教师能够便捷的进行学生成绩的处理,是学校成绩管理更加自动化、智能化。

1需求说明

1)、系统界面需求

进入系统时应当出现人性化、个性化、随性化的字符界面或图形界面,提供菜单选项,选择执行相应的功能,输入输出数据或操作成功时要有相应提示信息,此外还要提供帮助信息,如系统的功能介绍等,提供系统信息或程序信息,如作者、联系方式等。

2)、系统功能需求

对设计题目进行分析,可知系统主要功能可以有下面几种,而且各种功能互相组合,形成或构成新的功能。

①、创建功能。

第一次可通过在内存中新建或创建动态链表输入学生的成绩记录和其他数据记录,且随时可以退出输入,既可在退出时可自动保存或提示保存或输入完毕后返回主菜单选择“保存文件”命令进行手动保存到硬盘,也可以在输入过程中自动保存。

如果以前已经建立过动态链表且已经保存到文件中,可先载入文件(相当于打开文件、读取文件),再插入新的记录到动态链表。

②、插入功能。

插入或添加一个学生的成绩记录到已有的动态链表中,比如载入文件后的动态链表或刚刚新建的动态链表。

③、显示功能。

该项有四个功能:

1.按照名次排序:

对每个学生求其总成绩和平均值,然后排。

2.班级排序报表:

按照班号,将班级升序排列,同时输出每个班的各位学生的基本信息。

3.班级平均分报表:

对每门课求其平均值,并且按班级以报表的形式输出。

4.统计分数段:

可以看到在各科对应的分数段的人数以及基本信息。

④、查找功能。

查找的目的可能是查看数据、修改数据或删除数据。

⑤、修改功能。

根据学号、姓名或其他数据项在动态链表中查找并修改一个学生的成绩记录。

⑥、删除功能。

根据学号、姓名或其他数据项在动态链表中查找并删除一个学生的成绩记录。

⑦、保存文件。

将新建的或修改的动态链表的所有数据写入(或存入、存到)二进制文件中。

⑧、载入文件。

相当于打开文件并读取文件中所有学生的数据(包括班级、学号、姓名、成绩等)到动态链表。

⑨、帮助功能。

显示帮助信息和系统信息。

⑩、退出功能。

退出系统或退出程序,可增加一个退出函数,在退出时可显示系统信息或程序信息。

此外还有排序功能、统计功能和加密功能。

排序功能,指可按成绩、班级排序,而成绩排序又可按总成绩排序。

统计功能,指统计不及格,及格,中等,良好,优秀人数。

加密功能,指登录系统要使用密码验证,防止别人偷窥或篡改数据,保证软件的安全性。

3)术语一览表

序号术语或缩写词说明性定义

001学生成绩管理系统学生成绩管理系统是帮助教师、教务员对学生成绩管理的软件

002创建学生数据输入学生原始数据

003插入学生数据插入新增学生数据

004输出学生数据输出存在的学生数据

005查找学生数据通过查找通道查找到学生的数据

006修改学生数据发现数据错误可以及时更改

007删除学生数据学生资料不需要保存或者出现错误可以将其删除

008保存学生数据保存输入的数据,保证不丢失

009载入文件通过连接加载学生数据

010帮助给用户提供解释

011退出退出学生成绩管理系统

4)参考文献

序号资料名文件编号发表日期出版单位

001软件工程理论与实践ISBN7-03-016768-62006年7月科学出版社

002C语言程序设计实验2008年2月南航出版社

003

2系统概述

1)系统说明

任务提出单位:

南京航空航天大学教务处。

开发单位:

学生成绩管理系统开发组。

预期用户:

南京航空航天大学教务员以及教师。

2)系统任务

①系统目标:

A、使学生成绩管理系统更加完善;

B、使教务处对学生成绩管理更为便捷;

C、减轻教师对学生成绩的工作量;

D、提高了小组成员的合作和编程能力。

②运行环境:

1、硬件环境:

Pentium2或更高档微机,笔记本电脑

运行时内存要求:

6MB

无需安装

2、软件环境:

Windows95/98/200/XP

3)需求规定

Ⅰ、功能需求

学生成绩信息:

对学生成绩记录进行载入、删除、查找、修改、添加、保存。

Ⅱ、性能需求

①数据准确度

在进行查找时要保证查全率,所有相应域包含的查询关键字的记录都应能查到。

查询时应保证查准确率,查到的记录应该和查找条件相一致。

在进行其他的操作时同样也需要保证准确率。

②时间需求

一般操作的响应时间应在1~2秒内,对软磁盘的操作,以及数据的加载和保存也应该在可接受的时间内完成。

③故障处理

在开发阶段可以随即修改数据库中的相应内容。

④适应性

满足个人使用的要求,对前面提到的运行环境要求不应存在困难。

Ⅲ、接口需求

①用户接口

该产品只要在装有C++或者C软件的计算机上通过密码校验即可应用。

②软件接口

Windows9X,Windows2000,WindowsXP操作系统。

③硬件接口

支持一般的Pentium2,或更高档微机,笔记本电脑

Ⅳ、软件属性要求

1正确性

要求发布的软件达到用户的预期目标,运行时基本没有错误。

②可靠性

在一般条件下,应不出故障

③完整性

要求能在发生意外的情况下,保证数据的不丢失。

4效率

对于查询,添加,删除,修改等的一般操作,要求及时响应,在1~2秒内

⑤易使用性

要求能尽量为用户的使用提供方便,软件的界面符合目前流行的界面规范。

⑥可维护性

要求本软件在运行时发现错误时,能快速,准确对其进行定位,诊断和修改。

7安全保密性

要求提供身份验证,只允许通过身份验证的用户使用本软件。

3数据描述

3.1静态数据描述

charclass_0[20];/*班级*/

charnum[15];/*学号*/

charname[30];/*姓名*/

floatscore[5];/*成绩*/

floattotal;/*总分*/

floatave;/*平均分*/

structstudent*next;/*下一个结点*/

intorder;/*排名*/

3.2动态数据

输入数据:

查询条件(学号),载入数据,新添加记录项

输出数据:

由查询条件确定的系统中全部记录。

3.3数据字典

数据流图,层次图见概要设计说明书,和详细设计说明书。

概要设计说明书

1、引言

1.1编写目的

将软件需求及分析转化为数据结构和软件的系统结构,确定实现目标系统的总体思想和设计框架,确定程序的模块组成以及各个模块之间的关系,用通俗易懂的文字描述软件的相关说明,使程序员能够更为清楚的了解该系统,同时方便开发者和用户之间的交流,方便后序软件的维护,以及提高工作效率。

1.2预期读者

软件开发者、软件分析员、软件管理员、维护人员、软件用户。

1.3参考文献

序号资料名文件编号发表日期出版单位

001软件工程理论与实践ISBN7-03-016768-62006年7月科学出版社

002C语言程序设计实验2008年2月南航出版社

003C++实验2008年2月南航出版社

004软件技术基础教程2008年9月南航出版社

2、总体设计

2.1系统的物理结构

把学生成绩管理系统抽象成如下的系统结构图:

2.2软件流程图

系统各个功能的详细解释。

1.Createanewlistofstudentsdata

创建链表。

输入学生的成绩和其他信息,并且自动计算总成绩和平均成绩

2.Insertastudentdata

插入记录。

在动态链表中插入一个学生的成绩记录。

3.Outputallstudentsdata

显示记录。

该项有四项功能。

4.Searchastudentdata

查找记录。

根据学号在动态链表中查找并显示一个学生的成绩记录。

5.Modifyastudentdata

修改记录。

根据学号在动态链表中查找并修改一个学生的成绩记录。

6.Deleteastudentdata

删除记录。

根据学号在动态链表中查找并删除一个学生的成绩记录。

7.SaveFile

保存数据。

将动态链表的所有数据写入(或存入、存到)二进制文件中。

8.LoadFile

读取数据。

读取文件中所有学生的数据(包括班级、学号、姓名、成绩等)到动态链表。

9.Help

帮助。

显示帮助信息和系统信息。

0.Exit

退出。

如菜单返回值为0程序结束。

3、接口设计

3.1用户界面:

Windows

3.2硬件接口:

输入终端(鼠标,键盘),输出终端(显示器)。

3.3软件接口:

Windows9X,Windows2000,WindowsXP操作系统。

4、数据结构设计:

数据定义:

数据名

数据类型

数据长度

class_0

char

20

name

char

20

num

char

10

score

float

10

total

float

10

ave

float

10

order

int

10

5、运行设计:

5.1运行控制:

先启动身份认证模块,身份验证通过后进入学生成绩管理界面,在界面出现的各模块中选择一项进行操作,根据提示进行下一步操作。

5.2运行时间:

各模块运行时间在1s以内。

6、系统安全设计:

6.1采用用户身份鉴别机制:

当密码输入正确时才可以进入学生成绩管理系统,否则出现报错信息,返回身份认证界面,供用户再次验证身份。

6.2添加数据加载以及保存功能,来完成数据的备份。

6.3出错处理:

选择或输入有效的备份途径。

7、维护设计

本软件严格遵循软件产品设计步骤来开发,充分的考虑了该软件的可维护性,并在该软件中设置用于系统检测维护的专用模块,预计今后进行功能扩充的模块,并对这些接口进行了专门定义。

详细设计说明书

引言:

1.1编写目的

随着时间观念的进一步深化,效率已是人们最为关注的话题。

如果仍然使用手工操作或使用相当繁杂的软件,不但浪费财力,而且浪费物力,效率也显然无法提高。

而传统的学生成绩管理表查询复杂,一旦记录在案很难进行改动,同时纸质的学生成绩管理表很容易丢失,不易妥善保存。

为此开发学生成绩管理系统,便于管理。

本工程的设计目标就是为学校学生成绩管理提供便捷途径,使教务员与教师能够便捷的进行学生成绩的处理,是学校成绩管理自动化。

1.2本报告读者对象

研发组人员,项目设计,开发人员

1.3项目背景

项目名称初步定义为:

学生成绩管理系统,分为10个子功能模块:

身份认证模块,创建模块、显示记录模块、删除记录模块,修改记录模块,查询记录模块,保存记录模块,添加记录模块,加载数据模块,退出模块。

本项目的任务提出者为南京航空航天大学教务处,开发者为朱德政、邵敏敏、田旭娅三位同学。

1.4模块说明

序号术语或缩写词说明性定义

001校验模块通过调用该模块进行身份鉴别,只有知道密码的用户才能使用。

002创建模块创建学生数据的空间。

003插入模块通过调用该模块,将新纪录添加到适当的位置。

004显示模块通过调用该模块,将主窗口中符合条件的数据记录定位显示。

005查找模块通过调用该模块,根据查找条件查找符合条件的字段。

006修改模块通过调用该模块,修改错误的数据记录。

007删除模块通过调用该模块,删除主创扩中当前显示的数据记录。

008保存模块通过调用该模块,对输入或者修改的记录保存。

009读取模块通过调用该模块,读取所有数据。

010帮助模块通过调用该模块,给用户提供解释

011退出模块通过调用该模块,退出主窗口界面。

1)、数据结构设计

系统使用了结构体类型存储学生的成绩记录和其他记录。

#defineNUM5/*定义课程的数目*/

structstudent/*学生的数据结构*/

{charclass_0[20];//班级

charnum[15];//学号

charname[30];//姓名

floatscore[5];//成绩

floattotal;//总分

floatave;//平均分

structstudent*next;//下一个结点//

intorder;//排名

}stu;

2)、算法结构设计

系统使用了以下函数来实现系统各个模块的功能。

函数名称

函数功能

structstudent*create(void)

创建链表,完成数据录入功能

voidTotalScore(structstudent*head)

计算每个学生的总成绩和平均成绩

voidIntSwap(int*pt1,int*pt2)

交换两个整型数

voidFloatSwap(float*pt1,float*pt2)

交换两个实型数

voidCharSwap(char*pt1,char*pt2)

交换两个字符串

voidSortScore(structstudent*head)

对学生成绩排序并确定名次

voidsort_class(structstudent*head)

对班级排序

voidclass_aver(structstudent*head)

班级平均分报表

structstudent*InsertStudent(structstudent*head)

按学号插入一个结点数据

voidPrintScore(structstudent*head,intk)

显示所有已经建立好的节点的节点号和该节点中数据项内容

voidSearchStudent(structstudent*head)

按学号查找并显示找到的结点数据

voidModifyStudent(structstudent*head)

按学号查找并修改一个结点数据

structstudent*DeleteStudent(structstudent*head)

按学号查找并删除一个结点数据

voidSaveFile(structstudent*head)

保存数据到文件模块

structstudent*LoadFile(void)

加载存储在外部介质的文件到内存或导入信息模块

voidhelp()

显示帮助信息和系统信息

voidPassWord()

登录密码验证

voidfail(structstudent*head,intm)

得出不及格学生的信息以及人数

voidpass(structstudent*head,intm)

得出及格学生的信息以及人数

voidmedium(structstudent*head,intm)

得出中等学生的信息以及人数

voidgood(structstudent*head,intm)

得出良好学生的信息以及人数

voidexcellent(structstudent*head,intm)

得出优秀学生的信息以及人数

voidsubject_0(structstudent*head,inti)

显示分数段的菜单

voidsubject_a(structstudent*head)

显示科目的菜单

voidselect_print(structstudent*head)

显示输出项的菜单

intmenu_select(void)

显示菜单并获得用户键盘输入的选项

voidwelcome()

显示Hello

voidmain()

程序从主函数开始执行

 

创建链表。

在界面状态下,输入1后调用structstudent*create(void)函数创建动态链表,即提示输入初始的学生信息,其中包括学生的学号、班级、姓名、和各科目的成绩,若学号为0退出返回主菜单。

学号是字符型,长度要求15位而且必须是数字,班级和姓名是字符数组型而且长度为20和30,成绩是浮点型(输出成绩时可只输出1位小数或2位小数)。

都输入完成后,系统调用voidTotalScore(structstudent*head)函数计算每个学生的总成绩和平均成绩,还可以调用voidSaveFile(structstudent*head)函数对指定的文件进行写操作,把输入到动态链表的所有学生信息保存到文件中。

在输入记录过程中若学号输入0则返回主菜单。

插入记录。

在界面状态下,输入2后调用structstudent*InsertStudent(structstudent*head)函数在动态链表中插入一个学生的成绩记录,并且链表结点数加1。

在插入记录过程中若学号输入0则返回主菜单。

显示记录。

该项有四个功能:

1、名次排序报表:

调用voidSortScore(structstudent*head)函数对学生成绩排序并确定名次,而这个函数运用冒泡法进行排序,若后一结点的总成绩比前一结点的高,则调用voidIntSwap(int*pt1,int*pt2)函数交换两个整型数如学号,调用voidFloatSwap(float*pt1,float*pt2)函数交换两个实型数如成绩,调用voidCharSwap(char*pt1,char*pt2)函数交换两个字符串如班级和姓名,交换两个字符串要用到strcmp,strcpy函数,排序完毕后再调用voidPrintScore(structstudent*head,intk)函数显示所有已经建立好的节点的节点号和该节点中数据项内容,即按总成绩从高到低排序后显示动态链表中所有学生的成绩记录。

输出所有记录到屏幕上显示后自动则返回主菜单。

2、班级排序报表:

按照班号,将班级升序排列,同时输出每个班的各位学生的基本信息。

调用voidsort_class(structstudent*head)然后再次调用voidPrintScore(structstudent*head,intk),输出所有记录到屏幕上显

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2