思科网迅在线教学系统设计与实施._思科模拟校园网构建
思科网迅在线教学系统设计与实施.由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“思科模拟校园网构建”。
合肥工业大学 硕士学位论文
思科-网迅在线教学系统设计与实施 姓名:王顺
申请学位级别:硕士 专业:工商管理 指导教师:刘林 20091001 思科一网迅在线教学系统设计与实施 摘要
随着IT技术发展和互联网应用的普及,在线会议与在线教学全面展开。本 论文主要讲述的是目前全球市场占有率第一的思科一网迅在线教学系统的设计 与实现方式。
C/S和B/S是目前信息系统设计较常见的两种平台,论文指出了各自的特 点,并分析了各自的优点和缺点。确定了基于WEB的MVC模式为系统的设计 模式,根据系统的技术实现,论述了J2EE技术和中间件技术,并基于UML技 术对系统需求,系统功能和系统架构进行了建模分析。
MVC设计模式分离了数据的控制层和表现层,在实现多层Web应用系统 中具有明显的优势。Struts是一个基于J2EE平台,实现MVC设计模式的成熟
框架,它全面减轻构建多层Web应用的负担,提供可复用的软件架构。在软件 工程和软件设计模式的思想指导下,论文论述了基于Struts框架的在线教学系 统的系统设计与实现过程,主要包括系统体系结构设计、系统功能设计、数据 库设计,系统界面设计,系统实现和软件测试。
为保证在线教学系统的顺利进行,系统引入了全面项目管理的理念,包括 项目计划、进度控制、质量管理、文档管理等。论文最后对系统实现进行了总 结,并对系统的发展进行了展望。
关键词:在线教学;上机实验室:J2EE平台;Struts;MVC模式 洗纹身机http://文档。同样,这种Web服务器的扩充也从提交的HTML表单中,将信息加
入到企业数据库中。
这种扩充的典型例子就是CGI(Common Gateway Interface脚本。虽然CGI 脚本和类似的机制允许企业应用开发者构建简单的Web应用,但是CGI方式并不
适用于更复杂的企业应用,原因如下:(1CGI脚本不提供内部业务流程或者一个业务实体的结构完善的方案。(2CGI脚本难以开发、维护和管理。高层次的应用开发工具没有为CGI脚 本的开发提供良好的支持。
(3CGI脚本将业务过程的实现和呈现逻辑的实现缠绕在一起。当更改任何 部分的实施,就有可能改变其它的部分。
(4CGI脚本不利于业务规则完整性的维护。企业业务规则的实现被分散到 多个CGI脚本程序中,它们被部署到企业中的几个w曲服务器上,因此,企业维 护其业务规则的完整性是困难的【3】。2.1.4J2EE应用体系结构
J2EE是一个体系结构,它以Java程序设计语言为基础。企业能够使用J2EE 体系结构进行应用的开发和部署,从而有效地替代二层和三层模型。对于互联 网应用的发展,我们可以有效地取代基于CGI的方法。同时,J2EE也提供了对 于二层和三层应用的支持。
在J2EE中,容器是一个重要的概念。容器是一种运行在服务器上的软件实 体,用于管理特定类型的组件。它为开发入员开发J2EE组件提供了执行环境。通过这些容器,J2EE体系结构就能在开发和部署之间提供无关性,并在不同类 型的中间层服务器上提供可移植性,容器还负责管理部署在其中的组件的生命 周期。J2EE平台2种常用容器分别是EJB容器和web容器。
(1EJB容器提供适用于各个企业的企业Bean。企业Bean是实现业务过程和 实体的组件开发、部署以及运行时管理的环境。
(2w曲容器提供适合于Servlet和JSP(Java Server Page开发、部署以及运行 时管理的环境。这些Servlet和JSP称为Web应用的可部署单元,在Web中实现了
一个企业应用的呈现逻辑pJ。4 洗纹身机http://信 息的WEB服务器,再由控制层将用户要求的服务传达给业务逻辑层(Java Bean 层来进行相关的分析处理,最后通过查询数据层的数据库,得到解答用户问题 的信息,再经过逐层转化,处理,返回给用户Web页面格式信息,也就是用户 在客户端得到需求的信息。4.2.3数据库设计
数据库就是存储在一个或多个文件中的一个永久性的、自描述的数据仓库。数据库的设计在一个系统开发中是至关重要的,它的设计好坏直接影响整个系 统的性能。
数据共享与交换平台的核心是数据库,安全问题来自两个方面,一是物理 安全即数据库遭到外力物理损坏;二是逻辑安全即包括对数据保密性的保护, 也包括保证数据库内部逻辑一致,即通过良好的设计和管理,保证数据库的完 洗纹身机http://www.daodoc.com/
(bWbxRaHost:主要用来存放计算机信患 表4—3WbxRaHost表设计
字段名类型及宽度能否能为空是否主键字段说明 SITEID NUMBER(10,0否否站点编号 CoMPUID NUMBER(10,0否是计算机编号 oWN ERUID NUMBER(10,O否否创建人编号 CoMPUNAME VARCHAR2(200否否远程计算机名 PASSWoRD VARCHAR2(100是否连接密码 STATUS NUMBER(3,O是否计算机状态
注:计算机状态(STATUS:~88:等待批准:O:不可用;1:可以使用;2:
正被连接中;3:暂时阻止连接
(cWbxRaHostLab:主要用来存放实验室与计算机关联关系表 表4-4WbxRaHostLab表设计
字段名类型及宽度能否能为空是否主键字段说明 SlTE【D NUMBER(10,0否否站点编号 COMPUTERID NUMBER(10,0否否计算机编号 LABlD NUMBER(10,O否否实验室编号
(dWbxLabSchedule:存放实验室计算机被预订的情况 表4~5WbxLabSchdule表设计
字段名类型及宽度能否能为空是否主键字段说明 SCHID NUMBER(10,0否是预订计算机编号 SITEID NUMBER(I O,0否否站点编号 CONF【D NUMBER(10,O是否会议编号 LABID NUMBER(10,O是否实验窒编号
HOSTNUMBER NUMBER(1O,O是否预订计算机数 STARTTIME DATE是否会议开始时间 REFNUMl NUMB ER(3,0是否区分预定类型
注:区分预定类型(REFNUMl:0:In seion HOL;1:On demand HOL(eWbxSeionExt-安排使用实验室中的远程计算机
表4-6WbxSeionExt表设计
字段名类型及宽度能否能为空是否主键字段说明 SITEID NUMBER(10,0否否站点编号
HOLSESSIONID NUMBER(10,0否是实验室会编号 CONFID NUMBER(10,0>是否会议编号 CONFNAME VARCHAR2(512是否会议名称 STARTTIME DATE是否会议开始时间 ENDTiME DATE是否会议结束时间 LABID NUMBER(10,O是否实验室编号
COMPUNUMS NUMBER(10,O是否使用计算机数 24 洗纹身机http://www.daodoc.com/
(3统一管理(a统一权限管理
统一身份与权限管理的功能包括统一认证和统一权限两个方面。统一认证 能实现一次登录(SSO、密码同步、支持多种认证与加密协议、支持证书的安 全存储等功能。(b统一用户管理系统
统一用户管理系统(User Services,为区域网上实验室平台各应用系统提 供统一的、高可靠性和安全的用户管理服务,它集中存放以前分散在各应用系 统的用户信息和组织机构信息,并按照管理流程,实现信息在各系统之间的流 转和同步,并为各系统提供人员创建、调动、注销和密码同步等功能。
(4系统安全防护
系统安全防范和保护是主要安全措施之一,它的主要任务是保证信息系统 资源不被非法访问。(a防火墙系统
通过防火墙实现物理隔离,有效抵抗来自外部网络的非法访问。对来自外 部网络的用户实施安全访问控制策略,提供可用性和可靠性服务。(b防病毒系统
网络防病毒主要对网络内所有计算机系统做防病毒保障,保证网络数据的 完整性和保密性。(c入侵防御系统
入侵检测机制能够对网络系统各主要运营环节进行实时入侵检测,以便能 够及时发现或识别攻击者的企图或系统资源被误用、滥用、盗用的行为。当实 时入侵检测系统发现异常时,网络系统及时做出适当的响应,通知网络管理员、通知被害主机【13】【141。4.2.5用户界面(UI设计(1用户界面设计原则
一个良好的用户界面(UI设计对一个系统的成功是至关重要的。一个使用起 来困难的界面,会造成用户直接拒绝使用该系统,而不管系统的功能如何。因 此,用户界面的设计是系统成功完成的重要组成部分。
用户界面是Web应用和用户交互的窗口。用户界面可以向用户输出信息, 也可以接收用户的输入信息。根据用例,可以制定出用户界面,包括用户界面 的功能、与用户交互的信息,以及用户界面之间的切换信息。洗纹身机http://www.daodoc.com/
4.3系统实现
4.3.1系统开发平台与工具的选择
在系统开发过程中,为了编写和调试程序,需要建立一个开发环境。~个 稳定和使用方便的工作平台,可以大大的提高工作效率。为统一标准,我们采 用的是JDKl.4.2,WebLogic8.1服务器,Eclipse3.5和Struts2.0。(1采用J2EE平台
为体现系统设计的开放性和标准化原则,我们采用是的J2EE开发平台。(2选用WebLogie服务器
BEA WebLogic Server具有开发和部署关键任务电子商务Web应用系统所需 的多种特色和优势,包括:领先的标准、无限的可扩展性、快速开发、部署更 趋灵活等。这也是系统采用WebLogic服务器的最主要原因【16】。(3使用Eclipse开发工具
根据系统开发的可扩展性原则,我们决定采用Eclipse作为软件开发的工具。因为Eclipse是一种可扩展的开放源代码IDE。同时Eclipse允许在同一IDE中 集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了 项目工作流程,使开发者可以专注在实际的嵌入式目标上【15】【171。(4采用Struts框架
Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范用作 实现的一部分【l引。
4.3.2系统的业务逻辑层功能实现
远程计算机管理的主要功能是创建计算机,修改计算机,删除计算机,连 接计算机,断开计算机等,图4-3显示了业务逻辑层的主要功能实现。r辔c蚋.webex.webal甲.tra慵拼印ter.删肌啪.坛.c.omptJter 囱・耋Import declarations 白…o§HyComputerMgrlmpl1,41(mcu.kkv
:-t・„n。Jogger:WbxLogcjer h・o4myCompu£erMgr:MyComputerlVlgrZmpl 卜・眷。MyComputerlgrlmpl(o e3getlnstanceO }●A addMyComputerApp(10ngJ long,5tring b-9^addHyComputer(10ng,long,String[】,RaHost }~・●^connectin口Mycomputer(10ngJ IongJ Iong 卜‟9A connectlVtyComputeroongJ longJ longJ StringJ StrIngJ StringJ int p“o▲delMyComputerApp(IongJ longJ longJ strincj 卜„●A disconnectingMyComputer(IongJ Iong 一一●▲disconnectHyComputer(10ng,longJ String k。o^editMyComputer(10ng,long,RaHost }”o^editMyComputerWithoutApp(IongJ longJ AaHost 卜一●^getMyComputeroongJ longJ IongJ Iongj String 卜・●A Iogir—lyComputer(10ngJ long,String,StringJ String.殳r¨1口 卜●A getRAMeeting(10ngJ long
■・„●A remoteAcceMyComputer(Iong,long,IongJ longJ StringJ StringJ Sting 一‟●A unregisterHyComputor(IongJ Iong,long[]J5tring 图4—3上机实验室子系统业务逻辑层功能实现洗纹身机http://www.daodoc.com/
是多发区。常见现象如CPU在不断增长,Memory常常溢出,系统性能逐渐 下降甚至死机等等。这些问题在实际的产品线更容易暴露出来,缺陷导致的后 果也是很严重。产生这些问题的原因大多数是数据库连接没有释放,基于JMX, JMS的操作连接没有释放,创建过多的对象等等。在这方面的测试,JProfiler 是一个很好的测试丁具,它通过实时的监控对系统CPU,memory,thread,来 很好的监控JVM的运行和性能状况。图4-4显示了用Jprofiler进行性能测试的界面
图44用Jprofil er进行性能测试 443用JMeter进行压力与回归测试
JMeter是个开源的压力测试工具,可以模拟多用户对软件做压力测试,它 可以测试静态和动态资源程序的性能,例如静态文件Servlets,FTP服务,Java 对象,Perl/CGI脚本,数据库等等。
对于写web服务的脚本,囚为大多数web服务的过程比较复杂,般采用 Badboy先录制”…,然后以JMeter脚本格式导出,即可使用。同时可以通过设 置线程数,响应断言,查看结果树和图形结果,使得要测试的对象与效果更为 具体。
因JMeter中保存的脚本,可以重复使用,所以他也可以用于回归测试,剥 开发每次发过柬的新包,可以得过且过用JMeter对已有功能进行验证,这样也 减少了许多手工操作,节省人力。用4-5显不用Jmeter进行压力与回归测试的 界面
洗纹身机http://www.daodoc.com/
第5章在线教学系统项目管理
为保证在线教学系统有条不紊的进行,必须有一套切实可行的项目管理的 思想和方法支撑。项目管理是一种目标导向性的过程管理方法,它的任务是根 据功能要求,确保在规定的时间和成本预算内提交符合目标要求的产品和服务。
项目管理通过对工作范围、时间、成本、质量等关键约束要素的使用控制,确 保管理过程的严密性、科学性。它被运用于项目的整个生命周期,从而提高项 目成功的概率。
项目管理直接关系到整个项目的成败,一个工程从立项、实施到最终建设 完成及运行期的系统维护,都必须有严格项目管理制度和流程,其目的是确保
各项工作可以按步骤有计划地进行,并达到预期的产品及服务目标。5.1项目范围及变更管理
项目范围是指产生项目产品所包括的所有工作及产生这些产品所用的过 程。项目范围管理是指对项目包括什么与不包括什么的定义与控制过程。这个 过程用于确保项目组和项目干系人对作为项目结果的项目产品以及生产这些产 品所用到的过程有一个共同的理解t20|。
通过项目实践,我们知道:项目中不可避免的会发生范围的变更,不论是 在项目的开始阶段或是项目的将要结束阶段,都有可能会发生项目范围的变更, 而项目范围的变更会自然而然地对项目有影响,所以,怎么样控制项目的范围 变更是项目管理所需要做的一个重要内容。
项目所处的阶段越早,项目不确定性就越大,项目调整或变更的可能性就 越大,同时带来的代价比较低。但随着项目的进行,不确定性逐渐减小,而变 更的代价、付出的人力、资源逐渐增加,就会增加决策的困难度。这时,如果 研发团队缺少明确的需求变更控制过程或采用的变更控制机制无效,抑或不按 变更控制流程来管理需求变更,那么非常可能造成项目进度拖延、成本不足、人力紧缺,甚至导致整个项目失败。当然,即使按照需求变更控制流程进行管 理,由于受进度、成本等因素的制约,软件质量还是会受到不同程度的影响。但实施严格的软件需求管理会最大限度地控制需求变更给软件质量造成的负面 影响。
为保证在线教学系统的顺利进行,对需求变更管理主要遵循如下三原则:(1建立需求基线。需求基线是需求变更的依据。在研发过程中,需求确定 并经过评审后,能建立第一个需求基线。此后每次变更并经过评审后,都要重 新确定新的需求基线。
(2制订简单、有效的变更控制流程,并形成文件。在建立了需求基线后提 出的所有变更都必须遵循这个控制流程进行控制。32 洗纹身机http://www.daodoc.com/