Object Oriented Design using Design Patterns Training Course
Objective:
Helping Technical Analysts and Designers to understand how to go through software implementation of the requirements, ensuring traceability between business specifications and the software code.
This 2 day training course aims at assisting technical analysts and designers in designing specifications described by the business analysts. After transformation into software component representations, the resulting system components trace system requirements toward software component structures.
Finally, these technical specifications are implemented in software code and tested upon component basis. The resulting software components provide good level of reactivity to changes as they allow to trace separately toward the implementation level the system behaviours layer by layer (from the user interfaces toward business objects layer through the application components where the usage choices of the actors are stored.
This course is available as onsite live training in Botswana 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.
Need help picking the right course?
Object Oriented Design using Design Patterns Training Course - Enquiry
Testimonials (1)
Good exercises
Hui Yi Neo - Titansoft Pte Ltd
Course - Object Oriented Design using Design Patterns
Related Courses
Design Patterns
14 HoursThere are plenty of tried and tested patterns widely available to everyone. Sometimes it is a matter of changing the names and implementing the pattern in a specific technology. It can save hundreds of hours, which otherwise would be spent on design and testing. Training Goals This course has two goals: first, it allows you to reuse widely-known patterns, second, it allows you to create and reuse patterns specific to your organization. It helps you to 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 of the 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 (a.k.a Digital Insurance) refers to the convergence of insurance + new technologies. In the field of Insurtech "digital insurers" apply technology innovations to their business and operating models in order to reduce costs, improve the customer experience and enhance the agility of their operations.
In this instructor-led training, participants will gain an understanding of the technologies, methods and mindset needed to bring about a digital transformation within their organizations and in the industry at large. The training is aimed at managers who need to gain a big picture understanding, break down the hype and jargon, and take the first steps in establishing an Insurtech strategy.
By the end of this training, participants will be able to:
- Discuss Insurtech and all its component parts 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
- Insurers
- Technologists within the insurance industry
- Insurance stakeholders
- Consultants and business analysts
Format of the course
- Part lecture, part discussion, exercises and case study group activities
Design Patterns in C#
14 HoursTarget group:
Technical Team Leader, Software Developer
Learning objective:
The purpose of training is to acquire the ability to design advanced development / project structures in C #.
During the course, students become familiar with the MSDN resources and tools to support the development process, such as Microsoft Visual Studio, ReSharper.
Design Patterns in PHP
14 HoursThis instructor-led, live training in Botswana (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 Botswana, 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 is an applied overview of how digital transformation reshapes products, operations, and customer engagement in the insurance industry.
This instructor-led, live training (online or onsite) is aimed at intermediate-level insurance professionals who wish to understand and apply 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 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) 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 onsite) 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 prioritization throughout the project lifecycle.
- Use 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 lecture and discussion.
- 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 on request.
JavaScript - Advanced Programming
14 HoursThe training is designed for JavaScript developers, designing and implementing advanced Internet applications. Topics discussed during the training aimed at bringing best practices in JavaScript programming and highlight the most common mistakes. An important point of the training is to discuss the available object-oriented programming with JavaScript syntax.
Kubernetes Design Patterns
21 HoursThe evolution of microservices and containers in recent years has significantly changed how we design, develop, deploy and run software. Modern applications must be optimized for scalability, elasticity, failure, and change. Driven by these new demands, modern architectures require a different set of patterns and practices. In this training, we examine ways to identify, understand and adjust to these new requirements.
Audience
This training is intended for people who are somewhat familiar with container technology and with Kubernetes concepts but are perhaps lacking the real world experience. It is based on use cases, and lessons learnt from real life projects with the intention of making people inspired to create and manage even better cloud native applications.
- Developers
- Operations
- DevOps
- QA Engineers
- IT Project Managers
Format of the Course
- Interactive lecture and discussion
- Lots of exercises and practice
- Handson 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 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 an approach to developing a software application as a suite of small, independent services, each running in its own process and communicating with lightweight mechanisms such as an HTTP resource API. These services can be efficiently deployed using continuous automation systems and bypass the need for centralized management. Microservices can be written in different programming languages and integrate with different data storage systems.
This instructor-led, live training is aimed at enterprise developers and architects. It introduces microservice architecture from a .Net perspective, presents migration strategies from a monolithic system, and walks 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 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
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
PHP Patterns and Refactoring
21 HoursThe course is designed for experienced programmers who want to explore issues related to the use of patterns and refactoring. Each participant know the properties and practical examples of the use of these patterns, which in turn will enable the efficient build correct the application code.
Requirements Analysis
21 HoursThis instructor-led, live training in Botswana (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 demonstrates through hands-on practice the fundamentals and applications of software engineering, requirements engineering and testing.
Technical Architecture and Patterns
21 HoursWith the emergence of very complex distributed systems, complexity of a single system moved to the complexity of the architecture of the group of systems. This course covers the relationship of Software Architecture with Technical Enterprise Architecture. These two areas are interrelated in a way which currently is not well described. For example, splitting complex monolithic system into two systems communicating via web services will trigger substantial changes to both the new systems, and the architecture between them.
This course will cover trade-offs, currently common patterns and solutions for managing complex systems and communication within and between them.