《软件工程毕业设计论文基于FlexJ2EE技术的操作系统精品课程网.doc》由会员分享,可在线阅读,更多相关《软件工程毕业设计论文基于FlexJ2EE技术的操作系统精品课程网.doc(47页珍藏版)》请在三一办公上搜索。
1、 JIANGXINORMALUNIVERSITY学 士 学 位 论 文 THESIS OF BACHELOR(2006 2010年)基于Flex+J2EE技术的操作系统精品课程网The Operate System Quality Course Website Based On J2EE+Flex Technology指 导 老 师 : 姓 名 : 学 号 : 学 院 : 软 件 学 院 专 业 : 软 件 工 程 摘要 摘要网站建设是Internets应用的重要组成部分。因此教育部为大力发展信息化建设,提高教学质量,把精品课程建设定为质量与工程的先期启动项目。而计算机操作系统课程是我校软件学
2、院的专业核心课程。因而开发一个操作系统精品课程网站是刻不容缓的。系统是基于B/S的开发模式。而客户端视图层采用最为流行的RIA富客户端技术Flex,具有面美观,人性化,交换性强等特点;在后台的业务逻辑层使用的是以Java语言为支持的J2EE技术,由于Java语言具有面向对象和良好的跨平台性等特点,使的系统的分析设计和后期维护更加简单;同时,后台数据库使用了SQL2000作为数据库管理软件,使系统数据的安全性得到了有效的保证。系统主要实现的功能有,操作系统课程信息管理;教学资源管理,包括教师后台教学资源的上传,学生和游客资源的下载等;在线测试,包括管理题库的录入,和学生按照多种方式进行在线测试等
3、。本文简要介绍了操作系统精品课程网站系统所用到的主要的技术,如:MVC的分层思想,Flex/Flash技术,Flex和后台Java的通信技术,面向对象分析设计技术等;同时,比较详细的介绍了使用UML统一建模语言对系统进行分析设计的过程;并对系统中的关键模块的实现进行了详细的描述;最后对这个系统的开发进行了总结。【关键字】操作系统精品课程网、Flex、在线测试、面向对象I Abstract Abstract Site construction is an important part of the application Internets. Therefore, the Ministry of
4、 Education to develop information technology to improve teaching quality, the fine course construction as the quality and engineering, up-front to start the project. The computer operating system course is my school School Of Software professional core curriculum. Thus, development of a course Web s
5、ite is operating fine without further delay. System is based on B / S of the development mode. The client-side view of layer of the most popular RIA rich-client technology, Flex, with a face beautiful, humane, and strong characteristics of the exchange; in the background of the business logic tier u
6、ser Java language support based on J2EE technology, due to Java language with the object-oriented and a good cross-platform characteristics, etc., so that systems analysis and design and post-maintenance of a more simple; same time, the back-end database using SQL2000 as the database management soft
7、ware, allowing the system security of data has been effectively guaranteed. System is mainly to achieve the functions, operating systems courses information management; teaching resources management, including teachers, teaching resources and background of the upload, download resources, students an
8、d visitors, etc.; online testing, including the management of item bank of the entry, and students in a variety of ways in accordance with On-line testing. This paper briefly describes the operating system, network system used in fine course the main technology, such as: MVC hierarchical thinking, F
9、lex / Flash technology, Flex, and Java background in communications technology, object-oriented analysis and design technology; next, it more detailedly introduces the use of UML Unified Modeling Language for systems analysis and design process; key modules and systems implementation of a detailed d
10、escription; Finally, the development of this system are summarized. Key Words:The operated System Quality Course Website、Flex、Test Online、 OOII 目录目录第一章 绪论11.1 国内精品课程网站的发展趋势11.2 精品课程网站的特点11.3 精品课程网站的意义21.4 论文组织2第二章 系统开发相关技术概述32.1 B/S模式32.2 Flex技术简介42.2.1 RIA 技术介绍42.2.2 Flex/Flash 技术52.3 MVC模式62.4 Jav
11、aBean技术72.5 Servlet技术82.6 FileUpload文件上传组件92.7 面向对象的分析与设计10第三章 系统分析与设计113.1 功能分析113.2 系统业务类的分析与设计143.2.1系统的业务类143.2.2系统的数据结构表153.3 系统设计183.3.1 系统体系结构设计183.3.2 系统网络结构设计193.3.3 学生在线测试活动图20第四章 系统关键技术的实现224.1 系统主体架构的实现224.1.1 系统设计架构和工作机制224.1.2 系统服务器端包中的类和作用254.2 系统主界面的实现264.3 系统中关键技术的实现274.3.1 数据库的链接27
12、4.3.2 系统分页技术的实现294.3.3 自动组题测试的实现294.3.4 学生错题测试314.3.5 错题统计324.3.6 管理员添加题目364.3.7 文件上传技术的实现37第五章 总结395.1 个人总结395.2 系统总结39参考文献41致谢42IV第一章 绪论第一章 绪论1.1 国内精品课程网站的发展趋势为全面提高教育教学质量, 造就数以千万计的专门人才和一大批拔尖创新人才, 提升我国高等教育的综合实力和国际竞争能力, 教育部决定在全国高等学校中启动高等学校教学质量与教学改革工程精品课程建设工作(简称精品课程建设),并把它作为了质量与工程的先期启动项目。在教育部2006 年4
13、月发布的国家精品课程评估指标中提出:“精品课程是指具有特色和一流教学水平的优秀课程。精品课程建设要体现现代教育思想,符合教学性、先进性和教育教学的普遍规律,具有鲜明特色,并能恰当运用现代教学技术、方法与手段,教学效果显著,具有示范和辐射推广作用。”在网络教学环境指标中提出:“网络教学资源建设初具规模,并能经常更新;运行机制良好;在教学中确实发挥了作用。”。因此,精品课程网站的建设应该是精品课程建设的首要方式,因此精品课程网站的建设在各大高校中都呈现出蓬勃的发展趋势,并且功能和视觉效果都在不断的完善中。1.2 精品课程网站的特点根据精品课程建设的内涵,教学网站应当是一个功能齐备的网络教育平台,是
14、一个基于网络资源的主题研究、协作式学习系统。在网络教学环境中,向学习者提供大量的主题学习资源和协作学习交流工具,能够让教师和学生广泛参与,网上互动,培养学生的自主学习能力、创新能力和实践能力。因此精品课程网站应当具有:(1) 可维护性好,可以灵活变动:在系统后台中用户可以动态的添加,更高课程的信息,课程文章,课程资源都渴望动态的更新等。(2) 交互性好,访客参与度高:充分利用Web2.0的思想。通过,评论,用户发布,留言,发布问题,自测试题等方式最大可能的让访客与我们交流。(3) 管理系统功能强大:网站后台可以对所有的资源网站所有的资源进行管理,包括用户,用户的所有信息等。1.3 精品课程网站
15、的意义综合精品课程的特点和建设目标,精品课程网站的建设主要是为了体现课程信息化,运用现代信息技术呈现课程、辅助教学,加强学生自主学习能力、创造能力等综合能力的培养。同时也改变了教师传统的教学方式,教师可以不在像以前那样在让学生来到固定的教师里进行教学,教师只要在网站中发布教学内容,查看学生的学生进度等,就可以达到更好的教学效果,从而使教学更加的优质化,人性化。1.4 论文组织论文主要介绍了操作系统精品课程网站系统开发的分析过程、设计思想和功能实现,并详细阐述了系统中关键技术的实现。第一章简述了系统的开发背景,系统特点,和系统开发的意义。同时简要介绍了本文的组织形式。第二章概述了系统开发的相关技
16、术和一些简要的设计思想的,如RIA技术,Flex技术,JavaBean技术,MVC分层思想,面向对象分析设计技术等。第三章使用面向对象的分析设计思想。对系统的类图,用例图,包图,活动图,状态转换图等几个方面进行了详细的分析与设计。 第四章详细描述了系统部分模块的实现过程,同时也详细的描述了系统中关键技术和系统架构的设计实现过程等。第五章主要介绍了个人设计这个系统时的心得和总结。包括个人总结,系统总结。21第二章 系统开发相关技术概论第二章 系统开发相关技术概述2.1 B/S模式 B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一
17、个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。 第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如Netscape Navigator、微软公司的IE、Opera Internet Browser等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的Web服务器。 第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与
18、数据库服务器协同完成这一处理工作。 第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管理数据库。B/S模式有很多的优点,主要有:首先它简化了客户端。它无需像C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须
19、再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要
20、。 再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使MIS系统维护的限制因素更少。 最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。 鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软
21、件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并且收到了一定的成效。123 2.2 Flex技术简介2.2.1 RIA 技术介绍传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表现层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了。而富互联网应用(Rich Internet Applications,缩写为RIA)的出现就是为了解决这个问题。富互联网应用程序是下一代的将桌面应用程序的交互式用户体验与传统的WEB应用的部署灵活性和成
22、本分析结合起来的网络应用程序。富互联网应用程序中的富客户端技术通过提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的WEB服务所驱动。结合了声音、视频和实时对话的综合通信技术,使富互联网应用程序(RIA)具有前所未有的网上用户体验。现在比较流行的RIA技术有Adobe Flash/Flex技术、Microsoft Silverlight、Laszlo。 2.2.2 Flex/Flash 技术Flex 架构介绍:2004年初,RIA技术的倡
23、导者Macromedia发布Flex。Flex是为满足希望开发RIA的企业级程序员的需求而推出的表示层服务器应用程序框架,它可以运行于J2EE和.Net平台。Flex具有桌面应用程序的响应性与丰富性,又具有Web传播范围广的特性。接下来首先介绍一下Flex的基本架构。Flex的基本架构包括4个部分,如图2.1所示。 图2.1 Flex 基本架构1. Adobe SDKAdobe SDK(Standard Develop Kit)是Flex的标准开发套件,包含Flex框架,Flex类库,MXML和ActionScript 3.0编辑器。Flex框架是基于组件的开发框架。用于运行RIA应用程序。M
24、XML和ActionScript 3.0是开发应用程序所需要的语言。2. Adobe Flex chartingAdobe Flex Charting 为Flex提供了图标组件,该图标组件提供丰富的交互式图表和图形库,支持丰富的数据显示中心和交换数据分析;可在客户端动态呈现并完全支持动态的数据绑定和事件触发;实现深入分析,翻转和其他的交换功能,从而使图表更为深刻明晰。 3. Adobe Flex Data ServicesAdobe Flex Data Services负责解决Flex应用用户界面与服务器端的数据交互,它提供一系列强大的服务器端数据管理功能,是开发人员能够快速提供数据密集型Fl
25、ex应用程序。Flex Data Service部署为标准Web J2EE应用程序。现在Flex Data Services 已经更名为(LDS)LiveCycle Data Service,并且开源社区提供了开源的替代(LDS)的服务组件Blazeds。4. Adobe Flex BuilderAdobe Flex Builder 是基于Eclipse创建的,用于开发Flex应用程序集成开发环境。Flex Builder3与先前的版本相比,做了很大的改进,借助Eclipse的优势,使用精准的设计和优秀的代码提示功能,调试工具,使开发人员更容易掌握使用开发工具快速开发Flex应用。现在最新的版
26、本为今年11月份出版的Flash Builder 4.随着Flash Builder 4 的面世,开发Flex应用程序将更加的完善,高效。 Flex的特点: Flex扩展了传统Web应用缺乏的元素,减少了服务器之间的通信次数,能更为详尽地展示数据的细节,其最适用的应用程序包括解决多步处理,客户验证,控制可视数据,是桌面应用和Web应用结合起来,表现出更强大的表现力。Flex 在解决用户体验困难的同时,也带来了新的特点,具体如下:1高效性:通过增强表示层的效果提高最终用户体验的投资回报,利用简单,引人注目的用户界面及网络及服务器开销及企业集成来生成提高效益,降低成本的应用程序。2易用性:利用直观
27、的变成模型开发RIA应用,无需改动现有的Web开发工作流程。提高互操作性和行业标准,包括XML,SOAP与ECMAScript.3灵活性:基于组件的开发模型是Flex 应用程序开发十分灵活,开发者可利用Flex 中包含的预建组件和扩展组件来添加新的属性和方法,以及创建新的组件,开发者可以控制组件的外观,确定组件如何响应用户交换。4全面性:迅速地创建足以带到企业级的性能及高投资收益的应用。4562.3 MVC模式 MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。l Model(模型)模型表示企业数
28、据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。l View(视图)视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语
29、言和Web services。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。l Controller(控制器) 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:Servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。现在我们总结MVC的处理过程,首先控制器接
30、收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户,如图2.2MVC模式图。789图2.2 MVC模式图2.4 JavaBean技术JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。用户可以使用JavaBean将功能、处理、值、数据库访
31、问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。910112.5 Servlet技术Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持S
32、ervlet的Java虚拟机。Servlet应用编程接口HttpServlet:HttpServlet 类包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是继承的。 (1) init() 方法 。在 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 Servlet 时执行的。 可以配置服务器,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet。 无论有多少客户机访问 Servlet,都不会重复执行 init() 。 缺省的 init() 方法通常是符合要求的,但也可以用定制 in
33、it() 方法来覆盖它,典型的是管理服务器端资源。 例如,可能编写一个定制 init() 来只用于一次装入 GIF 图像,改进 Servlet 返回 GIF 图像和含有多个客户机请求的性能。另一个示例是初始化数据库连接。缺省的 init() 方法设置了 Servlet 的初始化参数,并用它的 ServletConfig 对象参数来启动配置, 因此所有覆盖 init() 方法的 Servlet 应调用 super.init() 以确保仍然执行这些任务。在调用 service() 方法之前,应确保已完成了 init() 方法。 (2) service() 方法 。service() 方法是 Ser
34、vlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个请求(ServletRequest)对象和一个响应(ServletResponse)对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如, 如果 HTTP 请求方法为 GET,则缺省情况下就调用 doGet() 。Servlet 应该为 Servlet 支持的 HTTP 方法覆盖 do 功能。因为 HttpServlet.service() 方法会检查请求方法是否调用
35、了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。Servlet的响应可以是下列几种类型: 一个输出流,浏览器根据它的内容类型(如text/HTML)进行解释;一个HTTP错误响应, 重定向到另一个URL、servlet、JSP。 (3)doGet()方法。当一个客户通过HTML 表单发出一个HTTP GET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet()方法。(4)doPost()方法。当一个客户通过HTML 表单发出一个HTTP
36、POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。(5) destroy() 方法 。destroy() 方法仅执行一次,即在服务器停止且卸装Servlet 时执行该方法。典型的,将 Servlet 作为服务器进程的一部分来关闭。缺省的 destroy() 方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果 Servlet 在运行时会累计统计数据,则可以编写一个 destroy() 方法,该方法用于在未装入 Servlet 时将统计数字保存在文件
37、中。另一个示例是关闭数据库连接。 当服务器卸装 Servlet 时,将在所有 service() 方法调用完成后,或在指定的时间间隔过后调用 destroy() 方法。一个Servlet 在运行service() 方法时可能会产生其它的线程,因此请确认在调用 destroy() 方法时,这些线程已终止或完成。 javax.servlet 软件包中的相关类为ServletResponse和ServletRequest,而javax.servlet.http 软件包中的相关类为HttpServletRequest 和 HttpServletResponse。Servlet 通过这些对象与服务器通信
38、并最终与客户机通信。Servlet 能通过调用请求对象的方法获知客户机环境,服务器环境的信息和所有由客户机提供的信息。Servlet 可以调用响应对象的方法发送响应,该响应是准备发回客户机的。1011122.6 FileUpload文件上传组件FileUpload 是 Apache commons下面的一个子项目,用来实现Java环境下面的文件上传功能,与常见的SmartUpload齐名。FielUpload文件上传组件可以在Http:/commons.apache.org/fileUpload下载,上传的文件要求包括一个根据RFC 1867(在HTML中基于表单的文件)编码的选项列表清单。组
39、件FileUpload可以解析这个请求,并给你的应用程序提供一份独立上传的项目清单。无论每个项目背后如何执行都实现了FileItem接口。这里将描述组件FileUpload库的普通API,这些API比较简单。不过,对于最终的实现,你可以参考最新的API流。每一个文件项目都有一些属性,这些可能在你的应用程序中应用到。比如:每一个项目有一个名称name和内容类型congtent type,并提供了一个 InputStream访问其数据。另一方面,你处理项目的方法可能有所不同,这个依赖于是否这个项目是一个规则的表单域,即:这个数据是来自普通的表单文本,还是普通的HTML域或是一个上传文件。在File
40、Item接口中提供了处理这些问题的方法,可以更加方便的去访问这些数据。组件FileUpload使用FileItemFactory工厂创建新的文件项目。这个给了组件FileUpload很大的灵活性。这个工厂拥有怎样创建项目的最终控制权。工厂执行过程中上传项目文件的临时数据可以存储在内存中或硬盘上。这个依赖于上传文件的大小(即:数据的字节)。不过这种行为可以在你的应用程序中适当的自定制。2.7 面向对象的分析与设计在经过软件开发各种概念和方法的研究、实践的基础上,对于如何超越程序的复杂性障碍、如何在计算机系统中自然地表示客观世界,人们拿起了思维科学中面向对象技术作为武器,采用基于客观世界的对象模型
41、的软件开发方法,按问题论域设计程序模块,它不是以函数过程、每个数据结构为中心,而是以对象代表问题解得中心环节,它使计算机程序的分析、设计额实现过程和方法改变了过去脱节和跳跃的状态,使人们对复杂系统的认识过程和系统的程序设计实现过程尽可能的一致。经验证明,对于任何软件而言,其中最稳定的部分是对应的问题论域,与功能相比,一个问题域中的对象一般总能保持其中的稳定性,因而以面向对象构造的系统的主体结构也是具有较好的稳定性和可重用性。因此,采用“对象+消息”的程序设计模式,具有满足软件工程发展需要的更多优势。面向对象设计方法最前的是现实问题空间与软件系统的解空间的近似和直接的模拟。从这些角度讲,现实世界
42、空间中的基本问题是物质和意识,映射到面向对象系统的解空间就是:具体事物(对象)和抽象概念(类)。面向对象技术的封装、继承、多态性等不仅支持软件复用,而且是软件的维护工作可靠有效,可实现软件系统的柔性制造,特别是随着Internet/Intranet的发展,网络分布计算的应用和需求日益增长,面向对象技术为网络分布计算提供了基础性核心技术支持。131415第三章 系统分析与设计 第三章 系统分析与设计操作系统精品课程网站是为了提高教学质量,增加师生交流的一个网上平台,在这个平台上,作为游客可以观看课程信息,包括课程简介,该课程的师资力量,课程实验,课程练习,下载教学或者是学习的资源等;而登陆系统后
43、的学生除了具有游客的所有功能之外,还有在线测试自己的学习状况,在线测试的形式有很多种,包括按条件组题测试,随机测试,按章节顺序测试,错题测试等,同时,学生和可以在在线提问等功能;老师在这个平台上可以在线回答学生提出的问题,同时可以分析学生的错题信息等。3.1功能分析 通过具体的调研和分析,系统主要的用户按角色可以分为游客,学生,教师,和管理员。本人分别从前后台按角色来概要的描述下操作系统的精品课程的主要功能。在系统的前台,主要的用户有还没有登录到后台的系统管理,教师,学生和通过在浏览器地址栏上输入本网站URL地址的游客。这些用户不但可以通过点击相应的功能按钮查看本网站的基本信息,帮助,课程的简
44、要介绍,课程实验,课程练习的简要介绍等静态的信息;而且还可以通过打开下载资源窗口下载教师在后台上传的教学资源,查看师生之间交流的信息,师资力量等;同时通过打开登录窗口进行登录的功能。前台用户的用例图如图3.1所示:图3.1 用户在系统前台用例图系统的后台可以根据角色分为管理员后台,学生后台,教师后台等。不同的角色通过登录窗口登入进不同的后台界面。通过分角色分将系统的后台分为三个后台分别是管理员后台,教师后台和学生后台。在学生后台中学生不但具有游客所具有的所有功能外,同时学生还可以通过点击基本信息查看自己的基本信息,在基本信息界面里,可以对自己的基本信息进行修改,包括密码,描述,出生日期等。学生
45、还可以进行网上答疑或者进行提问,就是学生可以针对留言平台里的留言发表自己的看法,见解,或者提出疑问等。除此之外,学生进行组题测试,就是自己可以通过从数据库中按照不同的方式抽取出题目进行在线的测试。组题的方式分为按条件组题测试、顺序组题测试、随机组题测试、错题测试。测试完抽取出来的题目之后,系统将自动的给出题目的答案,并提示答题正确还是错误,在错题测试时测试完后,不但能给出答案,而且将提示 是否删除错题记录的提示,在这里学生可以删除自己的错题记录。如下图3.2学生后台用例图:图3.2 学生后台用例图在教师后台中,除了具有游客的所有功能外,同时还具有错题分析和资源管理的功能,错题分析就是可以查看学
46、生的错题记录,在错题记录中,不但可以看到做错题目的学生,和该学生的做错次数,还可以看到错题的详细信息,包括答案。资源管理就是教师可以上传教学资源,包括课件,教学视频,课程学习资料,课程作业等与教学有关的资源;同时教师还可以对自己上传的教学资源进行删除的操作。详细的用例图如图3.3 教师后台用例图:图 3.3 教师后台用例图 管理员也拥有游客的所有功能;同时管理员还负责整个网站系统的维护,所以在系统管理员后台可以对课程介绍,课程章节,章节的知识点,实验,练习进行修改添加;除此之外,系统管理员还可以对使用该网站的用户的信息进行管理,包括添加教师,管理员,学生,和修改删除添加的用户信息。学生在线自测的题目也是管理员录入数据库的,所以管理员后台还有对题库的管理,包括选择题,填空题,判断题,简答题。并对这些题目具有增删改查的权利。详细信息如图3.4 管理员后台管理:图3.4 管理员后台管理3.2 系统业务类的分析与设计3.2.1 系统的业务类通过名词