310 likes | 458 Views
ARCH-05 Application Prophecy UML 101. Peter Varhol Principal Product Manager. Agenda. History and goals of UML Why learn UML Types of diagrams Diagramming in detail Applying use cases Summary and conclusions. History of UML. Diagrams became a part of software engineering practice
E N D
ARCH-05Application Prophecy UML 101 Peter Varhol Principal Product Manager
Agenda • History and goals of UML • Why learn UML • Types of diagrams • Diagramming in detail • Applying use cases • Summary and conclusions ARCH-05 UML 101
History of UML • Diagrams became a part of software engineering practice • Flow charts • Data flow diagrams • State transition diagrams • Modernlanguages and design emerge (1980s) • More formal and structuredmodeling techniques (early 1990s) • OMT, Booch, State Charts • UML • Booch + OMT + Others ARCH-05 UML 101
The Result • Full view of application • Fundamental views • Architecture, behavior, collaboration • System/application states • State chart, activity diagram • Interactions and physical structures • Sequence, component, deployment • Why multiple diagrams? ARCH-05 UML 101
Goals of UML • Provide a visual way of building and exchanging models • Provide ways to extend the core concepts • Be independent of programming language and development processes • Provide a formal basis for working with models • Support higher-level development concepts • Frameworks, patterns and components • Integrate best practices ARCH-05 UML 101
Agenda Slide • History and goals of UML • Why learn UML • Types of diagrams • Diagramming in detail • Applying use cases • Summary and conclusions ARCH-05 UML 101
Why Learn About Modeling? • Promotes better communication earlier • Within the development team • With customers • Enables architects and designers to think about solving the business problem • Implementation details don’t impede solution • Can produce software that better meets customers’ needs ARCH-05 UML 101
Why Learn UML in Particular? • Becoming the de facto standard for modeling • Provides for formal modeling • Models can be proven consistent and correct • Models can be tested • Accurate code generation is possible • Can connect the business problem to the technology solution ARCH-05 UML 101
Agenda Slide • History and goals of UML • Why learn UML • Types of diagrams • Diagramming in detail • Applying use cases • Summary and conclusions ARCH-05 UML 101
Types of Diagrams • Use case diagrams • Shows the relationship among actors and cases • Class diagrams • Show class structure and contents • Interaction diagrams • Sequence diagrams • display the time sequence of component interactions • Collaboration diagrams • display components and their links to one another ARCH-05 UML 101
Types of Diagrams • State diagrams • Shows the sequences of states an application goes through • Activity diagrams • Focuses on flows driven by processing • Physical diagrams • Component diagrams • shows the high level structure of the code itself • Deployment diagrams • shows the configuration of elements at runtime ARCH-05 UML 101
Agenda Slide • History and goals of UML • Why learn UML • Types of diagrams • Diagramming in detail • Applying use cases • Summary and conclusions ARCH-05 UML 101
Use Case Diagrams • Using use case diagrams • Visualizing functional requirements • How to draw use case diagrams • Actors and cases ARCH-05 UML 101
Class Diagrams • Class diagrams – describe types of components in a system and their relationships • Consist of a name, attributes, and operations ARCH-05 UML 101
Sequence diagrams and collaboration diagrams are used to demonstrate the interaction of components in a use case Sequence diagrams Components and messages/data Interaction Diagrams ARCH-05 UML 101
Interaction Diagrams • Collaboration diagram • Relationships between components • Ordering of messages ARCH-05 UML 101
State diagrams – notes changes of state in the system Adds state, activity, and transition State Diagrams ARCH-05 UML 101
Activity diagrams Workflow and behavior Think of the old dataflow diagram Activity Diagrams ARCH-05 UML 101
Physical Diagrams • Physical diagrams are used when development is complete • Descriptions of physical information • Component and deployment diagrams • Component diagrams • Dependencies among code components ARCH-05 UML 101
Deployment diagram Contains nodes and connections The two diagrams are often combined Physical Diagrams ARCH-05 UML 101
Common Questions on UML • Why multiple diagram types? • Different views into the same application • Mostly orthogonal • Needed to represent very different systems • Are they all necessary? • Not for most applications • Concentrate on the ABCs • Architecture, Behavior, Collaboration ARCH-05 UML 101
Agenda Slide • History and goals of UML • Why learn UML • Types of diagrams • Diagramming in detail • Applying use cases • Summary and conclusions ARCH-05 UML 101
Always start with your use cases Help you determine what to build Establish effective communication with users An auto dealership application Applying UML ARCH-05 UML 101
Define the Architecture • Class diagrams – How will the application be structured? • The data structure of the auto customer ARCH-05 UML 101
Look at Application Behavior • Activity diagram • Steps in requesting a test drive ARCH-05 UML 101
Study Collaboration Between Components • Collaboration diagrams show interactions • How the auto dealer application components work together ARCH-05 UML 101
Applying UML • You have enough to get started coding • Involve other diagrams when different views are needed • Don’t hesitate to modify or add a view if the situation requires • These are living diagrams • The purpose is to communicate ARCH-05 UML 101
In Summary • Using UML helps create applications that achieve important business goals • Better meet customer needs • Higher quality application • Better communication between designers, developers, and customers ARCH-05 UML 101
Questions? ARCH-05 UML 101
Thank you for your time! ARCH-05 UML 101