Software Development Methodologies
  Lecture 5
  Software Development Methodologies Home - Lecture Support -  Lecture 5

Quick Links

Worksheet »



 

Aggregation

Aggregation is a special type of relationship known as a the whole-part structure.  A class is defined to have its own properties (attributes and operations) as well as a number of parts, each of which also have their own properties.  When considering the 'whole' class, the 'parts' come with it- they are a constituent part of the whole.


Inheritance hierarchies, polymorphism and overriding of an operation's implementation

A key skill in the design of object oriented systems is to recognise: (a) that object instances are often the same and can therefore be grouped into a class, and (b) that object instances and classes are often similar.  In the latter category, similar classes can be related into a generalisation-specialisation relationship.  

Object orientation goes further and says that classes and sub-classes may often have an operation in common which, at the conceptual level, is the same operation, even though at the implementation level, it is implemented in different ways.  For example, 'to buy a ticket' is conceptually the same operation (it is in effect paying for the permission to ride a bus/train etc.), however the way in which you buy a ticket may be different for different modes of transport.  This concept is known as polymorphism, where an operation's implementation is overridden in sub-classes.


The role of functional dependencies and 3NF in validating attributes and classes

Functional dependencies and 3NF (third normal form) are a means of ensuring that all the attributes in a class related to solely and exclusively that class.  If a set of attributes are not in 3NF, it means that there are additional classes 'hidden' within the class being analysed.


The role of events, object life histories and state-transition diagrams in validating operations and classes

Events, states and objects are inextricably linked.  By modelling all 3 concepts, models are be used to cross-validate.  Each object will be subjected to one or more events.  An event is an instantaneous point in time when something of interest happens and results in an operation being executed.  When the operation is executed, it will change the state of one or more objects.

An object life history shows the permitted sequence of events that can impact a given object.  A state-transition diagram is similar, but rather than showing the events which can impact an object, it shows the states and ordering of states in which an object can reside.

Quick Tips

Tips for revision »

Tips for answering questions »

Worked exam examples »

Examinations feedback »


Details correct as on 8th March 2016
(c) C. Tjortjis 2016

Home | Contact Us| Legal