CA422
COURSE MATERIALS (2008-2009)
N.B.: There will be some modifications in the course content compared
to that given in the module specification on the Computing School web pages.
Notes:
1. While a good deal of course material is/will
be on the web, such material should not be interpreted as a substitute for
lecture attendance.
Course material:
SeCtion 1:
Introduction (typed)
SECTION 2: Z
language (iteration 1)
Note: This section is based very closely on “Formal Specification using Z”, D. Lightfoot, Palgrave, 2001 supplemented with material from other sources.
A. Sets in Z/Simple Example (typed)
B. Logic/Example/Schemas(a) (typed)
C. Example/Schemas (b) (typed)
D. Example Specifications/Relations & Functions/More Examples (typed)
E. Sequences in Z, with examples (typed)
F. Some more complete examples (typed)
SECTION 3: Z
language (iteration 2)
Z Reference Manual (Spivey)
SECTION 4: OO
METHODOLOGIES
This
section is based on some published articles that are available electronically
through the DCU Library. Students may access them
either
on-campus or from home. In addition, at least some of the articles are also
available in hard (paper) copy in the library. To locate
an article,
students should follow the relevant journal name in the DCU library catalogue
and “track down” the article by searching. The
Library Information Desk will help if you have problems.
A.
“Process-Centered Review of Object Oriented Software Development
Methodologies”, by Ramsin, R., Paige, R.F. in the journal ACM
Computing Surveys, Volume 40, No. 1, Article 3, February 2008.
Note: This is quite a long article; it will be made clear in lectures (see outline) which parts are particularly relevant for CA422.
B. “Guidelines for formalizing Fusion object-oriented analysis models” by Bates, B.W., Bruel, J.-M., France, R.B., Larrondo-Petrie, M.M. in the
journal (Book series) Lecture Notes in Computer Science, Volume 1080/1996. (see overview as a start)
Note: This article involves some use of Z so there is a synergy with Sections 2 and 3.
C. “Does UML make the grade? Insights from the software development community” by Grossman, M., Aronson, J.E., McCarthy, R.V. in the
journal Information and Software Technology, Volume 47, pages 283-397, 2005.
Note: This is a less technical article than A or B but it is interesting for perspective of how UML is seen by practitioners. Familiarity with its content
is not required for CA422.
SECTION 5: UML
with focus on Object Constraint Language
(OCL)
A. Some Introductory
Examples (here)
B. The “Object Constraint Language OMG Available Specification Version 2.0” is available on-line
(http://www.omg.org/technology/documents/modeling_spec_catalog.htm
). It is a very large document but CA422 focuses only on Section 7
OCL Language Description (here) which will be presented and discussed in lectures.
C. Examples of the use of OCL in specifying class/object interfaces (here).
Z Tools
There are a number of tools to assist in preparing and checking Z specifications, of which one is Z Word (http://sourceforge.net/project/showfiles.php?group_id=234785 ). Students should select an appropriate tool for use in their practical work.
Problem Sheets:
Problem Sheet 1, Problem Sheet 2, Problem Sheet 3, Problem Sheet 4
Continuous Assessment:
NOTE FOR REPEATS
(dated June 25th, 2009): Any repeat continuous assessment work
should be submitted by August 21st, 2009, at the latest. The
submission should be in a clearly labelled (Lecturer name, Module identifier,
Student name & number, etc) large envelope and should be handed in to the
School Office. After handing in the submission, the student should send an
email to W.G. Tuohey informing him of the fact. The repeat continuous
assessment work is the same as that originally specified.
Details of the continuous assessment tasks are now available. The deadline for
submission is Friday April 24th May 1st at 17.00.
The submissions should be in printed form, not electronic, and should be placed
in a dedicated project box in L1.14. It is expected that use will have been
made, in preparing the submission, of an appropriate software tool (see above
re Z tools).