Module Details
Module Code: |
SOFT7005 |
Title: |
OO Analysis and Design
|
Long Title:
|
OO Analysis and Design
|
NFQ Level: |
Intermediate |
Valid From: |
Semester 1 - 2017/18 ( September 2017 ) |
Field of Study: |
4814 - Computer Software
|
Module Description: |
Object-oriented analysis and design (OOAD) is a popular approach for analysing and designing an application to foster better stakeholder communication and product quality. In this module students will study Object-oriented modeling(OOM) techniques supported by the Unified Modeling Language(UML) framework and learn its application throughout the entire software development life cycle.
|
Learning Outcomes |
On successful completion of this module the learner will be able to: |
# |
Learning Outcome Description |
LO1 |
Differentiate between object-oriented analysis and design. |
LO2 |
Create models for a software system using UML notation and an appropriate tool. |
LO3 |
Apply design principles and patterns to design classes. |
LO4 |
Reverse engineer code into software models at different levels of abstraction. |
Dependencies |
Module Recommendations
This is prior learning (or a practical skill) that is strongly recommended before enrolment in this module. You may enrol in this module if you have not acquired the recommended learning but you will have considerable difficulty in passing (i.e. achieving the learning outcomes of) the module. While the prior learning is expressed as named MTU module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).
|
12786 |
SOFT7007 |
Requirements Engineering |
Incompatible Modules
These are modules which have learning outcomes that are too similar to the learning outcomes of this module. You may not earn additional credit for the same learning and therefore you may not enrol in this module if you have successfully completed any modules in the incompatible list.
|
No incompatible modules listed |
Co-requisite Modules
|
No Co-requisite modules listed |
Requirements
This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed. You may not enrol on this module if you have not acquired the learning specified in this section.
|
No requirements listed |
Indicative Content |
Introduction to OO Analysis and Design.
What is object orientation, why we use object orientation, classes , objects, abstraction, encapsulation.Software modelling, aims of modelling, principles of modelling ,overview UML. The object oriented analysis and design process. User Stories. Analysis and design artifacts.
|
Domain Modelling.
What is a conceptual Model. Identifying classes and their relationships. Identify class responsibilities, CRC cards.
|
Domain Driven Design
Domain-Driven Design basics.Discovering the domain and the Ubiquitous Language. Value objects, entities, aggregates,effective aggregate design,
repositories, command pattern and factories.
|
Object-Oriented Design Principles.
Introduction to Object-oriented design principles, cohesion and Coupling, GRASP design principles, SOLID principles.
|
Design Class Diagrams
Inheritance, composition, situations when composition is favored over inheritance, delegation, shared members, derived attributes. Operation contracts .
|
Object-Oriented Design Patterns.
What are design Patterns. Overview of a number of patterns such as Singleton,composite,Observe and Delegation.
|
Package, Component, and Deployment Diagrams.
Modeling groups of elements - Package Diagrams, components,interfaces.
|
Package Principles.
Packages, reuse-release principle,common closure principle, common reuse principle, acyclic dependencies.
|
Implementation.
Mapping strategies used to map models to code and databases.
Abstracting models from code.
|
Module Content & Assessment
|
Assessment Breakdown | % |
Coursework | 50.00% |
End of Module Formal Examination | 50.00% |
Assessments
End of Module Formal Examination |
|
Reassessment Requirement |
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.
|
The University reserves the right to alter the nature and timings of assessment
Module Workload
Workload: Full Time |
Workload Type |
Contact Type |
Workload Description |
Frequency |
Average Weekly Learner Workload |
Hours |
Lecture |
Contact |
Presentation of indicative content. |
Every Week |
2.00 |
2 |
Lab |
Contact |
Lab to support learning outcomes. |
Every Week |
2.00 |
2 |
Independent & Directed Learning (Non-contact) |
Non Contact |
Reading, writing and study. |
Every Week |
3.00 |
3 |
Total Hours |
7.00 |
Total Weekly Learner Workload |
7.00 |
Total Weekly Contact Hours |
4.00 |
Workload: Part Time |
Workload Type |
Contact Type |
Workload Description |
Frequency |
Average Weekly Learner Workload |
Hours |
Lecture |
Contact |
Presentation of indicative content. |
Every Week |
2.00 |
2 |
Lab |
Contact |
Lab to support learning outcomes. |
Every Week |
2.00 |
2 |
Independent & Directed Learning (Non-contact) |
Non Contact |
Reading, writing and study |
Every Week |
3.00 |
3 |
Total Hours |
7.00 |
Total Weekly Learner Workload |
7.00 |
Total Weekly Contact Hours |
4.00 |
Module Resources
|
Recommended Book Resources |
---|
-
Alan Dennis. (2015), Systems Analysis and Design: An Object Oriented Approach with UML, 5th. John Wiley & Sons, [ISBN: 9781118804674].
| Supplementary Book Resources |
---|
-
Simon Bennett,Steve McRobb,Ray Farmer. (2010), Object-Oriented Systems Analysis and Design, 4. McGraw-Hill Education, [ISBN: 9780077125363].
-
Matthias Noback. (2015), Principles of Package Design: Preparing your code for reuse, Matthias Noback;, [ISBN: 9789082120141].
-
Eric Evans. (2003), Domain-Driven Design: Tackling Complexity in the Heart of Software, 1. Addison-Wesley Professional, [ISBN: 9780321125217].
-
Eric Evans. (2014), Domain-Driven Design Reference: Definitions and Pattern Summaries, Dog Ear Publishing, LLC, [ISBN: 9781457501197].
-
Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides. (1994), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional, [ISBN: 9780201633610].
-
Eric Freeman. (2004), Head First Design Patterns: A Brain-Friendly Guide, O'Reilly Media, [ISBN: 9780596007126].
-
Avinash C. Kak. (2015), Designing with Objects: Object-Oriented Design Patterns Explained with Stories from Harry Potter, Wiley, [ISBN: 9781118581209].
-
Craig Larman. (2002), Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3. Prentice Hall, [ISBN: 9780131489066].
-
Robert C. Martin. (2002), Agile Software Development, Principles, Patterns, and Practices, Pearson, [ISBN: 9780135974445].
-
Brahma Dathan,Sarnath Ramnath. (2015), Object-Oriented Analysis, Design and Implementation: An Integrated Approach (Undergraduate Topics in Computer Science), 2. Springer, [ISBN: 9783319242781].
| This module does not have any article/paper resources |
---|
Other Resources |
---|
-
Website, Object Oriented Design Patterns,
-
Website, UML Resource center,
-
Website, Domain Driven Design Community,
-
Website, Object Oriented Analysis & Design
Tutorial,
|
|