1、软件工程学生成绩信息管理系统学习报告 学习报告软件工程课程名称: 学生成绩信息管理系统题目名称: 学生姓名: 学号: 课程成绩: 二零一五 年 十二 月目 录目录格式不允许修改,分数5分1 前言11.1 系统的背景及开发意义11.2 系统的开发环境及工具12 系统需求分析32.1 系统功能需求分析32.1.1用户分析需求描述32.1.2 系统功能分析建模42.2 系统数据需求分析62.2.1系统数据信息描述62.2.2系统数据分析建模72.3 其它需求分析93 系统总体设计113.1 整体架构设计113.2 系统总体结构设计113.3 系统数据库设计124 系统详细设计及编码实现164.1 公
2、共模块的设计与实现164.1.1 公共模块的功能164.1.2 公共模块的算法设计164.2成绩管理模块设计与实现174.2.1 成绩管理模块的功能174.2.2 成绩管理模块的算法设计174.3管理模块设计与实现184.3.1 成绩管理模块的功能184.3.2 成绩管理模块的算法184.4 课程管理模块设计与实现184.4.1 课程管理模块的功能194.4.2 课程管理模块的算法设计194.5 系统管理模块设计与实现194.5.1 系统管理模块的功能194.5.2 系统管理模块的算法205 系统测试215.1 测试的目的及技术215.2 测试的步骤215.3 测试的过程225.3.1 成绩模
3、块功能测试225.3.2 成绩查询功能模块测试235.4 集成测试及确认测试265.4.1集成测试275.4.2确认测试241 前言5分1.1 系统的背景及开发意义(1) 系统背景介绍 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不但提高了工作效率,而且大大的提高了其安全性。特别对于复杂的信息管理,计算机能够充分发挥它的优越性。管理信息系统是一个由人和计算机等组成的能够提供信息以支持一个组织机构内部的作业、管理、分析和决策职能的系统。管理信息系统利用计算机的硬件和软件,
4、手工规程、分析、计划、控制和决策用的模型,以及数据库对信息进行收集、传输、加工、保存、维护和使用。因此管理信息系统是一个信息处理系统。管理信息系统作为各项业务、技术、工作自动化及高水平管理的方法和模式,正在得到越来越广泛的应用。早期的管理信息系统一般是以各单位为主体,独自进行开发和应用。从技术上看,大致是以局域网或客户/服务器模式组成应用系统平台,在操作系统和数据库管理系统的平台上开发应用软件系统。可是,由于技术的发展和进步以及应用、管理和数据共享的需要等诸多原因,把分散开发且分布在各个地域的独立的管理信息系统互相连接起来,实现系统硬件、系统软件、应用软件及数据的共享,已经成为越来越迫切的任务
5、。当今社会是一个信息社会,信息已成为继劳动力、土地、资本之后的又一大资源。谁控制的信息越多,谁利用信息资源的效率越高,谁就会在各方面的竞争中占有一席之地,谁就会有更多的优势。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,计算机产业飞速发展,技术淘汰指标高得惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”。微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动中国管理信息并实现现代化起到了重要作用。使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速
6、、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样的一套成绩信息管理系统已经成为很有必要的事情。(2) 系统开发的意义 学生成绩信息管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩信息管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,它的内容对于学校的决策者和管理者来说也至关重要,介于它的重要性,学生成绩信息管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。 运用学生成绩信息管理系统能够减轻学院教学人
7、员的工作量,缩小开支,提高工作效率与准确率,学生能够尽快的知道自己的考试成绩,能够合理安排时间,投入新的课程的学习或复习这次没有考过的课程2。而且学生成绩信息管理系统本着实用性、通用、开放和安全的原则,充分利用计算机作为辅助工具,实现学生考试成绩从传统的手工管理到计算机管理,对提高管理效率和节约大量的人力、物力有一定的推动作用。为今天的民办教育在未来市场的竞争力的提高做出了贡献。从大的方向说,就是为了加速中国四化建设的发展,实现全部的自动化,使中国发展成为通讯网络化,决策科学化,办公自动化的国家。1.2 系统的开发环境及工具(1)系统开发的环境硬件:Windows 服务器、 希捷 ST9500
8、420AS ( 500 GB / 7200 转/分 )硬盘 、2GB ( DDR3 1333MHz )内存软件:Windows 8.1 旗舰版 32位 SP1 ( DirectX 11 )(2)系统开发的工具系统采用Microsoft Visual Studio 、SQL Server 数据库开发工具、C/S结构。下面对开发中采用的工具进行说明: Microsoft Visual Studio 简介Visual Studio是当前最流行的Windows平台应用程序的集成开发环境,Visual Studio 本集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。而且支持开发面向Win
9、dows 7的应用程序。除了Microsoft SQL Server,它还支持IBMDB2和Oracle数据库。 SQL Server 数据库简介SQL Server 在Microsoft的数据平台上发布,能够组织管理任何数据。能够将各种文档的数据直接存储到数据库中。能够对数据进行多种操作。这个平台具有可信任、高效、智能三大特点。 C/S结构简介C/S 结构,即客户机和服务器结构。它是软件系统体系结构,经过它能够充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。C/S结构构相对于B/S架构而言有许多优点:a. 响应速度快 b. 软件设计能够
10、更好的满足用户个性化的需求c. 数据处理能力强大 d. 系统安全性更有保障2 系统需求分析2.1 系统功能需求分析2.1.1用户分析需求描述成绩管理系统主要是提供网上成绩管理平台。该系统需要满足3个方面的需求:管理员使用系统对全部数据进行维护操作;教师对于自己相关的部分数据实体进行操作;学生作为查询者对数据实体进行查询操作。用户经过登录功能进行角色判断。系统分角色登录,包括系统管理员、学生、教师,而且各类用户的权限不一样。学生能够查询个人成绩及个人信息,当发现有错误信息时能够及时和教师联系,并能够随时了解自己的成绩情况,避免挂科耽误补考等事件的发生。主要有以下功能模块 (1)个人信息:主要用来
11、查看个人信息及修改个人密码。(2)系统公告:学生能够查看管理员发布的公告。(3)我的成绩:学生能够查看自己所学科目的成绩。(4)考试试题下载:学生能够下载教师或管理员上传的试题。(5)试题上传:学生能够将自己的试题上传以便教师查看。(6)内部论坛:学生能够在里面留言、发表自己的看法。教师根据自己所授课程录入并查询学生成绩,发布重要通知。主要提供以下功能模块(1) 个人信息:主要查看个人信息及修改个人密码。(2)学生成绩管理:录入学生成绩,删除和修改学生成绩。(3)学生试题下载:下载学生上传的试题。(4)公告管理:浏览公告。(5)内部论坛:在论坛里留言、回答她人问题等。管理员能够添加、删除、修改
12、和查询一些基础信息,及时发布消息以便学生和教师了解学校动态。系统提供的主要功能模块(1)个人信息:管理员查看并修改个人信息。(2)基础信息管理:管理员能够对学院、系别、班级、教师、学生的基本信息进行增加、删除、修改等操作。(3)课程管理:管理员能够添加、删除、修改课程信息。(4)学生成绩管理:管理员能够查看学生成绩。(5)公告管理:管理员能够发布公告,删除无用信息等。(6)内部论坛:管理员能够浏览论坛内容,对论坛内容进行回复、删除操作。(7)考试试题维护:管理员能够删除上传的试题。2.1.2 系统功能分析建模功能模型12分本系统采用数据流图的模型工具建模。(1)数据流图(DFD)的介绍数据流图
13、简称DFD图,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能,是一种功能模型。(2)数据流图的建立 建立系统顶层数据流图:如图2.1。图2.1 学生考勤管理系统顶层图 数据流图分解:学生成绩管理系统按功能划分为学生用户子系统、教师用户子系统、管理员用户子系统三部分,如图2.2。图2.2 学生成绩信息管理系统0层图 数据流图功能分解,如图2.3图2.3 学生成绩信息管理1层图2.2 系统数据需求分析数据模型12分2.2.1系统数据信息描述本系统的数据信息有学生基本信息、教师基本信息、管理员基本信息、课程信息、(1) 学生
14、信息:学号、姓名、性别、班级、密码、联系方式、身份证号(2) 教师信息:用户名、密码、所教课程(3) 管理员信息:管理员的用户名、密码(4) 课程信息:课程名称、任课教师2.2.2系统数据分析建模(1) 实体-关系模型建立实体-关系模型简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。 学生实体关系:学生实体具有班级、学号、姓名、性别等属性;图2.4 学生实体E-R图 教师实体关系:三个实体之间具有记录和审批的联系,如图2.5。图2.5 教师实体E-R图 管理员实体关系:管理员实体具有登录名、密码属性;数据信息具有课程名、任课教师属性;三个实体之
15、间具有更新和审批的联系,如图2.6.图2.6 管理员实体E-R图2.3 其它需求分析6分(1)系统性能需求分析 数据精确度需求:在精度需求上,根据实际需要,数据在输入、输出及传输的过程中要满足各种精度的需求根据关键字精度的不同。 响应时间需求:无论是客户端和服务端,当用户登录进行操作时,系统反应的时间应在5秒以内。系统应能及时反映各种非正常情况,避免用户出现长时间等待甚至系统无响应。 用户使用性需求 :界面设计易于操作,在用户使用时在客户端服务器端进行验证,并提示用户输入正确数据和正确的操作系统。 安全保密性需求:每个用户都有权限设置,对用户的登录密码进行加密设置,非本系统用户不能登录使用。
16、操作性需求:支持Windows 及以上的操作系统,设计连接SQL Server数据库。(2)系统输入/输出需求分析符合精度的设定,数据的输入输出都应该为数字、字母及汉字,不应该含有字符形式。(3)系统错误处理需求分析 数据库存储空间不够,引起数据库访问变慢等问题需要对磁盘进行扩展和维护。 执行程序非正常退出,响应确实,修改源代码前应备份。 数据库没启动引起访问问题,须启动数据库服务器。3 系统总体设计3.1 整体架构设计5分本系统采用C/S 结构(客户机/服务器结构)作为设计模型。其中包括学生用户子系统、教师用户子系统和管理员用户子系统三部分。根据现在所掌握的计算机技术,选择SQL Serve
17、r 作为后台数据库开发工具,SQL查询语言进行数据库的操作访问;选择Visual Studio 作为应用程序开发工具,WinForm窗体应用程序搭建系统运行模块。学生成绩信息管理系统主要实现学生成绩的相关的功能,本系统包括成绩查询、修改 添加删除等,工程维护、用户管理、个人信息、修改密码十个功能模块。3.2 系统总体结构设计10分学生成绩管理系统分为考勤管理模块结构设计、请假管理模块结构设计、课程管理模块结构设计和系统管理模块结构设计四个部分。(1)系统的主要功能如下: 系统用户的登录、注册功能 教师对成绩信息的录入 教师对成绩的查询、修改 学生对自己成绩的查询 管理员对成绩信息查询 管理员对
18、系统的课程信息进行更新维护 系统用户查看自己的个人信息,修改个人密码(2) 学生考勤管理系统的功能模块结构图:图3.1 学生考勤管理系统功能模块结构图3.3 系统数据库设计10分本系统的数据库名称是xskqgl.mdf,里面包含5个表,依次分别是课程表、教师表、学生表、学生成绩表 、人员信息表,下面将对这些表格一一介绍。(1) 课程表课程表设计有外课程编号、课程名称和任课教师共3个字段。表3.1 课程表字段类型列名备注idint编号自动增长列kcmcvarchar课程名称rkjsvarchar任课教师(2) 教师表 表3.2 教师信息表Yonghuming表示用户名、mima表示密码、xing
19、ming表示姓名、renjiaokemu表示该老师任教科目、dianhua表示该老师电话号码、youxiang表示邮箱、QQ表示QQ号码、shenfenzheng表示身份证号码、xingbie表示性别、beizhu表示备注(3) 学生表表3.3 学生信息表 Xuehao表示学号、mima表示密码、xingming表示姓名、banji表示班级、jiaoshi表示教师、xingbie表示性别、jiguan表示籍贯、dianhua表示电话号码、QQ存储QQ号码、youxiang表示邮箱(4) 学生成绩表表3.4 学生成绩表Xuehao表示学号、xingming表示姓名、banji表示班级、jiaos
20、hi表示教师、kecheng表示课程。addtime表示添加时间(5) 人员信息表人员信息包括10个字段,分别为人员编号、登陆账号、登录密码、真实姓名、权限类别、姓名、班级、专业名称、联系方式、身份证号。其中权限类别划分是管理员、教师、学生。表3.5 人员信息表字段类型列名备注idint编号自动增长列unamevarchar登录账号pwdvarchar登录密码namevarchar真实姓名qxvarchar权限类别管理员、教师、学生xbvarchar性别bjvarchar班级zyvarchar专业名称sfzhvarchar身份证号lxfsvarchar联系方式4 系统详细设计及编码实现20分4
21、.1 公共模块的设计与实现4.1.1 公共模块的功能(1) 用户登录模块功能:用户输入用户名、密码,在学生、教师、管理员三个角色中选择相应的进行登录,未注册的学生用户点击注册按钮,教师用户登录名和密码有管理员分配不用注册。(2)学生注册模块功能:未注册的学生点击注册按钮,进入注册界面,注册信息包括班级、学号、姓名、性别、密码、联系方式和身份证号,均为必填项。4.1.2 公共模块的算法设计根据功能需求分析和结构设计来实现用户登录模块算法,算法用程序流程图表示,如图4.1图4.1 用户登录模块程序流图4.2用户管理模块设计与实现4.2.1 用户管理模块的功能4.2.2 用户管理模块的算法设计如图4
22、.4图4.4 用户模块程序流程图4.3 用户管理模块设计与实现4.3.1 用户管理模块的功能4.3.2 用户删除管理模块的算法如图4.8图4.8 用户删除模块程序流程图4.4 成绩管理模块设计与实现4.4.1 添加成绩模块的算法设计如图5.12图5.12 添加成绩模块程序流程图5 系统测试 10分5.1 测试的目的及技术本系统采用测试技术有黑盒测试技术和白盒测试技术,采用的测试步骤有单元测试、集成测试和确认测试。(1) 测试的目的系统测试其目的是经过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案,尽可能彻底地检查出程序中的错误,提高软件系统的可靠性。(2
23、) 测试的技术 黑盒测试技术黑盒测试是经过使用整个软件或某种软件功能来严格地测试, 在测试时只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。 白盒测试技术 白盒测试是经过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。5.2 测试的步骤(1) 单元测试单元测试是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其它部分相隔离
24、的情况下进行测试。(2)集成测试集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。集成测试是在单元测试的基础上,集成测试采用的方法是测试软件单元的组合能否正常工作,以及与其它组的模块能否集成起来工作。最后,还要测试系统所有模块组合在一起能否正常工作。集成测试的主要目的在于发现单元之间接口的错误以及发现集成后软件同总体设计分析不一致的地方,重点在于测试各个模块连接起来后经过接口传递的数据是否会错误或丢失。(3) 确认测试确认测试的目的是进一步验证软件的有效性,这就是确认测试的任务,验证软件的功能和性能如同用户所合理期待的那样。确认测试过程包括安装测试,功能测试,可靠性测试,安全性测试,时间
25、及空间性能测试,易用性测试,可移植型测试,可维护性测试,文档测试。5.3 测试的过程5.3.1 登陆模块功能测试(1) 测试结果测试结果与预期结果相同,(4)评价根据系统的测试和实际需求的分析,能够看出登陆模块的运行正常,实现的功能与预期结果一致,基本实现了登陆的功能5.3.2 用户删除功能模块测试(1) 用户删除模块的功能(2) 测试结果(3) 评价根据系统的测试和实际需求的分析,能够看出模块的运行正常,实现的功能与预期结果一致。5.3.3 添加成绩模块功能测试(1) 添加成绩模块测试用例表5.3 添加成绩模块测试用例(4)评价根据系统的测试和实际需求的分析,能够看出添加成绩模块的运行正常,
26、实现的功能与预期结果一致。5.4.2确认测试(1) 安装测设:本系统的客户端开发采用的是Microsoft Visual Studio 软件,服务器端采用的是SQL Server 数据库,在任意一台Windows的操作系统上都能顺利的进行安装。(2) 功能测试:分别以学生、教师、管理员的身份登录系统进行学生成绩管理系统的测试,均能满足设计要求。但在部分功能上缺少人性化设计:存在的缺项:在实现成绩管理功能中,教师在考勤时使用下拉菜单 ToolStripMenuItem控件来选中考勤情况比较浪费时间不好操作。解决办法:将成绩的选项改成单选按钮RadioButton控件来实现,这样更加方便考勤。(3
27、) 安全性测试:进入系统要先进行用户登录,正确的输入用户名和密码才能够进入,而且管理员能够对系统的用户进行管理,这样确保了系统的用户的范围,提高了系统使用的安全性。六总结 在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在学生管理系统中的应用不是很多,可是未来的发展方向,在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。 尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必须的。相信本学生管理系统是一套学校在日常管理中必不可少的管理软件,经过开发这个系统,我掌握了的项本过程,了解了的基本知识巩固了我对Visual的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。