COMP311P - Systems Engineering
This database contains the 2017-18 versions of syllabuses. Syllabuses from the 2016-17 session are available here.
Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).
|Prerequisites||Introduction to Programming (COMP210P)|
|Taught By||Rae Harbird (100%) |
This is a course for students with some prior experience of programming. Theprimary objective of the course is for the students to gain practical experience of specifying an information system using industry-recognised, object-oriented techniques.
The students will gain experience via hands-on engagement on a weekly basis. Each week, or stage, serves as a checkpoint that progress is being made. Over the course of the term, students will undertake a substantial project in which they will work teams of three or four to produce a specification for a web-based information system. Support will be provided in the labs / tutorials.
Secondary goals are for the students to gain further experience with computational thinking. They will start by formulating an idea for a computer application and will subsequently translate this into a set of models such that the application could be developed and tested. Students will gain further experience of working in teams.
The expected task outline set out below. The content may be varied according to the progress made by the students. The length of the course will depend upon the structure of the degree. At the moment. students taking the IEP have two scenario weeks in each term and modules are eight weeks in duration instead often. The content will be curtailed according to the number oi weeks available. There will be an in class test in one of the lecture slots.
Week 1: What is Software Engineering and why do we need it? This foundation material will also cover:
- The impact of software engineering artetacts throughout the project litecycle from initiation to testing and delivery.
- Methodologies for managing software projects: the Unified Process and Agile development.
- Managing large-scale, distributed and off-shore projects.
- Team organisation and roles.
Week 2: Requirements gathering: how to write and manage requirements. Translating requirements into use cases or user stories.
Week 3: Introduction to object-oriented concepts and UML modelling.
Week 4: Object oriented analysis: Finding candidate classes and creating the domain model.
Week 5: Object oriented analysis: Process view with activity diagrams; logical view with class diagrams.
Week 6: Reading week: no labs or lectures.
Week 7: Classes in more detail. Showing object interaction with sequence diagrams.
Week 8: Illustrating the life-cycle of an object with state machine diagrams and using package diagrams for a high-level application overview.
Week 9: Modelling the deployed system with deployment diagrams. Object oriented design, modelling web applications.
Week 10: There are a range of advanced topics that could be included, for example: design patterns and software architecture.
Method of Instruction
Topics will be introduced with a short video clip and students will be expected to attempt some simple problems before the class. The course content will be delivered as a series of lectures with further problem solving in class.
There will be a strong emphasis on the tutorials / labs. Students will have a two- hour lab session every week which will be staffed by TAs. At the outset of the course students will be organised into teams and over the duration of the course teams will work on a specification for a web application. As they learn about the modelling techniques they will be expected to create the associated diagrams for their project.
There will be an in class test in the latter half of the course to ensure that students understand the concepts. By the end of the course teams will submit a report containing the specification for the web application and a presentation for assessment.
The course has the following assessment components:
- In class test (20%)
- Final project (80%)
Reading list available via the UCL Library catalogue.