Object Oriented Design using Design Patterns Training Course
Objective:
This course is designed to help Technical Analysts and Designers understand how to translate software implementation requirements, ensuring clear traceability between business specifications and the final software code.
Over the course of two days, participants will learn to effectively design specifications outlined by business analysts. By transforming these into software component representations, the resulting system components establish a clear link from system requirements to software component structures.
Finally, these technical specifications are implemented in software code and tested at the component level. The resulting software components offer a high degree of responsiveness to changes, allowing traceability to be maintained separately down to the implementation level. This involves tracing system behaviours layer by layer, from user interfaces through business objects to application components, where the usage choices of actors are stored.
This course is available as onsite live training in Norway or online live training.Course Outline
Introduction
- Understanding the System Analysis and Design Process
- The role of Analysis and Design activities within the Unified Process (RUP)
- A comprehensive overview of UML 2 diagrams used in system analysis and design
- Frameworks for tracing requirements toward software implementation and testing
Transforming Requirements into Component-Based Analysis Specifications
- Establishing traceability between requirements and system analysis
- Advanced concepts for representing system structure and dynamics
- Refining requirements across both axes
- Moving toward system design using operation contracts
- Case Study: Defining the analysis component model of the system
Transforming Analysis Specifications into Design-Level Specifications
- Ensuring traceability between system analysis and design
- Utilizing Design Patterns to achieve loose coupling and high cohesion among components
- Defining the Design-Level Architectural Backbone of the system (including components, ports, interfaces, and exchange objects)
- Creating 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
- Conducting integration and acceptance tests based on prior specifications
Conclusion
- Key steps in the system analysis and design processes
- Patterns for maintaining traceability between requirements and software code
- Testing requirements against the system architecture
Note: The above training and mentoring sessions are conducted interactively using Requirement Engineering and Modeling tools to ensure a robust level of traceability between requirements and underlying solutions. Concepts are first introduced through basic examples and then applied to draft solutions for your specific challenges. Following this session, we can assist you further by reviewing and validating your solutions according to your specific 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 established patterns readily accessible to everyone. Often, this simply involves renaming them and implementing the pattern using a specific technology. This approach can save hundreds of hours that would otherwise be dedicated to design and testing. Training Goals This course has two main objectives: first, it enables you to reuse widely recognized patterns, and second, it empowers you to create and reuse patterns tailored to your organization. It helps you estimate how patterns can reduce costs, systematize the design process, and generate a code framework based on your patterns. Audience Software designers, business analysts, project managers, programmers and developers, as well as operational managers and software division managers. Course Style The course focuses on use cases and their relationship with a specific pattern. Most examples are explained in UML and in simple Java examples (the language can change if the course is booked as a closed course). It guides you through the sources of the patterns as well as showing you how to catalogue and describe patterns which can be reused across your organization.
Insurtech: A Practical Introduction for Managers
14 HoursInsurtech (also known as Digital Insurance) represents the convergence of the insurance industry with new technologies. Within the Insurtech sector, "digital insurers" leverage technological innovations to transform their business and operating models, aiming to reduce costs, improve customer experiences, and increase operational agility.
This instructor-led training will help participants understand the technologies, methods, and mindsets required to drive digital transformation within their organizations and across the broader industry. The course is specifically designed for managers who need a comprehensive overview, want to cut through the hype and jargon, and are ready to take initial steps toward establishing an Insurtech strategy.
Upon completion of this training, participants will be able to:
- Discuss Insurtech and its various components intelligently and systematically
- Identify and demystify the role of each key technology within Insurtech.
- Draft a general strategy for implementing Insurtech within their organization
Audience
- Insurance professionals
- Technologists working within the insurance industry
- Insurance stakeholders
- Consultants and business analysts
Course Format
- A blend of lectures, discussions, exercises, and case study group activities
Design Patterns in C#
14 HoursTarget audience:
Technical Team Leads, Software Developers
Learning objectives:
This training aims to equip participants with the skills necessary to design advanced development and project structures in C#.
Throughout the course, students will become proficient with MSDN resources and essential development tools, such as Microsoft Visual Studio and ReSharper, to streamline the development workflow.
Design Patterns (GoF) for Java
21 HoursThis instructor-led, live training in Norway (online or onsite) targets 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 perspective on how digital transformation is reshaping products, operations, and customer engagement within the insurance sector.
This instructor-led live training, available online or onsite, targets intermediate-level insurance professionals eager to understand and apply digital technologies, data-driven strategies, and innovation frameworks to modernize insurance offerings and operations.
Upon completion 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 their impact on the insurance ecosystem.
- Design customer-centric strategies enabled by digital tools and data insights.
- Apply data-driven approaches to risk management and decision making.
- Develop an innovation and change management approach suitable for insurers.
- Assess real-world case studies and translate lessons into local initiatives.
Format of the Course
- Interactive lecture and discussion.
- Case study analysis and group workshops.
- Practical exercises and action planning for participants’ organizations.
Course Customization Options
- To request a customized training 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 pivotal discipline within the software and systems development sector, dedicated to identifying, documenting, and managing stakeholder needs and constraints to guarantee project success.
This instructor-led, live training (available online or onsite) targets intermediate-level professionals eager to deepen their practical grasp of Requirements Engineering while preparing for the IREB CPRE – Foundation Level certification exam.
Upon completion of this training, participants will be able to:
- Grasp and apply the core concepts and terminology outlined in the IREB CPRE Foundation syllabus.
- Identify and elicit requirements using effective, context-specific techniques.
- Model, document, and validate requirements for real-world projects.
- Manage requirements changes, traceability, and prioritization throughout the project lifecycle.
- Leverage Requirements Engineering tools and best practices to improve communication and project outcomes.
- Feel fully prepared to take and pass the IREB CPRE – Foundation Level certification exam.
Course Format
- Interactive lectures and discussions.
- Case-based exercises and collaborative workshops.
- Dedicated exam preparation sessions and practice questions.
Course Customization Options
- Additional modules or industry-specific case studies can be incorporated upon request.
JavaScript - Advanced Programming
14 HoursThis course is tailored for JavaScript developers who are designing and implementing sophisticated Internet applications. The curriculum focuses on conveying best practices in JavaScript programming while highlighting common pitfalls. A key component of the training is an in-depth discussion on applying object-oriented programming principles using JavaScript syntax.
Kubernetes Design Patterns
21 HoursThe recent advancements in microservices and container technologies have profoundly transformed the landscape of software design, development, deployment, and operation. Today's applications need to be optimized for scalability, elasticity, resilience, and adaptability. To meet these evolving demands, modern architectures require a distinct set of patterns and best practices. This course explores strategies to identify, comprehend, and adapt to these new challenges.
Target Audience
This training is designed for individuals who possess a foundational understanding of container technology and Kubernetes concepts but may lack extensive practical experience. Rooted in use cases and insights derived from real-world projects, the course aims to inspire participants to design and manage superior cloud-native applications.
- Developers
- Operations Staff
- DevOps Engineers
- QA Engineers
- IT Project Managers
Course Format
- Interactive lectures and discussions
- Extensive exercises and hands-on practice
- Practical implementation within a live-lab environment
Customization Options
- For customized training arrangements, please contact us.
Kubernetes Design Patterns and Extensions
14 HoursKubernetes is an open-source platform for automating all development stages of containerized applications. Design patterns are iterable solutions to software development problems pertinent to software design. Kubernetes extensions are utilized for configuring and supporting Kubernetes clusters. With the help of Kubernetes design patterns and extensions, users of the platform can achieve CI/CD approaches while maintaining scalability and flexibility of software applications.
This instructor-led, live training (online or onsite) is aimed at developers and DevOps engineers who wish to leverage Kubernetes design patterns and extensions to create 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.
- Utilize Kubernetes extensions and design patterns when interacting with Kubernetes API.
- Develop customized 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 to existing and prospective Kubernetes projects.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- 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-efficient creation of dynamic systems, including control, signal processing, and communication systems. It shifts the focus from traditional text-based programming to graphical modeling.
Through this instructor-led live training, participants will learn how to apply MBD methodologies to lower development costs and accelerate the time to market for their embedded software products.
Upon completion of this training, participants will be able to:
- Select and effectively use the appropriate tools for implementing MBD.
- Apply MBD to enable rapid development during the early phases of an embedded software project.
- Reduce the time required to release embedded software to the market.
Course Format
- A blend of lectures, discussions, exercises, and extensive hands-on practice.
Microservice Patterns: Migrating from a Monolithic to a Microservice Architecture with .Net
14 HoursMicroservice architecture represents an approach to software development where an application is built as a collection of small, independent services. Each service operates in its own process and communicates via lightweight mechanisms, such as HTTP resource APIs. This architecture allows for efficient deployment through continuous automation systems, reducing the need for centralized management. Additionally, microservices can be developed using various programming languages and integrated with diverse data storage solutions.
This instructor-led, live training is designed for enterprise developers and architects. It introduces microservice architecture from a .Net perspective, outlines strategies for migrating from monolithic systems, and guides participants through the creation and deployment of a sample microservice-based application.
Upon completing this training, participants will be able to:
- Determine when to adopt or avoid microservice architecture
- Develop and implement a testing strategy for microservices
- Deploy a sample microservice-based application into a production environment
- Refactor a monolithic application into separate services
Audience
- Developers
- Architects
Course Format
- 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 designed for individuals who wish to understand requirements analysis and carry it out efficiently and accurately by applying analysis techniques to their projects.
By the end of this training, participants will be able to:
- Identify different types of requirements.
- Understand the overall concepts and activities involved in requirements analysis.
- Gain familiarity with the requirements analysis methodology.
- Utilize various requirements analysis techniques to their advantage.
- Structure requirements to communicate effectively with architects and developers via an iterative requirement gathering process.
Software Engineering, Requirements Engineering and Testing
63 HoursThrough practical, hands-on exercises, this course explores the core principles and real-world applications of software engineering, requirements engineering, and testing.