毕业设计(论文)基于uml的教务管理系统的分析与设计_第1页
毕业设计(论文)基于uml的教务管理系统的分析与设计_第2页
毕业设计(论文)基于uml的教务管理系统的分析与设计_第3页
毕业设计(论文)基于uml的教务管理系统的分析与设计_第4页
毕业设计(论文)基于uml的教务管理系统的分析与设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、本科毕业论文本科毕业论文( (设计设计) )基于基于 umluml 的教务管理系统的分析与设计的教务管理系统的分析与设计二级学院二级学院医药信息工程学院医药信息工程学院专专 业业信息系统与信息管理(医药信息系统与信息管理(医药软件工程方向)软件工程方向)班班 级级20062006 级级学生姓名学生姓名xxxxxxxx学学 号号06075011300607501130指导教师指导教师xxxxxxxx 2010 年 4 月诚诚 信信 声声 明明我声明,所呈交的毕业论文(设计)是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文(设计)中不包含其他人已

2、经发表或撰写过的研究成果,也不包含为获得其他教育机构的学位或证书而使用过的材料。我承诺,论文(设计)中的所有内容均真实、可信。毕业论文(设计)作者(签名): 年 月 日基于基于 umluml 的教务管理系统的分析与设计的教务管理系统的分析与设计【摘要摘要】 随着计算机技术和信息技术的快速发展,教务管理系统已经广泛运用于学校教务管理中,成为学校信息系统重要组成部分,是学校管理信息化的基础建设工程之一。但教务管理这个涉及到复杂、琐碎、操作频繁的工作,仅仅靠传统的手工管理已不适应当前科研迅速发展的要求,走教务管理系统化、网络化、现代化的管理之路已是必然。本论文根据现今流行的教务管理网分析教务管理系统

3、的基本元素,把各项要素汇总并转化为用例图编写在需求分析中;通过需求分析,构建一个基于uml 的总体架构,同时设计数据库的各个表结构;根据以上内容进行系统的详细设计,定义各个类及其方法的使用规则。该教务系统主要采用.net 技术、数据库技术和 uml 建模思想,采用了 vs.net2005 开发平台和 sql server 2005 数据库,并以 iis 作为服务器。本系统分为管理员、教师、学生三种用户角色,主要涉及教务资源的管理、查询、排课选课、成绩打印等业务。采用了uml 建模思想和方法是该系统的一大特色,大大提高了系统开发的效率和质量, 且该系统简小易操作,可大大提高教务管理的水平。【关键

4、词关键词】教务系统;uml;vs.net;sql server2005the design and analysis of educational management system based on umlabstract with the quick development of the computer technology and information technology, the educational management system has been used widely in the educatianal management. the educational man

5、agement system is an important part of school information system in the school information infrastructures.but the educational management is involve to the complex,trival work with operates frequently . only depending on the traditional and manual management is not adapt to the fast development dema

6、nd of current scientific research. it is a inevitable road for the educational management system to become systematization , networking and modernization .it analyed the fashionable educational management system basic element.i collected the elements to take it to the use case diagram ,and write dow

7、n to the requirement analyzing.building a educational management system model,and designing the database table. basing on that,i design the detail project. this system mainly uses the .net technique, the data bank technology and the uml modelling thought,basing on the development platform of vs.net

8、,sql server and iis. there are three user roles in the system, who are admin, teacher and student. the main business of this system are about educational resources management, inquiry , printing and so on . has used the uml modelling thought and the method is this systems a big luminescent spot and

9、raised the system development efficiency and the quality greatly .this system is easy to operate, it can enhance the school manage standard and efficiency greatly.keywords educational management system uml vs.net sql server2005目录目录1前言前言.12绪论绪论.22.12.1 系统开发背景系统开发背景 .2 22.1.1国内外现状和发展趋势.22.1.2系统开发目的与意义

10、.32.22.2 开发工具开发工具 .3 33系统需求分析系统需求分析.43.13.1 用户用户 .4 43.23.2 系统功能系统功能 .4 43.33.3 需求用例图需求用例图 .4 44详细分析和设计详细分析和设计.74.14.1 静态模型设计静态模型设计 .7 74.24.2 定义对象类定义对象类 .7 74.2.1建立数据库模型.84.2.2建立包图.104.34.3 动态行为模型动态行为模型 .12124.3.1顺序图.124.3.2协作图.144.3.3状态机图.164.3.4活动图.174.44.4 物理模型物理模型 .18184.4.1配置图.185系统的页面设计和代码实现系

11、统的页面设计和代码实现.215.15.1 公共类公共类 .21215.25.2 登陆界面登陆界面 .22225.35.3 教务前台学生管理界面教务前台学生管理界面 .23235.3.1导航界面.235.3.2个人信息界面.255.3.3密码修改页面.255.3.4课程信息查询页面.265.3.5选课信息页面.275.3.6成绩查询页面.305.45.4 教务后台管理典型页面教务后台管理典型页面 .32325.4.1导航界面.325.4.2增加学生界面.335.4.3课程管理界面.345.4.4成绩管理界面.366系统测试系统测试.416.16.1 测试目的测试目的 .41416.26.2 测试

12、工程测试工程 .41416.2.1单元测试.416.2.2集成测试.426.2.3系统测试.426.2.4运行阶段测试.426.36.3 各个工程阶段的复核各个工程阶段的复核 .43436.46.4 测试方法测试方法 .43436.56.5 测试举例测试举例 .43437结束语结束语.45参考文献参考文献.46致谢致谢.4711 1前言前言目前比较常见的教务系统模式有两种:c/s 和 b/s,其中b/s 是browser/server 指浏览器和服务器端,在客户机端不用安装专门的软件,只要一个浏览器即可(瘦客户端) ;c/s 是 client/server 指客户机和服务器,在客户机端必须装客

13、户端软件及相应环境后,才能访问服务器(胖客户端) ,两种模式各有千秋。但 b/s 最大的优点是客户端不用维护,用户群庞大,这更能满足信息高速发展的应用需求。近年来,随着计算机网络技术的发展与普及,软件系统的需求量越来越多,而且越趋复杂多样,如何更好的开发软件,做好软件工程管理越来越受到软件行业的青睐,应运而生的 uml 顺理成章成了焦点中的焦点。uml 作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。大大提高了开发人员的开发效率和软件的质量。统一建模语言(uml 是 unified modeling language 的缩写)是用来对软件密集系统进行

14、可视化建模的一种语言,虽然其中某些概念尚待实践来验证,但uml 也必然存在一个进化过程,它显示出来的强大的生命力,将在软件工程上发挥举足轻重的作用5。基于 uml 开发的教务管理系统将能降低开发风险和成本,也更能满足用户的需求,实现开发者和使用者的双赢。22 2绪论绪论2.12.1 系统开发背景系统开发背景2.1.1 国内外现状和发展趋势国内外现状和发展趋势随着高校改革的深入,招生规模、教职工队伍、校园面积不断扩大,一所学校有几个校区,系部、学院而且所处分散,学生信息管理、教学评估管理等都极不方便,而且数据繁琐,一致性低,不便于统计和维护。必须发挥计算机软件系统的优势,以适应形势发展的需要。开

15、发软件系统需要一定的方法和技术,传统的结构化开发方法存如下问题:1.软件重用性差。2.软件可维护性差。3.开发出的软件不能满足用户需要。用这种方法设计出来的系统结构常常是不稳定的 ,用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。应运而生的面向对象(object oriented, oo)是当前计算机界关心的重点,它是 90 年代后软件开发方法的主流。因此向对象设计有模块化、抽象、信息隐藏、低耦合、高内聚等准则使它的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、cad 技术、人工智

16、能等领域。统一建模语言 uml 是面向对象软件开发方法的重要技术。它是一种定义良好、功能强大、普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术2。标准建模语言 uml 的主要特点可以归结为三点:(1) uml 统一了面向对象的 booch、omt 和 oose 等方法中的基本概念。(2) uml 还吸取了面向对象技术领域中其他流派的长处,其中也包括非oo 方法的影响。(3)uml 在演变过程中还提出了一些新的概念。因此可以认为,uml 是一种先进实用的标准建模语言,虽然其中某些概念尚待实践来验证,但 uml 也必然存在一个进化过程,它显示出来的强大的3生命力,将在软件工程上发挥

17、举足轻重的作用。基于 uml 开发的教务管理系统将能降低开发风险和成本,也更能满足用户的需求,实现开发者和使用者的双赢。2.1.2系统开发目的与意义系统开发目的与意义教务管理系统是一个面向学校教务管理人员、教师和学生并为其提供服务的综合管理系,包括学生信息管理、选课排课管理、教学资源管理和教学计划管理等,其是一项复杂、琐碎、操作频繁的工作,仅仅靠传统的手工管理已不适应当前科研技术迅速发展的要求。那么,走教务管理系统化、网络化、现代化的管理之路已是必然。uml 作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现5。大大提高了开发人员的开发效率和提高系统质量

18、。统一建模语言(uml 是 unified modeling language 的缩写)是用来对软件密集系统进行可视化建模的一种语言。uml 是在开发阶段说明、构建和书写一个面向对象软件密集系统的制品的开放方法,可以贯穿软件开发周期中的每一个阶段,特别适用于数据建模,业务建模,对象建模,组件建模2。基于 uml的教务管理系统,在开发上方便了开发人员开发工作和维护工作,在运行上,实现了教务管理人员、学生、老师等的网上管理数据功能,保证了数据的一致性、减少了重复繁杂的劳动,使教务管理工作迈上了新的台阶。2.22.2开发工具开发工具开发平台:数据库:sql server建模工具:rational r

19、ose服务器组件:iis运行环境:普通的 pc 机,浏览器即可43 3系统需求分析系统需求分析3.1 用户用户经过分析和调研,本系统的用户主要有学校教务管理人员、教师和广大学生。3.2 系统功能系统功能标号模块功能h1学生管理实现学生的查询、添加、删除和编辑h2教师管理实现教师的查询、添加、删除和编辑h3班级管理实现班级的查询、添加、删除和编辑h4课程管理实现必修和选修课程的查询、添加、删除、编辑以及课程分配h5选课管理查询学生选课信息和退选选课学生h6成绩管理实现成绩的查询、统计、添加、编辑和打印h7最新资讯发布新资讯和浏览资讯h8个人信息修改密码q1最新资讯浏览资讯q2课程信息浏览课程q3

20、选课信息浏览选课信息、查看选课情况、注册选课q4成绩查询按学年和按课程类型查询,显示各科成绩并统计出各不同课程类型的中成绩q5个人信息个人信息的查询和密码维护3.3需求用例图需求用例图模型中的活动者代表外部与系统交互的单元,包括学生、教师、教务管理人员;业务用例框图是对系统需求的描述,表达了系统的功能和所提供的服务2。系统的主要用例图如下:5图 3-1 教务系统主要关联的 use case 图图 3-2 课程管理的 use case 图图 3-3 成绩管理的 use case 图图 3-4 选课管理的 use case 图6图 3-5 管理员权限 use case 图图 3-6 教师权限 us

21、e case 图图 3-7 学生权限 use case 图74 4详细分析和设计详细分析和设计4.1 静态模型设计静态模型设计静态逻辑模型描述实例化(类成员关系) 、关联、聚集(整体/部分) 、和一般化(继承)等关系。这被称为对象模型。一般化关系表示属性和方法的继承关系。定义对象模型的图形符号体系通常是从用于数据建模的实体关系图导出的。对设计十分重要的约束,如基数(一对一、一对多、多对多) ,也在对象模型中表示7。4.2 定义对象类定义对象类首先从研究 use case 中发现对象类,确定类的属性和主要操作。 对于系统可以抽象出以下一些主要的对象类:(1)在人事信息管理方面有“学生”类、 “教

22、师”类和“管理员”类。(2)在业务处理方面有“课程”类、 “开设课程”类、 “学生登记”类、 “课程登记”类、 “学生成绩统计类” 、 “成绩统计类” 、 “资讯类”等。系统的主要类图如下:图 4-1 成绩管理对象类8图 4-2 课程管理对象类图 4-3 人事管理对象类4.2.1建立数据库模型建立数据库模型本教务系统采用关系数据库系统存储和管理数据,在分析和设计系统的静态结构模型时需要进行数据分析和数据库设计。(1)系统有 6 个方面的数据需要管理:人员数据(学生、教师)班级数据课程数据选课注册数据学生成绩数据最新资讯数据(2)经过分析,系统至少应有 8 个数据库表:学生表、教师表、班级表、课

23、程表、开设课程表、任课表、用户表、资讯表。这些基本表定义为:学生(学号、姓名、性别、民族、出生日期、入学时间、专业、生源、备9注)教师(教号、姓名、职称、所属院系)课程(课号、课程名、学时、学分、课程类型、备注)开设课程(编号、学号、课程号、成绩、学期)任课表(编号、教号、课号、班级、学期)班级(班号、院系、学院、班主任、班级名)用户表(用户号、密码、权限)资讯表(编号、题目、发布时间、出处、内容)对上述的基本表需要进行关系规范化,设计触发器、存储过程等,数据库模式通常用实体关系模型(erd)表示,下面是数据库的 e-r 图:资讯班级任课开设课程课程教师学生用户插入注册选课查询插入发布查询属于

24、对应任教管理查询设置分配查询管理*11*11.*1.3*1*图 4-4 系统数据库 e-r 图10学号姓名性别民族出生日期学生生源入学时间班级备注图 4-6 数据表间的关系4.2.2建立包图建立包图对于一个大型的复杂的系统,常需要把大量的模型元素用包组织起来,以方便理解和处理。本系统虽然不算大,但也可以把系统的对象类组织成包,以便更清楚地了解系统的结构。 包图表示的是系统的静态结构,但是建立包图应当同时考虑系统的动态行为。 本系统的包图,如图“教务系统的包图”所示,一共有 5 个包:“教学管理”包、 “用户接口”包、 “数据库”包、 “mfc 类”包、 “出错处理”包。图 4-5 学生实体 e

25、-r 图11图 4-6 教务系统包图(1)在“用户接口”包中包含了全部接口对象类:“课程信息管理表单”、 “查询课程表单”、 “查询成绩表单”、 “选课注册表单”、 “开设课程表单”、 “选课统计表单”、 “成绩信息管理表单”、 “成绩统计表单”、 “注册表单”等。“教学管理”包中包含了为实现教学管理业务领域任务的全部对象类。(2)在“数据库”包中包含了实现数据库服务功能的全部对象类。(3)在“mfc 类”包中包含了支持系统的动态连接库的必要的库函数对象类。(4)在“出错处理”包中包含了实现数据库服务功能的全部对象类。教务管理系统由两个子系统组成:(1)教务后台管理子系统,负责教学资源的配置、

26、规划和查询等管理工作。(2)教务前台学生子系统,负责学生的教学信息、个人信息成绩等的查询和选课等工作。其包图和各子系统的包图如图 4-7:图 4-7 教务系统与子系统的包图12图 4-8 教务后台管理包图图 4-9 教务前台学生包图4.3 动态行为模型动态行为模型类和对象的识别包括找出问题空间中关键的抽象和产生动态行为的重要机制。开发人员可以通过研究问题域的术语发现关键的抽象。语义的识别主要是建立前一阶段识别出的类和对象的含义。开发人员确定类的行为(即方法)和类及对象之间的互相作用(即行为的规范描述) 。该阶段利用状态转移图描述对象的状态的模型,利用时态图(系统中的时态约束)和对象图(对象之间

27、的互相作用)描述行为模型。系统的动态行为模型有交互图(顺序图和协作图) 、状态机图和活动图表达。在系统的分析和设计中应当对主要的 use case 和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目的12。134.3.1顺序图顺序图为了绘制顺序图,首先要对一个 use case 编写交互活动的剧本,然后确定参与交互的活动者和对象,确定交互事件。图 4-10 学生选课顺序图例:学生选课顺序图,如图“学生选课顺序图”所示。其中的交互事件如下:1登录学生登录基于 uml 教务管理系统进行选课活动。学生发出登录消息,输入用户号、密码和角色。2验证“用户表单

28、”接口对象响应登录消息,检查用户号、密码和角色。如果正确无误,则可以进行下一步交互;否则提示用户重新输入用户号、密码和角色,进行新一轮的身份验证。3查询学生发出要求查询已有的课程消息, “课程”接口对象响应该消息,按照输入的查询条件从数据库中找出相关的课程,在屏幕上显示。4选课根据已查询到的课程信息,选择自己要选的课程,并输入相关消息 。5增加“课程”接口对象发出选课消息, “开设课程”对象响应消息,并在开设课程表中增加选课的学生。146取消不对前面的选课进行任何的操作。7提交在完成了课程设置操作后,学生发出请求提交的消息,进行存储选课的操作。 “课程”接口对象响应请求。8存储“课程”接口对象

29、发出“存储消息” , “开设课程”对象响应消息,进行数据库操作,把选课的结果数据真正存入数据库。9退出学生发出退出系统的消息, “用户表单”接口对象响应请求,关闭系统。同样可以绘制教师添加成绩顺序图和管理员打印成绩顺序图,如下图所示:图 4-11 教师添加成绩顺序图15图 4-12 管理员打印成绩顺序图4.3.2 协作图协作图协作图和顺序图相似,两类图所表达的是同一种信息,可以将序列图转换为协作图,反之也然。但两者是有区别的,顺序图强调的是交互的时间序列,协作图强调的是交互的语境和参与交互的对象的整体组织2。协同图用于描述系统的行为是如何由系统的成分实现的。对于基于 uml教务管理系统也需要绘

30、制主要的 use case 的协同图,以深入了解和表示系统的行为和各个对象的作用。 下图描述的是上述顺序图对应的协作图。图 4-13 学生选课协作图图 4-14 教师添加成绩协作图16图 4-15 管理员打印成绩协作图4.3.3 状态机图状态机图状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。 绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。例如,对于教务管理系统中的一个学生选课注册的“学生登记”对象,可能有的状态如下:1 “初始化”状态“学生登记”对象一旦被创建就进入“初始化”状态。在本状态的动作时初始化

31、课程登记和设置初始化参数,即课程数 count=0。2 “增加课程”状态当在对象的“初始化”状态或“增加课程”状态时发生了“增加课程”事件,而且满足条件“count4” ,则转移到本状态。本状态的动作是增加学生所选修的课程信息并对学生的选课计数加 1。本状态的入口点为“记录课程信息”动作,即把学生所选的课程加入到开设课程表中去;出口点为选课计数加 1 动作:“count=count+1”根据系统业务需求规定的业务规则,一个学生最多只能选修 4 门课程,因此发生转移到本状态的保安条件为“count4” 。3 “减少课程”状态“学生登记”对象一旦被创建就进入“初始化”状态。在本状态的动作时初始化课

32、程登记和设置初始化参数,即课程数 count=0。174 “取消”状态对象的“取消”状态的动作 主要是撤销刚才发生的动作的效果,并结束本对象的运行。当在对象的“初始化”状态、 “增加课程”状态或“减少课程”状态发生了“取消”事件,则转移到本状态。本状态的动作时给出撤销动作的提示信息和结束本对象运行的提示信息,并转移到状态机图的出口。5 “关闭”状态当在本状态的“增加课程”状态或“减少课程”状态发生了“关闭”事件时,转移到本状态。本状态的动作是存储已变更的数据,结束本对象的运行,直接转移到状态机图的出口。学生的选课登记状态机图如图 4-16 所示:图 4-16 选课学生登记状态机图同样地,选课课

33、程登记状态机图如图 4-17 所示:18图 4-17 选课登记状态机图4.3.4 活动图活动图活动图的主要作用是表示系统的业务工作流和并发处理过程,类似于流程图。对于一个系统可以针对主要的业务工作流绘制活动图。 绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。对本系统的设置开设课程的活动可以绘制活动图,如图 4-18 所示:图4-18 设置开设课程活动图其中,参与活动的对象有“用户表单”接口对象、 “开设课程表单”接口对象、“课程”对象、 “开设课程”对象等。其中,动作状态有“登录”、 “新开课程”、 “取课程信息”、 “增加/删除课程”等。同样地,学生选课活动图如图 4-19

34、 所示:19图 4-19 学生选课活动图4.4 物理模型物理模型4.4.1配置图配置图配置图由节点和节点之间的联系构成,用于表示一个分布式系统的运行系统的结构。节点是存在于运行期间的系统的物理元素,节点代表计算机资源,通常为处理器或其他硬件设备,系统的组件可以配置在节点上。经过开发得到的软件系统的组件和重用模块,必须配置在某些硬件上予以执行。因此,一个系统包括了软件和硬件两方面2。基于 uml 的教务管理系统是一个基于局部网络(校园网)和数据库的应用系统,因此有必要进行系统的配置,建立配置图。 本系统的各个部分可以配置在不同的节点上,通过网络相互通信。如下面图 4-22:20图 4-22 系统

35、配置图该系统配置图把数据库服务器、应用服务器、教务后台管理和教务前台学生管理的相应组件配置在不同的节点上。应用服务器与数据库服务器通讯,数据库服务器向应用服务器提供数据服务。教务后台管理与教务前台学生管理与应用服务器,应用服务器向用户提供教务管理的应用服务。教务后台管理和教务前台学生管理节点具体完成后台管理和前台应用的服务操作,它们不直接与数据接打交道,而是通过应用服务器请求访问数据库。基于 uml 的教务管理系统是一个 b/s 结构的分布式系统,但主要是基于校园的局域网,所以也可以绘制如图 4-23:图 4-23 系统 b/s 结构配置图本系统的核心教务管理软件和数据库放置在学校的中心计算机

36、上,用户接口端只要通过浏览器,如图书馆、专业系、学生宿舍和其他校园网点的计算机通过浏览器(brower)即可访问应用。215 5系统的页面设计和代码实现系统的页面设计和代码实现5.1 公共公共类类public static sqlconnection sqlconn()string connection = server=.sqlexpress;initialcatalog=st_stumanager;trusted_connection=true;sqlconnection myconnection = new sqlconnection(connection);return myconne

37、ction;public static dataset show(string str)sqlconnection st_conn = sqlconn();st_conn.open();sqldataadapter sda = new sqldataadapter(str, st_conn);dataset ds = new dataset();sda.fill(ds);return ds;public static dataset showall(string sprocedure, string select1, string str1)sqlconnection st_conn = sq

38、lconn();st_conn.open();sqldataadapter sda = new sqldataadapter(sprocedure, st_conn);sda.selectcommand.commandtype = commandtype.storedprocedure;sqlparameter st_student_id = new sqlparameter(str1, sqldbtype.varchar, 50);st_student_id.value = select1.trim();sda.selectcommand.parameters.add(st_student_

39、id);dataset ds = new dataset();sda.fill(ds);return ds;public static dataset showall2(string sprocedure2, string select2, string str2)sqlconnection st_conn = sqlconn();st_conn.open();sqldataadapter sda = new sqldataadapter(sprocedure2, st_conn);sda.selectcommand.commandtype = commandtype.storedproced

40、ure;sqlparameter st_student_name = new sqlparameter(str2, sqldbtype.varchar, 50);st_student_name.value = select2.trim();sda.selectcommand.parameters.add(st_student_name);22dataset ds = new dataset();sda.fill(ds);return ds;5.2 登陆界面登陆界面用户在使用该系统前要先登录,输入正确的用户号、密码和选择正确的角色,经过与用户表的验证无误后才能进入相应的系统,并将登陆的用户号和角

41、色分别赋值到 session“user_id和 sessionuser_power中,否则中予进入使用该系统。界面如图 5-1 所示:图 5-1 登陆界面图实现代码为:if (tbx_id.text != & tbx_pwd.text != )/判断用户密码是否为空sqlconnection st_conn = dbutil.sqlconn();st_conn.open();/连接数据库 判断用户输入的用户名,密码和选择的角色是否正确string st_sqlstr = select * from st_users where st_user_id= + tbx_id.text + a

42、nd st_user_password= + tbx_pwd.text + and st_user_power = + ddl_power.text + ;sqlcommand st_comm = new sqlcommand(st_sqlstr, st_conn);sqldatareader st_dreader = st_comm.executereader();if (st_dreader.read() /下两句用 session 对象储存用户名和角色以备后用,不要可删除sessionuser_id = st_dreaderst_user_id;sessionuser_power = s

43、t_dreaderst_user_power;/判断用户身份跳转到不同页面if (ddl_power.selectedvalue = 1)sessionid = tbx_id.text.trim();23response.redirect(a_student.aspx);else if (ddl_power.selectedvalue = 0)sessionid = tbx_id.text.trim();response.redirect(/stu_query.aspx);else if (ddl_power.selectedvalue = 2)sessionid = tbx_id.text.

44、trim();response.redirect(/a_student.aspx);st_conn.close();else/弹出用户,密码错误提示response.write(alert(用户名、密码或角色错误);location.href = login.aspx;);return;else/弹出用户密码为空提示response.write(alert(用户名和密码不得为空);location.href = default.aspx;);return;5.3 教务前台学生管理界面教务前台学生管理界面5.3.1 导航界面导航界面学生用户在使用该导航可以轻松找到自己的目标页面,实现导航用到了t

45、reeview 控件、sitemapdatesourse 控件、sitemap 站点地图等,方便浏览,也为日后系统二次开发导航的便捷实现提供服务。界面如图 5-2 所示:24图 5-2 导航界面实现代码如下:在 web.config 中声明在 stu_nav.sitemap 中255.3.2 个人信息个人信息界面界面 在该页面上显示的是登陆用户的基本信息。界面如图 5-3 所示:图 5-3 个人信息界面主要实现代码如下:string st_sqlstr = select * from st_student where st_student_id=id;sqlcommand st_comm =

46、new sqlcommand(st_sqlstr, st_conn);st_comm.parameters.add(new sqlparameter(id, sqldbtype.varchar, 50);st_comm.parametersid.value = sessionuser_id.tostring();st_conn.open();sqldatareader st_dr = st_comm.executereader();rp_infor.datasource = st_dr;rp_infor.databind();st_conn.close();5.3.3 密码修改页面密码修改页面

47、 该页面主要是提供用户修改自己的密码,但是不能修改用户名,用户名是学校统一分配的,不予修改,而且在修改过程中还输入旧密码进行确认,界面如图 5-4 所示:图 5-4 密码修改界面主要实现代码如下:protected void tbx_modify_click(object sender, eventargs e)sqlconnection st_conn=dbutil.sqlconn ();st_conn.open();26string st_sqlstr = update st_users set st_user_password= + tbx_newpwd.text + where st_

48、user_id= + sessionuser_id.tostring() + ;string st_sqlstr1 = select st_user_password from st_users where st_user_id= + sessionuser_id.tostring() + ;sqlcommand st_comm1 = new sqlcommand(st_sqlstr1, st_conn);sqldatareader st_dreader1 = st_comm1.executereader();if (st_dreader1.read()string a = st_dreade

49、r1st_user_password.tostring();st_conn.close();st_conn.open();sqlcommand st_comm = new sqlcommand(st_sqlstr, st_conn);response.write(a);if (tbx_pwd.text = a)tryst_comm.executenonquery();response.write(alert(修改成功!);catch (sqlexception)response.write(alert(修改失败);else response.write(alert(请输入正确的原密码!);st

50、_conn.close();5.3.4 课程信息查询页面课程信息查询页面 课程查询有两种方式,一种是按课程号查询,一种是按课程名查询,如图5-5 所示:27图 5-5 课程查询页面主要实现代码:protected void btn_search_click(object sender, eventargs e)if (tbx_id.text.trim() = & tbx_name.text.trim() = )response.write(alert(请输入查询条件!);else if (tbx_id.text.trim() != )gv_cour.datasource = dbuti

51、l.showall(course_select1, tbx_id.text.trim(), course_id);gv_cour.databind();dbutil.sqlconn().close();elsegv_cour.datasource = dbutil.showall(course_select2, tbx_name.text.trim(), course_name);gv_cour.databind();dbutil.sqlconn().close();5.3.5 选课信息页面选课信息页面 选课流程是选查看了当年的选修课的内容,然后根据课程名,选择任课老师和学年。可以通过“查看选

52、课情况查”看有多少人选修了这门课程,最后决定是否选课,其界面如图 5-6 所示:图 5-6 选课信息页面主要实现代码如下:protected void tbn_search_click(object sender, eventargs e)28if (ddl_courname.selecteditem.text = )if (tbx_teaname.text = )st_sqlstr = select st_course.st_course_name,st_course.st_course_id,st_teacher.st_teacher_name,st_course.st_course_cr

53、edit,st_course.st_course_period from st_course,st_teacher,st_teacher_course where st_teacher_course.st_course_year= + ddl_tearn.selecteditem.text + and st_teacher_course.st_course_id=st_course.st_course_id and st_teacher_course.st_teacher_id=st_teacher.st_teacher_id;elsest_sqlstr = select st_course.

54、st_course_name,st_course.st_course_id,st_teacher.st_teacher_name,st_course.st_course_credit,st_course.st_course_period from st_course,st_teacher,st_teacher_course where st_teacher_course.st_course_year= + ddl_tearn.selecteditem.text + and st_teacher_course.st_course_id=st_course.st_course_id and st_

55、teacher_course.st_teacher_id=st_teacher.st_teacher_id and st_teacher.st_teacher_name= + tbx_teaname.text + ;elseif (tbx_teaname.text = )st_sqlstr = select st_course.st_course_name,st_course.st_course_id,st_teacher.st_teacher_name,st_course.st_course_credit,st_course.st_course_period from st_course,s

56、t_teacher,st_teacher_course where st_teacher_course.st_course_year= + ddl_tearn.selecteditem.text + and st_teacher_course.st_course_id=st_course.st_course_id and st_teacher_course.st_teacher_id=st_teacher.st_teacher_id and st_course.st_course_name= + ddl_courname.selecteditem.text + ;elsest_sqlstr =

57、 select st_course.st_course_name,st_course.st_course_id,st_teacher.st_teacher_name,st_course.st_course_credit,st_course.st_course_period from st_course,st_teacher,st_teacher_course where st_teacher_course.st_course_year= + ddl_tearn.selecteditem.text + and st_teacher_course.st_course_id=st_course.st

58、_course_id and st_teacher_course.st_teacher_id=st_teacher.st_teacher_id and 29st_course.st_course_name= + ddl_courname.selecteditem.text + and st_teacher.st_teacher_name= + tbx_teaname.text + ;sqldataadapter st_da=new sqldataadapter(st_sqlstr,st_conn1);dataset st_ds=new dataset();st_da.fill(st_ds);g

59、v_sort.datasource=st_ds;gv_sort.databind();protected void tbn_sort_click(object sender, eventargs e)/在数据库中找出选此课的总人数string st_sqlstr = select count(st_student_id) from st_student_course where st_course_id= + tbx_courid.text + and st_course_year= +ddl_tearn.selecteditem.value + ;sqlcommand st_comm1 =

60、new sqlcommand(st_sqlstr, st_conn1);st_conn1.open();sqldatareader st_dr1 = st_comm1.executereader();if (st_dr1.read()lbl_all.text = 选此课总人数为: + st_dr10.tostring();elselbl_all.text = 无人选此课;st_conn1.close();protected void tbn_chose_click(object sender, eventargs e)if (i =true )st_sqlstr = insert into st_stude

温馨提示

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

评论

0/150

提交评论