Undergraduate Course: Software Engineering with Objects and Components (INFR10056)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 10 (Year 3 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | This course provides an introduction to the design and implementation of software systems using object-oriented techniques. The techniques we consider are oriented to creating component based designs. The course will review basic object-oriented techniques and how they support the creation of component based designs. We also consider the high level modelling of systems as a means of supporting the Software Engineering process. Here we study the Unified Modelling Language (UML), which provides programming language independent notations for design. |
Course description |
Building on students' prerequisite knowledge of software development and object-oriented programming, we consider how object-orientation and the use of components impacts the development and maintenance of software.
We discuss the use of modelling in software development, including (i) where models are used purely informally, (ii) where they are used as reviewed documentation for designs, and (iii) model-driven development in which models are formal artefacts and code may be generated from them.
Students learn to document designs in the Unied Modeling Language, UML, with emphasis on class, sequence and state diagrams and the Object Constraint Language, OCL.
We study criteria that make one design better than another in context and introduce design principles and patterns that capture good practice.
Relevant QQA Computing Curriculum Sections: Software Engineering
|
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | Students MUST NOT also be taking
Software Engineering with Objects and Components (INFR09016)
|
Other requirements | This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.
Students will be assumed to be competent in basic Java programming.
Interested students who lack experience with Java, but know a similar
language such as C++ or C#, should contact the lecturer. |
Information for Visiting Students
Pre-requisites | Visiting students are required to have comparable background to that
assumed by the course prerequisites listed in the Degree Regulations &
Programmes of Study. If in doubt, consult the course lecturer. |
Course Delivery Information
|
Academic year 2014/15, Available to all students (SV1)
|
Quota: None |
Course Start |
Semester 1 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 16,
Seminar/Tutorial Hours 8,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
72 )
|
Assessment (Further Info) |
Written Exam
100 %,
Coursework
0 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
This course is assessed by exam only. |
Feedback |
Not entered |
Exam Information |
Exam Diet |
Paper Name |
Hours & Minutes |
|
Main Exam Diet S2 (April/May) | | 2:00 | | Resit Exam Diet (August) | | 2:00 | |
|
Academic year 2014/15, Part-year visiting students only (VV1)
|
Quota: None |
Course Start |
Semester 1 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 16,
Seminar/Tutorial Hours 8,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
72 )
|
Assessment (Further Info) |
Written Exam
100 %,
Coursework
0 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
This course is assessed by exam only. |
Feedback |
Not entered |
Exam Information |
Exam Diet |
Paper Name |
Hours & Minutes |
|
Main Exam Diet S1 (December) | | 2:00 | |
Learning Outcomes
1 - Design simple object-oriented systems, making appropriate use of available components;
2 - Design simple software components, making sensible API decisions;
3 - Evaluate and evolve object-oriented software designs, making use of common design patterns if appropriate;
4 - Create, read and modify UML diagrams documenting designs;
5 - Discuss the use of modelling in software development, e.g. why and how models of software can have varying degrees of formality.
|
Reading List
* Stevens with Pooley, Using UML: Software Engineering with Objects
and Components, Pearson (second edition) |
Contacts
Course organiser | Mr Vijayanand Nagarajan
Tel: (0131 6)51 3440
Email: vijay.nagarajan@ed.ac.uk |
Course secretary | Mrs Victoria Swann
Tel: (0131 6)51 7607
Email: Vicky.Swann@ed.ac.uk |
|
© Copyright 2014 The University of Edinburgh - 12 January 2015 4:11 am
|