This intensive course is an introduction of service-oriented software development. Service and process oriented analysis and design techniques will be introduced. The course provides the fundamental skill to gather requirements for and analyze a business problem from SOA perspective. The course introduces common business process and common services design patterns. Industry standards such as BPMN and UML are used to express designs.
At the end of this course you will be familiar with the concepts of service oriented software development, and you will be able to apply service oriented analysis and design methods for business applications. You will know the most important diagram techniques and will be able to join a development team and actively participate in the design of an application.
At the end of the course you will be able to:
Learn SOA Concepts
Understand Service-Oriented Design Principles
Model processes
Identify and Design service contracts
Use BPMN and UML
Introduction to Business Process Design
Service-Oriented Analysis and Design
What is a Service
What is a business process
Process types
BPD Projects and Methodology
Business Porcess Design criteria
Service Maturity Model
Introduction to OO Software Development Process
Provide an overview of Object-Oriented modeling
Overview of methodologies
At a glance view of modeling steps
Show how models are gradually refined
SOA and Unified Process
Business Process Analysis
Business Process Analysis
Requirements management
Use Cases and their workflows/processes
A service development process
Mapping Use Cases to components and services
Supporting the developer
Process Modeling
Process Modelling Standards
BPMN
Diagram Elements
Flows and Activities
Process Types
XPDL
What is an Object
To introduce you to the concept of objects
To talk about key OO concepts of ‘state' and ‘behavior'
Compare Object-Oriented and Functional Approaches
To show you what a ‘Use Case' is, and how we can use it to discover objects
What are Messages
To talk in more detail about how objects interact, via messages
To introduce the idea of encapsulation
What is meant by ‘information hiding', and why it's such a good idea
Classes and Instances
To learn the difference between classes and instances
To learn how classes relate to objects
To learn about object identity and object equality
Inheritance
To understand the concept of inheritance
To learn why inheritance is useful
To understand subclassing versus subtyping
Polymorphism
To gain an understanding of "polymorphism"
To learn about "dynamic binding"
To appreciate how polymorphism simplifies coding and
improves the flexibility of Object-Oriented systems
Use-Case Analysis
To learn how functional requirements are captured
To introduce use cases and use case models
To understand their role throughout the lifecycleTopic
CRC Analysis
Learn how to find a good set of domain classes
Learn how to factor responsibilities among these classes
Learn how coverage of functional requirements is guaranteed
Understand the CRC analysis activity
OO Analysis with UML
Detail to our Class models using (UML)
Learn how Analysis transforms Use-Cases into Classes and Collaborations
Learn about Robustness Diagrams and Analysis
Class Stereotypes: Boundary, Control, and Entity
Introduce the notion of Use-Case Realization
Understand that Analysis Classes are eventually mapped to Design Classes
Structural Modeling Using UML
Learn how to create structural models in UML
Introduce UML Classifiers and Relationships
Dynamic Model Design
To learn how flow of control is discovered and recorded
To understand how messages are initially derived
To introduce sequence diagrams as pseudo-code
To introduce state and activity diagrams
Static Model Design – Inheritance
To review issues of reuse through inheritance
Project managers, Business Analysts, Application Architects, Developers, Designers.