University home

Google  Web PEVE 

Object Oriented Analysis and Design with UML

(Code: COMP7018)

Course Duration:
16-18 weeks
Required Time per Week:
8 - 10 hours.
Course Contact:
Alex Walker (alex@cs.man.ac.uk)
Summary:
This course teaches essential skills in object-oriented analysis and design and the Universal Modelling Language. It is independent of particular software packages or programming languages, although there are a few small Java code examples. The only prerequisite is some familiarity with programming, not necessarily in an object-oriented language.
Prerequisites:

Knowledge and/or experience of programming in at least one high-level imperative language (object-oriented or structured eg Java, Smalltalk, Eiffel, C, Ada, Modula or C++).
The material in this course will make sense to any programmer, i.e someone who knows what a computer is and has written programs in at least one of the imperative languages listed above. Other than that, you will need to possess certain human qualities, such as the ability to think, discuss and experiment.


Objectives:

After successful completion of the module, a student will


Course Outline:

The course starts with a thorough introduction to object concepts, before explaining business modelling ("what do the customers need?") analysis ("what must the software do?") and design ("how will it do it?") Aspects of design covered include system and subsystem design and semi-formal specification of software responsibilities. No particular sofware development process is prescribed, but the approach taken is consistent with current best practice, in particular, the Rational Unified Process (RUP).

The course covers the OO software development life-cycle up to, but not including, the actual writing of code. The full syllabus is as follows:

Topic Content
Object Overview Objects; Classes; Inheritance; Object-Oriented Type Systems; Software Development Methodology; Engineering or Invention?; Artifacts of Object-Oriented Software Development; Classes, Responsibilities and Collaborators.
Requirements Introduction; Business Perspective; Developer Perspective.
Analysis Introduction; Static Analysis; Dynamic Analysis.
System Design Introduction; Networked System Topologies; Choosing Technologies; Partitioning Software.
Subsystem Design Designing the Business Logic; Persistence using a Relational Database; Finalizing the User Interface; Designing the Business Services; Thread Safety.
Specification The Specification Process.


Assessment:

50% groupwork exercises, 50% online exam.


Further Details:

The course is delivered using a virtual learning environment (VLE). - Instruction takes the form of a written tutorial, delivered through the VLE. The tutorial includes a realistic case study to reinforce learning. Students are expected to study this tutorial in their own time.

At the end of each major topic, the students are asked to complete a substantial exercise; each exercise comes with its own guidelines. The exercises are based around another realistic case study. After the completion of each exercise, the course assessor will provide feedback to the students (via e-mail) and each will receive a copy of a model solution.

The VLE provides a bulletin board facility that the students are encouraged to use to communicate with one another, this board is moderated by the tutors and course assessor.

In this course students are split into project groups to develop solutions as a team (common practice in the work environment). The VLE supports the concept of teamwork, enabling the project groups to share information and to pass documents amongst the group. The tutors and course assessor can be contacted by e-mail or through the bulletin board for advice.

Each student is allocated to a tutorial group which meets on-line every week to discuss their individual study and any problems they are encountering. These tutorials are led by a member of School staff with the appropriate skills. The tutorial content is logged and students who are unable to attend are able to access the logged material.