1、精品文档JIANGXINORMALUNIVERSITY学士学位论文THESISOFBACHELOR(20062010年)基于FLEXJ2EE技术的操作系统精品课程网THEOPERATESYSTEMQUALITYCOURSEWEBSITEBASEDONJ2EEFLEXTECHNOLOGY指导老师姓名学号0667110138学院软件学院专业软件工程精品文档值得下载摘要网站建设是INTERNETS应用的重要组成部分。因此教育部为大力发展信息化建设,提高教学质量,把精品课程建设定为质量与工程的先期启动项目。而计算机操作系统课程是我校软件学院的专业核心课程。因而开发一个操作系统精品课程网站是刻不容缓的。
2、系统是基于B/S的开发模式。而客户端视图层采用最为流行的RIA富客户端技术FLEX,具有面美观,人性化,交换性强等特点;在后台的业务逻辑层使用的是以JAVA语言为支持的J2EE技术,由于JAVA语言具有面向对象和良好的跨平台性等特点,使的系统的分析设计和后期维护更加简单;同时,后台数据库使用了SQL2000作为数据库管理软件,使系统数据的安全性得到了有效的保证。系统主要实现的功能有,操作系统课程信息管理;教学资源管理,包括教师后台教学资源的上传,学生和游客资源的下载等;在线测试,包括管理题库的录入,和学生按照多种方式进行在线测试等。本文简要介绍了操作系统精品课程网站系统所用到的主要的技术,如M
3、VC的分层思想,FLEX/FLASH技术,FLEX和后台JAVA的通信技术,面向对象分析设计技术等;同时,比较详细的介绍了使用UML统一建模语言对系统进行分析设计的过程并对系统中的关键模块的实现进行了详细的描述;最后对这个系统的开发进行了总结。【关键字】操作系统精品课程网、FLEX、在线测试、面向对象精品文档值得下载ABSTRACTSITECONSTRUCTIONISANIMPORTANTPARTOFTHEAPPLICATIONINTERNETSTHEREFORE,THEMINISTRYOFEDUCATIONTODEVELOPINFORMATIONTECHNOLOGYTOIMPROVETEAC
4、HINGQUALITY,THEFINECOURSECONSTRUCTIONASTHE“QUALITYANDENGINEERING,“UPFRONTTOSTARTTHEPROJECTTHE“COMPUTEROPERATINGSYSTEM“COURSEISMYSCHOOLSCHOOLOFSOFTWAREPROFESSIONALCORECURRICULUMTHUS,DEVELOPMENTOFACOURSEWEBSITEISOPERATINGFINEWITHOUTFURTHERDELAYSYSTEMISBASEDONB/SOFTHEDEVELOPMENTMODETHECLIENTSIDEVIEWOFL
5、AYEROFTHEMOSTPOPULARRIARICHCLIENTTECHNOLOGY,FLEX,WITHAFACEBEAUTIFUL,HUMANE,ANDSTRONGCHARACTERISTICSOFTHEEXCHANGEINTHEBACKGROUNDOFTHEBUSINESSLOGICTIERUSERJAVALANGUAGESUPPORTBASEDONJ2EETECHNOLOGY,DUETOJAVALANGUAGEWITHTHEOBJECTORIENTEDANDAGOODCROSSPLATFORMCHARACTERISTICS,ETC,SOTHATSYSTEMSANALYSISANDDES
6、IGNANDPOSTMAINTENANCEOFAMORESIMPLESAMETIME,THEBACKENDDATABASEUSINGSQL2000ASTHEDATABASEMANAGEMENTSOFTWARE,ALLOWINGTHESYSTEMSECURITYOFDATAHASBEENEFFECTIVELYGUARANTEEDSYSTEMISMAINLYTOACHIEVETHEFUNCTIONS,OPERATINGSYSTEMSCOURSESINFORMATIONMANAGEMENTTEACHINGRESOURCESMANAGEMENT,INCLUDINGTEACHERS,TEACHINGRE
7、SOURCESANDBACKGROUNDOFTHEUPLOAD,DOWNLOADRESOURCES,STUDENTSANDVISITORS,ETCONLINETESTING,INCLUDINGTHEMANAGEMENTOFITEMBANKOFTHEENTRY,ANDSTUDENTSINAVARIETYOFWAYSINACCORDANCEWITHONLINETESTING精品文档值得下载THISPAPERBRIEFLYDESCRIBESTHEOPERATINGSYSTEM,NETWORKSYSTEMUSEDINFINECOURSETHEMAINTECHNOLOGY,SUCHASMVCHIERAR
8、CHICALTHINKING,FLEX/FLASHTECHNOLOGY,FLEX,ANDJAVABACKGROUNDINCOMMUNICATIONSTECHNOLOGY,OBJECTORIENTEDANALYSISANDDESIGNTECHNOLOGYNEXT,ITMOREDETAILEDLYINTRODUCESTHEUSEOFUMLUNIFIEDMODELINGLANGUAGEFORSYSTEMSANALYSISANDDESIGNPROCESSKEYMODULESANDSYSTEMSIMPLEMENTATIONOFADETAILEDDESCRIPTIONFINALLY,THEDEVELOPM
9、ENTOFTHISSYSTEMARESUMMARIZEDKEYWORDSTHEOPERATEDSYSTEMQUALITYCOURSEWEBSITE、FLEX、TESTONLINE、OO精品文档值得下载目录第一章绪论111国内精品课程网站的发展趋势112精品课程网站的特点113精品课程网站的意义214论文组织2第二章系统开发相关技术概述421B/S模式422FLEX技术简介6221RIA技术介绍6222FLEX/FLASH技术623MVC模式924JAVABEAN技术1125SERVLET技术1126FILEUPLOAD文件上传组件1327面向对象的分析与设计14第三章系统分析与设计1631功能
10、分析1632系统业务类的分析与设计20321系统的业务类20322系统的数据结构表2133系统设计25精品文档值得下载331系统体系结构设计25332系统网络结构设计27333学生在线测试活动图28第四章系统关键技术的实现3041系统主体架构的实现30411系统设计架构和工作机制30412系统服务器端包中的类和作用3442系统主界面的实现3643系统中关键技术的实现37431数据库的链接37432系统分页技术的实现40433自动组题测试的实现40434学生错题测试43435错题统计44436管理员添加题目48437文件上传技术的实现49第五章总结5151个人总结5152系统总结52参考文献54
11、致谢56精品文档值得下载第一章绪论11国内精品课程网站的发展趋势为全面提高教育教学质量,造就数以千万计的专门人才和一大批拔尖创新人才,提升我国高等教育的综合实力和国际竞争能力,教育部决定在全国高等学校中启动高等学校教学质量与教学改革工程精品课程建设工作简称精品课程建设,并把它作为了质量与工程的先期启动项目。在教育部2006年4月发布的国家精品课程评估指标中提出“精品课程是指具有特色和一流教学水平的优秀课程。精品课程建设要体现现代教育思想,符合教学性、先进性和教育教学的普遍规律,具有鲜明特色,并能恰当运用现代教学技术、方法与手段,教学效果显著,具有示范和辐射推广作用。”在网络教学环境指标中提出“
12、网络教学资源建设初具规模,并能经常更新;运行机制良好;在教学中确实发挥了作用。”。因此,精品课程网站的建设应该是精品课程建设的首要方式,因此精品课程网站的建设在各大高校中都呈现出蓬勃的发展趋势,并且功能和视觉效果都在不断的完善中。12精品课程网站的特点根据精品课程建设的内涵,教学网站应当是一个功能齐备的网络教育平台,是一个基于网络资源的主题研究、协作式学习系统。在网络教学环境中,向学习者提供大量的主题学习资源和协作学习交流工具,能够让教师和学生广泛参与,网上互动,培养学生的自主学习能力、创新能力和实践能力。因此精品课程网站精品文档值得下载应当具有(1)可维护性好,可以灵活变动在系统后台中用户可
13、以动态的添加,更高课程的信息,课程文章,课程资源都渴望动态的更新等。(2)交互性好,访客参与度高充分利用WEB20的思想。通过,评论,用户发布,留言,发布问题,自测试题等方式最大可能的让访客与我们交流。(3)管理系统功能强大网站后台可以对所有的资源网站所有的资源进行管理,包括用户,用户的所有信息等。13精品课程网站的意义综合精品课程的特点和建设目标,精品课程网站的建设主要是为了体现课程信息化,运用现代信息技术呈现课程、辅助教学,加强学生自主学习能力、创造能力等综合能力的培养。同时也改变了教师传统的教学方式,教师可以不在像以前那样在让学生来到固定的教师里进行教学,教师只要在网站中发布教学内容,查
14、看学生的学生进度等,就可以达到更好的教学效果,从而使教学更加的优质化,人性化。14论文组织论文主要介绍了操作系统精品课程网站系统开发的分析过程、设计思想和功能实现,并详细阐述了系统中关键技术的实现。第一章简述了系统的开发背景,系统特点,和系统开发的意义。同时简要介绍了本文的组织形式。第二章概述了系统开发的相关技术和一些简要的设计思想的,如RIA技术,精品文档值得下载FLEX技术,JAVABEAN技术,MVC分层思想,面向对象分析设计技术等。第三章使用面向对象的分析设计思想。对系统的类图,用例图,包图,活动图,状态转换图等几个方面进行了详细的分析与设计。第四章详细描述了系统部分模块的实现过程,同
15、时也详细的描述了系统中关键技术和系统架构的设计实现过程等。第五章主要介绍了个人设计这个系统时的心得和总结。包括个人总结,系统总结。精品文档值得下载第二章系统开发相关技术概述21B/S模式B/S模式是一种以WEB技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器WEB服务器,从而构成一个三层结构的客户服务器体系。第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如NETSCAPENAVIGATOR、微软公司的IE、OPERAINTERNETBROWSER等。浏览器将HTML代码转化成图文并茂的网页。网页还具备
16、一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的WEB服务器。第二层WEB服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,WEB服务器还需与数据库服务器协同完成这一处理工作。第三层数据库服务器的任务类似于C/S模式,负责协调不同的WEB服务器发出的SQ请求,管理数据库。B/S模式有很多的优点,主要有首先它简化了客户端。它无需像C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而
17、且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览精品文档值得下载器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在WEB服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用WEB服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变
18、得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对WEB服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使MIS系统维护的限制因素更少。最后,B/S特别适用于网上信
19、息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的INTERNET方案,基于WEB的财务系统、基于WEB的ERP。精品文档值得下载一些企业已经领先一步开始使用它,并且收到了一定的成效。12322FLEX技术简介221RIA技术介绍传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表现层建立于HTML页面之上,而HTM
20、L是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了。而富互联网应用(RICHINTERNETAPPLICATIONS,缩写为RIA)的出现就是为了解决这个问题。富互联网应用程序是下一代的将桌面应用程序的交互式用户体验与传统的WEB应用的部署灵活性和成本分析结合起来的网络应用程序。富互联网应用程序中的富客户端技术通过提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的WEB服务所驱动。结合了声音、视频
21、和实时对话的综合通信技术,使富互联网应用程序(RIA)具有前所未有的网上用户体验。现在比较流行的RIA技术有ADOBEFLASH/FLEX技术、MICROSOFTSILVERLIGHT、LASZLO。222FLEX/FLASH技术FLEX架构介绍2004年初,RIA技术的倡导者MACROMEDIA发布FLEX。FLEX是为满足希望开发RIA的企业级程序员的需求而推出的表示层服务器应用程序框架,它可以运行于J2EE和NET平台。FLEX具有桌面应用程序的响应性与丰富精品文档值得下载性,又具有WEB传播范围广的特性。接下来首先介绍一下FLEX的基本架构。FLEX的基本架构包括4个部分,如图21所示
22、。图21FLEX基本架构1ADOBESDKADOBESDKSTANDARDDEVELOPKIT是FLEX的标准开发套件,包含FLEX框架,FLEX类库,MXML和ACTIONSCRIPT30编辑器。FLEX框架是基于组件的开发框架。用于运行RIA应用程序。MXML和ACTIONSCRIPT30是开发应用程序所需要的语言。2ADOBEFLEXCHARTINGADOBEFLEXCHARTING为FLEX提供了图标组件,该图标组件提供丰富的交互式图表和图形库,支持丰富的数据显示中心和交换数据分析;可在客户端动态呈现并完全支持动态的数据绑定和事件触发;实现深入分析,翻转和其他的交换功能,从而使图表更为
23、深刻明晰。3ADOBEFLEXDATASERVICESADOBEFLEXDATASERVICES负责解决FLEX应用用户界面与服务器端的数据精品文档值得下载交互,它提供一系列强大的服务器端数据管理功能,是开发人员能够快速提供数据密集型FLEX应用程序。FLEXDATASERVICE部署为标准WEBJ2EE应用程序。现在FLEXDATASERVICES已经更名为(LDS)LIVECYCLEDATASERVICE,并且开源社区提供了开源的替代(LDS)的服务组件BLAZEDS。4ADOBEFLEXBUILDERADOBEFLEXBUILDER是基于ECLIPSE创建的,用于开发FLEX应用程序集成
24、开发环境。FLEXBUILDER3与先前的版本相比,做了很大的改进,借助ECLIPSE的优势,使用精准的设计和优秀的代码提示功能,调试工具,使开发人员更容易掌握使用开发工具快速开发FLEX应用。现在最新的版本为今年11月份出版的FLASHBUILDER4随着FLASHBUILDER4的面世,开发FLEX应用程序将更加的完善,高效。FLEX的特点FLEX扩展了传统WEB应用缺乏的元素,减少了服务器之间的通信次数,能更为详尽地展示数据的细节,其最适用的应用程序包括解决多步处理,客户验证,控制可视数据,是桌面应用和WEB应用结合起来,表现出更强大的表现力。FLEX在解决用户体验困难的同时,也带来了新
25、的特点,具体如下1高效性通过增强表示层的效果提高最终用户体验的投资回报,利用简单,引人注目的用户界面及网络及服务器开销及企业集成来生成提高效益,降低成本的应用程序。2易用性利用直观的变成模型开发RIA应用,无需改动现有的WEB开发工作流程。提高互操作性和行业标准,包括XML,SOAP与ECMASCRIPT3灵活性基于组件的开发模型是FLEX应用程序开发十分灵活,开发者精品文档值得下载可利用FLEX中包含的预建组件和扩展组件来添加新的属性和方法,以及创建新的组件,开发者可以控制组件的外观,确定组件如何响应用户交换。4全面性迅速地创建足以带到企业级的性能及高投资收益的应用。45623MVC模式MV
26、C是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件模型、视图、控制器。它们各自处理自己的任务。MODEL(模型)模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBS和COLDFUSIONCOMPONENTS这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。VIEW(视图)视图是用户看到并与之交互的界面。对老式的WEB应用程序来说,视图就是由HTML元素组成的界面,在
27、新式的WEB应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括ADOBEFLASH和象XHTML,XML/XSL,WML等一些标识语言和WEBSERVICES。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。精品文档值得下载CONTROLLER(控制器)控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击WEB页面中的超链接和发送HTML表单时,控制器例如SERVLE
28、T本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户,如图22MVC模式图。789图22MVC模式图精品文档值得下载24JAVABEAN技术JAVABEAN是一种JAVA语言写成的可重用组件。为写成JAVABEAN,类必须是具体的和公共的,并且具有无参数的构造器。JAVABEAN通过提供符合一致性设计模式的公共方法将内部域
29、暴露成员属性。众所周知,属性名称符合这种模式,其他JAVA类可以通过自身机制发现和操作这些JAVABEAN属性。用户可以使用JAVABEAN将功能、处理、值、数据库访问和其他任何可以用JAVA代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、SERVLET、其他JAVABEAN、APPLET程序或者应用来使用这些对象。9101125SERVLET技术SERVLET是一种服务器端的JAVA应用程序,具有独立于平台和协议的特性,可以生成动态的WEB页面。它担当客户请求(WEB浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。SERVLET是位
30、于WEB服务器内部的服务器端的JAVA应用程序,与传统的从命令行启动的JAVA应用程序不同,SERVLET由WEB服务器进行加载,该WEB服务器必须包含支持SERVLET的JAVA虚拟机。SERVLET应用编程接口HTTPSERVLETHTTPSERVLET类包含INIT、DESTROY、SERVICE等方法。其中INIT和DESTROY方法是继承的。1INIT方法。在SERVLET的生命期中,仅执行一次INIT方法。它是在服务器装入SERVLET时执行的。可以配置服务器,以在启动服务器或客户机首次访问SERVLET时装入SERVLET。无论有多少客户机访问SERVLET,都不会重复执行INI
31、T。缺省的INIT方法通常是符合要求的,但也可以用定制INIT方法精品文档值得下载来覆盖它,典型的是管理服务器端资源。例如,可能编写一个定制INIT来只用于一次装入GIF图像,改进SERVLET返回GIF图像和含有多个客户机请求的性能。另一个示例是初始化数据库连接。缺省的INIT方法设置了SERVLET的初始化参数,并用它的SERVLETCONFIG对象参数来启动配置,因此所有覆盖INIT方法的SERVLET应调用SUPERINIT以确保仍然执行这些任务。在调用SERVICE方法之前,应确保已完成了INIT方法。2SERVICE方法。SERVICE方法是SERVLET的核心。每当一个客户请求一
32、个HTTPSERVLET对象,该对象的SERVICE方法就要被调用,而且传递给这个方法一个“请求“SERVLETREQUEST对象和一个“响应“SERVLETRESPONSE对象作为参数。在HTTPSERVLET中已存在SERVICE方法。缺省的服务功能是调用与HTTP请求的方法相应的DO功能。例如,如果HTTP请求方法为GET,则缺省情况下就调用DOGET。SERVLET应该为SERVLET支持的HTTP方法覆盖DO功能。因为HTTPSERVLETSERVICE方法会检查请求方法是否调用了适当的处理方法,不必要覆盖SERVICE方法。只需覆盖相应的DO方法就可以了。SERVLET的响应可以是
33、下列几种类型一个输出流,浏览器根据它的内容类型如TEXT/HTML进行解释;一个HTTP错误响应,重定向到另一个URL、SERVLET、JSP。3DOGET方法。当一个客户通过HTML表单发出一个HTTPGET请求或直接请求一个URL时,DOGET方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用DOGET方法。4DOPOST方法。当一个客户通过HTML表单发出一个HTTPPOST请求时,精品文档值得下载DOPOST方法被调用。与POST请求相关的参数作为一个单独的HTTP请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使
34、用DOPOST方法。5DESTROY方法。DESTROY方法仅执行一次,即在服务器停止且卸装SERVLET时执行该方法。典型的,将SERVLET作为服务器进程的一部分来关闭。缺省的DESTROY方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果SERVLET在运行时会累计统计数据,则可以编写一个DESTROY方法,该方法用于在未装入SERVLET时将统计数字保存在文件中。另一个示例是关闭数据库连接。当服务器卸装SERVLET时,将在所有SERVICE方法调用完成后,或在指定的时间间隔过后调用DESTROY方法。一个SERVLET在运行SERVICE方法时可能会产生其它的
35、线程,因此请确认在调用DESTROY方法时,这些线程已终止或完成。JAVAXSERVLET软件包中的相关类为SERVLETRESPONSE和SERVLETREQUEST,而JAVAXSERVLETHTTP软件包中的相关类为HTTPSERVLETREQUEST和HTTPSERVLETRESPONSE。SERVLET通过这些对象与服务器通信并最终与客户机通信。SERVLET能通过调用“请求“对象的方法获知客户机环境,服务器环境的信息和所有由客户机提供的信息。SERVLET可以调用“响应“对象的方法发送响应,该响应是准备发回客户机的。10111226FILEUPLOAD文件上传组件FILEUPLOA
36、D是APACHECOMMONS下面的一个子项目,用来实现JAVA环境下面的文件上传功能,与常见的SMARTUPLOAD齐名。FIELUPLOAD文件上传组件可以在HTTP/COMMONSAPACHEORG/FILEUPLOAD精品文档值得下载下载,上传的文件要求包括一个根据RFC1867(在HTML中基于表单的文件)编码的选项列表清单。组件FILEUPLOAD可以解析这个请求,并给你的应用程序提供一份独立上传的项目清单。无论每个项目背后如何执行都实现了FILEITEM接口。这里将描述组件FILEUPLOAD库的普通API,这些API比较简单。不过,对于最终的实现,你可以参考最新的API流。每一
37、个文件项目都有一些属性,这些可能在你的应用程序中应用到。比如每一个项目有一个名称NAME和内容类型CONGTENTTYPE,并提供了一个INPUTSTREAM访问其数据。另一方面,你处理项目的方法可能有所不同,这个依赖于是否这个项目是一个规则的表单域,即这个数据是来自普通的表单文本,还是普通的HTML域或是一个上传文件。在FILEITEM接口中提供了处理这些问题的方法,可以更加方便的去访问这些数据。组件FILEUPLOAD使用FILEITEMFACTORY工厂创建新的文件项目。这个给了组件FILEUPLOAD很大的灵活性。这个工厂拥有怎样创建项目的最终控制权。工厂执行过程中上传项目文件的临时数
38、据可以存储在内存中或硬盘上。这个依赖于上传文件的大小即数据的字节。不过这种行为可以在你的应用程序中适当的自定制。27面向对象的分析与设计在经过软件开发各种概念和方法的研究、实践的基础上,对于如何超越程序的复杂性障碍、如何在计算机系统中自然地表示客观世界,人们拿起了思维科学中面向对象技术作为武器,采用基于客观世界的对象模型的软件开发方法,按问题论域设计程序模块,它不是以函数过程、每个数据结构为中心,而是以对象代表问题解得中心环节,它使计算机程序的分析、设计额实现过程和方法改变了过精品文档值得下载去脱节和跳跃的状态,使人们对复杂系统的认识过程和系统的程序设计实现过程尽可能的一致。经验证明,对于任何
39、软件而言,其中最稳定的部分是对应的问题论域,与功能相比,一个问题域中的对象一般总能保持其中的稳定性,因而以面向对象构造的系统的主体结构也是具有较好的稳定性和可重用性。因此,采用“对象消息”的程序设计模式,具有满足软件工程发展需要的更多优势。面向对象设计方法最前的是现实问题空间与软件系统的解空间的近似和直接的模拟。从这些角度讲,现实世界空间中的基本问题是物质和意识,映射到面向对象系统的解空间就是具体事物(对象)和抽象概念(类)。面向对象技术的封装、继承、多态性等不仅支持软件复用,而且是软件的维护工作可靠有效,可实现软件系统的柔性制造,特别是随着INTERNET/INTRANET的发展,网络分布计
40、算的应用和需求日益增长,面向对象技术为网络分布计算提供了基础性核心技术支持。131415精品文档值得下载第三章系统分析与设计操作系统精品课程网站是为了提高教学质量,增加师生交流的一个网上平台,在这个平台上,作为游客可以观看课程信息,包括课程简介,该课程的师资力量,课程实验,课程练习,下载教学或者是学习的资源等;而登陆系统后的学生除了具有游客的所有功能之外,还有在线测试自己的学习状况,在线测试的形式有很多种,包括按条件组题测试,随机测试,按章节顺序测试,错题测试等,同时,学生和可以在在线提问等功能;老师在这个平台上可以在线回答学生提出的问题,同时可以分析学生的错题信息等。31功能分析通过具体的调
41、研和分析,系统主要的用户按角色可以分为游客,学生,教师,和管理员。本人分别从前后台按角色来概要的描述下操作系统的精品课程的主要功能。在系统的前台,主要的用户有还没有登录到后台的系统管理,教师,学生和通过在浏览器地址栏上输入本网站URL地址的游客。这些用户不但可以通过点击相应的功能按钮查看本网站的基本信息,帮助,课程的简要介绍,课程实验,课程练习的简要介绍等静态的信息;而且还可以通过打开下载资源窗口下载教师在后台上传的教学资源,查看师生之间交流的信息,师资力量等;同时通过打开登录窗口进行登录的功能。前台用户的用例图如图31所示精品文档值得下载SYSTEM游客026观看课程简介027观看课程实验0
42、18资源下载007登录008查看课程练习014查看互动留言016查看师资力量图31用户在系统前台用例图系统的后台可以根据角色分为管理员后台,学生后台,教师后台等。不同的角色通过登录窗口登入进不同的后台界面。通过分角色分将系统的后台分为三个后台分别是管理员后台,教师后台和学生后台。在学生后台中学生不但具有游客所具有的所有功能外,同时学生还可以通过点击基本信息查看自己的基本信息,在基本信息界面里,可以对自己的基本信息进行修改,包括密码,描述,出生日期等。学生还可以进行网上答疑或者进行提问,就是学生可以针对留言平台里的留言发表自己的看法,见解,或者提出疑问等。除此之外,学生进行组题测试,就是自己可以
43、通过从数据库中按照不同的方式抽取出题目进行在线的测试。组题的方式分为按条件组题测试、顺序组题测试、随机组题测试、错题测试。测试完抽取出来的题目之后,系统将自动的给出题目的答案,并提示答题正确还是错误,在错题测试时测试完精品文档值得下载后,不但能给出答案,而且将提示是否删除错题记录的提示,在这里学生可以删除自己的错题记录。如下图32学生后台用例图图32学生后台用例图在教师后台中,除了具有游客的所有功能外,同时还具有错题分析和资源管理的功能,错题分析就是可以查看学生的错题记录,在错题记录中,不但可以看到做错题目的学生,和该学生的做错次数,还可以看到错题的详细信息,包括答案。资源管理就是教师可以上传
44、教学资源,包括课件,教学视频,课程学习资料,课程作业等与教学有关的资源;同时教师还可以对自己上传的教学资源进行删除的操作。详细的用例图如图33教师后台用例图SYSTEM学生018资源下载022基本信息修改013网上答疑021在线测试011自动组卷020选择错题测试(015)顺序组题测试017按条件组题测试精品文档值得下载SYSTEM教师013网上答疑010错题分析009资源管理001登录022基本信息修改图33教师后台用例图管理员也拥有游客的所有功能;同时管理员还负责整个网站系统的维护,所以在系统管理员后台可以对课程介绍,课程章节,章节的知识点,实验,练习进行修改添加;除此之外,系统管理员还可
45、以对使用该网站的用户的信息进SYSTEM管理员005教学资源管理004用户管理001登录002管理学生信息003管理教师信息006题库管理(024)添加管理员025课程信息管理022基本信息修改精品文档值得下载行管理,包括添加教师,管理员,学生,和修改删除添加的用户信息。学生在线自测的题目也是管理员录入数据库的,所以管理员后台还有对题库的管理,包括选择题,填空题,判断题,简答题。并对这些题目具有增删改查的权利。详细信息如图34管理员后台管理图34管理员后台管理32系统业务类的分析与设计321系统的业务类通过名词识别法和系统实体识别法等方法可以识别出系统的持久化类和它们之间的关系。系统的实体类有
46、用户类USERINFO;用于描述用户信息的数据结构。题目类SUBJECTINFO,用于描述题目信息的数据结构;课程章节类SECTIONINFO描述课程章节的数据结构,知识点类KENINFO用于描述章节知识点的数据结构;留言实体类MESSAGEINFO描述用户留言的数据结构;错题记录实体类WRONGSUBLOG描述错题记录的数据结构;资源实体RESOUSEINFO描述教学资源的数据结构;描述系统以下用类图这种简单明了的方法分别表示出这些持久化类的名称和属性。它们的类图如下图35系统持久化类图精品文档值得下载图35系统持久化类图322系统的数据结构表留言信息表,数据库表名MESSAGEINFO,用
47、于描述用户留言的数据结构。主键字段是ID,引用了用户表USERINFO中的USERNUM作为外键。和USERINFO表是N1的关系。它的详细信息如表31留言信息表表31留言信息表字段名数据类型必须的PK注释IDINT是是留言的ID号MSGTITLECHAR否否留言的标题MSGCONTENTTEXT是否留言的内容MSGOWNINT是否留言者的ID号试题库PKIDI1SUBJECTNAMESUBJECTTYPESUBJECTIMAGEFK1KENIDSUBKEYSFKEY章节表PKIDBTITLEBABOUTBNUM知识点表PKIDKENTITLEKENABOUTFK1SECTIONIDDIFGR
48、ADE留言表PKIDMSGTITLEMSGCONTENTMSGOWN用户数据表PKIDUSERNUMUSERNAMEPASSWORDSEXEMAILBIRTHDAYTELPHOTOGRADUATEDPOSITIONDEGREENATIONUSERABOUTRESEARCHTVALUATEPOPEDOMADDRUSERCLASS资源信息表PKIDRESNAMERESTYPEFK1RESOWNRESPATHRESABOUTFK2SECTIONIDLOOKTYPE错题记录PKIDPK,FK2SUBJECTIDPK,FK1STUDENTIDCOUNTNUM精品文档值得下载知识点表,数据库表名为KENI
49、NFO描述章节知识点的数据结构。主键为ID,在数据库中设置为自增,SECTIONID是外键,应用了SECTIONINFO表的主键;和章节信息表是N1的关系。它的详细信息如表32知识点表信息表32知识点表字段名称数据类型必需的PK注释IDINT是是知识点的ID号KENTITLECHAR是否知识点的关键字KENABOUTVARCHAR500否否知识点的简要描述SECTIONEDINT是否外键,应用章节的ID标示号DIFGRADEINT是否知识点的难度,系统扩展时使用,默认0章节信息表,数据库表名为SECTIONINFO描述章节信息的数据结构。主键为名为ID,在数据库中设置为自增类型,增量为1。它的详细信息如表33章节信息表表33章节信息表字段名称数据类型必需的PK注释IDINT是是章节的标示ID号,自增BTITLECHAR50是否章节的关键字BABOUTVARCHAR1000否否章节的简要描述资源信息表,数据库表名为RESOUCEINFO,描述资源信息的数据结构表。主键字段为ID,在数据库中设置为自增类型,增量为1;SECTIONID引用了章节精品文档值得下载标示作为主键。它的详细信息如表34资源信息表表34资源信息表字段名称数据类型必需的PK注释IDINT是是资源的标示号RESNAMECHAR100是否资源的描述名称RESTYPEVARCHAR50是否资源的类型RES