Unified Modeling Language, UML, and the UML cube logo are trademarks of the Object Management. Group. The authors and publisher have taken care in the preparation of this book but make no expressed or Reader (PDF) format. Practical UML: A hands on introduction for developers . Car aggregation. Engine. Lottery. Ticket. Random dependency. Page. Book composition. *. 1. The OMG specification states: "The Unified Modeling Language (UML) is a .. If you delete an address book, all the contacts and contact groups will be deleted.
|Language:||English, Spanish, Japanese|
|Genre:||Business & Career|
|ePub File Size:||23.36 MB|
|PDF File Size:||9.55 MB|
|Distribution:||Free* [*Regsitration Required]|
PDF Drive is your search engine for PDF files. As of today Object oriented Modeling and Design with UML - James. This book is based Object-Oriented So. “If you are a serious user of UML, there is no other book quite like this one. I have been involved with the “This is so far the most comprehensive book on UML It gives you what the Reader® (PDF) format. Using Adobe Reader, the. Looking for books on Uml? Check our section of free e-books and guides on Uml now! This page contains list PDF | Pages | English. This note covers the.
Identify System Use-Case Packages System Use-Case Diagram If your project supports only one business use case, you may proceed directly to the following step, identify system use cases. The term inclusion use case has been replaced by the term included use case. At the other end of the continuum are empirical processes—less formal, adaptive processes, such as those that use an agile approach. With B. You begin working on the BRD during the Initiation phase. OO Concept: This section will be completed later during the Initiation phase.
See Chapter 4. See Chapter 6. It also describes how business analysts assess deployed solutions to see how well they meet the original need so that the sponsoring organization can assess the performance and effectiveness of the solution. In particular, see the following sections of Chapter A structural model describes what a system is. It describes the sequence of activities and who or what is responsible for each activity. Understand key OO concepts: OO affects the way the software engineer technical systems analyst designs the system specifications.
OO affects the way the code itself is structured. NET languages support OO concepts and structures. The UML standards cover terminology and diagramming conventions. This book uses the latest version of that standard, UML 2. If this happens with your team, ask what difference the outcome of the argument will have on the quality of the resulting software. In many cases, particularly during business analysis, there are no ramifications.
In such cases, discuss it, make a decision, and move on. Cognitive Psychology and OO As a business analyst, your job is to get inside the heads of your stakeholders so that you can extract what they know about a piece of the real world—a business system—and pass it on to the developers, who will simulate that system on a computer.
This approach would have to begin with an understanding of how people actually think about the world, and would have to be Attributes and Operations broad enough to take the project from requirements gathering right through to construction of the software. Object orientation is one such approach. It begins by proposing that the object is the basic unit by which we organize knowledge. Taken together, these internal objects model a segment of the real world. The BA Perspective You begin to analyze a business area by asking stakeholders to describe the business objects it encompasses.
A business object is something the business and the IT system that automates it must keep track of or that participates in business processes. Examples of such an object might include an invoice, a customer-service representative, or a call. Attributes and Operations OO theory continues by examining the kind of knowledge that is attached to each internal object. Because we can recognize an object again after having seen it once, our internal representation of an object must include a record of its properties.
In OO, color and size are referred to as attributes; blue and large are attribute values. Every object has its own set of attribute values. Something else we remember about an object is its function.
For example, the first time you saw a crayon, it took you some time to learn that it could be used to scribble on the walls. Unfortunately for your parents, the next time you saw that crayon, you knew exactly what to do with it. Because you remembered that scribble was something you could do with that object. In OO, scribble is referred to as an operation. But this is not always the case. For example, you know that you can place a call with a particular mobile phone—but you also remember that to do so, you must follow a particular procedure: First you enter the phone number and then you press the Send key.
In OO terms, place a call is an operation; the procedure used to carry it out is called a method. The BA Perspective Next, you take each operation and ask stakeholders what procedure they use to carry it out. You document the procedure as a method. For example, you ask stakeholders what procedure they follow when withdrawing funds from an account. They tell you that they first check to see if there is a hold on the account and whether there are sufficient funds available for withdrawal.
If everything is in order, they reduce the balance and create an audit trail of the transaction. You document this procedure as the method used to carry out the withdraw operation. Encapsulation Every day you use objects without knowing how they work or what their internal structure is.
This is a useful aspect of the way we human objects interact with other objects. It keeps us from having to know too much. It also means that we can easily switch to another object with a different internal structure as long as it behaves the same way externally. This is the OO principle of encapsulation: Attributes and methods remain hidden from view. OO Concept: Classes OO Concept: Classes You have seen that our ability to internally model an object allows us to use it the next time we encounter it without relearning it.
Yet we do this all the time. We can do this because we recognize that all these objects belong to the same type: In OO, the category that an object belongs to is called its class.
He speaks of one of his patients who, unable to classify objects, wrongly concluded that his wife was a hat and tried to put her on his head as he was leaving the office. The minute you know that two objects belong to the class, iPhone 3G, you know a number of things about them: For example, you know that both objects will have a serial number, a phone number, and various camera settings.
The same operations apply to both objects. For example, you can place a call and take a picture with each of these objects. For example, the procedure for placing a call is the same for both phones.
What They Say: A class describes a set of objects that share the same specifications of features, constraints, and semantics. A class is a category. All objects that belong to the same category have the same attributes and operations but the values of the attributes may change from object to object. This means that the same properties are significant for all objects in a class.
That said, the value of the attributes may change from object to object within a class—e. In other words, all objects in a class can do the same things—and they do them the same way. These are termed entity classes.
Relationships We often define one class in terms of another class. For example, a Car is a kind of a Vehicle. Both Car and Vehicle are classes. Generalization The concept of a class allows us to make statements about a set of objects that we treat exactly the same way. But sometimes we run into objects that are only partially alike. For example, we may own a store that has a number of iPhone 3G objects and a number of Motorola Razr phone objects.
The iPhone 3Gs are not exactly like the Motorola Razr phones, but they do share some characteristics—for example, the ability to place a mobile call. We treat this situation by thinking of these objects not only as iPhone 3G or Motorola Razr phones but also as mobile phones. A particular phone object, for example, might be able to run a particular iPhone application by virtue of being an iPhone 3G—but it can also place a mobile call by virtue of being a mobile phone.
The relationship between the Mobile Phone class and either of its subtypes iPhone 3G or Motorola Razr is called generalization. Relationships Why do we generalize? It allows us to make statements that cover a broad range of objects.
For example, when we say that a mobile phone can receive a text message, we are stating a rule that applies to all of its specializations. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier. When an object belongs to a specialized class for example, iPhone 3G , this automatically implies that it belongs to a generalization of that class for example, Mobile Phone.
Any attribute or operation that applies to the generalized class also applies to the specialized class. Furthermore, any relationships specified for the generalized class also apply to the specialized class.
Other terms in use include the following: Generalized Class Specialized Class Superclass Subclass Base class Derived class Parent Child The idea that a specialized class automatically adopts the attributes, operations, and relationships of its generalized class is given a special name in OO: The mechanism by which more specific elements incorporate structure and behavior of more general elements. Inheritance refers to the mechanism by which a specialized class adopts—that is, inherits—all the attributes, operations, and relationships5 of a generalized class.
Then you document which attributes and operations apply to all Accounts, which apply only to Checking Accounts, and which to Savings Accounts. By structuring your requirements this way, you only have to document rules common to all account types once. This makes it easier to revise the documentation if these business rules ever change. Association Another way that classes may be related to each other is through association.
When you connect a mouse to a PC, you are associating mouse with PC. An instance of an association is called a link. An association between two classes indicates that objects instances of one class may be related linked to objects of the other class.
You specify an association at the class level; you specify a link at the object level. The BA Perspective You analyze how the business links objects of one class with those of another or, sometimes, with other objects of the same class. For example, the military needs to track which mechanics serviced each piece of equipment, what the maintenance schedule is for each one, and so on.
As a BA, you document these types of rules as associations. This is a critical part of your job. Miss an association—or document it incorrectly—and you may end up with software that does not support an important business rule. Had they done so, they would have included in their requirements the fact that the business needed to be able to associate each employee with one or more unions.
As a result of the omission, not only did the municipality end up purchasing HR software that did not support this requirement, they also had to absorb the cost of customization. Had they included the requirement, they would have been unlikely to purchase this software in the first place—and even if they had, they would have been able to pass the modification cost on to the vendor. Aggregation Aggregation is the relationship between a whole and its parts.
For example, the trade organization CompTIA is an aggregation of member organizations; an insurance policy is an aggregation of a basic policy and amendments to the policy, and a stamp collection is an aggregation of stamps. A special form of association that specifies a whole-part relationship between the aggregate whole and a component part.
Formally, in the UML, aggregation is considered to be a specific type of association, where the class on one end of the association represents a whole and the class at the other end represents a part. With aggregation, a part may belong to more than one whole. For example, a catalogue object is a collection aggregation that consists of many product objects.
However, any particular product object may appear in more than one catalogue object. You model these relationships as aggregations. Then you focus on which rules attributes, operations, and relationships apply to the whole and which apply to the parts. One thing this process enables you to do is reuse the requirements of a part object in a new context.
You define the attributes and operations of a PIN. Composite Aggregation Composition Composite aggregation, also known as composition, is a special form of aggregation wherein each part may belong to only one whole at a time.
If a composite is deleted, all of its parts are normally deleted with it. Formally, composition is a specific kind of aggregation. In aggregation, a part may belong to more than one whole at the same time; in composite aggregation, however, the object may belong to only one whole at a time.
The parts are destroyed whenever the whole is destroyed—except for those parts that have been removed prior to the deletion of the whole. The most general relationship is association, followed by aggregation, and, finally, composite aggregation. While the distinction from a BA perspective is helpful, it is not critical. If you have any problem deciding, specify the whole-part relationship as aggregation. In fact, there is nothing wrong with the BA modeling all whole-part relationships as simple associations.
You lose a little bit of nuance in the model — but it will make no difference to the resulting IT solution. Polymorphism The BA Perspective You model strong whole-part relationships between classes of business objects as composite aggregation. The Case Report Form was a record of everything that was recorded about a patient with respect to the drug being researched; each Module was a record of one visit to the clinic by the patient.
The developers understood from this model that each Module could only belong to one Case Report Form at a time and that when a Case Report Form was removed from the system, all of its Modules needed to be removed as well. Polymorphism Polymorphism means the ability to take on many forms. The term is applied both to objects and to operations. Polymorphic Objects Suppose a financial company handles different subtypes of Funds, such as an Asia Fund, Domestic Fund, and so on, each with its own idiosyncrasies.
The BA models this situation using a generalized class, Fund, and a specialized class for each subtype of Fund. Next, the BA moves on to capture investment rules in an Investment class. Checking with the stakeholders, the BA finds that one of its operations, invest capital, deals with all Funds the same way, regardless of subtype. The BA handles this by ensuring that the documentation for the invest capital operation refers exclusively to the generalized class Fund—not to any of its specializations.
When the operation is actually executed, though, the Fund object will take on one of many forms—for example, an Asia Fund or a Domestic Fund. In other words, the Fund object is polymorphic.
Polymorphic Operations Continuing with the same example, since all the Fund subtypes have to be able to accept deposits, the BA defines a Fund operation called accept deposit. This operation is inherited by all the specializations.
The BA can also specify a method for this Fund operation that will be inherited by the specializations. But what if one or more of the specializations— for example, the Asia Fund—uses a different procedure for accepting deposits? In this case, the BA can add documentation to the Asia Fund class that describes a method that overrides the one inherited from the generalized class.
For example, the method described might involve supplementary charges. In practice, when capital investment causes a Fund to perform an accept deposit operation, the method that is used to carry out the operation will take on one of many forms. This is what is meant by a polymorphic operation. With polymorphic operations, the selection of the method depends on which particular class Asia Fund, Domestic Fund, and so on is carrying it out.
The BA Perspective When you define operations for a generalized class, you look for those that all specializations must be able to support. If you can, you define a method that describes how the operation is typically carried out. If any specialized classes have different ways of doing the operation, you define a new method for it at the specialized class level.
This simplifies the documentation. They all use the same interface—an accelerator pedal—to change speed, even though the internal method may differ from model to model. The auto industry designs cars this way so that the drivers do not have to learn a new interface for each new model of car. Use Cases and Scenarios A use case is a use to which the system will be put that produces an observable result and usually provides value to one or more entities that interact with the system. For example, some of the use cases that customers need in a Web-based banking system are Make bill payment, Stop payment, and Order checks.
A use case is the specification of a set of actions performed by a system, which yields an observable result that is, typically, of value for one or more actors or other stakeholders of the system.
A use case is a usage of the system that provides an observable and usually meaningful result. A specific sequence of actions that illustrates behaviors. A scenario may be used to illustrate an interaction or the execution of a use-case instance. A scenario is one path through a use case—one way that it might play out. For example, the Make bill payment use case may play out in one of the following ways: Attempt to make a payment from an account and succeed in doing so.
Scenario 2: Attempt to make a payment from an account and fail because there is a hold on the account. The BA Perspective During behavioral analysis, you identify and document the use cases of the system—what the users want to do with it. You do this by identifying and describing its scenarios— all the ways the interaction could play out.
These use cases and scenarios are your user requirements. Business and System Use Cases Over time, practitioners began to distinguish between two kinds of use cases: The question is, what type of system is being referring to?
For example, Process Claim is a business use case describing an interaction with an insurance company. For example, system use cases that support the aforementioned business use case are Record Claim, Validate Coverage, Assign Adjuster, and so on. Each of these describes an interaction between a user and the computer system. A system use case typically involves one active primary user and takes place over a single session on the computer. At the end of the system use case, the user should feel that he or she has achieved a useful goal.
The BA Perspective Early in a project, you identify and describe the business use cases that the IT project will affect. At this point, you focus on the business aspect of proposed changes—how they will affect workflow and the human roles within the business.
Next, you analyze each business use case, looking for activities that the IT project will cover. You group these activities into system use cases, taking care to ensure that each system use case gives the user something of real benefit. These system use cases then drive the whole development process. For example, in each release, a planned set of system use cases is analyzed unless this was done up front , designed, coded, and implemented.
With this use case—centered approach, users get features that add real value to their jobs with each software release. Chapter Summary In this chapter, you learned the following concepts: An object has attributes and operations associated with it.
The object is the basic unit of an OO system. An operation is a service that a class of objects can carry out. A method is the process used to carry out an operation. Encapsulation is an OO principle stating that everything about an object—its operations and properties—is contained within the object.
Objects of the same class share the same attributes and methods. A number of different types of relationships were discussed in this chapter: A generalized class describes the commonalities. Each variation is called a specialized class. A specialized class inherits all the operations, attributes, and relationships of the generalized class. Composite aggregation is a specific form of aggregation wherein the parts have no existence independent of the whole.
The class of the acting object determines which action is selected. A system use case is a typical interaction with an IT system. No definition for inheritance appears in the latest version, UML 2. All specializations subtypes of Account inherit this relationship—i. However, an inherited method may be overridden by a method specified for the specialized class.
This last property is referred to as polymorphism. No definition for a ggregation appears in the latest version, UML 2. The term composition was defined in the UML 2 infrastructure. The UML 2. No definition for scenario appears in the latest version, UML 2.
A stereotype extends the meaning of a model element. For example, in business modeling, a business actor is a stereotype of the UML actor. I prefer the term system use case as it avoids confusion regarding the type of system involved in the interaction.
Chapter 3 Steps of B. The SDLC defines the specific phases and activities of a project. Make the business case for the project. Work also begins on the user experience and on drafts of architectural proof of concepts.
The prototyping effort during the Initiation phase should be risk-driven and limited to gaining confidence that a solution is possible. On iterative projects, requirements analysis peaks during this phase but never disappears entirely.
During this phase, architectural proofs of concept are also constructed. Complete the analysis and design, code, integrate, and test the software. On iterative projects, these activities are performed for each iteration within the phase. Design and coding appear in all phases, but peak during this phase. Perform final testing before the product or service is transitioned into production.
While final testing occurs in this phase, testing activities may occur throughout the SDLC—for example, before design or as a replacement for it. Manage and coordinate deployment into production and close the IT project. Steps A deeper assessment of these phases and their relationship to the B. Step 1: Initiation The objectives of the Initiation phase are to develop the business case for the project, establish project and product scope, and explore solutions, including the preliminary architecture.
The BA assists the project manager by identifying stakeholders, business services and processes, and IT services affected by the project. By the end of this phase, key functionality is identified, such as key system use cases user tasks and IT services. When a non-agile process is used, these requirements are baselined and subsequent changes to scope are managed in a controlled manner using a change-management process.
The Initiation phase poses a conundrum for the BA. The purpose of this phase is to get a rough cut at the business case for a proposed IT project. The answer is to do just enough research to be able to create a ballpark estimate.
These techniques are as follows: A tool for identifying and describing end-to-end business processes affected by the project. Used to help you and stakeholders form a consensus regarding the workflow of each business use case. These describe the users and external systems that will interact with the proposed IT system. Used to help stakeholders break out the end-to-end business processes into meaningful interactions with the IT system.
By the end of this phase, you will have a rough idea about the project as well as a fairly comprehensive list of system use cases, and you will know which users will be involved with each system use case. The B. Steps The main deliverable of this phase is an early draft of a business requirements document BRD.
Baselining allows you to see what the requirements looked like at various checkpoints in order to see, for example, whether a feature requested later by a stakeholder was within the scope as defined at that time.
This and the previous phase are the key phases for the BA. Requirements analysis peaks during this phase. In iterative processes, analysis continues throughout the lifecycle; in waterfall processes, it is completed in this phase.
Some system use cases are selected for development during this phase in order to demonstrate architectural proofs of concept. BA responsibilities during this phase focus on eliciting detailed requirements from stakeholders, analyzing and documenting them for verification by stakeholders and for use by solution providers. You will exploit a number of UML and complementary techniques to assist in requirements elicitation, analysis, and documentation during this phase.
Testing, in the sense used in this book, is not just the running of programs to uncover errors; it includes other validation and verification activities as well as test planning and preparation. Following accepted quality assurance practices, I introduce testing long before the code is written. Identify states of critical objects 2. Identify state transitions 3. Identify state activities 4.
Identify superstates 5. Step 3: Construction Business-analysis activity during this phase depends on the lifecycle approach being used. On waterfall projects, where all the analysis is done up front, there is no requirements gathering or analysis during this phase; however, the BA is involved in supporting quality assurance and validating that the technical design meets the requirements for example, by reviewing test plans and design specifications. On iterative projects, where requirements analysis and solution development take place over a number of iterations, the steps described for the Discovery phase steps 2a through 2e are carried out during each iteration of the Construction phase.
Step 4: Step 5: Closeout The business analyst supports the deployment process, reviewing transition plans and participating in a post-implementation review PIR to evaluate the success of the change. Ascribing operations to classes is not quite as easy—and I like to do the easy things first.
Feel free to make changes to the order described for analyzing operations, attributes, or any other step. Consider B. By following it, you will get to the end result—comprehensive requirements—relatively effortlessly. During the Initiation phase, you identify system use cases in the behavioral model. Nouns discovered during this process are added to the structural model if they relate to new business concepts or objects.
For example, the system use case Adjudicate Loan Application introduces the term Loan Application, which you define in the structural model.
You continue working on the structural model during the Initiation phase, describing key business classes and their relationships to each other. Following the Initiation phase, as you describe each system use case step 2ai , you verify it against the existing structural model. Does the system use case comply with rules expressed in the structural model?
Has the system use case introduced new classes? You resolve any differences between the system use case and the structural model and update the structural model if necessary.
By the time you have described the last system use case, the structural model should be complete and fully verified. Are structural models class diagrams and ERDs always worth doing, or are they a waste of time? How much detail should you put into the user requirements? Obviously, blindly creating documentation without understanding its value—or if it even has any value—is not useful.
The problem is when to do what. Following are some general guidelines. Tailoring B. At one end of the continuum are definitive lifecycles, which follow a formal, well-defined process.
Projects using this style of lifecycle will produce much of the documentation described in this book and to a comparable level of detail. At the other end of the continuum are empirical processes—less formal, adaptive processes, such as those that use an agile approach.
Empirical processes require less analysis and documentation than definitive ones. Detailed user requirements are not documented on such projects because the requirements are in a constant state of flux and because the process relies on a heavily collaborative process of trial and error in order to determine what stakeholders want. On these projects, you might analyze the impact of the proposed change on business use cases and on their internal workflow, and identify and briefly describe system use cases and their main alternate flows optional and error pathways , but not create detailed system usecase descriptions.
Brief descriptions of system use cases are sufficient for project estimation and for planning iterations, but anything more than that is generally not necessary with this approach.
Structural analysis still has a place in empirical lifecycles, especially when it relates to the business architecture, because of its value in defining business concepts and in discovering across-the-board business rules that are easy to miss. However, you are unlikely to produce a complete structural model on such projects. For empirical lifecycles, these are the rules to follow: Do it as late in the process as possible.
Whether an iterative approach is being used: How analysis activities are sequenced within the development process is determined by whether the project is using a waterfall or an iterative lifecycle. With a waterfall lifecycle, all the analysis must be done up front before implementation begins.
Hence, all the B. On an iterative project also referred to as iterative-incremental , the solution is developed in cycles, called iterations. Each iteration is like a mini-project, involving some degree of analysis, design, and coding, and should result in an increment of functionality; in other words, the user must be able to do something he or she could not do before.
For example, you might identify and briefly describe system use cases during the Initiation phase as shown in the B. The type of lifecycle that is most appropriate for a project—and hence the timing and amount of analysis and documentation it entails—depends on many factors.
One is the degree of uncertainty that the project sponsor and stakeholders are willing to accept. If the budget is large, clients are less likely to be willing to sign off on high-level documentation that leaves many of the details unknown. They often want to know exactly what they are paying for up front, before any development or procurement begins. In this case, the situation may dictate that a definitive, waterfall process be used.
On the other hand, where a small budget is involved, clients may be willing to live with more uncertainty and, hence, be comfortable with an empirical approach. Regulatory requirements have an impact on how much of the requirements must be pinned down in writing.
If they require an extensive paper trail, the use of a definitive lifecycle is indicated. Close proximity of solution providers and business stakeholders and small team sizes both argue for an empirical approach.
Verbal communication works fine in these settings; indeed, formal, written documentation only slows down the process. On the other hand, when large teams or distances are involved, a definitive, well-defined process with formal documentation may be needed to facilitate coordination and communication. The greater the expertise of the developers, the less documentation may be required.
For example, if the team has deep experience handling software internationalization, then the requirements related to this issue need not be spelled out in detail. In-house and custom solutions favor more documentation; vendor-supplied off-the-shelf solutions favor less documentation. Some of the business rules and requirements for the project are likely to be standard across the industry and are, therefore, likely to be supported in an off-the-shelf solution.
These requirements entail less risk— and hence, less need for documentation—than those that are peculiar to the client organization. What Do You Show Stakeholders? In mature organizations, many processes and systems may already be documented, so the extent of new analysis and documentation required on a new project is less than on a less mature organization, where existing documentation is sparse.
Not every document you produce is aimed at the same audience. You need to tailor what you show to the audience that will see it. All the artifacts described in this book are appropriate for developers and other analysts on your team, but not all are appropriate for business stakeholders—at least not without some translation.
The following is a summary of the artifacts described in this book and how they are presented to business stakeholders. Show these to stakeholders, but only use the basic modeling elements described in this book.
Examples of other elements excluded from this book and inappropriate for stakeholders include signals and expansion regions. Activity diagrams with partitions swimlanes help business stakeholders visualize the internal workflow of a business use case business process ; simple activity diagrams attached to system use cases help them visualize user-IT interactions when the flows though a system use case connect in complex ways.
Show business stakeholders simple diagrams only, indicating states and transitions but excluding advanced features such as internal actions within a state and send events. Show these to stakeholders, but only include actors and their relationships to use cases. Business use-case diagrams provide stakeholders with an overview of who participates in which processes; system use-case diagrams provide a useful overview of who does what with the IT solution.
However, hide other modeling elements such as include, extend, and generalization relationships; these are useful internally for the team in reducing redundancies but they are apt to confuse stakeholders. An exception may be made with respect to the include relationship if stakeholders are comfortable with it. Show these to stakeholders. Do not show these to stakeholders. Note, however, that they do contain important business rules; convert these to text and obtain sign-off on them.
Testing activities also occur during this phase. When an iterative process is used, they continue to be developed during the Construction phase. Know how to fill the role of the IT business analyst during the Initiation phase of a project. Use business use-case diagrams effectively to gain consensus about which stakeholders interact with the business as each business use case is carried out. This section looks at the structure of those interviews.
Table 4. First published: Tools Request permission Export citation Add to favorites Track citation. Share Give access Share full text access. Share full text access. Please review our Terms and Conditions of Use and check box below to share full-text version of article. Summary Unified modeling language UML is the industry standard for diagrams visualizing class hierarchies, subsystem interactions, sequence diagrams, and so on.
References Related Information. Email or Customer ID. Forgot password? Old Password. New details and updated coverage of provided and required interfaces, collaborations, and UML profiles. With this essential guide, you will quickly get up to speed on the latest features of the industry standard modeling language and be able to apply them to your next software project. Stay ahead with the world's most comprehensive technology and business learning platform.
With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more. Start Free Trial No credit card required. View table of contents. Start reading. Book Description For nearly ten years, the Unified Modeling Language UML has been the industry standard for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system.