Undergraduate Course: Software Engineering with Objects and Components (INFR09016)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 9 (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 | |
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 able to read code examples in Java, and to be conceptually familiar with programming in a statically-typed object oriented language. |
Information for Visiting Students
Pre-requisites | None |
Course Delivery Information
Not being delivered |
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 | Dr Perdita Stevens
Tel: (0131 6)50 5195
Email: perdita.stevens@ed.ac.uk |
Course secretary | Mrs Victoria Swann
Tel: (0131 6)51 7607
Email: Vicky.Swann@ed.ac.uk |
|
|