第7章 统一建模语言UML
统一建模语言UML
进程视图
以图形方式说明了系统中进程的详细组织结构, 即建模公式中的“人”、“事”、“物”、
“规则”是如何交互的,它们的关系如何。 即分析设计视图
部署视图
以图形方式说明了处理活动在系统中各个节点 的分布,包括进程和线程的物理分布。
即建模公式中的“人”、“事”、“物”、 “规则”是如何部署在物理节点(主机、网络 环境)上的。
抽象层次
抽象层次越高,具体信息越少,但是概括能力 越强。
抽象层次越高,表达能力越丰富。 有时,抽象甚至比具体还容易让人理解。
适当采用合适的抽象层次。
软件开发中,主体上采用自顶向下的抽象法。 辅以自底向上方法,总结较低抽象层次的实践
经验来改进高抽象层次的概念,提高软件质量。
统一过程的一般抽象层次
实际工作中应该在什么地方应用视图、应用哪 一种视图、总共需要哪些视图?
视图
人们只会关心信息中他感兴趣的那部分视角, 因此在展示信息时应选择恰当的视角。
产品有着很多面,只有将这些方面都描述清楚, 用很多个不同的视图去展示软件的不同方面— 静态的、动态的、结构性的、逻辑性的等—才 能完整的建立模型。
怎么建?
采用不同的方法去认识和描述事物,将导致不 同的建模结果。
过程? 对象?
抽象角度的不同,决定了建模方向的不同。
先弄清楚要从什么角度抽象,再进行后续工作。
模是什么?
决定了抽象角度后,我们试图从该角度进行场 景模拟。
目的是从中得到“人”、“事”、“物”、 “规则”,这就是我们要得到的“模”。
对象分析法
一切都是对象 对象都是独立的 对象都具有原子性 对象都是可抽象的 对象都有层次性
UML(UnifiedModelingLanguage统一建模语言)
UML(UnifiedModelingLanguage统⼀建模语⾔)UML(Unified Modeling Language 统⼀建模语⾔),⼜称标准建模语⾔。
是⽤来对软件密集系统进⾏可视化建模的⼀种语⾔。
UML是⼀种⾯向对象的建模语⾔,它可以实现⼤型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建⽴各种所需的⽂档,是⼀种定义良好、易于表达、功能强⼤且普遍适⽤的建模语⾔。
UML基本内容详述(1)视图 视图是表达系统的某⼀⽅⾯特征的UML建模元素的⼦集;试图并不是图,它是由⼀个或多个图组成的对系统某个⾓度的抽象。
1)⽤例视图(核⼼视图) 强调从⽤户的⾓度看到的或需要的系统功能。
2)逻辑视图 该视图⽤于描述系统内实现的逻辑功能,展现系统的静态或结构组成及特征。
3)组件视图 该视图从系统实现的⾓度来描述模型对象间的关系。
4)配置视图 该视图⽤于说明系统的物理配置。
(2)图表 图表是描述视图内容的图。
1)⽤例图 ⽤于描述外部项与系统提供的使⽤事件之间的联系。
⼀个使⽤事件是系统提供的功能的具体描述,是系统分析⼈员从⽤户⾓度描述系统的功能,是功能与功能之间以及功能与⽤户之间的关系。
使⽤事件定义了系统的功能需求。
简单理解:⽤来描述系统的功能。
2)类图 ⽤于描述系统的静态结构。
类可以⽤不同⽅式连接,主要包括联合、依赖、独⽴和包装。
⼀个系统⼀般有多张类图,⼀个类可在不同的视图中出现。
3)对象图 ⽤于表述系统在某个时刻的静态结构。
对象图也可作为协作图的⼀部分,说明⼀组对象之间的动态协作关系。
对象图与类图的区别:对象图表⽰的是类中的许多对象实例,⽽不是类本⾝。
4)状态图 ⽤于说明类中的对象可能具有的状态,以及由时间引起的状态的改变。
简单理解:描述了系统元素的状态条件和响应。
5)顺序图(时序图) ⽤于描述对象间的动态协作关系。
表达了对象间发⾏消息的时序,同时也表达出对象间的相互作⽤,以及当系统执⾏到某个特定位置时可能会发⽣的事。
UML统一建模语言
统一建模语言Unified Modeling Language,5类、13种视图第一部分UML概述为什么建模?1、在一个现代化的工程中,人们要相互沟通和合作,就必须使用标准的工业化设计语言,用这些语言来对开发产品进行建模。
2、在实际的软件开发过程中,现实世界的复杂性以致用户经常不能精确地理解和描述将要开发的软件系统,建模可以使用户更好地理解需要开发的系统。
3、建模是开发优秀软件的所有活动中最核心的部分,其目的是把所要设计的结构和系统的行为联系起来,并对系统的体系结构进行可视化和控制。
4、建模过程把复杂的问题分解成为易于理解的小问题,以达到问题的求解。
UML定义1、UML是用于描绘软件蓝图的标准语言。
2、UML是一种语言,也就意味着它有属于自己的标准表达规则。
它不是一种类似Java、C++的编程语言,而是一种分析设计语言,也就是一种建模语言。
3、UML是由图形符号表达的建模语言。
UML能做什么?制造业、医疗卫生、军事领域......图示:要学UML吗?你应该使用UML吗?是!旧的面向对象符号正在快速消失,新的书、文章将全部采用UML 作为符号。
如果你正要开始使用建模符号,你就该直接学习UML。
--Martin FowlerUML 五大类、13种视图五大类视图:1、用户视图:以用户的观点表示系统的目标,它是所有视图的核心,该视图描述系统的需求。
2、结构视图:表示系统的静态行为,描述系统的静态元素如包、类与对象,以及它们之间的关系。
3、行为视图:表示系统的动态行为,描述系统的组成元素如对象在系统运行时的交互关系。
4、实现视图:表示系统中逻辑元素的分布,描述系统中物理文件以及它们之间的关系。
5、环境视图:表示系统中物理元素的分布,描述系统中硬件设备以及它们之间的关系。
UML 2.0的十三种图:1、用例图(用户视图)2、类图(结构视图)3、对象图(结构视图)4、包图(结构视图,UML2.0)5、组合结构图(结构视图,UML2.0)6、时序图(行为视图)7、通信图(行为视图,UML1.0 协作图)8、定时图(行为视图,UML2.0)9、状态图(行为视图)10、活动图(行为视图)11、交互概览图(行为视图,UML2.0)12、组件图(实现视图)13、部署图(环境视图)第二部分UML需求建模用户视图1种视图以用户的观点表示系统的目标,它是所有视图的核心,该视图描述系统的需求。
什么是统一建模语言(UML)?
什么是统一建模语言(UML)?UML是统一建模语言的缩写,是一种标准化建模语言,由一组集成的图表组成,它开发来帮助系统和软件开发人员指定、可视化、构建和记录软件系统的工件,以及业务建模和其他非软件系统。
UML代表了在大型和复杂系统建模中已被证明是成功的最佳工程实践的集合。
UML是开发面向对象软件和软件开发过程中非常重要的一部分。
UML 主要使用图形符号来表示软件项目的设计。
使用UML帮助项目团队沟通,探索潜在的设计,并验证软件的体系结构设计。
在本文中,我们将向您详细介绍UML是什么、UML的历史以及每个UML图类型的描述,以及UML示例。
What is Unified Modeling Language (UML)?UML, short for Unified Modeling Langung of an integrated set of diagrams, developed to help system and software developers for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. The UML is a very important part of developing object oriented software and the software development process. The UML uses mostly graphical notations to express the design of software projects. Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software. In this article we will give you detailed ideas about what is UML, the history of UML and a description of each UML diagram type, along with UML examples.The Origin of UMLThe goal of UML is to provide a standard notation that can be used by all object-oriented methods and to select and integrate the best elements of precursor notations. UML has been designed for a broad range of applications. Hence, it provides constructs for a broad range of systems and activities (e.g., distributed systems, analysis, system design and deployment).UML is a notation that resulted from the unification of OMT from1.Object Modeling T echnique OMT [James Rumbaugh 1991] - was best for analysis and data-intensive information systems.2.Booch [Grady Booch 1994] - was excellent for design and implementation. Grady Booch had worked extensively with the Ada language, and had been a major player in the development of Object Oriented techniques for the language. Although the Booch method was strong, the notation was less well received (lots of cloud shapes dominated his models - not very tidy)3.OOSE (Object-Oriented Software Engineering [Ivar Jacobson 1992]) - featured a model known as Use Cases. Use Cases are a powerful technique for understanding the behaviour of an entire system (an area where OO has traditionally been weak).In 1994, Jim Rumbaugh, the creator of OMT, stunned the software world when he left General Electric and joined Grady Booch at Rational Corp. The aim of the partnership was to merge their ideas into a single, unified method (the working title for the method was indeed the "Unified Method").By 1995, the creator of OOSE, Ivar Jacobson, had also joined Rational, and his ideas (particularly the concept of "Use Cases")were fed into the new Unified Method - now called the Unified Modelling Language1. The team of Rumbaugh, Booch and Jacobson are affectionately known as the "Three Amigos"UML has also been influenced by other object-oriented notations:•Mellor and Shlaer [1998]•Coad and Yourdon [1995]•Wirfs-Brock [1990]•Martin and Odell [1992]UML also includes new concepts that were not present in other major methods at the time, such as extension mechanisms and a constraint language.History of UML1.During 1996, the first Request for Proposal (RFP) issued by the Object Management Group (OMG) provided the catalyst for these organizations to join forces around producing a joint RFP response.2.Rational established the UML Partners consortium with several organizations willing to dedicate resources to work toward a strong UML 1.0 definition. Those contributing most to the UML 1.0 definition included:o Digital Equipment Corpo HPo i-Logixo IntelliCorpo IBMo ICON Computingo MCI Systemhouseo Microsofto Oracleo Rational Softwareo TIo Unisys3.This collaboration produced UML 1.0, a modeling language that was well-defined, expressive, powerful, and generally applicable. This was submitted to the OMG in January 1997 as an initial RFP response.14.In January 1997 IBM, ObjecTime, Platinum Technology, Ptech, Taskon, Reich Technologies and Softeam also submitted separate RFP responses to the OMG. These companies joined the UML partners to contribute their ideas, and together the partners produced the revised UML 1.1 response. The focus of the UML 1.1 release was to improve the clarity of the UML 1.0 semantics and to incorporate contributions from the new partners. It was submitted to the OMG for their consideration and adopted in the fall of 1997.1 and enhanced 1.1 to 1.5, and subsequently to UML 2.1 from 01 to 06 (now the UML current version is 2.5)Why UMLAs the strategic value of software increases for many companies, the industry looks for techniques to automate the production of software and to improve quality and reduce cost and time-to-market. These techniques include componenttechnology, visual programming, patterns and frameworks. Businesses also seek techniques to manage the complexity of systems as they increase in scope and scale. In particular, they recognize the need to solve recurring architectural problems, such as physical distribution, concurrency, replication, security, load balancing and fault tolerance. Additionally, the development for the World Wide Web, while making some things simpler, has exacerbated these architectural problems. The Unified Modeling Language (UML) was designed to respond to these needs. The primary goals in the design of the UML summarize by Page-Jones in Fundamental Object-Oriented Design in UML as follows:1.Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models.2.Provide extensibility and specialization mechanisms to extend the core concepts.3.Be independent of particular programming languages and development processes.4.Provide a formal basis for understanding the modeling language.5.Encourage the growth of the OO tools market.6.Support higher-level development concepts such as collaborations, frameworks, patterns and components.7.Integrate best practices.UML - An OverviewBefore we begin to look at the theory of the UML, we are going to take a very brief run through some of the major concepts of the UML.The first thing to notice about the UML is that there are a lot of different diagrams (models) to get used to. The reason for thisis that it is possible to look at a system from many different viewpoints. A software development will have many stakeholders playing a part.For Example:•Analysts•Designers•Coders•Testers•QA•The Customer•Technical AuthorsAll of these people are interested in different aspects of the system, and each of them require a different level of detail. For example, a coder needs to understand the design of the system and be able to convert the design to a low level code. By contrast, a technical writer is interested in the behavior of the system as a whole, and needs to understand how the product functions. The UML attempts to provide a language so expressive that all stakeholders can benefit from at least one UML diagram.Here's a quick look at each one of these 13 diagrams in as shown in the UML 2 Diagram Structure below:Structure diagrams show the static structure of the system and its parts on different abstraction and implementation levels and how they are related to each other. The elements in a structure diagram represent the meaningful concepts of a system, and may include abstract, real world and implementation concepts, there are seven types of structure diagram as follows:•Class Diagram•Component Diagram•Deployment Diagram•Object Diagram•Package Diagram•Composite Structure Diagram•Profile DiagramBehavior diagrams show the dynamic behavior of the objects in a system, which can be described as a series of changes to the system over time, there are seven types of behavior diagrams as follows:•Use Case Diagram•Activity Diagram•State Machine Diagram•Sequence Diagram•Communication Diagram•Interaction Overview Diagram•Timing DiagramWhat is a Class Diagram?The class diagram is a central modeling technique that runs through nearly all object-oriented methods. This diagram describes the types of objects in the system and various kinds of static relationships which exist between them.RelationshipsThere are three principal kinds of relationships which areimportant:1.Association - represent relationships between instances of types (a person works for a company, a company has a number of offices.2.Inheritance - the most obvious addition to ER diagrams for use in OO. It has an immediate correspondence to inheritance in OO design.3.Aggregation - Aggregation, a form of object composition in object-oriented design.Class Diagram ExampleWhat is Component Diagram?In the Unified Modeling Language, a component diagram depicts how components are wired together to form larger components or software systems. It illustrates the architectures of the software components and the dependencies between them. Those software components including run-time components, executable components also the source code components.Component Diagram ExampleWhat is a Deployment Diagram?The Deployment Diagram helps to model the physical aspect of an Object-Oriented software system. It is a structure diagram which shows architecture of the system as deployment (distribution) of software artifacts to deployment targets. Artifacts represent concrete elements in the physical world that are the result of a development process. It models the run-time configuration in a static view and visualizes the distribution of artifacts in an application. In most cases, it involves modeling the hardware configurations together with the software components that lived on.Deployment Diagram ExampleWhat is an Object Diagram?An object diagram is a graph of instances, including objects and data values. A static object diagram is an instance of a class diagram; it shows a snapshot of the detailed state of a system at a point in time. The difference is that a class diagram represents an abstract model consisting of classes and their relationships. However, an object diagram represents an instance at a particular moment, which is concrete in nature. The use of object diagrams is fairly limited, namely to show examples of data structure.Class Diagram vs Object Diagram - An ExampleSome people may find it difficult to understand the difference between a UML Class Diagram and a UML Object Diagram as they both comprise of named "rectangle blocks", with attributes in them, and with linkages in between, which make the two UML diagrams look similar. Some people may even think they are the same because in the UML tool they use both the notations for Class Diagram and Object Diagram are put inside the same diagram editor - Class Diagram.But in fact, Class Diagram and Object Diagram represent two different aspects of a code base. In this article, we will provide you with some ideas about these two UML diagrams, what they are, what are their differences and when to use each of them.Relationship between Class Diagram and Object Diagram You create "classes" when you are programming. For example, in an online banking system you may create classes like 'User', 'Account', 'Transaction', etc. In a classroom management system you may create classes like 'Teacher', 'Student', 'Assignment', etc. In each class, there are attributes and operations that represent the characteristic and behavior of the class. Class Diagram is a UML diagram where you can visualize those classes, along with their attributes, operations and theinter-relationship.UML Object Diagram shows how object instances in your system are interacting with each other at a particular state. It also represents the data values of those objects at that state. In other words, a UML Object Diagram can be seen as a representation of how classes (drawn in UML Class Diagram) are utilized at a particular state.If you are not a fan of those definition stuff, take a look at the following UML diagram examples. I believe that you will understand their differences in seconds.Class Diagram ExampleThe following Class Diagram example represents two classes - User and Attachment. A user can upload multiple attachment so the two classes are connected with an association, with 0..* as multiplicity on the Attachment side.Object Diagram ExampleThe following Object Diagram example shows you how the object instances of User and Attachment class "look like" at the moment Peter (i.e. the user) is trying to upload two attachments. So there are two Instance Specification for the two attachment objects to be uploaded.What is a Package Diagram?Package diagram is UML structure diagram which shows packages and dependencies between the packages. Modeldiagrams allow to show different views of a system, for example, as multi-layered (aka multi-tiered) application - multi-layered application model.Package Diagram ExampleWhat is a Composite Structure Diagram?Composite Structure Diagram is one of the new artifacts added to UML 2.0. A composite structure diagram is similar to a class diagram and is a kind of component diagram mainly used in modeling a system at micro point-of-view, but it depicts individual parts instead of whole classes. It is a type of static structure diagram that shows the internal structure of a class and the collaborations that this structure makes possible.This diagram can include internal parts, ports through which the parts interact with each other or through which instances of the class interact with the parts and with the outside world, and connectors between parts or ports. A composite structure is a set of interconnected elements that collaborate at runtime to achieve some purpose. Each element has some defined role in the collaboration.Composite Structure Diagram ExampleWhat is a Profile Diagram?A profile diagram enables you to create domain and platform specific stereotypes and define the relationships between them. You can create stereotypes by drawing stereotype shapes and relate them with composition or generalization through the resource-centric interface. You can also define and visualize tagged values of stereotypes.Profile Diagram ExampleWhat is a Use Case Diagram?A use-case model describes a system's functional requirements in terms of use cases. It is a model of the system's intended functionality (use cases) and its environment (actors). Use cases enable you to relate what you need from a system to how the system delivers on those needs.Think of a use-case model as a menu, much like the menu you'd find in a restaurant. By looking at the menu, you knowwhat's available to you, the individual dishes as well as their prices. You also know what kind of cuisine the restaurant serves: Italian, Mexican, Chinese, and so on. By looking at the menu, you get an overall impression of the dining experience that awaits you in that restaurant. The menu, in effect, "models" the restaurant's behavior.Because it is a very powerful planning instrument, the use-case model is generally used in all phases of the development cycle by all team members.Use Case Diagram ExampleWhat is an Activity Diagram?Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. It describes the flow of control of the target system, such as the exploring complex business rules and operations, describing the use case also the business process. In the Unified Modeling Language, activity diagrams are intended to model both computational and organizational processes (i.e. workflows).Activity Diagram ExampleWhat is a State Machine Diagram?A state diagram is a type of diagram used in UML to describe the behavior of systems which is based on the concept of state diagrams by David Harel. State diagrams depict the permitted states and transitions as well as the events that effect these transitions. It helps to visualize the entire lifecycle of objects and thus help to provide a better understanding of state-based systems.State Machine Diagram ExampleWhat is a Sequence Diagram?The Sequence Diagram models the collaboration of objects based on a time sequence. It shows how the objects interact with others in a particular scenario of a use case. With the advanced visual modeling capability, you can create complex sequence diagram in few clicks. Besides, some modeling tool such as Visual Paradigm can generate sequence diagram from the flow of events which you have defined in the use case description.Sequence Diagram ExampleWhat is a Communication Diagram?Similar to Sequence Diagram, the Communication Diagram is also used to model the dynamic behavior of the use case. When compare to Sequence Diagram, the Communication Diagram is more focused on showing the collaboration of objects rather than the time sequence. They are actually semantically equivalent, so some of the modeling tool such as, Visual Paradigm allowsyou to generate it from one to the other.Communication Diagram ExampleWhat is Interaction Overview Diagram?The Interaction Overview Diagram focuses on the overview of the flow of control of the interactions. It is a variant of the Activity Diagram where the nodes are the interactions or interaction occurrences. The Interaction Overview Diagram describes the interactions where messages and lifelines are hidden. You can link up the "real" diagrams and achieve high degree navigability between diagrams inside the Interaction Overview Diagram.Interaction Overview Diagram ExampleWhat is Timing Diagram?Timing Diagram shows the behavior of the object(s) in a given period of time. Timing diagram is a special form of a sequence diagram. The differences between timing diagram and sequence diagram are the axes are reversed so that the time are increase from left to right and the lifelines are shown in separate compartments arranged vertically.Timing Diagram ExampleUML Glossary and Terms•Abstract Class - A class that will never be instantiated. An instance of this class will never exist.•Actor - An object or person that initiates events the system is involved with.•Activity: A step or action within an Activity Diagram. Represents an action taken by the system or by an Actor.•Activity Diagram: A glorified flowchart that shows the steps and decisions and parallel operations within a process, such as an algorithm or a business process.•Aggregation - Is a part of another class. Shown with a hollow diamond next to the containing class in diagrams.•Artifacts - Documents describing the output of a step in the design process. The description is graphic, textual, or some combination.•Association - A connection between two elements of a Model. This might represent a member variable in code, or theassociation between a personnel record and the person it represents, or a relation between two categories of workers, or any similar relationship. By default, both elements in an Association are equal, and are aware of each other through the Association. An Association can also be a Navigable Association, meaning that the source end of the association is aware of the target end, but not vice versa.•Association Class: A Class that represents and adds information to the Association between two other Classes.•Attributes - Characteristics of an object which may be used to reference other objects or save object state information.•Base Class: A Class which defines Attributes and Operations that are inherited by a Subclass via a Generalization relationship.•Branch: A decision point in an Activity Diagram. Multiple Transitions emerge from the Branch, each with a Guard Condition. When control reaches the Branch, exactly one Guard Condition must be true; and control follows the corresponding Transition.•Class: A category of similar Objects, all described by the same Attributes and Operations and all assignment-compatible.•Class Diagram - Shows the system classes and relationships between them.•Classifier: A UML element that has Attributes and Operations. Specifically, Actors, Classes, and Interfaces.•Collaboration: A relation between two Objects in a Communication Diagram, indicating that Messages can pass back and forth between the Objects.•Communication Diagram - A diagram that shows how operations are done while emphasizing the roles of objects.•Component: A deployable unit of code within the system.•Component Diagram: A diagram that shows relations between various Components and Interfaces.•Concept - A noun or abstract idea to be included in a domain model.•Construction Phase - The third phase of the Rational Unified Process during which several iterations of functionality are built into the system under construction. This is where the main work is done.•Dependence: A relationship that indicates one Classifier knows the Attributes and Operations of another Classifier, but isn't directly connected to any instance of the second Classifier.•Deployment Diagram: A diagram that shows relations between various Processors.•Domain -The part of the universe that the system is involved with.•Elaboration Phase - The second phase of the Rational Unified Process that allows for additional project planning including the iterations of the construction phase.•Element: Any item that appears in a Model.•Encapsulation - Data in objects is private.•Generalization - Indicates that one class is a subclass on another class (superclass). A hollow arrow points to the superclass.•Event: In a State Diagram, this represents a signal or event or input that causes the system to take an action or switch States.•Final State: In a State Diagram or an Activity Diagram, this indicates a point at which the diagram completes.•Fork: A point in an Activity Diagram where multiple parallel control threads begin.•Generalization: An inheritance relationship, in which aSubclass inherits and adds to the Attributes and Operations of a Base Class.•GoF - Gang of Four set of design patterns.•High Cohesion - A GRASP evaluative pattern which makes sure the class is not too complex, doing unrelated functions.•Low Coupling - A GRASP evaluative pattern which measures how much one class relies on another class or is connected to another class.•Inception Phase - The first phase of the Rational Unified Process that deals with the original conceptualization and beginning of the project.•Inheritance - Subclasses inherit the attributes or characterics of their parent (superclass) class. These attributes can be overridden in the subclass.•Initial State: In a State Diagram or an Activity Diagram, this indicates the point at which the diagram begins.•Instance - A class is used like a template to create an object. This object is called an instance of the class. Any number of instances of the class may be created.•Interface: A Classifier that defines Attributes and Operations that form a contract for behavior. A provider Class or Component may elect to Realize an Interface (i.e., implement its Attributes and Operations). A client Class or Component may then Depend upon the Interface and thus use the provider without any details of the true Class of the provider.•Iteration - A mini project section during which some small piece of functionality is added to the project. Includes the development loop of analysis, design and coding.•Join: A point in an Activity Diagram where multiple parallel control threads synchronize and rejoin.•Member: An Attribute or an Operation within a Classifier.•Merge: A point in an Activity Diagram where different control paths come together.•Message - A request from one object to another asking the object receiving the message to do something. This is basically a call to a method in the receiving object.•Method - A function or procedure in an object.•Model - The central UML artifact. Consists of various elements arranged in a hierarchy by Packages, with relations between elements as well.•Multiplicity - Shown in a domain model and indicated outside concept boxes, it indicates object quantity relationship to quantiles of other objects.•Navigability: Indicates which end of a relationship is aware of the other end. Relationships can have bidirectional Navigability (each end is aware of the other) or single directional Navigability (one end is aware of the other, but not vice versa).•Notation - Graphical document with rules for creating analysis and design methods.•Note: A text note added to a diagram to explain the diagram in more detail.•Object - Object: In an Activity Diagram, an object that receives information from Activities or provides information to Activities. In a Collaboration Diagram or a Sequence Diagram, an object that participates in the scenario depicted in the diagram. In general: one instance or example of a given Classifier (Actor, Class, or Interface).•Package - A group of UML elements that logically should be grouped together.•Package Diagram: A Class Diagram in which all of theelements are Packages and Dependencies.•Pattern - Solutions used to determine responsibility assignment for objects to interact. It is a name for a successful solution to a well-known common problem.•Parameter: An argument to an Operation.•Polymorphism - Same message, different method. Also used as a pattern.•Private: A Visibility level applied to an Attribute or an Operation, indicating that only code for the Classifier that contains the member can access the member.•Processor: In a Deployment Diagram, this represents a computer or other programmable device where code may be deployed.•Protected: A Visibility level applied to an Attribute or an Operation, indicating that only code for the Classifier that contains the member or for its Subclasses can access the member.•Public: A Visibility level applied to an Attribute or an Operation, indicating that any code can access the member.•Reading Direction Arrow - Indicates the direction of a relationship in a domain model.•Realization: Indicates that a Component or a Class provides a given Interface.•Role - Used in a domain model, it is an optional description about the role of an actor.•Sequence Diagram: A diagram that shows the existence of Objects over time, and the Messages that pass between those Objects over time to carry out some behavior. State chart diagram - A diagram that shows all possible object states.•State: In a State Diagram, this represents one state of a system or subsystem: what it is doing at a point in time, as wellas the values of its data.•State Diagram: A diagram that shows States of a system or subsystem, Transitions between States, and the Events that cause the Transitions.•Static: A modifier to an Attribute to indicate that there's only one copy of the Attribute shared among all instances of the Classifier. A modifier to an Operation to indicate that the Operation stands on its own and doesn't operate on one specific instance of the Classifier.•Stereotype: A modifier applied to a Model element indicating something about it which can't normally be expressed in UML. In essence, Stereotypes allow you to define your own "dialect" of UML.•Subclass: A Class which inherits Attributes and Operations that are defined by a Subclass via a Generalization relationship.•Swimlane: An element of an Activity Diagram that indicates what parts of a system or a domain perform particular Activities. All Activities within a Swimlane are the responsibility of the Object, Component, or Actor represented by the Swimlane.•Time Boxing - Each iteration will have a time limit with specific goals.•Transition: In an Activity Diagram, represents a flow of control from one Activity or Branch or Merge or Fork or Join to another. In a State Diagram, represents a change from one State to another.•Transition Phase - The last phase of the Rational Unified Process during which users are trained on using the new system and the system is made available to users.•UML - Unified Modeling Language utilizes text and graphic documents to enhance the analysis and design of software。
统一建模语言UML与Rational Rose工具
需求分析阶段应用
01
利用UML用例图描述系统功能和用户需求
02
通过活动图细化业务流程和交互逻辑
构建概念模型,明确系统范围和边界
03
系统设计阶段应用
使用类图和对象图设计系统静态结构 利用时序图和协作图设计系统动态行为 构建包图和部署图,规划系统物理架构
编码实现阶段应用
1
依据设计阶段的UML模型进行编码实现
逆向工程
当代码发生变化时,Rational Rose可以通过逆 向工程将代码同步到UML模型中,保持模型与代 码的一致性。
测试支持
利用Rational Rose的测试工具,可以创建测试 用例、执行测试并生成测试报告,以确保系统功 能的正确性和稳定性。
05
UML与Rational Rose在软件 开发中的应用
提供了版本控制功能
支持多人协作开发,方便团队管理和控制UML模型的版 本。
Rational Rose工具优势
专业的建模工具
Rational Rose是一款经过广泛验证的 专业建模工具,具有高度的可靠性和稳
定性。
良好的兼容性
支持多种操作系统和开发语言,可以 与其他开发工具无缝集成。
强大的功能支持
提供了全面的UML建模功能,并支持 多种UML图的创建和编辑,满足复杂 软件系统的建模需求。
与其他工具的集成
为了更好地支持软件开发过程,未来UML建模工具可能 会与其他开发工具进行更紧密的集成,实现建模、设计、 开发、测试等全流程的自动化。
多领域应用
UML作为一种通用的建模语言,未来可能会应用于更多 领域,如物联网、大数据、云计算等,为这些领域的软件 开发提供可视化建模支持。
标准化和规范化
第7节 统一建模语言UML概述
7.3 UML的关系
7.4 UML的图
• UML规范定义了6种类型的图:
用例图 类图 交互图 状态图 活动图 实现图
1、用例图
用例图描述的是外部执行者(actor)所理 解的系统功能。用例模型用于需求分析阶段, 它的建立是系统开发者和用户反复讨论的结 果,描述了开发者和用户对需求规格达成的 共识。 在UML中,一个用例模型由若干个用例图来描 述。
分组事物
• 分组事物是UML模型的组织部分。它的作用是为了 降低模型复杂性。 • UML中的分组事物是包(package)。 • 包是把模型元素组织成组的机制,结构事物、行 为事物甚至其他分组事物都可以放进包内。
注释事物
• 注释事物是UML模型的解释部分,它们用来描述和 标注模型的任何元素。 • 通常可以用注释修饰带有约束或者解释的图。
结构事物
(8)构件(component)── 也称组 件,是系统中物理的、可替代的部 件。它通常是描述一些逻辑元素的 物理包。
(9)节点(node)── 是在运行时 存在的物理元素。它代表一种可计 算的资源,通常具有一定的记忆能 力和处理能力。
行为事物
• 行为事物是UML模型的动态部分,包括两类:
• 2个用例之间的关系主要有2种情况:一种是用于 重用的包含关系,用构造型《include》表示;另 一种是用于分离出不同的行为的扩展,用构造型 《extend》表示。 包含关系:当可以从2个或2个以上的原始用 例中提取公共行为,或者发现能够使用一个构件 来实现某一个用例的部分功能时,应该使用包含 关系来表示它们。 扩展关系:如果一个用例明显地混合了2种或 2种以上的不同场景,即根据情况可能发生多种事 情,可以断定,将这个用例分为一个主用例和一 个或多个辅用例描述可能更加清晰。
统一建模语言UML
活动图
活动图描述为了完成某一个目标需要做的活动 以及这些活动的执行顺序。
活动图中的基本元素:
参考ppt UML-4
掌握如何对用例场景进行建模
状态图
显示一个状态机,用于对模型元素的动态行为 进行建模,即对系统行为中受事件驱动的方面 进行建模。
通常使用状态图来说明单个业务实体对象、或 分析类对象、或设计类对象在它的整个生命周 期内可能的状态,以及导致状态转换的事件和 状态转换引起的操作。
仅描述单个对象在其生命周期内状态的改变, 不用于描述对象间的交互。
状态图中的基本元素: 来自考ppt UML-4状态图示例
示例对电话工作的行为建模。
拨号 idle
dialing
拨号失败
拒接来电
来电
暂无人接听继续响铃
完成通话挂机
电话接通
ringing
摘机
talking
时序图
是交互图的一种,用于描述按时间顺序排列的 对象之间的交互模式。
统一
UML用一种统一的语言来覆盖整个软件过程 (需求、分析、设计……),让不同的开发团 队能顺畅沟通。
可视化
UML通过它的元模型和表示法,把文字等方式 很难表达清楚的,隐晦的潜台词用简单直观的 图形表达,准确直观的描述复杂的含义。
UML提供了相关元素来建立模型:
参与者
模型信息来源提供者,也是第一驱动者。 是整个建模过程的核心。 代表了现实世界中的“人”。
因此,这件事情是由很多不同的情况的集合构 成的,
在UML中称之为用例场景。 一个用例场景就是一个用例的实例。
用例的构成
用例的特征
1. 用例是相对独立的。 2. 用例的执行结果对参与者来说是可观测的和
统一建模语言UML
UML统一建模语言1.软件建模概述1.1什么是建模任何事情都要先想清楚了才能做,软件开发更是如此!软件开发过程不可能一上来就开始盲目写代码,写代码之前必须搞清楚下面一些基本问题:要做什么?做成什么样?怎么去做?1.2建模原则➢选择建立什么样的模型对如何发现和解决问题具有重要的影响。
正确的模型有助于提高开发者的洞察力。
➢每个模型可以有多种表达方式. 使用者的身份和使用的原因是评判模型好坏的关键。
➢最好的模型总是能够切合实际. 模型是现实的简化,必须保证简化过程不会掩盖任何重要的细节。
1.3软件建模的实现过程软件建模的作用是把源于现实世界的问题转化为计算机可以理解和实现的过程。
软件建模的实现过程是从需求入手, 用模型表达分析设计过程, 最终将模型映射成软件实现.2.UML(1)UML(United Modeling Language, 统一建模语言): 是一种基于面向对象的可视化建模语言.(2)UML 采用了一组形象化的图形(如类图)符号作为建模语言, 使用这些符号可以形象地描述系统的各个方面(3)UML 通过建立图形之间的各种关系(如类与类之间的关系)来描述模型.2.1 UML一共有10种图。
2.2 UML中的关系UML中的关系主要包括4种:关联关系(association)依赖关系(dependency)泛化关系(generalization)实现关系(realization)名称重要性活动图★★☆☆☆3.用例图(1)用例图(Use Case Diagram): 也称为用户模型图, 是从软件需求分析到最终实现的第一步, 它是从客户的角度来描述系统功能.(2)用例图包含3 个基本组件:参与者(Actor): 与系统打交道的人或其他系统即使用该系统的人或事物. 在UML 中参与者用人形图标表示用例(Use Case): 代表系统的某项完整的功能. 在UML 中使用一个椭圆来表示关系: 定义用例之间的关系------ 泛化关系, 扩展关系, 包含关系泛化关系: 表示同一业务目的(父用例)的不同技术实现(各个子用例). 在UML 中, 用例泛化用一个三角箭头从子用例指向父用例. 以下是某购物网站为用户提供不同的支付方式3.2 用例之间的关系——包含关系一个用例可以包含其他用例具有的行为, 并把它包含的用例行为作为自身行为的一部分. 在UML 中包含关系用虚线箭头加“<<include>>”, 箭头指向被包含的用例.如果在完成某个功能的时候偶尔会执行另外一个功能, 则用扩展关系表示.在UML 中扩展关系用虚线箭头加“<<extend>>”, 箭头指向被扩展的用例.4.类图类图是面向对象系统建模中最常用的图. 是定义其他图的基础.类图主要是用来显示系统中的类, 接口以及它们之间的关系.类图包含的主要元素有类, 接口和关系. 其中关系有泛化关系,关联关系, 依赖关系和实现关系. 在类图中也可以包含注释和约束.4.1类的表示法1. 类是类图的主要组件, 由3部分组成: 类名, 属性和方法. 在UML 中, 类用矩形来表示, 顶端部分存放类的名称, 中间部分存放类的属性, 属性的类型及值, 底部部分存放类的方法, 方法的参数和返回类型.2.在UML 中可以根据实际情况有选择的隐藏属性部分或方法部分或两者都隐藏3.在UML 中, 共有类型有+ 表示, 私有类型用–表示, 保护类型用# 表示. UML 的工具开发商可以使用自己定义的符号表示不同的可见性4.2类之间的关系-泛化关系1. 在UML 中, 泛化关系用来表示类与类, 接口与接口之间的继承关系. 泛化关系有时也称为”is a kind of“关系.2. 在UML 中泛化关系用一条实线空心箭头有子类指向父类.4.3 类之间的关系-实现关系在UML 中, 实现关系用来表示类与接口之间的实现关系.在UML 中实现关系用一条虚线空心箭头由子类指向父类4.4 类之间的关系-依赖关系对于两个相对独立的系统,当一个系统负责构造另一个系统的实例,或者依赖另一个系统的服务时,这两个系统之间体现为依赖关系. 例如生产零件的机器和零件,机器负责构造零件对象; 充电电池和充电器,充电电池通过充电器来充电;自行车Bicycle和打气筒Pump,自行车通过打气筒来充气。
统一建模语言UML
统一建模语言UML
• 方法与建模语言不同。一个方法告诉用户做什么,怎么做,何时做,为什么做 (特定活动的目的) 等。方法包括模型,这些模型用来描述某些内容,并传达使 用一个方法的结果。模型用建模语言来表达,建模语言由记号 (模型中使用的 符号) 和一组如何使用它的规则 (语法、语义和语用) 组成。方法与建模语言之 间的主要差别是建模语言缺少一个过程,或者说缺少对做什么,怎么做,什么 时候做,为什么做的指示。
软件工程学教程
统一建模语言UML
• 各种面向对象的方法都有自己的表示法、过程和工具,甚至各种方法所使用的 术语也不尽相同。但是,每种方法都各有短长,很难找到一个最佳答案。统一 建模语言 (UML,Unified Modeling Language) 的最初目标之一,就是结束面 向对象领域中的方法大战。今天,UML已经得到广泛应用,它把Booch、 Rumbaugh和Jacobson等各自独立的OOA和OOD方法中最优秀的特色组合成 统一的方法,它允许软件工程师使用由一组语法的语义实用规则支配的符号来 表示分析模型。
软件工程学教程
统一建模语言UML
• 因此,他们把工作重点放在创建一种标准的建模语言上,并重新命名为统一建 模语言 (UML) 。他们以Booch方法、OMT方法、OOSE方法为基础,吸收了 其他流派的长处,先后推出了UML 0.9、UML 0.91、UML l.0、UML 1.1。
统一建模语言UML
• 自1996年起,一些机构把采用UML作为其商业策略,宣布支持UML,并成立 了UML成员协会,以完善、加强和促进UML的定义。DEC、HP、IBM、 Microsoft、Oracle、Rational Software等业内国际知名企业都是该协会的成员。 UML获得了工业界和学术界的广泛支持,稳定地占领了面向对象技术市场, 成为事实上的工业标准。1997年11月,国际对象管理组织OMG (Object Management Group) 批准把UML l.1作为基于面向对象技术的标准建模语言。
软件设计过程中的统一建模语言UML
软件设计过程中的统一建模语言UML一、UML的概念和发展统一建模语言,英文缩写UML,是软件开发中常用的一种建模语言。
自1997年推出以来,UML 以其简明的表达和强大的组织能力逐渐成为软件开发领域的标准和事实上的应用范式。
UML 的前身是Booch方法、OOSE方法和OMT方法。
在20世纪80年代中期,这些方法都有自己独特的建模方式和框架,难以让不同方法之间进行有效的交互。
为了解决这个问题,OMG开始了一个称为“UML”(即“共同建模语言”)的倡议。
UML 的实现促使OMG摒弃自己之前的建模语言DA(即“OMT、Booch和OOSE的综合”)。
在几次重大的更新中,UML 以一种形式化规范形式定义了一组符号和图形,以实现在开发、文档化和维护软件时进行可视化建模的目标。
二、UML的优点及特点UML是具有很强的建模性和逻辑性的,为软件开发工程师和设计师提供了简单、规范、美观的可视化构图方式。
在具体应用中,UML的优点主要体现在以下几个方面。
1. 统一的建模语言:UML可以作为一种通用的建模语言,为不同的软件开发者提供了的一种共同基础,从而促进了软件开发的有效性和互操作性。
2. 开放性和标准性:UML是由OMG组织推广的一种标准化建模语言,开放式的接口和标准的语法形式使得UML应用于许多事实应用的实现中。
3. 图形表达力:UML是一种具有较高可视化操作性的可视化建模语言,通过其精美实用的图形,开发人员可以快速理解系统结构和动作流程的设计,为软件开发的快速实现提供了便利条件。
4. 易于扩展性和可维护性:UML是有流程性、属性性和行为性三个方面构成的、具有极高扩展性的建模语言,因而可以方便的与其他开发工具及软件结合,也预示着其易于维护的特性。
5. 面向对象的特点:UML以对象的视角来看待系统,这使得建模结果具有面向对象的特点,更贴近于实际的软件开发实践。
三、UML的主要元素1. 用例图:是一个描述系统功能的图形化工具,可以显示对象、行为和组织结构组成。
统一建模语言UML
何时使用概念用例?
所面对的业务领域规模庞大,业务用例粒度较 大,不容易过度到系统用例时。
业务领域是网状交叉的,有跨业务用例的业务 流程时。
某个业务用例场景过于复杂,步骤和分支过多, 使用活动图绘制用例场景困难时。
对系统用例的决定有疑问时。
系统用例模型
系统既定功能及系统环境模型,可以作为客户 和开发人员之间的契约。
用例模型是需求工作流程的结果,可以做分 析设计工作流程及测试工作流程的输入。
有三个层次的用例模型: 业务用例模型 概念用例模型 系统用例模型
业务用例模型
先于需求工作流,目的是为现存的或客户预想 中的真实业务建立模型,是为理解客户业务, 并与客户达成理解上的共识而建立的模型。
领域和组织结构关系。
网上购物系统业务架构
业务架构与业务用例模型、领域 模型关系
软件架构
软件架构在业务架构的基础上引入了计算机软、 硬件环境,
说明业务架构如何分布在计算机环境中,并得 以执行。
包括两种视角: 广度视角 深度视角
广度视角
即常见的软件层次结构。 关注软件的分层,规定每一层次之间的通信标
完 整 的 用 例 模 型
系统用例模型的主要内容
业务用例 系统用例使用精化关系连接到业务用例,表示
追溯关系。 概念用例 作为模型的附加存在。 用例视图 表达系统的所有功能性需求。 用例规约 补充规约
系统用例模型的主要内容
业务规则 用例实现 代表用例的不同应用环境。 用例场景 描述参与者,对象之间的交互,可以使用交互
统一建模语言
——核心模型
建模
一个模型提出了论点,静态图是论据,动态图 则是论证。
20180615_统一建模语言-UML
考虑每个参与者是如何使用系统的 给用户看的,所以在图中避免使用专业术语
3.2 用例图的构成
用例图的2种元素4种关系
参与者(Actor) 用例(Use Case) 关联关系(Association) 包含关系(Include) 扩展关系(Extend) 泛化关系(Generalization)
扩展点上。
3.3 用例图的应用实例
网上商城用例图
4. 类图
4.1类图概述 4.2类图的构成 4.3类图建模 4.3类图的应用
4.1 类图概述
类是一组具有相同属性、操作、关系和语义的对象的描述, 是现实世界中的事物的抽象,当这些事物存在于真实世界中 时,它们是类的实例,被称为对象。
类的UML符号表示是划分为3个格子的长方形,顶部的格子 放类名,中间格子放类的属性、属性的类型和值,下面的格 子放操作、操作的参数表和返回类型。
5.2 时序图的应用实例
The End
者之间的公共行为
3.2用例图的构成
包含关系 客户用例可以简单地包含提供者用例具有的
行为,并把它所包含的用例行为作为自身行 为的一部分。
3.2用例图的构成
扩展关系 扩展用例被定义为基础用例的增量扩展并在
一定条件下发生。 基础用例提供扩展点以添加新的行为。 扩展用例提供插入片段以插入到基础用例的
它是一种标准的表示,已成为国际软件界广泛承认的标准。它是 第三代面向对象的开发方法,是一种基于面向对象的可视化的通用 (General)建模语言。为不同领域的用户提供了统一的交流标准 — UML图。
UML应用领域很广泛,可用于软件开发建模的各个阶段,商业 建模(Business Modeling), 也可用于其它类型的系统。
统一建模语言UML-Shirley要点
NewPro cessor
包 注释 事物 依赖 关联 泛化 实现
NewPackage
7.3 动态建模
■ 7.3.1 消息 ■ 7.3.2状态图和时序图 ■ 7.3.3 协作图和活动图
1.状态图 2.时序图 1.协作图 2.活动图
■ 7.3.4 动态图的运用
7.3.1消息
简单消息:简单的控制流。 同步消息:嵌套的控制流。 异步消息:异步控制流。
7.2.2 类和对象图
■3. 对象图:类图的实例,几乎使用与类图完全相同的标识。 ■ 区别在于对象图显示类的多个对象实例,而不是实际的类。
■ 它描述的不是类之间的关系,而是对象之间的关系。
■示例:
王平:学生 姓名:王平 学号:020106 数学:书
书名: 数学 价格:21.8
英语:书
书名: 英语 价格:26.5
<documents> UML 2.0
1998 1997年9月最后 提交给OMG
1997年1月最 初提交给 OMG
<documents> UML 1.2 <documents> UML 1.1 <documents> UML1.0
2001年 计划的重要修订 文字上的修改 没有显著的技 术变化
精华相关
守卫条件
序列表达式
7.3.3协作图和活动图
■4.活动图:是状态图的一个变体,用来描述执行算法的工作流
程中涉及的活动。
■活动图:描述了用例要求所要进行的活动(工作流程),以及 活动间的约束关系,有利于识别并行活动。
■活动图:描述了一组顺序的或并发的活动,活动图相当于程序
设计的流程图。 ■(1)活动和转移 ■(2)泳道 ■(3)对象
第七章统一建模语言UML-Read
34
需求分析
可以用用例来捕获用户的需求。通过用
例建模,可以描述对系统感兴趣的外部
角色及其对系统的功能要求(用例)。
35
分析
分析阶段主要关心问题域中的基本概念(例如,抽 象、类和对象等)和机制,需要识别这些类以及它 们相互间的关系,可以用UML的逻辑视图和动态视 图来描述。
类图描述系统的静态结构,协作图、顺序图、活动 图和状态图描述系统的动态行为。
上下文相关)
28
活动图
描述为满足用例要求而进行的动作以及
动作间的关系。活动图是状态图的一个
变种,它是另一种描述交互的方法。
29
顺序图和协作图的选择
由于二者都描述对象间的交互关系,所以
建模者可以选择其中一种表示对象间的协
作关系:如果需要强调时间和顺序,最好
选用顺序图;如果需要强调上下文相关,
90年代中出现了一个高潮,统一建模语言UML就是这
个高潮的产物。UML是由面向对象方法领域的三位著 名专家Grady Booch,James Rumbaugh和Ivar Jacobson提出的,不仅统一了他们三人的表示方法, 而且融入了众多优秀的软件方法和思想,从而把面向 对象方法提高到一个崭新的高度,标志着面向对象建 模方法进入了第三代。
37
测试
UML模型可作为测试阶段的依据,不同测试 小组使用不同的UML图作为他们工作的依据: 单元测试使用类图和类规格说明; 集成测试使用构件图和协作图; 系统测试使用用例图来验证系统的行为; 验收测试由用户进行,用与系统测试类似的 方法,验证系统是否满足在分析阶段确定的
38
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章 统一建模语言UML
6.类图的抽象层次和细化(Refinement)关系
在需求分析阶段,类图是研究领域的概 念;在设计阶段,类图描述类与类之间的接口; 而在实现阶段,类图描述软件系统中类的实现。 按照 Steve Cook 和 John Dianiels (3)实现层
第7章 统一建模语言UML
7.约束 在UML中,可以用约束(Constraint)表示规则。 约束是放在括号 "{}" 中的一个表达式,表示一个永真 的逻辑陈述。在程序设计语言中,约束可以由断言 (Assertion)来实现。 8.对象图、对象和链
UML中对象图与类图具有相同的表示形式。对象 图可以看作是类图的一个实例。对象是类的实例;对 象之间的链(Link)是类之间的关联的实例。
第7章 统一建模语言UML
三、 顺序图
顺序图 (Sequence Diagram) 用来描述对 象之间动态的交互关系,着重体现对象间消息 传递的时间顺序。顺序图存在两个轴:水平轴 表示不同的对象,垂直轴表示时间。顺序图中 的对象用一个带有垂直虚线的矩形框表示,并 标有对象名和类名。垂直虚线是对象的生命线, 用于表示在某段时间内对象是存在的。对象间 的通信通过在对象的生命线间画消息来表示。 消息的箭头指明消息的类型。
第7章 统一建模语言UML
2.UML表示法 UML的重要内容可以由下列五类图(共9种图形)来定 义。
(1)用例图(Use-case diagram)
(2)静态图(Static diagram) (3)行为图(Behavior diagram) (4)交互图(Interactive diagram) (5)实现图(Implementation diagram)
第7章 统一建模语言UML
3.执行者(Actor)
执行者是指用户在系统中所扮演的角色。其图 形化的表示是一个小人。 4.使用和扩展(Use and Extend) 5.用例模型的获取 (1)获取执行者 (2)获取用例
第7章 统一建模语言UML
二、类图、对象图和包
1.类 类是具有相同属性、操作、关系的对象 集合的总称。通常在UML中类被画成矩形。 2.类图 类图 (Class Diagram) 描述类和类之间的 静态关系。
UML的目标是以面向对象图的方式来描述 任何类型的系统,具有很宽的应用领域。其中 最常用的是建立软件系统的模型。总之, UML 是一个通用的标准建模语言,可以对任何具有 静态结构和动态行为的系统进行建模。
UML适用于系统开发过程中从需求规格描 述到系统完成后测试的不同阶段。
第7章 统一建模语言UML
(4)系统的并发特性
(5)系统的配置
第7章 统一建模语言UML
三、UML模型的基本概念
1.UML的建筑块 组成 UML 有三种基本的建筑块,即事物、 关系、图。 2.UML的事物 UML 中的事物是结构事物、动作事物、 分组事物、注释事物。
第7章 统一建模语言UML
3.UML中的关系
(1)依赖(Dependencies) (2)关联(Association) (3)一般化(Generalization) (4)实现(Realization)
二、UML的内容 作为一种建模语言, UML 的定义包括 UML 语义和 UML表示法两个部分。 1.UML语义 UML 语 义 是 基 于 UML 的 精 确 元 模 型 ( Meta model)。元模型为 UML的所有元素在语法和语义上提 供了简单、一致、通用的定义性说明,使开发在语义 上取得一致,消除了人为表达方法所造成的影响。
第7章 统一建模语言UML
二、状态图 状态图(State Diagram)用来描述一个特定对象的所有 可能状态及其引起状态转移的事件。大多数面向对象 技术都用状态图表示单个对象在其生存周期中的行为。 一个状态图包括一系列的状态以及状态之间的转移。 (1) 状态 所有对象都具有状态,状态是对象执行了 一系列活动的结果。 (2) 转移 移。 状态图中状态之间带箭头的连线被称为转
第7章 统一建模语言UML
四、合作图
合作图(Collaboration Diagram)用于描述相 互合作的对象间的交互关系和链接关系。虽然 顺序图和合作图都用来描述对象间的交互关系, 但侧重点不一样。顺序图着重体现交互的时间 顺序,合作图则着重体现交互对象间的静态链 接关系。
第7章 统一建模语言UML
第7章 统一建模语言UML
4.UML中的图
•类图(Class Diagram) •对象图(Object Diagram) •构件图(Component Diagram) •配置图(Deployment Diagram)
第7章 统一建模语言UML
•用例图(Use case Diagram)
•顺序图(Sequence Diagram) •合作图(Collaboration Diagram) •状态图(Statechart Diagram) •活动图(Activity Diagram)
第7章 统一建模语言UML
3.关联关系 关联(Association) 表示两个类之间存在某种语 义上的联系。 4.继承关系 继承 (Generalization) 定义了一般元素和特殊 元素之间的分类关系。在UML中,继承表示为一头为空 心三角形的连线。 5.依赖关系 依赖关系是一种使用关系,特定事物的改变有 可能会影响到使用该事物的事物,反之不成立。
第7章 统一建模语言UML
三、UML的主要特点
(1)UML 统一了 Booch、OMT 和 OOSE 等方法中的 基本概念。 (2)UML还吸取了面向对象技术领域中其他流 派的长处其中也包括非OO方法的影响。
(3)UML在演变过程中还提出了一些新的概念。
第7章 统一建模语言UML
四、UML的应用领域
第7章 统一建模语言UML
1.构件图
2.配置图 3.结点和连接 4.构件和界面 5.对象(Object)
第7章 统一建模语言UML
7.4 UML的动态建模机制 一、消息 在面向对象技术中,对象间的交互是通过对象 间消息的传递来完成的。 UML定义的消息类型有三种: (1)简单消息(Simple Message) (2)同步消息(Synchronous Message) (3)异步消息(Asynchronous Message)
第7章 统一建模语言UML
7.5 UML软件开发过程概述
一、UML建模过程高层视图 图 7.25 是 UML 建模过程的一个高层视图。 这是一个迭代递增的开发过程。使用此方法, 不是在项目结束时一次性提交软件,而是分块 逐次开发和提交。
第7章 统一建模语言UML
二、UML实际建模过程
每次迭代都分为以下几个阶段: (1)分析阶段。 (2)设计阶段。 (3)实现阶段。 (4)配置阶段。 (5)测试阶段。
第7章 统一建模语言UML
三、构件图和配置图
构 件 图 ( Component diagram) 和 配 置 图 (Deployment diagram) 显示系统实现时的一些 特性,包括源代码的静态结构和运行时刻的实 现结构。构件图显示代码本身的结构,配置图 显示系统运行时刻的结构。
图8.23 配置图
9.包
第7章 统一建模语言UML
10.其他模型元素和表示机制
主要还有以下模型符号和概念:类别模 板 ( Stereotype)、界面 ( Interface)、参数化 类 ( Parameterized Class) 也 称 模 板 类 ( Template)、 限 定 关 联 ( Qualified Association)、 多 维 关 联 ( N-ary Association)、 多 维 链 ( N-ary Link)、 派 生 (Derived)、类型(Type)和注释(Note)等。 11.使用类图的几个建议
第7章 统一建模语言UML
7.1 UML简介
一、UML的由来 1997 年 11 月 17 日, OMG 采纳 UML l.1 作 为基于面向对象技术的标准建模语言,表明 UML(Unified Modeling Language)代表了面 向对象方法的软件开发技术的发展方向。
第7章 统一建模语言UML
7.2 UML模型的基本概念 一、建模技术 构造模型的目的 :
(1)着手解决一个复杂问题前,对解决方案进行检测。
(2)用于客户和其他相关人员进行交流。 (3)加强视觉效果。 (4)对复杂问题进行适度简化。 构造模型的基本技术手段是抽象。
第7章 统一建模语言UML
二、标准建模语言UML建模框架 一般而言,可以从以下几种角度来描述一个系统。 (1)系统的使用实例(用例) (2)系统的逻辑结构 (3)系统的构成
五、活动图
活动图 (Activity Diagram) 既可用来描述 操作 ( 类的方法 ) 的行为,也可以描述用例和对 象内部的工作过程。活动图是由状态图变化而 来的,它们各自用于不同的目的。活动图依据 对象状态的变化来捕获动作(将要执行的工作或 活动)与动作的结果。活动图中一个活动结束后 将立即进入下一个活动(在状态图中状态的变迁 可能需要事件的触发)。 六、四种图的运用
第7章 统一建模语言UML
7.3 UML的静态建模机制 一、用例图 1.用例模型(Use case model) 用例模型描述的是外部执行者(Actor)所理解的 系统功能。用例模型用于需求分析阶段。 2.用例(Use case) 在UML中,用例被定义成系统执行的一系列动作, 动作执行的结果能被指定执行者察觉到。在UML中,用 例表示为一个椭圆。