基于BS模式的工程硕士教学与学籍管理系统的实现-详细设计-毕业论文_第1页
基于BS模式的工程硕士教学与学籍管理系统的实现-详细设计-毕业论文_第2页
免费预览已结束,剩余6页可下载查看

下载本文档

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

文档简介

基于B/S模式的工程硕士教学与学籍管理系统的实现本科毕业论文(科研训练、毕业设计)题目:基于B/S模式的工程硕士教学与学籍管理系统的实现详细设计姓 名: 学 院:软件学院系:软件工程系专 业:软件工程 年 级: 学 号: 指导教师: 职 称: 年 月- 49 -摘 要 工程硕士教学与学籍管理系统是软件学院教学系统建设的重要组成部分,是提高教学管理质量,提高信息化服务水平的关键环节,在学院的建设过程中具有重要的地位。随着工程硕士教学管理水平的不断提高,针对工程硕士建立完善的、性能良好的教学与学籍管理系统已成为学院加强教学管理工作,提高信息化管理与服务水平的一项重要基础设施建设工作。本文系统地阐述了这样一套教学与学籍管理系统的实现。文章提出了B/S新型体系结构,对相关的网络和数据库技术进行了探索,并且介绍了教学与学籍管理系统的总体设想、系统的详细设计。文章还重点阐述了本文作者所负责的课程表模块、导师关系模块、学生信息模块、教师信息模块的功能与实现。工程硕士教学与学籍管理系统在功能上实现了开放式信息的管理、共享和查询,同时又具有较高的交互性和安全性。本系统的开发充分适应了教学与学籍管理的需求,对于促进厦门大学软件学院教学的科学化、程序化管理具有重要意义。关键词:教学与学籍管理系统; JSP; B/S模式AbstractTeaching and school management system for MSE( Master of Software Engineering ) is an important part of the construction of software college teaching system. It plays a key role in the improvement of quality of teaching management and the level of information services. With the constantly improve of the level of teaching and management for MSE( Master of Software Engineering ), it is necessary to establish sound,good performance teaching and school management system for MSE( Master of Software Engineering ). It becomes an important infrastructure construction for software college to strengthen teaching management and improve information management. This disquisition systematically explains the implementation of such a teaching and school management system. It raises B/S new framework, explores related network and database technologies. Besides, it introduces overall vision and detailed design of the system. In the text, the author focuses on the function and implementation of four modules which are designed by himself. The four modules are curriculum module, mentor relationship module, information of students module and information of teachers module.Teaching and school management system for MSE realizes open management of information,share and enquiriesAt the same time, it has high interactive and security. The development of this system fully adapts the need of teaching and school management for MSE( Master of Software Engineering ).It very important for software college to improve scientific teaching and procedural management.Key words: teaching and school management system; JSP; B/S model目 录第一章 引 言11.1 项目背景11.2 项目目标11.3 论文的主要内容与组织安排2第二章 系统需求分析42.1 系统需求42.2 需求模型5第三章 系统的概要设计123.1 支持条件123.2 系统架构153.3 系统开发流程163.4 数据库设计16第四章 系统的详细设计244.1 课程表模块的实现244.2 导师关系模块的实现264.3 学生信息模块284.4 教师信息模块36第五章 系统实现难点解析375.1 在JSP中连接MYSQL数据库375.2 用户登录时数据验证与用户信息初始化的算法375.3 数据库中多表更新时的事务处理395.4 数据库中表更新时的锁定问题405.5 数据库的自动备份与恢复41第六章 系统测试44第七章 结束语46参考文献47致 谢48Contents Chapter 1 Introduction11.1 The Background of the Project11.2 The Goal of the Project11.3 The Main Content and Organization of the Disquisition 2Chapter 2 The Analylization of the System Needs42.1 The Needs of the System42.2 The Model of System Needs5Chapter 3 Schematic Design of the System123.1 Supports123.2 The Framework of the System153.3 Process of System Devolopment163.4 The Design of Database16Chapter 4 Detailed Design of the System244.1 Curriculum Module244.2 Mentor Relationship Module264.3 Information of Student Module284.4 Information of Teacher Module36Chapter 5 Explaination of System Designs Difficulties375.1 Connecting with MYSQL in JSP375.2 Data Validation When Users Logon and Algorithm of Users Information Initialization375.3 Transaction Processing when Mutiple Tables Updating in Database395.4 Lock Issues when the Table Updating in Database405.5 Automatic Backup &Recovery in Database41Chapter 6 The System Testing44Chapter 7 Conclution46References 47Acknowledgement48第一章 引 言1.1 项目背景 近年来,软件学院工程硕士教育蓬勃发展。随着招生规模的扩大和管理信息量的迅猛增涨,教学日常管理工作日趋繁重、复杂。但是学院并没有一套专门的工程硕士教学与学籍管理系统。传统的做法是使用工学硕士教学管理系统来管理工程硕士。虽然工程硕士和工学硕士的教学管理存在诸多类似,但两者之间毕竟是有差别的。使用工学硕士教学管理系统来管理工程硕士,导致工程硕士的教学管理工作指对性不强,不够简洁、到位、高效。在工程硕士教育的早期,这些缺陷是可以被容许的。但随着学院工程硕士教育的飞速发展,这个缺陷的阻碍作用将越来越凸显。因此,我们迫切需要研制开发出一套综合教务管理系统,把硕士教学工作信息化、模块化、便捷化,以适应工程硕士教学管理模式提出的简洁、实用、高效、经济的要求。1.2 项目目标本系统设计的总体目标是充分利用Internet技术的B/S体系结构,建立一套简洁、实用、高效、经济的工程硕士教学管理体系,使信息和资源的操作与管理过渡到一个真正开放的,与平台无关的环境。即:1、本系统是一个集教学工作自动化和信息化为一体,集Browser/Server和Web技术于一体的先进的电脑网络系统。在为我院教学秘书提供优质、高效的教学管理和事务处理的同时,采用安全可靠的现代化处理和控制技术,及时、准确、可靠地采集和传输信息,建立完备、可靠的工程硕士教学管理信息系统。2、本系统借助防火墙与校园网隔离,以抵御来自外部网络的恶意攻击。建成的系统应能避免软、硬件故障造成的数据损失,保证数据在传输过程中安全、保密。系统要有足够大的吞吐量,不会因过多的服务请求而出现系统崩溃。界面友好,易于学习,非计算机专业人员通过学习用户使用手册即可掌握基本操作。3、借助于教学管理信息系统的建设,促进教学管理效率的提高。通过提供多层次的教务信息服务和实用的使用手段,满足院内教师对教务信息共享和利用的要求,并为学院领导的决策提供有效的帮助。4、师生共同参与教学管理信息系统。虽然本系统的主要操作用户是教学秘书,但同样也须要由教师和工程硕士共同参与完成。这样就可以使学院工程硕士的教学管理信息更加透明、高效化,免去了以往借助发布过多通知的手段来辅助教学的不必要的麻烦。5、教学管理信息系统是为我院量身定制的,系统的需求部分是由我院教学秘书直接参与,为整个系统的架构打下了良好的基础,也为实现此系统提供了充分的保障。而建成的系统将会是一个高效的,实用的,符合我院教学模式的系统。1.3 论文的主要内容与组织安排 本文系统地阐述了这样一套教学与学籍管理系统的实现。在第二章中,文章提出系统的需求。将系统的目标用户分为教学秘书,教师,工程硕士三者,并使用用例图对系统需求进行分析。第三章给出了系统的概要设计。总体设计主要介绍系统的开发平台等,其中重点介绍了系统架构及系统的数据库设计。系统的设计思想为面向对象设计方法,采用3层架构的B/S模式,包括表示层、中间层和数据服务层。这样的一个系统架构,充分体现了瘦客户端的设计理念。在数据库设计方面,文章详细介绍了系统数据库的12张表,并指出各表之间的联系,最后还给出系统的三种目标用户对数据库的权限。文章的第四章是详细设计的内容。在详细设计部分,文章给出了系统的11个功能模块,且特别指出作者负责的四个模块:课程表模块、导师关系模块、学生信息模块、教师信息模块并对每一个模块作出详细介绍。在课程表模块,文章给出了查询课表的操作流程,并附上系统界面和流程图加以说明。需要特别指出的是,课程表模块提供下载课程表的功能,下载下来的课表以word格式保存。这里的技术难点是导出网页table中的数据到word文档,该段代码将在文章中给出详细的解析。在导师关系模块、学生信息模块、教师信息模块,也都给出了该模块的流程。学生信息模块和教师信息模块非常类似,他们有相同的技术难点,即添加学生或教师时使用javascript进行表单信息合法性的验证,查询学生或教师信息时使用javabean从数据库中读入信息。这些代码文章中也会给出并详细解析。第五章是系统实现难点解析,包括在JSP中连接MYSQL数据库、用户登录时数据验证与用户信息初始化的算法、数据库中多表更新时的事务处理、数据库中表更新时的锁定问题、数据库的自动备份与恢复。第六章是关于系统测试方案的介绍。本系统主要采用黑盒测试。系统测试的结果是:总的来说,整个系统满足了用户的需求,系统的开发是成功的。在第七章,文章对整个系统的开发过程进行了总结:在整个系统的开发中,项目组严格采用了软件工程的方法。此外,文章还指出了系统中需要进一步完善的地方。第二章 系统需求分析系统需求分析是软件项目成功与否的关健, 需求的捕获是需求管理的基础和前提, 良好的需求管理是软件项目成功的重要保证。本教学管理系统的需求部分是由我院教学秘书直接参与,为整个系统的架构打下了良好的基础,也为实现此系统提供了充分的保障。2.1 系统需求 本系统的目标用户角色主要为教学秘书、导师和学生。从用户角度看,整个管理系统将被分割为三个子系统:秘书系统,教师系统和学生系统。如图2-1所示:图2-1 系统功能模块图 各个系统功能详细描述如下:1、秘书系统(1)开课计划管理:把每个学期开设的课程添加进入系统,使得老师可以查看(2)排课计划管理:把各门课详细信息添加进去,生成课程表。(3)学生信息管理:学生基本信息的录入,修改和学生信息的删除。(4)教师信息管理:教师的基本信息的录入,修改和删除(5)选课计划管理:将排课计划中的专业选修课提取出来供学生选择(6)成绩信息管理:可以录入,修改,查看和删除每个学生的各科成绩(7)导师信息管理:根据各个导师录入,修改,查看和删除对应的学生(8)留言板:可以看到学生的留言并回复学生。可管理留言信息。2、教师系统(1)开课计划查看:查看每个学期开设的课程。(2.排课计划查看:即查看教学秘书制定的课程表。(3)修课信息查看:查看每门课修课的学生名单,并打印名单。(4)成绩信息管理:查看每个学生的各科成绩,对自己主讲的课程,可以输入和修改学生成绩。(5)导师信息查看:可查看老师指导的学生的名单。(6)个人信息查看:查看自己的基本信息。(7)留言板:可以看到学生的留言并回复学生。3.学生系统(1)开课计划查看:查看每个学期开设的课程。(2)排课计划查看:即查看教学秘书制定的课程表。(3)选课:根据排课计划选修自己的课,并可退选。(4)成绩查询:查看自己所修课程的成绩。(5)个人信息查询:查看自己的基本信息。(6)留言板:可以在留言板上发表留言,可查看回复。从上文的描述中可以看出不同的用户对系统具有不同的访问权限,其中教学秘书的权限最大,学生最小。2.2 需求模型在这里以用例模型来分析教学与学籍管理系统的需求。系统用例图提供了软件系统的高层次的用户视图,表示以外部参与者的角度来看系统的使用。用例模型是系统既定功能及系统环境的模型, 并作为客户和开发人员之间的契约。用例模型用作分析、设计和测试活动的基本输入,参与者和用例是用例模型中的主要元素。 由前面的需求分析得出,整个系统主要有三个参与者,即教学秘书、导师和学生。这样就可以画出整个系统的用例图 。见图2-2。图2-2 教学秘书用例图用例关系为:U1:登录:教学秘书登录系统(由U2,U3,U4,U5,U7,U29和U30扩展)。U2:查看信息:教学秘书登录系统后进行的所有查询信息操作(扩展U1,抽象,被U8,U9,U11,U12,U14,U15,U16,U17,U18,U19,U20,U21一般化)。U3:修改信息:教学秘书登录系统后进行的信息修改操作(扩展U1,抽象,被U6,U31,U32,U33,U34,U35,U36,U37,U38一般化)。U4:添加信息:教学秘书登录系统后进行的录入信息操作(扩展U1,抽象,被U22,U23,U24,U25,U26,U27,U28一般化)。U5:删除信息:教学秘书登录系统后对信息的删除操作(扩展U1,抽象,被U39,U40,U41,U42,U43,U44,U45,U48一般化)。U6:修改密码:教学秘书修改自己的登录密码(特殊化U3)。U7:注销退出:教学秘书注销登录(扩展U1)。U8:查看开课:教学秘书查询具体学年学期的开设课程,若此课程已排课,可以查看排课详细(特殊化U2,包含了U10,U13)。U9:搜索开课:教学秘书通过课程名称或者开课学年搜索开课计划,若此课程已排课,可以查看排课详细(特殊化U2,包含了U10,U13)。U10:查看开课详细:教学秘书在查看总开课时可以进入查看任一开课的详细信息 (被U8,U9包含)。U11:查看排课:教学秘书查询具体学年学期所排的课程(特殊化U2,包含了U13)。U12:搜索排课:教学秘书通过课程名称或者开课学年搜索排课计划(特殊化U2,包含了U13)。U13:查看排课详细:教学秘书在查看总排课时可以进入查看任一排课的详细信息(被U8,U9,U11,U12包含)。U14:查看选课状态:教学秘书查看已排课,课程类型为专业选修课的状态可选或者非可选(特殊化U2)。U15:查看修课名单:教学秘书查看已经录入系统的修各门课程的学生名单(特殊化U2,被U38扩展)。U16:查看教师信息:教学秘书查看学院教师的基本信息(特殊化U2)。U17:查看学生信息:教学秘书查看学院学生的基本信息(特殊化U2)。U18:查看学生成绩:教学秘书查看学院学生已修课程的成绩(特殊化U2,被U47扩展)。U19:查看导师关系:教学秘书查看已经确定导师的硕士,并可进入查看学生的具体信息(特殊化U2,包含U17)。U20:查看留言:教学秘书查看用户(包括自己,教师,学生)的留言(特殊化U2)。U21:查看课程表:教学秘书通过开课学年学期和年级查看相应的课程表(特殊化U2,被U34扩展)。U22:添加开课:教学秘书按学年学期录入开课计划(特殊化U4)。U23:添加排课:教学秘书按学年学期录入排课计划(特殊化U4)。U24:添加修课学生:教学秘书为没有选课的学生添加选课(特殊化U4)。U25:添加教师信息:教学秘书为系统录入教师信息(特殊化U4)。U26:添加学生信息:教学秘书为系统录入学生信息(特殊化U4)。U27:添加学生成绩:教学秘书为已修课的学生添加成绩(特殊化U4)。U28:添加导师关系:教学秘书为尚未确定导师的学生添加导师关系(特殊化U4)。U29:留言:教学秘书在系统留言(扩展U1)。U30:回复留言:教学秘书回复学生和老师的留言(扩展U1)。U31:修改开课信息:教学秘书修改已有的开课,包括名称,开课时间等(特殊化U3)。U32:修改排课:教学秘书为已排课的课程修改排课信息,包括时间,地点和任课教师(特殊化U3)。U33:修改课程状态:教学秘书为专业选修课修改状态可选或者不可选(特殊化U3)。U34:打印课表:教学秘书查看课表的同时可以将课表下载打印(扩展U21)。U35:修改教师信息:教学秘书修改学院教师的信息(特殊化U3)。U36:修改学生信息:教学秘书修改学院学生的信息(特殊化U3)。U37:修改学生成绩:教学秘书修改已录入成绩的学生的成绩(特殊化U3)。U38:打印名单:教学秘书查看修课学生的同时可以下载打印修课名单(扩展U15)。U39:删除学生信息:教学秘书删除学院学生(特殊化U5)。U40:删除教师信息:教学秘书删除学院教师(特殊化U5)。U41:删除开课:教学秘书删除开设课程(特殊化U5)。U42:删除排课:教学秘书删除已排课程(特殊化U5)。U43:删除修课学生:教学秘书删除选修课修课学生(特殊化U5)。U44:删除学生成绩:教学秘书删除已录入成绩学生的成绩(特殊化U5)。U45:删除留言:教学秘书删除留言板中的留言(特殊化U5)。U46:删除导师关系:教学秘书删除学生和导师的对应关系(特殊化U5)。U47:打印成绩:教学秘书在查看学生成绩的同时可以下载打印成绩单(扩展U18)。图2-3 教师用例图用例关系为:U1:登录:教师登录系统(由U2,U3,U4,U5,U6和U8扩展)。U2:查看信息:教师登录系统后进行的所有查询信息操作(扩展U1,抽象,被U9,U10,U11,U12,U14,U15,U16,U17,U18和U19一般化)。U3:修改信息:教师登录系统后进行信息的修改(扩展U1,抽象,被U7,U20一般化)。U4:录入成绩:教师录入自己授课的课程的学生成绩(扩展U1)。U5:留言:教师登录系统后进行留言操作(扩展U1)。U6:回复留言:教师对留言进行对应的回复(扩展U1)。U7:修改密码:教师修改自己的登录密码(特殊化U3)。U8:注销退出:教师注销登录(扩展U1)。U9:查看开课:教师查询具体学年学期的开设课程,若此课程已排课,可以查看排课详细(特殊化U2,包含了U13)。U10:搜索开课:教师通过课程名称或者开课学年搜索开课计划,若此课程已排课,可以查看排课详细(特殊化U2,包含了U13)。U11:查看排课:教师查询具体学年学期所排的课程(特殊化U2,包含了U13)。U12:搜索排课:教师通过课程名称或者开课学年搜索排课计划(特殊化U2,包含了U13)。U13:查看排课详细:教师在查看排课时可以进入查看任一排课的详细信息(被U9,U10,U11,U12包含)。U14:查看课程表:教师通过开课学年学期和年级查看相应的课表(特殊化U2,被U21扩展)。U15:查看修课名单:教师查看已经录入系统的修各门课程的学生名单(特殊化U2,被U22扩展)。U16:查看学生成绩:教师查看学院学生已修课程的成绩(特殊化U2)。U17:查看导师关系:教师查看已经确定导师的硕士,并可进入查看学生的具体信息(特殊化U2,包含U23)。U18:查看个人信息:教师查看自己的基本信息(特殊化U2)。U19:查看留言:教师查看留言板中的留言(特殊化U2)。U20:修改成绩:教师可以修改自己授课的课程的学生成绩(特殊化U3)。U21:打印课表:教师查看课表的同时可以将课表下载打印(扩展U14)。U22:打印名单:教师查看修课学生的同时可以下载打印修课名单(扩展U15)。U23:查看学生信息:教师查看硕士生的基本信息(被U17包含)。图2-4 学生用例图用例关系为:U1:登录:学生登录系统(由U2,U3,U4,U13和U14扩展)。U2:查看信息:学生登录系统后进行的所有查询信息操作(扩展U1,抽象,被U5,U6,U7,U8,U10,U11和U12一般化)。U3:修改密码:学生修改自己的登录密码(扩展U1)。U4:注销退出:学生注销登录(扩展U1)。U5:查看开课:学生查询具体学年学期的开设课程,若此课程已排课,可以查看排课详细(特殊化U2,包含了U9)。U6:搜索开课:学生通过课程名称或者开课学年搜索开课计划,若此课程已排课,可以查看排课详细(特殊化U2,包含了U9)。U7:查看排课:学生查询具体学年学期所排的课程(特殊化U2,包含了U9)。U8:搜索排课:学生通过课程名称或者开课学年搜索排课计划(特殊化U2,包含了U9)。U9:查看排课详细:学生在查看总排课时可以进入查看任一排课的详细信息(被U5,U6,U7,U8包含)。U10:查看课程表:学生通过开课学年学期和年级查看相应的课表(特殊化U2,被U15扩展)。U11:查看成绩:学生查看自己已修课程的成绩(特殊化U2)。U12:查看留言:学生查看留言板中的留言(特殊化U2)。U13:选课:学生选择或者退选可选的专业选修课(扩展U1)。U14:留言:学生登录系统后进行留言操作(扩展U1)。U15:打印课表:学生查看课表的同时可以将课表下载打印(扩展U10)。第三章 系统的概要设计从应用的角度来看, 对一个大型、复杂的软件系统需要一个架构设计, 以便开发人员可以向着共同的目标努力。一个好的系统架构, 有利于理解系统、组织开发、鼓励重用和进化系统。从技术的角度来看, 一个好的系统架构可以控制或减少系统的开发风险。3.1 支持条件3.1.1 系统语言根据系统的功能和特点,本项目组成员经过讨论,决定采用JSP作为系统的开发语言。JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。作为新一代站点开发语言,JSP为创建显示动态内容的Web页面提供了一个简捷而快速的方法。同目前常用的两种动态网页语言ASP ( Active Server Pages) , PHP (Hypertext Preprocessor)相比,JSP完全解决了他们一个通病脚本级执行。具体来说,JSP有如下优点:1、将内容的生成和显示进行分离 使用JSP 技术, Web 页面开发人员可以使用HTML 或者XML 标识来设计和格式化最终页 面。使用JSP 标识或者小脚本来生成页面上的动态内容, 所有的脚本在服务器端运行。如果 核心逻辑被封装在标识和Beans 中, 那么其他人能够编辑和使用JSP 页面, 而不影响内容的 生成。在服务器端, JSP 引擎解释JSP 标识和小脚本生成所请求的内容, 并且将结果以HTML页面的形式发送回浏览器。这有助于作者保护自己的代码, 而又保证任何基于HTML 的Web 浏览器的完全可用性。 2、强调可重用的组件绝大多数JSP 页面依赖于可重用的, 跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件, 基于组件的方法加速了总体开发过程, 并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 3、采用标识简化页面开发JSP 技术封装了许多功能。标准的JSP 标识能够访问和实例化JavaBeans 组件, 设置或者检索组件属性, 下载Applet, 以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库, JSP 技术是可以扩展的。第三方开发人员可以为常用功能创建自己的标识库。这使得Web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP 技术很容易整合到多种应用体系结构中, 以利用现存的工具和技巧, 并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分, JSP 技术能够支持高度复杂的基于Web 的应用。由于JSP 页面的内置脚本语言是基于Java编程语言的, 而且所有的JSP 页面都被编译成为Java Servlet, JSP 页面就具有Java 技术的所有好处, 包括健壮的存储管理和安全性。作为Java 平台的一部分, JSP 拥有Java 编程语言“一次编写, 各处运行”的特点。3.1.2 系统数据库在数据库方面,选用mySQL作为系统数据库。mySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。同目前流行的另一种后台数据库SQLServer相比,MySQL具有如下特点: 1、可扩展,开放的存储引擎: SQLServer服务器的存储引擎是狭隘的,保守的,而MySQL 服务器的存储引擎是可扩展,开放的。虽然你可以使用SQL Server服务器的Sybase引擎,但MySQL能够提供更多种的选择,如MyISAM,Heap,InnoDB,andBerkeleyDB。 2、发行费用:mySQL很便宜当提及发行的费用,这两个产品采用两种绝然不同的决策。 mySQL是开源软件,存在诸多免费的版本。对于SQL Server服务器,获取一个免费的开发费用最常的方式是购买微软的Office或者VisualStudio的费用。但是,如果你想用于商业产品的开发,你必须还要购买SQLServerStandardEdition。学校或非赢利的企业可以不考虑这一附加的费用。 3、性能:先进的MySQL 纯粹就性能而言,MySQL是相当出色的。首先它包含一个缺省桌面格式MyISAM。MyISAM数据库与磁盘非常地兼容而不占用过多的CPU和内存。其次,MySQL可以运行于Windows系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好。此外,你还可以通过使用64位处理器来获取额外的一些性能。因为MySQL在内部里很多时候都使用64位的整数处理。Yahoo!商业网站就使用MySQL作为后台数据库。 虽然SQL Server服务器的稳定性要比mySQL强很多。但是,这些特性也要付出代价的。比如,必须增加额外复杂操作,磁盘存储,内存损耗等等。 4、安全性:良好的安全机制 这两个产品都有自己完整的安全机制。只要你遵循这些安全机制,一般程序都不会出现什么问题。 5、恢复性:不如SQL Server 恢复性也是MySQL的一个特点,这主要表现在MyISAM配置中。这种方式有它固有的缺欠,如果你不慎损坏数据库,结果可能会导致所有的数据丢失。然而,对于SQL Server服务器而言就表现得很稳键。SQL服务器能够时刻监测数据交换点并能够把数据库损坏的过程保存下来。 考虑到工程硕士教学与学籍管理系统开发时间短,任务重,且mySQL 优异的表现完全能够满足系统性能的要求,我们决定采用mySQL作为我们的系统数据库。3.1.3 系统开发平台 开发平台方面,选用Eclipse+MyEclipse+Tomcat+MySQL作为开发环境。 各个软件的版本为: 1、jdk1.5.0(可去官网下载,下载后的JDK文件为 jdk-1_5_0_06-windows-i586-p.exe) 2、Tomcat5.5.23(可去/tomcat官网下载,下载后的JDK文件为apache-tomcat-5.5.23.exe) 3、Eclipse SDK3.2.2(可以去官网下载) 4、MyEclipse Enterprise Workbench5.5.1 GA(可以去官网下载)3.1.4 系统运行环境运行环境方面,服务器端只需要安装Tomcat+MySQL+JDK,客户端只需要安装支持IE5.0以上的浏览器.3.2 系统架构 工程硕士教学与学籍管理系统是基于B/S模式的服务器端执行的应用系统,在客户端只需运行统一的浏览器软件。系统结构框架图如图3-1所示:图3-1 基于B/S模式的教学管理信息系统结构框架图1、表示层 表示层在本系统中是浏览器。系统运行时,客户从Web服务器下载它所需要执行的程序或脚本,而在此层不需要安装系统的应用软件,这样做体现了瘦客户端的系统概念。瘦客户端指的是在B/S网络体系中的一个基本无需应用程序的计算机终端,它通过一些协议和服务器通信,进而接入局域网。2、中间层 中间层是Web 服务器,它由三部分组成: (1)业务处理逻辑,即应用服务器。 这是中间层的主要部分,所有的业务逻辑和规则都在这里得到体现。业务处理逻辑负责业务规则的解释和执行,并根据客户端用户指令,响应客户端的请求,同时向数据库连接发送或请求数据。 (2)用户身份验证 负责对客户端用户的身份进行验证,防止非法用户的侵入。用户身份验证根据用户的输入信息,授权或禁止用户访问某些特定的资源。 (3)数据库连接 Web服务器是通过数据库连接和数据库管理系统交互信息的,对于不同的数据库系统,其访问方式是不同的,但是通过标准连接接口来访问数据库,可以使需要得到数据库服务的程序存取异地数据库。3、数据服务层数据服务层是数据库管理系统(DBMS),它负责数据的存储管理,安全性管理和完整性管理。3.3 系统开发流程 整个系统的开发过程中,我们严格遵守软件工程开发方法的要求。整个系统的开发经历以下8个阶段:1、系统需求分析和需求分析文档编写2、系统总体架构和功能体系设计3、数据库设计和实现4、所需资料收集和网页风格css设计5、代码实现6、重要算法和难点说明7、系统测试和测试文档编写8、用户手册编写3.4 数据库设计 数据库设计应该遵循规范化理论的要求,尽量使结构更合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新 。 本系统中共有12张表,它们分别为学生信息表student_info,教师信息表teacher_info,管理员教学秘书信息表manager,开课计划表course_open,排课计划表course_arrange,排课计划明细表course_arrangedetail,选修课状态管理表choosecontrol, 选修课修课学生表course_student, 导师对应关系表teacher_student, 学生成绩表studentscore, 留言板信息表message_info, 留言板回复信息表message_answer_info。具体表之间的对应关系,如图3-2所示:图3-2 数据库模型图 其中,需要注意的关系是: (1)一个学生只有一位导师,而一位导师可以指导多名学生。 (2)一个学生可以选修多门课程,一门课程可供多名学生选修。 (3)一个学生有多门课程的成绩,一门课程的成绩也是多个学生的成绩集合。 (4)一门开课可以多次排课,一次排课只属于一门开课。 (5)一门专业选修课只有两种状态可选和非可选,一种状态为多门专业 选修课拥有。 (6)一门课程可由多名老师授课,一位老师可以教授多门课程。 (7)一条留言只有一条回复,一条回复只属于一条留言。1、学生信息表student_info学生信息表存储软件学院工程硕士的基本信息,以学生学号作为主键,学生学号是以大写字母X开头,后跟10位数字作为编码的,例如X2004369001,X2004369002。选修课修课学生表course_student,导师对应关系表teacher_student和学生成绩表studentscore的学生学号stu_id与此表的stu_id外键相关联,当学生信息被删除时,此学生所选的选修课,对应的导师关系和成绩将被删除。该表详细的数据描述如表3-1所示:表3-1 学生信息表student_info 详细数据描述字段名描述类型长度是否允许为空主键stu_id学号VARCHAR11否是name名字VARCHAR20否否password登陆密码VARCHAR45否否class_id所在班级VARCHAR2否否sex性别VARCHAR2否否nationality民族VARCHAR20否否stu_grade年级VARCHAR4否否len_of_schooling学制VARCHAR2否否specialty专业VARCHAR20否否come_from生源VARCHAR20是否born出生日期VARCHAR45是否charact政治面貌VARCHAR10是否email电子邮件VARCHAR45是否telephone电话VARCHAR12是否address地址VARCHAR100是否description备注TEXT是否2、教师信息表teacher_info教师信息表存储软件学院教师的基本信息,由于教师的工号较复杂,有些4位,有些更多,所以用院内教工号作为主键。院内教工号是以4位数字作为编码的,例如0001,0002。排课计划明细表course_arrangedetail的任课教师course_teacher,导师对应关系表teacher_student的教工号teacher_id与此表的学院内教工号teacher_id外键关联,当教师信息被删除时,此教师的排课,相应的导师关系将被删除。该表详细的数据描述如表3-2所示:表3-2 教师信息表teacher_info详细数据描述字段名描述类型长度是否允许为空主键teacher_id学院内教工号VARCHAR4否是name名字VARCHAR20否否password登陆密码VARCHAR45否否college所在学院VARCHAR20否否sex性别VARCHAR2否否place职称VARCHAR5否否remark备注TEXT是否3、管理员教学秘书信息表manager管理员教学秘书信息表存储教学秘书的信息。包括了登录名和密码。其中登录名默认为“教学秘书”,登录后可自行修改密码。该表详细的数据描述如表3-2所示:表3-3 管理员教学秘书信息表manager详细数据描述字段名描述类型长度是否允许为空主键manager_id登陆名VARCHAR8否是password登陆密码VARCHAR45否否4、开课计划表course_ope开课计划表存储了所开课程的基本信息,包括了开课学年,学期,课程的名称,类型,学时,学分和开课年级。以一个自增的int型字段course_id作为主键。排课计划表course_arrange的课程号course_id与此表的course_id外键相关联。因为开课与排课的关系是有开才能排,有排一定有开,有开不一定有排,所以当要开课的课程被删除时,相应此课程的排课也会删除,而当一门课的排课被删除时,开课计划表中还会保留此课程的信息。该表详细的数据描述如表3-4所示:表3-4 开课计划表course_ope详细数据描述字段名描述类型长度是否允许为空主键course_id课程号INTEGER否是course_name课程名称VARCHAR45否否course_type课程类型VARCHAR5否否course_grade开课年级VARCHAR4否否course_period开课学年VARCHAR10否否course_season开课学期VARCHAR5否否course_score课程学分INTEGER否否course_long课程学时INTEGER否否course_arrange是否已排课标记VARCHAR1否否course_description课程描述TEXT是否5、排课计划表course_arrange排课计划表course_arrange存储了开课计划表中需要进行排课的课程信息,包括了课程的上课起始周和结束周。此表的课程号course_id与开课计划表course_open的课程号course_id外键关联,当开课计划表course_open的课程数据删除的时候,排课计划表course_arrange的相应课程也会被数据库自动删除。此表与排课计划明细表course_arrangedetail共同存储了一门课程的排课信息:任课老师,上课时间地点等。将排课信息分为两个表的原因是安排一门课,它的上课的时间即起始周和结束周是一定的。但这门课可以由多个老师一起来上。所以将任课教师,上

温馨提示

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

评论

0/150

提交评论