软件工程课程设计学生成绩信息管理系统精.doc

上传人:叶*** 文档编号:35204347 上传时间:2022-08-20 格式:DOC 页数:17 大小:131.50KB
返回 下载 相关 举报
软件工程课程设计学生成绩信息管理系统精.doc_第1页
第1页 / 共17页
软件工程课程设计学生成绩信息管理系统精.doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《软件工程课程设计学生成绩信息管理系统精.doc》由会员分享,可在线阅读,更多相关《软件工程课程设计学生成绩信息管理系统精.doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程课程设计学生成绩信息管理系统 指导老师:曾 鹏 姓 名:白 飞 学 号:200108201120 班 级:计科系82011班目录:第一部分 选课系统分析1. 引言1.1. 编写目的1.2背景说明1.3. 术语定义及参考资料2. 任务概述2.1. 目标2.2. 系统技术 2.3基本设计概念和处理流程 2.4. 用户的特点3. 需求规定3.1. 对功能的规定3.2. 对性能的规定4. 设计思想4.1. 数据库的设计4.2. 系统功能特点5、软件测试第二部分 学生成绩查询系统分析1. 系统需求分析2. 系统功能设计3. 概念设计3.1概念结构设计的E-R 图3.2逻辑结构设计4. 概要设计5

2、. 主要模块详细设计说明书第三部分 附带主要部分源码第四部分 设计感想第一部分 选课系统2. 引言21世纪以高科技为核心的知识经济将占主导地位,国家的综合国力和国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新、传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。尽管人类进步的程度随着不同时代,不同地区而有所变化,教育的口径却在不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄、不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教学管理面临着诸多挑战。1.1. 编写目的开发基于互联网的学生选课系统,提高管理工作的效率、提高信息的开放性、改善学生和教师

3、对其最新信息查询的准确性。2.2. 背景说明随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的体育课信息管理系统来提高管理工作的效率。基于互联网的学生选课管理系统,在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性。1.3. 术语定义及参考资料1. (美) Grady Booch,James Rumbaugh,Ivar Jacobson,UML用户指南,机械

4、工业出版社,2001年8月2.Microsoft,MSDN3.Microsoft, SQL Server2000联机手册4.Roger S. Pressman。软件工程实践者的研究方法。机械工业出版社,19975.IPL。Software Testing and Software Development Lifecycles。IPL,19966.Karl E. Wiegers软件需求机械工业出版社,19997.张海藩软件工程导论清华大学出版社。2. 任务概述2.1. 目标系统开发的总体任务是实现学生选课信息关系的系统化、规范化和自动化。在这里需要指出的是:2.2. 系统技术 学生选课系统要求具

5、有信息处理的开发性,方便教师上传学生成绩、学生上网选课和查询选课信息及成绩等,因此本系统设计为基于WWW的网络数据库应用系统,使用ASP脚本以Access为数据库的开发技术,运行在支持ASP的服务器上。2.3基本设计概念和处理流程 采用基于SQL Server 的分布式数据库管理系统。三层结构是目前用得最多的,这种结构比传统的C/S结构增加了一个应用程序服务器,应用程序服务器包括了统一的界面、业务规则和数据处理逻辑等等,这样客户端程序就可以做得比较小,也就是常说的瘦客户,更由于业务规则和数据处理逻辑的集中在服务器上统一管理,客户端无须进行复杂的计算,也不会因为错误的操作而影响到其他的用户,所以

6、他的可靠性、稳定性和效率都比较好。(其结构如图)2.4. 用户的特点为保证系统安全高效的运行,本系统把用户划分为3类:教务处、教师和学生。不同的用户在系统中的作用和权限也有所不同,所以它所需要完成的功能也就不同。教务处可以完成本系统所有的功能:1) 学生信息管理,除学生基本信息外,还可管理学生所选课程、成绩等;2) 教师信息管理,包括教师个人的基本情况和任课情况;3) 项目及班数的设定:根据学校教务处所排课进行班级数及人数的统计,然后根据统计结果进行项目及班数的设定;4) 排课:根据上一步分班情况安排任课教师;5) 报表生成及输出:生成教师担任课程分班表、按项目生成学生成绩表、按学生行政班生成

7、成绩表及所有报表的输出。教师在本系统的功能:查询学生选课情况、自己任课情况、获取自己所担任课程分班表、录入及修改成绩等。学生在本系统的功能:查询本人信息、教师任课信息、选课、选课信息查询、成绩查询。3. 需求规定3.1. 对功能的规定 1可实现学生选课注册2方便实现学生选课信息查询3可对学生成绩档案进行管理,成绩表单生成简便。 4安全有效的用户区分,管理5档案数据的高安全性,保密性6有帮助文档3.2. 对性能的规定使用稳定,操作性能好,操作方法易于掌握,系统的安全性强4. 设计思想用户的需求具体表现在对各种信息的提供、编辑、处理及查询统计上。这就要求数据库结构能充分满足各种信息的输入、处理和输

8、出。通过分析学生选课管理系统的现实需求,学生选课管理系统各环节的基本数据及数据处理流程,在与管理人员沟通、交流与探讨的基础上,得到以下学生选课系统的数据流程图学 生 选 课 系 统学生选课注册系统选课信息查寻系统课程表生成系统成绩列表生成系统(图1)系统模型学生选课教务处个人选课信息排课生成课表教师安排考试成绩(图2)系统流程图4.1. 数据库的设计通过对学生选课管理系统工作内容和相关数据流程分析,根据学生选课管理系统的需要,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,由此得到数据库所支持的数据模型,即数据库的逻辑结构,具体情况如下:1学生信息表:开学时将教务处提供的学生信息库按

9、系统的要求修改库结构并导入Access数据库中,应包括如下信息:姓名、学号、院系、班级、性别、所选课程、任课教师、 备注等。2教师信息表:包括教师姓名、教师代码、性别、年龄、职称、主要教授课程、兼任课程等。3课程信息:包括课程目录、课程、课程代码、教学内容、任务与目的、考试方法、要求等。4课程表:包括课程名称、课程编号、任课教师、课程学分、上课时间。5成绩单列表:包括学生姓名、学号、院系、班级、课程、任课教师、成绩。学 生学生信息表教 务 处教 师教师信息表成绩单列表课程表选 课查 询排 课考 试 身份认证成功 身份认证成功 课程 所选课程 信息 合理性 考试安排 成绩 任教信息 学 生 成

10、绩 单(图3)面向过程数据流图4.2. 系统功能特点1内容全面系统全面覆盖了体育课信息,可为学校、教师和学生提供全面准确的信息。2层次分明系统采用模块化程序设计结构。各模块之间既相互独立,又具有一定的联系,各模块可独立编制、调试、查错、修改和执行,结构严谨,便于扩展和维护。5、软件测试输入数据有效等价类无效等价类证件号码1、6位数字字符2、有效数字字符3、少于6个字符4、大于6个字符使用功能5、选课6、查询7、输入其他文字有效测试用例测试数据 期望结果 测试范围123456 输入有效 1选课 输入有效 5 5无效测试用例测试数据期望结果测试范围12jda1输入无效21234561输入无效412

11、341输入无效312t21输入无效2、 3排课 输入无效7第二部分 学生成绩查询系统1.系统需求分析说明:学校每年新生入学,毕业生离校和各种其它变动,如学籍变动,个人信息修改。每学期学校者要开设一定的课程提供给学生根据自己的情况来选择,最后的选择结果要给出学生的课程表。如何有效的管理这些学生信息,帮助学校和老师管理和掌握这些情况,这就是学生信息管理系统需要完成的任务。下面用软件工程的思想和方法完成该系统的设计过程。功能:个人信息查询和修改,包括流动,注册,更新管理。2.系统功能设计学院学生管理系统教师学生课程表学生个人信息查询课程设置审批新生注册登记学生信息更新管理学生教务处选课课程申请学院学

12、生管理系统的数据流图 新生信息注册 奖惩信息 奖惩变更信息变更登记 记录记录学生个人信息表奖惩信息表学籍变更表统计学生个人信息信息学生课程申请课程清单课程表 教师教务处 学生选 课表打印 批准课课程基本信息表选课结果表DFD图3.数据库概念设计 根据以上数据流图导出数据库所需数据项和数据结构学生:学号,姓名,性别,生日,所在院系,所在班级:课程:课程号,课程名,讲师,上课时间,地点,课程简介选课结果:记录号,选课学生,所选课程学籍变更记录:记录号,变更情况,记录时间,详细描述3.1数据库概念结构设计的E-R 图说明:E-R图中矩形代表实体,菱形代表实体间的联系,圆角矩形代表实体的属性教师工号教

13、师名讲授 1:N 选课 课程M:N学生 课程号学号课程名姓名讲师性别记录-对象 1:1 记录-对象 1:N 学籍变更记录 选课结果记录号课程号变更情况选课学生变更时间记录号详细描述3.2数据库逻辑结构设计根据以上E-R图,需要五个基本表:学生信息表、课程信息表、选课结果表、奖惩信息表、其中教师信息是处部表,不列出,由于使用打开系统的不光是教务人员,每个学生都要登录到选课系统进行课程的选择,因此,需要对不同的登录人员进行密码的认证和权限的限制,防止越权行为,用户名,密码,权限,保存在一个表中。1. USER-PASS用户密码信息表字典字段名数据类型是否可空说明IDCHAR NOT NULL用户名

14、(主键)PASSWORDCHARNOT NULL密码AUTHORITYCHARNOT NULL权限2. COURSE课程信息表数据字典字段名数据类型是否可空说明IDCHARNOT NULL课程号(主键)NAMEVARCHARNULL课程名TEACHERVARCHARNILL讲师CLASTIMEVARCHARNULL上课时间CLASSROMCHARNULL上课地点INTROVARCHARNULL简介3. COURSE-SELECT选课结果表数据字典字段名数据类型是否可空说明IDSMALL INTNOT NILL记录号(主键)COURSECHARNULL课程名STUDENTCHARNULL选课学生

15、(外部关键4. STUDENT学生个人信息表数据字典字段名数据类型是否可空说明IDSMALL INTNOT NULL学号(主键)NAMEVARCHARNOT NULL姓名SEXCHARNOTNULL性别CLASSCHARNULL班级DEPARTMENTCHARNULL院系BIRTHDAYVARCHARNULL生日5. 奖惩记录信息表字段名数据类型是否可空说明IDSMLL INTNOT NULL记录号(主键)STUDENTCHARNOT NULL学号(外部键)LEVELCHARNULL奖惩代码TIMEDATANULL时间 DESCRIPTIONVARCHARNULL描述4.概要设计由以上DFD图

16、导出的学院学生管理系统SC图学院学生管理系统密码+用户名用户权限管理学生信息更新管理选课课程管理 课程编号课程编号新生信息更新命令新生信息登记学生个人信息修改接受输入显示课程详细信息接受新课程奖励命令惩罚命令增删命令增删命令修改奖励记录修改惩罚记录加入课程删除课程删除课程 添加课程 增删信息增删信息已选课程表课程信息课程表 打印学生课表5.主要模块详细设计说明书1. 用户身份认证模块功能:按用户输入的用户名和密码是否合法合法则进入应用程序非法则显示出错信息界面:由总控模块调用模块说明细化为详细逻辑IPO图 用户身份认证模块 输入 处理输出连接数据库表连接数据库错误中断程序捕捉错误用户名 获取用

17、户名用户密码获取用户密码读USER-PAS判断用户名是否存在判断密码是否存在提示信息捕捉异常判断用户权限是合法 隐藏登录窗口显示主窗体文件USER-PASS表2选课模块功能:接受学生选课信息 刷新学生课程表界面:调用添加、删除模块,打印课表模块 将模块说明细化为详细逻辑选课处理IPO图输入 处理 输出课程编号为课程号过滤输入课程编号异常提示 接受课程号打开课程信息表判断是添加或是删除添加检索课程表读该记录 若该记录存在显示所选课程详细信息执行添加语句调用添加模块将选课结果刷新删除执行删除语句调用删除模块将稳定课结果刷新提交课表:课程编号,课程名调用打印课表模块文件课程信息表选课结果表3. 课程

18、申请模块功能:接受输入的新添课程信息将新课程信息存入课程信息表删除旧课程界面:调用已开课程信息表调用申请修改程序将模块细化为详细逻辑IPO图课程管理模块输入 处理 输出课程编号添加新课程获取当前教师所选课程打开已开课程表查询是否存在该记录若无该记录则是新课程调用添加模块提取课程编号 提取课程名称提取课程简介提交若有该记录则不是新课程出错处理 提示信息删除旧课程文件课程信息表(折半查找算法测试)2测试名称:模块输入课程编号过滤的测试方案a) 规定课程编号为输入4个字符,头两个字符为字母,后2个字符为数字例如TP38b) 测试方法采用黑盒测试法中的等价类划分法划分等价类输入数据有效等价类无效等价类

19、课程号1 两字母+两数字2有非数字或字母字母3 A-Z4字母少于两个或多于两个数字5 00-996数字少于两个或多于两个为有效等价类和每个无效等价类设计测试用例测试数据期望结果测试范围HY76输入有效1、3、5D78输入无效2S86输入无效4MA2输入无效6HY345输入无效6DEH94输入无效4测试名称:课程查找模块设计测试方案a) 本模块采用的是折半查找算法主要是测试各程序在各种典型情况下是不能有效的进行查找b) 测试方案采用选择白盒测试法中的路径覆盖法说明:由于输入的课程编号已经被过滤,所以编号接受的范围为00-99 满足覆盖要求的测试方案测试数据覆盖的结点覆盖的边Classno=13,

20、27,34,45 ,60A b c d e f g h i j k l m n1 2 3 4 5 6 7 8 9 10 11 1212V v vvV v v v v27V v v v v v v v v v vV v v v v v v v v28V v v v v v v v v v vV v v v v v v v v v v34V v v v v v v vV v v v v v v v v40V v v v v v v v vV v v v v v v v v45V v v v v v v v v vV v v v v v v v v61V v v vV v v v v第三部分 附录主

21、要部分源码unit main;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI,Menus, ActnList, StdCtrls, Buttons, XPMenu, jpeg, ExtCtrls;type TFmMain = class(TForm) ActionList1: TActionList; Actxsgl: TAction; Actcjgl: TAction; ActZHGL: TAction; Actibbgl: T

22、Action; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; PopupMenu1: TPopupMenu; f1: TMenuItem; gfg1: TMenuItem; fgfg1: TMenuItem; gfgf1: TMenuItem; N1: TMenuItem; N2: TMenuItem; N3:

23、TMenuItem; N4: TMenuItem; N5: TMenuItem; Image1: TImage; procedure ActxsglExecute(Sender: TObject); procedure ActcjglExecute(Sender: TObject); procedure ActZHGLExecute(Sender: TObject); procedure ActibbglExecute(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender

24、: TObject); procedure BitBtn3Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure Image1Click(Sender: TObject); private Private declarations public Public declarations end;var FmMain: TFmMain;implementationuses

25、Uxsgl, Ucjgl, Uzhgl, Ubbgl, ABOUT, Uhelp;$R *.dfmprocedure TFmMain.ActxsglExecute(Sender: TObject);beginfmxsgl.show;end;procedure TFmMain.ActcjglExecute(Sender: TObject);beginfmcjgl.Show;end;procedure TFmMain.ActZHGLExecute(Sender: TObject);beginFMZHGL.Show;end;procedure TFmMain.ActibbglExecute(Send

26、er: TObject);beginfmbbgl.Show;end;procedure TFmMain.BitBtn1Click(Sender: TObject);begin Application.CreateForm(Tfrm_about, frm_about); frm_about.ShowModal;end;procedure TFmMain.BitBtn2Click(Sender: TObject);begin Application.CreateForm(Tform3, form3); form3.ShowModal;end;procedure TFmMain.BitBtn3Cli

27、ck(Sender: TObject);beginif application.MessageBox(真的退出?,提示,mb_okcancel)=idok thenapplication.Terminate;end;procedure TFmMain.N3Click(Sender: TObject);beginBitBtn1Click(Sender);end;procedure TFmMain.N4Click(Sender: TObject);beginBitBtn2Click(Sender);end;procedure TFmMain.N1Click(Sender: TObject);beg

28、inBitBtn3Click(Sender);end;procedure TFmMain.Image1Click(Sender: TObject); var filename:string;beginfilename:=;Shellexecute(Application.Handle,nil,pchar(filename),nil,nil,sw_shownormal);end;end.object FmMain: TFmMain Left = 186 Top = 159 BorderStyle = bsNone Caption = #23398#29983#20449#24687#31649#

29、29702#31995#32479 ClientHeight = 488 ClientWidth = 732 Color = clBackground Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = MS Sans Serif Font.Style = Icon.Data = 。 /图片代码 OldCreateOrder = False PopupMenu = PopupMenu1 WindowState = wsMaximized PixelsPerInch = 96

30、 TextHeight = 13 object SpeedButton1: TSpeedButton Left = 48 Top = 328 Width = 130 Height = 100 Cursor = crCross Action = Actxsgl end object SpeedButton2: TSpeedButton Left = 400 Top = 328 Width = 130 Height = 100 Cursor = crCross Action = ActZHGL end object SpeedButton3: TSpeedButton Left = 224 Top

31、 = 328 Width = 130 Height = 100 Cursor = crCross Action = Actcjgl end object SpeedButton4: TSpeedButton Left = 571 Top = 328 Width = 130 Height = 100 Cursor = crCross Action = Actibbgl end object Image1: TImage Left = 48 Top = 64 Width = 401 Height = 105 Cursor = crHandPoint Hint = #27426#36814#2080

32、9#20020 ParentShowHint = False Picture.Data = 。 /图片代码 ShowHint = True OnClick = Image1Click end object BitBtn1: TBitBtn Left = 400 Top = 456 Width = 75 Height = 25 Cursor = crHandPoint Caption = &About TabOrder = 0 OnClick = BitBtn1Click Glyph.Data = 。 /图片代码 end object BitBtn2: TBitBtn Left = 520 To

33、p = 456 Width = 75 Height = 25 Cursor = crHandPoint Caption = &Help TabOrder = 1 OnClick = BitBtn2Click Glyph.Data = 。 /图片代码 end object BitBtn3: TBitBtn Left = 632 Top = 456 Width = 75 Height = 25 Cursor = crHandPoint Caption = &Close TabOrder = 2 OnClick = BitBtn3Click Glyph.Data = 。 /图片代码 NumGlyph

34、s = 2 end object ActionList1: TActionList Left = 400 Top = 80 object Actxsgl: TAction Caption = #23398#29983#20449#24687#31649#29702 Hint = #23398#29983#20449#24687#31649#29702 OnExecute = ActxsglExecute end object Actcjgl: TAction Caption = #25104#32489#31649#29702 Hint = #25104#32489#31649#29702 O

35、nExecute = ActcjglExecute end object ActZHGL: TAction Caption = #36873#35838#31995#32479 Hint = #36873#35838#31995#32479 OnExecute = ActZHGLExecute end object Actibbgl: TAction Caption = #25253#34920#29983#25104 Hint = #25253#34920#29983#25104 OnExecute = ActibbglExecute end end object PopupMenu1: T

36、PopupMenu Left = 336 Top = 216 object f1: TMenuItem Action = Actxsgl end object gfg1: TMenuItem Action = Actcjgl end object fgfg1: TMenuItem Action = ActZHGL end object gfgf1: TMenuItem Action = Actibbgl end object N2: TMenuItem Caption = - end object N3: TMenuItem Caption = #20851#20110 OnClick = N

37、3Click end object N4: TMenuItem Caption = #24110#21161 OnClick = N4Click end object N5: TMenuItem Caption = - end object N1: TMenuItem Caption = #36864#20986 OnClick = N1Click end endend第四部分 设计感想在计算机业界有一句行话:“真正的程序员使用C+,聪明的程序员使用Delphi。”我第三次使用Delphi进行程序开发,完成了一个“大学生成绩信息管理系统”的课程设计。通过这次实践,我们对Delphi有了全新的认识。Delphi软件开发工具是一个完全导向的可视化系统开发环境的工具。它具有功能强大、运行速度快、易于学习和使用以及开发迅速等特点。Delphi可以你用最少的程序量来得到最高的开发效率,从而迅速的开发Windows的应用程序,它提供了易于使用的图形化工具供软件开发人员创建程序中的可视化部分。开发者可按照自己的喜好及用户要求,随心所欲的安排窗口的外观。Delphi是以面向对象的方式设计程序代码的

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

当前位置:首页 > 教育专区 > 高中资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁