Leader
Timing and Structure
Fridays 11-1pm, Tuesdays 9-11am plus afternoons
Prerequisites
Part I computing assumed
Aims
The aims of the course are to:
- Introduce students to various issues in the development of large software systems.
- Develop and test a logic simulator in C++ or Python.
Content
The aim of this project is to develop a logic simulation program using the programming language C++ or Python (for 2017-18, students choose which language to work in). The project introduces students to all major phases of software engineering practice, viz. specification, design, implementation, testing and maintenance.
The project is organised in the form of a 'real life simulation'. You are asked to imagine that you have joined a software development company. You have been assigned to a team of programmers who have just begun work on a contract to develop a logic simulation program. You are given the 'client's' original requirements document and asked to produce a detailed specification for part of the system. Following this, you move onto the design stage. You are told that the program has been divided into eight functional modules and your team has been given the responsibility for designing and implementing four of them. When you have completed these, you have to integrate them with the remaining four modules of the system and test it. Finally, the client requests some changes to be made to the program and you are asked to implement these.
FORMAT
Students work in groups of three, sharing the work. Each student in the group will write different parts of a large software system, test them independently and then integrate into a complete simulator.
Week 1
Introductory exercises in C++ or Python, lecture on logic circuit specification using a grammar, parsing and some concepts in Software Engineering.
Week 2
Design of specification grammar, familiarization with some modules that already exist, estimating and splitting the work involved, start work on individual modules.
Week 3
Software design, implementation and testing (continued)
Week 4
Integration and testing the complete system. Modification to system and final report.
Coursework
Coursework | Due date | Marks |
---|---|---|
Interim report 1 |
4pm Sunday 20 May 2018 |
15 (all group) |
Interim report 2 |
11am Friday 1 June 2018 |
15 (7 group 8 individual) |
Final report |
4pm Thursday 7 June 2018 |
50 (all individual) |
Examination Guidelines
Please refer to Form & conduct of the examinations.
Last modified: 24/10/2017 15:56