About this course
Object Orientation (OO) is a methodology that is used for the whole software development life cycle: from analysis of users’ needs, to design and then coding and testing. The Unified Modelling Language (UML) is a standard set of diagrams for modelling your system using an OO approach.
The OO Analysis and Design course is for programmers who want to develop in any object-oriented language, such as Java, C# or C++. You will learn how to analyse, design and document your system using OO principles. It will help you to understand the problem and the solution better, communicate it more effectively and write better code.
The first 3 days of this course run in parallel with the Object-Oriented Analysis course. The shorter course is for analysts who are not programmers.
What others say
M. Ntuli
D. van der Merwe
C. Coetzee
P. Herbst
S. Smuts
L. Brits
T. Mngomezulu
W. Smith
G. Lombard
Why you want to attend
You should attend the Object Oriented Analysis and Design course if:- You are a programmer moving to an object-oriented language, like Java.
- You are a programmer using an object-oriented language, but want to understand and use object-oriented principles more effectively.
- You are a system analyst or designer, and you need to design object-oriented systems.
- You are a system architect, and you need to understand how to design and create object-oriented systems.
What you need to know first
Before you attend the Object Oriented Analysis and Design course:- You should have some experience in programming, ideally in an object-oriented language like Java, C# or C++.
Price and duration
Price: R14,800.00 excluding VAT per delegate. This price includes everything that you need:- All course material, provided in an electronic format.
- An attendance certificate after the course, in PDF format.
How to book
It’s so easy to book for the Object-Oriented Analysis & Design course. Just email us at info@incusdata.com. You can send us a purchase order, or fill in our course enrolment form. After we have received your booking, we will confirm that you are booked, and we’ll send you an invoice.Detailed course contents
Introduction
- The evolution of the object-oriented paradigm.
- OOP compared to other programming paradigms.
- Advantages and disadvantages of OOP.
Object-Oriented Concepts and Terminology
- Classes and objects.
- Attributes and behaviours.
- Data abstraction and encapsulation.
- Polymorphism.
- Inheritance and code reuse.
- Associations and relationships between classes.
Unified Modelling Language
- History and evolution of the UML.
- Overview of UML diagrams: use case, activity, class, object, sequence, communication, state machine, component, package, timing, composite structure, interaction overview, deployment diagrams.
- Common extension mechanisms.
- UML modelling tools.
Object-Oriented Methodologies
- Traditional Software Development Lifecycle.
- Iterative and incremental development.
- The need for an OOAD process.
- The Rational Unified Approach (RUP).
- The Iconix method.
- Agile Modelling.
- Extreme Programming.
Object-Oriented Analysis
- Behaviour analysis and use cases.
- Use case text vs use case diagrams.
- Activity diagrams.
- Domain modelling.
- Deployment and component diagrams.
- Class identification and domain classes.
- CRC cards and CRC sessions.
- Which UML diagrams to use during analysis.
Object-Oriented Design
- Responsibility driven design.
- Class design and detailed class diagrams.
- Robustness analysis and the MVC architecture.
- Sequence, communication and state machine diagrams.
- Timing diagrams.
- Package diagrams.
- Which UML diagrams to use during design.
Time Estimation and Costing
- Software cost estimation models.
- Function point counting.
- Source lines of code (SLOC).
- Constructive Cost Model (COCOMO).
- Use case cost estimation.
Design Principles & Patterns
- What makes a design feel “right”.
- SOLID design principles.
- Package design principles.
- Design pattern concepts.
- Examples of commonly used patterns.