| Renaat Verbruggen
|
Pre-requisites: You must have completed either:
CA314 OO Analysis & Design or CA212 OO Design and Implementation
I have updated the page to reflect the lectures
This is a module in the first semester which is core for Software Engineering and optional for Information Systems.
Formerly some of the material was taught as part of CA401 Software Engineering so previous exam papers on that subject are useful and some are included below.
The main changes from previous years are: The main articles are now available on this site. As a result there is no handout of articles and papers. Hence all questions will be asked about these new papers. The metrics section is now separate to Cost Estimation and there is more emphasis on patterns throughout the object-oriented section both for design and for architecture, testing too is heavily based on Object-Oriented approaches.
The object-oriented section is based on C++ , java, patterns and low-level class design as the higher level design (e.g. UML) is in the module CA422.
The estimation approaches divide into parametric - those that involve formulae into which values are placed (COCOMO, CoCoMo II, SLIM etc.) - and non-parametric those based on building up data without using formulae, e.g. analogy etc.
On the metrics side it is important to understand why the metrics have been developed and what makes them "good" ie applicable. Some more emphasis on object-oriented metrics is given. Henderson-Sellers approach to metrics supercedes previous references to Ince and Shepperd and Kafura.
For testing, both the approaches and the metrics are important.
Please Note the overlaps between Patterns, Estimation, Testing and Metrics as all are OO based and metrics can ( and should) be easily related to all of the other three so don't pigeon-hole them (in other words be careful about "strategic" studying).
If you are to buy one book for the course then I recommend:
Object-Oriented Software Engineering:
Practical Software Development using UML and Java
Second Edition
Timothy C. Lethbridge and Robert Laganière
McGraw Hill, 2005
ISBN 0-07-710908-2
The first edition is still worth picking up 2nd hand:
ISBN 0-07-709761-0
Website associated with book, including lectures by authors etc. at:
There are a number (41) of E-books online available through the library from within DCU.
http://www.dcu.ie/~library/Eresources/e-books.htm
At least 3 are directly relevant to this module:
| Applied Java Patterns | ||
| By Stephen Stelting, Olav Maassen | ||
| Publisher | : Prentice Hall PTR | |
| Pub Date | : December 01, 2001 | |
| ISBN | : 0-13-093538-7 | |
| Pages | : 598 | |
| Website: http: //authors.phptr.com/appliedjavapatterns/ | ||
| Metrics and Models in Software Quality Engineering, Second Edition | ||
| By Stephen H. Kan | ||
| Publisher | : Addison Wesley | |
| Pub Date | : September 20, 2002 | |
| ISBN | : 0-201-72915-6 | |
| Pages | : 560 | |
| Design Patterns Explained: A New Perspective on Object-Oriented Design | ||
| By Alan Shalloway, James R. Trott | ||
| Publisher | : Addison Wesley | |
| Pub Date | : July 09, 2001 | |
| ISBN | : 0-201-71594-5 | |
| Pages | : 368 | |
| website: http://www.netobjectives.com/dpexplained. | ||
|
Topic
|
Reading material | Comments |
| 1. Introduction
Why the problem ? Object-oriented features |
The Write Stuff Text of articleJoel's 12 point Test for a Good Software TestFoote : The Big Ball of Mud "pattern" |
This material provides a justification for the course and
the approach and you should read it as early as possible.
Here is the "Mud" summary and a classic on how to write un-maintainable code[BackGround] |
| 1.Idioms and Canonical Classes | The chapter 1 , chapter
2, From Eliens
Local file: canonical classes in java JavaWorld Link Notes on polymorphism.and canonical classes |
A Java vs. C++ comparison
extracted by Michael O'Shea from Bruce Eckel's work. [BackGround]
Elienschapter4. and appendix C++. appendix java. [BackGround] The Patterns ProjectDetails are available: Assignment description. |
| 1.Patterns for Design |
Brad Appleton's Overview Notes from Lethbridge and Laganiere on patterns The proxy pattern in ppt Schmidts ACM article on PatternsGang of Four Patterns |
Patterns Site Articles
Brad Appleton's description of patterns: www.enteract.com/~bradapp/docs/patterns-intro.html Patterns can be harmful Eliens Notes on patterns. |
| 2.Patterns for Architecture | Notes from Lethbridge and Laganiere on architectural patterns
Schmidt's POSA notes on patterns (edited form) |
|
| 3.Measurement
and Metrics |
OO Metrics ppt notes updatedChidamber and Kemerer A Metrics Suite for Object-Oriented DesignEliens on CK metrics Henderson-Sellers Change to LCOM Using McCabe's Complexity Metric Some Notes on a new study on CK
|
Study on CK metrics{ October 2006} |
| 4.Estimation |
Lecture Notes:CoCoMoFurther notes on Estimation are on NT: /public/renaat/CA4/estimationNotes onan excellent Comparison by Liming Wu, Calgary |
Notes from Lethbridge and Laganiere on Cost Estimation and project management Notes from Bowen Lee and Titchkosky
|
| 4.Estimation | Very good overview of Cost Estimation at the University of
Bournemouth(You should
read these pages )
Summary Report from U.Calgary |
Some pictures of the graphs associated with Londeix:
Lifecycle SLIM curve Trapezoid for project cost |
| 5.Test | Robert Binder Myths of Object oriented testing.
Lessons learnt from testing an Object-oriented project Zip file contains all gifs as well Testing C++ programmes IPL report in pdf Overview notes on Test Context Coverage More on OO testing coverage metrics and context IPL report 2 Junit: |
Notes that could help you with definitions and background from Lethbridge and Laganiere on quality and testing Junit based on the work of Kent Beck and Erich Gamma.Original Link: Part of the eXtreme programming approach, loads more on Junit and test-frst programming at: |
| Numbers indicate Topic Numbers (5 in total) |