Skip to content
Permalink
Browse files
restructured ddd lab
  • Loading branch information
aa7401 committed Oct 25, 2018
1 parent 1071de5 commit eb76ec26e60a9aa7271827e01f96ef8475153410
Showing 1 changed file with 21 additions and 4 deletions.
@@ -5,9 +5,26 @@ Supporting resources:

1. [Lecture slides](https://docs.google.com/presentation/d/15roChBN5xnttLZYg7Wdk7b26W5Q23nCYNycLj8GNy5w/edit?usp=sharing)

In this lab you will be exploring the software domain for your assignment scenario. By the end of the lab you will have build a detailed model of the domain to that shows your understanding. This should include:
In this lab you will be exploring the software domain for your assignment scenario. By the end of the lab you will have build a detailed model of the domain to that shows your understanding.

1. The artefacts that make up the domain
2. The technical language around the domain.
You should complete the following steps, either in a small group or on your own:

This activity should be carried out in teams comprising other students who have been assigned the same topic. You should make use of the lab supervisor as a domain expert.
1. Describe the domain depicted in your scenario. This should be in the form of between 6 and 12 sentences in plain English that include the key terms commonly used in the domain _but no technical language at all_. There is an example on lecture slide 45 (the link to the presentation can be found at the top of this lab). This simulates the notes you would be taking in an early meeting with your client.
2. Extract the **Domain Language** and carefully define what is meant by each of the terms and expressions _in the context your your domain_. Be sure you remove any ambiguity. This simulates a detailed and probing discussion with the client.
3. Finally you should use the information you have recorded so far to build a class diagram. This should include:
1. The domain classes (or artefacts).
2. Key attributes of each class (but only list the ones that directly relate to the domain discussed, this is not meant to be a database schema!).
3. The associations between each class or artefact. Optionally you can also specify the multiplicity of each.

This exercise will probably take one complete lab. For the rest of the week you should ensure you have completed the core labs from previous weeks in readyness for the start of the build next week. These labs are:

1. Setup (plus local setup if you plan on using your own laptop).
2. Templates and forms.
3. Dynamic websites.
4. TDD and Express.

The extra labs will help you during the build and, if time allows, you should complete the following:

1. TDD and APIs (especially if you are studying 304CEM).
2. TDD and JavaScript, to help you implement TDD for code running in the browser.
3. Async JavaScript which will improve your code structure and layout by introducing some of the more advanced JavaScript asynchronous constructs.

0 comments on commit eb76ec2

Please sign in to comment.