PA1435 Object Oriented Design
1 Sprints, Lectures, and Seminars
In this module the course is introduced.
Things to Read
- Read: Sprint 0 Course Introduction
- Read: Assignment Introduction
Scheduled Events
- Visit: Lecture Introduction ( J1504)
This module introduces the UML way of specifying requirements, which can then be used to provide a traceable chain all the way through your software design and down to your code.
Things to Read
- Read: Sprint Use Cases and Use Case Diagrams
- Remember to look at the “Learning Material” for book chapters, screencasts, and further reading.
Scheduled Events
- Visit: Lecture User Stories and UML Use Cases ( J1504)
- Prepare before and Visit: Seminar Requirements, Use Cases, Project Planning (Group I J1207, Group II J1207, Group III (IndEk) )
Assignment Work
- Submit: Release Sprint 3 Week Roll Call; List of Use Cases (Deadline )
- Work on Assignment: Sprint Use Case Overview Assignment
- Work on Assignment: Sprint Implementation Plan Assignment
- Work on Assignment: Sprint Detailed Use Cases for First Iteration Assignment
This assignment “sets the stage” for your subsequent assignments by making sure you have understood the system requirements properly. In a seminar you then discuss your submitted User Stories and Use Cases.
Assignment Work
- Submit Assignment: Release Sprint: Use Cases (Feedback Deadline )
- This assignment consists of three parts:
Scheduled Events
- Visit: Discuss Assignment 1 (Online on Gitter )
There are two sides to modelling. You model the structure of a system to understand which entities you are going to work with, and you model the behaviour of these entities. In this module we focus on the structure.
Things to Read
- Read: Sprint Concepts and Events
- Remember to look at the “Learning Material” for book chapters, screencasts, and further reading.
Scheduled Events
- Visit: Lecture Modelling Structure ( J1504)
Assignment Work
- Work on Assignment: Sprint Domain Model Assignment
- Work on Assignment: Sprint System Sequence Diagrams Assignment
Different ways of modelling behaviour is introduced. A particular emphasis is placed on patterns to help you identify what makes a good design.
Things to Read
- Read: Sprint State Diagrams
- Remember to look at the “Learning Material” for book chapters, screencasts, and further reading.
- Read: Sprint Good Interactions
- Remember to look at the “Learning Material” for book chapters, screencasts, and further reading.
- Read: Sprint Interactions and Structure
- Remember to look at the “Learning Material” for book chapters, screencasts, and further reading.
Scheduled Events
- Visit: Lecture Modelling Behaviour ( J1504)
Assignment Work
- Work on Assignment: Sprint Package Diagram Assignment
- Work on Assignment: Sprint Interaction Diagrams Assignment
- Work on Assignment: Sprint Class and Package Diagram Assignment
Design patterns are essentially re-usable solutions to common problems, where you can be reasonably sure that the end result will actually be a good, understandable, and extensible design.
Things to Read
- Read: Sprint Design Patterns
- Remember to look at the “Learning Material” for book chapters, screencasts, and further reading.
Scheduled Events
- Visit: Lecture Design Patterns ( J1504)
- Prepare before and Visit: Seminar Structure and Design Patterns ( J1504)
Assignment Work
- Work on Assignment: Sprint Design Patterns Assignment
In this assignment you demonstrate your ability to design a software system in terms of interaction diagrams and class and package diagrams.
Assignment Work
- Submit Assignment: Release Sprint: Object Oriented Design (Feedback Deadline )
- This assignment consists of two parts:
Connect your well-designed system with a user interface and other external systems to make a functional application. Also, an understanding of the quirks in your selected programming language will help you understand how to actually implement your design.
Things to Read
- Read: Sprint Implementation and Designing the User Interface
- Remember to look at the “Learning Material” for book chapters, screencasts, and further reading.
Scheduled Events
- Visit: Lecture From Design to Code ( J1504)
In this assignment you finalise your design and submit it.
Assignment Work
- Work on Assignment: Release Sprint Implementation and Testing
- Submit Assignment: Release Sprint Implementation and Testing (Feedback Deadline )
- This assignment consists of two parts:
- Class and Package Diagram
- Implementation (Link to Github project is ok)
- This assignment consists of two parts:
Scheduled Events
- Prepare before and Visit: Demo and Discuss Assignment 3 (Individually Booked Week 20)
Prepare for the exam and tidy up after the course so you know how to continue.
Scheduled Events
- Visit: Seminar Questions and Answers ( J1504, J1504)