Object Oriented Design using Design Patterns Training Course
Objective:
To assist Technical Analysts and Designers in understanding how to implement software requirements, ensuring clear traceability between business specifications and the resulting code.
This two-day training course supports technical analysts and designers in interpreting specifications provided by business analysts. Once transformed into software component representations, the resulting system components maintain traceability from system requirements down to software component structures.
Ultimately, these technical specifications are implemented in code and tested at the component level. The resulting software components offer a high degree of responsiveness to change, enabling traceability of system behaviours layer by layer—from user interfaces through application components (where user choices are captured) down to the business objects layer.
This course is available as onsite live training in New Zealand or online live training.Course Outline
Introduction
- What is the System Analysis and Design Process?
- The role of Analysis and Design activities within the Unified Process (RUP)
- An overview of UML 2 diagrams used in system analysis and design
- Frameworks for tracing requirements to software implementation and testing
How to Transform Requirements into Component-Based Analysis Specifications?
- Traceability between requirements and system analysis
- Advanced concepts for representing system structure and dynamics
- Refinement of requirements along both dimensions
- Moving towards system design using operation contracts
- Case Study: Defining the analysis component model of the system
How to Transform Analysis Specifications into Design-Level Specifications?
- Traceability between system analysis and design
- Design patterns for achieving loose coupling and high cohesion among components
- Defining the design-level architectural backbone of the system (components, ports, interfaces, exchange objects)
- Design-level interaction diagrams to implement operation contracts
- Case Study: Updating the design-level component diagram with architectural decisions
Implementing Technical Specifications and Testing at the Component Level
- Translating design-level specifications into an object-oriented programming language
- Deploying components onto physical nodes
- Integration and acceptance testing based on prior specifications
Conclusion
- Key steps in the system analysis and design processes
- Patterns that ensure traceability between requirements and software code
- Testing requirements against the system architecture
Notice: The above training and mentoring sessions are delivered interactively using Requirement Engineering and modelling tools to ensure robust traceability between requirements and underlying solutions. Concepts are first explained using basic examples, then followed by solution drafts tailored to your specific challenges. Following this session, we can support you by reviewing and validating your solutions, according to your needs.
Open Training Courses require 5+ participants.
Object Oriented Design using Design Patterns Training Course - Booking
Object Oriented Design using Design Patterns Training Course - Enquiry
Object Oriented Design using Design Patterns - Consultancy Enquiry
Testimonials (1)
Good exercises
Hui Yi Neo - Titansoft Pte Ltd
Course - Object Oriented Design using Design Patterns
Provisional Upcoming Courses (Require 5+ participants)
Related Courses
Design Patterns
14 HoursThere is a wealth of proven patterns readily accessible to everyone. Often, it simply involves adapting the nomenclature and implementing the pattern within a specific technology. This approach can save countless hours that would otherwise be dedicated to design and testing. The goals of this training are twofold: first, it empowers you to leverage widely recognised patterns; second, it enables you to create and reuse patterns tailored to your organisation. It assists you in estimating how patterns can reduce costs, systematise the design process, and generate a code framework based on your patterns. The intended audience includes software designers, business analysts, project managers, programmers and developers, as well as operational managers and software division managers. The course style centres on use cases and their relationship with specific patterns. Most examples are explained using UML and simple Java examples (the language may change if the course is booked as a closed course). It guides you through the origins of patterns and demonstrates how to catalogue and describe patterns that can be reused across your organisation.
Insurtech: A Practical Introduction for Managers
14 HoursInsurtech (also known as Digital Insurance) refers to the convergence of insurance and emerging technologies. In the Insurtech space, "digital insurers" apply technological innovations to their business and operating models to reduce costs, enhance customer experience, and improve operational agility.
In this instructor-led training, participants will gain a clear understanding of the technologies, methods, and mindset required to drive digital transformation within their organisations and across the wider industry. The training is designed for managers who need a high-level overview, wish to cut through the hype and jargon, and are ready to take the first steps toward developing an Insurtech strategy.
By the end of this training, participants will be able to:
- Discuss Insurtech and all its components intelligently and systematically
- Identify and demystify the role of each key technology within Insurtech.
- Draft a general strategy for implementing Insurtech within their organisation
Audience
- Insurers
- Technologists within the insurance industry
- Insurance stakeholders
- Consultants and business analysts
Format of the course
- Part lecture, part discussion, with exercises and case study group activities
Design Patterns in C#
14 HoursTarget audience:
Technical Team Leaders, Software Developers
Learning objective:
The aim of this training is to develop the ability to design advanced development and project structures in C#.
Throughout the course, participants will become familiar with MSDN resources and tools that support the development process, such as Microsoft Visual Studio and ReSharper.
Design Patterns (GoF) for Java
21 HoursThis instructor-led, live training in New Zealand (online or onsite) is designed for intermediate-level Java developers who want to apply design patterns to enhance software structure, maintainability, and scalability.
By the end of this training, participants will be able to:
- Understand the purpose and benefits of design patterns.
- Effectively apply Creational, Structural, and Behavioural patterns in Java.
- Improve code reusability, scalability, and maintainability.
- Refactor existing codebases using design patterns.
Design Patterns in PHP
14 HoursThis instructor-led, live training in New Zealand (online or on-site) is designed for intermediate-level PHP developers who want to apply design patterns effectively in their projects.
By the end of this training, participants will be able to:
- Understand the purpose and benefits of design patterns.
- Identify and implement appropriate design patterns for common scenarios.
- Structure PHP applications using industry-recognised best practices.
- Integrate patterns into modern frameworks such as Symfony or Zend.
Fintech: A Practical Introduction for Managers
14 HoursIn this live, instructor-led training in New Zealand, participants will gain a clear understanding of the technologies, methods, and mindset required to implement a Fintech strategy.
This course is designed for managers who need to develop a holistic view of Fintech, cut through the hype and jargon, and take concrete first steps toward adopting new technologies relevant to financial businesses and services.
By the end of this training, participants will be able to
- Present viable Fintech strategies tailored to their organisation.
- Understand and explain the role and functionality of key technologies.
- Develop an action plan for introducing new technologies in a structured, step-by-step manner.
Insurance in the Digital Era
14 HoursInsurance in the Digital Era offers a practical overview of how digital transformation is reshaping products, operations, and customer engagement across the insurance sector.
This instructor-led, live training (delivered online or on-site) is designed for intermediate-level insurance professionals seeking to understand and apply digital technologies, data-driven strategies, and innovation frameworks to modernise insurance offerings and operations.
By the end of this training, participants will be able to:
- Explain the role of AI, Big Data, IoT, and automation in modern insurance workflows.
- Identify InsurTech trends and understand their impact on the broader insurance ecosystem.
- Design customer-centric strategies powered by digital tools and data-driven insights.
- Apply data-driven approaches to risk management and decision-making.
- Develop an innovation and change management approach tailored for insurers.
- Assess real-world case studies and translate key lessons into local initiatives.
Course Format
- Interactive lectures and discussions.
- Case study analysis and collaborative group workshops.
- Practical exercises and action planning tailored to participants' organisations.
Course Customisation Options
- To request a customised training session for this course, please contact us to arrange.
IREB CPRE – Foundation Level (Extended): Practical Requirements Engineering and Certification Preparation
14 HoursRequirements Engineering (RE) is a key discipline within software and systems development, focused on identifying, documenting, and managing the needs and constraints of stakeholders to ensure project success.
This instructor-led, live training (online or on-site) is aimed at intermediate-level professionals who wish to deepen their understanding of practical Requirements Engineering while preparing for the IREB CPRE – Foundation Level certification exam.
Upon completion of this training, participants will be able to:
- Understand and apply the key concepts and terminology defined by the IREB CPRE Foundation syllabus.
- Identify and elicit requirements using effective and context-appropriate techniques.
- Model, document, and validate requirements for real-world projects.
- Manage requirements changes, traceability, and prioritisation throughout the project lifecycle.
- Use Requirements Engineering tools and best practices to enhance communication and project outcomes.
- Be fully prepared to sit and pass the IREB CPRE – Foundation Level certification exam.
Course Format
- Interactive lectures and discussions.
- Case-based exercises and collaborative workshops.
- Exam preparation sessions and practice questions.
Course Customisation Options
- Additional modules or industry-specific case studies can be added on request.
JavaScript - Advanced Programming
14 HoursThis training is designed for JavaScript developers responsible for designing and implementing advanced web applications. The topics covered aim to introduce best practices in JavaScript programming and highlight common pitfalls. A key focus of the course is exploring object-oriented programming concepts within JavaScript syntax.
Kubernetes Design Patterns
21 HoursThe evolution of microservices and containers in recent years has significantly transformed how we design, develop, deploy, and operate software. Modern applications must be optimised for scalability, elasticity, resilience to failure, and adaptability to change. Driven by these evolving demands, contemporary architectures require a distinct set of patterns and practices. In this training, we explore ways to identify, understand, and adapt to these new requirements.
Audience
This training is designed for individuals who are already somewhat familiar with container technology and Kubernetes concepts but may lack hands-on, real-world experience. Grounded in real-world use cases and lessons learned from actual projects, the course aims to inspire participants to create and manage even better cloud-native applications.
- Developers
- Operations
- DevOps
- QA Engineers
- IT Project Managers
Course Format
- Interactive lectures and discussions
- Abundant exercises and practical practice
- Hands-on implementation in a live-lab environment
Course Customisation Options
- To request a customised version of this training, please contact us to arrange.
Kubernetes Design Patterns and Extensions
14 HoursKubernetes is an open-source platform for automating all development stages of containerised applications. Design patterns are iterative solutions to software development problems relevant to software design. Kubernetes extensions are used to configure and support Kubernetes clusters. With the aid of Kubernetes design patterns and extensions, platform users can implement CI/CD approaches while maintaining the scalability and flexibility of their software applications.
This instructor-led, live training (delivered online or on-site) is designed for developers and DevOps engineers who wish to leverage Kubernetes design patterns and extensions to build enterprise applications on Kubernetes clusters.
By the end of this training, participants will be able to:
- Set up a Kubernetes cluster and configure the necessary DevOps tools.
- Understand the fundamentals of software design patterns and Kubernetes extensions.
- Utilise Kubernetes extensions and design patterns when interacting with the Kubernetes API.
- Develop custom Kubernetes resources and apply dynamic controllers to a cluster.
- Manage and secure any Kubernetes environment with the help of Kubernetes plugins.
- Integrate DevOps networking models into existing and prospective Kubernetes projects.
Course Format
- Interactive lectures and discussions.
- Abundant exercises and practice opportunities.
- Hands-on implementation in a live-lab environment.
Course Customisation Options
- To request a customised training session for this course, please contact us to arrange.
Model Based Development for Embedded Systems
21 HoursModel-Based Development (MBD) is a software development methodology that enables faster, more cost-effective development of dynamic systems such as control systems, signal processing, and communication systems. It relies on graphical modelling rather than traditional text-based programming.
In this instructor-led, live training, participants will learn how to apply MBD methodologies to reduce development costs and accelerate the time to market for their embedded software products.
By the end of this training, participants will be able to
- Select and utilise the right tools for implementing MBD.
- Use MBD to carry out rapid development in the early stages of their embedded software project.
- Shorten the time to market for their embedded software releases.
Course format
- Part lecture, part discussion, exercises and extensive hands-on practice
Microservice Patterns: Migrating from a Monolithic to a Microservice Architecture with .Net
14 HoursMicroservice architecture is an approach to developing a software application as a suite of small, independent services, each running in its own process and communicating via lightweight mechanisms such as an HTTP resource API. These services can be efficiently deployed using continuous automation systems, eliminating the need for centralised management. Microservices can be written in different programming languages and integrate with diverse data storage systems.
This instructor-led, live training is designed for enterprise developers and architects. It introduces microservice architecture from a .Net perspective, outlines migration strategies from monolithic systems, and guides participants through creating and deploying a sample microservice-based application.
By the end of this training, participants will be able to:
- Understand when to use and when not to use microservice architecture
- Create and implement a testing strategy for microservices
- Deploy a sample microservice-based application into a production environment
- Refactor a monolithic application into services
Audience
- Developers
- Architects
Course format
- Part lecture, part discussion, with exercises and extensive hands-on practice
Requirements Analysis
21 HoursThis instructor-led, live training in New Zealand (online or on-site) is designed for individuals who wish to understand requirements analysis and carry it out efficiently and accurately using proven analysis techniques for their projects.
By the end of this training, participants will be able to:
- Identify different types of requirements.
- Understand the overarching concepts and activities involved in requirements analysis.
- Gain familiarity with requirements analysis methodology.
- Leverage various requirements analysis techniques to their advantage.
- Structure requirements to communicate effectively with architects and developers through an iterative requirement gathering process.
Software Engineering, Requirements Engineering and Testing
63 HoursThis programme equips participants with the core principles and practical applications of software engineering, requirements engineering, and testing through immersive, hands-on learning experiences.