【基于C语言的学生信息管理系统的设计与实现9000字(论文)】_第1页
【基于C语言的学生信息管理系统的设计与实现9000字(论文)】_第2页
【基于C语言的学生信息管理系统的设计与实现9000字(论文)】_第3页
【基于C语言的学生信息管理系统的设计与实现9000字(论文)】_第4页
【基于C语言的学生信息管理系统的设计与实现9000字(论文)】_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于C语言的学生信息管理系统的设计与实现目录TOC\o"1-3"\h\u123791绪论 168352关键技术 1320512.1C#技术 1217692.2SQLserver 1255222.3VisualStudio 2308903系统分析 2114193.1可行性分析 2223113.1.1技术可行性 2265193.1.2经济可行性 372963.1.3操作可行性 3183823.1.4时间可行性 3127263.2系统性能分析 347903.3系统用例分析 4115184系统设计 566524.1系统结构设计 511414.2系统顺序图 6168654.2.1登录模块顺序图 680674.2.2添加课程信息模块顺序图 6244744.2.3添加学生信息模块顺序图 711064.2.4修改密码模块顺序图 7223694.3数据库设计 825634.3.1数据库E-R图设计 8246674.3.2数据库表设计 9321385系统的实现 11175465.1管理员模块实现 11220965.1.1登录界面 11259485.1.2后台管理主界面 12166585.1.3管理员管理界面 12208835.1.4学生管理界面 13150005.1.5课程管理界面 13244785.2用户模块实现 133105.2.1选择课程界面 1360525.2.2课表信息界面 1469595.2.3我的成绩单界面 14211786系统测试 15249606.1测试方法 15248796.2测试目的 15147356.3测试策略 16224806.4测试分析 16158356.4.1用户登录模块测试用例 17257326.4.2修改密码模块测试用例 18216626.4.3学生管理模块测试用例 18196496.4.4课程管理模块测试用例 19278966.5测试总结 193232总结 207727参考文献 211绪论自从人类迈入信息社会以来,各种电子科学技术飞速发展,人们得以应用的电子产品越来越多,也对电子科技产生了依赖性。在人们的日常生活中,手机和电脑已经成为了必不可少的电子产品。而人们对手机和电脑的依赖,是因为通过手机以及电脑,能够运用各种各样的系统,通过虚拟网络完成一系列的事项,十分省时且快捷[1]。在如今这个电子科技发达的时代,构建一个学生信息管理系统,不仅让信息得到良好的储存条件,还更方便系统使用用户的操作,直接通过电脑,使用键盘就可以输入信息、保存信息、快速查找信息以及删除不必要的信息。让用户有了更方便的操作途径,节省了更多时间与精力。使用学生信息管理系统不仅为管理员提供良好的信息管理方式,更是满足需要进行学生信息的学生用户的需要[2]。学生信息管理系统能够满足不同用户的不同需求,使得用户使用上获得更大的方便。2关键技术2.1C#技术C#在编程领域中占据着一个非常重要的位置,采用C#进行编程,与C++和Java不同,C#更够更迅速的描述问题,采用C#编写的代码,由于可读性强,调试简易,因此开发人员具有更小的工作量,在开发上也就更轻松了[6]。对于代码的修改和移植,C#也能够支持采用最简单方便的方法,C#的使用比汇编语言更轻松。同时,面对各种各样的计算机操作系统,C#也都能够适应其中的大部分,兼顾性很高。C#的开发,是经过理论和实践结合,并且不断的改进而来的,在漫长的计算机技术发展史上,具有举足轻重的地位,是长久不衰,常被使用的一款编程语言[7]。采用C#编程,对于开发后期的调试,也得益于它的清晰的层次,在调试上也更为方便。2.2SQLserverSQLserver与Mysql都是储存信息的工具,与Mysql不同的是,SQLserver不是开源,而是商业的,但是相比于Mysql,SQLserver具有更为简单的语法,在运用中提供了更多的便利,并且能够支持开发人员在执行查询中取消查询而不造成任何影响[8]。SQLserver在备份数据方便有着很明显的优势,开发人员不用将所有数据提取为SQL语句来备份数据,在备份数据时不会阻止数据库,从而避免了由于执行多个SQL语句而带来的时间上的耗费,让开发人员无需担心备份和回复大量数据时产生的时间浪费问题。使用SQLserver具有更高的安全性,因为SQLserver要求用户在执行某个功能或是操作某个文件时,必须要通过运行实例来执行,这也就避免了黑客的入侵,使黑客无法访问或者操作数据。SQLserver的易于使用、性价比高、安全性、数据管理的灵活性等优点是它的竞争优势,这也为它本身吸引了大量的用户,在数据库领域中独占鳌头[9]。2.3VisualStudioVisualStudio是一种面对对象的包容性很广的开发工具,Windows平台的开发工具中它是受欢迎度最高的。在开发不同平台的应用程序中VisualStudio都能够得到很好的支持,同时也对效率的追求的开发者非常友好,从VisualStudio的功能特性来说,它是非常时尚的,能够支持手势识别,这样的创新功能让用户在编辑器上编辑带来方便,带来了突破性的体验[10]。与此同时,采用VisualStudio的Cordova工具包能够起到很强的针对性,利用C++增强工具以及安卓模拟器,使得用户在开发商更敏捷,拥有了更多的可能性。使用VisualStudio,不仅支持大多数知名的编程语言,它还支持使用改进的数据库,这样的创新可以提升所开发系统的数据储存、以及数据处理的能力。在软件建模这一块,当用户有比较新颖的创意时,可能给支持用户大胆的开发,提供通用的元模型,带来更多的可能性。VisualStudio具有语义错误检查功能,可以自动进行检测搜索,这就省去了大量检查的时间,为用户减少了许多麻烦,是非常方便的。3系统分析3.1可行性分析一个系统的开发,进行可行性分析是非常必要的。进行可行性分析能够帮助开发者确定项目可以顺利进行的必要条件,避免项目后期进行不下而造成损失。同时,通过可行性分析,可以更加确定将要开发的系统的各个结构,熟悉系统功能,使开发系统更顺利进行。3.1.1技术可行性本学生信息管理系统完成,是在C#和SQLserver数据库的结合使用下实现的。基于以往对C#和SQLserver的了解,以及查阅许多文献资料,决定采用这两种技术,增强系统开发的便利性。这两种技术的使用都是0成本,都是常见的软件开发技术。C#在处理各类数据时,可以快速将数据从数据库中调取出来,极大的满足用户对速度的需求。SQLserver数据库的使用,可以实现开发人员从数据库中快速查找、删除、添加数据,并能实现快速在数据库中添加新建表或试视图的功能,能够为开发者减少很多麻烦,带来很好的体验。3.1.2经济可行性开发一个系统,需要从开发技术和设施配置要求的角度来考虑经济成本。学生信息管理系统所采用的开发技术均是免费使用的,且都是采用开源码。在开发完成后,可以直接通过电脑和手机就能够使用其功能,对电脑和手机的配置也没有高的要求,平常常见的电脑手机就可以满足需求了。因此,学生信息管理系统的开发,满足经济需求。3.1.3操作可行性本次开发的学生信息管理系统,具有简单美观的界面,拒绝复杂的装饰,在用户点击操作时,能自动弹出提示框,响应速度快,功能结构划分清晰,是一款操作性良好,可供用户流畅使用的系统。3.1.4时间可行性开发一个系统,需要考虑时间的限制,确定系统需在哪个具体时间之内完成,从而进行周祥的计划。本学生信息管理系统的开发,以及在两个月的时间内完成。系统的完成,需要经历需求分析、文献调查、系统结构确定、做出详细结构图、编写程序以及调试这些环节,通过这些环节所需时间的规划,确定了学生信息管理系统在规定时间内可以完成。因此,在时间上,本学生信息管理系统的完成是可行的。经过以上几个角度的考虑,学生信息管理系统的开发是可行的,所有条件的符合开发需求[11]。3.2系统性能分析1.易于使用性:学生信息管理系统的开发初衷,是为了能够满足各行各业的人们在线学生选课、成绩查询以及管理员管理信息的需求,同时,也为了让系统信息的管理提高效率,是为了能够让人们的生活和工作更加便利而开发出来的,因此系统的操作方式必须简单明了,贴合实际的应用流程,让人们一上手就能够直接操作,使用系统的功能。2.可扩展性:学生信息管理系统以增强系统管理和用户体验为目标,因此,系统需要良好的可扩展性,方便系统内容的更变,支持管理员增加新的功能模块,或者对原有功能模块进行新的改变,同时要保证不对系统原有模块造成影响。3.稳定性:本次开发的学生信息管理系统需要具备健壮的功能体系来维持系统的稳定性,在系统运作过程中,无论用户使用哪个功能,都能够正常运行,实现功能的使用。当用户在进行操作时输入了错误的数据,系统能够自动处理这些问题,不会让用户产生困扰。4.安全性:学生信息管理系统内储存了学生选课、成绩查询以及管理员管理信息的大量信息以及用户的个人信息,因此,学生信息管理系统必须具备良好的安全性,防止系统被黑客以及计算机病毒,同时,系统需要建立完整的安全机制,保证每个用户都必须登录个人账号才能够使用系统功能。3.3系统用例分析UML是一种语言,一般来说,采用UML为一个软件密集系统来进行可视化建模,能够让这个软件密集系统更加有层次化,能够更深层次且直观明了的呈现在开发者眼前,除了这样的作用,它还能够为开发者掌握开发全局提供着指明方向的作用,让开发前期的所有准备不迷茫。因此,在软件开发之初,对软件进行UML建模分析是大有好处的。以下是对本学生信息管理系统进行UML建模分析。本学生信息管理系统管理员UML用例图如图3.1所示。图3.1管理员用例图用户UML用例图如图3.2所示。图3.2用户UML用例图4系统设计4.1系统结构设计一个完整的系统,需要实现多个模块的功能,因此,系统结构能够清晰的呈现在开发者的眼中,能够为开发者理清头绪,在模块与模块、功能与功能之间不易搞混,从而发生不必要的麻烦。理清一个系统,需要将系统不同用户的使用功能呈现出来,必须划分清晰,然后将这些小模块整合起来,实现系统的设计。学生信息管理系统将分为管理员模块和用户模块两大模块,管理员用户可对系统进行全面的管理,主要包括管理员管理、课程管理、成绩管理、学生信息管理、修改密码的管理功能。普通用户模块可以进行登录注册操作,登录后可查看课程信息、课表信息、成绩信息,进行修改密码操作。本学生信息管理系统的结构图如图4.1所示:图4.1系统结构设计4.2系统顺序图使用顺序图可以更好的将系统模块化,并明确各个模块的功能。下面就介绍本系统几个主要模块的顺序图。4.2.1登录模块顺序图管理员可进行登录系统后台,登录模块的顺序图如图4.2所示。图4.2用户登录顺序图4.2.2添加课程信息模块顺序图管理员登录后可进行添加课程信息操作,添加课程信息顺序图如图4.3所示图4.SEQ图\*ARABIC\s13添加课程信息顺序图4.2.3添加学生信息模块顺序图管理员登录后可进行添加学生信息操作,添加学生信息顺序图如图4.4所示图4.4添加学生信息顺序图4.2.4修改密码模块顺序图学生用户登录后可进行修改个人密码操作,修改密码顺序图如图4.5所示图4.5修改密码顺序图4.3数据库设计数据库作为一个系统中用以处理数据,让数据请求和回应有了一个专门处理的核心部分,并且使系统得以储存数据的部分,它的重要性可见一斑。因此,开发一个系统时,重视数据库的作用的必须的,在数据库中,数据库表的内容将成为系统的重要数据,因此,我们需要将表和表之间的关系清楚的呈现出来,使系统开发更为清晰,用词来发挥数据库的优势[12]。4.3.1数据库E-R图设计概念结构设计是在数据库建立之前,通过对应用的需求分析,将分析得出结论采用抽象的信息结构表述出来,让开发者能够更易于理解数据之间各个关系的连接,充分反映出数据库内部各个结构,以及能够在应用环境和要求需要作出变化时,便于修改和扩充的数据模型,可以说,概念设计的存在,能让用户的数据要求更清楚的表述出来,它是各种数据模型的基础。在概念设计中,常用E-R模型来描述,从而做出来主要的实体模型图,如下所示:图4-4系统总体E-R图4.3.2数据库表设计在开发系统时,进行数据库物理设计是必要的流程,首先要将数据库进行定义,然后确定逻辑数据结构,然后将最适合的数据库管理方法通过进行选择后确定储存文件的结构和位置,从而实现对物理数据结构的最优化、最有效的一种方法,在这个过程中,用户系需要权衡时间、空间效率以及维护代价,使得数据库物理结构呈现出最优化。同时,在数据库表建立过程中,需要结合用户界面的视觉体验来为字段选择合适的数据类型,在命名数据库、表和字段上也需要作出思考:表4-1学生信息表用户表:student字段名称数据类型可空默认值说明stuidint不可主键,学生id,无实际意思,每次自增1stunameNvarchar(30)不可学生姓名stuxuehaoNvarchar(30)不可学生学号,不能重复,登陆时的用户名默认是学号。stupasswdNvarchar(30)不可学生密码stugradeNvarchar(30)学生年级stumajorNvarchar(30)学生专业stusexvarchar(2)学生性别stubornNvarchar(30)学生出生日期roleNvarchar(30)学生角色,学生stuhometownNvarchar(30)学生籍贯表4-2管理员信息表管理员信息表:manager字段名称数据类型可空默认值说明manidint不可主键,管理员id,无实际意思,每次自增1mannameNvarchar(30)不可管理员用户名roleNvarchar(30)不可管理员角色,管理员manpasswdNvarchar(30)不可管理员密码表4-3课程表课程表:class字段名称数据类型可空默认值说明claidint不可主键,课程id,无实际意思,每次自增1clanameNvarchar(30)不可课程名termNvarchar(30)不可开课的学期teacherNvarchar(30)不可开课的教师表4-4课程细节表课程细节表:sctime字段名称数据类型可空默认值说明sctimeidint不可主键,课程细节id,无实际意思,每次自增1claidint不可外键,课程号sctimeNvarchar(30)不可课程上课的时间locationNvarchar(30)不可课程上课的地点表4-5选课表选课表:sc字段名称数据类型可空默认值说明scidint不可主键,选课id,无实际意思,每次自增1stuidint不可外键,学生idclaidint不可外键,课程idgradesint不可学生成绩5系统的实现5.1管理员模块实现5.1.1登录界面为了维护系统的安全,任何用户想要进入系统进行相关功能操作,都需要进行登录。具体界面如图所示。图5.1登录界面5.1.2后台管理主界面管理员可以管理系统的各个分类的信息,从而对系统进行维护。具体界面如图所示。图5.2后台管理主界面5.1.3管理员管理界面管理员能够管理系统管理员信息,可以快速查询管理员信息,对管理员信息进行修改、删除操作,或者新增管理员信息。具体界面如图所示。图5.3管理员管理界面5.1.4学生管理界面管理员对系统学生信息进行管理,可以快速查询学生信息,对学生信息进行修改、删除操作,或者新增学生信息。具体界面如图所示。图5.4学生管理界面5.1.5课程管理界面管理员对系统课程信息进行管理,可以快速查询课程信息,对课程信息进行修改、删除操作,或者新增课程信息。具体界面如图所示。图5.5课程管理界面5.2用户模块实现5.2.1选择课程界面学生用户能够通过系统来进行在线选择课程的操作,具体界面如图所示。图5.6选择课程界面5.2.2课表信息界面学生用户可以通过课表信息界面,查看课程的具体信息。具体界面如图所示。图5.7课程信息界面5.2.3我的成绩单界面学生能够通过系统来在线查询个人的每个人学期的成绩信息。具体界面如图所示。图5.8我的成绩界面6系统测试系统测试是系统编写完成之后的必要操作,能够检测系统里存在的问题,及时修改,避免应用系统时,发生错误,造成不必要的损失。6.1测试方法软件测试的主要步骤有单元测试、集成测试和确认测试[13]。1单元测试采用单元测试来测试软件的是否能够成功投入使用的非常可靠的方式,通过对软件中最小可测试单元的功能的检测,从细微之处发现问题,保证系统每一个功能模块都能实现。对开发人员而言,养成在书写代码之后立即检验单元功能,能够保证程序开发的高质量,进一步来说,能够提高个人的编程水平。2集成测试集成测试的意思就是将许多单独的模块连接起来,测试这些模块在连接起来后是不是可以实现各个功能的衔接,这时,就能体现出单元测试所不能够检验处来的问题,进一步保证了系统能够顺利运作。3确认测试确认测试通常是在集成测试之后采用的一种检验方法,通过组装好的软件,在各个测试的方法下检测软件在特定环境下各个功能使用的有效性,因此这种方法也被称为有效性测试,旨在说明软件与需求一致[14]。6.2测试目的测试的目的在于检测系统是否可以达到运行的标准,设置的功能是否可以一一实现,是否能够快速响应用户的操作,运行是否稳定,满足用户的需求。因此,测试过程就必须针对每一个功能模块,每个功能按钮,进行测试,同时,要注意细节问题。经过测试,系统中存在的漏洞将会一一浮现出来,在此时,开发人员需要找出每一个漏洞出现的原因,找到相应的代码,改正错误。因此,在程序编写时,尤其要注意格式的书写以及每一个字段的字母都要准确,否则会给程序测试带来很大的麻烦。正确的格式可以让程序测试出现错误时,快速定位相应字段,这样就缩短了测试时间。要确保程序的可靠运行,需要找到程序的BUG,因此系统测试是必要的。测试的过程就是不断的试验与纠错,每次各试验与纠错的过程,都会自动将相关数据保存到计算机报告器中,显示测试的结果。当测试报告结果显示有漏洞时,就需要开发者自行寻找漏洞存在的原因以及自行纠正错误。在学生信息管理系统中,采用了非常常见的黑盒测试。6.3测试策略进行测试能够避免用户在使用时出现了错误,造成一系列不可挽回的事情,这样子的错误,是能够通过系统测试能避免的。系统测试的特性如下:(1)严苛性:测试是非常严格的,在测试时需要十分严格的对待,将系统所有毛病都挑出来,从而实现系统运作时做到没有BUG的情况,保证系统投入使用后,能满足用户各种需求,让用户使用系统时得心应手。(2)复杂性:由于系统功能繁多,各部分功能流程相互影响,因此测试是非常复杂的过程,需要用户在测试时十分了解系统,并高度注意各个功能的运作,不容许发生忽略的现象。(3)不彻底性:即使用户测试时检测已十分细致,并且测试时的BUG没有产生,但是仍然不能保证系统中没有BUG,因为系统测试是不彻底的,因此仍然需要不断的测试和维护。(4)经济性:进行系统测试要遵循经济性原则,同时这种测试也是"选择测试"[15]。6.4测试分析经过以上的测试与分析主要是从以下几个方面来进行的:(1)功能测试:主要包括五项内容:界面美观性、使用经济性、运行流畅性、信息安全性、便于操作性。本系统功能测试如表6.1所示:表6.1网站功能测试测试内容测试预期测试结果界面美观性简洁大方,不复杂良好运行流畅性流畅不卡顿良好信息安全性保证信息安全良好便于操作性操作简便良好(2)可用性测试用于检测系统的可理解性、可操作性和学习性等方面内容。具体测试方面如表6.2所示。表6.2网站可用性测试测试项测试预期测试结果对页面的大小调整能否实现是是页面的美观是否符合要求是是在选择功能操作时,页面提示信息是否准确是是切换页面是否流畅是是各个模块的目标是否达成是是点击键盘、鼠标能够形成对应的操作是是数据信息是否准确是是操作流程是否简便是是提示帮助信息是否及时是是(3)功能测试:在经过性能测试和可用性测试之后,需要测试系统的功能使用情况。进行功能测试要求检测系统任意的功能,查看其是否存在缺陷,并对功能实现的代码进一步的检查,查看其符合基本功能设计与否,在针对程序检测进行阶段性的测试,通多进一步判断和纠错,使系统趋于完美:我们通常采用的测试方式有黑盒测试和白盒测试,这两种测试方式足以满足测试需求。\t"C:/Users/Administrator/Desktop/htmls/detail_report/right"黑盒测试的方式主要是检查程序功能的可实现性,是否按照预期目标的逻辑正确运行,因此这种方式也叫做功能测试。这种方式一般会在程序接口进行,通过对程序发送数据来检查接受数据和做出反应是否符合要求,程序运行\t"C:/Users/Administrator/Desktop/htmls/detail_report/right"是否能够稳定,还要从外部查看信息的完整性。白盒测试测试的方式目的在于程序内部,主要测试逻辑正确性,这种方式又叫结构测试,能够检测每条程序的运作轨迹是否符合要求:6.4.1用户登录模块测试用例表6-1用户登录测试所属编号001测试目的用户是否照常使用登录功能测试环境学生信息管理系统测试步骤打开系统,在登录页面点击登录在输入框按照要求填写用户名、密码确认填写完成后点击登录按钮输入数据输入个人账号用户名以及设置好的密码预期输出登录成功,进入系统界面实际输出登录成功,进入系统界面存在问题无修改方案无设计人员设计日期2020-11-13测试人员测试日期2020-11-136.4.2修改密码模块测试用例表6-2修改密码测试所属编号002测试目的用户是否能够随意更改个人密码测试环境学生信息管理系统测试步骤进入修改密码界面输入新密码输入数据无预期输出保存成功,密码修改成功实际输出保存成功,密码修改成功存在问题无修改方案无设计人员设计日期2021-3-20测试人员测试日期2021-3-206.4.3学生管理模块测试用例表6-3学生管理管理测试所属编号003测试目的管理员是否能够随意更改学生信息测试环境学生信息管理系统测试步骤在管理员管理主界面点击学生管理对学生信息进行编辑点击提交刷新系统输入数据学生信息预期输出更改学生信息成功实际输出更改学生信息成功存在问题无修改方案无设计人员设计日期2021-3-20测试人员测试日期2021-3-206.4.4课程管理模块测试用例表6-4课程管理测试所属编号004测试目的管理员是否能够随意更改课程信息测试环境学生信息管理系统测试步骤在管理员管理主界面点击课程管理对课程信息进行编辑点击提交刷新系统输入数据无预期输出更改课程信息成功实际输出更改课程信息成功存在问题无修改方案无设计人员设计日期2021-3-20测试人员测试日期2021-3-206.5测试总结在进行测试时,使用不同的用户角色登录系统,针对系统各个功能模块进行了操作,检查了系统的各个环节,对系统的每个界面进行了检查,记录了每项测试的结果,并进行测试分析,在测试中,学生信息管理系统没有出现强制退出系统的情况,学生信息管理系统可以实现预期的各个功能,且运行流畅,各个操作都能得到程序的反馈,且响应速度快,程序没有出现明显的逻辑性的错误,经过反复测试,系统运行良好。由此可以证明,学生信息管理系统的开发,是可以完全投入实际使用的。总结本次学生信息管理系统的设计是我人生中一次非常可贵的经历,经过学生信息管理系统的开发,我学习到了许多知识。毕业设计最初时,我感到十分茫然,不知从何开始。于是在导师的知道下,查找、阅读以及研究了大量有关学生信息管理系统方面的文献,同时,还准备了一本笔记本,专门记录有用的资料。在确定的系统的基本功能,做出大致的流程图之后,又确定下系统所采用的技术部分,通过进一步的研究和学习,终于能够开始着手于编程工作。在编写程序时,同样遇到了许多问题,经过指导老师的指导,一一的解决了这些问题,并获益终身。在此次毕业

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论