|
Course 500 : Object-Oriented
Application Analysis and Design for Java[tm] Technology (UML)
The Object-Oriented
Application Analysis and Design for Java[tm] Technology (UML) course teaches
system developers how to use object-oriented (OO) methodologies to perform
analysis and design (OOA&D), using the Unified Modeling Language (UML).
Superior software applications are not static, they grow and evolve to
meet changing business and consumer needs. Being able to analyze these
needs and translate them into new software models provides a competitive
advantage. The object-oriented analysis and design methodologies taught
in this class enable software professionals to realize the efficiencies
inherent in modern OO languages, such as the Java programming language.
The various concepts and analysis and design techniques associated with
the Unified Modeling Language (UML) are related to the phases in the iterative,
incremental, unified software development process. Also discussed are
the use of Design Patterns, Object and Dynamic models, system design,
and partitioning techniques.
Who Can Benefit
System architects,
software engineers, and developers responsible for the conception and
construction of object-oriented software applications.
Prerequisites
To succeed fully in
this course, students should be able to:
- Understand object-oriented
concepts and methodology
- Demonstrate a working
knowledge of general programming terminology, preferably the Java programming
language
- Demonstrate a general
understanding of programming, preferably the Java programming language
- Understand application
development
- Understand the
basics of the systems development process and environment
Skills Gained
Upon completion of
this course, you should be able to:
- OO concepts
- Understand
the benefits of object-oriented systems development
- List the concepts
of object-oriented systems development
- Process Skills
- List the major
phases of and workflows of the iterative, incremental lifecycle
of projects
- Specify the
process of gathering requirements
- Apply guidelines
to your analysis and design to help ensure high-quality modeling
products
- Analysis Skills
- List the models
that comprise the UML
- Identify model
objects and classes
- Specify relationships
between classes
- Define class
behaviors, using polymorphism and other design techniques
- Identify and
analyze dynamic models
- Design Skills
- Design details
of class attributes, operations, and relationships
- Describe design
patterns
- Define how
to design and partition a system
Course Content
Module 1: Introducing
Object-Oriented Analysis and Design
- Define OOA&D
- Define Analysis
and Design
- Understand the
role of objects and classes
- Define the key
features of OO programming
- Detail the nature
and benefits of the iterative, incremental lifecycle of projects
- Introduce the major
phases of a system development effort
Module 2: Introducing
the Unified Modeling Language
- UML definition
- Introduce the primary
diagrams used in the UML
- Introduce the Package
notation and Stereotypes
Module 3: Requirements
and Initial Analysis
- Describe the process
of gathering information
- Define Candidate
Objects and the role of domain experts
- Specify the role
of the data dictionary
- Analyze the role
Risk Assessment plays in system development
- Introduce Use Cases
and Use Case Scenarios
- Introduce Activity
Diagrams, Packages and Component and Deployment diagrams
Module 4: Analysis
of System Objects and Classes - Part I
- Understanding the
Analysis Phase
- Role of Key Abstractions
- Develop Object
Diagram and Class Diagram
- Define Associations
and Multiplicity
- Define Complex
and Qualified Associations
Module 5: Analysis
of System Objects and Classes - Part II
- Modeling Inheritance
- Modeling Polymorphism
and Abstract Classes
- Modeling Reflexive
Associations
- Analyzing for Aggregation,
Composition, Propagation and Delegation
- Java Interfaces
Module 6: Analysis
of Dynamic Models
- Define the role
and function of Sequence Diagrams
- Define the role
and function of Collaboration Diagrams
- Define the role
and function of State Transition diagrams
- Define the role
and function of Activity Diagrams
Module 7: Patterns
- Introduce Patterns
- Facade
- Singleton
- Factory
- Composite
- Observer
- MVC
- State Pattern
Module 8: The Object
Model in Design - Part I
- Encapsulation:
get/set attributes
- Design attributes
and data types
- Define constraints,
methods, and static data and methods
- Role of Constructors
Module 9: The Object
Model in Design - Part II
- Categorize classes
- Coding for Composition,
Aggregation, and Association
- Explain the concept
of Direction of Traversal
- get/set/add/remove
constructors and static associations
- Explain link access
methods
- Submethods from
Inheritance
- Delegation and
complex operations
Module 10: The
Dynamic Model in Design
- Sequence diagrams
in Design
- Collaboration diagrams
in Design
- State Transition
diagrams in Design
- Activity diagrams
in Design
Module 11: System
Design
- Packages and subsystems
- Frameworks
- Role of cohesion
and coupling
- System performance
issues
- Revisiting Components
and Deployment
- Role of network
and databases
Appendix A: UML
Quick Reference
Appendix B: Case
Study
For more information
or to give feedback, send e-mail to info@OneApex.com or call 949-597-2100
|