H8OOS: Object Oriented
Software Engineering
Long Title: Object Oriented Software Engineering
Language of Instruction: English
Module Code: H8OOS
Credits: 5
NFQ Level: LEVEL 8
Field of Study: Software and applications development and analysis
Module Delivered in 2 programme(s)
Module Coordinator: ANTHONY PAUL STYNES
Module editor: ANTHONY PAUL STYNES
Teaching and Learning Teaching & Learning will take place via lectures, case studies, practical lab sessions and class discussions
Strategy: This module is suitable for blended delivery. Techniques such as online videos showing step by step
instructions, links to extra material available on the Internet, lecture notes available online on Moodle,
flipped classroom, Moodle lesson, social media may be used. Learner’s may also use collaborative tools for
the development of the project. The continuous assessment can be done though online Moodle quiz and the
practical work submitted online on Moodle.
Learning Environment: Learning will take place in a classroom/lab/workplace environment with access to IT resources. Educational
strategies such as problem based learning may be applied to this module. Learners will have access to
library resources, both physical & electronic and to faculty outside of the classroom where required.
Module Description: The module aims to: • Provide students with an overview of Object Oriented Software Engineering using the
Unified Modelling Language.
Learning Outcomes
On successful completion of this module the learner will be able to:
LO1 Demonstrate the conceptual, practical and technical skills of planning and monitoring a project plan using an appropriate
CASE tool
LO2 Demonstrate an understanding of Agile Development
LO3 Describe in detail the theory, concepts and methods pertaining to the Unified Modelling Language (UML).
LO4 Create requirements using use case modelling concepts.
LO5 Demonstrate conceptual and technical skills in the analysis, design and implementation of a software system using Object
Oriented Concepts.
LO6 Employ tools and techniques for Object Oriented Software Engineering,
LO7 Demonstrate an ability to adapt and solve problems in software development activities from specification to testing individually
and as part of a team.
Pre-requisite learning
Module Recommendations
This is prior learning (or a practical skill) that is required before enrolment on this module. While the prior learning is expressed as named
NCI module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named
module(s).
No recommendations 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
H8OOS: Object Oriented
Software Engineering
Module Content & Assessment
Indicative Content
Software Engineering
• Principles of Software Engineering. • Software Process.
Software Project Management
• Project Management Concepts • Process, Project and Product Metrics • Software Project Organization • Recruiting and Staffing projects •
Project roles and the project team • Project planning methods • Risk analysis and risk management • Project scheduling and Tracking •
Project inspections and walkthroughs • Coping with change – change models • Software Quality Assurance
Agile Development
• Agility Agile Process. • Extreme Programming. • Agile Process Models such as SCRUM, Crystal and so on.
Object Orientation (OO) using Unified Modelling Language (UML)
• Introduction • OO principles • OO Concepts
Use case modelling
• Actors • Use Cases • Anatomy of use cases • Actor Inheritance • Uses relationship • Extends relationship
Class Diagrams
• Conceptual class diagram • Problem domain concepts • Associations • Multiplicity • Roles • Generalization • Constraints • Navigability •
Recursive associations • Qualified associations • Association classes • Aggregation • Dependency • Package
Analysis Phase
• Case Study such as Point of Sale. • Glossary. • System Sequence Diagrams. • Contracts Interaction diagrams
Communication Diagrams
• Guidelines • Classes and instances • Links • Messages • Return types • Iterations • Creation of instances • Message number sequencing •
Conditional messages • Collections • Class messages
Design Phase
• Responsibilities • Expert Pattern • Creator Pattern • Controller Pattern • Design class diagrams • Three tier Architectures • Multi tiered
Architectures • Model view separation pattern • Mapping to code
Product Implementation and Testing
• Software testing strategies such as System test, Integration test and unit test. • Software Testing Techniques. • Black box and White box
testing. • Basis path testing. • Cyclomatic complexity.
Assessment Breakdown %
Coursework 60.00%
End of Module Assessment 40.00%
Full Time
Coursework
Assessment Assessment Description Outcome % of Assessment
Type addressed total Date
Continuous The project requires the learner to create a number of deliverables to 1,3,4,5 60.00 n/a
Assessment model, implement and deploy an application using the principles of
Object Orientated Software Engineering. Each deliverable brings the
learner the various stages of the Software Development Lifecycle from
modelling the requirements through to the deployment and
implementation of an application
End of Module Assessment
Assessment Type Assessment Description Outcome % of Assessment Date
addressed total
Terminal Exam End-of-Semester Final Examination 1,2,3,4,5,6,7 40.00 End-of-Semester
No Workplace Assessment
NCIRL reserves the right to alter the nature and timings of assessment
H8OOS: Object Oriented
Software Engineering
Module Workload
Workload: Full Time
Workload Type Workload Description Hours Frequency Average
Weekly
Learner
Workload
Lecture No Description 24 Every 24.00
Week
Tutorial No Description 12 Every 12.00
Week
Independent Learning No Description 125 Once per 10.42
semester
Total Hours 161.00
Total Weekly Learner Workload 46.42
Total Weekly Contact Hours 36.00
Workload: Part Time
Workload Type Workload Description Hours Frequency Average
Weekly
Learner
Workload
Lecture No Description 24 Every 24.00
Week
Tutorial No Description 12 Every 12.00
Week
Independent Learning Time No Description 125 Once per 10.42
semester
Total Hours 161.00
Total Weekly Learner Workload 46.42
Total Weekly Contact Hours 36.00
Module Resources
Recommended Book Resources
Alan Dennis, Barbara Haley Wixom, David Tegarden 2015, Systems Analysis and Design with UML, 5 Ed., Wiley
Shore, J., and Warden, S 2014, The Art of Agile Development, 1 Ed., O'Reilly Media
Bernd Bruegge 2013, Object-oriented software engineering using UML, patterns and java, Pearson New International ed of 3rd
revised Ed., Pearson Education Limited Harlow, United Kingdom [ISBN: 9781292024011]
Supplementary Book Resources
Axel van Lamsweerde 2009, quirements Engineering: From System Goals to UML Models to Software Specifications, Wiley
Dragan Milicev 2009, Model-Driven Development with Executable UML, Wiley
Fowler, M 2003, UML Distilled, Addison, Wesley
Eriksson, H.E., Penker, M., Lyons, B., and Fado, D 2003, UML 2 Toolkit, Wiley
Eric Baude, Michael Bernstein 2011, Software Engineering Modern Approaches, 2 Ed., Wiley
Roger S. Pressman 2010, Software Engineering: A practioners approach, 7 Ed., McGraw and Hill
Pilone, D., Pitman, N 2005, UML 2.0 in a Nutshell, O’Reilly Media Inc
This module does not have any article/paper resources
Other Resources
Website: http://www-01.ibm.com/software/rational/ uml/
Website: http://www-01.ibm.com/software/rational/ uml/
Module Delivered in
Programme Code Programme Semester Delivery
HDCOM Higher Diploma in Science in Computing 1 Core Subject
HDSWTECH Higher Diploma in Science in Web Technologies 1 Core Subject