University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Software Engineering with Objects and Components (INFR10056)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 10 (Year 3 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThis 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 Uni ed 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 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-requisitesVisiting 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.
High Demand Course? Yes
Course Delivery Information
Not being delivered
Learning Outcomes
On completion of this course, the student will be able to:
  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)
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserProf Perdita Stevens
Tel: (0131 6)50 5195
Course secretaryMrs Victoria Swann
Tel: (0131 6)51 7607
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information
© Copyright 2016 The University of Edinburgh - 3 February 2017 4:25 am