CS607 Requirements and Design Engineering


From project inception to coding

We focus on the often-overlooked requirements gathering activity, and a lot of software design. We examine a wide variety of requirements gathering techniques and learn how and when they should be applied. The design component is largely, though not exclusively, focused on the UML.


1. Requirements Elicitation

    Qualities found in successful software projects.
    Qualities found/absent in un-successful software projects.
    The User Requirements Document (IEEE/ANSI 830-1993)
    Knowledge Elicitation Techniques
    Behavioural Requirements
    Non-Behavioural Requirements
    Document Validation 

2. The UML - Unified Modelling Language

    Introduction to Object Orientation.
    UML - The Unified Modelling Language v2.0.
    Use Case Diagram and Requirements Gathering
    Behavioural Diagrams
      Process Modelling
         Sequence Diagrams
        Collaboration Diagrams
      State-based modelling
         StateChart
        Activity Diagrams
    Structural View
        Class Diagrams
        Object Diagrams
    Component Diagrams
    Deployment Diagrams

    Software Patterns
      Standard solutions to standard problems, including a brief overview of some anti-Patterns.


Case studies are used throughout this course. One model is taken from the banking sector, a distributed application with a centralised database. We also examine a model of the manufacturing domain, with complex interactions among a large number of communicating objects. Practicals focus on developing models of both these domains.

We compare the models developed under the OO methodology with that produced by structured design. We analyse these to see the large number of advantages brought by object orientation.

Limitations: We also look at some possible limitations of Object Orientation.


UML CASE Tools:

The wonderful and free StarUML for student/home use.

The compulsory Rational Rose.

The open source ArgoUML and its related Poseidon product.

Check out the cetus-links.org web-site for more information.


Recommended Texts:

Check out the On-Line books available internally by selecting "Bookshelf" from http://proquest.safaribooksonline.com/?uicode=Maynooth

"The Unified Modelling Language Users Guide", by Booch, Rumbaugh, Jacobsen, Addison-Wesley, 1999.

"Using UML : Software Engineering with Objects and Components", 2nd Edition, P. Stevens and Pooley, Addison-Wesley, 2006.

“Object-Oriented Analysis and Design with the Unified Process”, John W. Satzinger, Robert B. Jackson, Stephen D. Burd, Thompson Course Technology, 2004.


See the OMG’s OCUP UML Certification program.

See a past exam papers for CS607: 01-02.

 

D. O'Donoghue, 2009.
, NUI Maynooth, Ireland.