Object Oriented Design using Design Patterns Training Course
Objective:
To assist Technical Analysts and Designers in understanding the process of software implementation, ensuring that there is a clear traceability between business specifications and the final software code.
This two-day training course is designed to help technical analysts and designers translate the specifications provided by business analysts into detailed software component designs. Once these specifications are transformed into software components, they ensure that system requirements are accurately traced through to the structure of the software components.
Ultimately, 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, as they allow for tracing system behaviors layer by layer—from user interfaces down to business objects, through the application components where actor usage choices are stored.
This course is available as onsite live training in Taiwan 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 proven patterns that are readily accessible to everyone. Often, it involves adapting names and implementing these patterns within specific technologies. This approach can save hundreds of hours that would otherwise be spent on design and testing. Training Objectives: This course aims to achieve two objectives: first, to enable you to leverage well-known patterns; second, to facilitate the creation and reuse of organization-specific patterns. It assists in estimating how patterns can cut costs, streamline the design process, and establish a code framework based on your patterns. Target Audience: Software designers, business analysts, project managers, programmers, developers, operational managers, and software division managers. Course Style: The course emphasizes use cases and their connection to specific patterns. Most examples are illustrated using UML and simple Java examples (the programming language can be adjusted if the course is booked as a private session). It also guides you through the origins of these patterns and how to catalog and document them for reuse within your organization.
Insurtech: A Practical Introduction for Managers
14 HoursInsurtech, or Digital Insurance, represents the integration of insurance with cutting-edge technologies. In this domain, "digital insurers" leverage technological innovations to streamline their business and operational models, aiming to cut costs, enhance customer experiences, and boost operational agility.
This instructor-led training equips participants with a comprehensive understanding of the technologies, methodologies, and mindset required for digital transformation within their organizations and across the industry. The training is designed for managers who need an overarching view to separate fact from hype, demystify jargon, and take initial steps in formulating an Insurtech strategy.
By the end of this training, participants will be able to:
- Engage in intelligent and systematic discussions about Insurtech and its various components.
- Clearly identify and understand the role of each key technology within Insurtech.
- Develop a general strategy for implementing Insurtech within their organization.
Audience
- Insurance companies
- Technologists in the insurance sector
- Insurance stakeholders
- Consultants and business analysts
Format of the course
- A combination of lectures, discussions, exercises, and group activities centered around case studies.
Design Patterns in C#
14 HoursTarget group:
Technical Team Leader, Software Developer
Learning objective:
The goal of this training is to equip participants with the skills needed to design advanced 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 Taiwan (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 Taiwan (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 Taiwan, 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 both online and onsite) is designed for intermediate-level insurance professionals who wish to understand and apply digital technologies, data-driven strategies, and innovation frameworks to modernize their 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 contemporary insurance workflows.
- Identify InsurTech trends and their impact on the insurance ecosystem.
- Develop customer-centric strategies using digital tools and data insights.
- Apply data-driven methods to risk management and decision-making processes.
- Formulate an innovation and change management approach tailored for insurers.
- Analyze real-world case studies and translate the lessons learned into 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 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, dedicated to identifying, documenting, and managing stakeholder needs and constraints to ensure project success.
This instructor-led, live training (available online or onsite) is designed for intermediate-level professionals who wish 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 requirement changes, traceability, and prioritization throughout the project lifecycle.
- Utilize Requirements Engineering tools and best practices to enhance communication and 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 web applications. The course covers best practices in JavaScript programming, emphasizing common pitfalls to avoid. A key aspect of the training is exploring object-oriented programming techniques using JavaScript's syntax.
Kubernetes Design Patterns
21 HoursThe development of microservices and containers over recent years has profoundly transformed the way we design, develop, deploy, and manage software. Contemporary applications must be optimized for scalability, elasticity, resilience, and adaptability. These evolving demands have necessitated a new set of architectural patterns and practices. In this training, we explore methods to identify, comprehend, and adapt to these emerging requirements.
Audience
This training is designed for individuals who have some familiarity with container technology and Kubernetes concepts but may lack practical experience. It is grounded in real-world use cases and lessons learned from actual projects, aiming to inspire participants to create and manage more effective cloud-native applications.
- Developers
- Operations Teams
- DevOps Engineers
- QA Engineers
- IT Project Managers
Format of the Course
- Interactive lectures and discussions
- Extensive exercises and hands-on practice
- Practical implementation in a live-lab environment
Course Customization Options
- For customized training tailored to your specific needs, please contact us to arrange.
Kubernetes Design Patterns and Extensions
14 HoursKubernetes is an open-source platform designed to automate the development stages of containerized applications. Design patterns offer repeatable 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 on-site) is targeted at 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 required DevOps tools.
- Grasp the basics of software design patterns and Kubernetes extensions.
- Use Kubernetes extensions and design patterns when working with the Kubernetes API.
- Create customized Kubernetes resources and implement dynamic controllers in a cluster.
- Manage and secure any Kubernetes environment using Kubernetes plugins.
- Integrate DevOps networking models into existing and new Kubernetes projects.
Format of the Course
- Interactive lecture and discussion sessions.
- Ample exercises and hands-on practice.
- Practical 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 methodology that accelerates the development of dynamic systems, such as control systems, signal processing, and communication systems, by using graphic modeling instead of 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.
- Apply MBD to achieve rapid development in the early stages of their embedded software projects.
- Accelerate the release of their embedded software into the market.
Format of the course
- 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 developing software applications as a collection of small, self-contained services. Each service operates independently within its own process and communicates through lightweight mechanisms like HTTP resource APIs. These services can be efficiently deployed using continuous automation systems, eliminating the need for centralized management. Microservices can be developed using different programming languages and integrated with various 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, explores strategies for transitioning 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:
- Determine when it is appropriate to use 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 smaller, independent services
Audience
- Developers
- Architects
Format of the course
- Combination of lecture, discussion, exercises, and extensive hands-on practice
Requirements Analysis
21 HoursThis instructor-led, live training in Taiwan (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 hands-on experience in understanding the core principles and practical applications of software engineering, requirements engineering, and testing.