基于UML的学生信息管理系统的设计与实现毕业论文.doc
Abstract硕士论文南京理工大学硕士学位论文基于UML的学生信息管理系统的设计与实现姓名:魏松申请学位级别:硕士专业:计算机技术指导教师:王玲;周密2010091画國_Y1919251摘 要近年来,随着国家对职业教育的重视和发展,职业教育对国民经济的繁荣发挥了 越来越重要的作用。学生管理工作是学校最为重要的管理环节之一,涉及到教学管理、 招生管理、校务管理、总务管理、安全管理、德育管理等诸多方面。传统的人工管理 方式已不能满足学校的需要,一个基于网络的信息化的学生信息管理系统已是大势所 趋。本文以连云港中医药职业技术学校学生信息管理系统的开发为背景,以面向对象 建模的设计开发思路,利用UML统一建模语言,结合RUP方法和多种建模工具对 我校学生信息管理的实际情况研究制定了系统的框架和功能图,并实现了该系统的建 模。本文的主要工作是于基于UML从用例建模、静态建模、动态建模和建立物理模 型这几个步骤对系统进行分析和设计,建立了类图、状态图、活动图、序列图、组件 图、部署图等,从多个视角基于UML进行了系统建模。系统采用面向对象的编程语 言Java作为前端开发工具,MYSQL作为后台数据库,设计出满足我校实际需求的学 生信息管理系统。系统包含七个功能模块登录模块、学生信息管理模块、课程管理 模块、班级设置模块、系统选项模块、学生成绩査询模块、学生选课模块。该系统能 有效减轻学生管理人员工作压力、减少人为因素造成的错误,提高了工作效率。关键词:职业教育,学生信息管理,UML,建模AbstractFor a country to become strong,it must first strengthen education. In recent years, with the development of vocational education and the greater attention from the country, vocational education has played an increasingly important role in the prosperity of the national economy. Student management is one of the most important part of the school managements which involves teaching management, enrollment management, school affairs management, general affairs management, security management, moral management, etc. The traditional manual management mode can not meet the needs of schools; an information-based, web-based student information management system is the general trend.In this paper, based on the design of student information management system in Lianyungang Higher Vocational Technical College of Traditional Chinese Medicine and with the desire to design an object-oriented model, we develop the framework and fiinction according to students actual situation by using the Unified Modeling Languagembines the RUP methods as well as a variety of modeling tools, and have implemented the system modeling.The job of Ihis paper is based on using UML to analysis and design the system through the steps of case modeling, static modeling, dynamic modeling and physical model, set up a class diagram state diagranij activity diagran sequence diagranij group parts diagramdeployment diagram, etc., and build the systematic modeling from many perspectives by UML. Designing information management system which meets the actual needs of our school's students by using the object-oriented programming language Java as a front-end development tool, MYSQL as back-end database. The information management system can relieve the student managers7 stress effectively, reduce mistakes caused by human factors, and improve work efficiency.Key word: Vocational Education, Student Information Management, UML, Modeling n1绪论硕士论文1绪论1.1选题背景及意义随着计算机和信息技术的蓬勃发展,计算机硬件成本的降低和应用软件的不断丰富 和完善,计算机应用已经渗透到人们生活的方方面面,影响着社会的政治、经济、文化、 教育等诸多领域。特别是互联网技术,改变着人们的工作、生活模式。在知识经济主导 全球发展的当下,国与国之间的竞争力最主要取决于科技能力和创新能力,其中,教育 起到越来越重要的作用。各国为了应对世界经济危机,实现教育现代化,不约而同的加 大了教育信息化的投入。教育信息化促进了学校教学水平的提高,推进高等教育普及化, 是建立终生学习的教育体系的基础和条件,是教育现代化程度的重要标志。而高校传统 的教科研模式已经不能满足时代发展的需要,其管理体制急需变革。为了应对信息技术 对高等教育造成的巨大冲击,各高校大规模、高投入的进行着以数字化校园建设为基础 的信息化改革。学生管理工作是一项涉及面广、重复性大并且对准确度有着极高要求的事务性工 作,是高校数字化校园建设的核心工作1。长期以来,大部分老师都一直采用人工方式 管理学生工作,像录入学生信息、考试成绩等都是一项繁重而艰巨的任务,效率低下且 容易出错。计算机水平稍高的老师会利用Excel电子表格或Access数据库做一些功能结 构简单的信息查询系统,这种系统的信息处理能力和数据交换能力都比较单一,不但査 询速度慢、保密性差,.效率低,而且使用时间稍长,就会产生大量的冗余文件和数据。 这对数据的査询、更新和维护工作带来了极大的困难2。而一些购买的学生管理软件, 因为开发者缺乏必要的学生工作经验,而且各高校的类型、规模、学生管理的方法各不 相同,软件在使用时往往和实际情况脱节,功能不能满足学校的需要,升级维护也不方 便,所以各高校都迫切需要符合本校实际特点的学生管理系统来进行管理。信息管理系统Mismanagement Information System),可以将复杂的学生管理,绩效 管理,课程管理变得简单和清晰。将教学管理人员从沉重的手工操作解放出来,减少他 们的任务和责任,提高工作效率和准确性,减少失误P1。通过简化繁琐的工作模式,提 高学生工作的管理水平和办公效率,不但减轻了管理的工作量,而且做到信息管理规范 化,从而使学校的管理更加合理化、科学化和现代化。信息技术在学生管理工作上的应 用,对学生管理体系的发展和进步起到越来越重要的作用4。1.2国内外研究现状根据中国互联网络信息中心(CNNIC) 2010年1月15日发布的第25次中国互 联网络发展状况统计报告数据显示,截至2009年12月,我国上网人数已达3.84亿,互联网普及率进一步提升至28.9%5。随着因特网的普及,许多高校建立起自己的校园 网。校园网已成为学校发展重要的基础设施,是促进学校的教育和科研水平发展的内在 条件,同时也是衡量学校学术水平和管理水平的重要标志6。数字化校园是在传统校园网的基础上进一步发展而来。它利用先进的计算机技术和 网络通信控制技术整合、集成学校中与教科研、管理、生活有关的信息资源,使之数字 化。数字化校园概念最早是在1990年由美国的克莱蒙特大学凯尼斯.格林(Kenneth Green)教授主持的科学项目“信息化校园计划”(The Campus Computing Project)中第 次出现,该项目是目前世界上最具代表性的高校信息化研究项目。1998年美国前副总 统戈尔在美国加利福尼亚科学中心发表演讲,最先提出“数字地球”概念,全世界普遍 接受数字化概念,自此引出了 “数字城市”、“数字校园”等各种概念m。据调査,西方 发达国家大部分名牌大学都建立了比较完善的数字化校园。在美国,据统计3000多所 公立、私立的大学中,都建立了正式的网站,可以为学生提供网络辅助教学等各项信息 服务。就整体而言,我国的高等教育信息化建设正处于飞速发展阶段。在上世纪九十年代, 我国通过学习借鉴国外高校信息化建设的成熟理论和经验开始实施高等教育信息化建 设。经过十几年的发展,各高校充分认识到教育信息化建设可以进一步推动高校改革, 提供适应未来信息社会要求的人才培养模式和管理模式。2002年在珠海举办了全国重点 高校数字化校园建设研讨会,决定在重点高校率先推进数字化校园建设,建设了一批像 北京大学、清华大学具有代表性的数字化校园。数字化校园建设已经成为高校进行信息 化建设的热点。1.3本校学生信息管理的现状及存在问题笔者所在的连云港中医药高等职业技术学校创建于1958年,是江苏省唯一一所中 医药类高等职业技术学校。近年来,随着国家对职业教育投入的增加,学校的规模不断 扩大,专业设置也日趋繁多,设有中药、中药制药技术、药物制剂技术、药品经营与管 理、药物分析技术、药学、护理、涉外护理、康复治疗技术、药剂设备制造与维修9个 五年制高职专业。同时,学校除了普通全日制教育以外,还相继与南京医科大学、苏州 大学、扬州大学、南京中医药大学、北京中医药大学网络学院联合开设了成人专科、本 科班。与新西兰、澳大利亚等国家有关院校建立了中外合作项目。招生人数稳步增长, 今年在校生人数已达5000多人。随着学校学生人数的激增,招生层次的多元化,学生后勤的社会化,学生管理工作 出现了很多的新情况和新问题,各种学生工作和教务管理工作日趋复杂、繁重。其中, 学生信息管理工需要涉及到学生处、教务处、各系部、教研室、任课教师等各个方面进 行协同工作,而信息的传递主要还是人工操作,这使得我校学生管理工作量大幅增加,2 1绪论硕士论文管理人员的负荷大,工作所需周期长、步骤繁琐,效率非常低下。依靠原来传统的人工 记录的方式或简单的Word文档、电子表格的管理手段已经远远不能满足学生管理工作 的需要。为适应学生管理工作新形式下的要求,我校购置了一套学生信息管理系统,该 系统功能较为完备,操作简单,准确率高,不容易出错,对学生管理人员的电脑操作水 平要求也不高,只需阅读操作手册就能较好的掌握使用方法。该系统的应用,在学生管 理方面发挥了很大的作用,但仍存在一些不尽如人意的地方。因为它是由软件公司开发 的通用性软件,开发人员针对的是普通高校的一般性情况在技术上的实现。而对职业院 校,特别是中医药类职业学校的具体情况诸如组织结构、工作流程和管理方法则考虑较 少,有些功能不能完全满足学生管理的需要。基于这个原因,笔者从我校的实际情况出发,针对学生工作的各项职能体系,采用 面向对象的软件开发方法,利用UML建模的思想,在编写程序代码之前进行正确、详 尽的需求分析,规划好整个系统。结合JAVA网络编程技术和数据库技术设计和开发了 一个具有较强针对性的学生信息管理系统。该系统对学生信息进行管理,能有效减轻学 生管理人员工作压力,提高工作效率、减少人为因素造成的错误,更好的为全校师生服 务。该系统为推进我校办公自动化进程,提髙办学效率和质量、提升学校外在形象,做 出了有益的实践。1.4本文的主要工作及结构本文的主要工作是以我校学生信息管理系统的开发为背景,通过对UML统一建模 语言进行系统性的研究,针对中医药类职业教育的特点,运用面向对象开发理论,使用 开放的可视化建模语言UML从系统分析、系统设计直到最后的测试与维护等不同阶段 进行分析和设计,结合RUP方法和多种建模工具对我校学生信息管理的实际情况研究 制定了学生信息管理系统的框架和功能图,并实现了该系统的建模。在系统开发的最初阶段采用用例图进行需求分析,分析了系统的可行性、明确了用 户需求;为了更好的创建Java程序,利用UML建模工具绘制了主要的系统静态模型和 动态模型,并对MYSQL数据库进行设计,分析了该系统的数据库结构和数据库安全性 措施;以Java语言作为进行系统开发,根据模块化原理,将系统分为教师模块和学生模 块两大功能模块,并对各部分进行了详尽的分析。本文共分为七章,内容安排如下:第一章为绪论,主要介绍了本课题的研究背景、国内外研究现状,本校学生信息管 理存在的问题,阐述了开发本系统的现实意义等。第二章对本文所涉及到的基本理论、关键技术进行了介绍;主要对UML统一建模 语言的基本概念和方法、对各种建模工具做了一个较为全面的介绍和分析比较;讲解 Java的核心开发技术;并对数据库技术MYSQL做了讲解。#第三章分别对系统的需求、用例、安全性等进行了系统分析。第四章是对系统数据库进行分析和设计,建立了系统的概念模型,绘制出E-R图, 得到数据库的表以及表之间的关系。第五章是对系统分析及建模,采用UML统一建模语言对系统进行详细的分析,建 立了静态模型、动态模型和物理模型,绘制了类图、状态图、活动图、序列图、组件图、部署图。第六章主要从开发平台、运行环境、系统功能和相关编码等方面,详细介绍了我校 学生信息管理系统的软件实现和具体界面,文章给出了某个功能模块的详细开发方法和 部分重要代码,并在相应位置给出了系统使用中的部分截图。第七章为结束语,对全文工作进行总结并提出下一步的研究计划。1.5本章小结本章详细阐述了论文的研究背景及意义、国内外研究现状,以及本校学生信息管理 存在的问题,并给出了论文的整体组织结构。硕士论文基于UML的学生信息管理系统的设计与实现2相关技术概述 2.1 UML统一建模语言随着软件技术的发展,用户需求增多,需求变化频繁,导致软件的复杂性急剧增加, 越来越难以理解8。模型作为现实系统的简化,它抓住了现实系统的重要方面而忽略了 次要的、非本质方面的一种现实的抽象。因此,模型既反映现实系统,又不等同于现实 系统,它是理解、分析、开发或改造现实系统的一种常用手段9。有助于不同的人员(如 系统设计师、编码人员、项目经理、用户等)从不同角度理解软件系统,也是系统开发 中不可或缺的有效工具。在开发软件系统之前,开发人员应该从不同角度对系统进行抽 象分析,通过建模去深入浅出的解释系统,能够及时的发现错误,在开发周期前期及时 的改变模型,而不是代码,减少检测和修正的开销。UML (Unified Modeling Language,统一建模语言)是一种当今世界上面向对象系 统开发领域最有效的可视化建模工具。可以让开发者用标准的、易于理解的方式建立起 能够表达出他们想象力的系统蓝图,并且提供一种方便不同人员之间有效的共享和交流 设计结果的机制1()1。它是一种用于提取OOAD过程的图形化语言,为交流面向对象的 设计中的需求、行为、体系结构和实现提供了一套综合的表示法111。2.1.1 UML 概述由于传统的结构化系统分析和设计方法已经无法满足日益复杂的大型、分布式系 统,因此软件开发的技术与方法逐渐由结构化分析与设计发展到面向对象(00)的软 件开发模式。公认的面向对象建模语言出现在20世纪70年代中期,在随后近二十年时 间里,各种建模方法百家争鸣,发展出五十多种差别较小,但缺乏统一规划的软件建模 语言(Modeling Language乂如此之多的建模方法,促进了软件建模的发展,用户不可 能理解各种建模语言彼此之间的不同和优劣,很难根据自己的需要选择合适的建模语 言。众多建模语言在创造者的推广下和实践中得到不断的改进和完善。其中Grady Booch、Janes Rumbaui和Ivar Jacobson三人设计的面向对象分析与设计方法学和其他 同行竞争者相比取得了卓越的成果。在Rational公司工作的Grady Booch提出了面向对 象的软件工程概念,同时他也是面向对象方法最早的倡导者之一。1995年,提出了 0MT (Object Modeling Technique,对象化建模技术)的 Janes Rumbaug 加入 Rational 公司, 次年,被公认为用例(use case)之父的Ivar Jacobson博士也加入到这一团队,他们开 始相互借鉴,最终决定相互合作共同推进这项工作。从1994年开始,在Rational公司 的主持下,UML 初步形成。1997 年,0MG 协会(Object Management Group)将 UMLTltlt 細纖(版本1.0)釆纳为建模语言的标准。1998年OMG协会接管了 UML标准的维护工作, 先后制定了多个UML修订版,做了相当多的技术修改和更新,如图2.1所示。目前, IBM已收购了 Rational公司,UML最新的版本为2.0版。图2.1UML的发展历程12UML具有强大的功能,开发人员能够利用可视化工具描述各种思想,与其他人高 效的分享这些思想,能够为既有静态结构又有动态行为的结构进行通用建模。代表了近 几十年来三个最伟大的思想家的集体智慧的结晶,是信息技术革命变得更易于管理1131。2.1.2 UML的主要内容UML是一种用于软件蓝图的标准化语言。它可以实现软件系统中各部分的可视化, 说明并构造系统模型已经建立所有的细节文档141。它是面向对象建模的图形和文字符号 的表示方法,通过可视化的图形化符号来表达建模设计的思路,已经成为面向对象分析 和设计方法事实上的标准。UML是一种建模语言,包括UML语义和UML表示法两部分的定义。UML语义:描述基于UML的精确元模型定义。元模型为UML的所有元素在语法 和语义上提供了简单一致、通用的定义性说明。使开发人员能够在语义上达成共识,消 除了因人而异的表达方式所造成的影响。此外,UML还支持对元模型的扩展定义。UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和 文本语法实现系统模型提供了标准。这些图形符号和文字所表达的是应用级的模型,在 语义上它是UML元模型的实例15。UML由图和元模型(metamodel,是一种以定义语言概念的图,通常是类图)组成, 主要包括三个基本元素:事物(Things)、关系(Relationships)、图(Diagrams)。UML的结构如图2.2所示。图2.2 UML的组成1 事物(Things)事物是实体抽象化的最终结果,是模型中最基本的部分,UML中包含结构事物 (Structural Things)、行为事物(Behavioral Things)、分组事物(Grouping Things)和注 释事物(Annotational Things)这四种。(1)结构事物(Structural Things)结构事物是UML模型中的静态部分,主要用于描述概念或实体的表现元素,是软 件建模中最常见的元素。结构事物共有类、活动类、接口、节点、组件、用例、协作7 种元素。«类(Class):是一组具有相伺属性、方法、关系、语义和相同操作对象的集合。类 实现一个或多个接口。在图形上,把类画成一个矩形,矩形中通常包括类的名称、 属性和操作。*活动类(Active Class):活动类的对象至少要有一个或多个进程或线程,因此它能 够启动控制活动。活动类的对象所表现的元素行为与其他元素的行为并发,除此之 外,它和类是一样的#在图形上,活动类用具有粗外框的矩形来表示。接口(Interface):是指类或组件提供的服务操作,即定义了类或组件的外部可见行 为。接口定义的是一组操作的描述,而不是操作的实现。在图形上,接口用一端带 有小圆圈的直线来表示。节点(Node):是系统在运行时存在的物理元素,它代表一种可计算的资源,通常 占用一些内存并且具有处理能力。在图形上,节点用立方体来表示。组件(Component):是物理的、可替换的部分,是系统设计的模块化部件,在一个 系统中,共享接口的组件可以相互替换,包括接口的集合。在图形上,组件的表示 很像类,用一个矩形来表示,不过在其右上角有个特殊的小方框。用例(UseCase):定义了执行者和被考虑的系统之间的交互来实现的一个业务目标, 用于构造模型中的行为事物。在图形上,用例用包含名字的实线楠圆来表示。 协作(Collaboration):描述合作完成某种行为的一组类及其关联的集合,具有结构、 行为和纬度,一个给定的类可以参与几个协作,用于对使用情况的实现建模。在图 形上,用包含名字的虚线楠圆来表示。(2) 行为事物(Behavioral Things)行为事物指的是UML模型中动态的部分,表示这种事物会随着时间和空间的转变 而不断执行的动作,共分为两种:交互(Interaction)和状态机(StateMachine)。 交互(Interaction):由在特定语境中共同完成一定任务的一组对象之间交换的消息 组成。这种沟通消息基本上包含着想要实现特定目的所需要的环境和动作序列。至 少要有两个以上的对象才能产生交互。状态机(State Machine):状态机本身就是一种行为,描述了一个对象或一个交互在 生命期内响应事件所经历的状态序列,在图形上表示为一个圆角矩形。(3) 分组事物(Grouping Things)分组事物是指UML的组织部分,利用一个个的分组事物可将模型按特定的结构切 分为不等的元素。分组事物只有一个,即包(Package),包是概念性的事物,和组件 (Component)不同,包只存在于设计开发(DesignTime)时期的兀素,而组件是属于 运行时(Runrime)的元素。(4) 注释事物(Annotational Things)注释事物是UML模型的解释部分,主要用途为说明、描述和标注在模型内的元素 状况。注释事物和分组事物一样,只有一种主要的注释事物,即注释(Note)。2.关系(Relationships)关系是将事物联系在一起的方式,UML中定义了 4中关系,依赖(Dependencies)、 关联(Association)、泛化(Generalization)和实现(Realization)。依赖(Dependencies):是指两个事物间拥有相互影响的关联,也就是说当一个事物 在发生改变的时候会影响到另一个事物。在图形上依赖关系表现为一条具有方向的虚线。关联(Association):是一种结构关系,描述了整体和其某一部分之间的结构关系。 关联除了可以具有方向外,也可以带有多重性标注和角色名这类修饰符。在图形上 关联关系用一条具有方向性的实线来表示。*泛化(Generalization):种一般化和特殊化的关系,子元素的对象可以替代父兀素 的对象。这样,子元素就可以共享父元素的结构和行为。在图形上泛化关系的表示 方法为一条具有空心箭头的由子元素指向父元素的实线。鲁实现(Realization):类之间的语义关系,通常在接口和实现它们的类或构件之间用 到这种关系。在图形上实现关系是泛化关系和依赖关系的结合,也就是一条带有空 心箭头的虚线。3.图(Diagram)客观世界是一个巨大而复杂的系统,需要从不同的角度来观察,才能真正理解这个 系统。UML的图形是事物合集的分类,是由元素、事物、关系和行为所绘制的图形表 示方法,为了能支持从不同的角度来观察系统,UML定义了两个大类五个小类共9种 最基本的图形。用例图(Usecase Diagram)、类图(Class Diagram)、对象图(Object Diagram)、组 件图(Component Diagram )、部署图(Deployment Diagram )、状态图(Statechart Diagram)、 活动图(Activity Diagram )、序列图(Sequence Diagram )、协作图(Collaboration Diagram )。表2.1 UML图分类u " /V米"类型* - ,< y .>>,包含 . .你田.“ Tr/ti . 静态图用例图用例图描述需求静态图类图、对象图描述类结构实现图组件图、部署图描述软件结构动态图行为图状态图、活动图描述动态模型交互图序列图、协作图描述交互关系(1)第一类是用例图(Usecase Diagram)用例图从用户角度描述系统功能,并指出各功能的操作者,它仅仅是从客户使用系统的角度来描述系统中的信息,即在系统外部查看系统所具备的功能而不去考虑这些功能是如何实现的。#(2) 第二类是静态图(StaticDiagram),包括类图和对象图,其中:籲类图(Class Diagram):个类(Class)是一类或者一组具有类似属性和共同行为 的事物,类图是类的模型,用于描述一组类、接口、协作以及它们之间的静态关系。 是系统建模中最常见的图,阐明系统的静态结构,表示系统中的类及其相互之间的 关系。系统可以有多个类图,单个类图仅仅表达了系统的一个方面。类图能帮助软 件开发人员使用用户能理解的术语和用户交流,得到所需解决的问题的重要细节。籲对象图(Object Diagram):对象图是类图的实例,是具有具体属性值的一个具体事 物,用以描述特定运行时刻一组对象与对象的关系,即对象图用于描述交互的静态 部分,它由参与协作的有关对象组成。对象图中所使用的符号和类图中的符号基本 是相同的,区别仅在于对象图中对象名称的下方带有下划线。对象具有生命周期, 因此只能在一个特定的时间段中存在。(3) 第三类是实现图(Implementation Diagram),包括组件图和部署图,其中:组件图(Component Diagram):现代软件开发是基于组件的,组件可以是程序、库、 表、文件等,组件图强调了组件之间的物理结构及各部件之间的紧密联系。根据组 9硕士论文基于UML的学生信息管理系统的设计与实现件图中显示的组件之间的相互关系,可以很方便的了解某个组件的变动会对其他部 分造成怎样的干扰。參部署图(Deployment Diagram):用来对系统的环境模型视图进行建模,显不了计算 机系统物理体系结构,表示软件系统如何部署到硬件环境中,描述软件执行所需的 处理器和设备以及它们之间的拓扑结构。(4) 第四类是行为图(BehaviorDiagram),包括状态图和活动图,其中:參状态图(StatechartDiagram):在任意给定的时间,一个对象总是处于一个特定的状 态中。状态图说明业务角色或业务实体可能的状态,导致状态转换的事件和状态转 换引起的操作。它实际上是一种由状态、变迁、事件和活动组成的状态机,用于说 明系统的动态视图9。鲁活动图(ActivityDiagram):活动图是状态图的一种特殊情况,显不了如何协调多个 事件,其中几乎所有的状态都处于活动状态,描述了为了完成某一个事件需要做的 活动以及这些活动执行的顺序,主要强调的是系统的动态视图。活动图对用例尤其 有用,因为它可以为用户提供明显的开始和结束状态。(5) 第五类是交互图(Interactive Diagram),包括序列图和协作图,其中:*序列图(SequenceDiagram):显示了对象之间的动态关系,以时间的推移为基础, 强调对象之间消息传递的顺序,并且说明了在系统实施过程中的对象之间的相互作 用。它有两个坐标,垂直坐标以发生的时间顺序显示消息,水平坐标显示消息被发 送到的对象实例。參协作图(Collaboration Diagram):协作图反映收发消息的对象的组织结构,和序列 图之间可以相互转换。协作图描述对象间交互的一种模式及参与对象中发生的情况, 所以利用协作图即可分析出各个对象间的关系,了解整个系统的控制流程。从应用的角度看,当采用面向对象技术设计系统时,通常会按照以下顺序来进行: 首先描述需求,其次根据需求建立系统的静态模型,以构造系统的结构,最后是描述系 统的行为15。在前两个步骤中所建立的模型都是静态的,包括用例图、类图、对象图、组件图和 部署图共五个图形,是标准建模语言UML的静态建模机制;在最后一个步骤所建立的 模型或者可以执行,或者表示执行时的时序状态或交互关系,它包括状态图、活动图、 顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制;因此,标准建模 语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。2.13 UML的应用领域UML给各种类型的系统以面向对象的方法来进行描述,其作用范围非常广泛。既 可以描述不同类型的系统,又可描述系统开发的不同阶段,从需求规格说明到对己完成 系统的测试。1. 在不同系统中的应用UML相当适合于以体系结构为中心的、用案例驱动的、迭代式和渐增式的软件开 发过程,其应用领域非常广泛,最常见的是为软件系统创建模型,但它还可以用于描述 不带任何软件的利用力学原理组成的各种系统装置、一个企业的机构或企业过程等。像 信息管理系统、工厂制造流程管理系统、医院医疗系统、嵌入式系统、分布式系统、财 务管理系统都是UML常见的应用。2. 在软件开发的不同阶段中的应用UML的应用贯穿在系统开发的五个阶段,它们是:*需求分析阶段:UML的用例图可以表示用户的需求,通过用例建模,可以对外部的 角色以及他们所需要的系统功能建模。每个用例都指定了客户的需求。*分析阶段:分析阶段主要考虑所要解决的问题,从确定系统用例、分析业务规则、 再到用例实现、确认软件架构和框架、从分析系统模型、组件模型到部署模型。分 析阶段可以用UML的逻辑视图和动态视图来描述。类图描述系统的静态结构,协 作图、状态图、序列图、活动图来描述系统的动态特征。在这个阶段,仅仅是对类 建模,而不去考虑软件具体解决方法的细节部分。细节部分将在设计阶段进一步说 明。參设计阶段:在这个阶段,把分析阶段的成果扩展成技术解决方案。加入新的类来提 供诸如用户接口、数据库操作等基础结构。分析阶段的问题域被嵌在这个技术基础 结构中,设计阶段的成果为下一阶段的产品质量的标准进行了详细的说明。麥. 构造阶段:构造阶段不依赖于其他阶段。在这个阶段,把设计阶段的类转换成某种 面向对象程序设计语言的代码。在对UML表示的模型进行转换时,最好不要直接 把模型转换成代码。因为在早期阶段,模型是理解系统并对系统进行结构化的工具 *测试阶段:系统通常需要经过单元测试、集成测试、系统测试和验收测试几个不同 的测试;单元测试通常由程序员来对几个类或一组类的测试,使用类图和类的规格 说明;集成测试集成组件和类,确认它们之间是否有正确的协作,使用组件图和协 作图;系统测试使用用例图来验证系统的行为。验收测试由用户进行,以验证系统 测试的结果是否满足在分析阶段确定的需求16。2.1.4 RUP统一软件开发过程软件在规模,复杂性,分布及软件开发和软件升级方面的重要性不断增加,给系统 带来了一系列技术和组织问题。以循环的、可预测的方式生产高质量的软件越来越困难 17。合适的开发方法是软件开发的基础,开发人员在进行详细规划之前,必须选择一种 实用有效的开发方法。硕士论文基于UML的学生信息管理系统的设计与实现软件过程描述了在一定的生命周期内软件开发的一系列活动,软件过程模型则以模 型化的方式来定义开发的框架。常见的软件开发模型有瀑布模型(Waterfall model)、螺 旋模型(Spiral model)、喷泉模型(Fountain model)、增量模型(Incremental model)、 演化模型(Evolving model)和统一过程模型 RUP (Rational Unified Process)。RUP (Rational Unified Process,统一过程)是由 UML 的三个创始人,Rational 公 司的Grady Booch、Janes Rumbaugh和Ivar Jacobson统一了他们三人独立的方法学,提 出一种非常完全而详细的面向对象分析和设计方法学。RUP是面向对象的软件开发过 程,它是将用户的需求转化为一个软件系统的一系列活动的总称18】。RUP是个重复 和迭代的开发过程19,可以帮助我们更好的理解系统。RUP是真正的用于开发的宏过程,它的核心思想如图2.3所示,有4个关键特征:禳板图2.3 RUP核心概念20用例驱动(Use-CaseDriver):在UML中,用例描述了系统的功能性需求,RUP通 常以标示、详细描述、分类和建模用例进行驱动。所有的设计开发都是以用例模型 为中心,描述系统的全部功能21。以体系结构为中心(Architecture-Centric): RUP具有体系结构的广泛定义,在视图 中,体系结构是通过统一建模语言UML的不同的视图反映出来的*迭代方法(Iterative):迭代式工作过程的步骤,可以在各个阶段根据需要前后移动 或来回移动,以循环或迭代的方式分析、构架、设计和实现系统。增量方法(Incremental): 个产品是逐步构造的,增量是指产品中增加的部分,迭代的工作可以被进一步分组到增量中,这些增量由里程碑点进行标记,表明准备发 布大量的功能。工作流程此务迮校 徭求 分析设计实施测试m理理境 ilrt镑环SS1目K.变項RUP可以十分庞大而复杂,包括4个阶段、8种项目规划模板、9个核心工作流程、 14个工作指导原则、43个Word和HTML模板、103种图表和136种