Description

This course covers the UML (Unified Modelling Language) language, which is the most preferred of today’s software development paradigms for software analysis and design processes based on object-oriented programming.
Although programming and coding are at the forefront of software engineering, it will sooner or later be realized that in serious projects, analyzing and designing software comes first and foremost, perhaps even before these activities. In this framework, UML offers a wide range of patterning options, which are essential for these activities to be comprehended and applied correctly.
It has become a lingua franca independent of other languages.
This course provides instruction and hands-on experience focused on the effective use of object-oriented technologies, while providing knowledge about the proper use of software modeling applied to the software development process. The course is made comprehensive by providing a practical and complete OOAD (Object-Oriented Analysis and Design) roadmap from requirements gathering to system design.
The course provides a pragmatic approach to object-oriented (OO) software development, following object-oriented programming technologies, principles and models, applicable to object-oriented languages such as the Java programming language.
Participants experience the advantages of using UML 2.2 (Unified Modeling Language), the widely adopted graphical modeling language, to help with communication concepts and decisions, to understand the problem and the proposed solution, and to manage the complexity introduced by the structures describing the problem and the proposed solution.
The course is structured to follow a general software development process with a focus on analysis and design aspects applicable to an object-oriented software development project.
About Education
The goals of education in a nutshell:
-Basic properties of object orientation,
-Key UML diagrams,
-Review Requirements Analysis (Analysis) and Design workflows;
Object-oriented software development process, including object-oriented methodologies and workflows,
-Gathering system requirements through interviews and stakeholders
-Analyze system requirements to determine the use cases and domain model of problem areas (Requirements model)
Create a system architecture (Architecture model) that supports non-functional requirements (NFRs) and development limitations
-Create a system design (Solution model) that supports functional requirements (FRs)
General content of the training:
Review Object-Oriented Concepts and Terminology
Identify important object-oriented (OO) concepts
Basic OO terminology
Introduction to Modeling and Software Development Process
Introduction to Object-Oriented Software Development (OOSD) Process
Supporting OOSD process modeling
Benefits of modeling software
Purpose, activities and structures of OOSD work streams (disciplines): Requirements Gathering, Requirements
Creating Use Case Diagrams
Identify and recognize key elements in a UML Use Case diagram
Developing a Use Case diagram for a software system based on the goals of the business owner
Develop detailed Use Case diagrams based on the objectives of all stakeholders
Recognize and report use case dependencies using UML notation for extensions, inclusions and generalization
Use Case diagram management with UML packaged views
Creating Use Case Scenarios and Forms
Create a Use Case form describing a summary of scenarios in the main and alternative flows
Identify and report non-functional requirements (NFRs), business rules, risks and priorities for a use case
Purpose of the Supplementary Specification Document
Creating Activity Diagrams
Basic elements in an Activity diagram
Model a Use Case event flow using an Activity diagram
Identifying Key Abstractions
Using CRC analysis
Create the Problem Domain model
Identify the basic elements in a UML Class diagram
Create a Domain model using a class diagram
Identify the basic elements in a UML Object diagram
Analyze and validate the Domain model with one or more Object diagrams
Moving from Analysis to Design Using Interaction Diagrams
Explain the purpose and elements of the design model
Identify the basic elements of a UML Communication diagram
Create a Contact diagram view of the design model
Identify the basic elements of a UML Sequence diagram
Create a sequence diagram view of the design model
Modeling Object State Using State Machine Diagrams
Model object state
Explain the basic elements of a UML State Machine diagram
Applying Design Patterns to Design Model
Identify the basic elements of a software model
Compound Pattern
Strategy Model
Observer Model
Abstract Factory Model
Introduction of Architectural Concepts and Diagrams
Difference between architecture and design
Layers, layers and systemic attributes
Architectural workflow
Diagram of basic architectural views
Choosing the type of architecture
Create architectural workflow artifacts
Introduction of Architectural Layers
Define the concepts of Client and Presentation layers
Explain business layer concepts
Explain the concepts of Source and Integration layers
Explain the concepts of the solution model
Improving the Classroom Design Model
Improving Domain model attributes
Domain model relationship management
Improving Domain modeling methods
Domain model builders
Method behavior
Create components with the interface
Overview of Software Development Processes
Explain best practices for OOSD methodologies
Describe the characteristics of several common methodologies
Selection of the most appropriate methodology
Developing an iteration plan
Frames Overview
Defining a framework
Advantages and disadvantages of using a frame
Defining a common framework
Create your own workspace frameworks
Who Should Receive the Training?
Software engineers
Software project engineers / managers
System engineers
Software test engineers
Plan this training institutionally!
This training can be planned in different durations and content specific to your organization. Please contact us for detailed rich content and planning to realize your training objectives.