【教学课件】第10章在线考试系统的分析与设计.ppt
第10章 在线考试系统的分析与设计,1,0,内容提要,本章介绍面向对象系统的分析与设计,介绍了目前最常用的建模语言UML以及如何用Rose绘制。介绍常用项目评价标准:CMM(Capability Maturity Model For Software)。介绍在线考试系统的设计与开发。利用这个案例进一步巩固本书前面各章节的内容。分别介绍考试系统的数据库结构、考试系统的登录界面、考试系统的考试界面和考试的评分程序。,面向对象的项目分析与设计概述,系统分析(System Analysis)的主要任务是分析问题论域,找出问题解决方案,发现对象,分析内部构成和外部关系,建立软件系统的模型。系统设计(System Design)的主要任务是根据已经确定的系统模型,进行软件体系、流程的设计。,OOAD,OOA(Object Oriented Analysis)就是面向对象系统分析,OOD(Object Oriented Design)就是面向对象系统设计,统称为OOAD,UML(Unified Modeling Language:统一建模语言)是目前最好的OOAD工具。在系统分析过程中,注意力着重在分析问题和系统责任,确定问题的解决方案,建立独立于实现的系统模型,暂时忽略系统实现的相关问题。在系统设计中则着重研究系统的软件实现问题。例如,在系统设计的时候需要考虑将使用的程序设计语言,未来运行环境等等,在系统设计中则不用考虑这些问题。,面向对象建模语言与建模工具,目前面向对象建模语言一般采用国际上最流行的UML语言建模工具一般目前专业的设计工具:Rational Rose,UML发展史,自20世纪70年代面向对象技术出现以后,面向对象技术在软件业界得到了广泛的应用。为了解决复杂软件系统的开发,纷纷推出了各种面向对象的软件工程方法,比较流行的有Booch、Rumbaugh(OMT)、Jacoboson(OOSE)、Coad-Yourdon等等方法,它们各有长处,也各有缺陷。1994-1996年软件工程学家Grady Booch、Ivar Jacobson和James Rumbaugh先后到Rational公司携手合作,以各自原有的方法为基础,并吸收其他方法的长处,共同提出了统一建模语言UML。UML0.9草案在1996年6月发布,它结合了三人方法的主要技术。1997年1月Rational公司向美国工业标准化组织OMG递交了UML1.0标准版本。1997年11月OMG宣布接受UML,并正式颁布了UML1.1作为官方的标准文本,此后,OMG的修改任务组(Revision Task Force:RTF)的专家负责对UML不断进行扩充与完善,相继推出了UML1.2、UML1.3、UML1.4版本。,UML的特点,(1)统一标准:UML融合了当前一些流行的面向对象开发方法的主要概念和技术,成为一种面向对象的标准化的建模语言,结束了以往各种方法的建摸语言的不一致和差别。UML提供了标准的面向对象的模型元素的定义和表示法,以及对模型的表示法的规定,使得对系统的建模有章可循,有标准的语言工具可用,有利于保质保量地建立起软件系统模型。(2)可视化、表示功能强大:UML是一种图形化语言,系统的逻辑模型或实现模型都能用UML的模型图形清晰地表示,UML不只是一堆图形符号,在每一个UML的图形表示符号背后,都有良好定义的定义。UML还可以处理与软件的说明和文档有关的问题,包括需求说明、体系结构、设计、源代码、项目计划、测试、原型和发布等等。(3)独立于过程:UML是建模语言,独立于开发过程。虽然UML与Rational统一过程配合使用,将发挥强大的效用,但是UML也可以在其他面向对象的开发过程中使用,在常规的软件生命周期法中使用。(4)容易掌握:UML的概念明确,建模表示法简洁明了,图形结构清晰,容易掌握使用。学习UML应着重它的三方面的主要内容:UML的基本模型元素,把这些模型元素组织在一起的规则,UML语言的公共机制。只要具备一定的软件工程和面向对象技术的基础知识,通过运用UML建立实际问题的系统模型的实践,很快就能掌握和熟悉UML。,UML绘制工具,目前有很多UML图的绘制工具,比如微软的Viso,Visual Modler和Rational Rose等等。其中最为专业和正规的是Rational Rose。Rose提供一套完整的绘图工具,是Rational公司研制的面向对象的CASE(Computer Asisted Software Engineering)工具。Rose启动画面如图,系统分析与用例图,在计算机软件系统的分析与设计中,首先需要准确地描述用户需求中的功能需求,以便进一步确定系统中应该建立哪些对象。在很长的一段时间内,无论是传统的软件开发还是面向对象的开发方法,都是用自然语言来描述对系统的需求的,也就是把预期的人和系统之间写成剧本来描述这种功能需求。但是这样的做法没有统一的格式,缺乏描述的形式化,随意性比较大,常常容易产生理解上的含混和不准确性。1992年Jacobson在他的著作中提出了Use Case的概念和可视化表示方法Use Case图。作为软件项目的开发和规划中的一个基本模型元素,Use Case的概念和方法受到了IT界的欢迎,很快被广泛应用到许多领域中,常用元素概述,执行者,执行者(Actor)是用户作用于系统的一个脚色(Role),执行者有着自己的目标,通过与系统的交互达到目标。执行者包括人执行者(Human Actor)和外部系统执行者(System Actor)。系统的用户是人执行者,用户通过与系统的交互,操纵系统,完成所需要的工作。执行者不一定是人,它也可以是一个外部系统,该系统与本系统相互作用,交换信息。Jacobson在著作中提出了在确定执行者时应该考虑的一些问题:,用例,Jacobson给Use Case下的定义有两个:Use Case是对一个系统或一个应用的一种单一的使用方式所作的描述。Use Case是关于执行者在与系统对话中所执行的处理行为的描述。,用例,系统设计与动态图,UML的动态图有4个:顺序图、合作图、状态图和活动图,动态模型内容,系统中动态实体之间的通讯可以使用UML中的四个图来描述:序列图(顺序图)、合作图、状态图和行为图(活动图),顺序图,顺序图主要功能是完成某个行为的对象类和这些对象类之间所传递的消息的时间顺序。顺序图的六个元素组成:(1)水平轴:对象轴(2)垂直轴:时间轴(3)对象类角色(Class Role):表示在交互中对象可起的作用。(4)生命线(LifeLine):表示对象存在的时间(5)激活期(Activation):对象执行一个动作的期间(6)消息(Message):表示对象之间的通信。,动态模型,UML,UML是目前软件设计中的最顶级的理论。用例图来做系统分析,动态图做系统设计。UML还包含其他一些非常重要的图:类图(Class Diagram)、状态图(Statechart Diagram)、活动图(Activity Dsiagram)、组件图(Component diagram)和部署图(Deployment diagram)等。,软件项目开发过程标准,在世界范围内,对于一个软件公司有两种认证体系:ISO9001和CMM体系。目前国内外比较流行的体系是CMM体系。,ISO9001简介,ISO9001质量体系认证着重于产品的生产即硬件部分,没有专门的针对软件开发和维护过程质量控制的方法、工具和流程,难以满足软件开发、生产和维护过程的特殊要求。因此,需要寻找一种方法或手段系统、有效地保障软件质量。通过ISO9001所处的级别相当于CMM2到CMM3之间。,CMM简介,CMM(Capability Maturity Model For Software 软件生产能力成熟度模型,以下简称“CMM”),是1987年由美国卡内基梅隆大学软件工程研究所研究出的一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。CMM它是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了众多国家以及国际软件产业界的认可,成为当今企业从事规模软件生产不可缺少的一项内容。,CMM的5个级别,CMM标准共分五级。其中,五级为最高级,即优化级。四级称为已管理级。三级为已定义级,即过程实现标准化。二级为可重复级,在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。一级为初始级,过程无序,进度、预算、功能、质量不可预测,企业一般不具备稳定的软件开发与维护的环境。常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试,CMM的5个级别,在线考试系统的实现,考试系统的主要功能是实现在线考试和客观题的自动评分。,考试系统数据库设计,数据库表“JSP”的结构,考试系统的程序设计,考试系统由四个文件组成,功能如下。(1)test.mdb:考试系统的数据库文件(Access2000/XP格式)。设置数据源test指向该数文件。(2)login.jsp:考试系统的登录界面。(3)test.jsp:考试系统的考试界面。(4)score.jsp:考试系统的评分界面。,考试系统,考试系统,考试系统,小结,本章介绍面向对象系统的分析与设计,介绍了目前最常用的建模语言UML以及如何用Rose绘制。介绍常用项目评价标准:CMM(Capability Maturity Model For Software)。介绍在线考试系统的设计与开发。利用这个案例进一步巩固本书前面各章节的内容。分别介绍考试系统的数据库结构、考试系统的登录界面、考试系统的考试界面和考试的评分程序。,本章习题,10-1 名称解释:OOAD UML CMM(企业笔试题)10-2 列举UML常用的5个图,并说明其功能。(企业笔试题)10-3 CMM分成几级,并对每一级作简单的描述。(企业笔试题)10-4.在Oracle中编写SQL脚本创建如表10-2和表10-3所示的数据库表。10-5.将Access版本的考试系统改编成Oracle版本。(上机完成)10-6.扩充考试系统功能。(1)【课程设计】需求一:为考试添加用户管理功能模块,管理员可以通过管理界面对用户进行添加删除和修改。(2)【课程设计】需求二:为考试系统添加题库管理功能,管理员可以通过管理界面对题库进行添加删除和修改。,