Object-Oriented Analysis and Design Using UML
(The Course materials and Course Completion Certificates are directly delivered from Oracle University to those seeking for Foreign Opportunity)
(Government of India Approved Education Center)
The Object-Oriented Analysis and Design Using UML training explores the software development processes, object-oriented technologies and the Unified Modeling Language (UML). Learn one practical, complete, object-oriented analysis and design (OOAD) roadmap from requirements gathering to system deployment.
This Object-Oriented Analysis and Design Using UML training teaches you how to effectively use object-oriented technologies and software modeling as applied to a software development process. Expert Oracle University instructors present one practical,
complete, object-oriented analysis and design (OOAD) road map from requirements gathering to system design.
Learn To:
- Use object-oriented technologies.
- Use Unified Modeling Language 2.2.
- Perform object-oriented analysis and design.
- Followa software development process using an OO software project.
- Create a system design (the Solution model) supporting the functionalrequirements (FRs).
Benefits to YouBy enrolling in this course, you'll experience the benefits of using the widely adopted graphical modeling language―the Unified
Modeling Language (UML) version 2.2. Use this to help communicate concepts and decisions, understand the problem and proposed
solution and manage complexity of artifacts describing the problem and proposed solution. Furthermore, you'll develop a deeper
understanding of the patterns and frameworks that help build more flexible and re-usable software components.
Course
Structure
This course is structured to follow a generic form of software development process that focuses on the analysis and design aspects
as applicable to an OO software project. This generic process can be easily adapted to specific processes, which are discussed later
in the course. Expert Oracle University instructors will present a pragmatic approach to object-oriented (OO) software development
following proven OO technologies, principles and patterns as applicable to OO languages like the Java(TM) programming language. People
Who Will Benefit from this Course System architects, software engineers, systems analysts and designers
responsible for the conception and creation of object-oriented software applications will find the most value in taking this
course. Architects responsible for the conception and creation of object-oriented software applications can also benefit from this
educational investment.
Suggested Prerequisite
- Demonstratea general understanding of programming, preferably using the Javaprogramming language
- Understand the fundamentals of the systems development process
- Understandobject-oriented concepts and methodology
Audience
- Java EE Developers
- Application Developers
- System Analysts
- JavaDevelopers
Course Objectives- Describe the object-oriented software development process, including object-oriented methodologies and workflows
- Gathersystem requirements through interviews with stakeholders
- Analyzesystem requirements to determine the use cases and domain model ofthe problem domain (the Requirements model)
- Create a system architecture (the Architecture model) supporting thenonfunctional requirements (NFRs) and development constraints
- Create a system design (the Solution model) supporting the functionalrequirements (FRs)
Course Topics
Examining Object-Oriented Concepts and Terminology
- Describe the fundament al OO terminology
- Describe the important object-oriented (OO) concepts
Introducing Modeling and the Software Development Process- Describe the Object-Oriented Software Development (OOSD) process
- Explainthe purpose, activities,
and artifacts of the following OOSDworkflows (disciplines): Requirements Gathering, Requirements Analysis, Architecture, Design,Implementation, Testing & Deployment
- Describe the benefits of modeling software
- Describehow modeling supports the OOSD process
Creating Use Case Diagrams- Justifythe need for a Use Case diagram
- Identifyand describe the essential elements in a UML Use Case diagram
- Developa Use Case diagram for a software system based on the goals of thebusiness owner
- Developelaborated Use Case diagrams based on the goals of all thestakeholders
- Recognizeand document use case dependencies using UML notation for extends,includes, and generalization
- Describehow to manage the complexity of Use Case diagrams by creating UMLpackaged views
Creating Use Case Scenarios and Forms- Identifyand document scenarios for a use case
- Describehow to reference included and extending use cases.
- Identifythe purpose of a Supplement ary Specification Document
- Create a Use Case form describing a summary of the scenarios in the mainand alternate flows
- Identifyand document non-functional requirements (NFRs), business rules,risks, and priorities for a use case
Creating Activity Diagrams- Modela Use Case flow of events using an Activity diagram
- Identifythe essential elements in an Activity diagram
Determining the Key Abstractions- Identifythe key abstractions using CRC analysis
- Identifya set of candidate key abstractions
Constructing the Problem Domain Model- Identifythe essential elements in a UML Class diagram
- Validatethe Domain model with one or more Object diagrams
- Constructa Domain model using a Class diagram
- Identifythe essential elements in a UML Object diagram
Transitioning from Analysis to Design using Interaction Diagrams- Create a Sequence diagram view of the Design model
- Identifythe essential elements of a UML Sequence diagram
- Create a Communication diagram view of the Design model
- Identifythe essential elements of a UML Communication diagram
- Explainthe purpose and elements of the Design model
Modeling Object State Using State Machine Diagrams- Modelobject state
- Describe the essential elements of a UML State Machine diagram
Applying Design Patterns to the Design Model- Describe the Composite pattern
- Define the essential elements of a software pattern
- Describe the Strategy pattern
- Describe the Abstract Factory pattern
- Describe the Observer pattern
Introducing Architectural Concepts and Diagrams- Describe the Architecture workflow
- Selectthe Architecture type
- Createthe Architecture workflow artifacts
- Describe the diagrams of the key architecture views
- Describe tiers, layers, and systemic qualities
- Distinguishbetween architecture and design
Introducing the Architectural Tiers- Describe the concepts of the Client and Present ation tiers
- Describe the concepts of the Business tier
- Describe the concepts of the Resource and Integration tiers
- Describe the concepts of the Solution model
Refining the Class Design Model- Annotatemethod behavior
- Createcomponents with interfaces
- Refinethe attributes of the Domain model
- Declarethe constructors of the Domain model
- Refinethe relationships of the Domain model
- Refinethe methods of the Domain model
Overview
of Software Development Processes- Developan iteration plan
- Choosea methodology that best suits your project
- Explainthe best practices for OOSD methodologies
- Describe the features of several common methodologies
Overview
of Frameworks- Define a framework
- Understand the concept of creating your own business domain frameworks
- Describe the advantages and disadvantages of using frameworks
- Identifyseveral common frameworks
Course
Review- Reviewthe key UML diagrams
- Reviewthe key features of object orient ation
- Reviewthe Requirements Analysis (Analysis) and Design workflows