Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Architecture

Supporting resources:

  1. Lecture slides
  2. Software Architecture Patterns (e-book)
  3. Building on Multimodal Databases (e-book)

At this stage you have carried out Domain-Driven Design and now have a good idea about the system you are required to develop.

In this lab you will be applying the knowledge from this week's lecture to the problem you have been given as your assignment. You should check Moodle and find out the topic you have been assigned.

  1. Use the information in this week's presentation to select three architectural styles that would be suitable for your scenario.
  2. For each of these create a Component Diagram diagram showing how this could be applied:
    1. Analyse the system and agree on the architectural quanta.
  3. Review your three designs and choose the best architecture (note that this might be combination of one or more of the styles you selected above).
  4. Expand this architecture to include details such as:
    1. The quanta.
    2. The file/module structure.
    3. The use of in-process and/or out of process communication between the modules.
    4. The protocols you intend using to communicate between modules if out of process.
    5. Any third party libraries/modules you feel would help
  5. Set up any code repositories you need in the 340CT-1819OCTJAN organisation on the University GitHub server:
    1. Make sure the repositories are PRIVATE.
    2. Clone these onto your development machine.
    3. Configure your git details in each repository.
    4. Set up a suitable .gitignore file.

Once everything is set up you are free to start developing your system. Over the next few weeks you will be introduced to a number of additional skills and techniques that you will be expected to apply to your project.