Object Oriented Design using Design Patterns Training Course
Objective:
This course is designed to empower Technical Analysts and Designers with the knowledge to navigate the software implementation of requirements, ensuring clear traceability between business specifications and the resulting software code.
Spanning two days, this training assists technical analysts and designers in crafting specifications as described by business analysts. Once these are transformed into software component representations, the resulting system components map system requirements to software component structures.
Ultimately, these technical specifications are realized in software code and tested on a component basis. The resulting software components offer a high degree of adaptability to change, allowing for distinct traceability from the implementation level up through the system's behavioral layers—ranging from user interfaces to business objects, and through application components where actor usage choices are recorded.
This course is available as onsite live training in Taiwan 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)
- An overview of UML 2 diagrams utilized 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
- Proceeding to system design via operation contracts
- Case Study: Defining the system's analysis component model
Transforming Analysis Specifications into Design-Level Specifications
- Ensuring traceability between system analysis and design
- Applying Design Patterns for loose coupling and high cohesion of components
- Defining the Design-Level Architectural Backbone of the system (components, ports, interfaces, exchange objects)
- Creating design-level interaction diagrams to implement operation contracts
- Case Study: Updating design-level component diagrams with architectural decisions
Implementing Technical Specifications and Testing on a Component Basis
- Translating design-level specifications into an object-oriented programming language
- Deploying components on physical nodes
- Conducting integration and acceptance tests based on prior specifications
Conclusion
- Key steps in the system analysis and design process
- Patterns for maintaining traceability between requirements and software code
- Testing requirements against the system architecture
Note: These interactive training and mentoring sessions utilize Requirement Engineering and Modeling tools to ensure robust traceability between requirements and underlying solutions. Concepts are first introduced through basic examples, followed by tailored solution drafts addressing your specific challenges. Following the 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
Upcoming Courses
Related Courses
Design Patterns
14 HoursNumerous proven and reliable patterns are widely accessible. Often, the process involves adapting their names and applying them within a specific technological context. This approach can save hundreds of hours that would otherwise be consumed by design and testing efforts. Training Goals This course aims to achieve two primary objectives: first, it enables you to leverage well-known patterns; second, it empowers you to develop and reuse patterns tailored to your organization. It assists you in estimating how patterns can lower costs, systematize the design process, and generate a code framework based on your customized patterns. Audience Software designers, business analysts, project managers, programmers, developers, operational managers, and software division managers. Course Style The course emphasizes 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 sources of the patterns as well as shows you how to catalogue and describe patterns for reuse across your organization.
Insurtech: A Practical Introduction for Managers
14 HoursInsurtech, also known as Digital Insurance, represents the integration of insurance services with emerging technologies. Within this domain, "digital insurers" leverage technological innovations to reshape their business and operational models, aiming to reduce costs, enhance customer experiences, and increase operational agility.
Through this instructor-led training, participants will develop a comprehensive understanding of the technologies, methodologies, and mindsets required to drive digital transformation within their organizations and across the broader industry. This course is designed for managers who seek a holistic overview, wish to cut through industry hype and jargon, and need guidance on taking initial steps toward formulating an Insurtech strategy.
Upon completing this training, participants will be equipped to:
- Discuss Insurtech and its various components with clarity and systematic insight
- Identify and demystify the role of each critical technology within the Insurtech ecosystem
- Develop a general strategy for implementing Insurtech solutions within their organization
Target Audience
- Insurance professionals
- Technologists working within the insurance sector
- Key stakeholders in the insurance industry
- Consultants and business analysts
Course Format
- A blend of lectures, discussions, exercises, and case-study-based group activities
Design Patterns in C#
14 HoursTarget audience:
Technical Team Leaders, Software Developers
Learning objectives:
This training aims to equip participants with the skills to design advanced development and project structures in C#.
Throughout the course, students will become familiar with MSDN resources and development support tools, such as Microsoft Visual Studio and ReSharper.
Design Patterns (GoF) for Java
21 HoursThis instructor-led live training in Taiwan (online or onsite) is designed for intermediate-level Java developers who want to utilize 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) targets 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 develop a comprehensive understanding of the technologies, methodologies, and mindset required to execute a Fintech strategy.
This training is designed for managers who need to grasp the "big picture" of Fintech, cut through the hype and jargon, and take concrete first steps toward adopting new technologies applicable to financial businesses and services.
Upon completion of this training, participants will be able to
- Present feasible Fintech strategies for their organization.
- Understand and articulate the role and functionality of key technologies.
- Develop a step-by-step action plan for introducing new technologies.
Insurance in the Digital Era
14 HoursInsurance in the Digital Era provides a practical overview of how digital transformation is reshaping products, operations, and customer engagement within the insurance industry.
This instructor-led live training, available online or onsite, is designed for intermediate-level insurance professionals who want 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 modern insurance workflows.
- Identify InsurTech trends and how they affect 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) stands as a cornerstone discipline in software and systems development, concentrating on the identification, documentation, and management of stakeholder needs and constraints to guarantee project success.
This instructor-led live training, available either online or onsite, targets intermediate-level professionals eager to deepen their grasp of practical Requirements Engineering while preparing for the IREB CPRE – Foundation Level certification exam.
Upon completing this training, participants will be capable of:
- Understanding and applying the core concepts and terminology outlined in the IREB CPRE Foundation syllabus.
- Identifying and eliciting requirements using effective, context-appropriate techniques.
- Modeling, documenting, and validating requirements for real-world projects.
- Managing requirements changes, traceability, and prioritization throughout the project lifecycle.
- Utilizing Requirements Engineering tools and best practices to improve communication and project outcomes.
- Fully preparing to take 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 Customization Options
- Additional modules or industry-specific case studies can be added upon request.
JavaScript - Advanced Programming
14 HoursThis training is tailored for JavaScript developers aiming to design and implement sophisticated web applications. The course focuses on sharing best practices in JavaScript programming while highlighting frequent pitfalls. A key aspect of the training involves exploring object-oriented programming concepts within the JavaScript syntax.
Kubernetes Design Patterns
21 HoursThe rapid advancement of microservices and container technologies in recent years has fundamentally transformed how we design, develop, deploy, and operate software. Today's applications must be optimized for scalability, elasticity, resilience, and adaptability. To meet these evolving demands, modern architectures necessitate a distinct set of patterns and practices. This training explores strategies to identify, comprehend, and adapt to these new requirements.
Target Audience
This course is designed for individuals who possess a foundational understanding of container technology and Kubernetes concepts but may lack extensive practical experience. Drawing on use cases and lessons learned from real-world projects, the training aims to inspire participants to create 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 in a live laboratory environment
Course Customization Options
- For inquiries regarding customized training for this course, please contact us to make arrangements.
Kubernetes Design Patterns and Extensions
14 HoursKubernetes is an open-source platform designed to automate every stage of the development lifecycle for containerized applications. Design patterns serve as iterative solutions to common software development challenges, particularly those related to software architecture. Extensions in Kubernetes are employed to configure and support Kubernetes clusters effectively. By leveraging Kubernetes design patterns and extensions, users can implement Continuous Integration and Continuous Delivery (CI/CD) practices while preserving the scalability and flexibility of their software applications.
This instructor-led live training, available online or on-site, is tailored for developers and DevOps engineers who aim to utilize Kubernetes design patterns and extensions to build enterprise-grade applications on Kubernetes clusters.
Upon completion of this training, participants will be able to:
- Establish a Kubernetes cluster and configure essential DevOps tools.
- Grasp the core concepts of software design patterns and Kubernetes extensions.
- Apply Kubernetes extensions and design patterns when interacting with the Kubernetes API.
- Develop customized Kubernetes resources and apply dynamic controllers within a cluster.
- Manage and secure Kubernetes environments using Kubernetes plugins.
- Integrate DevOps networking models into both current and future Kubernetes projects.
Format of the Course
- Interactive lectures and discussions.
- Extensive exercises and hands-on practice.
- Practical implementation within a live laboratory environment.
Course Customization Options
- To request 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 enables faster, more cost-effective development of dynamic systems such as control systems, signal processing, and communication systems. It relies on graphic modeling rather than the 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 of their embedded software products.
By the end of this training, participants will be able to
- Select and utilize the right tools for implementing MBD.
- Use MBD to carry out rapid development in the early stages of their embedded software project.
- Shorten the release of their embedded software into the market.
Format of the course
- Part lecture, part discussion, exercises, and heavy hands-on practice
Microservice Patterns: Migrating from a Monolithic to a Microservice Architecture with .Net
14 HoursMicroservice architecture is a development approach that structures a software application as a collection of small, independent services. Each service operates within its own process and communicates via lightweight mechanisms, such as HTTP resource APIs. These services can be efficiently deployed using continuous automation tools, eliminating the need for centralized management. Additionally, microservices can be developed in various programming languages and integrated with different 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 the creation and deployment of a sample microservice-based application.
By the end of this training, participants will be able to:
- Determine when to apply or avoid microservice architecture
- Design and implement a testing strategy for microservices
- Deploy a sample microservice-based application to a production environment
- Refactor a monolithic application into distinct services
Audience
- Developers
- Architects
Format of the course
- A blend of lectures, discussions, exercises, and extensive hands-on practice
Requirements Analysis
21 HoursThis instructor-led, live training in Taiwan (online or on-site) is designed for individuals who wish to understand requirements analysis and execute it 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 overarching concepts and activities within requirements analysis.
- Become familiar with the requirements analysis methodology.
- Utilize various requirements analysis techniques to their benefit.
- Structure requirements to communicate effectively with architects and developers through an iterative requirement gathering process.
Software Engineering, Requirements Engineering and Testing
63 HoursThis course illustrates the core principles and practical applications of software engineering, requirements engineering, and testing through hands-on exercises.