The following sources were used to develop this courseware. When quoted directly, we cite the source after the quoted passage. For all other uses, we respectfully acknowledge below the authors’ contributions in the development of this courseware. Mastering ObjectOriented Analysis and Design with UML 2.0 Module 0: About This Course
DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume IBM Rational University DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume Part No IBM Corporation Rational University DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Manual, Volume Version 2004.06.00 June 2004 Copyright © International Business Machines Corporation, 2004 All rights reserved This document may not be reproduced in whole or in part without the prior written permission of IBM The contents of this manual and the associated software are the property of Rational Software and/or its licensors, and are protected by United States copyright laws, patent laws, and various international treaties For additional copies of this manual or software, please contact Rational Software IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both Rational, the Rational logo, ClearQuest, ClearCase, ClearCase LT, ClearCase MultiSite, Unified Change Management, Rational Developer Network, Rational Rose, Rational XDE, Purify, PureCoverage, Rational Unified Process, ClearDDTS, and Quantify are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries or both Microsoft Visual Basic, Windows NT, Windows 2000, Windows 95/98, Windows XP, Microsoft Word, Windows Explorer, DOS, PowerPoint, and Visual SourceSafe, among others, are trademarks or registered trademarks of Microsoft Corporation Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both UNIX is a registered trademark of The Open Group in the United States, other countries or both Other company, product and service names may be trademarks or service marks of others Printed in the United States of America This manual prepared by: IBM Rational Software 18880 Homestead Road Cupertino, CA 95014-0721 USA Contents Module About This Course Course Objectives 0-3 Prerequisites 0-6 Rational University Curriculum 0-7 Module Best Practices of Software Engineering Practice 1: Develop Iteratively 1-6 Practice 2: Manage Requirements 1-7 Practice 3: Use Component Architectures 1-8 Practice 4: Model Visually 1-10 Practice 5: Continuously Verify Quality 1-12 Practice 6: Manage Change 1-14 Module Concepts of Object Orientation Four Principles of Modeling 2-4 Representing Classes in the UML 2-12 Class Relationships 2-14 What is a Structured Class? 2-21 What Is an Interface? 2-29 What is a Port? 2-33 Review 2-39 Module Requirements Overview What Is System Behavior? 3-8 Use-Case Specifications 3-14 What Is an Activity Diagram? 3-17 Glossary 3-21 Supplementary Specification 3-24 Review 3-32 Module Analysis and Design Overview Analysis Versus Design 4-6 Analysis and Design Workflow 4-12 Review 4-19 Module Architectural Analysis Architectural Analysis Overview 5-4 Package Relationships: Dependency 5-8 Patterns and Frameworks 5-11 What Are Stereotypes? 5-18 Architectural Mechanisms: Three Categories 5-22 What Are Key Abstractions? 5-30 The Value of Use-Case Realizations 5-35 Review 5-39 Module Use-Case Analysis Use-Case Analysis Overview 6-4 Use-Case Analysis Steps 6-8 Find Classes from Use-Case Behavior 6-12 Distribute Use-Case Behavior to Classes 6-27 Describe Responsibilities 6-37 Association or Aggregation? 6-46 What Are Roles? 6-47 Unify Analysis Classes 6-57 Review 6-62 Acknowledgments The development of this course was made possible with the help of many individuals, but I would particularly like to thank the following for their exceptional participation: Alex Kutsick of Rational University for his course development standards, instructional design expertise, and attention to detail Alex has contributed greatly in ensuring that there is a highlevel of consistency throughout this course Gary Bastoky of Rational University for his graphics knowledge and support The students at Lockheed/Martin who participated in the beta presentation of this course: Markku Kotiaho, Michael Wells, James Lowe, Alicia Kohner, Elizabeth Grant, Huy Nguyen, Kevin Carpenter, Michael Saniei, Mark Campbell, Ron Piwetz, Eric Miller, and Nhan Do Last but certainly not least, DeAnna Roberts of the Rational University production team for her logistical support June, 2004 Michael Lang Rational University Product Manager/ OO Curriculum Michael.Lang@us.ibm.com Works Cited The following sources were used to develop this courseware When quoted directly, we cite the source after the quoted passage For all other uses, we respectfully acknowledge below the authors’ contributions in the development of this courseware The Deadline: A Novel About Project Management, Tom DeMarco, Dorset House Publishing, 1997 Dictionary of Object Technology: The Definitive Desk Reference, Donald G Firesmith and Edward M Eykholt, Prentice Hall, 1995 Meta Fax, 09/15/97 Object Technology: A Manager’s Guide, David A Taylor, Addison-Wesley, 1999 Pattern-Oriented Software Architecture: A System of Patterns, Frank Buschman et al., John Wiley & Sons, 1996 The Rational Unified Process, An Introduction, Phillippe Kruchten, Addison-Wesley, 1999 The UML Bible, Tom Pender, Wiley Publishing, Inc., 2003 UML Distilled – Third Edition, Martin Fowler, Addison-Wesley, 2004 UML Toolkit, Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado, Wiley Publishing, Inc., 2004 The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar Jacobson, Addison-Wesley, 1999 The Unified Modeling Language Reference Manual – Second Edition, James Rumbaugh, Ivar Jacobson, Grady Booch, Addison-Wesley, 2004 Visual Modeling with Rational Rose and UML, Terry Quatrani, Addison-Wesley, 1998 ► ► ► Module About This Course ® IBM Software Group Mastering Object-Oriented Analysis and Design with UML 2.0 Module 0: About This Course Topics Course Objectives 0-3 Prerequisites 0-6 Rational University Curriculum 0-7 © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM 0-1 Mastering Object-Oriented Analysis and Design with UML 2.0 Introductions Introductions Your organization Your role Your background, experience Object technology experience Software development experience Implementation language experience Your expectations for this course 0-2 © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM Module - About This Course Course Objectives Course Objectives Upon completion of the course, participants will be able to: Apply an iterative, use case-driven, architecture-centric process to the development of a robust design model Use the Unified Modeling Language (UML) to represent the design model Apply Object-Oriented (OO) concepts: abstraction, encapsulation, inheritance, hierarchy, modularity, and polymorphism to the development of a robust design model During this course, you will be introduced to the concepts, process, and notation for developing a design model You will be using the Rational Unified Process Analysis and Design workflow as your framework These concepts can also be applied within any software development process © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM 0-3 Mastering Object-Oriented Analysis and Design with UML Glossary Version: 2004.06.00 2.67 Interaction Diagram A diagram that shows an interaction, consisting of a set of objects and their relationships, including the messages that may be dispatched among them; interaction diagrams address the dynamic view of a system; a generic term that applies to several types of diagrams that emphasize object interactions, including communication diagrams, sequence diagrams, timing diagrams and the interaction overview diagrams The Interaction Diagram is a generic term for focusing on messaging [interaction] between objects As such, there is no one graphic for an Interaction Diagram 2.68 Interaction Fragment A structural piece of an interaction 2.69 Interaction Occurrence A reference to an interaction within the definition of another interaction 2.70 Interaction Operand A structural piece of a combined fragment; a subfragment 2.71 Interaction Overview Diagram A diagram that depicts interactions through a variant of activity diagrams in such a way to promote an overview of the control flow It focuses on the overview of the flow of control where each node can be an interaction diagram 2.72 Interface A declaration of a coherent set of public features and obligations; a contract between providers and consumers of services Interface Subsystem Subsystem Interface © Copyright IBM Corp 2004 Page 14 of 22 Mastering Object-Oriented Analysis and Design with UML Glossary Version: 2004.06.00 2.73 Iteration A distinct set of activities with a baseline plan and evaluation criteria that results in a release, either internal or external 2.74 Iteration Expression A specification of the range of number of iterations of a loop 2.75 Lifeline The lifeline represents the existence of the object at a particular time You can use a lifeline to model both class and object behavior Usually, a lifeline represents all objects of a certain class 2.76 Link A semantic connection among objects; an instance of an association 2.77 Logical View An architectural view that describes the main classes in the design of the system: major business-related classes, and the classes that define key behavioral and structural mechanisms (persistency, communication, fault-tolerance, user-interface) In the Unified Process, the logical view is a view of the design model 2.78 Manifestation The physical implementation of a model element as an artifact A manifestation is shown as a dependency arrow from an artifact to a model element The keyword «manifest» is placed on the arrow 2.79 Message The conveyance of information from one object (or other instance) to another as part of an interaction within a context A message may be a signal or the call of an operation The sending and the receipt of a message are event occurrences 2.80 Method (1) A regular and systematic way of accomplishing something; the detailed, logically ordered plans or procedures followed to accomplish a task or attain a goal (2) UML 1.1: The implementation of an operation, the algorithm, or the procedure that effects the results of an operation 2.81 Modularity The logical and physical decomposition of things (for example, responsibilities and software) into small, simple groupings (for example, requirements and classes, respectively), which increase the achievements of software-engineering goals 2.82 Multiple Inheritance A semantic variation of generalization in which an object may belong directly to more than one class 2.83 Multiplicity A specification of the range of allowable cardinalities that a set may assume ClassA ClassB 2, © Copyright IBM Corp 2004 Page 15 of 22 Mastering Object-Oriented Analysis and Design with UML Glossary Version: 2004.06.00 2.84 Navigability The navigability property on a role indicates that it is possible to navigate from a associating class to the target class using the association 2.85 Node A run-time physical object that represents a computational resource, generally having at least memory and often processing capability Run-time artifacts may be deployed on nodes Work station 2.86 Object An entity with a well-defined boundary and identity that encapsulates state and behavior State is represented by attributes and relationships, behavior is represented by operations and methods An object is an instance of a class 2.87 Object Diagram A diagram that encompasses objects and their relationships at a given point in time An object diagram may be considered a special case of a class diagram or a communication diagram 2.88 Object Lifeline A line in a sequence diagram that represents the existence of an object over a period of time 2.89 Object-Orientation (OO) The Rational Unified Process supports object-oriented techniques Each model is object-oriented Rational Unified Process models are based on the concepts of objects and classes and the relationships among them, as they use the UML as its common notation 2.90 Object Technology A set of principles (abstraction, encapsulation, polymorphism) guiding software construction, together with languages, databases, and other tools that support those principles (Object Technology - A Manager’s Guide, Taylor, 1997.) 2.91 Operation A service that can be requested from an object to effect behavior 2.92 Operation Signature The name and parameters of an operation 2.93 Package A general-purpose mechanism for organizing elements into groups, establishing ownership of elements, and providing unique names for referencing elements PackageA © Copyright IBM Corp 2004 Page 16 of 22 Mastering Object-Oriented Analysis and Design with UML Glossary Version: 2004.06.00 2.94 Package Diagram A diagram that depicts how model elements are organized into packages and the dependencies among them, including package imports and package extensions 2.95 Package Import A directed relationship that adds the names of elements to a namespace 2.96 Partitions The organization of activities into distinct regions Organize activities in a model according to their responsibility—for example, group all the activities handled by one business organization Partitions are separated by lines in the diagram 2.97 Pattern A scheme for describing design fragments or collections of class templates so that they can be configured and reused 2.98 Polymorphism Polymorphism is the ability to define a single interface with multiple implementations © Copyright IBM Corp 2004 Page 17 of 22 Mastering Object-Oriented Analysis and Design with UML Glossary Version: 2004.06.00 2.99 Port A structural feature of a classifier that encapsulates interaction between the contents of the classifier and its environment A port is shown as a small square straddling the boundary of a classifier rectangle The name of the port is placed near the square 2.100 Process (1) Any thread of control that can logically execute concurrently with other processes (2) A set of partially ordered steps intended to reach a goal; in software engineering the goal is to build a software product or to enhance an existing one; in process engineering, the goal is to develop or enhance a process model; corresponds to a business use case in business engineering 2.101 Process View An architectural view that describes the concurrent aspect of the system: tasks (processes) and their interactions 2.102 Property A named value denoting a characteristic of an element 2.103 Provided Interface An interface that declares the services that a classifier offers to provide to anonymous requestors A provided interface relationship is shown by a small circle, or a ball, attached to a classifier by a line Alternately, a provided interface can be shown using realization notation 2.104 Realization A semantic relationship between classifiers, in which one classifier specifies a contract that another classifier guarantees to carry out 2.105 Relationship An abstract concept that specifies some kind of connection between elements Examples of relationships include associations and generalizations 2.106 Required Interface A required interface is the complementary relationship of a provided interface where a classifier requires the services described in the interface A required interface relationship is shown by a small half circle, or a socket, attached to a classifier by a line Alternately, a required interface can be shown using dependency notation 2.107 Responsibility A contract or obligation of a type or class © Copyright IBM Corp 2004 Page 18 of 22 Mastering Object-Oriented Analysis and Design with UML Glossary Version: 2004.06.00 2.108 Reverse Engineering The process of transforming code into a model through a mapping from a specific implementation language 2.109 Role The behavior of an entity participating in a particular context Role names are not underlined when only a role name is needed and no instance reference is implied Employee +Department Head Department * 2.110 Scenario A described use-case instance, a subset of a use case 2.111 Sequence Diagram A diagram that describes a pattern of interaction among objects, arranged in a chronological order; it shows the objects participating in the interaction by their "lifelines" and the messages that they send to each other : Employee : Department : Actor 1: Message1 2: Message2 3: Message3 2.112 Single Inheritance A semantic variation of generalization in which a child may have only one parent 2.113 Socket A required interface relationship is shown by a small half circle, or a socket, attached to a classifier by a line 2.114 State A condition or situation during the life of an object during which it satisfies some condition, performs some activity, or waits for some event 2.115 State Machine A specification of the sequences of states that an object or an interaction goes through in response to events during its life, together with its responsive effects (action and activity) A state machine is attached to a source class, collaboration, or method and specifies the behavior of the instances of the source element © Copyright IBM Corp 2004 Page 19 of 22 Mastering Object-Oriented Analysis and Design with UML Glossary 2.116 Version: 2004.06.00 State Machine Diagram A state machine diagram shows a state machine, that is, a behavior that specifies the sequences of states that an object goes through during its life in response to events, together with its responses and actions NewState Event /TargetObject.event entry/ Action NewState2 do/ TargetObject.Event 2.117 Stereotype A meta-classification of an element Stereotypes have semantic implications which can be specified for every specific stereotype value 2.118 Stored Procedures A stored procedure is executable code that runs under the RDBMS Stored procedures provide the ability to perform database-related actions on the server without having to transfer data across a network 2.119 Structured Class A class containing parts or roles that form its structure and realize its behavior 2.120 Structure Diagram A form of diagram that depicts the elements in a specification that is irrespective of time Class diagrams and component diagrams are examples of structure diagrams 2.121 Structured Part Within a structured classifier, an element that represents an object or set of objects within a contextual relationship 2.122 Subsystem A large unit of decomposition for a system It is modeled as a stereotype of component with the keyword 2.123 Thread An independent computation executing within an the execution environment and address space defined by an enclosing operating system process 2.124 Time Constraint Expressed as a time interval, it can refer to a single event occurrence or to the time interval between two occurrences 2.125 Timing Diagram An interaction diagram that shows the change in state or condition of a lifeline over linear time The most common usage is to show the change in state of an object over time in response to accepted events or stimuli It is an optional diagram designed to specify the time constraints on messages sent and received in the course of an interaction 2.126 Transaction Transactions define a set of operation invocations that are atomic: either all or none of them are performed © Copyright IBM Corp 2004 Page 20 of 22 Mastering Object-Oriented Analysis and Design with UML Glossary Version: 2004.06.00 2.127 Transition A transition is a change from an originating state to a successor state as a result of some stimulus 2.128 Unified Modeling Language (UML) A language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system 2.129 Use Case A use case defines a set of use-case instances, where each instance is a sequence of actions a system performs that yields an observable result of value to a particular actor A use-case class contains all main, alternate flows of events related to producing the 'observable result of value' Technically, a use-case is a class whose instances are scenarios 2.130 Use-Case Diagram A diagram that shows the relationships among actors and use cases within a system 2.131 Use-Case Model A model of what the system is supposed to and the system environment 2.132 Use-Case Realization A use-case realization describes how a particular use case is realized within the design model, in terms of collaborating objects 2.133 Use-Case View An architectural view that describes how critical use cases are performed in the system, focusing mostly on architecturally significant components (objects, tasks, nodes) In the Unified Process, it is a view of the usecase model 2.134 Utility Class A class that contains a collection of free subprograms 2.135 Visibility How a name can be seen and used by others 2.136 Visual Modeling A way of thinking about problems using models organized around real-world ideas © Copyright IBM Corp 2004 Page 21 of 22 Mastering Object-Oriented Analysis and Design with UML Glossary © Copyright IBM Corp 2004 Version: 2004.06.00 Page 22 of 22 Additional OOAD/UML Resources Rational University Curriculum Paths Rational University has compiled a description of the role of the system analyst, the designer and the Enterprise architect The following outline describes their activities and what is needed to succeed To help you achieve your training goals, various curriculum paths reference available instructor and web-based training courses at Rational University System Analyst: The System Analyst role leads and coordinates requirements and use-case modeling by outlining the system's functionality and delimiting the system For example, establishing the actors and use cases and how they interact • Responsible for eliciting and writing the requirements of the software project • At a senior level, responsible for the requirements management plan, use-case modeling guidelines and other requirements guidelines for the whole project Activities performed by this role: • Develop vision • Elicit stakeholder requests • Manage dependencies between requirements • Maintaining the glossary • Find Use cases and actors; structure the use case model • Detail the use cases and supplementary specifications What they need to succeed: • To effectively elicit, organize and document the software requirements in the system • To understand how to use business-modeling artifacts as an input to system definition • An in-depth knowledge of requirements management • A quick, focused introduction to using and setting up RequisitePro • An in-depth knowledge of how to write a clear statement of requirements • To effectively capture their requirements using use cases or as declarative statements Curriculum Path: http://www.ibm.com/services/learning/ites.wss/us/en?pageType=page&contentID=a0000460 REF-1 Additional OOAD/UML Resources Designer: The Designer role defines the responsibilities, operations, attributes, and relationships of one or several classes, and determines how they will be adjusted to the implementation environment In addition, the Designer role may have responsibility for one or more design packages, or design subsystems, including any classes owned by the packages or subsystems Activities they perform: • Refine requirements of the use case; supplement the use case descriptions with information needed to understand internal system behavior • Refine requirements on the operations of design classes • Identify the classes that perform a use case's flow of events • Identify the responsibilities, attributes, and associates of the classes • Distribute the use-case behavior to those classes using use-case realizations • Note usage or architectural mechanisms What they need to succeed: A solid working knowledge of: • Use-case modeling techniques • System requirements • Software design techniques, including object-oriented analysis and design techniques, and the Unified Modeling Language • Technologies with which the system will be implemented Curriculum Path: Rose: http://www.ibm.com/services/learning/ites.wss/us/en?pageType=page&contentID=a0000463 XDE: http://www.ibm.com/services/learning/ites.wss/us/en?pageType=page&contentID=a0000462 REF-2 Additional OOAD/UML Resources Enterprise Architect: Enterprise Architects define and build the packages, subsystems, and interfaces for enterprise systems This role "owns" the overall design of the enterprise system Could also be known as Sr Software Engineer, System Architect, or Member of Technical Staff What They Do: • Responsible for translating software requirements into a logical packages, subsystems, and interfaces • Work with XDE • Work with ClearCase and/or ClearQuest • Work with specific designer tools (XDE) Activities They Perform: • Define the packages, subsystems, and interfaces for the system • Use analysis and design mechanisms to facilitate design of the system • Use configuration management tools to manage their assets What They Need to Succeed: • A working knowledge of the capabilities and operation of their design tools • A working knowledge of the capabilities and operation of Rational Software tools (including XDE and SCM tools) • An understanding of the best practices for software development • An understanding of Enterprise architecture, architecture patterns, and design patterns • An understanding of modeling and testing Curriculum Path: http://www.ibm.com/services/learning/ites.wss/us/en?pageType=page&contentID=a0000468 REF-3 Additional OOAD/UML Resources General Software Development Code Complete - A Practical Handbook of Software Construction, McConnell, S., Microsoft Press, 1993 Dynamics of Software Development, McCarthy, J., Microsoft Press, 1995 The Mythical Man-Month, Brooks, F.P., Jr., Addison-Wesley, 1995 Object-Oriented Software Development Best of Booch: Designing Strategies, Booch, G., and Eykholt, E., editor, SIGS Books & Multimedia, 1996 Designing Object-Oriented Software, Wiener, L., Wilkerson, B., and Wirfs-Brock, R., Prentice Hall, 1990 Dictionary of Object Technology, Eykholt, E., and Firesmith, D., SIGS Books, 1995 Object-Oriented Analysis and Design with Applications, Booch, G., Benjamin/ Cummings, 1994 Object Oriented Design Heuristics, Riel, Arthur J., Addison-Wesley, 1996 Object-Oriented Modeling and Design, Rumbaugh, J., and others, Prentice Hall, 1991 Object-Oriented Software Development, Lorenz, M., Prentice Hall, 1993 Object-Oriented Software Engineering, Jacobson, I., and others, Addison-Wesley, 1992 “OMT Insights: Perspectives on Modeling”, Rumbaugh, J., Journal of Object-Oriented Programming, SIGS Books & Multimedia, 1996 The Rational Unified Process, Philippe Krutchen, Addison Wesley Longman, Inc., 1998 Using CRC Cards, Wilkinson, N., SIGS Books, 1995 UML The Object Primer: Agile Model-Driven Development with UML 2.0, Scott Ambler, Cambridge University Press, 2004 Real-Time UML: Developing Efficient Objects For Embedded Systems, Douglas, B Powel, Addison Wesley Longman, Inc., 1998 UML in a Nutshell: A Desktop Quick Reference, Si Alhir, Sinan, O’Reilly & Associates, Inc., 1998 The Unified Modeling Language User Guide, Booch, G and others, Addison-Wesley, 2003 The Unified Modeling Language Reference Manual – Second Edition, James Rumbaugh, Ivar Jacobson, Grady Booch, Addison-Wesley, 2004 UML Bible, Pender, T., Wiley Publishing, Inc., 2004 UML Distilled—Third Edition, Fowler, Martin, Addison Wesley Longman Inc., 1997 UML Toolkit, Eriksson, H., Penker, M., Lyons, B., and Fado, D., Wiley Publishing, Inc., 2004 Unified Method for Object-Oriented Development (documentation set, v0.8), Booch, G and Rumbaugh, J., Rational Software Corp., 1995 REF-4 Additional OOAD/UML Resources Architecture Software Architecture in Practice, Bass, Ken, Bass, Len, Clements, Paul, and Kazman, Rick, AddisonWesley, 1998 “The 4+1 View Model of Architecture”, Kruchten, P, IEEE Software, November 1995 “Foundations for the Study of Software Architecture," Perry, D.E., and Wolf, A.L., ACM Soft Eng Notes, Oct 1992 Systems Architecting: Creating and Building Complex Systems, Rechtin, E., Prentice Hall, 1991 Software Architecture—Perspectives on an Emerging Discipline, Garlan, D., and Shaw, M., Prentice Hall, 1996 Computer Architecture: A Quantitative Approach, Second Edition, Goldberg, D., Hennessy, J., and Patterson, D, Morgan Kaufman Publishers, 1996 Patterns Analysis Patterns: Reusable Object Models, Fowler, M., Addison-Wesley, 1996 Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, Larman, C., Prentice Hall Press, 1997 Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, E., and others, AddisonWesley, 1995 Pattern-Oriented Software Architecture - A System of Patterns, Buschmann, F, Meunier, R., Rohnert, H., Sommerlad, P., and Stahl, M., John Wiley and Sons, 1996 Project Management Object Solutions, Booch, G., Addison-Wesley, 1996 Software Project Management: A Unified Framework, Royce, Walker, Addison-Wesley, 1998 Metrics Object-Oriented Software Metrics, Kidd, J., and Lorenz, M., Prentice Hall, 1994 User Interface Design Designing Object-Oriented User Interfaces, Collins, D., Benjamin/Cummings, 1995 Object-Oriented GUI Application Development, Lee, G., Prentice-Hall, 1993 Distribution The Essential Client/Server Survival Guide, Second Edition, Edwards, J., Harkey, D., and Orfali, R., John Wiley & Sons, 1997 The Essential Distributed Objects Survival Guide, Edwards, J., Harkey, D., and Orfali, R., John Wiley & Sons, 1995 REF-5 Additional OOAD/UML Resources Object Database The Object Database Handbook, Barry, D., John Wiley & Sons, New York, NY, 1996 COM/OLE Understanding Active X and OLE, Chappel, David, Microsoft Press, 1996 David Chappel’s Web site at http://www.chappellassoc.com Inside COM, Rogerson, D., Microsoft Press, 1997 COM’s home page: http://www.microsoft.com/cominfo/ CORBA Advanced Java Development for Enterprise Applications, Berg, Clifford J., Prentice Hall, 1998 CORBA Fundamentals and Programming, Siegel, J., John Wiley & Sons, 1996 Instant CORBA, Edwards, Jeri, Harkey, Dan, and Orfali, Robert, John Wiley & Sons, 1997 For information on other books, see the Rational Unified Process recommended reading list at: http://www.rational.com/uml/?SMSESSION=NO REF-6 [...]... explanation of Object-Oriented Analysis and Design (OOAD) concepts, as well as hands-on practical experience in applying the techniques Analysts, designers, software developers, and system engineers 5 © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM 0-5 Mastering Object-Oriented Analysis and Design with UML 2.0 Prerequisites Prerequisites... Curriculum Flow: Designer Instructor-led Web-based Optional Path 1 DEV110 Principles of Modeling DEV111 Principles of UC Modeling with UML DEV112 Principles of Analysis I DEV113 Principles of Analysis II DEV160 Principles of Modeling Behavior 2 hours 2 hours 2 hours 2 hours 2 hours OR Path 2 DEV275 Essentials of Visual Modeling with UML 1 day DEV475 Mastering Object Oriented Analysis & Design with UML 4 days... 2 hours DEV111 Principles of UC Modeling with UML DEV112 Principles of Analysis I DEV113 Principles of Analysis II 2 hours 2 hours 2 hours OR Path 2 DEV475 Mastering Object Oriented Analysis & Design with UML 4 days DEV275 Essentials of Visual Modeling with UML 1 day 8 0-8 © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM.. .Mastering Object-Oriented Analysis and Design with UML 2.0 Course Objectives (continued) Course Objectives (continued) Upon completion of the course, participants will be able to: Describe the different views of software architecture, key mechanisms that are defined in support of that architecture, and the effect of the architecture on the produced design Define basic design considerations,... products, visual modeling and development, events, customer support, documentation and training, to name just a few Rational developerWorks, a customer-only site is IBM’s resource for developers © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM 0 - 11 Mastering Object-Oriented Analysis and Design with UML 2.0 Logistics Logistics... or equivalents such as scripts or command files © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM 1-9 Mastering Object-Oriented Design and Analysis Practice 4: Model Visually Model Visually (UML) Captures structure and behavior Shows how system elements fit together Keeps design and implementation consistent Hides... curriculum offers the courses shown here and on the next two slides As you can see, for each major software development team role, Rational University offers a professional development course © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM 0-7 Mastering Object-Oriented Analysis and Design with UML 2.0 Rational University Curriculum... associations and how to create simple interaction and class diagrams Find classes and distribute class behavior Distinguish between the UML Analysis class stereotypes: boundary, control, and entity Prerequisites can be achieved through attendance in “Essentials of Visual Modeling with UML or equivalent experience 6 0-6 © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without... 2-Fifteen-minute breaks 12 0 - 12 © Copyright IBM Corp 2004 Course materials may not be reproduced in whole or in part without the prior written permission of IBM ► ► ► Module 1 Best Practices of Software Engineering ® IBM Software Group Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering 1 Topics Practice 1: Develop Iteratively 1-6 Practice... projects and organizations The UML provides a standard for the artifacts of development (semantic models, syntactic notation, and diagrams): the things that must be controlled and exchanged But the UML is not a standard for the development process Despite all of the value that a common modeling language brings, you cannot achieve successful development of today’s complex systems solely by the use of the UML ... DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume Part No IBM Corporation Rational University DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0. .. Module Analysis and Design Overview Analysis Versus Design 4-6 Analysis and Design Workflow 4-12 Review 4-19 Module Architectural Analysis Architectural Analysis. .. Modeling with Rational Rose and UML, Terry Quatrani, Addison-Wesley, 1998 ► ► ► Module About This Course ® IBM Software Group Mastering Object-Oriented Analysis and Design with UML 2.0 Module