Discuss a range of design patterns (Creational, structural, and behavioural pattern types) with reference to relevant examples as applied to the given scenario.

Unit 20 Advanced Programming - BTEC Higher National Diploma (HND) in Computing

Assignment: Discuss Design Patterns Applied to HealthInformatica

Aim & Objective

This coursework assesses learners` understanding, knowledge, and skills acquired throughout the module`s learning journey. The coursework will be submitted as a report format with the code project implementation embedded at the end.

Assignment Scenario:

HealthInformatica, an advanced technology company based in London, provides innovative healthcare solutions across the UK and Europe. They seek a software developer to create a software system for their services, including booking scans, managing online platforms, procuring healthcare devices, and handling legal and financial aspects.

Key Functions to Develop:

  1. Patient record management (create, update, delete, search).
  2. Service management (add, remove, update services with detailed attributes).
  3. Detailed patient information storage (including personal, contact, and medical details).
  4. Report generation for patient services over a specific period.

Learning Outcomes (LO4):

In this section, you will discuss a range of design patterns (creational, structural, and behavioral) relevant to the given scenario. Evaluate and justify the most appropriate design pattern for this scenario.

Discussion Points:

  • Creational Patterns: Discuss patterns like Factory Method, Singleton, and Builder, and illustrate how they can be applied in your scenario, e.g., creating patient objects, service instances, etc.

  • Structural Patterns: Explain patterns like Adapter, Composite, and Proxy, and how they can organize relationships between components in your software system.

  • Behavioral Patterns: Explore patterns like Observer, Command, and Strategy, and their application in handling communication, user actions, and algorithm selection.

Relevance to Scenario:

  • Connect each design pattern to specific aspects of the software system (e.g., patient management, service operations) and justify their suitability.

Evaluation and Justification:

  • Critically evaluate design patterns against alternative scenarios, considering factors like scalability, maintainability, and extensibility.

Conclusion:

Summarize the discussion on design patterns, highlighting the chosen pattern`s significance and implications for HealthInformatica`s software development.