软件工程导论课程设计-学生学籍管理系统(共33页).doc

上传人:飞****2 文档编号:13568983 上传时间:2022-04-30 格式:DOC 页数:33 大小:5.05MB
返回 下载 相关 举报
软件工程导论课程设计-学生学籍管理系统(共33页).doc_第1页
第1页 / 共33页
软件工程导论课程设计-学生学籍管理系统(共33页).doc_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《软件工程导论课程设计-学生学籍管理系统(共33页).doc》由会员分享,可在线阅读,更多相关《软件工程导论课程设计-学生学籍管理系统(共33页).doc(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上安徽课程设计报告课 程: 软件工程导论题 目:班 级: 专 业: 计算机科学与技术姓名:学号: 指导教师: 日期: 2014.05.05 摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。本文在结构上首先论述了程序设计目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用图片、说明和代码的方式介绍了系统的整体规划,接下

2、来是系统在具体实现中的详细内容,最终本系统能够完成信息的添加、修改、删除、查询等功能,本系统界面友好,操作简单,比较实用,思路缜密严谨,管理起来方便快捷,能有效的达到学生信息的管理的目的。关键词:Microsoft Visual C#2008 Express Edition,SQL server2005,界面,权限目 录 2.1.4开发环境和软件7 2.2.1 数据需求7 2.2.1.1 数据字典7 2.2.1.2 数据流图8 2.2.2 功能需求1000255556677788889 0 1 3367892231 绪 论人类有几千年的历史,计算机从产生到现在只不过50多年,而网络的迅速发展也

3、不过10年的时间。但是,计算机和网络对社会的影响已经迅速扩大,甚至在改变人们的生活。特别是90年代以来,多媒体和网络技术的飞速发展正在以惊人的速度改变着人们的工作方式、交往方式和生活方式。正像著名的未来学家尼葛洛庞帝(1997)所说的:“数字不再只和计算有关,它决定我们的生存。”科学技术是第一生产力,是最先进的生产力。现在,已经没有人怀疑信息技术的发展将会引起人类社会全面和深刻的变革,使人类社会由工业社会迈向信息社会。目前,在社会各个方面都呈现出了与工业社会显著不同的特点。网上书店,网上医院,网上学校,网上购物,网上银行,政府上网等新事物如雨后春笋般涌现出来,对人们的传统生活方式、工作方式产生

4、极大的冲击。使人们感受到技术发展的脉搏和信息时代前进的步伐。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。1.1 设计目的本课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和ADO.net的应用,希望通过本次课程设计锻炼学生使用C#语言解决实际问题的能力。1.2 开发工具选择本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速

5、度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2008作为主要开发工具,可与SQL Server 2005数据库无缝链接。1.3 开发环境系统开发平台:Microsoft Visual Studio2005系统开发语言:C#数据库管理软件:SQL Server 20051.4 本报告的主要内容本报告详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如下:系统的需求分析、系统的总体设计、系统的概念设计、系统各模块的详细设计、系统运行与测试。2 需求分析需求分析是一组活动的总称,作为系统分析员,必须协同软件用户共同完成。而需求分析

6、的任务是定义待开发的软件的功能、性能等指标。首先要了解用户的相关事务,如果你给一家网站做在线书店系统,除了参考现在已经存在的类似和相关的系统外,你还需要通过用户的演示、讲解和有关文档,与用户进行交流协商。在这个过程中,可以提出自己有建设性的想法和建议,只有这样,用户和系统设计人员才会在系统提供的事务上达成一致,这对于软件来说是相当重要的。其次要分析用户的事务流程,前面了解的用户事务只是一些离散的事务活动,而事务流程是一种重要的信息,比如用户登录这个流程,他需要经历用户名和密码的输入,正确用户类型的选择这些活动,然后将了解到的用户活动加以整理并按照这些活动所固有的次序形成业务流程。还要了解用户对

7、软件的期望值,除了需要能够正确处理用户的事务外,还需要了解用户对系统的其他需求,比如系统的安全性。这些对于用户而言也显得尤为重要。最后整理出用户需求并评审需求。21系统任务描述系统模块的设计应该遵循整个系统总体设计思路,基于C#开发工具与数据库SQL设计,主要完成的设计如下:2.1.1系统目标(1) 根据查询条件实现学生信息的查询(2) 学生选课信息查询、成绩信息的查询(3) 学生信息、课程信息、成绩信息的增加、删除、修改(4) 对基本信息完成增加、删除、修改时,需注意表与表之间的关联2.1.2系统设计与功能分析 学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易

8、用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2000数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2000数据库高效安全,两者结合可相互利用各自的优势。该系统实现的大致功能:1 用户登陆界面。该界面可以选择使用者的身份,“管理员,教师,学生”。不同的身份有不同的操作界面和功能权限。ID号和密码输入正确即可登录。学

9、生管理界面。提供了学生学籍信息的查询,修改登录密码等功能。2 教师管理界面。提供了对学生学籍信息的查询,添加,修改,删除。修改密码等功能。3 管理员管理界面。拥有最高的权限。允许添加教师信息。4 登录的用户信息分别存储在SQL数据库的“管理员信息表”, “教师信息表”, “学生表”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。保证了本学生管理系统的安全性。2.1.3性能需求分析(1) 登录、用户界面需求:简洁、易懂、易用、友好的用户界面。(2) 安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管理等。22 系统概要设计2.2.1数据需求:2.2.1.1数据字典实体属性

10、表:实体属性教师教师ID,教师姓名,登录密码管理员管理员ID,登录密码学生学号,姓名,性别,班级号,籍贯,登录密码,学生成绩教师信息表:字段名 类型空值约束条件教师ID varchar(8)not null主键教师姓名varchar(8)not null登录密码varchar(8)not null管理员信息表:字段名 类型空值约束条件管理员ID varchar(10)not null主键登录密码varchar(10)not null学生表:字段名 类型空值约束条件学号int not null主键姓名varchar(30)not null性别char(2)班级号varchar(30)not nu

11、ll外键籍贯char(10) 登录密码moneynot null学生成绩Char2.2.1.2 数据流图第一层 学生名单学籍管理系统学 生教 师 学生信息 成绩 学 生管理人员 统计表 成绩单第二层1录入存储处理2查询处理学生记录学生信息 成绩 3统计 处理4升留级处理本次考试成绩历次考试成绩 班平均成绩 升留级表 各科平均成绩第三层13录入存储学生信息各科成绩1.2是否新生审计1.1学生信息 合格单 新生信息 学生信息学生成绩第四层班级平均成绩3.1 班级统计选择3.1学生信息 统计成绩 各科平均成绩3.3 各科第五层是否升留级4.1更新记录4.2学生信息 升留级名单 学生记录成绩标准2.2

12、.2功能需求:(1)实现学生基本情况的录入,修改,删除等基本操作。(2)对学生基本信息提供灵活的查询方式。(3)完成一个班级的学期选课功能。(4)实现学生成绩的录入,修改,删除等基本操作。(5)能方便的对学生的个人学期成绩进行查询。(6)具有成绩统计,排名等功能。(7)具有留级,休学等特殊情况的处理功能。(8)能输出常用的各种报表。(9)具有数据备份和数据恢复功能。23系统详细设计2.3.1概念结构设计局部ER图性别姓名人数专业名专业号 学生学号出生年月专业院系课程号学时课程名课程整体的ER图专 业学生课程院系专业号 学时出生年月性别姓名学号密码课程号专业名人数专业号设置课程号学期课程号选课属

13、于 学号成绩学期课程名 2.3.2. 逻辑结构设计(1)ER图转换为关系模型由ER图可见:图中有三个实体:学生,课程,和专业;三个关系:学生选课关系,学生与专业之间的属于关系,专业的课程设置。由于每个实体必须构造表,所以可以先得到三个实体的信息表,实体的码就是关系的码,实体的属性即关系模型的属性:学生基本信息表: S (sno, sname, ssex, sbirth, spasw) 课程基本信息表: C (cno, cname, cperiord)专业基本信息表: P (pno, pname, pnum, psdept)对应的属性分别为:学号,姓名,性别,出生日期,登陆密码 课程编号,课程名

14、,学期 专业编号,专业名,专业人数,所在院系对于多对多的关系来说,与该联系相连的实体的码以及本身的属性均转换为关系的属性,各实体之间的码组成关系的码或者关系的码的一部分。 以上ER图的三个联系为多对多,所以转换为关系模式为:课程设置表:pc ( pno, psenior, cno) 与设置相连的实体有专业和课程,根据多对多的转换原则:专业的码pno,课程的码cno以及设置本身的属性共同构成该关系模式的码,所以该关系模式的码为全码。学生选课表:SC (sno, psenior, cno, grade)与选课相连的实体有学生和课程,同上由学生的码sno,课程的码cno以及选课本身的码psenior

15、构成该关系模式的码,即(sno,cno,psenior)。此外,选课表还有一个非主属性grade。学生与专业的属于表:SP(sno,pno)与属于关系相联的实体是学生和专业。同上由学生的码sno,专业的码pno构成该关系模式的码,由于此关系没有其他的码也就没有非主属性。(2)关系模式的优化:学生表 s (sno,sname,ssex,sbirth,spasw)该关系模式的码为sno,由于只有一个码,所以不存在非主属性对码的部分函数依赖,可以达到2NCF。另外,该关系模式的函数依赖为: sno - sname, sno - ssex, sno - ssex,sno - sbirth, sno -

16、 spasw,其间不存在传递依赖,故学生表可达到3NCF.课程表 C ( cno ,cname , cperiod)该关系模式的码为cno, cname,设主码为cno,因为该关系模式中的码都是单一的,即不存在有两个或者两个以上的属性组成的码,所以不存在非主属性对码的部分函数依赖,可以达到2NCF。另外,该关系模式的函数依赖为:cno-cname, cno-cperiod, cname -cno ,cname - cperiod. 因为cno - cname,cname - cperiod cno - cperiod, 所以该关系模式中存在传递依赖,不能达到3NCF。故优化该表为:C1(cno

17、,period),C2(cname,cperiod).从而两表都达到了3NCF。专业表 P (pno,pname,pnum,pdept)该关系模式的码为pno,pname,其中设定pno为主码。同课程表,该表不存在有两个或者两个以上属性组成的码,即不存在非主属性对码的部分函数依赖,故可达到2NCF。另外,此关系模式的函数依赖为:pno-pname, pno- pnum, pno - pdept , pname - pno, pname-pnum, pname - pdept; 由于存在传递依赖:pno - pname, pname-pnum, pno - pnum., 所以未能达到3NCF。优

18、化分解为:P1 (pno,pnum,pdept), P2 (pname,pnum,pdept)明显,两表都达到了3NCF.课程设置表PC(pno,psenior,cno),该关系模式的码为:(pno,psenior,cno)为全码,所以可直接达到3NCF学生选课表 SC(sno,psenior,cno,grade)该关系模式的码为:(sno,psenior,cno),因为不存在非主性grade对码的部分函数依赖,所以可达到2NCF,由于不存在函数依赖(表中的函数依赖只有(sno,psenior,cno)- grade)故也达到了3NCF属于表 SP(sno,pno)该关系模式的码(sno,pn

19、o)也是全码,所以也达到了3NCF用户表 U(uname,upasw)该表的码为uname,明显upasw对码uname是完全函数依赖的,从而达到2NCF。另外因为只有两个属性,所以不存在传递函数依赖,该表达到了3NCF2.3.3物理结构设计(1)基本表学生表s列名主码候选码外码被参照表允许空数据类型约束条件sno是否否无否Char(10)sname否否否无是Char(20)ssex否否否无是Char(2)只可取男或女sbirth否否否无是Char(20)spasw否否否无是Char(10)课程表 c1列名主码候选码外码被参照表允许空数据类型约束条件cno是否否无否Char(10)cperio

20、d否否否无是smallint课程表c2列名主码候选码外码被参照表允许空数据类型约束条件cname是否否无否Char(20)cperiod否否否无是smallint专业表p1列名主码候选码外码被参照表允许空数据类型约束条件pno是否否无否Char(10)pnum否否否无是smallintPnum =0psdept否否否无是Char(20)专业表p2列名主码候选码外码被参照表允许空数据类型约束条件pname是否否无否Char(20)pnum否否否无是smallintPnum =0psdept否否否无是Char(20)课程设置表 pc列名主码候选码外码被参照表允许空数据类型约束条件pno是否否无否C

21、har(10)psenior是否否无否Char(10)cno是否否无否Char(10)学生选课表sc列名主码候选码外码被参照表允许空数据类型约束条件sno是否否无否Char(10)psenior是否否无否Char(10)cno是否否无否Char(10)grade否否否无是smallintgrade=0学生与专业属于表sp列名主码候选码外码被参照表允许空数据类型约束条件sno是否否无否Char(10)pno是否否无否Char(10)管理人员密码表u列名主码候选码外码被参照表允许空数据类型约束条件uname是否否无否Char(20)upasw否否否无否Char(10)(2)视图,索引a.索引:本数

22、据库中的表除了主键本身生成的主索引外,没有定义其他的索引。在查询时即引用主索引即可。表s的主索引列为:sno表c1的主索引列为:cno表c2的主索引列为:cname表p1的主索引列为:pno表p2的主索引列为:pname表sc的主索引列为:(pno,psenior,cno)表sp的主索引列为:(sno,pno)表u的主索引列为:unameb视图:虽然关系数据模型分析的结果表示该数据库需要定义不同的用户视图,但考虑到数据库与前台开发程序的连接比较复杂,所以该数据库中没有单独定义用户视图,不同的用户视图被有选择性的的select语句的结果集取.2.3.4系统功能设计学生学籍管理系统添加用户学生信息

23、管理人员信息基本信息信息查询成绩查询系统管理查询管理成绩统计个人成绩专业成绩欢迎界面身份及密码验证基本信息维护删除更新添加 3总体设计3.1设计概述根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能;3.2系统总体结构及功能模块划分学生成绩录入学生信息管理学生信息管理系统学生信息查询经过对系统的需求分析,学生信息管理系统主要划分为三个部分:学生信息查询,学生信息管理,学生成绩录入三个功能模块。如图3.2.1 系统的总体结构。图3.2.1 系统的总体结构3.2.1学生信息查询模块学生信息查询学号查询姓名查询学生信息查询:学生可以根据

24、学号、姓名、专业进行查询。如图3.2.2学生信息查询模块结构。图3.2.2 学生信息管理模块结构3.2.2学生信息管理模块基本信息录入成绩录入基本信息更新成绩更新学生信息删除学生信息录入学生信息管理学生信息更新学生信息管理:主要是用于学生信息更新、插入、删除,如图3.2.3学生管理模块结构。图3.2.3 学生信息管理模块结构3.4安全保密设计3.4.1用户登录安全性系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入正确的用户名及密码组合后才能够对学生信息进行操作。 4详细设计4.1概述详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,

25、应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。4.2系统程序流程图程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。它可将整个程序的总体流程清楚明白的显示出来。如图4.2.1系统总流程图结构。 图4.2.1系统总体流程图4.3系统主要功能模块简介4.3.1系统登录用户凭借用户名及密码登录,成功登录后可对学生信息进行操作。用户界面如图4.3.1 用户登录界面所示。图4.3.1 用户登录界面4.3.2学生信息查询模块学生信息查询:在程序主界面(如图4.3.2 程序主界面)学生可以根据学号、姓名进行查询。学生也可以只用一种条件进行

26、信息查询,也可以多个条件查询。双击记录任一单元格可显示学生的更详细信息。图4.3.2 程序主界面4.3.3学生信息管理模块学生信息管理:通过右击程序主界面的相应记录弹出的上下文菜单可对当前选定学生信息进行详细信息查询、修改信息、删除信息。更新时如果输入的学号不存在,可选择是否添加学生信息。通过程序主界面的新建信息记录可添加学生信息。图4.3.4 上下文菜单图4.3.6 学生信息增删改查界面4.3.4管理员信息管理模块管理员信息管理:通过右击程序主界面的相应记录弹出的上下文菜单可对当前选定学生信息进行详细信息查询、修改信息、删除信息。更新时如果输入的学号不存在,可选择是否添加学生信息。通过程序主

27、界面的新建信息记录可添加学生信息。 图4.3.7管理员显示界面 图4.3.8 管理员添加界面4.3.5管理员信息管理模块教师信息管理:通过右击程序主界面的相应记录弹出的上下文菜单可对当前选定学生成绩进行详细信息录入,更改。更新时如果输入的学号不存在,可选择是否添加学生成绩。通过程序主界面的新建信息记录可添加学生成绩。 图4.3.9教师显示界面 5主要功能模块代码5.1 公共类代码设计 namespace MySql public class mySql public String connectionString = SERVER=.SQLEXPRESS;AttachDbFilename=D:

28、学习C#课程设计StuScoreManSystemStuScoreManSystemStuScoManSys.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True; public String commondText; public bool flag; /指示有条该条记录 public System.Data.DataView table; public void runSql() / 执行查询、删除SQL语句 using (SqlConnection connection = new SqlConnection

29、(connectionString) connection.Open(); SqlCommand cmdQuery = new SqlCommand(commondText, connection); SqlDataAdapter sda = new SqlDataAdapter(commondText, connection); DataSet ds = new DataSet(); sda.Fill(ds); if (commondText.IndexOf(SELECT) = 0) table = ds.Tables0.DefaultView; connection.Close(); pu

30、blic bool getFlag() /判断是否有该条记录 using (SqlConnection connection = new SqlConnection(connectionString) connection.Open(); SqlCommand cmdQuery = new SqlCommand(commondText, connection); SqlDataReader reader = cmdQuery.ExecuteReader(); if (reader.Read() flag = true; else flag = false; reader.Close(); co

31、nnection.Close(); return flag; public String getContent(String require,String SNO) /获取视图表的的指定单元格内容 try commondText = SELECT + require + FROM detail WHERE 学号= + SNO; if (require = up课程名称) commondText = SELECT 课程名称 FROM detail WHERE 学号= + SNO; if (require = up成绩) commondText = SELECT 成绩 FROM detail WH

32、ERE 学号= + SNO; SqlDataAdapter sda = new SqlDataAdapter(commondText, connectionString); DataSet ds = new DataSet(); sda.Fill(ds); String result=; if(require=课程名称|require=成绩) int i=new int(); for (i=0; i ds.Tables0.Rows.Count; i+) result = result+ds.Tables0.Rowsirequire.ToString()+n; else result=ds.Ta

33、bles0.Rows0require.ToString().Trim(); return result; catch return 无; public void update() /添加、更新语句 try using (SqlConnection connection = new SqlConnection(connectionString) connection.Open(); SqlCommand cmdInsert = new SqlCommand(commondText, connection); cmdInsert.ExecuteNonQuery(); connection.Close(); catch(Exception ex) MessageBox.Show(ex.ToString(), 提示); 5.2 登录界面代码设计 private void login_Click(object sender, EventArgs e) /用户名及密码组合判断 if (username.Text.ToString().Trim() != & password.Text.ToString().Trim() != ) mySql sql = new mySq

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com