软件工程设计826.doc_第1页
软件工程设计826.doc_第2页
软件工程设计826.doc_第3页
软件工程设计826.doc_第4页
软件工程设计826.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

软件工程设计课程要求 软件工程设计课程要求 1 实践课程按五级制给分 文档设计满分为 60 分 含 平时成绩 20 分 软件设计满分为 40 分 2 设计文档的前三章在 9 月 16 号提交给老师 其余部 分在本学期教学周第 15 周或 16 周周三提交 地点在 8 号实验楼 512 最好自带笔记本 3 设计文档部分的格式参照模板 软件要能完全运行并 通过测试 附件 附件 软件工程设计软件工程设计 文档报告模板文档报告模板 软件工程设计软件工程设计 文档报告文档报告 题目 题目 班级 班级 学号 学号 姓名 姓名 内容摘要内容摘要 目前多数学校的作业管理都还停留在比较原始的手工阶段 作业批 改信息主要依靠师生间口头传达 作业管理效率较低 容易出错等 因 此 建立一个高效完善的作业管理系统来解决这些问题十分必要 网络 化教育代表了教育改革的一个发展方向 已经成为现代教育的一个特征 并对教育的发展形成新的推动力 通过 Internet Intranet 来实现网上 作业提交 是现代教育技术的一个具体实现 具有很重要的现实意义 可以实现学生在线提交作业的无纸化管理 可以有效利用校园网的软硬 件资源 使其发挥最大效力 更好的为学校的教学 科研 管理服务 本文以实际运用为开发背景 运用软件工程原理和开发方法 采用 JSP 技术构建一个基于 B S 模式的作业发布和管理系统的过程 以期改 变过去传统的学生递交作业 老师批改作业的方式 让学生递交作业更 加灵活 同时减轻老师繁重的工作量 本系统使用的是 JAVA 语言 前台使用 Jsp 后台数据库使用的是 MySQL 系统采用的是三层结构设计 即用户界面层 业务处理层和数 据存储层 三层分别独立 用户界面与业务逻辑分离 系统的安全性 可维护性 重用性和扩展性都大大提高 整个开发过程首先对系统进行 需求分析 得出系统主要功能 数据流图及数据字典 接着对系统进行 总体设计和详细设计 总体设计主要包括系统功能设计 系统总体结构 设计 系统数据结构设计和系统安全设计等 详细设计主要包括系统数 据库访问的实现 主要功能模块的具体实现 模块实现关键代码等 最 后对系统进行了功能测试 并对测试结果进行了分析总结 得出系统的 不足及需要改进的地方 为以后的系统维护提供了方便 同时也为今后 开发类似系统提供了借鉴和帮助 本系统有管理员 教师和学生 3 类用户 管理员可以对教师 学生 课程的基本信息进行增 删 改 查的操作 教师则可以发布作业 批 改作业 查看作业信息等 至于学生 可以下载作业 提交作业 浏览 评语等 作业提交与评审系统分为教师管理子系统和学生管理子系统 分别对教师和学生进行管理和操作 本文着重讲述的是教师管理子系统 教师子系统所能实现的功能包括 教师可以进行作业的发布 管理 评 分 查询功能及对学生作业的评价 同时教师能对自己的信息进行修改 包括密码的修改 发布作业 作业信息的修改等 关键词关键词 作业管理 JSP 技术 B S SQL Server 2000 目 录 一 一 绪论绪论 1 1 1 1 课题的来源 背景与意义 1 1 1 1 来源 1 1 1 2 背景 2 1 1 3 意义 2 二 二 综述综述 4 4 2 1 国内外研究现状 4 2 2 现行研究存在的问题及解决方法 4 2 3 本课题要达到的设计目标 5 2 4 开发工具 5 2 4 1 JSP 介绍 5 2 4 1 MySQL 介绍 6 2 4 2 SmartUpload 介绍 7 2 4 3 JavaScript 介绍 7 三 三 方案设计与论证方案设计与论证 8 8 3 1 系统需求分析 8 3 1 1 研究的可行性 8 3 1 2 系统主要功能需求 8 3 1 3 功能模块设计 9 3 1 4 采取的基本方法 技术路线 10 3 1 5 系统工作流程 10 3 2 教师管理子系统分析 12 3 2 1 教师管理子系统详细分析 12 3 3 用例分析 12 3 4 编程模型及数据结构 14 3 5 数据模型分析 15 3 5 1 系统 E R 图 15 3 6 关键技术及难点 16 四 四 设计与实现设计与实现 1818 4 1 数据库的表结构实现 18 4 1 1 管理员信息管理 18 4 1 2 教师信息管理 18 4 1 3 学生信息管理 19 4 1 4 课程信息管理 19 4 1 5 发布作业信息管理 20 4 1 6 提交作业信息 21 4 2 系统模块的实现 22 4 2 1 用户登录界面的实现 22 4 2 2 教师管理子模块 23 五 五 结果与评价结果与评价 2929 5 1 测试实例 测试集 的研究与选择 29 5 1 1 测试的目的 29 5 1 2 黑盒测试 29 5 2 测试环境与测试条件 29 5 3 实例测试 30 5 4 性能分析 31 1 作业提交与评审系统作业提交与评审系统 教师管理子系统教师管理子系统 一 一 绪论绪论 目前 社会正处于空前发达的高速发展阶段 信息网络时代已经在我们的生活 中有了越来越深刻 越来越真切的体会 互联网就是这个时代的一个重要特征 网 络使人们的工作 学习 生活都变得更加简捷 顺畅 方便 在这样社会不断进步 的大前提下 面对我们的更多的是挑战与机遇 互联网的不断普及和壮大更是这个 挑战的前沿战线 世界范围内的多层次 多侧面的计算机互联网教育热潮正在蓬勃 掀起 网络教育又称为远程教育 远程教育是随着现代信息技术的发展而产生的一种 新型教育形式 是构筑知识经济时代人们终身学习体系的主要手段 因为网络教育 的兴起 网上授课之后的作业的布置与上交等一批相关的网上项目也得到飞快的发 展 我们开发的就是基于 Web 的学生作业管理系统 是一个以软件工程专业的课程 为模板的管理系统 其开发主要包括数据库的建立以及前端应用程序的开发两个方面 共分为 5 个主要模块 分别为学生信息模块 教师信息模块 课程信息模块 作业 信息模块和统计信息模块 在下面的各章中将以我开发的学生作业管理系统为例 谈 谈其开发过程和所涉及到的问题及解决方法 1 11 1课题的来源 背景与意义课题的来源 背景与意义 1 1 11 1 1来源来源 随着科学技术的不断提高 计算机科学日渐成熟 网络应用越来越广泛 其强大 的功能已被人们深刻认识 网络已进入人类社会的各个领域并发挥着越来越重要的 作用 同时 在这个信息化的时期 对信息的管理也就成了一个热点问题 在我们的 2 大学校园 电脑化教学与远程的网络化教学的普及 给传统的教学方式带来了重大 的革命 也给教学改革的实施者们提出了很多新的课题 如何有效进行作业管理就 是一个让很多老师头痛的问题 学生作业管理系统的开发和使用在各国的差距显而易见 中国是一个发展中的 国家 在中国 网络功能的实现也是近五六年才大范围普及起来的 从这一点来说 它就制约了一些需要依托网络平台的相关技术的发展 当然这也包括网上教学以及 学生作业管理系统的发展 1 1 21 1 2背景背景 我们都会有这样的感觉 不论社会进步以及网络发展有多么迅速 我们有时仍 然不知道如何利用好这更加快捷 方便 安全的网络 以我们平时学习为例 作业 这个环节在我们师生看来就是很麻烦 很辛苦的 我们也经常能够看到我们的老师 下课之后拿着同学们厚厚的作业本 辛苦的往办公室走 下次再上课的时候 老师 还要再把厚厚的一摞作业本带回来给我们布置新的作业 这实在辛苦了我们的老师 更与我们不断进步的社会不太符合 但是 利用网络来布置和上交作业 就会方便 很多了 因此 作为我们广大师生来讲 需要一个平台 把这个看似简单又平常的事情 通过一个稳定又高效的系统整合起来 通过这个系统实现师生之间的信息传递 信 息之间的互动 又能达到师生双方沟通的桥梁作用 我们需要通过这个作业管理系 统来对老师在网上布置的作业 学生上交的作业进行管理 同时 也可以在上面随 时增加老师以及课程信息等一系列的问题 所以 我们的 基于 Web 技术的学生作 业管理系统 就在这样的前提和背景下诞生了 1 1 31 1 3意义意义 在这样的背景下 我们希望开发出一种平台 可以同时对 SQL Server 数据库进 行操作 并且把教师与学生对应的作业管理的内在关系与之相结合开发出的一种基 于 Web 的管理系统来进行操作 3 目前 对信息的管理和存储有很多种形式 而对于学生作业的管理也可以通过 有效的并与之对应的程序来进行管理 可以提高教师对学生的管理效率和可靠性 对于传统的手工布置作业 批改作业 还需要学生提交自己的作业来说 有一个应 用程序来操作这些不仅会提高我们的工作效率 同时也会让我们的管理更加方便 同时 作为计算机应用的一部分 使用计算机通过网络资源对学生作业系统进 行管理 具有我们平时繁琐又沉重的手工操作所无法比拟的优点 例如 检索迅速 查找方便 可靠性高 应用广泛 容易保存 成本低等很多优点 这些优点能够极 大地提高工作和学习的效率 因此 开发这样一套学生作业管理系统软件成为很有 必要的事情 而且只要软件的设计合理 可以为个人 学校乃至社会节约成本 减 少错误的发生 降低资源损耗和浪费 利用计算机的高速运算及大容量存储 运行 速度快的优点 借助数据库管理技术 应用我们已有的网络资源 开发一个学校学 生作业管理系统 实现学生作业管理的规范化 合理化 应用化 4 二 二 综述综述 在国内外也有很多作业管理软件 采用的技术也是多种多样 如基于 JSP FTP ASP 等模式 但大多数作业管理系统主要用于远程教学 至于校园内的 正规教学 利用作业管理系统组织管理教学活动的并不多 学生作业管理系统的开发和使用在各国的差距显而易见 中国是一个发展中的 国家 在中国 网络功能的实现也是近五六年才大范围普及起来的 从这一点来说 它就制约了一些需要依托网络平台的相关技术的发展 当然这也包括网上教学以及 学生作业管理系统的发展 2 12 1国内外研究现状国内外研究现状 目前国内外作业管理一般采用的有两种方法 一种将作业存在软盘上交 另一 种存放到教师电脑上的一个共享目录内 但这两种方法都有各自的弊端 前一种方 法不方便携带 速度慢 容量小 易损坏 后一种方法虽然解决了软盘容量小 容 易坏的问题 但却存在一个更致命的缺点 权限的不明确 学生可以随意查看 更 改和删除其他同学的作业 造成大量如抄袭作业 恶意删除或修改其他同学作业的 事情发生 老师在帮学生修改作业时 也很容易弄不清楚作业批改与否 作业是谁 的或是旧作业没删除掉 跟新作业搞混了等情况 虽然有些可以用严格的纪律来实 现管理 但仍然户给学校和老师带来很多麻烦 在当前的信息化时代中 任何学校 都需要一个实用的作业管理系统来规范作业管理 这将会大大提高学校的管理水平 优化资源 实现效益的最大化 2 22 2现行研究存在的问题及解决方法现行研究存在的问题及解决方法 在学生 教师 课程的管理及关联管理中 关联管理会涉及到多表查询 要考 虑好当对一项记录做操作的时候会对其他的造成什么影响 需要有所控制 教师上 传的作业只对应班级的学生可以看到 学生提交作业过程当中 第一次提交作业的 时候实际上是进行的添加操作 而第一次的作业中存在问题想要第二次提交的时候 可以将其做成对作业的修改操作 最后 学生可以在规定时间内提交作业就需要靠 5 脚本语言来控制了 将当前日期与提交作业的截止日期进行比较 如果当前日期大 于截止日期就无法提交 2 32 3本课题要达到的设计目标本课题要达到的设计目标 针对国内外对教学管理软件的巨大需求和基本要求 一个好的教学管理软件 必须要功能齐全 操作简便 向用户展示美观的操作界面 在完善功能的同时又必 须兼顾系统的灵活性 安全性 健壮性 一个好的学生作业提交与评审系统 不管 是计算机专业人员还是其他非专业用户都能很快上手 操作简单易懂 容易普及 本系统主要实现对作业信息进行管理及对留 交作业流程进行控制 能够对系统中 教师 学生 课程基本信息及关联信息进行管 而本系统主要完成的是教师管理子 系统的功能 包括教师可以通过账号和密码来登陆系统 查看信息 教师可以发布 作业 并且批改学生提交上来的作业 打分 发布评语等 2 42 4开发工具开发工具 2 4 12 4 1JSP 介绍介绍 1 Java Server Pages JSP 技术允许开发人员轻松的创建静态或动态的 Web 内容 JSP 不仅具有象 Servlet 一样创建动态 Web 页面的能力 而且更接近创建静 态内容的方式 JSP 使得页面的动态内容与它的表示进一步分离 JSP 的设计迎合了 两个不同的技术层面 页面的图形设计和创建动态内容的软件开发 JSP 的主要特 性包括 1 JSP 是基于文本的文档 用来处理客户端请求 request 和构造响应 response 2 构造 server 端访问的对象 3 定义扩展 JSP 语言的机制 4 Apusic JSP 建立在 Sun Microsystem 提出的 JSP2 1 规范之上 完全符合 JSP2 1 规范 同时兼容 JSP2 0 与 JSP1 2 规范 2 JSP 是以文本为基础的文档 它包含两种类型的文本 静态模板数据和 JSP 6 元素 1 静态模板数据 表达成文本格式内容 如 HTML XML 等 2 JSP 元素 用来构造动态内容 3 JSP 页面定义了实现 JSP 页面语义的实现类 实现类是 Servlet 的子类 容 器在用户访问 JSP 页面时自动转向到对应的实现类来处理用户的请求 4 JSP 的技术方法 1 将内容的生成和显示进行分离 2 可重用组件 3 采用标识 4 适应平台 5 数据库连接 2 4 12 4 1MySQL 介绍介绍 MySQL 是一个小型关系型数据库管理系统 开发者为瑞典MySQLAB 公司 在 2008 年 1 月 16 号被 Sun 公司收购 MySQL 被广泛地应用在 Internet 上的 中小型网站中 由于其体积小 速度快 总体拥有成本低 尤其是开放源码这一 特点 许多中小型网站为了降低网站总体拥有成本而选择了MySQL 作为网站数 据库 MySQL 的特性 1 使用 C 和 C 编写 并使用了多种 编译器进行测试 保证源代码的可移植 性 2 支持 AIX FreeBSD HP UX Linux Mac OS Novell Netware OpenBSD OS 2 Wrap Solaris Windows 等多种操作系统 3 为多种编程语言提供了 API 这些编程语言包括 C C Java PHP 等 4 支持多线程 充分利用 CPU 资源 5 优化的 SQL 查询算法 有效地提高查询速度 6 既能够作为一个单独的应用程序应用在客户端服务器网络环境中 也能够 作为一个库而嵌入到其他的软件中提供多语言支持 7 7 提供 TCP IP ODBC 和 JDBC 等多种数据库连接途径 8 提供用于管理 检查 优化数据库操作的管理工具 2 4 22 4 2SmartUpload 介绍介绍 SmartUpload 组件是应用 JSP 进行 B S 程序开发过程中经常使用的上传下载组件 它使用简单 方便 以下将对使用的相关类进行说明 1 File 类 这个类包装了一个上传文件的所有信息 通过它 可以得到上传文件的文件名 文件大小 扩展名 文件数据等信息 2 Files 类 这个类表示所有上传文件的集合 通过它可以得到上传文件的数目 大小等信 息 3 Request 类 这个类的功能等同与 JSP 内置的对象 request 只所以提供这个类 是因为对于 文件上传表单 通过 request 对象无法获得表单项的值 必须通过 SmartUpload 组 件提供的 Request 对象来获取 4 SmartUpload 类 个类完成上传下载的工作 上传下载的初始化 上传文件使用的方法 下载文 件使用的方法都在这个类中 2 4 32 4 3JavaScript 介绍介绍 JavaScript 是由 Netscape 公司开发的一种脚本语言 scripting language 或者称为描述语言 在 HTML 基础上 使用 JavaScript 可以开发交互式 Web 网页 JavaScript 的出现使得网页和用户之间实现了一种实时性的 动态的 交互性的关 系 使网页包含更多活跃的元素和更加精彩的内容 运行用 JavaScript 编写的程 序需要能支持 JavaScript 语言的浏览器 Netscape 公司 Navigator 3 0 以上版本 的浏览器都能支持 JavaScript 程序 微软公司 Internet Explorer 3 0 以上版本 8 的浏览器基本上支持 JavaScript 微软公司还有自己开发的 JavaScript 称为 JScript JavaScript 短小精悍 又是在客户机上执行的 大大提高了网页的浏览 速度和交互能力 同时它又是专门为制作 Web 网页而量身定做的一种简单的编程语 言 9 三 三 方案设计与论证方案设计与论证 3 13 1系统需求分析系统需求分析 3 1 13 1 1研究的可行性研究的可行性 对于作业管理系统来说 它的方便快捷 功能强大绝对不是传统作业方式可以 比拟的 因此肯定是有市场的 由于它的使用需要有计算机支持 所以使用的群体 必须要有能够使用它的硬件才可以应用 而这个系统最主要的群体就是各大高校 高校的计算机普及率基本可以达到百分九十以上 所以 硬件要求是可以达到的 这套系统应用于高校 不论是那种类型的高校都有非常明显的效果 可以说是 小投资大回报 而且这个系统可以提供给不同的学校 开发的时候只需更改数据库 就可以满足不同学校不同专业的要求 它有很大的发展空间和应用前景 所以 本 系统在经济上是可行的 对于使用这套系统的学校来说 通过对本系统的使用 可以大大的缩短教师的 工作量 从而可以节省下大量时间 人力 精力 节省下来的时间可以做更多的事 情 并且可以减少错误率 从而减少教师的返工次数 提高工作效率 3 1 23 1 2系统主要功能需求系统主要功能需求 1 学生可以通过账号和密码来登录系统 查看信息 2 学生可以下载老师发布的作业 完成作业 并且提交上传作业 3 教师可以通过账号和密码来登陆系统 查看信息 4 教师可以发布作业 并且批改学生提交上来的作业 打分 发布评语 5 系统管理员可以实现学生 教师和课程等基本信息的录入功能 6 系统管理员可以添加 修改和删除学生 教师和课程等的基本信息 10 3 1 33 1 3功能模块设计功能模块设计 这五个模块分别有不同的功能 在教师信息管理中 可以对教师信息进行添加 删除 修改 查询等操作 学生信息管理中 可以对学生信息进行添加 删除 修 改 查询的操作 课程信息管理中 可以对课程信息进行添加 删除 修改 查询 的操作 在作业信息管理中 可以发布作业 修改作业 提交作业 批改作业 查 看作业等等 统计模块可以对相关的信息进行统计 系统功能模块如图 3 1 所示 作作业业信信息息管管理理系系统统 学学生生信信息息管管理理统统计计信信息息作作业业信信息息管管理理课课程程信信息息管管理理教教师师信信息息管管理理 添添 加加 学学 生生 信信 息息 修修 改改 学学 生生 信信 息息 查查 询询 学学 生生 信信 息息 删删 除除 学学 生生 信信 息息 添添 加加 教教 师师 信信 息息 修修 改改 教教 师师 信信 息息 查查 询询 教教 师师 信信 息息 删删 除除 教教 师师 信信 息息 添添 加加 课课 程程 信信 息息 修修 改改 课课 程程 信信 息息 查查 询询 课课 程程 信信 息息 删删 除除 课课 程程 信信 息息 教教 师师 发发 布布 作作 业业 教教 师师 批批 改改 作作 业业 教教 师师 添添 写写 评评 语语 学学 生生 下下 载载 作作 业业 学学 生生 上上 传传 作作 业业 图 3 1 系统功能模块图 11 3 1 43 1 4采取的基本方法 技术路线采取的基本方法 技术路线 基本方法 解决这些问题的理论方法就是所学的数据库系统 JAVA 程序设计 软件工程等 课程的理论指导 利用教师管理查询流程编写相应程序 重要的是利用数据库基础 知识 实现教师对作业的添加 修改 删除 查询等操作 并通过各种数据表的相 互关系表达教师管理作业的相关信息 技术路线 1 使用 MyEclipse 开发前台 JSP 网页 MySQL 处理后台数据 2 采用动态网页开发来完成页面 3 使用 SQL 命令来管理和维护数据库 用查询的方式来完成客户类型的调用和 分类处理 3 1 53 1 5系统工作流程系统工作流程 系统工作过程 从登录系统 进行查询 管理到退出系统等系统整个工作流程 工作流程如图 3 2 所示 12 作作业业信信息息管管理理系系统统 作作业业发发布布阶阶段段上上传传作作业业阶阶段段批批改改作作业业阶阶段段查查看看信信息息阶阶段段 管管理理员员学学生生教教师师 发发布布作作业业下下载载作作业业 学学生生信信息息 批批改改作作业业 发发表表评评语语 查查看看学学生生信信 息息 写写作作业业 上上传传作作业业 查查看看成成绩绩评评 语语 结结束束 教教师师信信息息 课课程程信信息息 图 3 2 系统工作流程图 13 3 23 2教师管理子系统分析教师管理子系统分析 3 2 13 2 1教师管理子系统详细分析教师管理子系统详细分析 登陆的时候 首先要选择要登陆的用户类型 然后输入账号和密码 账号和密 码都不允许为空 如果输入信息正确无误将会进入系统 否则将会提示相关错误信 息 管理员对教师 学生 课程基本信息的管理 添加的时候要注意添加的信息是 否有重复的情况存在 如果重复了的话 需要做控制来禁止此类操作 修改操作中 要考虑到如果将信息改为已经存在了的信息的话 一定要有提示 并中止操作 删 除信息时候 要提示是否确定要删除 查找操作的时候 根据输入的关键字进行模 糊查找 然后显示相关的信息 教师发布作业的时候 需要对指定的班级进行发布 不是本班级的学生看不到 作业 并且要指定作业提交的截止日期 以方便查看有效提交上来的作业 发布的 作业号唯一 并且不能够重复发布相同作业号的作业 同时教师可以对自己发布的 作业进行删除和修改的操作 并且查看其他老师发布作业的详细信息 批改作业的 时候 教师只能够批改自己发布的作业 并且可以下载学生提交上来的附件 对提 交上来的作业进行发布评语和打分的操作 批改完成后的作业会与未批改的作业区 分开 显示在不同的区域里 3 33 3 用例分析用例分析 学生作业管理系统有管理员 教师和学生 3 类用户 管理员可以对教师 学生 课程的基本信息进行增 删 改 查的操作 教师则可以发布作业 批改作业 查 看作业信息等 至于学生 可以下载作业 提交作业 浏览评语等 如图 3 3 所示 14 系系统统 管管理理员员 教教师师信信息息 课课程程信信息息 学学生生信信息息 学学生生 教教师师 查查看看作作业业信信息息 批批改改作作业业 发发布布作作业业 提提交交作作业业 下下载载作作业业 浏浏览览评评语语 图 3 3 系统用例图 15 教师子系统的详细用例分析如图 3 4 所示 图 3 4 教师用例图 3 43 4 编程模型及数据结构编程模型及数据结构 本系统使用的是 B S 模式 B S 网络结构模式是基于 Intranet 的需求而出现并 发展的 Intranet 是应用 TCPIP 协议建立的企事业单位内部专用网络 它采用诸如 TCPIP HTTP SMTP 和 HTML 等 Internet 技术和标准 能为企事业单位内部交换信 息提供服务 同时 它具有连接 Internet 的功能和防止外界入侵的安全措施 另一 方面 由于数据库具有强大的数据存储和管理能力 并且能够动态地进行数据输入 和输出 如果把数据库应用于 Intranet 上 不仅可以实现大量信息的网上发布 而 且能够为广大用户提供动态的信息查询和数据处理服务 进而加强企事业单位内部 部门之间 上级部门与下级部门之间 企事业单位员工之间 企事业单位与客户之 间以及企事业单位与企事业单位之间的信息交流 降低企事业单位的日常工作成本 提高企事业单位的经济效益 B S 模式 即浏览器 服务器模式 是一种从传统的二层 CS 模式发展起来的新的 网络结构模式 其本质是三层结构 CS 模式 B S 模式中 客户端运行浏览器软件 浏览器以超文本形式向 Web 服务器提出访 问数据库的要求 Web 服务器接受客户端请求后 将这个请求转化为 SQL 语法 并 交给数据库服务器 数据库服务器得到请求后 验证其合法性 并进行数据处理 然后将处理后的结果返回给 Web 服务器 Web 服务器再一次将得到的所有结果进行 16 转化 变成 HTML 文档形式 转发给客户端浏览器以友好的 Web 页面形式显示出来 一般的 B S 结构模型如图 3 5 所示 图 3 5 B S 结构图 3 53 5 数据模型分析数据模型分析 E R 图为实体 联系图 提供了表示实体型 属性和联系的方法 用来描述现实 世界的概念模型 构成 E R 图的基本要素是实体型 属性和联系 其表示方法为 实体型 用矩形表示 矩形框内写明实体名 属性 用椭圆形表示 并用无向边将其与相应的实体连接起来 联系 用菱形表示 菱形框内写明联系名 并用无向边分别与有关实体连接起来 同时在无向边旁标上联系的类型 1 1 1 n 或 m n 3 5 13 5 1系统系统 E RE R 图图 E R 图中有四个实体 分别为教师 学生 课程 作业 教师与作业是一对多的 关系 一个教师可以发布多个作业 一个作业只能被一个教师发布 教师与课程为 一对一的关系 一个教师只能任教一门课程 作业与学生是多对多的关系 一个作 17 业可以被多个学生做 一个学生可以做多个作业 课程与作业之间是一对多的关系 一门课程可以留取多道作业 一个作业只能被一门作业留取 如图 3 5 所示 教教师师 教教师师号号 科科目目 课课程程 其其他他信信息息 学学生生 学学号号 其其他他信信息息 班班级级 发发布布 提提交交 提提交交时时间间 作作业业题题目目 讲讲授授 1作作业业 作作业业号号 其其他他信信息息 评评语语 m 1 1n m 课课程程号号 课课程程名名 授授课课时时间间 教教师师名名 其其他他信信息息 姓姓名名 发发布布时时间间 其其他他信信息息 文文件件名名称称 留留取取 1 m 图 3 5 系统 E R 图 3 63 6 关键技术及难点关键技术及难点 教师可以上传作业要求 题目等 学生可以下载作业题目 要求 相反学生做 完作业后要上传给教师 教师可以下载同学的作业来批改 因此作业管理系统的难 点和重点就是如何控制文件的上传和下载 上传下载需要用到 SmartUpload 这个组件 SmartUpload 是一个可免费使用的 全功能的文件上传下载组件 适于嵌入执行上传下载操作的 JSP 文件中 该组件有 以下几个特点 1 使用简单 在 JSP 文件中仅仅书写三五行 JAVA 代码就可以搞定文件的上传 或下载 方便 2 能全程控制上传 利用 SmartUpload 组件提供的对象及其操作方法 可以获 得全部上传文件的信息 包括文件名 大小 类型 扩展名 文件数据等 方便 存取 3 能对上传的文件在大小 类型等方面做出限制 如此可以滤掉不符合要求的 文件 18 4 下载灵活 仅写两行代码 就能把 Web 服务器变成文件服务器 不管文件在 Web 服务器的目录下或在其它任何目录下 都可以利用 JSPSmartUpload 进行下载 5 能将文件上传到数据库中 也能将数据库中的数据下载下来 另外 JSP 对上传文件的支持不像 PHP 中支持的那么好 直接做成了函数 也不 像 ASP 中要通过组件才能实现 JSP 中可以通过 JavaBean 来实现 但是我们没有必 要自己去写一个上载的 Bean 在网上已经有了很多成型的技术 Smartupload 就是 其中的一个 但是 Smartupload 是将文件先读到服务器的内存中 所以上传太大的 文件 超过 100M 有可能会出问题 19 四 设计与实现设计与实现 4 14 1数据库的表结构实现数据库的表结构实现 4 1 14 1 1管理员信息管理管理员信息管理 表 4 1 管理员信息表 ADMIN 序号名称编码类型宽度备注 1 登陆名称 AD IDvarchar50 无 2 登陆密码 AD PWDvarchar50 无 3 姓名 AD NAMEvarchar50 无 4 1 24 1 2教师信息管理教师信息管理 表 4 2 教师信息表 TEACHER 序号名称编码类型宽度备注 1 教师号 TE IDvarchar50 无 2 登陆密码 TE PWDvarchar50 无 3 教师姓名 TE NAMEvarchar50 无 4 所教课程 TE COURSEvarchar50 无 5 性别 TE SEXvarchar50 无 6 年龄 TE AGEvarchar50 无 7 删除标记 TE DSIGNvarchar50 默认为 0 1 为删 除 8 添加人 TE ANAMEvarchar50 无 9 添加时间 TE ATIMEdatetime50 无 10 修改人 TE XNAMEvarchar50 无 20 11 修改时间 TE XTIMEdatetime50 无 4 1 34 1 3学生信息管理学生信息管理 表 4 3 学生信息表 STUDENT 序号名称编码类型宽度备注 1 学号 ST IDvarchar50 无 2 登陆密码 ST PWDvarchar50 无 3 学生姓名 ST NAMEvarchar50 无 4 性别 ST SEXvarchar50 无 5 年龄 ST AGEvarchar50 无 6 班级 ST CLASSvarchar50 无 7 删除标记 ST DSIGNvarchar50 默认为 0 1 为删 除 8 添加人 ST ANAMEvarchar50 无 9 添加时间 ST ATIMEdatetime50 无 10 修改人 ST XNAMEvarchar50 无 11 修改时间 ST XTIMEdatetime50 无 4 1 44 1 4课程信息管理课程信息管理 表 4 4 课程信息表 COURSE 序号名称编码类型宽度备注 1 课程号 K IDvarchar50 无 21 2 课程名 K NAMEvarchar50 无 3 教师号 K TE IDvarchar50 无 4 教师名 K TE NAMEvarchar50 无 5 上课时间 K TIMEvarchar50 无 6 删除标记 K DSIGNvarchar50 默认为 0 1 为删 除 7 修改人 K XNAMEvarchar50 无 8 修改时间 K XTIMEvarchar50 无 4 1 54 1 5发布作业信息管理发布作业信息管理 表 4 5 发布作业信息表 序号名称编码类型宽度备注 1作业号 F IDvarchar 50无 2作业题目 F NAMEvarchar 50无 3作业要求 F CONvarchar 500无 4提交内容 F T CONvarchar 500无 5文件名 F FILE NAMEvarchar 50无 6学号 F ST IDvarchar 50无 7学生姓名 F ST NAMEvarchar 50无 8课程名 F COURSE NAMEvarchar 50无 9学生班级 F ST CLASSvarchar 50无 10教师号 F TE IDvarchar 50无 11教师名 F TE NAMEvarchar 50无 22 12成绩 F CJvarchar 50无 13评语 F MARKvarchar 500无 14删除标记 F DSIGNvarchar 50默认为 0 1 为删除 15批改标记 F P SIGNvarchar 50默认为 0 1 为已批 改 16发布时间 F BTIMEdatatime 50无 17截止时间 F FTIMEdatatime 50无 4 1 64 1 6提交作业信息提交作业信息 表 4 6 学生作业表 TZY 序号名称编码类型宽度备注 1作业号 T IDvarchar 50无 2学号 T ST IDvarchar 50无 3学生姓名 T ST NAMEvarchar 50无 4班级 T ST CLASSvarchar 50无 5作业名 T NAMEvarchar 50无 6作业要求 T F CONvarchar 500无 7回答内容 T CONvarchar 500无 8文件名 T FILE NAMEvarchar 50无 9课程名 T K NAMEvarchar 50无 10删除标记 T DSIGNvarchar 50默认为 0 1 为删 除 11提交时间 T TIMEdatatime 50无 23 4 24 2系统模块的实现系统模块的实现 4 2 14 2 1用户登录界面的实现用户登录界面的实现 用户登陆的界面 如图 4 1 所示 图 4 1 登录界面 选择登陆类型后 输入帐号和密码 点击登陆 进入后台进行判断操作 int v Integer parseInt request getParameter select 根据人员类型选择表 String name request getParameter name 获得帐号 String pwd request getParameter pwd 获得密码 if v 1 sql select from ADMIN WHERE AD ID name 管理员表 24 rs stmt executeQuery sql ArrayList alist new ArrayList Admin ubean null while rs next if alist size 0 request setAttribute alist alist String a id ubean getA id String ad pwd ubean getAD PWD if ad pwd equals pwd 成功 else 密码错误 else 用户不存在 4 2 24 2 2教师管理子模块教师管理子模块 教师所拥有的功能是发布作业 上传附件 对学生提交上来的作业进行批改 给学生写评语 并且给出分数 教师登陆后 会进入相应界面 有 3 大功能选项 25 其中 批改作业 是对学生提交上来的作业进行操作 我发布的 中 教师可以 看到自己所发布的作业 并对其进行操作 还可以发布新的作业 发布作业 可 以查看其他老师发布的一些作业的基本信息 教师操作的界面如图 4 2 所示 图 4 2 教师管理界面 点击 发布新作业 会弹出一个新窗口 教师就可以发布一个新的作业了 如图 4 3 所示 26 图 4 3 发布作业界面 教师发布作业的时候 作业号需要唯一 否则跳错误页 同时可以指定班级和 截止日期 并且有些必要的条件控制 点击 批改作业 就会跳转到批改作业的页 面 如图 4 4 所示 27 图 4 4 批改作业界面 当教师批改完成后的作业会与未批改的作业分开 方便教师区分 点击批改作 业会跳转到批改作业界面 当教师点击下载链接时 进入后台相应处理模块 SmartUpload su newnew SmartUpload 初始化 su initialize pageContext String m request getParameter id 设定contentDisposition为null以禁止 浏览器自动打开文件 保证点击链接后是下载文件 若不设定 则下载的文件扩展名为 doc时 浏览器将自动用word打开它 扩展名为pdf时 浏览器将用acrobat打开 su setContentDisposition nullnull trytry Connection con userbean Db getConn Statement stmt nullnull stmt con createStatement 28 ResultSet rs nullnull rs stmt executeQuery strSql Work bean ubean nullnull ArrayList alist newnew ArrayList whilewhile rs next request setCharacterEncoding GBK String old xp ubean getF FILE NAME 获得文件名 String path xp request getRealPath save old xp rar System out println path xp su downuploadFile path xp old xp su downuploadFile path xp old xp su downloadFile path xp old xp out clear out pageContext pushBody 关闭输入输出流 处理完数据后 结果如图 4 5 所示 图 4 5 下载学生上传附件 29 老师进行作业批改 进行评分处理 并提交结果 如图 4 6 所示 图 4 6 教师批改作业界面 30 五 五 结果与评价结果与评价 5 15 1测试实例测试实例 测试集测试集 的研究与选择的研究与选择 5 1 15 1 1测试的目的测试的目的 软件测试的目的决定了如何去组织测试 如果测试的目的是为了尽可能多地找 出错误 那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置 如果测试目的是为了给最终用户提供具有一定可信度的质量评价 那么测试就应该 直接针对在实际应用中会经常用到的商业假设 而本系统的测试则着重测试管理员 老师 学生对本系统的满意度 易用性 稳定性进行 5 1 25 1 2黑盒测试黑盒测试 黑盒测试也称功能测试 它是通过测试来检测每个功能是否都能正常使用 在 测试时 把程序看作一个不能打开的黑盒子 在完全不考虑程序内部结构和内部特 性的情况下 在程序接口进行测试 它只检查程序功能是否按照需求规格说明书的 规定正常使用 程序是否能适当地接收输入数据而产生正确的输出信息 黑盒测试 着眼于程序外部结构 不考虑内部逻辑结构 主要针对软件界面和软件功能进行测 试 黑盒测试是以用户的角度 从输入数据与输出数据的对应关系出发进行测试的 很明显 如果外部特性本身有问题或规格说明的规定有误 用墨盒测试方法是发现 不了的 5 25 2 测试环境与测试条件测试环境与测试条件 操作系统 WindowsXP 浏览器 IE6 0 以上 页面开发工具 Dreamweaver Java 开发工具 eclipse myeclipse 31 数据库 MySQL 5 1 5 35 3 实例测试实例测试 测试内容和结果如表 5 1 所示 表 5 1 测试内容及结果 编号测试内容预期现象是否正常 A1以不同身份用户登陆正确跳转到对应页面通过 A2教师上传作业 附件 附件正常保存到 save 文件 夹中 发布的作业学生可 以看到 通过 A3 各个模块中的增删改查操作 各个模块中增删改查都正 常 通过 A4 每个界面中的分页分页都好使 查询后的界 面也都正常 通过 A5 批改学生提交作业 然后查看作业批改 状态是否改变 当教师批改过学生的作业 后 此作业的批改状态会 从 未批改 变成 已批 改 通过 A6 下载学生上传附件 学生上传作业的时候会上 传附件 在教师批改作业 的时候可以下载到学生提 交的附件 通过 A7 查看作业信息 教师可以看到其他教师发 布的作业信息 通过 A8 学生写作业学生写教师发布的作业 且只能写一次 通过 A9 修改作业版本学生在作业管理模块中 对自己已经提交作业进行 修改 后提交的版本覆盖 之前版本 通过 32 5 45 4 性能分析性能分析 1 测试人群 管理员 教师 学生 2 典型业务的大概估计 1 登陆 包含所有人员的验证过程 估计最大并发数在每秒 10 个以内 2 关键页面 首页加上进来马上离开的人 每秒最多 10page 模拟并发时 并 发用户之间时延 100ms 500ms 的高斯时间 操作动作时延以实际录制时延为准 3 根据以上分析 系统对并发量要求很低 所以并发上几乎没有问题 关键参数是 响应时间和出错率 我们需要类比在用户典型行为下的响应时间和出错率 比较同 类网站的响应时间 4 通过以上的测试分析 系统各部分模块的功能以及业务流程都完全正确 无逻辑性 错误 符合要求 5 测试重点就是 1 关键模块的单独压力测试 先保证不存在代码错误问题 2 典型用户行为的测试 重点关注响应时间和出错率 实现性能优化 3 典型用户行为下的稳定性测试 4 比较同类网站的响应时间 沈阳化工学院学士学位论文参考文献 33 34 附录 主要代码附录 主要代码 jspjsp 页面主要代码页面主要代码 文件上传处理页面 文件上传处理页面 String s request getParameter id String m request getParameter m String te name String session getAttribute TE NAME String time String session getAttribute time2 String te num String session getAttribute TE ID System out println asdfasdfadf s String f id request getParameter f id 新建一个SmartUpload对象 SmartUpload su new SmartUpload 上传初始化 su initialize pageContext 设定上传限制 1 限制每个上传文件的最大长度 su setMaxFileSize 500 1024 1024 2 限制总上传数据的长度 su setTotalMaxFileSize 20000 3 设定允许上传的文件 通过扩展名限制 仅允许doc txt文件 su setAllowedFilesList rar 4 设定禁止上传的文件 通过扩展名限制 禁止上传带有 exe bat jsp htm html扩展名的文件和没有扩展名的文件 su setDeniedFilesList exe bat jsp htm html 上传文件 su upload 将上传文件全部保存到指定目录 int count su save save out println count 个文件上传成功 利用Request对象获取参数之值 String f id su getRequest getParameter f id 35 String f name su getRequest getParameter f name String f con su getRequest getParameter f

温馨提示

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

评论

0/150

提交评论