(机械设计及理论专业论文)网上考试系统的需求分析.pdf_第1页
(机械设计及理论专业论文)网上考试系统的需求分析.pdf_第2页
(机械设计及理论专业论文)网上考试系统的需求分析.pdf_第3页
(机械设计及理论专业论文)网上考试系统的需求分析.pdf_第4页
(机械设计及理论专业论文)网上考试系统的需求分析.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

里型唑旦尘兰竺- 垄生一一 型l :至蔓墨竺堕墨查竺塑 文献类型:学位论文 学号:2 0 0 0 0 0 7 2 5 5 3 论文标题:网上考试系统的需求分析 论文作者:姬艳丽 指导教师:文福安 作者单位:北京邮电大学网络教育学院 答辩日期:2 0 0 3 年3 月3 0 日 保密级别:公开 关键词:考试系统需求分析用例分析u m l 面向对象 中文摘要:在现有的远程教育体系中,授课、学习、管理等环节已经有了较成 熟的技术,但教学过程的监督、管理和评价需要进一步地加强。在w e b 上建立 起一套支持大规模在线考试的管理工具是很有必要的。论文在对类似系统和应 用软件开发的实际情况广泛调研的基础上,采用面向对象的分析和设计思想, 运用统一软件丌发过程,全程使用u m l 的建模方法,利用用例分析技术对网上 考试系统进行了需求分析,并基于j 2 e e 架构来实现网上考试系统。需求分析 1 为软件生命周期的第一个阶段,并贯穿于整个软件生命周期,其重要性越来 越突小,盘果前期的需求分析不够完整、深入,势必对需求的后期实现带来潜 在的困难。在本论文中,力求采用基于对象的概念模型来建立问题域模型,最 终完成了考试系统比较完善、合理的需求分析,并通过设计、编码、测试,实 现和验证了所做的需求。系统的多媒体题库支持多种题目类型和各种多媒体素 材并可方便地扩充;系统提出了新的远程考试的实现模式,可以实现网上多 媒体考试。系统丌发时采用的面向对象的需求分析方法和统一软件丌发过程, 为以后解决相关问题积累了许多经验a ! ! 兰坚些尘! 型! 燮。 塑l :耋堕墨竺塑煎鲞坌塑 d i s t a n c e t e s ts y s t e m r e q u i r e m e n t sa n a l y s i su s ec a s ea n a l y s i su m l o b j e c t o r i e n t e d a b s t r a c t o r :t h e p r o g r e s s o ft h ee e d u c a t i o n i s p r o m o t i n g t h e r a p i d d e v e l o p m e n to f i t s t e c h n i q u ea n dt h e o r yn o w ,t h ed i s t a n c e e x a m i n a t i o n s y s t e mi s ak e ym o d u l eo ft h ee e d u c a t i o n p l a t f o r m i ti si n c l u d e di nt h e r e s e a r c ho fe x a m i n a t i o na n dh o m e w o r ks y s t e m w h i c hi sas u b p r o j e c to f t h em i n i s t r yo fe d u c a t i o n s “p r o m o t i n go fm o d e r nd i s t a n c el e a r n i n gp r o j e c t ” t h i st h e s i sm a i n l yd i s c u s s e st h er e q u i r e m e n t sa n a l y s i s a f t e rw i d es u r v e yo fs i m i l a rt e s ts y s t e m t h i st h e s i sa n a l y s e sa n d d e s i g n s t h ed i s t a n c e e x a m i n a t i o ns y s t e mb yo b j e c t o r i e n t e dw a y ,m o d e l si t b yu m l , r e a l i z e si tb a s e do nt h ej 2 e ea r c h i t e c t u r el ns e q u e n c e ,t h i st h e s i sp r e s e n t s u m l p o i n t s o u tt h ei m p o r t a n c eo fr e q u i r e m e n t sa n a l y s i s ,i i l u s t r a t e st h e u t i l i t y o fu s ec a s e d u r i n gr e q u i r e m e n t sa n a l y s i s ,a n d d i s c u s s e s o b j e c t o r i e n t e d a n a l y s i s s e c o n d l y , i tc o m e st ot h em o s ti m p o r t a n tp a r to fi h i s t h e s i st h a ti st h er e q u i r e m e n t sa n a l y s i so nt h ed i s t a n c e t e s ls y s t e m w h i c h i n c l u d e sf o u ra s p e c t s :u s ec a s ea n a l y s i s ,d a d ad e s c r i p t i o n ,f u n c t i o na n a l y s i s a n di n t e r f a c ed e s c r i p t i o n i n a d d i t i o n t h i st h e s i sc o n c l u d e st h ed i s t a n c e e x a m i n a t i o nm o d e ii nt h ef o ur t hc h a p t e rf i n a l l y ,i td i s c u s s e st h ep r o c e s s i n g o fm u l t i m e d i at e s t q u e s t i o n si nd i s t a n c e e x a m i n a t i o ns y s t e m i np r a c t i c e a l i t y p e so ft e s t q u e s t i o n s a r ea n a l y z e db ya b s t r a c tw a yt og e ts e v e r a lp r a x i s t e m p l a t e s t h ew e bm u l t i m e d i at e c h n o l o g yi sa p p l i e dt ot h ei n t e g r a t i o no f t e x ta n dm u l t i m e d i am a t e d a l i nf a c t ,t h ef i n a l ep a r tr e a l i z e st h er e q u i r e m e n t s a n a l y s i so ft h ed i s t a n c e - t e s ts y s t e m 坐墼壁型墼一 业耋堕墨竺塑蔓查塑 第l 章绪论 1 1 论文背景 1 1 1 现代远程教育的兴起 人类进入2 1 世纪,科学技术同新月异,知识经济初见端倪。各国综合国力 i f j 竞,j 将1 i 要体现在人4 素质的竞争。人彳的培养,教育是关键。社会的快速 发腱,对人提出更高的要求,使得教育的目标将发生本质性的变化。除了传统 的学校教育外,继续教育和终身教育对于每个人在未来社会中的发展成为一种 必一甜。这种教育有大众化、终身化、自主化的特点,要求大覆盖面、多种方 式、令方位的服务,保证在任何时间、任何地方受教育者都能接受所需的教 育。 近年来,i t 技术的发展给远程教育带来了巨大的变化,传统的以邮政业务为 依托的远程教育模式,已经被现代网络技术等新技术全面地改造,远程教育技 术研究迅速发展,形成了一种新的教育形式一现代远程教育。现代远程教育可 以在目前教育资源分靠不平均的现状下通过麸享进行合理化的重新配置,使有 限的教育资源得到合理利用和共享。这种教育方式具有开放式的特点,为社会 侮一一个成员的学习提供机会和可能,实现个性化学习。现代远程教育是一种全 新的教育模式,这种模式下不仅是学生的学习观念产生变革,教师的教学方 法、教育的管理体系与传统的教育模式都将有很大区剐,现代远程教育模式的 丌放式特点有利于构建终身教育学习体系。发展现代远程教育,有利于促进新 兴信息服务产业和教育软件产业的形成和发展。在现代远程教育的发展过程中 必然伴随着对网络技术和基于网络的教育软件的需求。因此现代远程教育的发 ) 醍也必然伴随着相关产业的出现而发展。 l1 2 国内外现代远程教育技术产品的发展现状 1 国外 目前国际上网络教育发展的趋势向双模式的方向发展,即采用虚拟校园和 4 爻际学校相结合的方式。从技术上看将以增强网络学习的交互性为主,例如网 络授谍、虚拟实验、网络课程制作、教育代理工具。在学习中突出协同学习、 团队学习。在管理上体现出对学生的学习行为管理、智能的网络课程管理等a 目前各国都在加紧研制新一代远程教学系统,它的目标是提供更好的系统 交匾能力、网络服务质量和系统可扩展性。新一代的远程教学系统将在 i n t e m e th 运行动念实时多媒体信息,实现虚拟沉浸式交互e 1 = 境,通过广域网 人规模地进行实时网上授课和优质课程的视频点播。新一代远程教学系统的网 络传输结构将具有很强的可扩展性和不同系统剧的互操作性。教育信息内容从 些旦堂坠丛量兰生堕竺墨 坚! :耋堡墨竺竺堕鲞坌塑 简睢的文件系统组织向教育信息资源库建设发展,从以课程教学内容向以学科 体系为出发点构建教学内容过渡。学习软件将体现学习者主动学习、个性化学 列和探索性学习的新型教学思想。网络教育软件组件库技术和课件自动生成工 县将使得规模化和产业化制作网络教育软件产品成为可能。教学过程监督、管 理、评价和网络教育系统的组织、实施、安全控制、管理将得到一体化设计和 实施。 在美国,每年大约有近1 ,7 0 0 万人通过网络接受教育和培训;在欧洲, 网络教育规模也很大,巨大的需求推动了网上教育业的快速发展。目前,在国际 市场上比较著名的网上教育软件产品有:l o t u s 公司的l e a r n i n g s p a c e 、英属 哥伦比亚大学计算机科学系丌发的w e b c t 、w b ts y s t e m 公司的t o p c l a s s 和加拿大s i m o nf r a s e r 大学丌发的v i r t u a l u 等。美国的n t u 、英国的o p e n c o l l e g e 都是十分典型的网络教育示例。 整体来说国外的网上考试和作业有一定的优势,但在师生交互、作业管 理上还是停留在基于b b s 、m a l l 的异步方式,一定范围内的考试采用的技术还 停留在局部范围内基于c l i e n t s e r v e r 结构的应用程序,真正应用性很好的作业 和考试管理工具也还没有出现。 2 国内 从国内角度来说。1 9 9 6 年国家批准清华大学、北京邮电大学、浙江大学 和湖南大学四所院校进行网上大学试点,并初步取得了成功。随后国家又批准 了4 0 余院校丌展远程教育。经过几年的建设我国的现代远程教育已经初具规 模,形成了一批以教育部定点高校为代表的远程教育基地,远程教育技术也随之 得到快速发展,整个远程教育的面貌发生了革命性的变化 幽内许多大学在丌展本校网上教育的同时开发了一些网上教学支持平台, 特别是一些支持教学的智能工具和效率工具。比如,北京邮电大学的网络交互 多媒体课件制作工具、网上考试系统、作业提交系统、校园管理系统等。许多 研究机构和企业也积极参与远程教育技术研究,形成了一批有自主知识产权的教 靠技术成果,为我国远程教育事业的发展提供了有力保障。但随着远程教育开展 些新问题逐渐显现出来,并已经成为网络教育进步发展的瓶颈。 1 1 ,3 作业与考试管理的现状 在现有的远程教育体系中t 授课、学习、管理等环节已经有了较成熟的技 术、整个教学环节中作业和考试管理相对薄弱。在作业管理方面提供的仅仅是 简草的作业发布功能。作业的提交大多数通过m a i l 实现,不利于教师的批改; m | zi 式必限r些小型的自测大规模的考试还是基本保留在教室中。我国 的l 删络教阿规模要远远超过国外的规模,且相对较为集中,采用m a i l 、b b s 的 力式远小能解决师生交互上的需求,在考试上也要突破一定的规模,采取不同 坠型堕旦墨兰里i 燮 些! 兰兰墨竺竺重查坌堑 的形式。所以在w e b 上建立起一套支持大规模在线考试和作业管理工具是很 有必要的然而基于网络环境的作业系统、考试系统的相对缺乏,虽然有一些解 决方案但大多还处于试用阶段离实用还有较大距离。严重制约了远程教育的进 步发展,凼此,j i :发网络环境下的考试和作业管理系统迫在眉睫。现有的国内 教育软件和系统对于现阶段开展网络教育起到了促进的作用,但在总体上缺乏 统。盹和规范性,技术上也没有形成完整的体系,无法构建实用的高质量的网 络教育支持系统,满足我国国家发展网络教育的需要。而国外的网络教育技术 0 i 适合中国国情,必须进行适合我国国情和教育科技现状的相关新技术和关键 技术的研究,丌发出适合我国网络教育发展需求的先进的软硬件系统,从而既 能保证网络教育的质量,又能够大规模地普及推广。 因此,国家启动了“远程教育关键技术及示范工程”项目,作为十五技术 攻关的一部分,技术攻关的主要目的,是为了攻克目前制约我国网络教育发展 的关键性技术难点,探索符合我国国情的网络教育的模式、规范和标准,研究 丌发一批具有自主知识产权的网络教育软硬件系统,并建设不同层次的网络教 臼1 i 范。l 程,为构建国家的现代化教育的框架提供孥实基础。 作业与考试管 理工具作为“远程教育关键技术及示范工程”项目中的一个子项目,于 2 0 0 2 年1 月正式启动,其目的就是为了解决现代远程教育中作业与考试的1 1 题。 12 论文研究内容 作业与考试管理工具作为“远程教育关键技术及示范工程”项目中的 一个子项目,其总体目标是开发一个与远程教育多媒体课件联系紧密、基于 w e b 的多媒体作业管理工具和考试管理工具,提供灵活的教师管理功能和学 生访问功能,支持大规模的在线学习和考试。本论文的范围仅涉及到考试管理 部分,采用统一软件开发过程,运用面向对象的分析方法,设计过程尽量采用 u m l ,对考试管理进行全面的需求分析,并简述设计与实现的部分内容本考 试管理软件要满足以下要求:保证考试安全:符合我国教育信息化技术标准; 产品实用,适合我国远程教育软硬件环境:技术先进,符合j 2 e e 规范。 兰业坠生叁兰里卫型銎生一 ! = ! ! :查堕墨竺塑量鲞坌堑 第2 章系统开发方法的确定 2 ,1 两种开发方法的比较 软件的丌发过程有面向过程和面向对象( 0 0 ) 两种方法。面向过程的程 序设计思想以功能为划分模块的依据,这为早期的程序设计提供了许多便利, 它是以过槲作为分析的主题,着重强调一个系统中发生的过程以及由一个过程 的纪粜输f 5 作为卜。个过程输入的数据流动,分析时采用自顶向下的方法,不 断地将复杂问题分解为简单问题,直到只留下许多易实现的4 、问题为止,这种 力法也最符合程序人员一直趋向于按功能来思考问题的方法,但由于近十年来 盟分析并设计的系统逐渐庞大复杂,此时面向过程的设计就难以胜任这些新要 求首先,系统的组成预先不可知:另外,系统组成之间的结果关系也并非轻 易能够弄清楚,因此面向对象的方法成为当今计算机领域研究的热点。 面向对象方法是建立在任何事务都可以用对象来表示的基础上,在系统分 析和设计时围绕客观世界的对象或用户对客观世界的映像来组织,由于将数据 和对数据的行为操作结合为一个集成的对象对待,系统的修改只需改变和增删 些操作即可,其基本的对象结构并不发生变化,且面向对象分析法中的对象 时客观世界对象的直接映像,因此分析设计的系统更易理解,面向对象方法使 模块化,信息隐减与抽象这三种软件工程的思想更加深层渗透,面向对象方法 t ,的类、继承、封装和多念性等特点均适应现代软件工程的特点。 面向对象的开发强调从问题域的概念到软件程序和界面的直接映射;心理 学的研究也表明,把客观世界看成是许多对象更接近人类的自然思维方式。对 象比函数更为稳定;软件需求的变动往往是功能相关的变动,而其功能的执行 戒t 一一一对象通常不会有大的变动。另外,面向对象的开发也支持、鼓励软件 j 程实践中的信息隐藏、数据抽象和封装。在一个对象内部的修改被局部隔 离。面向对象开发的软件易于修改、扩充和维护。 面向对象也被扩充应用于软件生命周期的各个阶段从分析到编码。面向 对象丌发的使用鼓励重用,不仅软件的重用。还包括分析、设计的模型的重 用。面向对象的丌发还支持并发、层次和复杂等一些在目前的软件系统中常见 旧观像。这! 复杂系统通常包含由多个子系统组成的层次结构。面向对象的开 发支持丌放系统的建设;利用不同的应用来进行软件集成有了更大的柔性。最 后。面向对象丌发的使用可以减小开发复杂系统所面临的危险,主要是因为系 统集成遍前i 软件生命周期的各个阶段。下面简单介绍一下面向对象的分析与设 汁。 2 i 1 面向对象的分析与设计 面向对象的丌发模型突破了传统的瀑仰模型,将开发分为面向对象分析 些皇些兰尘! 型生! 坠一 1 11 :耋堕墨竺塑堕鲞坌堑 ( o o a ) 、面向对象设计( o o d ) 、和面向对象编程( o o p ) 三个阶段。分 机阶段产生整个问题空间的抽象描述,在此基础上,进一步归纳出适用于面向 对象编程语言的类和类结构,最后形成代码。 o o a 是o o 方法在分析领域的反映和延伸,整理用户需求,并建立问题 ,精确模型的过程。o o a 的基本任务是运用0 0 方法,对问题与进行分析和 理解,找出描述问题域的对象和类,定义这些对象和类的属性与服务,以及它 们之间所形成的结构,静态联系和动态联系。o o a 的最终目的是生成一个符 合用户需求、并能够直接反映问题的o o a 模型及其软件需求规格说明。o o a 的基本过程的主要活动包括确定属性、定义服务、建立结构、确定关联。这些 过程的执行次序是可以改变的,某些过程可能会重复地发生。 o o d 足用o o 的观点建立求解空间模型的过程。在o o 方法中,o o a 和o o d 之间有密切的衔接关系,从o o a 到o o d 是个逐渐扩充模型的过 程。在o o a 的分析建模过程中是以对象的问题为中心,可以不考虑任何与特 j 正汁算机肯芙的问题。而o o d 则是用o o 方法建立求解与模型的关系的过 程,是针对计算机的开发活动。o o d 的目标是生成对问题域的表示并将这种 表示映射到计算机的求解语占中。由于o o d 方法在概念和表示方法上的一致 性,使得分析和设计的界限比较模糊,许多分析结果可以直接映射成设计结 果,而在设计过程中又会反过来假设和补充对系统需求的理解。因此,分析和 没计活动是一个反复交替进行的过程。在设计过程中,应遵循些基本准则。 o o d 分为两个阶段:即高层设计阶段和低层设计阶段。高层设计阶段开 发系统的结构,构造系统的总体模型及用户界面等。低层设计集中类的详细设 ,包括对象的关联,接e l 形式及实现服务的算法等。大多数系统的o o d 模 型在逻辑上多有四大部分组成,他们是:问题域子系统、人机交互子系统、 任务管理子系统和数据管理子系统。 图2 - 1o o d 的四个部分 软件开发过程是从最初的面向用户、面向业务的初步需求分析模型转变成 面向最终产品构架的详细需求分析模型,再转变成软件设计模型直至程序编码 f f j 发腱过手i j ! 。下罔展示了o o a 、o o d 在这个过程中的位置: 坐羔堕些坐苎型生塑竺苎一 塑! :耋堕墨堑塑量查坌塑 图2 - 2 软件开发过程 2 2 网上考试系统的开发方法 对于网上考试系统来说,不仅仅要实现单纯的网上考试的功能,而且要考 虑到其他的基本的支持功能,如:账号管理、课程管理、考试管理、批改功能 等,这么一个庞大的系统,面向对象的开发思想正是首选。 统软件j t 发过程是西向对象思想的丌发过程。是软件开发过程进化的必 然结果,近年来为大中型的项目开发所采用。这也正适合于本系统的开发要 求,那么本系统的开发就采用以面向对象思想指导的统一软件开发过程。 在准备软件系统的所有蓝图的时候,“统一过程”使用的是“统一建模语言 ( l n i f ie d m o d e i n gl a n g u a g e ) ”。事实上,u m l 是“统一过程”的有机组成部 分它们是被同步开发的,下面简要介绍一下u m l 建模语言和统一软件开发 过程的主要内容。 兰兰些坚生笠兰堡上兰二! 一一 塑! 耋堕墨堑塑重查坌堑 2 3 标准建模语言uml 概述 23 1 什么是uml u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) ,是种标准的图形化建模语言,它 足而向对象分析与设计的一种标准表示。u m l 不是一种可视化的程序设计语 。,而是种可视化的建模语言;u m l 不是工具或者是知识库的规格说明,而 址种语啬舰格说明,是一种表示的标准:u m l 不是过程和方法,但是允许任 种过程和方法使用它。总之,它是一种定义良好、易于表达、功能强大且 背遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它 的作用域一i 限于支持面向对象的分析与设计,还支持从需求分析开始的软件开 发的全过程。u m l 是一种面向对象的建模语言,它的主要作用是帮助我们对软 件系统进行面向对象的描述和建模,它可以描述这个软件开发过程从需求分析 直到实现和测试的全过程。u m l 通过建立各种类、类之间的关联、类,对象怎样 相互配合实现系统的动态行为等成分( 这些都称为模型元素) 来组建整个模 ,裂,刻画客观世界。u m l 提供了各种图形,比如u s ec a s e 图、类图、顺序图、 协作图、状态图等。来把这些模型元素及其关系可视化,让人们可以清楚容易 的理解模型。我们可以从多个视角来考察模型,从而更加全面的了解模型,这 t l id 个模型元素可能会出现在多个图中,对应多个图形元素。 2 3 2u m l 的架构 u m l 是由图和元模型组成的。图是u m l 的语法,而元模型则给出图的意 思,是u m i 。的语义。u m l 的语义是定义在一个四层建模概念框架中的,其层结 构如下: 1 元元模型层 组成u m l 的基本元素“事物”,代表要定义的所有事物。 2 元模型层 组成了u m l 的基本元素,包括面向对象和面向组件的概念。这一层的每一 个概念都是元元模型中“事物”概念的实例。 孰篇u 层m l 的模戮鼢刷每个概念都是元模型中概念旷个实例,:q ej | i l 成了的模型,这一层的每个概念都是兀模型中檄怎阴一i 、头例 层的模型通常叫做类模型或者类型模型。 揣篡器所有元素都是u m l 模型的例子。这一层中的每个概念都是这个膳巾的所有所有元素都是 模型的例子。这一层甲阴母个僦:蒜邵疋 模型层的一个实例也是元模型的一个实例。这一层的模型通常叫做对象模型 战耍例模型。 坐旦竺坐坐生兰生竖竺兰一 塑! 耋兰墨竺堕要耋坌堑 23 3 u m l 的主要内容 客观世界是一个复杂巨系统,需要从不同的角度来考察,才能真正理解这 个系统。为了能支持从不同角度来考察系统,标准建模语言u m l 定义了下列5 炎、) 七9 种模型图: 1 用例图 用例图从用户角度描述系统功能,并指出各功能的操作者。 2 静态图( s t a r i cd i a g r a m ) 包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义 系统q 一的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构 ( 炎的属性和操作) 。对象图是类图的实例,几乎使用与类图完全相同的标识。 他仃j 的不恫点在j :对象图显示类的多个对象实例,而不是实际的类。包由包或 类组成,表示包与包之间的关系。包图用于描述系统的分层结构。 3 行为图( b e h a v i o rd i a g r a m ) 行为罔描述系统的动态模型和组成对象间的交互关系。其中状态图描述类 的对象所有可能的状态以及事件发生时状态的转移条件。通常状态图是对类图 的补充。在实用上并不需要为所有的类画状态图。而活动图描述满足用例要求 所要进行的活动以及活动问的约束关系,有利于识别并行活动。 4 交互图( i n t e r a c t j v ed ia g r a m ) 交互图描述对象问的交互关系。其中顺序图显示对象之间的动态合作关 系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述 z t 象问的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。如果 强调时问和顺序则使用顺序图:如果强调上下级关系则选择合作图。这两种图 合称为交互图。 5 ,实现图( i m p i e m e n t a t i o nd ia g r a m ) 其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件 川+ 能足一个资源代码部件、一个_ - i t $ j j 部件或一个可执行部件。它包含逻辑类 或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。 配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设 备( 用节点表示) 以及它们之间的连接关系。也可显示连接的类型及部件之间的依 赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应 关系。 从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求:其 欠根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行 i hj 川,a 筇,步t j 第步巾所建0 :的模型都足静态的,包括用例图、类图 ( 也食包) 、对象图、组件图和配置图等五个图形,是标准建模语言u m l 的静态建 模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状 坐旦竺些尘兰竺l 些釜l 一 型! :垄堕墨竺塑堕查坌堑 态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建 模语言u m l 的动态建模机制。因此,标准建模语音。u m l 的主要内容也可以归纳 为静态建模机制和动态建模机制两大类。 234um l 的静态建模机制 任何建模语言都以静态建模机制为基础,标准建模语言u g l 也不例外。 u m l 的静态建模机制包括用例图( u s ec a s ed i a g r a m ) 、类图( c l a s sd i a g r a m ) 、 对象图( o b j e c td i a g r a m ) 、包( p a c k a g e ) 、构件图( c o m p o n e n td i a g r a m ) 和配 封斟( d e p l o y m e o td i a g r a m ) 。 1 用例图 ( 1 ) 用侧模型( u s ec a s em o d e l ) 用例模型描述的是外部执行者( a c t o r ) 所理解的系统功能。用例模型用于需 求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和 川厂1 对需求规格达成的共识。在u m l 中,一个用例模型由若干个用例图描述, j j 例幽主要元素是用例和执行者。 ( 2 ) 用例( u s ec a s e ) 从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。在u m l 中用例被定义成系统执行的一系列动作,动作执行的结果能被指定执行者察 觉到。在u m l 中,用例表示为个椭圆。 ( 3 ) 执行者( a c t o r ) 执行者是指用户在系统中所扮演的角色。其图形化的表示是一个小人。 ( 4 ) 使用和扩展( u s ea n de x t e n d ) 除了包含执行者与用例之间的连接外,还有另外两种类型的连接,用以表 ,j ;用例之间的使用和扩展关系。使用和扩展是两种不同形式的继承关系。当一 个用例与另一个用例相似,但所做的动作多一些,就可以用到扩展关系。当有 人块栩似的动作存在予几个用倒,又不想重复描述该动作时,就可以用到使 川关系。 2类图、对象图和包 类( c 】a s s ) 、对象( o b j e c t ) 和它们之间的关联是面向对象技术中最基本的元 素。对- 二一个想要描述的系统,其类模型和对象模型揭示了系统的结构。在 u m i ,中,类和对象模型分别由类图和对象图表示。 “嚣c l a s sd i a g r a m ) 描述类和类之白j 的静态关系。它不仅显示了信息的结类图() 描述类和类之间的静态关系。它小仅显不j1 百思阴鲔 构,1 , 1l 还描述了系统的行为。类图是定义其它图的基础a 汜:鬻( 嘣o b j 象e c t ) 与删 对客观世界的理解丰目关。剐 通常用对象描述客观世对象 与我们对客观世界的理解相关。我们通常用对象于曲迎各犹匹 兰塑坠【三叁兰丝- :鱼竺 i 兰! :兰堕墨竺塑苎查坌堑 界中某个具体的实体。所谓类( c l a s s ) 是对一类具有相同特征的对象的描述。 而对象是类的实例( i n s t a n c e ) 。 ( 3 ) 关联关系 关联( a s s o c i a t i o n ) 表示两个类之阳j 存在某种语义上的联系。 ( q ) 继承关系 人们将具有共同特性的元素抽象成类别,并通过增加其内涵而进步分 炎。1 1 :i :i 门对象方法中将时者称为一般元素、基类元素或父元素,将后者称为 特殊元素或子元素。继承( g e n e r a l i z a t i o n ) 定义了一般元素和特殊元素之间的 分类关系。 ( j ) 依赖关系 有两个元素x 、y ,如果修改元素x 的定义可能会引起对另一个元素y 的定 义的修改,则称元素y 依赖( d e p e n d e n c y ) 于元素x 。 ( 6 ) 类图的抽象层次和细化( r e f i n e m e n t ) 关系 在需求分析阶段,类图是研究领域的概念;在设计阶段,类图描述类与类 之间的接口;而在实现阶段,类图描述软件系统中类的实现。 ( 7 ) 约束 在u m l 中,可以用约束( c o n s t r a i n t ) 表示规则。约束是放在括号” ) 中的一 个农达式,表示一个永真的逻辑陈述。在程序设计语言中,约束可以由断言 ( a s s e r t i o n ) 来实现。 ( 8 ) 对象图、对象和链 u m i 。中对象图与类图具有相同的表示形式。对象图可以看作是类图的一个 实例。对象是类的实例:对象之间的链( l i n k ) 是类之间的关联的实例。对象与 类的图形表示相似,均为划分成两个格子的长方形( 下面的格子可省略) 。上面 的格子是对象名,对象名下有下划线;下面的格子记录属性值。链的图形表示 与关联相似。对象图常用于表示复杂的类图的一个实例。 ( 9 ) 包 个最古老的软件方法问题是:怎样将大系统拆分成小系统。解决这个问题 的个思路是将许多类集合成一个更高层次的单位,形成一个高内聚、低耦合 的类的集合。这个思路被松散地应用到许多对象技术中。u m l 中这种分组机制 叫也( p a c k a g e ) 3 构件图和配置图 构件图( c o m p o n e n td i a g r a m ) 和配置图( d e p l o y m e n td i a g r a m ) 显示系统实现 时的一些特性,包括源代码的静态结构和运行时刻的实现结构。构件图显示代 夺身的结构,配置图显示系统运行时刻的结构。 2 3 5u m l 的动态建模机制 1 消息 旦型竺旦! 二坐重_ 兰 一i 型1 兰蔓墨丝塑蔓查坌塑 在面向对象技术中,对象问的交互是通过对象问消息的传递来完成的。在 l 1 m i 的四个动态模型中均用到消息这个概念。通常,当个对象调用另一个对 象中的操作时,即完成了次消息传递。当操作执行后,控制便返回到调用 当。 2 状态图 状念图( s t a t ed i a g r a m ) 用来描述个特定对象的所有可能状态及其引起状 态转移的事件。大多数面向对象技术都用状态图表示单个对象在其生命周期中 的行为。一个状态图包括系列的状态以及状态之间的转移。 3 顺序图 顺序罔( s e q u e n c ed i a g r a m ) 用来描述对象之间动态的交互关系,着重体现 刈象矧消息传递的对制顺序。顺序图存在两个轴:水平轴表示不同的对象,垂 直轴表示时削。顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对 象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在 的。对象问的通信通过在对象的生命线问画消息来表示。消息的箭头指明消息 的类型。 4台作图 合作图( c o l l a b o r a t i o nd i a g r a m ) 用于描述相互合作的对象间的交互关系和 链接关系。虽然顺序图和合作图都用来描述对象问的交互关系,但侧重点不 样。顺序图着重体现交互的时间顺序,合作图则着重体现交互对象间的静态链 接关系。 5 活动图( a c t iv i t yd i a g r a m ) 活动图的应用非常广泛,它既可用来描述操作( 类的方法) 的行为,也可以 描述_ j 例和对象内部的工作过程。活动图是由状念图变化而来的,它们各自用 r 不同的目的。活动图依据对象状态的变化来捕获动作( 将要执行的工作或活 动) 与动作的结果。活动图中一个活动结束后将立即进入下一个活动( 在状态图 t j 状念的变迁可能需要事件的触发) 。 23 6u m l 在软件开发过程中的应用 u m l 的目标是以面向对象图的方式来描述任何类型的系统具有很宽的应用 领域,其中最常用的是建立软件系统的模型。 u m l 适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶 段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统 ,:$ 兴趣f 门外部角色及其对系统( 用例) 的功能要求。分析阶段主要关心问题域中 的卜要概念( 如抽象、类和对象等) 和机制,需要识别这些类以及它们相互f ;自j 的 关系,并用u m l 类图来描述。为实现用例,类之间需要协作这可以用u 忆动态 _ ;:| 犁柬描述。在分析阶段,只对问题域的对象( 现实世界的概念) 建模而不考虑 北京邮i u 人学坝j 论史 蚓f :考试系统的需求分析 定义软件系统中技术细节的类( 如处理用户接口、数据库、通讯和并行性等问 题的类) 。这些技术细节将在设计阶段引入因此设计阶段为构造阶段提供更详 川的舭格说l j 。 编程( 构造) 是个独立的阶段,其任务是用面向对象编程语言将来自设计 阶段的类转换成实际的代码。在用u m 。建立分析和设计模型时,应尽量避免考 虑把模型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分 机系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。 u m i 。模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测 试、系统测试和验收测试。不同的测试小组使用不同的u m l 图作为测试依据; 单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使 j j 崩例图束验证系统的行为:验收测试由用户进行,以验证系统测试的结果是 甭满足在分析阶段确定的需求。 24 统一软件开发过程 当前,软件的趋势是朝着更大更复杂的系统发展。这部分地是因为计算机 的处理能力每年都在增大,导致用户对它的期望更多。同时,这种趋势也受到 为交流各种信息( 从纯文本到格式化文本到图像到图表再到多媒体) 而不断扩 人旺联嘲的使用的影响。我们需要更符合我们的需要的软件,但是,这种需要 反过来又使得软件越来越复杂。“统一软件开发过程”正是我们在软件开发上 面临的难题的解决之道。 第一点也是最重要的一点是,“统过程”是软件开发过程。软件开发过 程是将用户的需求转化为一个软件系统的一系列活动的总称。然而,“统一过 程- ,不仅仅是一个过程。它是一个通用过程框架,可以应付种类广泛的软件系 统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。 “统过程足基于组件的,这意味着利用它开发的软件系统是由组件构 成的,组件之间通过定义良好的接口相互联系。 图2 - 3 显示了统一过程的一系列工作流。 些里型些尘兰竺l 兰型l 一型! :垄堕墨堕竺重查坌塑 需求 分析 设训 实现 测试 用例模型 分析模型 口口 设计模型实施模型 实现模型 阁2 3 统一4 过程是从需求到测试的一系列工作流 测试模型 首先丌发人员捕获客户需求作为用例模型中的用例,然后分析并设计系统 来满足这些用例,这样便首先创建了一个分析模型,然后是设计模型和实施模 型:进而在实现模型中实现该系统,实现模型中包括所有的代码,即构件。最 后,丌发人员准备一个测试模型来验证系统是否能够提供用例中描述的功能。 真l 卜使“统一过程”与众不同的方面可以用三个句话来表达:它是用例驱动 的、以基本架构为中心的、迭代式和增量性的。 24 1 统一过程是用例驱动的 软件系统是为了服务于它的用户而出现的。因此,为了构造一个成功的软 什系统,必须了解其预期的用户所希望和需要的是什么 川户( u s e r ) 这个术语所指的不仅仅是人,也可以是其他系统。从这个 意义来况,术语用户代表了与所开发的系统进行交互的某个人或某件事( 例 如,被提及的系统之外的另一个系统) 。 下面以“题库管理”为例来说明用户与系统的交互: 臼 里型坐型型l 1 业塑墨竺些重型塑 r 二fj 竹胖m u c 3 1 竹胖卷雌 e a ) ) 、 u c 3 2 出巷、 e x t e n d ) 、 一k 一一 一 。a ,) 一一一- 懒1 雌 一一一一一”歹7 1 。7 一、一一7 7 教师 一一7 。7 c b j ,f u c 3 4 试地试尝 ,一,7 7 ,_ 一、e e b ) u c 3 5 审核试卷 图2 4 用例举例 这个交互就是一个“用例”。一个用例就是系统中向用户提供一个有价值的 纷果的某项功能。用例捕捉的是功能性需求。所有用例结合起来就构成了“用 例模型”,陔模型描述系统的全部功能。这个模型取代了系统的传统的功能规 范说明。一个功能规范说明可以描述成对这个问题的回答:需要该系统做什 么? 面用例战略则可以通过在该问题中添加几个字来描述;需要该系统为每个 j ”,、做什么? 这几个字有着重大意义。它们迫使我们从用户的利益角度出发进 行考虑,而不仅仅是考虑系统应当具有哪些良好功能。 用例不只是一种确定系统需求的工具,它们还能驱动系统设计、实现和测 试的进行,也就是说,用例可以驱动开发过程。基于用例模型,开发人员可以 创建系列实现这些用例的设计和实现模型。开发人员可以审查每个后续简历 的模型是否与用例模型一致。测试人员测试实现以确保实现模型的构件f 确实 i 吧了j i _ l 例。因此用例不仅启动了丌发过程,而且使其结合为一体a 用例驱动 ( u s e c a s ed r i v e n ) 表 ! _ j r 发过程是沿着。个流一系列从用例得到的工作 流f n 进的。用例被确定,用例被设计最后用例又成为测试人员构造测试用例 的基础。 盟然用例确实可以驱动过程,但我们不能孤立地选择用例,它们与系统构 坐璺型! ! :! 兰塑! :! 鲨 型! :查堕墨竺塑堡查坌堑 架足协调发展的。也就是说,用例驱动系统构架,系统构架反过来影响用例的 选择。因此,系统构架和用例会随着生命周期的延续而逐渐完善。 242 统一过程是以架构为中心的 软件基本架构这个概念体现了系统最为静态和动态的方面。基本架构根据 食、l k 的需求束设计,而这种需求则是由用户和其他利益关联人所感知,并反映 铂一用例之【 】。然而,它还受其他许多因素的影响;软件运行的平台( 例如计算 机基本结构、操作系统、数据库管理系统和网络通信协议等) 、可得到的可再 川构件( 比如图形用户界面框架) 、配置方面的考虑、己有系统和非功能性需 求( 比如性能和可靠性) 等。基本架构是一个关于整体设计的视图,在这个视 图中,省略了一些细节,以使软件的更为重要的特征体现得更为明显。 用例和基本架构之间是相互影响的:一方面,我们实现的用例必须与基本 架构相适应:而另一方面,基本架构必须留有实现现在和未来需要的所有用例 的。削。在实践中,基本架构和用例必须平行丌发。 14 3 统一过程是迭代和增量的过程 丌发软件产品是一项艰巨的任务,可能会持续几个月甚至一年以上。将这 项工作划分为较小的部分或袖珍项目是切实可行的。每个袖珍项目都是一次能 够产生一个增量的迭代过程。迭代是指工作流中的步骤,而增量是指产品中增 力的部分。为了获得最佳的效果,迭代过程是受控的:也就是说,它们必须按 照计划好的步骤有选择地执行。这就是称它们为袖珍项目的原因。 用例驱动、以构架为中心以及迭代和增量开发的概念是同等重要的。构架 提供了一种结构来指导迭代过程中的工作,而用例则确定了目标并驱动每次迭 代的:i :作。 2 4 4 统一过程的生命周期 统过程将重复系列生命周期:分析、设计、编程、测试,这些生命期 , = j 成了个系统的寿命。每个生命期都持续一段时i 刨 2 ,5 需求分析 25 1 软件需求的定义

温馨提示

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

最新文档

评论

0/150

提交评论