《软件工程课程设计高校教务管理系统(共24页).doc》由会员分享,可在线阅读,更多相关《软件工程课程设计高校教务管理系统(共24页).doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上软件设计方法课程设计设计说明书高校教务管理系统(教师端)的的设计与开发学生姓名 学号 班级信管072班成绩指导教师 2009年12月25日专心-专注-专业 软件设计方法 课程设计评阅书题目高校教务管理系统(教师端)的设计与开发 学生姓名 学号 指导教师评语及成绩 指导教师签名: 年 月 日答辩评语及成绩答辩教师签名: 年 月 日教研室意见总成绩: 室主任签名: 年 月 日课程设计任务书20092010学年第1学期专业: 计算机科学与技术 学号: 姓名: 课程设计名称: 软件设计方法课程设计 设 计 题 目: 高校教务管理系统(教师端)的设计与开发 完 成 期 限:自
2、2009 年 12 月 28 日至 2009 年 1 月 8 日共 2 周设计依据、要求及主要内容(可另加附页): 为方便学校教务管理,按软件工程软件开发流程开发教务管理系统(教师端),要求:1) 问题定义及需要分析,画出数据流图;2) 完成教师基本信息、课程计划、学生选课查看、课程介绍、教学日历、成绩管理、教务信箱、教师教学评价、发布课程通知等功能;3) 进行设计并用相应的工具表示(如层次结构图、JACSION图等);4) 测试系统,说明测试方法及测试用例;5) 较好的界面设计、完善的帮助功能;6) 编写课程设计报告。指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘 要高校
3、教务管理工作是高等教育中的一个极为重要的环节,是整个院校管理的核心和基础。随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统的教务管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。这是开发这个教务管理系统的原因。本系统主要实现教师查询个人信息、学生选课信息和课程通知等,录入学生成绩、课程计划、教学日历和个人信息等,删改各项信息的功能。系统使用Powerbuilder制作前台界面,后台使用Microsoft SQL Server 2000制作数据库。通过Powerbuilder建立MSS Microsoft SQL Server数据源来连连接前台界面和后台数据
4、库。经过本次课程设计,实现了一些基本功能,由于我们组仅设计教务管理系统的老师端,对没有实战经验的我们来说,难度增加了,在发布功能上没有实现是我们的不足。关键词: 高校教务管理系统;录入;查询;SQL Server 2000; Powerbuilder; 目 录1 问题定义随着学校规模的扩大,人员的不断增加、复杂程度逐渐增强,学校中,教务是一项繁琐的事,每年都有新生入学、老生毕业,以及其他各种人事变动。每学期的考试成绩都需要分析,纵、横向比较,能及时反馈信息,还要对教师的教学成绩考核提供数据。如何有效地管理、分析、处理这些信息,帮助学校和教师掌握学生的情况,这就是教学信息管理系统需要完成的功能。
5、以前简单的用Excel来打印几张报表的人机作坊再也无法适应当今学校的教学管理了,比如用Excel虽然能简单管理学生的学籍、成绩等,但用户界面简单,管理起来难度大,修改和查找学生的信息都比较麻烦,并且在操作过程中没有用户权限,只要能打开计算机的人就能打开数据进行任意的修改,大大的降低了信息的安全性和保密性,效率低,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有着手工管理所无
6、法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率。(1)本文主要着手于建立数据库以及对数据的各种操作功能。 教师登录后对信息的查看,和录入两大功能。查看的是个人信息,教学评价,课程计划,课程通知等,录入的是个人信息,学生成绩,教学日志等。(2)以上各类信息目前还处于手工或半手工的管理状态,效率低,可靠性差。如果采用计算机进行以上各类信息的管理,必将大大提高工作效率,对各类信息的维护及了解起到积极的作用。因此一个功能完备的学校信息管理系统的开发都非常有必要。2 可行性研究1、可行性研究的目的,就是用最小的代价
7、在尽可能短的时间见内确定问题是否能够解决。 首先需要进一步分析和澄清问题定义。 本系统下述三个方面研究每种解法的可行性。 (1)技术可行性 本系统使用了Sql Server 2000制作数据库。运用Powerbuilder制作前台界面,通过MSS Microsoft Sql Server 连接前台和后台。在技术上是可行的。 (2)经济可行性 本系统仅限于学习实践,并不涉及开发费用,开发费用使用是合理的。 (3)操作可行性 能够良好的解决教师需要的问题。操作时可行的。2、 数据流图 数据流图,简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是的主要表达工
8、具及用于表示软件模型的一种图示方法。 使用逐步求精的方法,从顶层流程图逐一分解,到最终流程图。从图2.1到图2.5所示。图2.1 顶层流程图图2.2 系统0层图图2.3 系统1层图 图2.4 系统1层图图2.5 系统2层图3 需求分析 “需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在当中的“需求分析”就是确定要计算机“做什么”。3.1 功能需求分析 通过对本系统功能的需求分析,得到如下功能:(1)教师基本信息的查询、修改、录入:为了方便教师对基本信息的管理,将本功能分为三个小模块查询、修改、和录入,这样老师就能方
9、便的进行基本信息的管理。(2)课程计划的录入、查询、修改:为了方便教师对课程计划的管理,将本功能分为三个小模块查询、修改、和录入课程计划信息。(3)学生选课的查看:教师查看那学生选课后可以对课程制作教学日历。(4)课程介绍:教师可以利用这个功能了解课程的基本信息,以便老师安排教学。(5)教学日历:教师可以利用教学日历知道自己和学校的课程计划。(6)成绩管理:教师和学生都可以查看成绩,老师还可以录入、修改成绩。(7)教务信箱:学校可以利用此功能通知老师一些安排和信息。学生可以利用此功能给老师发一些问题和建议。(8)教师教学评价:教师可以对老师的教学做评价和提意见。3.2 数据库概念设计 基本项构
10、思ERD的四条基本原则: 原则1 (确定实体):能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。 原则2 (确定联系):两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。 原则3 (确定属性):实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。原则4(一事一地):信息分析中得到的基本项要在且仅在实体联系图
11、中的一个地方作为属性出现。根据上面的设计出本系统的E-R图,如图所示: 图3.1 所有实体E-R图3.3数据库逻辑设计关系模型的逻辑结构是一组关系模式的集合。将E-R图转换为关系模型就是要将实体型、实体的属性和实体型之间的联系转换为关系模式。由ERD导出一般关系模型的四条原则;一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果软换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式何明,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。一个1:n联系
12、可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系项链呢的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。根据以上原则将E-R图转换成的关系模式如下:根据ER图分析1:1的关系转化为2个表,1:m的转化为2张表,m:n转化
13、为3张表得出数据库的基本表7张:教师信息表(工号 姓名 所属教研室 电话 备注 性别 出生日期 住址)课程信息表(课程名 课程号 课程类型 备注)课程计划表(课程名 工号 学期 上课时间 上课教室 姓名)课件表(课程名 课件内容)成绩信息表(学号 课程名 姓名 得分)学生选课信息表(学号 姓名 课程名 课程类型)教学评价表(姓名 课程名 得分 评价)4 总体设计 通过总体设计,要达到的基本目的就是回答:“概括的说,高校教务系统(教师端)是如何实现的”通过总体设计,可以使开发人员站在全局的高度进行分析,通过分析各种可能的方案,分析出其中最合理可行的方案。4.1 模块化 模块化就是把程序划分成独立
14、命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的的那个你满足用户的需求。本系统划分成以下模块:(1) 用户登录模块。进入系统必须登录或者注册,登录后才能访问其他模块。(2) 教师信息管理模块。直接进入菜单中的教师信息模块,对个人信息进行增删改的操作,这样的模块内聚高,耦合小。(3) 成绩管理模块。直接进入菜单中的成绩管理模块,对成绩进行增删改操作。(4) 课程管理模块。课程计划,学生选课分别是系统管理员上传和学生上传的。这个模块的属于通信耦合,耦合程度中等。课程介绍和课程通知是系统管理员发布的,学生和老师均可以看到,内聚较高。(5) 、教学管理模块
15、。教务信息和教学评价必须通过学生发生邮件后才能看到。耦合程度高,不过可以在数据库设计中直接添加内容。类似于制造驱动模块。老师录入教学日历,学生即可看到。4.2 层次结构图 层次图用来描述软件的层次结构。通过以上的分析,从需求分析得出的数据流图出发,进行总体设计中的结构设计,该系统有以下几大功能,本系统的软件结构用层次图来表示,如图4.1所示。 图 4.1层次结构图5 详细设计 详细设计的根本目标是确定应该怎样具体地驶向所要求的系统,经过这个阶段的工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 过程设计采用了过程设计工具N-S图。N-S图
16、简单明了,不允许随意转移控制。是一个优良的设计工具,所以本系统采用N-S图来描述程序处理的过程。下面是主要模块的N-S图。(1) 登录模块 连接数据库Y sle_1.text= Nmessagebox() sle_1.setfocus()Y sle_2.text= Nmessagebox()g_user=sle_1.textg_pwd=sle_2.textsle_2.setfocus() 条件查询语句Y g_user=trim(ls_user) and g_pwd=trim(ls_pwd) Nopen() g_input_time=g_input_time+1 Y g_input_time3
17、Nclose() Messagebox()Messagebox()close(w-login)sle_1.text=sle_2.text=图5.1登录模块(2) 教师信息管理模块Messagebox()Y b_select=1 Nname=trim(sle_1.text)suoshu=trim(sle_2.text)datatime=trim(sle_3.text)phone=trim(sle_4.text)Y suoshu= or suoshu= NMessageBox()sle_2.setfocus() returnY datatime= or datatime= NMessageBox(
18、)sle_4.setfocus() returnupdate jiaoshixinxibiaoY sqlca.sqlcode0 NMessageBox()图5.2 教师信息管理模块6 实现 实现分为三部分,数据库物理设计、编码和测试。编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。本系统测试部分主要使用了黑盒测试。6.1 数据库物理设计(1)索引的选择建立 由于系统可能要涉及大量数据的操作,所以索引的建立就成为一种必需。本系统采用索引方法,分别在各个表的主键上建立关系表。(2)数据存放位置 本系统数据和索引存放在磁盘中。(3)确定系统配置 根据具体需要配置。(4)表设计 根据需求分析
19、得出从表6-1到6-7。表6-1教师信息表字段名字段类型长度主键或外键字段值约束工号Char10Primary KeyNot Null姓名char10性别Char2出生日期Datetime8所属教研室char12电话号码Char11入校时间datetime8住址varchar50表6-2课程信息表字段名字段类型长度主键或外键字段值约束课程名Char4Primary KeyNot Null课程编号char10课程类型Char10备注char50表6-5成绩信息表字段名字段类型长度主键或外键字段值约束学号int4Primary Key Foreign keyNot Null姓名Char10课程名C
20、har10Primary KeyNot Null得分float8表6-6学生选课信息表字段名字段类型长度主键或外键字段值约束学号int4Primary Key Foreign keyNot Null姓名Char10课程名Char10Primary KeyNot Null课程类型Char8表6-7教学评价表字段名字段类型长度主键或外键字段值约束工号int4Primary Key Foreign keyNot Null得分Char10课程名Char10Primary KeyNot Null评价varchar506.2 编码 本系统使用了PBscript语言设计程序。 在PB中,新建一个worksh
21、op,新建一个应用,然后逐一在前台界面中输入代码,实现教师信息管理、成绩管理、课程管理和教学管理模块。6.2.1 制作菜单在PB中新建一个菜单,制作菜单项。然后保存为m-menu。制作主菜单m-menu,将该菜单放到窗口中。菜单如图6.1所示:图6.1 菜单界面6.2.2教师信息管理模块 制作菜单中的教师信息管理模块,在修改教师信息对应菜单制作窗口w-modify-information。在“确定”按钮后输入如下主要代码:string name,suoshu,datatime,phoneint b_selectb_select=messagebox(系统提示,确认修改?,exclamation
22、!,yesno!)if b_select=1 thenname=trim(sle_1.text).if suoshu= or suoshu= thenMessageBox(系统提示,对不起!所属教研室不能为空!)sle_2.setfocus() returnend if .update jiaoshixinxibiaoset 教师姓名=:name,所属教研室=:suoshu,入校时间=:datatime,电话=:phonewhere 教师姓名=:name;if sqlca.sqlcode0 thenmessagebox(系统提示,更改错误!)returnend ifmessagebox(系统提
23、示,更改成功!);end if6.2.3 成绩管理模块(1)建立更改成绩窗口w-chengji。这个模块实现的功能是,在输入框中输入姓名,点击检索即可看见指定姓名的信息,“检索”按钮后的代码如下:/取消所有过滤条件dw_1.setfilter()dw_1.setfilter(姓名=+sle_1.text+)dw_1.retrieve() /检索数据,将符合条件的数据显示在数据窗口中(2) 建立数据窗口d-chengji。通过数据库连接上学生成绩表。数据窗口如图6.2所示: 图6.2 d-chengji数据窗口数据窗口后加入主要代码:dw_1.settransobject(sqlca)dw_1.
24、setfilter()dw_1.filter()6.2.4 课程管理模块(1)课程管理模块中主要涉及了四个部分,查看课程计划、查看学生选课、课程介绍和课程通知。查看课程计划和查看学生选课功能类似,此处仅仅列举查看学生选课功能。课程介绍和课程通知是管理员发布的信息,由于本系统仅涉及教师端,在此不对课程介绍和课程通知设计。根据目录制作窗口w-xueshengxuanke。在输入框中可以输入学号,检索匹配的数据信息。“检索”按钮后的主要代码如下:/取消所有过滤条件dw_1.setfilter()dw_1.setfilter(学号=+sle_1.text+)dw_1.retrieve() /检索数据,
25、将符合条件的数据显示在数据窗口中(2) 建立数据窗口d-xueshengxuanke。通过数据库连接上xueshengxuankebiao。数据窗口如图6.3所示: 图6.3 d-xueshengxuanke数据窗口数据窗口后加入主要代码:dw_1.settransobject(sqlca)dw_1.setfilter()dw_1.filter()6.2.5 教学管理模块(1) 教学管理模块包含三个部分,教务信箱、教学日历和查看教学评价。教务信箱由于本系统使用PB做前台界面,对于教务信箱的设计有很大局限性,所以对本系统并未设计此功能。查看教学评价和上节类似,在此不重复设计。本节主要设计教学日历
26、。根据目录设计了窗口w-jiaoxuerili,“添加”按钮后的主要代码如下:long netnet=dw_1.insertrow(0)dw_1.ScrollToRow(net)“保存”按钮后的主要代码如下:dw_1.update()dw_1.retrieve()(2)建立数据窗口d-jiaoxuerili。通过数据库连接上教学日历表。由于教学任务的字符数很大,此处采用了freeform数据窗口如图所示:图6.4 d-jiaoxuerili数据窗口数据窗口后加入主要代码和上一节的代码相同。6.3 测试 软件测试在软件生命周期中横跨两个阶段。通常编写出每一个模块之后就对他做必要的测试,模块的编写
27、者和测试者是同一人。本系统采用了简单的黑盒测试,但是并未严格按照测试流程一一测试。仅对实现每一功能进行了测试。(1)打开本系统,首先弹出欢迎界面,登陆,工号是1,密码是1。(2)登录之后进入主界面。主界面中按功能需求分析分为了四个部分,教师信息管理、成绩管理、课程管理和教学管理。教师信息管理主要针对对教师信息的更改,本系统较为简单的罗列了教师的若干项属性,并未全部列出,如果需要列出只需要添加按钮即可。点击更改教师信息,即可更改教师信息,如图6.5所示。图6.5 修改教师信息界面 填入需要更改的信息之后,系统弹出提示框,如果确认修改点击是,否则点击否。更改成功后系统将提示“更改成功”。(3)点击
28、成绩管理更改成绩信息,即可打开如图6.6所示界面。图6.6 更改学生成绩 在界面内有姓名输入框,在输入框内输入需要检索的人名,就可以找到匹配信息。界面下方有三个按钮,添加、删除和保存。点击添加按钮可以增添学生成绩信息,如图6.7所示。点击删除可以删除一条学生信息记录,点击保存可对修改过的信息保存进入数据库。图6.7添加学生成绩后界面(4)点击课程管理查看课程计划,打开如图6.8所示界面,输入框内输入教师工号,就可以检索出该教师上课的科目,时间,地点等信息。图6.8课程计划界面 (5)点击教学管理教学日历更改教学日历。这个功能和成绩管理更改成绩功能很相似,打开界面可以直接查看已经录入的教学日历,
29、如果需要添加,修改,和保存,只需要点击相应按钮即可。如图6.10所示。图6.10 教学日历界面总 结关于这个课程设计,我的感触很深,这是我很难得的非常认真独立的做的一个课程设计。这个学期学习了PowerBuilder,所以选择了使用Powerbuilder制作前台,然后我也到图书馆借了几本用Powerbuilder制作课程设计的书,用了整整四天的时间,并且按着那本书上的例子动手实现几个简单的程序。当然,这中间也有某些书本说的不是很清楚的地方,只能靠着自己慢慢摸索,找出错误的地方,实现程序的运行。用PB做课程设计有了一定的认识以后,我开始着手这个课程设计,用了大约五天的时间。构思整个系统的整体框
30、架,做需求分析,然后构思菜单,菜单下的功能怎么实现,都一一设计代码,然后修改,运行,调试。最后实现了大部分功能,如教师信息、成绩管理、教学管理和课程管理。教师信息的管理,仅列举了部分教师个人信息,但是如果需要可以直接添加按钮便可以增加信息。成绩管理功能实现了。教学管理的设计,没有设计教务信箱,因为这个是管理员直接发布的信息,本系统仅仅设计教师端,所以没有设计。课程管理功能也基本实现了。由于是学习了PowerBuilder做程序仅仅只是入门,难免有些不足之处。我体会到自己用Powerbuilder完成设计的乐趣,但是由于某些能力方面的限制,我的系统还不是那么完美,相比现实中的管理系统有段很大的距
31、离。比如教师录入学生成绩,应该是不必输入学生姓名和学号,只需要输入成绩,这样更方便,更快捷,也比较符合实际。从我个人角度认为这个系统应该使用ASP制作,这样使得整个教务管理系统能和网络连接在一起,使得学生、教师和管理员更加方便的执行各自的操作。 以上是该系统的不足之处,我想在以后继续学习的过程中,我会找到解决的方法,通过这次课程设计,我觉得我对数据库有了更进一步更深刻的认识,比如:对表内一些字段的约束,关系等的运用已经比较熟练,巩固了我的数据库的知识。而且我也学会了Powerbuilder这个软件,对于这个软件的基础应用我已相当熟悉了,感觉自学挺自豪的,呵呵。我会继续学习这相关方面的知识,使我以后开发出来的系统更加完善!参考文献1零点工作室,Powerbuilder 9.0,北京.机械出版社,2004.92陈刚等编著,Powerbuilder 案例开发程序设计教程,北京.清华大学出版社,20023杨诏主编,Powerbuilder 8.0 编程实用技术与案例,北京.水利水电出版社,20034卫海登, Powerbuilder 9.0 课程设计案例精编,北京,中国水利水电出版社,20045王晟编著,Powerbuilder数据库开发经典案例解析,北京,清华大学出版社,20056苗雪兰等编著,数据库系统原理与应用,北京,机械工业出版社,2007
限制150内