Overview
Evaluation
Useful Links - (Software) Engineering Logs
Update your logs regularly (evey time you work On the project/module)
with precise details of what you were doing/thinking.
(A typical log entry for 1-3 hours of work would be 2-3 paragraphs.)
Session 1: Wednesday 30th April (9h-12h30) B313
1.1 Introduction
Useful Links - (Software) Engineering Logs
1.2 Design Patterns
1.3 Singleton
1.4 MVC
1.5 Proxy
Useful reading material
Useful external links
Session 2: Wednesday 30th April (14h-17h30) B313
2.1 Threads and processes for distributed system modeling and simulation
2.2 Distributed versus Centralised
Session 3: Wednesday 7th May (9h-12h30) B313
3.1 Iterator
3.2 Software Reliability
Session 4: Wednesday 7th May (14h-17h30) B313
4.1 Faulty Stacks and Queues
You should complete as many of these problems as you can, before the next session.
Session 5: Wednesday 21st May (9h-12h30) B313
5.1 Functional Requirements
Problem: Working in teams (or alone) specify the requirements of a lift/elevator system:
- say what not how
- identify and formalise the clients' and users' vocabulary
- how easy is it to validate your specification?
- how easy is it to verify a design/implementation against your specification?
Additional reading material
- Requirements engineering in the year 00: A research perspective, A van Lamsweerde, 2000
- pdf
- Requirements Engineering: A Roadmap, Bashar Nuseibeh and Steve Easterbrook, 2000
- pdf
- On Non-Functional Requirements in Software Engineering,
Lawrence Chung and Julio Cesar Sampaio do Prado Leite, 2009
- pdf
- Use cases - yesterday, today, and tomorrow,
Ivar Jacobson, 2004
- pdf
- Structuring Use Cases with Goals,
Alistair Cockburn, 1997
- pdf
- Writing effective use cases. Vol. 1,
Alistair Cockburn, 2000
- pdf
Session 6: Wednesday 21st May (14h-17h30) B313
6.1 Lift Functional Design
- From requirements to design
- pdf
Problem -Transform an agreed specificaton of lift requirements into a functional design and verify that it is
functionally correct.
Additional reading material
- On the Criteria To Be Used in Decomposing
Systems into Modules,
Parnas, 1972
- pdf
- A Rational Design Process: How and Why to Fake It,
Parnas and Clements, 1986
- pdf
- A field study of the software design process for large systems,
Curtis, B. and Krasner, H. and Iscoe, N.,1988
- pdf
- What is Software Design?,
Jack W. Reeves, 1992
- pdf
- The risks of stopping too soon,
Parnas, 2011
- pdf
Wavestone visit: Thursday 22nd May (9h-12h30) B313
Session 7: Wednesday 28th May (9h-12h30) B313
Session 8: Wednesday 28th May (14h-17h30) B313
Session 9: Wednesday 4th June (9h-12h30) B313
Session 10: Wednesday 4th June (14h-17h30) B313
Wavestone visit: Thursday 5th June (14h-17h30) B313
Session 11: Thursday 12th June (9h-12h30) B313
Session 12: Wednesday 18th June (9h-12h30) B313
Session 13: Wednesday 18th June (14h-17h30) B313
Wavestone visit: Thursday 19th June (9h-12h30) B313