用例模型

UML基础:统一建模语言简介

感情迁移 提交于 2020-01-04 05:32:51
简介:回顾20世纪晚期--准确地说是1997年,OMG组织(Object management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML)。UML的目标之一就是为开发团队提供标准通用的设计语言开发和构建计算机应用。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提供了一套IT专业人员期待多年的统一的标准建模符号,这些人员能够阅读和交流系统架构和设计规划--就像建筑工人多年来所使用的建筑设计图一样。 到了21世纪--准确地说是2003年,UML已经获得了业界的认同。在我所见过的专业人员的简历中,75%都声称具备UML的知识。然而,在同绝大多数求职人员面谈之后,可以明显地看出他们并不真正了解UML。通常地说,他们将UML用作一个术语,或对UML一知半解。大家对UML缺乏理解的这种情况,促进我撰写这篇关于UML 1.4的快速入门文章。当阅读完本文是,您还不具备足够的知识可以在简历上声称自己掌握了UML,但是您已具有了进一步钻研该语言的良好起点。 一些背景知识 正如前面提到过的,UML的本意是要成为一种标准的统一语言,使得IT专业人员能够进行计算机应用程序的建模。UML的主要创始人是Jim Rumbaugh、Ivar Jacobson和Grady Booch,他们最初都有自己的建模方法(OMT

UML简介

删除回忆录丶 提交于 2020-01-04 05:30:57
  1997年,OMG组织(Object Management Group对象管理组织)发布了 统一建模语言 (Unified Modeling Language,UML)。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多年的统一的标准建模符号。通过使用UML,这些人员能够阅读和交流系统架构和设计规划 —— 就像建筑工人多年来所使用的建筑设计图一样。 到了21世纪--准确地说是2003年,UML已经获得了业界的认同。在我所见过的专业人员的简历中,75%都声称具备UML的知识。然而,在同绝大多数求职人员面谈之后,可以明显地看出他们并不真正了解UML。通常地,他们将UML用作一个术语,或对UML一知半解。大家对UML缺乏理解的这种状况,促进我撰写这篇关于UML 1.4的快速入门文章。当阅读完本文时,您还不具备足够的知识可以在简历上声称自己掌握了UML,但是您已具有了进一步钻研该语言的良好起点。 一些背景知识   正如前面曾提到过的,UML的本意是要成为一种标准的统一语言,使得IT专业人员能够进行计算机应用程序的建模。UML的主要创始人是Jim Rumbaugh、Ivar Jacobson和Grady Booch,他们最初都有自己的建模方法(OMT、OOSE和Booch),彼此之间存在着竞争。最终

UML基础:统一建模语言简介

这一生的挚爱 提交于 2020-01-04 05:30:25
目录 背景知识 用例图 类图 序列图 状态图 活动图 组件图 部署图 结束语   英文原文: UML basics: An introduction to the Unified Modeling Language   到了21世纪——准确地说是2003年,UML已经获得了业界的认同。在我所见过的专业人员的简历中,75%都声称具备UML的知识。然而,在同绝大多数求职人员面谈之后,可以明显地看出他们并不真正了解UML。通常地,他们将UML用作一个术语,或对UML一知半解。大家对UML缺乏理解的这种状况,促进我撰写这篇关于UML 1.4的快速入门文章。当阅读完本文时,您还不具备足够的知识可以在简历上声称自己掌握了UML,但是您已具有了进一步钻研该语言的良好起点。    背景知识   正如前面曾提到过的,UML的本意是要成为一种标准的统一语言,使得IT专业人员能够进行计算机应用程序的建模。UML的主要创始人是Jim Rumbaugh、Ivar Jacobson和Grady Booch,他们最初都有自己的建模方法(OMT、OOSE和Booch),彼此之间存在着竞争。最终,他们联合起来创造了一种开放的标准。(听起来是不是很熟悉?这个现象类似J2EE、SOAP和Linux的诞生。)UML成为"标准"建模语言的原因之一在于,它与程序设计语言无关。(IBM

C#编写简单的聊天程序

风流意气都作罢 提交于 2019-12-27 04:52:55
C#编写简单的聊天程序 引言 这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考。文章大体分为四个部分:程序的分析与设计、C#网络编程基础(篇外篇)、聊天程序的实现模式、程序实现。 程序的分析与设计 1.明确程序功能 如果大家现在已经参加了工作,你的经理或者老板告诉你,“小王,我需要你开发一个聊天程序”。那么接下来该怎么做呢?你是不是在脑子里有个雏形,然后就直接打开VS2005开始设计窗体,编写代码了呢?在开始之前,我们首先需要进行软件的分析与设计。就拿本例来说,如果只有这么一句话“一个聊天程序”,恐怕现在大家对这个“聊天程序”的概念就很模糊,它可以是像QQ那样的非常复杂的一个程序,也可以是很简单的聊天程序;它可能只有在对方在线的时候才可以进行聊天,也可能进行留言;它可能每次将消息只能发往一个人,也可能允许发往多个人。它还可能有一些高级功能,比如向对方传送文件等。所以我们首先需要进行分析,而不是一上手就开始做,而分析的第一步,就是搞清楚程序的功能是什么,它能够做些什么。在这一步, 我们的任务是了解程序需要做什么,而不是如何去做。 了解程序需要做什么,我们可以从两方面入手,接下来我们分别讨论。 1.1请求客户提供更详细信息 我们可以做的第一件事就是请求客户提供更加详细的信息

黑盒测试概念及设计方法

烂漫一生 提交于 2019-12-26 17:52:19
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。 黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。 功能不正确或遗漏; 界面错误; 输入和输出错误; 数据库访问错误; 性能错误; 初始化和终止错误等。 概述: 从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法

黑盒测试用例设计方法

北慕城南 提交于 2019-12-26 17:52:04
1. 概述 黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。 2. 等价类划分法 2.1. 概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。 2.2. 等价类划分法的应用 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类。 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 无效等价类:与有效等价类的定义恰巧相反。 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性。 划分等价类的六大原则: 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. 例:输入值是学生成绩,范围是0~100:

黑盒测试用例设计方法

我与影子孤独终老i 提交于 2019-12-26 16:53:35
常用测试用例设计方法 1、等价类划分 2、边界值分析方法 3、因果图方法 4、正交实验设计方法 5、功能图分析方法 6、错误推测法 7、需求文档转化法 8、随机测试 9、对象属性分析法 等价类划分: 1)输入条件中规定了输入数据的取值范围,可分为一个有效等价类和另两个无效等价类 2)输入条件中规定了输入数据的个数,可分为一个有效等价类和两个无效等价类 3)若规定了输入数据必须遵循的原则,则可分为一个有效等价类和若干个无效等价类 4)若输入条件中规定了输入数据的一组取值,且软件对不同的输入值对应有不同的处理,则每个允许值构成一个有效的等价类,其他值构成一个无效的等价类 5)若规定输入为整数,则正整数、负整数。零构成有效三个等价类,小数构成无效的等价类 等价类划分例子: 边界值分析方法: 意义:测试输入数据规则的边界是否有问题 较常用 1)若输入条件规定了取值范围,则选择恰好落在边界上和处在边界内、边界外的测试值 2)若规定了输入数据的个数,则选择最小个数,比最小个数多1、少1,比最大个数多1少1等几种测试情况作为测试时输入数据的个数 3)若输入数据为有序集合,则选择有序集合中的第一个、最后一个以及越界输入作为测试用例 边界值分析方法例子: 1)对16-bit位整数而言,32767和-32768是边界值 2)屏幕上光标在最左上和最右下位置 3)报表的第一行和最后一行 4

笔记 UML基础

放肆的年华 提交于 2019-12-26 14:07:25
UMl:unified modeling language。为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。 UML的定义包括UML语义和UML表示法。 UML模型图的由事物、关系、图构成。事物是UML模型图中最基本的构成元素,是具有代表性的成分的抽象;关系把事物紧密联系在一起;图是事物和关系的可视化表示。 UML事物包括构建事物、分组事物、行为事物、注释事物。   构建事物:UML模型的静态部分,描述概念或物理元素。   行为事物:UML模型的动态部分,描述跨越空间和时间的行为。     交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接     状态机:描述事物或交互在生命周期内响应事件所经历的状态序列。   分组事物:UML模型图的组织部分,描述事物的组织结构。     包:把元素组织成组的机制。   注释事物:UML模型的解释部分,用来对模型中的元素进行说明、解释。     注解:对元素进行约束或解释的简单符号。   UML关系:   依赖关系:两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义。   关联关系:是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。   泛化关系:是一种特殊/一般的关系。可以看做是继承关系  

《软件工程》总结——第十章

限于喜欢 提交于 2019-12-25 22:30:41
本章的主要内容是软件测试 验证与确认 软件的错误 1. 软件未达到产品说明书标明的功能;2. 软件出现了产品说明书指明不会出现的错误;3. 软件功能超出了产品说明书指明的范围;4. 软件未达到产品说明书虽未指出单应达到的目标;5. 软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户不满意。 验证与确认 验证和确认是两个相互独立但却相辅相成的活动,Boehm 对两者的关系作出如下的描述:验证:我们是否在正确地制造产品?;确认:我们是否在制造正确地产品?。EagLesone 和 Ridley 把这两个概念进行了集成,提出:我们是否在保持产品的正确性?。 V & V 的活动 验证和确认在各个阶段中制定和管理特定的任务,其活动跨越了软件的整个生命周期。IEEE Std 1012—1998 给出一个验证和确认过程。 软件测试基础 什么是软件测试 Glen Myers 对软件测试提出了以下观点:1. 测试时一个程序的执行过程,其目的在于发现错误;2. 一个好的测试用例很可能是发现至今尚未察觉的错误;3. 一个成功的测试用例是发现至今尚未察觉的错误的测试。 软件测试的基本原则 1. 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭;2. 程序员应避免检查自己的程序;3. 在设计测试用例时,应当包括合理地输入条件和不合理的输入条件;4.

领域驱动设计实践

此生再无相见时 提交于 2019-12-23 13:12:21
领域驱动设计的关注重心是领域,尤其在面对复杂的领域逻辑时,它总能够帮助我们很好地分析领域。领域驱动设计的基础是领域建模。Eric认为需要和领域专家良好地合作,从交谈中发现通用语言,找到领域的关键词。领域建模是迭代的过程,根据逐渐深入的领域知识来精化模型。不过,领域驱动设计并不排斥其他的分析技术,例如分析模式,或者通过测试驱动开发来引导我们找到问题域的领域模型。 领域建模并非领域驱动设计所独有。在RUP中,领域建模就是一个非常重要的环节。它是一种用例驱动的开发方法,通过获得的用例来帮助分析和设计人员寻找对象,以及对象之间的关系。根据我个人的经验,我喜欢采用两种截然不同的方式来获得模型。一种是用例驱动,一种则是测试驱动。在得到初步的领域模型中,我会尝试利用领域驱动设计的思想为对象分类,找到实体、值对象、聚合以及服务对象,并通过分析对象的生命周期,为不同类型的对象建立资源库和工厂对象。 本文将以一个读者耳熟能详的图书馆管理系统作为我们要分析的领域,尝试讲解如何在项目开发中应用领域驱动设计。我将选择用例驱动的方式来获得我最初的领域模型。简单起见,我先给出分析领域的用例以及用例图。 借书:读者携带要借书籍到借书处。图书馆工作人员首先扫描读者的借书卡,获得读者信息,然后扫描书籍的条形码。如果借阅多本,则扫描多本书籍。扫描时,需要判断当前读者的类型,获得读者可借书籍数。如果借阅书籍超出,则提示