软件测试与uml概述1_第1页
软件测试与uml概述1_第2页
软件测试与uml概述1_第3页
软件测试与uml概述1_第4页
软件测试与uml概述1_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

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

文档简介

软件测试和UML技术推荐教材UML与Rose软件建模案例教程ISBN:9787115217806定价:25.00软件测试任务驱动式教程ISBN:9787115346704定价:45.00联系方式:Email:andydan666@TELQ:11266781王琳琳考核方式考查课——15专升本考勤+上课表现+作业+实验+课程设计课程设计最多2人1组考试课——13本考勤+上课表现+作业+实验+课程设计+期末考试课程设计最多3人1组课程设计要求本课程设计要求每个学生可以独立完成软件测试和软件建模两种类型的题目,同时可以通过同学间的讨论,自拟课程设计题目。要求每个学生根据自己的实际情况从下列两种题型中各选1题作为本课程设计的题目,实际动手完成所选题目的设计,并撰写课程设计任务书。

题目A:1)艾斯医药商务系统单元、功能、性能测试。2)自选一个软件系统使用黑盒和白盒测试方法进行单元、功能、性能测试。

题目B:1)考试成绩管理系统软件建模2)网上教学系统软件建模3)ATM自动取款机系统软件建模4)图书管理系统软件建模5)自选系统软件建模时间安排:开课三周内,让学生选择课程设计题目。在最后两周的上机课,学生进行课程设计答辩、演示开发的软件回答教师提问的问题并上交课程设计任务书。

软件测试IT职业架构划分系统工程师Windows/linux软件开发工程师Java/Net/Php数据库管理员DBA网络工程师Huawei/Cisco软件测试工程师这是一次改变命运的选择软件测试工程师—IT行业的黄金职位20052005年10月25日,劳动部正式将“软件测试工程师”列入第四批新职业!20062006年,信息产业部主办首届中国软件质量年会!20072007年,教育部等部门出台的《关于进一步加强国家重点领域紧缺人才培养意见》,将软件测试等确定为12个国家重点领域人才培养专业!20112011年软件测试人才“有价无货”软件测试工程师岗位职责软件测试工程师理解产品的功能需求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性,并写出相应的测试规范和测试用例的专门工作人员。编写测试计划仔细阅读项目规格说明,设计文档使用说明书等,充分掌握软件的性能、特点、使用方法、业务流程等,协助测试经理制定项目的测试计划,保证产品测试工作的计划性和规范性。编写测试用例按照测试流程、计划以及对产品特性的把握,沟通确认测试的范围、重点,考虑逻辑、数据完整性等要求,详细规定测试的要求、策划,编写测试用例,涉及测试用数据及预期结果,做好测试前的准备工作,确保测试目的的达成;软件测试工程师岗位职责搭建测试环境保证测试环境的独立和维护测试环境的更新,做好测试的准备工作,确保测试环境的确定和版本的正确。执行测试依据测试计划及测试案例,执行测试。并依据产品特点及测试要求,实施集成测试、系统测试等。及时发现软件缺陷,评估软件特性。确保测试目的的达成。软件测试工程师岗位职责进行BUG验证根据测试结果,与开发部门反复沟通测试情况,督促开发部门解决问题,修正测试中发现的缺陷,完善软件功能;进行测试记录和相应文档的编写进行测试记录和相应文档的编写。编写测试报告和对测试结果分析通过测试,掌握软件具有的能力、缺陷、局限等。对软件质量给出评价性的结论和意见,整理测试文档,填写软件测试报告,编写测试总结,为软件开发成果提供总结性意见。软件测试工程师岗位职责软件测试工程师就业前景软件测试工程师就业前景软件测试工程师就业前景软件测试工程师就业前景软件测试工程师为第四批新职业。——劳动部软件测试工程师成IT业“熊猫”——IT行业机构软件测试为IT行业中一匹实力惊人的黑马——IT从业人员招聘企业对职位的要求招聘企业对职位的要求你有潜力成为优秀的软测人才吗?软件测试知识体系结构知识媒体推荐知识媒体推荐职业寄语软件测试的认知与体验软件测试概述1.1软件测试的地位和作用1.2软件测试的目的1.3软件测试的原则1.41.1软件测试概述1.软件的概念

软件是计算机系统中与硬件相互依存的一个部分,它是源程序、数据及其相关文档的集合。软件程序2.软件缺陷的概念

软件缺陷(Defect)是指计算机软件中存在的某种破坏其正常运行的问题、错误,或者其中隐藏的功能缺陷,称为“Bug”,“Bug”在英语中是臭虫的意思,通常用“Bug”表示计算机系统硬件或软件中隐藏的错误、缺陷或问题。

软件缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。2.软件缺陷的概念软件项目复杂沟通交流不够程序设计错误软件需求变化代码文档缺陷开发工具错误软件缺陷的案例原因地面系统软件和飞行器上软件分别使用公制和英制两种单位。1999年;火星气象卫星(MarsClimateOrbiter)到达火星之后不久就消失;火星极地登陆者(MarsPolarLander)在火星上着陆时坠毁。——火星极地登陆者——千年虫在20世纪70年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年份的后两位。软件缺陷的案例——高铁事故软件缺陷的案例3.软件测试的概念

简单地说,软件测试就是为了发现错误而执行程序的过程。

软件测试的主要工作是验证(Verification)和确认(Validation)。

软件测试的对象不仅仅是程序,还包括整个软件开发期间各个阶段所产生的文档。4.测试用例的概念

测试用例是为某个特定目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

测试用例(TestCase)可以用一个简单的公式来表示:测试用例=输入+输出+测试环境37测试用例设计的基本原则数量越少越好典型性越高越好对缺陷的定位性越强越好4.测试用例的概念5.测试环境的概念

简单地说,测试环境就是软件运行的平台,即进行软件测试所必需的工作平台和前提条件,可用如下公式来表示:测试环境=硬件+软件+网络+历史数据

需求分析阶段进行这些测试有助于明确系统需求,些测试将成为最终测试单元的核心。系统设计阶段系统设计阶段要阐明一般测试策略,如测试方法和测试评价标准,并创建测试计划。另外,重大测试事件的日程安排也应在这一阶段构建,同时还要建立质量保证和测试文档的框架。1.2软件测试的地位和作用

系统编码阶段代码走查和代码审查都是有效的人工测试技术;静态分析技术通过分析程序特征来排除错误;对于大型程序,需要用自动化工具来完成这些分析。系统测试阶段测试应用系统应着眼于功能上的测试,严格控制和管理测试信息是最重要的。1.2软件测试的地位和作用

系统安装阶段系统安装阶段的测试必须确保投入运行的程序是正确的,例如,程序是正确的版本,确保数据被正确地更改和增加。系统维护阶段系统在每一次更改之后都需要重新测试,这种重新进行的测试称为回归测试。1.2软件测试的地位和作用1.3软件测试的目的1软件测试是一个为了发现错误而执行程序的过程。2软件测试是为了证明程序有错,而不是证明程序无错。3一个好的测试用例在于它能发现至今尚未发现的错误。4一个成功的测试是发现了至今尚未发现错误的测试。1.4软件测试的原则1应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。2程序员应避免检查自己的程序。3测试用例应由测试输入数据和与之对应的预期输出结果两部分组成。4在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。5充分注意软件测试时的群集现象。6严格执行测试计划,排除测试的随意性。7应当对每一个测试结果做全面检查。8妥善保存测试过程中产生的各种数据和文档。9注意回归测试的关联性。充分注意软件测试时的群集现象。1.4软件测试的原则1.5软件测试的分类1.单元测试

单元测试(UnitTesting)又称模块测试(ModuleTesting),是指对软件中的最小可测试单元进行测试。单元测试具有以下优点。(1)是一种管理和组合测试元素的手段。(2)可以减轻调试的难度。(3)提供同时测试多个单元的可能。2.集成测试

集成测试(IntegrationTesting)又称为组装测试,是在单元测试的基础上,按照设计要求,将通过单元测试的单元组装成系统或子系统而进行的测试。3.系统测试

系统测试(SystemTesting)是为了验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试,是在真实或模拟系统运行的环境下,检查完整的程序是否能和系统(包括系统软件、支持平台、硬件、外设和网络)正确配置、连接,并满足用户需求。4.确认测试

确认测试是通过检验和提供客观证据,证实软件是否满足特定预期用途的需求,检测与证实软件是否满足软件需求说明书中规定的要求。5.验收测试

验收测试(AcceptanceTesting)又称接受测试,是在系统测试后期,以用户测试为主,或有质量保证人员共同参与的测试。

验收测试又分为α测试和β测试。

α测试也称为开发方测试,开发方通过检测和提供客观证据,证明软件运行是否满足用户规定的需求。 β测试是内部测试之后的外部公开测试,是将软件完全交给用户,让用户在实际使用环境下进行的对产品预发版本的测试。1.5.2按是否需要执行被测试软件分类1.静态测试

静态测试(StaticTesting)又称为静态分析(StaticAnalysis),是不实际运行被测软件,而是直接分析软件的形式和结构,从而查找缺陷的测试。测试程序代码测试程度代码主要是为了查看代码是否符合相应的标准和规范。测试界面测试界面主要是查看软件的实际操作和运行界面是否符合需求中的相关说明,是否符合用户的要求。文档测试文档测试主要是检查需求规格说明书、用户手册与需求说明是否真正符合用户的实际需求。2.动态测试

动态测试(DynamicTesting)又称为动态分析(DynamicAnalysis),是指需要实际运行被测软件,通过观察程序运行时所表现出来的状态、行为等发现软件缺陷的测试。1.5.3按是否需要查看代码分类1.黑盒测试

黑盒测试(Black-boxTesting)是软件测试的主要方法之一,也称功能性测试(FunctionalTesting)或数据驱动测试(Data-drivenTesting),但并不仅限于功能测试。2.白盒测试

白盒测试主要分析程序内部的逻辑结构及算法,通常不关心功能与性能指标。

白盒测试又称为结构性测试(StructuralTesting)或逻辑驱动测试(Logic-drivenTesting)。

3.灰盒测试

灰盒测试是介于白盒测试和黑盒测试之间的测试,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件和标志来判断内部的运行状态。1.5.4按测试执行时是否需要人工干预分类手工测试手工测试完全由人工完成测试工作,包括制订测试计划、设计和执行测试用例、检查和分析测试结果等。自动测试自动测试是各种测试活动的管理与实施使用自动化测试工具或自动化测试脚本来进行的测试,以某种自动测试工具来验证测试需求。1.5.5按测试目的分类功能测试界面测试性能测试负载测试易用性测试兼容性测试安全性测试压力测试可靠性测试健壮性测试1.5.6其他测试类型冒烟测试冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为该名称是形象地类比新电路板基本功能检查,任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路冒烟。随机测试随机测试是这样一种测试,在测试中,测试数据是随机产生的。这样的测试有时被称为猴子测试(MonkeyTesting)。回归测试回归测试是验证缺陷是否修改正确和修改过程中是否会引入新问题的活动,回归测试并不是一个测试级别,却是各个测试阶段必须包括的一个测试活动。1.6软件测试的流程制定测试计划软件测试背景软件测试依据测试范围的界定测试风险的确定测试资源的确定测试策略的确定制订测试进度表设计测试用例和测试过程测试用例是为特定目标开发的测试输入、执行条件和预期结果的集合,这些特定目标可以用于验证一个特定的程序路径,或核实是否符合特定需求。测试过程一般分成几个阶段:代码审查、单元测试、集成测试、系统测试和验收测试等。实施软件测试测试准备和建立测试环境。获取测试数据。执行测试。执行测试一般由输入、执行过程、检查过程和输出4个部分组成。评估和总结软件测试软件测试的主要评估方法包括缺陷评估、测试覆盖和质量评测。质量评测是对测试对象的可靠性、稳定性以及性能的评测,它建立在对测试结果的评估和对测试过程中确定的变更请求分析的基础上。1.6软件测试的流程软件测试过程V模型特点:非常明确地表明了测试的不同级别,清晰地展示了软件测试与开发之间的关系1.7软件测试模型

软件测试过程W模型1.7软件测试模型1.8场景设计法

场景设计法是一种典型的黑盒测试方法,它不考虑软件的内部结构。

场景设计法的一般步骤如下。

1构造基本流和备选流2根据基本流和备选流构造场景。3根据场景设计测试用例。4对每个测试用例补充必要的测试数据。基本流基本流是整个业务流程中最基本的一个事件流程备选流备选流以基本流为基础,在经过的每个判定节点处满足不同的触发条件而导致的其他事件流。场景所谓场景,可以看作是基本流与备选流的有序集合。1.8场景设计法备选流3备选流2备选流1基本流开始测试结束测试图1-1场景法的基本流与备选流1.9软件开发与软件测试的基线

基线(Baseline)是一个已经被正式评审和批准的规格或产品,它作为进一步开发的一个基础,并且必须通过正式的变更流程来变更。

基线是软件文档或源码(或其他产出物)的一个稳定版本,它是进一步开发的基础,基线是项目储存库中每个工件版本在特定时期的一个“快照”。【引导测试】【任务1-1】对Windows操作系统自带的计算器的功能和界面进行测试【任务描述】

对Windows操作系统自带的计算器的功能实现情况和用户界面进行测试,检验计算器的功能和界面是否符合规格说明书。【任务实施】1.设计软件测试用例(1)功能测试用例设计。

计算器的功能测试用例如表1-2所示。(2)用户界面测试用例设计。

计算器的用户界面测试用例如表1-3所示。测试用例编号测试范围测试用例预期输出calcTest11窗口界面窗体大小、控件布局、前景与背景颜色合理calcTest12快速或慢速移动窗体背景及窗体本身刷新正确calcTest13改变屏幕显示分辨率显示正常calcTest14菜单界面菜单功能齐全且能正确执行calcTest15菜单的快捷命令方式合适calcTest16菜单文本的字体、大小和格式合适calcTest17菜单名称具有自解释性calcTest18菜单标题简明、有意义calcTest19命令按钮命令按钮的标识与操作响应一致calcTest20单击命令按钮响应操作正确calcTest21非法的运算式给出对应的提示信息calcTest22文本框显示运算结果与提示信息正确表1-3 计算器的用户界面测试用例2.执行软件测试与分析测试结果(1)执行功能测试。 Windows操作系统自带的计算器运行外观如图1-2所示。图1-2

Windows操作系统自带计算器的运行外观续表(2)执行用户界面测试。

计算器用户界面的测试过程如表1-5所示。测试顺序测试范围测试内容测试方法测试结论11窗口界面窗体大小、控件布局、前景与背景颜色目测合格12快速或慢速移动窗体移动操作、目测合格13改变屏幕显示分辨率操作、目测合格14菜单界面菜单功能操作、目测合格15菜单的快捷命令方式目测合格16菜单文本的字体、大小和格式目测合格17菜单名称目测合格18菜单标题目测合格19命令按钮命令按钮的标识与操作响应操作、目测合格20单击命令按钮响应操作操作、目测合格21非法的运算式操作、目测合格22文本框显示运算结果与提示信息操作、目测合格表1-5 计算器用户界面的测试过程【任务1-2】应用场景法对ATM机进行黑盒测试【任务描述】 ATM机操作用例如图1-3所示,假设某银行的ATM机内目前的现金为5000元,卡号尾数为468596的银行卡的账面金额为600元,该银行卡的密码为123456,应用场景法设计测试用例,对ATM机的密码验证功能和取款功能进行测试。图1-3

ATM机操作用例图【任务实施】1.设计软件测试用例(1)分析ATM机取款的基本流和备选流。 ATM机取款的基本流和备选流如表1-6所示。流的类型流的描述基本流正常的取款备选流备选流1ATM机内没有现金备选流2ATM机内现金不足备选流3密码有误(限制3次输入机会)备选流4账户不存在或账户类型有误备选流5账户余额不足表1-6 ATM机取款的基本流和备选流(2)分析设计场景。 ATM机取款的场景设计如表1-7所示。场景编号场景名称流场景1成功取款基本流场景2ATM机内没有现金基本流备选流1场景3ATM机内现金不足基本流备选流2场景4密码有误(第1次密码错误)基本流备选流3场景5密码有误(第2次密码错误)基本流备选流3场景6密码有误(第3次密码错误)基本流备选流3场景7账户不存在或账户类型有误基本流备选流4场景8账户余额不足基本流备选流5表1-7 ATM机取款的场景设计(3)构造测试用例设计矩阵。

表1-7中的8个场景中的每个都需要确定测试用例,可以采用矩阵或决策表来确定和管理测试用例。用例编号场景密码账号输入或选择的金额账面金额ATM机内的现金预期结果bankCardTest01场景1vvvvv成功取款bankCardTest02场景2vvvvi取款功能不可用bankCardTest03场景3vvvvi警告重新输入取款金额bankCardTest04场景4ivnvv警告重新输入密码bankCardTest05场景5ivnvv警告重新输入密码bankCardTest06场景6ivnvv警告没有机会重新输入密码bankCardTest07场景7niniv警告账户不能用bankCardTest08场景8vvviv警告账户余额不足表1-8 测试用例设计矩阵2.执行软件测试与分析测试结果

确定了测试用例,就应对这些用例进行复审和验证以确保其准确且适用,并取消多余或等效的测试用例。测试顺序场景密码账号输入或选择的金额账面金额ATM机内的现金操作结果测试结论1场景11234564685962006005000成功取款200元,账户余额为400元合格2场景21234564685962006000取款选项不可见,取款功能不可用合格3场景3123456468596200600100重新输入取款金额100元或50元合格4场景4222222468596n6005000警告重新输入密码合格5场景5333333468596n6005000警告重新输入密码合格6场景6444444468596n6005000警告没有机会重新输入密码合格7场景712345646m596n6005000警告账户不能用合格8场景812345646859610006005000警告账户余额不足合格表1-9 测试用例实施矩阵【探索测试】【任务1-3】应用场景法对QQ登录的功能和界面进行测试【任务描述】

应用场景法设计测试用例,对QQ登录模块的用户界面和功能进行测试。【测试提示】 QQ登录时,如果输入的账号不存在,会出现如图1-4所示的提示信息。 QQ登录时输入正确的账号,但输入的密码有误,如图1-5所示。图1-4

QQ登录时输入的账号不存在图1-5

QQ登录时输入正确的账号和错误密码

单击【登录】按钮会出现如图1-6所示的提示信息。 QQ登录时,如果登录地与常登录地不符,则要求输入验证码,如图1-7所示。图1-6

QQ登录时输入的密码不存在出现的提示信息图1-7输入验证码的提示信息 QQ登录超时会出现如图1-8所示的提示信息。 QQ登录时,如果输入的账号和密码都正确,如图1-9所示,则可以成功登录QQ。图1-8

QQ登录超时的提示信息图1-9

QQ登录时账号和密码都正确【小结】

本单元主要介绍了软件测试的基本概念,软件测试在整个软件开发生命周期中的地位和作用,软件测试的分类,对软件测试人员的要求,软件测试的目的、原则和流程等内容,同时对场景设计法与软件测试的基线进行了具体阐述,并通过多个测试实例的执行体验了软件测试。

UML技术目录UML语言概述基本元素关系元素图和视图规则公共机制UML定义统一表示是一种通用的标准,称为软件工业界的一种标准。UML表述的内容能被各类人员所理解,包括客户、领域专家、分析师、设计师、程序员、测试工程师及培训人员等。建模建立软件系统的模型。语言表明它是一套按照特定规则和模式组成的符号系统,它用半形式化方法定义,即用图形符号、自然语言和形式语言相结合的方法来描述定义的。构建一个小狗屋制造需求:

最小模型

简单的过程

简单的工具构造一栋房屋一个团体建设需要更高的效率、更精确的时间限制。需求

模型

良好定义的过程

功能强大的工具构建一个高层建筑早期的结构过程-有限的理论知识现代的结构进步-先进的原材料-先进的分析房屋建模UML用途UML可以做软件需求分析UML可以做软件开发设计UML可以做系统部署设计UML也适用非软件领域的系统建模如企业机构或业务过程UML图形的工具

RationalRose PowerDesigner MSVisio ArgoUML StarUML在UML中,图作为一种可视化的方式聚集了相关需要表达的事物,并且表达了这些事物之间的关系。事物是对模型中最具有代表性的成分的抽象,关系描述了事物之间如何彼此关联、相互依赖或作用的。正是关系把构成系统的诸多事物结合成一个有机的整体。模型元素UML语言的构成从可视化的角度来进行UML的概念和模型的划分。基本元素关系元素视图公共机制UML的基本元素

事物是UML模型中面向对象的基本元素和模块,它们在模型中属于静态部分。

1结构2行为3分组4注释事物结构

结构是UML模型中的名词部分,这些名词往往构成模型的静态部分,负责描述静态概念和客观元素。结构类接口协作用例主动类构件节点结构元素

1.类和对象类是对具有相同属性、相同操作、相同关系的一组对象的共同特征的抽象,类是对象的模板,对象是类的一个实例。图People类表示Peopleagespeak()breathe()fly()李自成:People

对象“李自成”的表示方法结构元素

2.接口

因为,外界对类(或构件)的使用,是通过类(或构件)的方法来实现的,因此,我们把类或构件的方法集合称为接口。接口向外界声明了它能提供的服务。供给接口需求接口图

接口的表示结构元素

3.主动类主动类是指该类创建的对象至少拥有一个进程或线程,通过进程或线程控制任务的执行。主动类的表示与一般类相似,只是最外框是粗线描述而已。如主动类”Radio”的表示如图所示。图主动类的表示结构元素

4.用例在系统中,为完成某个任务而执行的一序列动作,以实现某种功能,我们把这些动作的集合称为用例实例。用例是对一组用例实例共同特征的描述,用例与用例实例的关系,正如类与对象的关系。用例是著名的大师IvarJacobson首先提出的。用户登录图

用例“用户登录”的表示方法结构元素

5.协作协作是指有意义的交互,即,一组对象为了完成某个任务,相互间进行的交互。用例的实现:实现某个用例的一组对象之间的交互,即,把一个用例表示为多个对象间的交互(协作)。从本质上说,协作就是用例的实现。图

协作“销售房产”结构元素

6.构件构件也称组件:系统设计中,一个相对独立的软件部件,它把功能实现部分隐藏在内部,对外声明了一组接口(包括供给接口和需求接口)。因此,两个具有相同接口的构件可以相互替换。构件是比“类”更大的软件部件。COM组件JavaBeanDLL图

构件的表示结构元素

7.节点节点是指硬件系统中的物理部件,它通常具有存储空间或处理能力。图

节点server的表示Server打印机服务器PC机UML的基本元素行为行为是指UML模型的相关动态行为,是UML模型的动态部分,它可以用来描述跨越时间和空间的行为。行为在模型中通常使用动词来进行表示。例如“注册”、“销毁”等。

交互状态行为元素

1.交互交互(interaction)是为了完成某个任务的对象之间相互作用,这种作用是通过信息的发送和接受来完成的。消息名称图

交互的表示方法行为元素

2.状态机状态机(statemachine)在对象生命周期内,在事件驱动下,对象从一种状态迁移到另一状态的状态序列,这些状态序列构成了状态机,即,一个状态机由多个状态组成。图“等待”状态的表示方法UML的基本元素分组

分组是UML对模型中的各种组成部分进行事物分组的一种机制。我们可以把分组当成是一个“盒子”,那么不同的“盒子”就存放不同的模型,从而模型在其中被分解。

包数据访问图“数据访问”包的表示方法UML的基本元素注释注释是UML模型的解释部分,用于进一步说明UML模型中的其它任何组成部分。我们可以用注释事物来描述、说明和标注整个UML模型中的任何元素。注解可以帮助我们更加详细的解释要说明的模型元素所代表的内容。UML中的关系元素关系

UML模型是由各种事物以及这些事物之间的各种关系构成的。关系是指支配、协调各种模型元素存在并相互使用的规则。

依赖关联泛化实现关系

1.依赖关系:依赖关系指的是两个事物之间的一种语义关系,当其中一个事物(独立事物)发生变化就会影响另外一个事物(依赖事物)的语义。2.关联关系:是一种事物之间的结构关系,我们用它来描述一组链,链是对象之间的连接。聚合是一种特殊类型的关联,它描述了整体和部分间的结构关系。组成也是一种关联关系,描述了整体和部分间的结构关系,只是部分是不能够离整体而独立存在的。关系聚集组成

3.泛化关系:是事物之间的一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,也就是我们在面向对象学中常常提起的继承。关系4.实现关系:是UML元素之间的一种语义关系,它描述了一组操作的规约和一组对操作的具体实现之间的语义关系。关系视图和图视图

UML是用模型来描述系统的结构或静态特征以及行为或动态特征的,它从不同的视角为系统的架构建模形成系统的不同视图(view)。静态视图用例视图交互视图实现视图状态机视图活动视图部署视图模型管理视图视图用例视图用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。一个用例是系统的一个功能单元,是系统参与者与系统之间进行的一次交互作用。视图交互视图

交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,是描绘系统中各种角色或功能交互的模型。交互视图显示了跨越多个对象的系统控制流程。

序列图协作图图

UML作为一种可视化的建模语言,其主要表现形式就是将模型进行图形化表示。图用例图类图序列图活动图构件图部署图图用例图

用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系。使用用例图可以表示出用例的组织关系,这种组织关系包括整个系统的全部用例或者是完成相关功能的一组用例。图类图类图显示了系统的静态结构,表示了不同的实体(人、事物和数据)是如何彼此相关联起来。类图可用于表示逻辑类,逻辑类通常就是用户的业务所谈及的事物,比如说学生、学校等。类图还可用于表示实现类,实现类就是程序员处理的实体。图序列图序列图显示了一个具体用例或者用例的一部分的一个详细流程。它几乎是自描述的,序列图不仅可以显示了流程中不同对象之间的调用关系,还可以很详细地显示对不同对象的不同调用。序列图有两个维度:垂直维度,也称时间维度,以发生的时间顺序显示消息或调用的序列;水平维度显示消息被发送到的对象实例。图状态图状态图表示某个类所处的不同状态及该类在这些状态中的转换过程。状态图的符号集包含了下列五个基本的元素:初始起点,状态之间的转换,状态,判断点,一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。图活动图

活动图是用来表示两个或者更多的对象之间在处理某个活动时的过程控制流程。活动图能够在业务单元的级别上,对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。图构件图构件图提供系统的物理视图,它是根据系统的代码构件显示了系统代码的整个物理结构。构件图最经常用于实际的编程工作中。在以构件为基础的开发(CBD)中,构件图为系统架构师提供了一个为解决方案进行建模的自然形式。图部署图部署图是用于表示该软件系统如何部署到硬件环境中,它是显示在系统中的不同的构件在何处物理地运行,以及如何进行彼此的通信。部署图对系统的物理运行情况进行了建模,因此系统的生产人员就能够很好地利用这种图来部署实际的系统。图之间的关系类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的描述对象接口是描述

温馨提示

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

评论

0/150

提交评论