一个试卷生成系统的设计与实现优秀毕业论文 参考文献.pdf_第1页
一个试卷生成系统的设计与实现优秀毕业论文 参考文献.pdf_第2页
一个试卷生成系统的设计与实现优秀毕业论文 参考文献.pdf_第3页
一个试卷生成系统的设计与实现优秀毕业论文 参考文献.pdf_第4页
一个试卷生成系统的设计与实现优秀毕业论文 参考文献.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

一个试卷生成系统的设计与实现优秀毕业论文 参考文献.pdf.pdf 免费下载

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

文档简介

华中科技大学 硕士学位论文 一个试卷生成系统的设计与实现 姓名:彭森材 申请学位级别:硕士 专业:软件工程 指导教师:薛志东 2011-05-11 i 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 摘摘 要要 随着互联网的高速发展,基于 web 的试题系统在不断得到应用和发展,它能够 通过网络和浏览器,方便地完成特定功能。另外,随着 ajax 技术的不断成熟、优秀 的 javascript 类库不断推出,也使基于 web 的试题系统的用户体验不断得到改进。 淘宝 ued 部门针对目前在社会招聘笔试环节凸显出的一些不足,需要搭建一个试卷 生成系统来改善这些不足,但已有的系统试题系统无法满足需要,因此需要根据实 际需求设计并实现 ued 试卷生成系统。 在 ued 试卷生成系统的系统分析工作中,完成了系统的可行性分析,需求分析 以及用户体验分析。其中可行性分析包括经济、技术和运行可行性;需求分析包括 对系统的各个功能模块的需求分析;用户体验分析系主要是对试卷生成系统在人机 交互方面需要达到的美观性、反应速度以及交互方面进行分析。在 ued 试卷生成系 统的系统设计工作中,总体设计将系统分为表现层,业务处理层,web 服务层以及 数据层四层,另外还分别讨论了系统管理、录入试题、自动生成试卷、手动生成试 卷、试题库管理 5 个功能模块的具体设计。另外还分析了系统的数据设计,仅需要 创建 2 张表试题表和职位表。 ued 试卷生成系统实现的关键技术,包括整合使用淘宝 ued 部门开发的 kissyui 类库的 ajax、dom、event、overlay 等组件,开发调试与 ajax 组件配合使 用的 web 服务后台接口,对 mysql 数据库查询接口的封装,阐述系统的自动生成试 卷算法,对系统试题需要显示 html 及 javascript 源代码和图片的实现。目前,淘宝 ued 部门的试卷生成系统的设计与实现工作已结束,通过测试并已经上线使用。 关键词:关键词:试题系统 用户体验 自动组卷 web 服务 ii 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 abstract with the rapid development of internet, web-based exam system is more and more applied, it can use network and browser to facilitate the completion of objective function. in addition, with the ajax technology continues to evolve, excellent javascript library has introduced one after one. the user experience of web-based applications also include the exam system has continuously improved. there is some of the deficiencies about social recruitment for taobao ued department, it request ued to build a test generation system to improve these deficiencies, but because of the existing system cant meet the ued departments needs, according to the actual needs to design and implement taobao ued test generation system. during the system analysis work for ued test generation system, completed the feasibility analysis, requirements analysis and user experience analysis. the feasibility analysis, including economic, technical and operational feasibility; the needs analysis, including various functional modules on the system requirements analysis; the user experience analysis was mainly on human-computer interaction in the test production system need to aesthetics, speed of response and interactions were analyzed. during the system design work for ued test generation system, the overall design of the system is divided into the presentation layer, business process layer, web service layer and data layer. in addition, 5 function modules includes systems management, input test, automatically generate test, manually generate test and test library management are discussed in the specific design. the data system design is also analyzed, only need to create two tables - test table and position table. the key technologies to achieve ued test generation system, including integration with ajax, dom, event, overlay components of kissy ui library, develop and debugging the ajax component background interfaces using web services, package the mysql database query interface, describes the algorithm of automatically generate test for the system, achieve the test that display html and javascript source code and images. currently, the work of design and implementation for taobao ued test generation system has ended, and has passed the test and deploy on-line. key words:exam system user experience automatic generation web service 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集 体, 均已在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密, 在 年解密后适用本授权书。 不保密。 (请在以上方框内打“”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属 于 1 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 1 绪论绪论 1.1 系统研发背景系统研发背景 随着互联网技术的高速发展,各种各样的基于 web 的程序不断被开发出来,用 以满足人们的生活、工作和娱乐的需求,比如购物网站、在线办公系统、在线邮件 系统、sns 网站等。基于 web 的各类在线考试系统也得到了大规模地应用,通过网 络能够极大地简化考试流程,给相关的工作人员带来极大的便利,并且显著的降低 了各种成本。 ued 的本意是用户体验设计,是英文 user experience design 的缩写。通常的理 解,ued 做的一切工作都是为了呈现在用户眼前的页面 1。 目前,淘宝 ued 部门在进行社会招聘时,如果应聘人员的目标 p 级(相当于职 位级别)处于 p4 到 p6 这个区间,都需要进行笔试。随着淘宝的高度发展,ued 部 门也在不断壮大,需要更多的优秀人士加入到 ued 一起发展,而针对每一个应聘人 员,每次都单独出一份笔试试卷,显然非常耗时耗力。 虽然,之前在 ued 部门的各个小组范围内能够通过 google 在线文档系统分享 笔试试题的,但是明显不够便利,google 在线文档仅仅是对员工设计的笔试试题提 供在线存储并在组内进行分享的功能,并不能够快速自动地产生一套符合特定要求 的笔试试卷,并且可维护性差,缺乏标准的格式。在社会招聘次数较少的阶段这种 方式还不会暴露出问题,而以目前的情况来看,招聘工作时笔试环节常会耗去主管 相当多的工作时间。 因此,为了满足越来越频繁的社会招聘笔试环节的需要,淘宝 ued 部门需要搭 建一个基于 web 的试卷生成系统2,3,这个系统要能够快速地、按照 ued 部门个性 化需求生成与不同职位对应的笔试试卷,并且能够在平时存档每位 ued 员工为招聘 设计的笔试试题4。 以上就是淘宝 ued 在线试卷生成系统开发的背景,通过开发试卷生成系统,可 以显著改善 ued 部门在社会招聘显现出来的各种弊端。 2 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 1.2 系统研发意义系统研发意义 虽然目前有许多优秀的在线考试系统,但这些在线考试系统并不完全符合 ued 部门社会招聘时的实际需求。 整体需求方面,ued 试卷生成系统需要岗位管理、录入试题、自动生成试卷、 手动生成试卷以及试题库管理 5 个功能模块,目前没有完全适合并且没有多余功能 的考试系统,而具体在试题显示方面,ued 部门需要系统能够支持试题显示 html、 javascript 源代码和图片,而现有的试卷系统有的包含了额外的功能,有的则没有实 现此项功能。而在试卷生成系统的具体视觉设计和用户体验设计方面,现有的系统 也不能完全符合 ued 试卷生成系统的要求。 另外从公司的角度讲,使用一个现成的试卷生成系统存在一定的风险,因为无 法对这个软件有完整的了解。因此,有必要根据 ued 部门的实际需求设计并开发一 套实用的 ued 试卷生成系统。 1.3 国内外研发现状国内外研发现状 目前,在国外已经建立了许多优秀的标准的在线考试系统,正在运行比较出名 的在线考试系统有美国的托福考试系统,英国牛津大学开发的雅思英语在线考试系 统,托业英语考试系统,以及各大 it 公司开发的认证考试系统,如微软认证考试, 思科认证考试。 而在国内,随着互联网的不断普及,政府教育部门以及公司为了充分利用互联 网的分布性、开放性以及便利性,也大力普及在线考试系统,搭建了许多成熟的在 线考试系统5, 如教育部使用的计算机等级考试,人事部组织的职称英语考试系统和 交通法规考试6。 而在目前运行的比较知名的在线考试系统7, 在技术实现上运用了比较多类型的 技术, 例如微软的认证考试系统使用.net 架构和 asp.net 搭建, 而思科认证考试系 统则使用了j2ee的技术。 而一般的公司开发的在线考试系统的技术方案则多种多样, 包括 asp.net 技术、j2ee 技术或者 php 技术等主流解决方案。 3 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 1.4 主要内容主要内容 主要目标是设计并实现一个适应与淘宝 ued 部门的试卷生成系统,并且通过这 个系统来为 ued 的社会招聘工作服务。主要内容是介绍了研发淘宝 ued 试卷生成 系统的背景和意义并分析国内外在线试题系统的研发现状,对淘宝 ued 部门社会招 聘的笔试流程和具体的需求进行分析,设计出一套适合淘宝 ued 部门社会招聘需求 的试卷生成系统,最后讨论了实现这个试卷生成系统使用到的关键技术,包括利用 kissy javascript类库提供的ajax组件与php实现的后台接口配合来实现系统的ajax 功能,使用 dom、event、overlay 等组件来实现大部分逻辑在浏览器端的实现,给 出试卷生成系统的自动组卷算法,对于试题显示 html 源代码和图片这样的个性化需 求的实现。 4 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 2 系统运行环境和相关技术系统运行环境和相关技术 由于 ued 部门的对试卷生成系统个性化需求,国内外的现有的试题系统并不太 符合其具体要求,需要根据淘宝公司的实际情况以及 ued 部门的实际需求来选择合 适的系统架构、运行环境、数据库、开发工具等相关技术。 2.1 系统架构系统架构 随着互联网技术的高速发展,基于 b/s(浏览器/服务器)架构的 web 应用程序 越来越多,人们通过浏览器可以越来越方便地工作、学习和生活。业界也涌现出非 常多优秀的 web 程序8。在 web 程序中,用户通过 web 浏览器来实现所有的功能, 极少部分业务逻辑在客户端即浏览器实现,主要业务逻辑在服务器端(server)实现 9,形成了所谓三层结构。b/s 架构能够大大地简化客户端的负荷,简化系统维护与 升级的成本和工作量,最终降低系统的总体成本。以目前的技术看,在局域网中搭 建 b/s 架构的 web 应用10, 用户通过 internet/intranet 来使用程序, 相对易于把握、 成本也比较低。web 程序开发是一次到位的开发,能实现不同类型的用户,从不同 的地点,以不同的接入方式(比如 lan,wan, intranet/internet 等)访问和操作 web 的数据库;它能有效地进行访问权限管理,程序的服务器和数据库也很安全11。 ued 试卷生成系统就是基于 b/s 架构12,用户只需要通过浏览器13,就可以完 成试题录入、笔试试卷生成、试卷打印等所有功能,相当的方便。 2.2 系统运行环境系统运行环境 ued 试卷生成系统14,15主要使用场景有 2 个: 第一个场景是 ued 部门的招聘人 员在社会招聘笔试阶段随机生成一份符合预期的笔试试卷,减少每次单独提供笔试 试卷带来的时间和人力成本。第二个场景是平时相关人员根据要求录入符合要求的 各种类型以及不同难度等级的笔试试题。鉴于 ued 试卷生成系统16,17是一个在内部 使用的 web 应用程序,因此试卷生成系统仅需部署在公司内网,这样可以确保系统 安全以及可访问性。试卷生成系统具体部署在公司内部主管自行架设的linux 服务 5 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 器。内部人员可以直接通过主管服务器的域名(http:/t-qingyu)进行访问。 ued 试卷生成系统选择 lamp 作为具体的运行环境18。 lamp 是一个缩写19,指 linux 操作系统、apache 网络服务器、mysql 数据 库和 php (python 或 perl)脚本语言的组合(由四种技术的开头字母组成) 。这些 产品组成了一个强大的 web 应用程序平台。 lamp 平台由几个组件组成,呈分层结构。每一层都提供了整个软件组合的一 个关键部分: linux:linux 处在最低层,提供操作系统。其他每个组件实际上也在 linux 上 运行。 apache:次低层是 apache,它是一个 web 服务器。apache 提供可让用户获 得 web 页面的机制。apache 是一款稳定的、应用广泛的服务器,internet 上超过 65 的网站都使用它作为 web 服务器。php 组件实际上也是运行在 apache 中, 动态页面可以通过 apache 和 php 解释和运行。 mysql:mysql 提供 lamp 平台的数据存储功能。有了 mysql,便可以获 得一个非常强大的、适合运行中小型 web 应用的数据库。在 web 应用程序中,所 有数据、产品、帐户和其他类型的信息都存放在这个数据库中,通过 sql 语言可以 很容易地查询和操作这些信息。 php:php 是一门简单而流行的服务器编程语言,它就像是粘合剂,可以将 lamp 平台所有其他的组件粘合在一起。 使用 php 可以编写能访问 mysql 数据库中的数据和 linux 提供的一些特 性的动态内容20。 ued 试卷生成系统具体的运行环境如下: (1) 操作系统:ubuntu 10.10 (2) web 服务器:apache2.2 (3) php 模块:php5 (4) 数据库服务器:5.0.45-community-nt-log mysql community edition (gpl)。 (5) 浏览器:任何在公司内网中的浏览器。 6 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 2.3 开发工具和语言介绍开发工具和语言介绍 2.3.1 php 语言介绍语言介绍 php,是 hypertext preprocessor 的缩写,即超级文本预处理语言,主要用途是在 于生成动态网页,但也包含了命令行运行接口(command line interface) ,或者产生 图形用户界面(gui)程序21。php 以 php license 作为许可协议,不过因为这个协 议限制了 php 名称的使用,所以和开放源代码许可协议 gpl 不兼容22。 php 的应用范围相当广泛,尤其是在网页程序的开发上。一般来说 php 大多运 行在网页服务器上(例如 apache web 服务器) ,通过运行 php 代码来产生用户浏览 的网页23。php 可以在多数的服务器和操作系统上运行,而且使用 php 完全是免费 的。根据 2007 年 4 月的统计数据,php 已经被安装在超过 2000 万个网站和 100 万 台服务器上。 相比其它的服务器端 web 开发语言,php 有很多优势24: (1) 开放的源代码:所有的 php 源代码事实上都可以得到。 (2) php 是免费的:和其它技术相比,php 本身免费。 (3) php 的快捷性:程序开发快,运行快,技术本身学习快。嵌入 html:因 为 php 可以嵌入 html 语言,它 相对于其他语言,编辑简单,实用性强,更适合 初学者。 (4) 跨平台性强:由于 php 是运行在服务器端的脚本,可以运行在 unix、 linux、windows 下。 (5) 效率高:php 消耗相当少的系统资源。 (6) 图像处理:用 php 动态创建图像 (7) 面向对像:在 php4,php5 中,面向对象方面都有了很大的改进,现在 php 完全可以用来开发大型商业程序。 (8) 专业专注;php 支持脚本语言为主,同为类 c 语言。 2.3.2 javascript 语言介绍语言介绍 javascript25,作为 ecmascript 语言,是一门基于原型、面向对象的脚本语言, 7 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 这门语言具有动态性,弱类型以及拥有第一类函数的特点26。javascript 也被认为像 scheme 和 ocaml 一样是一门函数式语言,因为 javascript 拥有闭包特性以及支持高 级函数27。 javascript 是 ecmascript 语言标准的实现, 并且是首先以客户端 javascript 的形 式,作为 web 浏览器的一部分实现,这样做是为了能够提供强化的用户接口以及动 态网站28。 实际上,一个完整的 javascript 实现由以下三个部分组成29,30,如图 2-1 所示。 (1) 核心(ecmascript) ; (2) 文档对象模型(dom) ; (3) 浏览器对象模型(bom) ; 图 2.1 javascript 的三个组成部分 1)ecmascript ecmascript 定义:ecmascript 是面向对象的编程语言,被用来演示计算技术 和操控宿主环境下的计算机对象。根据 ecma-262 标准的描述:“ecmascript 能够 为各种主机环境,以及这个文档所描述的核心脚本编程语言之外任何特定的主机环 境,提供基本的脚本编程能力 31。” ecmascript 是基于对象的:语言的基本部分和宿主设施由对象提供,一个 ecmascript 程序是一组可通信的对象。 总的来说,ecmascript 定义了一系列的内置对象、一个内置运算符集合32。 脚本语言(script language)是一类被用于操控、 自定义和自动控制现有系统设施的 编程语言。在这些系统中,实用的功能可通过一个用户界面来使用,脚本语言就是 javascript ecmascript dom bom 8 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 一种通过程序控制那些功能的机制。 于是,我们就说此系统为对象和设施提供了一 个宿主环境,它们使得脚本语言的能力变得完备。 ecmascript 对以上内容仅仅是一个描述, 定义了脚本的所有属性, 方法和对象。 其他的语言可以 ecmascript 作为基准进行实现,javascript 就是 ecmascript 标准 的一个实现,如图 2.2 所示。 图 2.2 以 ecmascript 为规范实现的语言 每个浏览器都有它自己本身对 ecmascript 标准规范的实现, 然后这个实现又被 扩展,包含了 dom 和 bom。 目前,所有的现代浏览器都遵守了 ecma-262 第三版,包括 ie6 及以上版本的 浏览器,以及 firefox、chrome、opera、safari。 2)dom 文档对象模型(document object model,简称 dom) ,是 w3c 组织推荐的处理 可扩展置标语言的标准编程接口 (api, application programming interface) 33。 dom 把整个页面映射为一个多层节点结构。 html 或 xml 页面中的每个组成部分都是某 种类型的节点,这些节点又包含着不同类型的数据。 例如有如下的 html 页面: ued 试卷生成系统 ecmascri javascript actionscript scriptease 9 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 欢迎使用 ued 试卷生成系统! 这段 html 代码用 dom 绘制成节点层次如图 2.3 所示。 图 2.3 dom 节点层次图 通过 dom 创建的这个表示文档的树形图, 开发人员获得了控制页面内容和结构 的主动权。借助 dom 提供的 api,开发人员可以轻松自如地删除、添加、替换或修 改任何节点。 具体地讲, dom 被分为不同的部分 (核心、 xml 及 html) 和级别 (dom level 1/2/3) 。 其中, core dom 定义了一套标准的针对任何结构化文档的对象; xml dom 定 义了一套标准的针对 xml 文档的对象;html dom 定义了一套标准的针对 html 文档的对象。 dom 的三个级别具体如下34,35: dom 级别 1:dom1 级由两个模块组成:dom 核心(dom core)和 dom html。其中,dom 核心规定的是如何映射基于 xml 的文档结构,以便简化对文 html head title ued 试卷生成系 body div 欢迎使用 ued 试卷生 10 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 档中任意部分的访问和操作。dom html 模块则在 dom 核心的基础上加以扩展, 添加了针对 html 的对象和方法。 dom 级别 2:dom2 级在原来 dom 的基础上又扩充了(dhtml36一直都支 持的)鼠标和用户界面事件、范围、遍历(迭代 dom 文档的方法)等细分模块,而 且通过对象接口增加了对 css (cascading style sheets,层叠样式表)的支持。dom1 级中的 dom 核心模块也经过扩展开始支持 xml 命名空间。 dom 级别 3:dom3 级则进一步扩展了 dom,引入了以统一方式加载和保存 文档的方法-在 dom 加载和保存(dom load and save)模块中定义;新增了验证 文档的方法-在 dom 验证(dom validation)模块中定义。dom3 级也对 dom 核 心进行了扩展,开始支持 xml 1.0 规范,涉及 xml infoset、xpath 和 xml base。 web 浏览器对 dom 的支持:目前,支持 dom 已经成为浏览器开发商的首要目 标, 主流浏览器每次发布新版本都会改进对 dom 的支持。 目前主流浏览器都已经完 全支持 dom 1 级,firefox、chrome 等非 ie 浏览器对 dom 2 级以及 dom 3 级具有 更好的兼容性。 3)bom 浏览器对象模型(bom,browser object model) ,javascript 通过 bom 可以对 浏览器进行访问和操作37。使用 bom,开发者可以移动浏览器窗口、改变状态栏中 的文本以及执行其他与页面内容不直接相关的动作。就目前来讲,bom 只是 javascript 实现的一部分,没有任何相关的标准。 各个浏览器实现的 bom 一般包括以下几个部分: (1) window 对象:在 bom 中,window 对象表示浏览器中打开的窗口。如果 html 文档包含框架(frame 或 iframe 标签) ,则浏览器会为 html 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。bom 为 window 对象 提供了一系列的属性和方法。 (2) navigator 对象:在 bom 中,navigator 对象包含有关浏览器的信息。 navigator 对象包含的属性描述了当前使用的浏览器和操作系统等信息。可以使用这 些属性对特定的浏览器以及 os 进行专门设置。 每个 navigator 对象的实例在 bom 中 11 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 是唯一的,可以通过 window 对象的 navigator 属性来引用它。 (3) history 对象:在 bom 中,history 对象包含用户(在浏览器窗口中)访 问过的 url。history 对象是 window 对象的一部分,可通过 window.history 属性 对其进行访问。bom 的 history 对象最初设计来表示窗口的浏览历史。但出于隐私 方面的原因,history 对象不再允许脚本访问已经访问过的实际 url。唯一保持使用 的功能只有 back()、forward() 和 go() 方法。 (4) location 对象:在 bom 中,location 对象包含有关当前 url 的信息。 location 对象是 window 对象的一个部分, 可通过 window.location 属性来访问, 表 示那个窗口中当前显示的文档的 web 地址。location 的 href 属性存放的是文档的 完整 url, 其他属性则分别描述了 url 的各个部分。 这些属性与 anchor 对象 (或 area 对象)的 url 属性非常相似。当一个 location 对象被转换成字符串,href 属 性的值被返回。 这意味着你可以使用表达式 location 来替代 location.href。 除了 url 属性外,location 对象的 reload() 方法可以重新装载当前文档,replace() 可以装载 一个新文档而无须为它创建一个新的历史记录,也就是说,在浏览器的历史列表中, 新文档将替换当前文档。 (5) screen 对象:在 bom 中,screen 对象包含有关客户端显示屏幕的信息。 每个 window 对象的 screen 属性都引用一个 screen 对象。 screen 对象中存放着有 关显示浏览器屏幕的信息。javascript 程序将利用这些信息来优化它们的输出,以达 到用户的显示要求。 2.3.3 kissy 类库介绍类库介绍 (1)kissy 的起源 在淘宝发展的初期,为了更好地与后台开发配合,选择了 yahoo 提供的 yui javascript 库,因为淘宝的后端架构是基于 java 的,而 yui 与其他的 javascript 框架 相比,在文档组织、代码组织上更接近于 java,更容易得到开发人员的认可;而且 yui 的功能也比较强大,组件比较丰富,适合企业级开发;另外,yui 由雅虎团队 在做维护,可靠性也相对较强38。 然而,随着淘宝飞速的发展,各种应用也越来越复杂, yui 变得不太适合,不 12 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 太适用于淘宝,因此经过权衡,淘宝前端工程师团队研发了自己的开源前端框架, 即 kissy 库。 kissy 提供了设计模式库、脚本库和最佳开发流程等工具,致力于减少重复开 发,提高开发效率。 (2)kissy 的设计原则 爱因斯坦说:“让一切尽可能简单,但不要过于简单。”在设计领域,kiss 代表 简约原则:“keep it simple, stupid”。 kissy 的命名和设计原则皆源于此,诠释为一 句话是:小巧灵活、简洁实用,使用起来让人感觉愉悦。 小巧是相对小巧。考虑国内的网络状况,还有不少用户在使用 512k 的宽带,以 及 bt 软件、 视频站点的流行, 要让用户快速打开页面, 在国内并不是一件容易的事。 对于前端类库来说,小巧的体积非常有必要。jquery 的体积可以接受,yui3 在这一 点上则处于劣势。kissy 会在功能和体积上权衡,尽量小巧。 灵活是适度灵活。设计领域有个值得推崇的原则:针对场景进行设计。kissy 核心功能的取舍,kissy 组件的特性选择,所有一切,都会尽量从实际需求出发, 在总结归纳的通用使用场景下进行设计。适度灵活需要我们懂得舍弃,在精简小巧 和可扩展性上不断权衡。 简洁实用是基本要求。放在设计原则里,是为了能时刻提醒类库开发者保持落 地。一个类库,并非功能越强大越好。完美的诠释有多种。对于 kissy 来说,保持 api 的简单易用,保持功能的精简实用,不求全但求精,力求用短小的代码完成常用 的 80%的功能,这就是 kissy 追求的一种完美。 使用起来让人感觉愉悦,这是更高层次的追求。我们期望在使用 kissy 时,你不 会感觉枯燥乏味,甚至不会觉得这是工作,而会感觉是在和一位老朋友愉悦交流。在你 想用到某个功能时, 你的直觉就能指引你应该调用哪个 api, 而无需过多地去查阅文档。 除了想给类库使用者带去愉悦体验,我们还希望基于 kissy 搭建的网站,网站 的用户能获得非常好的浏览体验和使用体验。kissy 的不少组件,内置了对可用性 的考虑,简单如标签页切换的延迟,复杂如富文本编辑器的交互体验,所有这一些, 默认就尽量去让用户能更好的使用。我们相信,这很有价值。 13 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 2.4 mysql 数据库数据库 mysql 是一款开源的关系数据库管理系统,原开发者是瑞典的 mysql ab 公 司,该公司于 2008 年被 sun 收购。2009 年,oracle 收购 sun 公司,mysql 也就成 为 oracle 公司的产品。 mysql 由于拥有低成本、高性能、高可靠性等特点,已经成为最流行的开源数 据库,被广大的中小型网站所使用。并且随着 mysql 数据库的不断发展和成熟,它 也逐渐用于更多大规模网站和应用,例如淘宝以及腾讯等网站已经将 mysql 数据库 作为主要使用的数据库,这样可以大大地公司降低存储设备的成本和投入。开源软 件组合 lamp 中的“m”指的即 mysql 数据库39,40。 mysql 具有以下特点: (1)mysql 数据库使用 c 和 c+编写,并使用多种编译器进行测试,从而保 证源代码的可移植性。 (2)支持多种操作系统,包括 windows 系列的操作系统、linux 即其衍生的各 种操作系统操作、mac os 以及 unix 系列操作系统。 (3) 为大多数编程语言提供了 数据库 api。 包括主流的脚本语言如 php、 ruby、 python、delphi,也包括 c、c+、c#。 (4)提供了多种数据库连接方式,包括 odbc 、 jdbc 以及 tcp/ip 链接等。 (5)有很多第三方的数据库管理软件,如基于 apache 和 php 的 phpmyadmin。 在本系统中, 使用 mysql 作为数据库, php 通过 apache 的 mysql 数据库连接模 块连接到 mysql 数据库,并使用基于 web 的 phpmyadmin 这一套 mysql 数据库管 理软件实现数据库创建、表创建、数据增删查改等操作。 2.5 本章小结本章小结 本章讨论了试卷生成系统中使用的系统架构、以及实际的运行环境 lamp,主 要介绍了试卷生成系统中应用到的多种技术, 包括php服务器端脚本语言, javascript 客户端脚本语言,kissy ui 类库以及 mysql 数据库。 14 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 3 系统分析系统分析 本章将首先对 ued 试卷生成系统进行可行性分析,再次基础上对系统的各个功 能模块进行具体的需求分析, 最后根据 ued 部门的特殊需求以及互联网 web 产品的 发展趋势,对系统进行用户体验分析。 3.1 系统可行性分析系统可行性分析 3.1.1 经济可行性经济可行性 由于开发 ued 试卷生成系统所需的硬件(包括计算机、打印机及相关网络设备) 都是公司现成的资产, 不需要额外采购, 而软件环境(操作系统:ubuntu; web 服务器: apache;数据库:mysql;开发软件:notepad+;),都是免费授权使用的软件,系 统成本主要集中在试卷生成系统本身的开发与维护上,对公司不会造成任何的经济 成本。但如果此试卷生成系统投入使用,讲可以提高淘宝 ued 部门社会招聘的运作 效率,减少招聘人员在出笔试试卷上花费的时间,从而节省了大量人力、财力。因 此,本试卷生成系统产生的效益将会远远大于开发试卷生成系统所消耗的成本,所 以从成本收益角度讲开发 ued 试卷生成系统是可行的。 3.1.2 技术可行性技术可行性 ued 试卷生成系统运行于 lamp 这一套 web 应用开发套件上。主要使用 php 语言来作为 web 后台开发语言, 使用 apache 作为 web 服务器, 搭建在 ubuntu linux 系统上,使用 mysql 数据库存储数据,本身是开发网站最主流的技术,也比较容易 开发和维护。 而前端方面使用 kissy 类库来简化前端开发,作为淘宝推出的开源前端类库, 也能够得到更多更及时的技术支持。因此,技术可行性方面也没有问题! 3.1.3 运行可行性运行可行性 ued 试卷生成系统只需要在公司内网环境中使用即可,公司的所有电脑在内网 环境都会分配一个一个固定的域名, 因此, 只要主管的 linux 台式机 24 小时不关机, 15 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 即可作为服务器为 ued 试卷生成系统提供服务。 目前, 已有其他的 web 应用运行在 此台服务器上。 ued 试卷生成系统开发完毕之后,可以通过 ssh 将程序上传到服务器上。即刻 部署即刻就可以运行。 经过以上分析,运行方面是可行的! 3.2 系统需求分析系统需求分析 ued 试卷生成系统的作用简单来说就是优化淘宝 ued 部门社会招聘工作中, 招 聘人员需要自己为每个应聘人员出一份笔试试卷的这个环节,从而减少社会招聘笔 试环节公司付出的包括时间和人力成本。 根据与包括主管与员工等需求方的沟通, ued 试卷生成系统需要实现以下功能: (1) 系统管理 主管通过系统管理功能,能够根据实际情况增加、删除以及编辑招聘职位,能够 给每个招聘职位设置一到多个技能偏向。 (2) 录入试题 相关人员通过试卷生成系统,随时录入新设计的笔试试题,笔试试题能够满足 ued 部门的个性化需要,试题的内容部分需要支持显示图片、显示 html 源代码。 (3) 自动生成试卷 招聘人员能够通过试卷生成系统,经过选择招聘职位、对应的技能偏向以及试卷 难度等步骤之后, 随机生成一份与应聘人员实际的职位、 技能偏向以及 p 级相适应应 的笔试试卷,并实现试卷打印的功能。 (4) 手动生成试卷 对于招聘人员认为比较特殊的应聘人员, 招聘人员可以从所有的试题中根据需要 手动选择不少于 5 道的笔试试题组合生成一套笔试试卷并实现打印功能。 (5) 试题库管理 主管可以通过试卷生成系统,对已经存在的笔试试题进行编辑,包括修改试题内 容,更改试题所属的技能偏向以及难度。 16 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 ued 试卷生成系统的思维导图如图 3.1 所示。 图 3.1 ued 试卷生成系统的思维导图 3.2.1 系统管理模块系统管理模块 系统管理模块的需求分为两部分,首先,是招聘职位部分,模块能够实现增加 招聘职位、编辑招聘职位并实时保存,另外可以删除不再需要的职位。其次,能够 实现增加、编辑职位对应的技能偏向并保存,另外可以删除不再需要的技能偏向。 关于招聘职位和技能偏向的操作都需要在同一个页面完成,采用 ajax 异步提交 的方式,整个交互没有页面跳转。返回的处理结果用提示框来提示用户。 3.2.2 录入试题模块录入试题模块 用户(员工)可以通过录入试题模块在平时录入精心设计的试题,输入员工花 名并设置该题目相应的适用职位、技能偏向、题目的难度系数、题目的内容、参考 答案和试题分析。 适用职位由数据实时读取出来,而技能偏向则需要在选定职位之后实时变化, 而试题内容需要支持显示 html 以及 javascript 代码,并支持显示图片。 花名、适用职位、技能偏向、试题难度以及试题内容都是不允许内容为空的项, 如果相应的输入为空,在提交录入时,进行前端验证,如果不符合规则,相应的项 用红色边框醒目提示。 当需要输入的项输入符合规则的内容之后,红色边框则能够自动消失。 17 华 中 科 技 大 学 硕 士 学 位 论 文 华 中 科 技 大 学 硕 士 学 位 论 文 3.2.3 自动生成试卷模块自动生成试卷模块 自动生成试卷。当用户需要对 ued 应聘人员进行一次普通的社会招聘笔试时, 可以通过 ued 试题自动生成一份合适的笔试试卷。用户只需要输入 3 个选项,即该 应聘人员的应聘职位、对应的技能偏向以及与其的难度级别。系统就会随机生成一 份合适的笔试试卷。此功能能够极大地降低招聘以及主管们的时间。 具体的流程如下:用户选择自动生成试卷模块。首先选择应聘者的应聘职位, 选定后,系统会根据选定的影片职位渲染对对应的技能偏向,用户需要继续选择应 试者的技能偏向,最后选择应试者的难度级别。三个选项都确定之后,单击提交筛 选,系统会根据三个选项的结果,计算出一套随机的笔试试卷。自动生成的试卷有 6 道试题。答题人需要完成 5 道或者 5 道以上题目。 适用自动生成试卷的应聘人员包括三个级别,即 p4、p5、p6,对应的难度分为 3 个级别,分别是简单、中等、困难。 (1) 如果是 p4 即简单级别,笔试试卷的题目会包含 3 道对应的技能偏向的随 机的难度为简单的试题以及 1 道难度为中等的试题, 另外还会随机生成同个应聘职位 下的其它技能偏向的 1

温馨提示

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

评论

0/150

提交评论