Object Oriented Design using Design Patterns Training Course
Objective:
Assisting Technical Analysts and Designers in understanding how to navigate the software implementation process, ensuring clear traceability between business requirements and the final software code.
This two-day training course is designed to help technical analysts and designers effectively translate the specifications provided by business analysts into detailed technical designs. These designs are then transformed into software component representations, ensuring that system components accurately reflect the initial business requirements.
Ultimately, these technical specifications are implemented in software code and rigorously tested on a component-by-component basis. The resulting software components offer high responsiveness to changes, as they enable the tracing of system behaviors layer by layer—from user interfaces through application components to business objects—ensuring that each step is meticulously documented and aligned with the original requirements.
This course is available as onsite live training in Norway or online live training.Course Outline
Introduction
- What is the System Analysis and Design Process?
- Place of the Analysis and Design activities in the Unified Process (RUP)
- A panorama of UML 2 diagrams used in the system analysis and design
- Frameworks for tracing requirements toward software implementation and tests
How to transform requirements into component based analysis specifications?
- Traceability between requirements and system analysis
- Advanced notions for representing the system structure and dynamics
- Refinement of the requirements on both axis
- Toward the system design using operation contracts
- Case Study : Definition of the analysis component model of the system
How to transform analysis specifications into design level ones?
- Traceability between system analysis and design
- Design Patterns for loose coupling and high cohesion of components
- Definition of the Design level Architectural Backbone of the system (components, ports, interfaces, exchange objects)
- Design level interaction diagrams to implement operation contracts
- Case Study : Updating design level component diagram with architectural choices
Implementing technical specifications and testing on a component basis
- Generating design level specifications into an object oriented programming language
- Deployment of Components on the Physical Nodes
- Integration and Acceptance tests on the basis of the previous specifications
Conclusion
- Steps of the system analysis and design processes
- Patterns for ensuring traceability between requirements and the software code
- Testing requirements on the system architecture
Notice: The above training-mentoring sessions are conducted interactively using Requirement Engineering and Modeling tools in order to ensure good level of traceability between requirements and underlying solutions. Concepts are explained first using basic examples and are then followed by solution drafts to your own issues. After this session, we can accompany you by reviewing and validating your solutions depending on 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
Upcoming Courses
Related Courses
Design Patterns
14 HoursThere are numerous well-established patterns that are readily accessible to everyone. Often, it involves adapting these patterns by changing their names or implementing them in a particular technology. This approach can save hundreds of hours that would otherwise be spent on design and testing. Training Objectives: The course aims to achieve two primary goals—firstly, enabling you to leverage widely recognized patterns; secondly, facilitating the creation and reuse of organization-specific patterns. It also aids in assessing how patterns can cut costs, streamline the design process, and produce a code framework based on your chosen patterns. Target Audience: This course is designed for software designers, business analysts, project managers, programmers, developers, operational managers, and software division managers. Course Format: The curriculum emphasizes use cases and their connection to specific patterns. Most examples are illustrated using UML diagrams and straightforward Java examples (the programming language can be adjusted if the course is booked as a private session). It also walks you through identifying pattern sources and cataloging and describing patterns for reuse within your organization.
Insurtech: A Practical Introduction for Managers
14 HoursInsurtech, also known as Digital Insurance, represents the integration of insurance with cutting-edge technologies. In this field, "digital insurers" leverage technological innovations to optimize their business and operational models, aiming to reduce costs, enhance customer experiences, and increase operational agility.
This instructor-led training is designed to provide participants with a comprehensive understanding of the technologies, methods, and mindset required for digital transformation within their organizations and across the industry. The course is specifically targeted at managers who need to grasp the broader picture, demystify the hype and technical jargon, and take initial steps in formulating an Insurtech strategy.
By the end of this training, participants will be able to:
- Discuss Insurtech and its various components with intelligence and a systematic approach.
- Identify and clarify the role of each key technology within Insurtech.
- Develop a general strategy for implementing Insurtech within their organization.
Audience
- Insurers
- Technologists in the insurance sector
- Insurance stakeholders
- Consultants and business analysts
Format of the course
- A combination of lectures, discussions, exercises, and group activities based on case studies.
Design Patterns in C#
14 HoursTarget group:
Technical Team Leader, Software Developer
Learning objective:
The aim of this training is to equip participants with the skills needed to design sophisticated development and project structures in C#.
Throughout the course, students will become acquainted 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 Norway (online or onsite) is aimed at intermediate-level Java developers who wish to apply design patterns to improve software structure, maintainability, and scalability.
By the end of this training, participants will be able to:
- Understand the purpose and benefits of design patterns.
- Apply Creational, Structural, and Behavioral patterns effectively 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 Norway (online or onsite) is aimed at intermediate-level PHP developers who wish 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-recognized best practices.
- Integrate patterns into modern frameworks such as Symfony or Zend.
Fintech: A Practical Introduction for Managers
14 HoursIn this instructor-led, live training in Norway, participants will gain an understanding of the technologies, methods and mindset needed to implement a Fintech strategy.
This training is aimed at managers who need to gain a "big picture" understanding of Fintech, break down the hype and jargon, and take tangible first steps towards the adoption of new technologies applicable to financial business and services.
By the end of this training, participants will be able to
- Present viable Fintech strategies for their organization.
- Understand and explain the role and functionality of key technologies.
- Draft an action plan for introducing new technologies in step-by-step fashion.
Insurance in the Digital Era
14 HoursInsurance in the Digital Era provides an applied overview of how digital transformation is reshaping products, operations, and customer engagement within the insurance industry.
This instructor-led, live training (available online or on-site) is designed for intermediate-level insurance professionals who wish to understand and implement digital technologies, data-driven strategies, and innovation frameworks to modernize insurance offerings and operations.
By the end of this training, participants will be able to:
- Explain how AI, Big Data, IoT, and automation are transforming modern insurance workflows.
- Identify key InsurTech trends and their impact on the insurance ecosystem.
- Develop customer-centric strategies using digital tools and data insights.
- Apply data-driven approaches to risk management and decision-making.
- Formulate an innovation and change management approach tailored for insurers.
- Analyze real-world case studies and apply the lessons learned to local initiatives.
Format of the Course
- Interactive lectures and discussions.
- Case study analysis and group workshops.
- Practical exercises and action planning for participants' organizations.
Course Customization Options
- To request a customized training program 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 crucial discipline in software and systems development, focusing on identifying, documenting, and managing stakeholder needs and constraints to ensure the success of projects.
This instructor-led, live training (available online or onsite) is designed for intermediate-level professionals who aim to deepen their understanding of practical Requirements Engineering while preparing for the IREB CPRE – Foundation Level certification exam.
Upon completing this training, participants will be able to:
- Understand and apply the key concepts and terminology outlined in the IREB CPRE Foundation syllabus.
- Identify and elicit requirements using effective and contextually appropriate techniques.
- Model, document, and validate requirements for real-world projects.
- Manage changes to requirements, ensure traceability, and prioritize them throughout the project lifecycle.
- Utilize Requirements Engineering tools and best practices to enhance communication and improve project outcomes.
- Be fully prepared to take and pass the IREB CPRE – Foundation Level certification exam.
Format of the Course
- Interactive lectures and discussions.
- Case-based exercises and collaborative workshops.
- Exam preparation sessions and practice questions.
Course Customization Options
- Additional modules or industry-specific case studies can be included upon request.
JavaScript - Advanced Programming
14 HoursThis training is tailored for JavaScript developers who are focused on designing and implementing advanced internet applications. The course delves into best practices in JavaScript programming and highlights the most common pitfalls. A key aspect of the training is the exploration of object-oriented programming within the context of JavaScript syntax.
Kubernetes Design Patterns
21 HoursThe development of microservices and containers over recent years has profoundly transformed the way we design, develop, deploy, and operate software. Modern applications must be optimized for scalability, flexibility, resilience, and adaptability. These evolving demands necessitate a new set of patterns and practices in modern architectures. In this training, we explore methods to identify, understand, and adapt to these new requirements.
Audience
This training is designed for individuals who have some familiarity with container technology and Kubernetes concepts but may lack real-world experience. It draws on practical use cases and lessons learned from actual projects, aiming to inspire participants to create and manage more efficient cloud-native applications.
- Developers
- Operations Teams
- DevOps Engineers
- QA Engineers
- IT Project Managers
Format of the Course
- Interactive lectures and discussions
- Extensive exercises and practice sessions
- Hands-on implementation in a live-lab environment
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Kubernetes Design Patterns and Extensions
14 HoursKubernetes is an open-source platform designed to automate all stages of development for containerized applications. Design patterns offer reusable solutions to common software design challenges. Kubernetes extensions are used to configure and support Kubernetes clusters. By leveraging Kubernetes design patterns and extensions, users can implement CI/CD practices while ensuring the scalability and flexibility of their software applications.
This instructor-led, live training (available online or onsite) is tailored for developers and DevOps engineers who aim to utilize 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.
- Grasp the basics of software design patterns and Kubernetes extensions.
- Use Kubernetes extensions and design patterns effectively when interacting with the Kubernetes API.
- Create customized Kubernetes resources and implement dynamic controllers within a cluster.
- Manage and secure any Kubernetes environment using Kubernetes plugins.
- Integrate DevOps networking models into both existing and new Kubernetes projects.
Format of the Course
- Interactive lectures and discussions.
- Plenty of exercises and practical sessions.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Model Based Development for Embedded Systems
21 HoursModel Based Development (MBD) is a software development approach that facilitates faster and more cost-effective creation of dynamic systems, including control systems, signal processing, and communication systems. This method relies on graphical modeling rather than traditional text-based programming.
In this instructor-led, live training, participants will learn how to leverage MBD methodologies to reduce development costs and expedite the time to market for their embedded software products.
By the end of this training, participants will be able to
- Select and use the appropriate tools for implementing MBD.
- Utilize MBD to accelerate development in the early stages of their embedded software projects.
- Speed up the release of their embedded software into the market.
Course Format
- A combination of lectures, discussions, exercises, and extensive hands-on practice
Microservice Patterns: Migrating from a Monolithic to a Microservice Architecture with .Net
14 HoursMicroservice architecture is a method for building software applications as a collection of small, self-contained services, each running in its own process and communicating through lightweight mechanisms like HTTP resource APIs. These services can be deployed efficiently using continuous automation systems, eliminating the need for centralized management. Microservices can be developed using various programming languages and can integrate with different data storage systems.
This instructor-led, live training is designed for enterprise developers and architects. It provides an introduction to microservice architecture from a .Net perspective, discusses strategies for migrating from monolithic systems, and guides participants through the creation and deployment of a sample microservice-based application.
By the end of this training, participants will be able to:
- Understand when it is appropriate 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 smaller, independent services
Audience
- Developers
- Architects
Format of the course
- A combination of lectures, discussions, exercises, and extensive hands-on practice
Requirements Analysis
21 HoursThis instructor-led, live training in Norway (online or onsite) is aimed at persons who wish to understand requirements analysis and conduct requirements analysis efficiently and accurately using analysis techniques for their projects.
By the end of this training, participants will be able to:
- identify different types of requirements.
- understand the overall concepts of, and activities within, requirements analysis.
- be familiar with the requirements analysis methodology.
- use different requirements analysis techniques to their advantage.
- structure requirements in order to communicate efficiently with architects and developers through an iterative requirement gathering process.
Software Engineering, Requirements Engineering and Testing
63 HoursThis course provides practical, hands-on experience in the fundamentals and applications of software engineering, requirements engineering, and testing.