Course Summary
Through the UML Fundamentals course, participants learn to apply the Unified Modeling Language (UML) to correctly specify, design, visualize, analyze, develop, and deploy object-oriented (OO) software systems.
Duration
2 days.
Objectives
Through completion of this course, participants will be able to:
- Use UML diagrams to improve clarity of communication between different stakeholders
- Employ best practices of object-oriented analysis and design by specifying software requirements and design in UML
- Classify UML diagrams as static, dynamic, and implementation specific
- Identify and model key architectural and design concepts in UML
- Recognize the stage of development or problem scenario for which specific UML diagrams should be used
- Create and maintain a complete set of UML diagrams including: use-case, package, class, object, state, activity, sequence, collaboration, component, and deployment
Audience
The course is intended for software developers, software architects, software development managers, business managers, and other stakeholders who wish to update and further their skills in development of object-oriented software systems.
Instructors
In addition to web sites, GUI applications, and mobile device software, Adam has also built high-volume middleware for one of the world's largest banks, and produced a new, modern integration to a 1960s-vintage mainframe app for one of the world's largest airlines.
Adam focuses on designing and coding systems in a way that yields predictable results, leverages best practices and high-productivity tools, minimizes excess code, and is fun to do. He has also spoken at tech conferencs, written articles and skill assessments, and produced an open source tool for software development. Adam has enjoyed teaching large and small groups, covering topics from nuts-and-bolts Java programming to merging ideal process with real-world constraints in an organization. More about Adam Breindel...
Additional Notes
The benefits of using UML include:
- Improving communication between different stakeholders through the use of a clear and precise language
- Raising the level of abstraction to models from source code by making modeling the first-class development activity
- Decreasing total development costs by assuring compliance with functional and non-functional requirements early in the development lifecycle where the cost of corrections is significantly lower.
Outline
Introduction and Fundamentals
- Why UML?
- Model-Driven Development (MDD) Context
- Introducing the Unified Modeling Language (UML)
- Notation and Metamodels
Object-Oriented Notation and Concepts in UML
- Classes, Objects, and Interfaces
- Attributes and Operations
- State and Behavior
- Encapsulation, Polymorphism, and Inheritance
Object-Oriented Analysis (OOA) with UML
- Software Requirements
- Scenarios and Use Cases
- Business and System Use-Cases
- Use Case Diagrams and Relationships
- Class Diagrams Conceptual Perspective
Object-Oriented Design (OOD) with UML
- Structural Design
- Class and Package Diagrams
- Dynamic Design Models
- Object Diagrams
- State Diagrams
- Activity Diagrams
- Sequence Diagrams
- Collaboration Diagrams
- Implementation Design Models
- Component Diagrams
- Deployment Diagrams
Architectural Views of UML Diagrams
- Logical View
- Process View
- Component View
- Deployment View
- Use Case View
- Addressing View Consistency
Course Testimonials
Efficient, knowledgeable and applicable...