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 )
Duration: 1 Semester
Credits: 5
Field of Study: 4814 - Computer Software
Module Delivered in: 5 programme(s)
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%
Coursework50.00%
End of Module Formal Examination50.00%

Assessments

Coursework
Assessment Type Practical/Skills Evaluation % of Total Mark 20
Timing Week 6 Learning Outcomes 2,3,4
Assessment Description
The student would work through a number of small problems from analysis to design. They would also create models from an existing code base.
Assessment Type Project % of Total Mark 30
Timing Week 13 Learning Outcomes 2,3
Assessment Description
The students would work in a team on a project.The team would progressively build the object-oriented analysis and design artifacts for this project over a number of weeks.
End of Module Formal Examination
Assessment Type Formal Exam % of Total Mark 50
Timing End-of-Semester Learning Outcomes 1,2,3
Assessment Description
End of Semester 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
 
Module Delivered in
Programme Code Programme Semester Delivery
CR_KSDEV_8 Bachelor of Science (Honours) in Software Development 4 Mandatory
CR_KDNET_8 Bachelor of Science (Honours) in Computer Systems 4 Mandatory
CR_KWEBD_8 Bachelor of Science (Honours) in Web Development 4 Mandatory
CR_KCOMP_7 Bachelor of Science in Software Development 4 Mandatory
CR_KCOME_6 Higher Certificate in Science in Software Development 4 Mandatory