Prerequisite Modules
Description
This module focuses on an
engineering approach to systems development. The module studies
systems analysis and design in the context of object oriented
development. On successful completion of the course students are
expected to be able to apply object oriented analysis and design
techniques. Students are also expected to appreciate and understand
the different approaches to object oriented design.
Aims
To provide the students with an
understanding and appreciation of the role of systems analysis and
design, building and testing within an object oriented system
development life cycle approach. To teach the different techniques
used in object oriented analysis and design. To teach testing
strategies and techniques and the application of testing techniques to
object oriented systems. To provide the student with a theoretical
knowledge of the principles, and processes and techniques involved in
building high quality software systems.
Learning Outcomes
On successful completion of this
module, the student will be able to:
-
Identify and critically evaluate
the different approaches to object oriented software development.
-
Use appropriate methods and
techniques to perform an object oriented analysis and design for a
given case study.
-
Evaluate and develop appropriate
testing strategies.
Implement a test process and develop test cases.
-
Evaluate and use the various tools
available to the software engineer.
-
Use advanced software
architectures, patterns, components and frameworks.
-
Use the appropriate theory to
address practical software problems.
Learning and Teaching Methods
Lectures, self-study, labs,
tutorials, and any combination of discussion, case study,
problem-solving exercises, readings, seminars, and computer-based
learning.
Content
Review of the software
development process: Life cycle models;
development approaches; object oriented development, the strengths and
weaknesses of different approaches.
Object oriented principles and
concepts: objects, classes, instances,
encapsulation, abstraction, generalisation, specialisation,
aggregation, inheritance, polymorphism, messaging.
Object oriented life cycle:
Inception, elaboration, construction, transition, UML, object oriented
methodologies.
Analysis and design techniques: Requirements gathering, feasibility
studies, functional and non-functional requirements, fact-finding
techniques. Techniques for modelling classes and transactions.
Notation used. File and database organisations and structure, using a
database with an object oriented developed system.
Review of object orientation:
Basic object concepts including: encapsulation, inheritance,
abstraction, objects instances, classes, polymorphism messages and
communicating agents, OO language features.
Examples of object oriented
techniques required: further study of the
UML including: class diagrams, business and interface classes, use
case diagrams, object sequence diagrams, object collaboration
diagrams, state transition diagrams, component deployment diagrams,
Object Constraint Language (OCL), action semantics.
Advanced object oriented concepts:
re-factoring, responsibility driven design, use case driven design,
design by contract, coordination contracts, patterns, architectures,
frameworks, subsystems, components.
Testing:
validation and verification, the review process, the testing process,
test strategies, system testing, model testing, testing tools, the
management of testing.
Assessment
The methods of assessment to be used
to measure the learning objectives stated above are written
examination and continuous assessment including one or more of
assignment, essay, problem-solving exercise, oral presentation, and
class or lab tests.
-
Continuous Assessment: 30%
-
Examination: 70%
Recommended
Reading
-
Practical Object-Oriented Design
with UML, Mark Priestly(2003), McGraw Hill, ISBN 0077103939.
Software Design using Java 2: Lano, Fiadeiro, Andrade, Palgrave ISBN
1-4039-0230-5
-
UML Distilled 3rd Ed. Fowler
(2004), Addison Wesley, ISBN 0-321-19368-7
-
Model Driven Architecture with
Executable UML, Raistrick et al (2004)., Cambridge, ISBN 0521537711
-
Object-Oriented Methods:
Principles and Practice (3rd Edition) by Ian Graham (2000),
Addison-Wesley, ISBN 0-201-61913-X.
-
The Object Constraint Language:
Getting Your Models Ready for MDA, 2/E, by, Warmer and Kleppe,
Addison Wesley, ISBN 0-321-17936-6
-
Object Management Group
http://www.omg.org/
|
|
For more information contact
Ciarán O'Leary
|