Hide menu

TDDE41 Software Architectures

Lab Series


You will need to work on your own laptops.

You will be collaborating within a larger group of 10 students on the development of a common project specified by a set of requirements. Within this group lab-pairs of 2(or 3) students will be working on a sub-module of the project. Each student is expected to equally contribute to the labs and their demonstration. The goal is to satifsy the individual requirements for your module as well as to be able to integrate the modules together and fulfill the high level specification requirements. All assignements are submitted in your lab pairs (trios).

Lab structure:

  • Lab 1: Tools for the task
  • In this lab you will install the tools, libraries and frameworks necessary for the realization of your module and get familiar with them. Run some tests to investigate whether your approach is feasible and whether the chosen tools/frameworks meet your project's needs. To complete this assignement you will write a first draft of the final report and demonstrate the setup to the course assistant in 10-15 minute session. At this stage the draft should contain a clear outline of your solution to the problem, your plans for ensuring your solution meets the specification requirements and references to published material supporting your claims.
  • Lab 2: Module implementation
  • In this lab you will use the tools/frameworks that you have selected in lab 1 to implement your module. You will also devise and setup a way to evaluate that your solution meets the quality requirements in the specification. To complete this assignement you will write a second draft of the final report and demonstrate the implementation to the course assistant in 10-15 minute session. At this stage the draft should contain all the information requested for version one of the report plus a description of the architecture, an outline of the validation plans and a description of the main implementation decisions.
  • Lab 3: Module composition and validation
  • In this lab you will work in larger groups to compose together the modules that you have developed, test the project as a whole and run any performance/quality tests that you have devised. To complete this assignement you will submit the final report and demonstrate the complete solution to the course assistant in 10-15 minute session as a group. At this stage the draft should contain all the information requested for the earlier versions of the report plus a section on the collaboration describing the impact of having to integrate your module into a larger project, the results from any tests you ran and an evaluation of the final solution.

Hand-in Instructions

Lab reports are handed in through LiU's GitLab (Not IDA's GitLab). Add your lab assistant as a reporter to your project, preferably early in the course to avoid problems later on. Place your reports in the root of the project, on the master branch. Name the files according to the pattern lab1-liuid123-liuid123.pdf. Please hand in the reports as PDFs. The repository should also contain your code and other artifacts you have produced.

Please notify your lab assistant when you have uploaded your reports, either during the labs or by email.

Your reports should contain your names and LiU-IDs, the date and a proper title

Grading

Each lab will be presented as a demo, for each lab-pair/trio for labs 1-2 and in a group for the last demo, to the corresponding lab assistant.

For each demo you will be expected to present the code, answer the corresponding lab questions, plus the extra questions that the lab assistant might have.

The lab assignments are intended as a complementary technical exercise for the seminars. Each lab assignment requires you to submit, on time in order to keep on track with the seminars. The reports will also be read during the seminars and will contribute to the final grade for the coursee. Warning

Failure to hand in assignments on time, and provide well-justified answers to questions, or failure to actively participate in the seminars, will require you to to additional work.

Opportunities to resubmit the labs are provided during examination and re-examination periods only.

Page responsible: Lena Buffoni
Last updated: 2020-04-20