学生信息管理系统 设计说明书(含源代码)

合集下载

学生信息管理系统设计说明书

学生信息管理系统设计说明书

学生信息管理系统设计说明书一、引言1、编写目的:本文档是对学生信息管理系统的一个总体的把握,以便在下一步的开发设计中更好的控制开发,并且对其他教育系统有良好的接口。

设计系统的架构,以便使系统的开发能有效进行。

2、背景该项目的名称为“学生信息管理系统”。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。

例如,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发学生成绩管理系统很有必要。

3、定义学生成绩管理:对学生的基本信息、课程选择、成绩的录入、修改、删除、查询等一系列的操作。

4、参考资料《软件工程》《管理信息系统二、总体设计1、需求规定功能;能够实现老师和学生对成绩的管理,即完成一些基本的功能,查询,修改,删除,添加等,同时也要实现权限的管理。

性能:信息中心提供的学生成绩管理信息必须及时的反应出来,老师和学生能够及时的进行对成绩的管理输入要求:数据完整,详实。

输出要求:简洁,快速,实时。

说明对于该软件的时间特性要求,响应时间:少于3秒。

更新处理时间:少于2秒。

数据的转换盒传送时间:少于5秒。

说明对该软件的灵活性要求,即当需求发生某些变化时,该软件对这些变化的适应能力操作方式上的变化:更新性变化运行环境的变化:在WindowsXP或以上的版本都能运行2、运行环境服务器处理型号及内存容量:WindowsXP 主频2G,内存在512M以上即可;客户端:由于这系统是BS系统(浏览器访问模式),客户端只需借用浏览器即可;服务器数据库:MYSQL服务器:tomcat6.0服务器操作系统:WindowsXP 3、基本设计概念和处理流程软件的总体层次图:4、结构5、功能需求与程序的关系6、人工处理过程1.用户身份验证处理流程输入:用户名和密码。

学生信息管理系统开发说明书

学生信息管理系统开发说明书

学生信息管理系统学生管理信息系统是一个典型的数据库应用程序,本次设计主要完成该系统中学生成绩管理功能,从用户需求的角度分析,系统应能够完成以下功能:1、数据登录功能2、数据浏览、查询功能,能浏览或查询学生信息、部门信息、课程信息和成绩3、数据输出功能。

能打印输出学生成绩单、课程成绩单等。

系统功能模块图:一、数据据库设计新建项目1:学籍系统,并新建数据库名为:学生信息。

在该数据库中新建四个表,分别为:学生信息,课程信息,部门信息,成绩表,并录入数据如下:二、窗体设计(创建表单)表单列表:欢迎界面:1、hello.scx登录表单:2、log.scx主表单:3、main.scx学生信息管理模块:3、学生信息浏览:infostud.scx4、学生信息修改:modistud.scx课程信息管理模块:5、课程信息浏览:infocourse.scx6、课程信息修改:modicourse.scx部门信息管理模块:7、部门信息浏览:infodep.scx8、部门信息修改:modidep.scx成绩管理模块:9、成绩信息浏览infoscore.scx10、成绩信息修改modiscore.scx11、系统信息表单about.scx报表设计:11、打印学生成绩单:学生成绩单.frx12、打印课程成绩单:课程成绩单.frx三、各表单的主要步骤1、登录表单名为:log登录表单主要是操作员在使用系统时验证用户名和密码。

本系统的登录表单使用的用户名是:admin,密码是:111111。

表单的Init事件代码:public II=1确定按钮click事件代码:i=i+1if thisform.text1.value="admin" and thisform.text2.value="111111"do form main.scxelseif i<4messagebox("密码输入错误,请重新输入!")thisform.text2.value=""thisform.text2.setfocuselsemessagebox("密码输入错误三次,系统关闭!")thisform.releaseendifendif退出按钮事件代码:ask=messagebox("确定要退出系统吗?",4+32+256,"学生管理信息系统")if ask=6quitelseendif2、主链接表单main学生信息浏览按钮代码:do form infostud.scx 学生信息修改按钮代码:do form modistud.scx 其他按钮代码格式:do form 表单名.scx3、学生信息浏览表单设计infostud.scx退出按钮代码:thisform.release4、学生信息修改表单modistud.scx5、课程信息浏览表单设计infocourse.scx 方法同:学生信息浏览表单设计infocourse.scx6、课程信息修改表单设计modicourse.scx 方法同:学生信息修改表单modicourse.scx7、部门信息浏览表单:infodep.scx8、部门信息修改:modidep.scx9、成绩信息浏览表单:infoscore.scx10、成绩信息修改表单:modiscore.scx11、系统信息表单:about.scx12、打印成绩单:学生成绩单.frx13、打印课程成绩单:课程成绩单.frx三、菜单设计menu.mnx学生信息管理子菜单:课程信息管理子菜单:部门信息子菜单:成绩信息管理子菜单:四、主程序main程序代码:set talk offclose allset exact onset default to d:\学生管理信息系统open database 学生信息.dbcdo form hello.scxmodi wind screen titl '学生管理信息系统'cleado menu.mprread eventon shutdown do quit1.prgclose databasequitquit1程序代码:messagebox("谢谢使用本系统,再见!",0+16,"退出系统") clear eventsquit四、提供以下部分代码和属性,供学生自己灵活运用上一个If.not.bof() Skip -1Endif Thisform.refresh下一个If.not.eof()SkipEndif Thisform.refresh第一个Go top Thisform.refresh最后一个Go bottomThisform.refresh 退出Thisform.release删除tempstr=messagebox("确定要删除当前记录吗",4+32+256,"删除记录")if tempstr=6set exclusive ondeletepackset exclusive offgo topthisform.refreshendif修改thisform.refresh添加append blank thisform.refresh登录use 系统用户表cname=alltrim(thisform.用户名.value) ppassword=alltrim(thisform.用户密码.value) set order to 用户名称seek cnameif (系统用户表.用户密码)=ppasswordthisform.releaseuseendif修改基本表单:1) 用鼠标拖动来调整各字段的布局(排列位置、大小、对齐等);2) 在属性窗口中设置表单中各对象的属性:表单(form1):caption:输入表单的中文标题backcolor:设置表单背景颜色autocenter:使表单运行时自动处于屏幕中央visible:设置表单在运行时是否可见,一般采用 .T.各字段控件:autosize:根据所容纳的内容自动调整大小, 常采用 .T. backstyle:字段标题一般可设为透明,其它可设为不透明caption:输入中文的字段标题fontname:设置控件字体fontsize:设置字体大小forecolor :设置字体颜色。

学生信息管理系统详细设计说明书

学生信息管理系统详细设计说明书

目录1、引言 (4)1.1编写目的 (4)1.2背景 (4)1.3定义 (4)1.4参考资料 (4)2、程序系统结构 (5)2.1登录模块类图 (5)2.2学生学籍管理模块 (5)2.2.1添加学生信息 (5)2.2.2查询学生信息 (6)2.3学生成绩管理模块类图 (6)2.3.1添加学生成绩 (6)2.3.2查询学生成绩 (6)2.4学生处罚奖励管理模块类图 (7)3、程序模块设计说明 (8)3.1登录模块 (8)3.1.1程序描述 (8)3.1.2功能 (8)3.1.3性能 (8)3.1.4输人项 (8)3.1.5输出项 (8)3.1.6算法 (8)3.1.7流程逻辑 (9)3.1.8接口 (9)3.1.9限制条件 (9)3.1.10测试计划 (9)3.1.11尚未解决的问题 (9)3.2添加学生信息模块 (10)3.2.1程序描述 (10)3.2.2功能 (10)3.2.3性能 (10)3.2.4输人项 (10)3.2.5输出项 (10)3.2.6算法 (10)3.2.7流程逻辑 (11)3.2.8接口 (11)3.2.9限制条件 (11)3.2.10测试计划 (11)3.2.11尚未解决的问题 (11)3.3查询学生信息模块 (12)3.3.1程序描述 (12)3.3.2功能 (12)3.3.3性能 (12)3.3.4输人项 (12)3.3.5输出项 (12)3.3.6算法 (12)3.3.7流程逻辑 (13)3.3.8接口 (13)3.3.9限制条件 (13)3.3.10测试计划 (13)3.3.11尚未解决的问题 (13)3.4添加学生成绩模块 (14)3.4.1程序描述 (14)3.4.2功能 (14)3.4.3性能 (14)3.4.4输人项 (14)3.4.5输出项 (14)3.4.6算法 (14)3.4.7流程逻辑 (15)3.4.8接口 (15)3.4.9限制条件 (15)3.4.10测试计划 (15)3.4.11尚未解决的问题 (15)3.5查询学生成绩模块 (16)3.5.1程序描述 (16)3.5.2功能 (16)3.5.3性能 (16)3.5.4输人项 (16)3.5.5输出项 (16)3.5.6算法 (16)3.5.7流程逻辑 (17)3.5.8接口 (17)3.5.11限制条件 (17)3.5.12测试计划 (17)3.5.13尚未解决的问题 (17)3.6查询学生学费模块 (18)3.6.1程序描述 (18)3.6.2功能 (18)3.6.3性能 (18)3.6.4输人项 (18)3.6.5输出项 (18)3.6.6算法 (18)3.6.7流程逻辑 (18)3.6.8接口 (18)3.6.9限制条件 (18)3.6.10测试计划 (18)3.6.11尚未解决的问题 (18)学生信息管理系统详细设计说明书1引言1.1编写目的对软件的模块做概要性的说明,设计详细的算法、描述每个模块之间的关系以及如何实现算法等,主要包括模块描述、算法描述、数据描述。

学生信息管理系统详细设计说明书

学生信息管理系统详细设计说明书

学生信息管理系统详细设计说明书学生信息管理系统详细设计说明书1:引言1.1 编写目的本文档的编写旨在对学生信息管理系统进行详细设计,明确系统的各个模块及其功能,为开发人员提供明确的开发方向和标准。

1.2 背景随着学校规模的逐渐扩大,学生信息管理变得日益重要。

为了提高学校的信息化管理水平,开发一个学生信息管理系统以便高效地管理学生信息是必要的。

2:系统总体设计2.1 系统功能学生信息管理系统主要包括以下功能:a) 学生信息录入与修改:实现学生基本信息的录入和修改功能;b) 学生信息查询与统计:根据特定条件查询学生信息,并进行统计分析;c) 学绩管理:录入和查询学生的考试成绩,并相应的成绩单;d) 学生档案管理:管理学生的各类档案,如体检档案、奖惩档案等;e) 综合查询:提供综合查询功能,方便用户根据多个条件查询学生信息。

2.2 系统模块划分根据上述功能,将学生信息管理系统划分为以下模块:a) 学生基本信息模块;b) 学绩管理模块;c) 学生档案管理模块;d) 综合查询模块。

3:学生基本信息模块设计3.1 模块功能学生基本信息模块用于录入、修改和查询学生的基本信息。

3.2 数据库设计3.2.1 学生表学生表包括以下字段:- 学生ID:唯一标识每个学生的ID;- 姓名:学生的姓名;- 性别:学生的性别;- 出生日期:学生的出生日期;- 年级:学生所在的年级;- 班级:学生所在的班级;- 联系方式:学生的联系方式。

3.2.2 其他相关表根据需要,可以创建其他相关表,如班级表、年级表等。

3.3 功能设计3.3.1 学生信息录入功能学生信息录入功能包括以下步骤:a) 输入学生的基本信息,如姓名、性别、出生日期等;b) 根据学生所在的年级和班级信息进行关联;c) 提交学生信息并保存到数据库。

3.3.2 学生信息修改功能学生信息修改功能允许用户修改已录入的学生信息。

3.3.3 学生信息查询功能学生信息查询功能允许用户根据特定条件查询学生信息。

学生信息管理系统 系统设计说明书

学生信息管理系统 系统设计说明书

学生信息管理系统系统设计说明书班级:组长:小组成员指导老师:时间:目录1.学生信息管理系统分析 (3)1.1系统需求分析 (3)1.1.1系统开发背景 (3)1.1.2功能结构图 (4)1.2系统业务流程调查分析 (4)1.3系统数据流程调查分析 (7)1.4数据字典 (8)1.4.1数据项 (8)1.4.2数据结构 (8)1.5系统逻辑处理分析 (9)2.系统设计......................................... 错误!未定义书签。

2.1数据库设计................................. 错误!未定义书签。

2.1.1 概念模型设计(系统总E-R图)......... 错误!未定义书签。

2.1.2 逻辑模型设计........................ 错误!未定义书签。

2.1.3 物理模型设计........................ 错误!未定义书签。

2.2系统处理流程设计 (16)3、系统实施 (17)3.1欢迎界面的设计 (17)3.2登陆界面的设计 (18)3.3系统主程序界面的设计 (20)3.4功能界面的设计 (22)4.总结 (23)学生信息管理系统1.学生信息管理系统分析1.1系统需求分析1.1.1系统开发背景系统的功能取决开用户的需求。

学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。

特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。

数据量大,涉及的人员面广,而且需要及时更新,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。

学生信息管理系统详细设计说明书-V1

学生信息管理系统详细设计说明书-V1

学生信息管理系统详细设计说明书-V1
本文将重新整理“学生信息管理系统详细设计说明书”的内容,旨在为读者提供一个清晰的结构和条理分明的阅读体验。

以下是本文的主要内容:
一、背景介绍
本章将介绍学生信息管理系统设计的背景和目的。

二、系统需求分析
本章将概述学生信息管理系统的需求和功能。

三、系统架构设计
本章将解释学生信息管理系统的架构组成和各个模块之间的关系。

四、数据库设计
本章将详细描述学生信息管理系统的数据库设计和相关表结构。

五、界面设计
本章将介绍学生信息管理系统的用户界面设计和交互体验。

六、系统安全设计
本章将说明学生信息管理系统的安全设计和应对安全问题的策略。

七、系统部署与维护
本章将概述学生信息管理系统的部署和维护相关的考虑与流程。

八、总结与展望
本章将简要回顾学生信息管理系统的设计过程并展望其未来可能的发
展。

以上就是本文的主要内容框架。

在这篇文章中,我们将对学生信息管理系统进行详细的设计说明,从背景介绍到系统需求分析,再到系统架构设计和数据库设计等方面进行阐述,同时也会考虑安全性和用户交互,最后对系统的部署和维护也会进行介绍。

通过本文的分享,相信读者们对学生信息管理系统的设计与开发都能有更深入的理解和认识。

学生管理信息系统设计详细说明说明书

学生管理信息系统设计详细说明说明书

详细说明说明书1.引言1.1编写目的详细设计说明书是对该学生信息系统架构进行详细直观描述,从而完成详细设计,作为软件实现的基础。

本详细说明说明书读者对象为ⅹⅹ学院教务处专业计算机系统开发人员。

1.2项目背景学生信息管理系统对学校加强学生信息管理有着极其重要的作用,由于ⅹⅹ学院的学生数量不断增加,传统的手工信息管理不仅工作量大,而且容易出现问题,不方便管理,开发出方便快捷的学生信息管理系统,实现学院学生信息管理信息化。

系统开发提出者:ⅹⅹ学院教务处开发者:ⅹⅹⅹⅹⅹⅹⅹⅹ系统使用者:ⅹⅹ学院教务处1.3定义总体设计:即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。

它包括:计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计等内容。

接口设计:即一些方法头和大量常量属性的结合。

数据结构设计:即给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。

运行设计:即对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。

出错设计:即用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。

1.4参考资料[1]黄梯云《管理信息系统》. 高等教育出版社.[2] 张海潘《软件工程》. 人民邮电出版社.[3]谭浩强《C语言设计》. 清华大学出版社.[4]萨师煊,王珊. 数据库系统概论第三版.高等教育出版社[5]李楠、祁梅. Visual Basic5.0编程实例及技巧 .人民邮电出版社[6]启明工作室. Visual Basic + Access数据库应用系统开发与实例 .人民邮电出版社2.总体设计2.1需求概述学生作为学校的主体,在学校的日常工作中有着举足轻重的地位,学生工作能否顺利高效地完成是学校日常工作的重要评判标准,所以,新的学生信息管理系统应用之后一定会受大广大学生工作者的倾睐,给他们带来愉快的体验。

学生信息管理系统 设计说明书

学生信息管理系统 设计说明书

学生信息管理系统设计说明书一、引言随着教育事业的不断发展,学生数量的日益增多,对于学生信息的管理变得越来越复杂和重要。

传统的手工管理方式效率低下,容易出错,且难以满足学校对学生信息快速、准确处理的需求。

为了提高学生信息管理的效率和质量,开发一个功能强大、操作简便的学生信息管理系统成为了必然的选择。

二、系统目标和功能(一)系统目标本系统旨在为学校提供一个高效、准确、安全的学生信息管理平台,实现学生信息的集中管理、快速查询、统计分析和报表生成,提高学校管理工作的效率和水平。

(二)系统功能1、学生基本信息管理包括学生的姓名、性别、出生日期、籍贯、身份证号、联系方式等信息的录入、修改、删除和查询。

2、学生成绩管理能够录入学生的各科成绩,进行成绩的统计分析,如平均分、总分、排名等,并生成成绩报表。

3、学籍管理处理学生的学籍变动情况,如转学、休学、复学、退学等。

4、课程管理对学校开设的课程进行管理,包括课程名称、课程代码、学分、授课教师等信息的维护。

5、班级管理管理班级信息,如班级名称、所属年级、班主任等。

6、教师信息管理记录教师的基本信息,如姓名、性别、职称、授课课程等。

7、权限管理设置不同用户的权限,确保系统数据的安全性和保密性。

三、系统设计原则(一)实用性系统的设计应充分考虑学校的实际需求,功能实用,操作简便,易于上手。

(二)可靠性保证系统稳定运行,数据准确可靠,具备良好的容错和恢复机制。

(三)安全性采用严格的权限管理和数据加密技术,确保系统数据的安全。

(四)可扩展性系统应具有良好的可扩展性,能够方便地进行功能升级和维护。

四、系统架构设计(一)前端界面采用简洁、直观的用户界面设计,方便用户进行操作。

(二)后端服务使用稳定可靠的数据库管理系统存储数据,通过后端程序实现业务逻辑处理。

(三)网络架构支持校园网内的访问,保证数据传输的稳定性和安全性。

五、数据库设计(一)学生信息表包含学生的基本信息,如学号、姓名、性别、出生日期等字段。

学生信息管理系统详细设计说明书(1)

学生信息管理系统详细设计说明书(1)

学生信息管理系统详细设计说明书(1)一、引言学生信息管理系统是一个重要的管理工具,它可以帮助学校方便地管理学生的信息,包括基本信息、学籍信息、成绩信息等,提高学校管理效率和管理水平。

本文为学生信息管理系统的详细设计说明书,主要包括系统结构设计、模块设计、数据流图设计和数据库设计几个方面。

二、系统结构设计学生信息管理系统主要包括如下模块:1. 用户管理模块:包括系统管理员、教师、学生等类型的用户,系统管理员有最高权限,可以进行用户管理、系统管理等操作,教师用户可以进行成绩管理、学生信息查询等操作,学生用户只能进行自己信息查询等操作。

2. 学生信息管理模块:包括对学生基本信息、学籍信息、成绩信息等的管理,可以进行添加、删除、修改、查询等操作。

3. 成绩管理模块:主要用于教师对学生成绩的管理,可以进行成绩录入、成绩查询、成绩统计等操作。

4. 系统报表模块:主要用于生成各种系统报表,如学生基本信息表、学生成绩表、学生出勤表等。

三、模块设计1. 用户管理模块用户管理模块主要包括用户登录、用户权限管理、用户信息管理等功能。

其中,用户登录功能需要验证用户名和密码,如果验证通过,将进入系统,否则提示用户输入正确的用户名和密码。

用户权限管理功能可以对用户的权限进行分配和控制。

用户信息管理功能可以对用户的基本信息进行管理,包括姓名、联系方式等。

2.学生信息管理模块学生信息管理模块主要包括学生基本信息管理、学籍信息管理、成绩信息管理等功能。

其中,学生基本信息管理可以对学生的基本信息进行管理,如姓名、性别、出生日期等。

学籍信息管理可以对学生的学籍信息进行管理,如入学时间、学生类别等。

成绩信息管理可以对学生成绩进行管理,可以录入、查询、修改、删除学生成绩等。

3.成绩管理模块成绩管理模块主要用于教师对学生成绩的管理,可以进行成绩录入、成绩查询、成绩统计等操作。

其中,成绩录入功能可以录入学生的各科成绩,成绩查询功能可以查询学生的各科成绩情况,成绩统计功能可以对学生的成绩进行统计分析,比如可以生成班级成绩分布表、成绩趋势图等。

学生信息管理系统 设计说明书(含源代码)

学生信息管理系统 设计说明书(含源代码)

*******************实践教学*******************兰州理工大学计算机与通信学院2013年秋季学期面向对象课程设计题目:学生信息管理系统专业班级: 计算机科学与技术二班姓名:刘俊锋学号:12240224指导教师:庞淑侠成绩:前言学生信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统。

它是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重要的,能有效的帮助学校和老师掌握学生的情况。

在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。

诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率.随着科学技术的不断提高,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。

例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生信息管理的效率,也是学校实现科学化、正规化管理的重要条件。

因此,开发这样一套管理软件成为很有必要的事情。

目录摘要 (4)第一章系统总体设计 (5)1.1系统功能模块图 (5)1。

2类与函数的关系 (5)第二章详细设计 (7)2。

1 初始录入功能 (7)2。

2 添加函数 (7)2.3 删除函数 (7)2.4 修改函数 (7)2。

5 查询函数 (8)2。

5.1 按姓名查询 (8)2。

5。

2 按学号查询 (8)2。

6 显示函数 (8)2。

7 退出系统 (8)第三章系统测试 (9)3.1测试方法 (9)3.2测试用例 (9)3.3测试结果 (9)第四章软件使用说明书 (13)总结 (14)参考文献 (15)致谢 (16)附录:程序代码 (17)摘要本系统主要利用所学的C++知识实现一个学生管理系统的设计。

学生信息管理系统设计说明书

学生信息管理系统设计说明书

学生信息管理系统设计说明书1 系统设计在数据库系统开发的前期,一般要对系统的开发目的、使用对象、实现的功能等进行详细的分析,确定系统的开发方案。

✧系统功能分析✧系统功能模块设计✧操作流程图1.1 系统功能分析开发目的:学生信息管理系统的开发目的是管理全校学生的各种信息,方便学生信息的查询。

系统的使用对象是学生管理部门,如教务处工作人员、校院系领导、班主任、教师等。

本章所开发的系统的主要使用对象是教务处。

主要功能:✧学生基本信息的录入,包括:学号、姓名、性别、班级、出生日期、籍贯等;✧学生基本信息的修改维护;✧学生学籍变动情况的记录,包括:休学、复学、转系、结业、毕业等;✧学生奖惩情况的记录和修改,包括:奖励和处罚;✧学生信息的查询;✧院系设置管理,包括院系的添加、修改和删除等;✧班级设置管理,包括班级的添加、修改和删除等。

1.2 系统功能模块设计根据系统所要实现的功能,按照结构化程序设计的原则,可以将整个系统划分为若干个功能模块。

1.3 操作流程图通过操作流程分析,不但可以具体化系统的功能模块的组成,还可以明确系统中的数据流程,明确系统中所要保存的数据以及数据间的关系,为下一步的数据库设计打好基础。

本书中采用以下的符号表示操作流程。

大家对学生信息管理是比较熟悉的,因此不难画出右图所示的学生信息管理操作流程图。

需要说明的是各所学校的实际情况可能有所不同,同学们可以根据自己学校的实际情况画出符合本校特点的操作流程图。

2 数据库设计数据库是信息管理系统的基础,在系统中占有重要的地位,数据库结构是否合理直接关系到系统功能的实现和运行的效率。

合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性,也有利于系统的编程实现。

数据库系统设计一般包括如下几个步骤:✧需求分析;✧概念结构设计;✧逻辑结构设计;✧物理结构设计;✧应用程序设计及调试;✧性能测试及确认。

2.1 数据库需求分析需求分析是整个数据库设计过程中最重要的步骤之一,是后继各阶段的基础。

学生信息管理系统详细设计说明书

学生信息管理系统详细设计说明书

学生信息管理系统详细设计说明书指导老师:王湘瑜组长:成员:项目名称:学生信息管理系统(结构)项目开发人员及其负责界面:(见项目开发计划)开发软件:与运行环境:项目描述:该系统的作用是对学校的学生信息进行全面管理,便于数据的存储、查询与维护。

该系统主要由大块组成,分别是用户管理、学生基本信息管理,具体功能结构如下图:年月日到年月8日项目的目的:1.进一步提高学员的动手能力:学员将使用和来制作一个数据库应用系统,从而加深对所学知识的理解。

2.培养学员解决问题的能力:在制作系统的过程当中,要求学员具体分析老师给出的需求,自行设计数据库,自行进行概要设计和详细设计,最后完成编码的工作。

在这个过程当中,学员会碰到很多的问题,学员必须主要依靠自己来解决这些问题,以此来提高解决问题的能力。

3.获取实际的软件项目的经验。

学员不要把毕业设计作为一个练习,应树立这样一个目标开发出一个实际可用的系统。

在这样的一个目标前提下来设计和开发系统,从设计开发过程当中来获取实际的项目开发的经验。

设计开发中的一些要求a)按照软件开发的过程来实现系统:需求分析—概要设计(包括数据库设计)详细设计—编码—测试—打包(制作安装程序)。

b)用所学关系型数据库基础以及的知识来设计数据库:要求有必要的数据完整性的保证,尽可能对数据处理进行模块化。

c)美观大方的界面:尽量做到界面美观实用,至少要整齐简洁清爽。

d)简洁易读的代码:使用变量前先声明变量,变量和控件命名的规范、代码的缩进、必要的注释。

e)数据正确性的检验:对于数据输入部分,应严格进行有效性(数据正确性)的检验。

f)必要的错误处理:使用错误处理的方法对于可能出现的错误进行处理。

g)使用语句:在程序中用语句而不是用记录集对象的方法来实现数据处理。

h)★★★将界面输入显示和数据处理分开实现,数据处理可在类中实现,也可用实现i)★★★可自行设计控件(控件)并在程序中使用后面两点可依据实际学习情况来,尽量实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

*******************实践教学*******************理工大学计算机与通信学院2013年秋季学期面向对象课程设计题目:学生信息管理系统专业班级:计算机科学与技术二班姓名:俊锋学号: 12240224指导教师:庞淑侠成绩:前言学生信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统。

它是一个教育单位不可缺少的部分,它的容对于学校管理者来说是至关重要的,能有效的帮助学校和老师掌握学生的情况。

在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。

诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。

随着科学技术的不断提高,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。

例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、性好、寿命长、成本低等。

这些优点能够极提高学生信息管理的效率,也是学校实现科学化、正规化管理的重要条件。

因此,开发这样一套管理软件成为很有必要的事情。

目录摘要 (4)第一章系统总体设计 (5)1.1系统功能模块图 (5)1.2类与函数的关系 (5)第二章详细设计 (7)2.1 初始录入功能 (7)2.2 添加函数 (7)2.3 删除函数 (7)2.4 修改函数 (7)2.5 查询函数 (8)2.5.1 按查询 (8)2.5.2 按学号查询 (8)2.6 显示函数 (8)2.7 退出系统 (8)第三章系统测试 (9)3.1测试方法 (9)3.2测试用例 (9)3.3测试结果 (9)第四章软件使用说明书 (13)总结 (14)参考文献 (15)致 (16)附录:程序代码 (17)摘要本系统主要利用所学的C++知识实现一个学生管理系统的设计。

首先需要编写出调用各个功能的主函数,告诉使用者这个系统有哪些功能和相应的操作,通过switch语句来选择相应操作;再者编写student来定义一个学生类,在类中定义公有和私有数据成员,通过学生类的成员函数的实现,来获得某个学生信息的容,如:,年龄,性别,出生年月等相关信息。

利用对应的成员函数分别可以进行增、删、改、查的操作。

关键词:信息管理;面向对象;类;模块。

第一章系统总体设计学生信息管理系统是一套功能强大、操作简单而又实用的模拟学生信息管理软件,它可以被广泛应用于各个学校的学生资料管理中,开发此系统的目的主要是可以实现学校学生的信息化管理。

通过学生信息管理系统,教学管理人员可以实现对学生信息的增加、删除、修改和查询等操作。

本系统最大的优点就是操作简便快捷等。

1.1系统功能模块图根据用户需求,本系统将主要实现以下功能(如图1-1):图1-1 系统功能模块图其中:信息输入:包括对学生,性别,年龄,出生年月等的输入。

信息删除:可以对已经录入的学生信息进行修改。

信息查询:可以对储存在文本里的信息读写查询。

1.2类与函数的关系将学生信息定义为一个student类,在类中包含私有数据成员int num、string name、string age、string sex、string birth、string politic、string address、string telephone,分别表示学号、、年龄、性别、出生年月、政治面貌、家庭住址、。

公有成员函数包括set( ) ,add( ) ,del( ) ,change( ) ,research( ) ,display( ) ,分别用来实现对学生信息的数据初始录入、增加数据、删除数据、修改数据、查询数据、显示所有数据功能(如图表1.2所示)。

然后定义了一个menu( ) 菜单函数,使功能菜单显示在运行窗口以提示用户如何进行操作。

主函数是一个程序必不可少的,在主函数中,使用一个switch语句来选择图表1.2第二章详细设计在本章中,主要是介绍各个功能函数的设计思路和实现方法。

2.1 初始录入功能此函数实现的功能主要是,对学生信息的初始化录入功能,在初始时,文件中没有任何数据,可以通过次函数输入任意个学生的信息,在输入时通过一个if条件语句来实现控制循环,当输入选择是“0”时,使用break语句就跳出循环,即停止输入学生信息。

在此函数中使用文件处理的方式,先建立一个文件输出流对象,以写的方式打开f1.txt文件,使输入的学生信息都写入文件。

2.2 添加函数此函数实现的功能主要是,添加一个学生的信息,也就是说调用一次这个函数只能添加一个学生的信息。

在此函数中也使用文件处理的方式,但使用的是以追加的方式打开文件,使输入的学生信息写在文件里原有信息的后面。

2.3 删除函数此函数实现的功能主要是,删除一个学生的信息。

在此函数中,先以读的方式打开文件,读出文件里的信息在显示在屏幕上,用户再根据提示信息输入想要删除第几个人的信息,关闭文件。

再以写的方式打开文件,以一个if条件语句控制,再重新将学生信息写入文件(除了打算删除的那个学生的信息),由于是以写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数据。

2.4 修改函数此函数实现的功能主要是,修改一个学生的信息。

此函数的设计方法和删除函数的设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,将原有数据覆盖。

2.5 查询函数在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按查询和按学号查询。

使用if语句来选择查询条件。

2.5.1 按查询调用switch()选择语句,根据提示信息输入后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的和输入的一样,则输出该学生的信息,由于学生的有可能重复出现,所以不能使用break语句跳出循环,应该从第一个学生开始检索直到最后一名学生。

当无查询结果时,会输出一条提示信息“无此人信息!”。

2.5.2 按学号查询根据提示信息输入学号后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的学号和输入的学号相等,则输出该学生的信息,由于学生的学号是唯一固定的,所以并使用break语句跳出循环。

当无查询结果时,会输出一条提示信息“无此人信息!”。

2.6 显示函数此函数实现的功能主要是,显示所有学生的信息。

先是从文件中读取学生信息,然后在输出到显示窗口中。

用一个for循环语句,来把所有学生的信息都输出。

2.7 退出系统当输入“0”时,就能退出系统,这是通过while语句来控制实现的。

第三章系统测试3.1测试方法采用实例录入的方式,测试每个函数的工作结果是否正确。

3.2测试用例本系统采用实际学生信息为数据原型进行测试,所用数据为::XX;年龄:20,;性别:男;出生年月:19940914;政治面貌:团员;家庭住址:省市资兴市矿工南路;:。

:甲;年龄:18;性别:男;出生年月:19960101:;政治面貌:群众;家庭住址:四海为家;:123456789。

3.3测试结果本系统主要完成基本信息的添加,删除,修改和查询功能。

主菜单显示(如图3.1所示):图3.1主菜单按1选择输入学生信息(如图3.2所示):图3.2按任意键确认,开始输入(如图3.3所示):图3.3输入信息添加学生信息(如图3.4所示):图3.4添加信息显示所有学生信息(如图3.5所示):图3.5显示界面查询学生信息(如图3.6和图3.7所示):图3.6按查询图3.7按学号查询删除学生信息(如图3.8所示):图3.8删除信息再次查询确认数据正常删除(如图3.9所示):图3.9确认已删除修改学生信息(如图3.10所示):图3.10修改数据最后,选择数字键0,安全退出系统(图略)。

第四章软件使用说明书1、系统运行环境VC++6.02、系统操作提示本系统主要实现学生信息管理,首先用户进入主菜单界面(如图3.1所示),然后按照相应的数字键操作,本系统简单通俗,操作界面友好,适用于中小型学生信息管理。

总结此次c++面向对象课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。

首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。

程序实现上,设计了简单的菜单界面,将各个功能集中出现在主菜单中,便于调用。

根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C++语言的理解和掌握。

理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。

我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。

参考文献[1].莉.C++语言程序设计(第三版).清华大学,2004[2].莉.C++语言程序设计案例教程.清华大学,2005[3].钱能.C++程序设计教程.清华大学,1999.4[4].谭浩强.C++程序设计.清华大学,2004[5].谭浩强.C++程序设计实践指导.清华大学,2005[6].振安.C++程序设计课程设计.机械工业,2004.8致在这次管理信息系统的课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设计。

在此,我衷心感我的指导老师——庞淑侠。

庞淑侠老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。

最后,衷心感在课设过程中,庞淑侠、年福忠等老师的悉心指导!附录:程序代码#include<iostream>#include<fstream> //输入输出文件流类头文件#include<string>#include<iomanip>using namespace std;#define M 200 //可以存信息的总量int N=0; //学生总量class student //定义一个student的类{public:student(); //成员函数void set(); //初始化信息,第一次对信息的录入void add(); //添加学生信息void del(); //删除某学生信息void change(); //修改某学生信息void search(); //查询某学生信息void display(); //显示全部学生信息private:static int num; //定义为学号string name,age,sex,birth,politic,address,telephone;};int student::num=100;student::student() {}void student::set() //主要适用于第一次输入使用{int i;char n;stringsetname,setage,setsex,setbirth,setpolitic,setaddress,settelephone;ofstream outfile; // ofstream用来创建一个文件,outfile 输出文件outfile.open("f1.txt",ios::out); //以写的方式打开文件if(!outfile){cerr<<" open error"<<endl;exit(1);}//----依次录入相应个数的学生信息----for(i=0;i<M;i++){cout<<"按任意键继续,按0停止输入:"<<endl;cin>>n;if(n=='0') break;if(n!='0'){N++;num++;outfile<<num;cout<<"请输入:"<<endl;cin>>setname;name=setname;outfile<<setname<<" ";cout<<"请输入年龄:"<<endl;cin>>setage;age=setage;outfile<<setage<<" ";cout<<"请输入性别:"<<endl;cin>>setsex;sex=setsex;outfile<<setsex<<" ";cout<<"请输入出生年月:"<<endl;cin>>setbirth;birth=setbirth;outfile<<setbirth<<" ";cout<<"请输入政治面貌:"<<endl;cin>>setpolitic;politic=setpolitic;outfile<<setpolitic<<" ";cout<<"请输入家庭住址:"<<endl;cin>>setaddress;address=setaddress;outfile<<setaddress<<" ";cout<<"请输入:"<<endl;cin>>settelephone;telephone=settelephone;outfile<<settelephone<<endl;}}outfile.close(); //----关闭文件----}void student::add(){stringaddname,addage,addsex,addbirth,addpolitic,addaddress,addtelephone;ofstream outfile("f1.txt",ios::app); //以输出方式打开文件,以追加的方式录入信息,直接将信息追加到以前文件的末尾if(!outfile){cerr<<" open error"<<endl;exit(1);}N=N+1;cout<<"请输入您要添加的数据"<<endl; //依次输入相应的数据,并且追加到之前的文件中去num++;outfile<<num<<" ";cout<<"请输入:"<<endl;cin>>addname;outfile<<addname<<" ";cout<<"请输入年龄:"<<endl;cin>>addage;outfile<<addage<<" ";cout<<"请输入性别:"<<endl;cin>>addsex;outfile<<addsex<<" ";cout<<"请输入出生年月:"<<endl;cin>>addbirth;outfile<<addbirth<<" ";cout<<"请输入政治面貌:"<<endl;cin>>addpolitic;outfile<<addpolitic<<" ";cout<<"请输入家庭住址:"<<endl;cin>>addaddress;outfile<<addaddress<<" ";cout<<"请输入:"<<endl;cin>>addtelephone;outfile<<addtelephone<<endl;outfile.close();cout<<"已添加成功!"<<endl;}void student::del() //删除信息模块{int k,i;int num[M];stringname[M],age[M],sex[M],birth[M],politic[M],address[M],telephone[M];ifstream infile("f1.txt",ios::in);if(!infile){cerr<<" open error"<<endl;exit(1);}for(i=0;i<N;i++){cout<<" ";infile>>num[i];cout<<setw(9)<<num[i]; //setw()默认填充的容为空格infile>>name[i];cout<<setw(9)<<name[i];infile>>age[i];cout<<setw(9)<<age[i];infile>>sex[i];cout<<setw(9)<<sex[i];infile>>birth[i];cout<<setw(9)<<birth[i];infile>>politic[i];cout<<setw(9)<<politic[i];infile>>address[i];cout<<setw(9)<<address[i];infile>>telephone[i];cout<<setw(9)<<telephone[i]<<endl;}cout<<"你想删除第几个?"<<endl;cin>>k;k=k-1;infile.close();ofstream outfile("f1.txt",ios::out); //以写的方式打开,将数组存取的信息从存中输出到文件中去if(!outfile){cerr<<" open error"<<endl;exit(1); //退出程序}for(i=0;i<N;i++){if(i!=k){outfile<<num[i]<<" ";outfile<<name[i]<<" ";outfile<<age[i]<<" ";outfile<<sex[i]<<" ";outfile<<birth[i]<<" ";outfile<<politic[i]<<" ";outfile<<address[i]<<" ";outfile<<telephone[i]<<" "<<endl;}}outfile.close();N=N-1;cout<<"已删除成功!"<<endl;}void student::change() //修改信息模块{int i,k;int num[M];stringname[M],age[M],sex[M],birth[M],politic[M],address[M],telephone[M];ifstream infile("f1.txt",ios::in);if(!infile){cerr<<" open error"<<endl;exit(1);}for(i=0;i<N;i++){cout<<" ";infile>>num[i];cout<<setw(9)<<num[i];infile>>name[i];cout<<setw(9)<<name[i];infile>>age[i];cout<<setw(9)<<age[i];infile>>sex[i];cout<<setw(9)<<sex[i];infile>>birth[i];cout<<setw(9)<<birth[i];infile>>politic[i];cout<<setw(9)<<politic[i];infile>>address[i];cout<<setw(9)<<address[i];infile>>telephone[i];cout<<setw(9)<<telephone[i]<<endl; }infile.close();ofstream outfile("f1.txt",ios::out); if(!outfile){cerr<<" open error"<<endl;exit(1);}cout<<"你想修改第几个数据?"<<endl; cin>>k;k=k-1;cout<<"请输入新的数据:"<<endl;cout<<"请输入:"<<endl;cin>>name[k];cout<<"请输入年龄:"<<endl;cin>>age[k];cout<<"请输入性别:"<<endl;cin>>sex[k];cout<<"请输入出生年月:"<<endl; cin>>birth[k];cout<<"请输入政治面貌:"<<endl; cin>>politic[k];cout<<"请输入家庭住址:"<<endl; cin>>address[k];cout<<"请输入:"<<endl;cin>>telephone[k];for(i=0;i<N;i++){outfile<<num[i]<<" ";outfile<<name[i]<<" ";outfile<<age[i]<<" ";outfile<<sex[i]<<" ";outfile<<birth[i]<<" ";outfile<<politic[i]<<" ";outfile<<address[i]<<" ";outfile<<telephone[i]<<endl;}outfile.close();cout<<"已修改成功!"<<endl;}void student::search() //查询信息模块{int i,n,w=0,num[M],a[M];char ch;stringsearchname,name[M],age[M],sex[M],birth[M],politic[M],address[M],telep hone[M],b[M][7];ifstream infile("f1.txt",ios::in); //ios:in作为读操作if(!infile){cerr<<" open error"<<endl;exit(1);}for(i=0;i<N;i++){infile>>num[i];a[i]=num[i];infile>>name[i];b[i][0]=name[i];infile>>age[i];b[i][1]=age[i];infile>>sex[i];b[i][2]=sex[i];infile>>birth[i];b[i][3]=birth[i];infile>>politic[i];b[i][4]=politic[i];infile>>address[i];b[i][5]=address[i];infile>>telephone[i];b[i][6]=telephone[i];}cout<<"a.按查找 b.按学号查找"<<endl;cout<<"请输入a或者b!"<<endl;cin>>ch;switch(ch){case 'a': {cout<<"请输入:"<<endl;cin>>searchname;for(i=0;i<N;i++)if(name[i]==searchname){w=1;cout<<"学号年龄性别出生年月政治面貌家庭住址 "<<" "<<" "<<endl;cout<<a[i];cout<<setw(9)<<b[i][0];cout<<setw(9)<<b[i][1];cout<<setw(9)<<b[i][2];cout<<setw(9)<<b[i][3]<<" ";cout<<setw(9)<<b[i][4]<<" ";cout<<setw(9)<<b[i][5]<<" ";cout<<setw(9)<<b[i][6]<<endl;}if(w==0)cout<<"无此人信息!"<<endl;}break;case 'b': {cout<<"请输入学号:"<<endl;cin>>n;for(i=0;i<N;i++)if(a[i]==n){w=1;cout<<"学号年龄性别出生年月政治面貌家庭住址 "<<" "<<" "<<endl;cout<<a[i];cout<<setw(9)<<b[i][0];cout<<setw(9)<<b[i][1];cout<<setw(9)<<b[i][2];cout<<setw(9)<<b[i][3]<<" ";cout<<setw(9)<<b[i][4]<<" ";cout<<setw(9)<<b[i][5]<<" ";cout<<setw(9)<<b[i][6]<<endl;}if(w==0)cout<<"无此人信息!"<<endl;}break;}}void student::display() //显示信息模块{int k,num;string name,age,sex,birth,politic,address,telephone;ifstream infile("f1.txt",ios::in);if(!infile){cerr<<" open error"<<endl;exit(1);}cout<<"学号年龄性别出生年月政治面貌家庭住址 "<<" "<<" "<<endl;cout<<"-------------------------------------------------------------------------------"<<endl;for(k=0;k<N;k++){infile>>num;cout<<num;infile>>name;cout<<setw(9)<<name;infile>>age;cout<<setw(9)<<age;infile>>sex;cout<<setw(9)<<sex<<" ";infile>>birth;cout<<setw(9)<<birth<<" ";infile>>politic;cout<<setw(9)<<politic<<" ";infile>>address;cout<<setw(9)<<address<<endl;infile>>telephone;cout<<setw(9)<<telephone<<endl;cout<<"-------------------------------------------------------------------------------"<<endl;}infile.close();}student stu; //类的对象stuvoid main(){char ch;void menu();menu();cin>>ch;while(ch!='0'){switch(ch){case '1':stu.set();break;case '2':stu.add();break;case '3':stu.del();break;case '4':stu.change();break;case '5':stu.search();break;case '6':stu.display();break;case '0':cout<<"退出系统!";break;default:cout<<"对不起,没有此选项,请确认后重新选择!"<<endl;break;}menu();cin>>ch;}}void menu(){cout<<" ********************************"<<endl;cout<<" ***欢迎使用本学生信息管理系统***"<<endl;cout<<" ********************************"<<endl;cout<<" *** ***"<<endl;cout<<" *** 1.输入学生信息 ***"<<endl;cout<<" *** ***"<<endl;cout<<" *** 2.添加学生信息 ***"<<endl;cout<<" *** ***"<<endl;cout<<" *** 3.删除学生信息 ***"<<endl;cout<<" *** ***"<<endl;cout<<" *** 4.修改学生信息 ***"<<endl;cout<<" *** ***"<<endl;cout<<" *** 5.查询学生信息 ***"<<endl;cout<<" *** ***"<<endl;cout<<" *** 6.显示全部学生信息 ***"<<endl;cout<<" *** ***"<<endl;cout<<" *** 0.退出本管理系统 ***"<<endl;cout<<" *** ***"<<endl;cout<<" ********************************"<<endl;cout<<"请按键选择(0~6):"<<endl;}。

相关文档
最新文档