软件工程导论_林茂松_案例3研究生管理系统_第1页
软件工程导论_林茂松_案例3研究生管理系统_第2页
软件工程导论_林茂松_案例3研究生管理系统_第3页
软件工程导论_林茂松_案例3研究生管理系统_第4页
软件工程导论_林茂松_案例3研究生管理系统_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第一章第一章 绪论绪论 1 1 1 1 引言引言 近几年来 随着高校扩招的不断 升级 我国研究生教育的规模也在不断扩大 研 究生年招生人数从 1978 年恢复研究生教育时的 1 万人增加到 2003 年的 27 万人 报考 人数更是从 1978 年的 6 3 万人上升到 2003 年的 79 万余人 近几年报考人数年均增长 约 30 在 2002 年中国研究生院院长联席会议上 教育部长周济在讲话中指出 目前 我国在校研究生数将突破 100 万大关 我国己经进入研究生教育发展关键时期 在报 考和录取研究生人数持续多年攀高后 人们对研究生的教育管理有了更多的思考 研究生教育是高等教育的最高层次 与本科生教育的最大区别在于本科生是专业 应用型人才 研究生是知识创新型人才 研究生教育管理工作同本科生教育管理工作 存在很大差异 具有其自身特点 1 素质高 管理信息量大 以国务院学位办要求各学校学位授予单位上报的数据量来看 每个攻读硕士学位 的研究生的信息 有 74 个字段属性 约 500 个汉字 每个以同等学力申请硕士学位的 在职人员信息为 154 个字段属性 约 1350 个汉字 除此之外还有一些附加信息管理 如助学金管理 病退 休学学生的学籍处理 在职硕士生的分阶段收费管理等 管理 工作中数据量之大显而易见 2 报表多 针对不同的主管部门报表格式各不相同 工作时限性强 工作程序繁杂 随着我 国研究生教育事业的发展和改革 规模化的研究生教育的逐步形成 研究生教育管理 的信息量还会不断增加 管理工作趋向于多层次 多方位 管理工作日趋复杂 1 2 1 2 项目开发背景项目开发背景 我国在实行研究生学位教育制度后不久 许多高校在研究生业务管理上采用了计 算机管理 随着计算机技术 网络技术及研究生学位教育制度的发展 我国研究生计 算机管理信息系统大致经过了三个阶段 80 年代基本上采用计算机集中处理数据 当时由于我国研究生学位教育刚刚起步 招生规模不大 一般采用 Dbase 数据库实现一些简单功能的单机系统 这些系统有研 究生招生管理信息系统 研究生培养管理信息系统 研究生学位管理信息系统 这些 系统在整个研究生管理工作中相互独立 大多数高校具有以上系统中的一种 90 年代随着研究生招生规模的逐年扩大 研究生业务管理工作逐渐细化 单机处 理的模式逐渐不能满足工作的需要 同时 基于 Internet 计算机分布处理系统在我国开 始广泛应用 一些资金较充足的研究生院设计开发了具有计算机分布处理功能的研究 生管理信息系统 这种管理信息系统具有软 硬件环境造价昂贵 系统移植性差的缺 点 因此并没有得到大范围的应用 90 年代后期以来网络技术的飞速发展带动了计算机技术的革新 也带来了研究生 管理信息系统的革命 研究生管理走上了网络管理的新时代 网络成本的下降带来了 校园网的普及 这时出现了功能单一的 C S 客户机 服务器 构架的研究生管理信息系统 同时出现了一些借助 WEB 技术运行于局域网的 B S 浏览器 服务器 构架的具有查询功 能研究生管理信息系统 我国研究生管理信息系统的发展历程如图 1 1 所示 图 1 1 我国研究生管理信息系统的发展历程 我校现有在校研究生 500 多人 具有计算机科学与技术学院 信息工程学院 制 造科学与工程学院 土木工程与建筑学院 材料科学与工程学院 外国语学院等 19 个 硕士点 其中材料科学与工程学院和土木工程与建筑学院为全国重点研究学科 其它还 有省级重点研究学科 5 个 我校研究生管理从业务上大致可分为招生入校 在校培养 学籍管理 学位授予 学科建设 导师信息等多个模块 研究生部在研究生教育管理中的信息收集基本上是 按部门计算机辅助管理模式 各业务部门的业务流程 工作衔接基本是按照人工数据 处理方式进行 这样的信息采集 处理 传输 存储和使用 不仅效率低下 而且是 分散的 数据冗余度大 且不能实现信息资源的共享 目前 我校研究生管理文件主要是纸质文件 这种管理形式存在如下问题 1 文件的收集 管理主要通过手工抄写 以纸质文件的形式保存 占库存面积大 2 文件提取是通过手工抄写或复印机复印 手续繁琐 效率低 容易出现人为因素 3 查阅案卷和借阅过程中容易造成文件的破损 甚至丢失 4 随着近年来各高校研究生招生规模的逐渐扩大 以我校为例 仅就学生学习成绩登记 一项 每生每学期按 8 10 门课计算 工作人员每学期就要登 4000 6000 门次课程成绩 其工作量之大可想而知 1 3 1 3 项目开发意义项目开发意义 在如今的研究生教育管理工作中 软件的发展已远远落后于硬件的发展 软件发 展水平的相对滞后 不仅严重影响了研究生教育管理水平的提高 相对于高速发展的 硬件 网络 来说 也是一种巨大的浪费 为了提高我校研究生教育的管理水平 工作 效率 减轻教务管理工作的压力 开发符合我校研究生教育自身管理特点的管理信息 系统软件势在必行 1 4 1 4 项目开发目项目开发目标标 采用 B S 模式 以 JSP Servlet JavaBean 模式为技术核心 以 MySQL 作为后台 数据库来开发研究生管理信息系统 配合学院网站一起使用 以提高研究生管理工作 的开放性 使研究生管理达到网络化 规范化 减轻教务管理工作的压力 为教师和 学生提供快速 便捷的服务 为学校的研究生工作提供有效的决策支持 同时也是把 计算 机集 中处 理 80 年 代 计算 机分 布处 理 90 年 代 网络 管理 90 年 代后 我校建成二十一世纪全国重点大学的需要 1 5 1 5 项目预期效果项目预期效果 此系统的开发成功 可以使教学办老师有序地规划研究生教学任务 老师可以事 先对教学任务进行安排 研究生可以清楚地了解自己的课程 对研究生的资料管理从 以前繁琐的手工操作改革为电子化处理 导师可以方便地掌握学生信息 对研究生成 绩管理也更加系统化 规范化 同时学院可以更清楚地了解导师的详细资料 研究生 也能方便地查询到导师的基本信息 为全院师生提供开放 快速 便捷的网络化服务 第二章第二章 研究生管理信息系统研究生管理信息系统需求分析需求分析 研究生信息管理工作烦琐复杂 单纯的人工管理方式已经不能完全适应形式发展 的具体要求 这就需要有一个系统 自动的管理系统来完成这一工作 实现对研究生 信息的维护 该项目主要针对现研究生信息管理工作的具体需求 拟实现一个 B S 模 式的信息管理系统 1 针对研究生信息管理工作 需要实现如下功能 1 教学任务管理模块需要实现教学办老师对研究生的教学任务 相关字段例如 教学班 号等 进行查询 删除 添加 修改 并在操作时提供系统安全性提示 2 个人资料管理模块需要实现教学办老师对整个学院研究生的详细资料 例如 研究生 的学号 姓名 专业 研究方向 导师姓名 进行查询 添加 删除 修改 3 成绩管理模块需要实现教学办老师对整个学院研究生的成绩 例如 研究生的学号 姓名 课程名称 分数 任课教师等 进行查询 添加 删除 修改 4 导师信息管理模块教学办老师对整个学院研究生导师信息 例如 导师代码 导师姓 名 学历 学位等 进行查询 添加 删除 修改 5 权限管理模块需要实现对用户进行权限设置 分为管理员权限和普通用户权限两个等 级 只有管理员有添加 修改 删除权限 普通用户看不到此模块 6 个人密码修改模块需要实现用户对自己的密码进行修改 管理员和一般用户的界面和 功能一样 2 1 2 1 功能分析功能分析 该系统主要运用于计算机科学与技术学院 目的是实现研究生信息网络化 提高 研究生教育质量和管理水平 要求主要分为 6 个模块 研究生教学任务管理模块 研 究生个人资料管理模块 研究生成绩管理模块 研究生导师信息管理模块 权限管理 模块 个人密码修改模块 1 研究生教学任务管理 管理员可以添加 查询 修改 删除教学任务信息 一般用户只能查询教学任务信息 所需字段定义如表 2 1 字段名称类型来源 必填项 约束条件 教师代码字符输入 教师姓名字符输入 课程代码字符输入 课程名称字符输入 教学班号字符输入 课程性质字符输入 上课类型字符输入 考核性质字符输入 授课地点字符输入 授课讲次字符输入数值 上课总人数字符输入数值 理论学时字符输入数值 实践学时字符输入数值 起始周字符输入数值 结束周字符输入数值 设计学时字符输入数值 实习学时字符输入数值 类型字符输入 表 2 1 教学任务管理字段表 2 研究生个人资料管理 管理员可以添加 查询 修改 删除研究生个人资料信息 一般用户只能查询研究生个人资料信息 所需字段定义如表 2 2 字段名称类型来源 必填项 约束条件 学号字符输入 数值 姓名字符输入 曾用名字符输入 性别字符输入 民族字符输入 政治面貌字符输入 寝室号字符输入 联系电话字符输入 数值 籍贯字符输入 身份证号字符输入 数值 电子信箱字符输入 出生日期字符输入格式 2001 01 31 邮政编码字符输入数值 父母姓名字符输入 家庭电话字符输入 数值 家庭住址字符输入 学籍状态字符输入 毕业学校字符输入 准考证号字符输入 数值 专业字符输入 身高字符输入 cm 血型字符输入 体重字符输入 kg 研究方向字符输入 个人特长字符输入 备注字符输入 银行卡号字符输入 数值 导师姓名字符输入 表 2 2 个人资料管理字段表 3 研究生成绩管理 管理员可以添加 查询 修改 删除研究生成绩信息 一般用户只能查询研究生成绩信息 所需字段定义如表 2 3 字段名称类型来源 必填项 约束条件 学号字符输入 姓名字符输入 课程名称字符输入 任课老师字符输入 分数字符输入 学期字符输入 表 2 3 成绩管理字段表 4 研究生导师信息管理 管理员可以添加 查询 修改 删除导师信息 一般用户只能查询导师信息 所需字段定义如表 2 4 字段名称类型来源 必填项 约束条件 导师代码字符输入 导师姓名字符输入 学历字符输入 学位字符输入 毕业时间字符输入格式 2001 01 31 所学专业字符输入 毕业学校字符输入 职称字符输入 所在部门字符输入 担任职务字符输入 职称评定时间字符输入 所在教研室字符输入 论文题目字符输入 表 2 4 导师信息管理字段表 5 权限管理模块 只有管理员有添加 修改 删除权限 普通用户看不到此模块 所需字段定义如表 2 5 字段名称类型来源 必填项 约束条件 用户名字符输入 用户角色字符选择 admin common 用户密码字符输入 表 2 5 用户角色字段表 6 个人密码修改模块 该模块需要对用户自己的密码进行修改 管理员和一般用户的界面和功能一样 所需字段定义如表 2 6 字段名称类型来源 必填项 约束条件 用户名字符输入 用户密码字符输入 表 2 6 用户字段表 2 2 2 2 可行性分析可行性分析 可行性分析是在系统调查的基础上 针对新系统的开发是否具备必要性和可能性 从技术 经济 社会的方面进行分析和研究 以避免投资失误 保证新系统的开发成 功 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决 该系统的可行性分析包括以下几个方面 1 经济可行性 主要是对项目的经济效益进行评价 本系统作为一个设计 无需开发经 费 对于学院在经济上是可以接受的 并且本系统实施后可以显著提高研究生管理工 作效率 有助于学院完全实现网络化管理 因此本系统在经济上是可行的 2 技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作 硬 软 件能否满足开发者的需要等 该管理系统采用了当前新兴的 B S 模式进行开发 结合 了 JSP 技术 数据库采用 MySQL 三者的结合为本系统的开发提供了坚实的技术保 证 目前管理信息系统从技术上来说己相当成熟 伴随着信息领域和其他领域的发展 其自身也在不断的发展完善 就其目前的发展水平来说 己经基本能够满足我们的需 要 3 管理可行性 学院各级主管领导对于计算机在教学管理工作中的应用具有远见卓识 高层领导能够取得共识 并具有大刀阔斧 排除万难的魄力和勇气 计算机学院研究 生部在业务上具有相对独立性 业务领域数据相对完整 具有条理性 这些都为设计 和实施管理信息系统提供了便利条件 综上所述 此系统开发目标已明确 在技术和经济等方面都可行 并且投入少 见效快 因此系统的开发是完全可行的 第三章第三章 研究生管理信息系统方案设计与论证研究生管理信息系统方案设计与论证 3 1 3 1 B SB S 模式与模式与 C SC S 模式的比较模式的比较 C S 客户机 服务器 系统是在七 八十年代产生并发展起来的 客户机服务器是 个逻辑概念 它包括客户机和服务器两部分 客户 服务器系统显著的特点是 把系统 任务放在客户机和服务器上分开执行 服务器为客户机提供服务 客户机可向服务器 提出请求 服务器接受请求 进行一系列处理 计算 将结果返回客户机 在 90 年代后期 C S 模式被应用到研究生管理信息系统中 在此之前多数高校采用 的是单机处理系统及造价昂贵的分布式处理系统 C S 模式的研究生管理信息系统一般 都是数据库 数据处理 的 C S 模式 它将 DBMS 和数据库应用分开 对数据库的处理 放到了服务器端进行 当客户端要处理数据时 只需向数据库服务器发送 SQL 请求 然后由服务器处理请求 并将处理结果送回客户端 数据库服务器端一般由高性能的 计算机担当 在实际应用中 一般以小型计算机或高性能工作站做服务器 对数据库的 数据处理由高性能的 DBMS 处理 这样 有效地提高了数据库的处理能力 既使客户 端从繁重而复杂的数据库处理中解脱出来 又减轻了网络的负担 提高了系统性能 C S 模式研究生管理信息系统的优点 1 实现了研究生管理工作的计算机统一管理 C S 模式的研究生管理信息系统改变了以往独立单机单功能的计算机集中处理模式 使得各项管理采用统一的数据库 可以为不同的客户端应用开发了不同的应用程序 2 实现了研究生管理部门间的数据共享 由于采用了统一的数据库 避免了以前单机单功能的系统需要单独开发系统数据 接口的方式 3 提高了系统的处理速度 C S 模式的研究生管理信息系统把处理任务在客户机和服务器间分开进行 服务器 端专门处理数据库操作 客户机负责处理人机对话以及相关计算 任务分工很显然提 高了系统的处理速度 也充分地利用了系统资源 4 数据平台与客户机无关 由于数据库采用集中管理 客户通过 SQL 语言访问数据库数据 因此 客户不限 于一种平台 5 数据库与客户程序无关 由于数据库采用集中管理 客户通过 SQL 访问数据库数据 因此 当数据库平台 更换时 客户程序将不需要或只需要极少量的改变 并且客户机平台可以访问不同的 DBMS 6 减少了对工作站 客户机 的要求并延长了工作站的寿命 由于大量复杂的数据库操作是在后端 DBMS 进行的 DBMS 的速度不受工作站速 度的制约 因此 工作站只要能够运行前端软件即可 从而有效的延长了许多型号比 较老功能比较低 没有运行复杂 DBMS 能力的 PC 机的使用寿命 7 维护数据库的完整性 一致性 由于对数据的处理都放在服务器上集中管理 有效地保证了数据的完整性 一致 性 C S 模式研究生管理信息系统的缺点 C S 模式的管理系统开发一般着重于客户端开发 即客户端用 PowerBuilder Delphi NewEra Uniface 等工具开发应用程序 服务器端则以大型 DBMS 作后台 提供数据管理服务 研究生管理信息系统的 C S 模式可以说是采用了 企业管理信息系统的经典模式 但现存的 C S 模式的研究生管理信息系统仍存在着许 多问题 1 维护 升级非常不方便 在管理系统中 往往将系统应用功能分成不同的功能模块分装在不同的客户机上 不同客户机所要求的功能不尽相同 所装的应用程序也随之不同 这样容易造成管理 混乱 维护非常不方便 针对用户要求的改变 客户端应用软件可能要增 减功能或修 改用户界面 那么该软件应用范围越广 软件维护的开销就越大 另外 应用程序要 升级 则要将客户机逐一升级 这样也是很不方便 2 缺乏开放性 应用范围仅限于局域网内 不利于远程教育的发展 局域网之外的用户 Internet 用户 难以访问系统资源 系统内的客户机也不便访问 系统外资源 现代远程教育利用 Internet 进行远程教学及管理活动 缺乏开放性的系统 阻断了远程学员对系统的教育资源的访问 很难实现现代远程教育 3 扩充性差 若要在系统中增加一个客户机 必须给它先装上开发工具 即运行环境 再给它装 上应用程序 并进行一番设置 方可运行 4 大量数据采集方式单一 由于客户端数量有限 因此当需要采集大量数据时只能依靠客户端手工输入 降 低了工作效率 并没有完全改善管理人员的工作负担 90 年代以来 Web 应用得到了飞速的发展 Web 的 B S 应用是 C S 的一种具体表 现形式 研究生管理信息系统的 B S 模式是利用 INTERNET INTRANET Web 技术 将应用程序放置于 Web 服务器上 客户端统一使用浏览器访问 Web 服务器并运行应用 程序 研究生管理信息系统的 B S 模式与 C S 模式相比具有以下优点 1 跨平台操作 现在 由于 INTERNET 的 WWW 技术的快速发展 几乎任何一种操作系统上都有 浏览器产品 从而方便地实现了客户端跨平台操作 即任何一台机器 只要装有 Web 浏览器 均可以作为客户机访问管理系统 运行管理系统应用程序 2 维护 升级非常方便 由于应用程序放在服务器上 客户端几乎不需维护 对整个系统的维护全部集中 在服务器端 非常方便 另外 应用程序的升级也只需在服务器端进行 而不必像以 前对客户端逐一升级 大大地减少了工作量 高效而方便 系统要对某一客户机 或用 户 实现功能增 减 只需在服务器上授予或收回部分权力即可 管理非常方便 管理维 护人员再也不用奔波于各客户机所在地进行维护管理 3 减少整个系统的成本 由于客户端只需装有 Web 浏览器即可 不必装其他的软件 这对客户机的硬件要 求很低 尤其是今后网络计算机的推出 将大大降低客户端成本 4 具有良好的开放性 有利于远程教育的发展 在这种系统中 系统外的用户 如 Internet 用户 可方便地访问系统内资源 他们只 需知道系统站点就可以访问他们允许访问的资源 系统内的用户也可以方便地访问系 统外资源 如 Internet 资源 因为客户机本身是用 Web 浏览器在执行管理系统应用 所 以要访问 Internet 不需更换界面 只需修改 URL 地址即可 5 应用范围广泛 系统要增加某一客户机 或某一用户 只需在服务器授权即可 而不必像以前那样 要先给客户机装工具或其他软件 再装上应用程序 同理 系统要减少一用户 只需 在服务器上收回权力即可 6 能与 Internet 应用很好的结合起来 Internet 应用的执行一般是用浏览器浏览 Web 页 HTML 文档 其操作方式与 B S 模式的研究生管理信息系统应用一样 两者的操作模式得到了很好的统一 用户再不 必更换界面来执行这两种应用 7 有利于数据的大范围采集 利用 B S 模式的优势 通过 WEB 进行数据采集 明显提高了研究生管理人员的工 作效率 降低了研究生管理人员的工作负担 当然 B S 模式在实际应用中也存在着一些缺点 1 安全问题 研究生管理信息系统从 Intranet 向 Internet 扩展是一个大势所趋的问题 WEB 技术 在应用的过程中暴露了越来越多的安全问题 研究生系统管理了研究生管理工作中的 所有数据 对系统的安全性要求较高 随着系统由 Intranet 向 Internet 的扩展 本来出 现在系统内部的安全问题也被放大到整个 Internet 上 因此 WEB 技术的安全性问题限 制了基于 WEB 的 B S 模式的研究生管理信息系统的发展 导致了 B S 模式的研究生管 理信息系统仍然只能在局域网内使用 2 大量计算问题 在 B S 模式管理系统的应用中一般将业务逻辑层放置在 WEB 服务器上 当运行大 量计算或长事务处理时严重的影响了系统的工作效率 使得用户不得不靠不断增加硬 件投资提高 WEB 服务器的性能和数量 3 很难实现全部管理功能 由于 WWW 技术的局限性 研究生管理信息系统很难完全利用 B S 模式实现 现 有的 B S 模式的研究生管理信息系统也仅实现了部分的管理功能 然而总体来说 本人认为在开发该研究生管理信息系统中 B S 模式优越与 C S 模 式 因此选用了 B S 模式 3 2 3 2 JSPJSP 与与 ASPASP 的比较的比较 JSP 与 Microsoft 的 ASP 技术非常相似 两者都提供在 HTML 代码中混合某种程 序代码 由语言引擎解释执行程序代码的能力 在 ASP 或 JSP 环境下 HTML 代码主 要负责描述信息的显示样式 而程序代码则用来描述处理逻辑 普通的 HTML 页面只 依赖于 Web 服务器 而 ASP 和 JSP 页面需要附加的语言引擎分析和执行程序代码 程 序代码的执行结果被重新嵌入到 HTML 代码中 然后一起发送给浏览器 ASP 和 JSP 都是面向 Web 服务器的技术 客户端浏览器不需要任何附加的软件支持 9 ASP 的编程语言是 VBScript 之类的脚本语言 JSP 使用的是 Java 这是两者最明 显的区别 此外 ASP 与 JSP 还有一个更为本质的区别 两种语言引擎用完全不同的 方式处理页面中嵌入的程序代码 在 ASP 下 VBScript 代码被 ASP 引擎解释执行 在 JSP 下 代码被编译成 Servlet 并由 Java 虚拟机执行 这种编译操作仅在对 JSP 页面的 第一次请求时发生 按照本系统的技术要求 本人采用了 JSP Servlet JavaBean 模式为技术核心 3 3 以以 MySQL 作为后台数据库的理由作为后台数据库的理由 MySQL 是一个广受人们喜爱的半商业的数据库 MySQL 可运行在大多数的 Windows 平台和 Linux 平台 i386 Sparc etc 以及少许非 Linux 甚至非 Unix 平台 1 安装 可以在 MySQL 站点上获得大多数主要的软件包格式 RPM DBE TGZ 客户 端库和各种语言 包装 Wrapper 可以由分开的 RPM 格式获得 RPM 格式的安装没 有多大麻烦 并且无需初始配置 故 MySQL 守护进程在多用户模式下重启时被启动运 行 MySQL 的守护进程 mysqld 消耗很少的内存 并在只有在执行真正的查询时才 装载到处理器上 这意味着对小型数据库来说 MySQL 可以相当轻松地使用而不会对 其他系统功能有太大的影响 本系统用的是 mysql 5 0 1 alpha snapshot win noinstall zip 版本的 Windows 的安装免 费版 2 数据类型 MySQL 与大多数其他数据库系统不同的是提供两个相对不常用的字段类型 ENUM 和 SET ENUM 是一个枚举类型 非常类适于 Pascal 语言的枚举类型 它允许 程序员看到类似于 red green blue 段值 而 MySQL 只将这些值存储为一个字节 SET 也是从 Pascal 借用的 它也是一个枚举类型 但一个单独字段一次可存储多个值 这种存储多个枚举值的能力也许不会给你一些印象 并可能威胁第三范式定义 但正 确使用 SET 和 CONTAINS 关键字可以省去很多表连接 能获得很好的性能提高 3 SQL 兼容性 MySQL 包含一些与 SQL 标准不同的转变 大多数被设计成对 SQL 语言脚本语言 不足的一种补偿 然而 另一些扩展确实使 MySQL 与众不同 例如 LINK 子句搜索是 自动地忽略大小写的 MySQL 也允许用户自定义 SQL 函数 一个程序员可以编写一 个函数然后集成到 MySQL 中 并且其表现的与任何基本函数如 SUM 或 AVG 没有 什么不同 函数必须被编译到一个共享库文件中 so 文件 然后用一个 LOAD FUNCTION 命令装载 它也缺乏一些常用的 SQL 功能 没有子选择 在查询中的查询 视图 View 也没 了 当然大多数子查询可以用简单的连接 join 子句重写 但有时用两个嵌套的查询思 考问题比一个大连接容易 同样 视图仅仅为程序员隐蔽 where 子句 但这正是程序 员们期望的另一种便利 4 存储过程和触发器 MySQL 没有一种存储过程 Stored Procedure 语言 这是对习惯于企业级数据库的 程序员的最大限制 多语句 SQL 命令必须通过客户方代码来协调 这种情形是借助于 相当健全的查询语言和赋予客户端锁定和解锁表的能力 这样才允许的多语句运行 5 参考完整性 Referential Integrity RI MySQL 的主要的缺陷之一是缺乏标准的 RI 机制 然而 MySQL 的创造者也不是 对其用户的愿望置若罔闻 并且提供了一些解决办法 其中之一是支持唯一索引 Rule 限制的缺乏 在给定字段域上的一种固定的范围限制 通过大量的数据类型来补偿 提供检查约束 一个字段相对于同一行的另一个字段的之值的限制 外部关键字和经常 与 RI 相关的 级联删除 功能 当不支持这些功能时 SQL 分析器容忍这些语句的句法 这样做目的是易于移植数据库到 MySQL 中 6 安全性 对 MySQL 最大的抱怨是其安全系统 它唯一的缺点是复杂而非标准 另外只有到 调用 mysqladmin 来重读用户权限时才发生改变 通常 SQL GRANT REVOKE 语句到 最近的版本才被支持 MySQL 的编写者广泛地记载了其特定的安全性系统 但是它确 实需要一条可能是别无它法的学习过程 7 备份和恢复 数据导入 导出 强制参考一致性的缺乏显著地简化备份和恢复 单靠数据导入 导出就可完美复制 这一功能 LOAD DATA INFILE 命令给了数据导入很大的灵活性 SELECT INTO 命 令实现了数据导出的相等功能 另外 既然 MySQL 不使用原始的分区 所有的数据库 数据能用一个文件系统备份保存 数据库活动能被记载 与通常的数据库日志不同 存 储记录变化或在记录映像之前 之后 MySQL 记载实际的 SQL 语句 这允许数据库被 恢复到失败前的那一点 但是不允许提交 commit 和回卷 rollback 操作 8 连接性 MySQL 客户库是客户 服务器结构的 C 语言库 它意味着一个客户能查询驻留在 另一台机器的一个数据库 然而 MySQL 真正的强项处于该库中的语言 包装器 wrapper Perl Pathon 和 PHP 只是一部分 Apache 的 Web 服务器也有许多模块例 如目录存取文件等允许各种各样的 Apache 配置信息 例如目录存取文件 使用 MySQL 应用程序接口简单 一致并且相对完整 另外 多平台 ODBC 驱动程序可自由获得 3 4 3 4 本系统采用的方案本系统采用的方案 根据需求分析 综合比较多种方案 最后决定采用 B S 模式 以 JSP Servlet JavaBean 模式为技术核心 以 MySQL 作为后台数据库来设计该系统 JSP Servlet 负责浏览器表现层的实现 JSP 实现查询 数据翻页显示等简单的逻辑操 作 Servlet 实现数据的添加 删除 修改等复杂的逻辑操作 JavaBean 负责数据库操 作 Web 页面中文显示等可重用的操作的实现 研究生系统开发模式数据传递关系如图 3 1 所示 图 3 1 研究生系统开发模式数据传递关系 3 5 3 5 软件安装与配置软件安装与配置 1 安装 jdk 1 4 2 x jdk1 4 2 x 是驱动器名 CLASSPATH x jdk1 4 2 lib tool jar JAVA HOME x jdk1 4 2 PATH x jdk1 4 2 bin 2 安装 tomcat5 0 x tomcat5 0 x 是驱动器名 win9x 在 autoexec bat 里面用 set 语句来设定环境变量 如 set TOMCAT HOME x tomcat winnt win2000 选择 我的电脑 右键点出菜单 选择属性 弹出对话框 系统特性 选择 高级 然后点按钮 环境变量 即可以编辑系统的环境变量 TOMCAT HOME 值 x tomcat 3 测试 tomcat5 0 运行 x tombat bin startup bat 在浏览器中键入 http localhost 8080 如果看到图 3 2 说明配置成功 图 3 2 Tomcat 正常运行界面 4 安装 Mysql 安装 mysql 5 0 1 的免安装版 在命令行中进入到 C mysql bin 目录下 输入 mysqld nt install 在控制面板的服务里面启动 mysql 服务即可 第四章第四章 研究生管理信息系统数据库设计研究生管理信息系统数据库设计 4 1 4 1 数据库数据库简述简述 数据库是整个管理系统的基础 正确地设计数据库对整个系统的建立和系统性能 有很大的影响 数据库设计主要依据系统分析的结果 数据库设计中数据的设计是管 理系统的设计核心内容 数据的设计不能独立于系统的开发过程 应与功能设计紧密 结合起来 针对数据的设计与具体功能的设计的脱离有两种情况 一是 数据的设计 滞后于功能的设计 其二是 功能的设计滞后于数据的设计 这两种设计思想都存 在着一些弊病 妨碍最终正确设计结果的生成 2 在管理信息系统的设计工作中 人们达成了一种共识 即 管理信息系统的设计 是一项庞大的工程 属于软件工程范畴 其中数据设计是系统开发和建设的重要组成 部分 但是 人们越来越注意到 传统的软件工程忽视对应用中数据语义的分析和抽 象 它着重于应用处理过程的特性 即着重于对功能的设计 只要有可能就尽量推迟 数据结构设计的决策 早期的数据库设计致力于数据模型和建模方法的研究 着重结 构特性 数据 的设计 对行为特性 功能 的设计几乎没有提供指导 结构设计与行为设 计是分离的 这种设计思想实质上是数据设计与功能设计分离的体现之一 即 数据 的设计滞后于功能的设计 数据设计与功能设计分离的体现之二就是 功能的设计滞后于数据的设计 也就 是说 所设计的针对某一主题的数据库 如研究生基本情况数据库 能够适用于几乎 所有的对应于这一主题的具体应用 即无论是什么规模的用户 无论是怎样的应用环 境 也无论具体有什么特殊的要求 希望所设计的这一主题的数据库均可以没有任何 障碍的加以使用 或者说 如果数据和功能两者能互相独立 互不干扰地分别规划和 设计 那么数据就会变得更有意义 但是 随着管理信息系统理论 数据库技术及软件工程的发展 人们越来越多地 认识到 在管理信息系统的分析与设计过程中 数据库的设计应该同应用系统的功能 设计紧密结合 即结构特性设计与行为特性设计相结合 单纯从数据库设计的定义就 可以看到这一点 所谓数据库设计 笼统地讲 是研制数据库及其应用系统的技术 由此可见 在数据库设计中 包含了数据和功能应用两方面的内容 按照现在比较公 认的意见 数据库设计是指 对于一个给定的应用环境 构造最优的数据库模式 建 立数据库及其应用系统 使之能够有效地存储数据 满足各种用户的应用需求 也就 是说 数据库设计结果中的数据 归根结底来自于特定的具体的功能应用环境 同样 功能的设计当然也不能离开数据的支持 在进行某个具体功能的设计时需要同时考虑 该功能所要使用和与其相关的数据的设计 这一点是显而易见的 4 2 4 2 数据库设计数据库设计 根据模块划分 主要建立了 6 个数据表 1 教学任务管理模块 授课信息表 m teachinfo 见表 4 1 字段名称英文类型长度允许空 课程名 cnamevarchar 50 授课代码 TeachNovarchar 10 教师代码 Tnovarchar15 教师姓名 Tnamevarchar 20 课程代码 Cnovarchar15 上课地点 TeachAddvarchar20 授课讲次 TeachJCint11 教学班号 ClassNovarchar10 上课总人数 TotleNoint10 理论学时 TheoryHourint11 实践学时 PracticeHourint11 课程性质 CourseTypevarchar10 上课类型 StudyTypevarchar10 考核性质 TestTypevarchar10 起始周 StartWeekint5 结束周 EndWeekint5 教学计划 TeachPlanvarchar50 类型 Typevarchar10 实习学时 ShiXiint11 设计学时 SheJiint11 表 4 1 授课信息表 m teachinfo 2 个人资料管理模块 研究生个人资料表 m studentinfo 见表 4 2 字段名称英文类型长度允许空 学号 Snovarchar 15 学号 SIdvarchar 20 学生姓名 Snamevarchar10 曾用名 FormerNamevarchar 10 性别 Ssexvarchar6 准考证号 ZKIdvarchar16 出生日期 Sbirthdate0 民族 Snationvarchar10 身高 Sheightfloat0 体重 Sweightfloat0 血型 Sbloodtypevarchar6 个人特长 OwnFeaturevarchar50 政治面貌 PolicalFigurevarchar20 籍贯 NativeProvincevarchar20 导师姓名 Assistantvarchar16 学籍状态 StudyStatuvarchar20 毕业学校 Gschoolvarchar30 寝室号 DormNovarchar10 联系电话 ConnectTelvarchar20 电子信箱 Semailvarchar20 父亲姓名 FatherNamevarchar20 母亲姓名 MotherNamevarchar20 家庭电话 HomeTelvarchar20 家庭地址 HomeAddressvarchar50 邮政编码 HomeCodevarchar10 银行卡号 CardNovarchar20 备注 Remarkvarchar50 是否毕业 SFbiyetinyint1 专业 Majorvarchar20 研究方向 M directionvarchar50 表 4 2 研究生个人资料表 m studentinfo 3 成绩管理模块 研究生成绩信息表 m student marks 见表 4 3 字段名称英文类型长度允许空 学生姓名 Snamevarchar 20 学号 Snovarchar 20 课程代码 Cnamevarchar30 分数 Markfloat 5 学期 Termvarchar10 教师姓名 Tnamevarchar20 学分 xuefenint12 表 4 3 研究生成绩信息表 m student marks 4 导师信息管理模块 导师信息表 daoshiinfo 见表 4 4 字段名称英文类型长度允许空 导师代码 DaoNoint 20 导师姓名 Daonamevarchar 20 毕业时间 Graduatetimevarchar30 学位 Xueweivarchar 15 学历 Xuelivarchar15 毕业院校 Biyeyuanxiaovarchar30 所学专业 Suoxuezhuanyevarchar30 担任职务 Dutyvarchar20 所在部门 Departmentvarchar20 职称评定时间 Vzhichentimevarchar30 职称 Zhichenvarchar20 所在教研室 Suozaijiaoyanshivarchar20 毕业论文 Biyelunwenvarchar20 表 4 4 导师信息表 daoshiinfo 5 权限管理模块 用户角色表 user roles 见表 4 5 字段名称英文类型长度允许空 用户名 Unamevarchar 15 用户角色 Urolevarchar 30 表 4 5 用户角色表 user roles 用户表 users 见表 4 6 字段名称英文类型长度允许空 用户名 Unamevarchar 15 用户密码 Upassvarchar 15 表 4 6 用户表 users 6 个人密码修改模块 用户表 users 见表 4 7 字段名称英文类型长度允许空 用户名 Unamevarchar 15 用户密码 Upassvarchar 15 表 4 7 用户表 users 数据库中各表间的关系图如图 4 1 所示 Cno Uname Tname Cname Sno Assistant 图 4 1 数据库中各表间的关系图 m st udent info m st udent mar ks m te achin fo m co ursei nfo usersuser roles daos hiinf o 4 3 4 3 数据库连接代码数据库连接代码 MySQL 数据库连接主要代码如下 public class DB conn public Connection conn 类 java sql Connection 提供了与数据库的连接 public ResultSet rs 类 java sql ResultSet 表示查询返回的结果集 public Statement stmt 类 java sql Statement 表示静态的 SQL 语句 public String strDriver public String url public DB conn public ResultSet DB 1 String sql conn null rs null stmt null strDriver org gjt mm mysql Driver 数据库驱动 String url jdbc mysql localhost test1 数据库的 url try Class forName strDriver newInstance conn DriverManager getConnection url root 连接数据库 stmt conn createStatement rs stmt executeQuery sql catch Exception e System out println 与数据库连接失败 return rs public void conn close try rs close stmt close conn close 关闭数据库 catch Exception e System out println 与数据库连接失败 第五章第五章 研究生管理信息系统功能设计研究生管理信息系统功能设计 5 1 5 1 功能模块设计功能模块设计 考虑到权限问题 进入欢迎界面后设计了 管理员登陆 和 普通用户登陆 2 个 方式 欢迎界面如图 5 1 所示 图 5 1 欢迎界面 点击任意一个都需要输入用户名和密码方可进入研究生管理信息系统 登陆界面 如图 5 2 所示 图 5 2 登陆界面 1 教学任务管理模块 A 管理员页面如图 5 3 所示 图 5 3 管理员页面 功能划分如图 5 4 所示 图 5 4 功能划分图 教学任务 E R 图如图 5 5 所示 查询 教学 任务 管理 添加修改删除 课程 名 教师 姓名 教师 代码 上页下页返回重置提交 教学 任务 类型 实习 学时 结束 周 设计 学时 实践 学时 教学 班号 上课 类型 起始 周 课程 性质 理论 学时 考核 性质 上课 总人 数 授课 讲次 授课 地点 教师 姓名 教师 代码 课程 代码 课程 名称 图 5 5 教学任务 E R 图 B 普通用户页面如图 5 6 所示 图 5 6 普通用户页面 功能划分如图 5 7 所示 图 5 7 功能划分图 2 个人资料管理模块 A 管理员页面如图 5 8 所示 图 5 8 管理员页面 功能划分如图 5 9 所示 查询 教学 任务 管理 课程 名 教师 姓名 教师 代码 上页下页 图 5 9 功能划分图 研究生资料 E R 图如图 5 10 所示 图 5 10 研究生资料 E R 图 B 普通用户页面如图 5 11 所示 研究 生资 料 学号 导师 姓名 备注 银行 卡号 研究 方向 学籍 状态 个人 特长 体重 毕业 学校 血型 专业 准考 证号 曾用 名 姓名 性别 邮政 编码 父母 姓名 家庭 电话家庭 住址 身份 证号 电子 信箱 出生 日期 寝室 号 联系 电话 籍贯 身高 政治 面貌 民族 查 询 个人 资料 管理 添加修改删除 学号姓名专业 上页下页返回重置 研究 方向 导师 姓名 查看提交 图 5 11 普通用户页面 功能划分如图 5 12 所示 图 5 12 功能划分图 3 成绩管理模块 A 管理员页面如图 5 13 所示 图 5 13 管理员页面 功能划分如图 5 14 所示 个人 资料 管理 学号姓名专业导师 姓名 研究 方向 查询上页下页查看 图 5 14 功能划分图 研究生成绩 E R 图如图 5 15 所示 图 5 15 研究生成绩 E R 图 B 普通用户页面如图 5 16 所示 图 5 16 普通用户页面 功能划分如图 5 17 所示 成绩 管理 查询添加修改删除 学号姓名 上页下页返回重置提交 研究 生成 绩 任课 老师 学号姓名 课程 名称 分数学期 图 5 17 功能划分图 4 导师信息管理模块 A 管理员页面如图 5 18 所示 图 5 18 管理员页面 功能划分如图 5 19 所示 图 5 19 功能划分图 导师信息 E R 图如图 5 20 所示 导师 信息 管理 查询添加修改删除 导师 姓名 导师 代码 上页下页返回重置提交 查询 成绩 管理 学号姓名 上页下页 图 5 20 导师信息 E R 图 B 普通用户页面如图 5 21 所示 图 5 21 普通用户页面 功能划分如图 5 22 所示 图 5 22 功能划分图 5 权限管理模块 只有管理员页面有该模块 普通用户没有 管理员页面如图 5 23 所示 导 师信 息所在 教研 室 论文 题目 职称 评定 时间 学位 所学 专业 毕业 时间 担任 职务 毕业 学校 所在 部门 职称 导师 姓名 导师 代码 学历 查询 导师 信息 管理 导师 姓名 导师 代码 上页下页 图 5 23 管理员页面 功能划分如图 5 24 所示 图 5 24 功能划分图 6 个人密码修改模块 管理员页面和普通用户页面相同 输入旧密码后 再输 2 次新密码 即可修改个人 密码 如图 5 25 所示 权限 管理 查询添加修改删除 用户 名 用户 角色 上页下页返回重置提交 图 5 25 密码修改页面 5 2 5 2 功能代码设计功能代码设计 根据各模块的特点 主要实现了数据分页 修改 添加 删除 查询等功能 代码如 下 1 数据分页功能代码 在执行查询操

温馨提示

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

评论

0/150

提交评论