DCU Home | Our Courses | Loop | Registry | Library | Search DCU


Module Specifications

Archived Version 2015 - 2016

Module Title
Module Code

Online Module Resources

NFQ level 8 Credit Rating 7.5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

The difference between writing a small program and developing a large-scale software product is not a difference of size as much as it is a difference of nature. While the construction of small programs is a purely technical issue, the development of larger software products is a multi-dimensional problem, which involves technical considerations as well as managerial and organizational considerations. The objective of this module is to explore all three inter-related perspectives and to provide the learner with the foundational skills necessary to understand and apply these skills in an industry context.

Learning Outcomes

1. Identify important historical and current literature addressing software engineering, software process, software methodologies, software quality and associated standards
2. Evaluate the concepts embodied in the most prevalent software methodologies and models, including knowledge of their advantages and disadvantages, and when it may be appropriate to use each approach
3. Explain and construct quality-oriented software development processes and explain the principles behind SPI models / standards and their implementation in software development organization and select the most appropriate model / standard for a given situation.
4. Develop models to specify software systems, starting from an initial problem statement, and making use of a variety of specification techniques
5. Demonstrate a solid understanding of the available methods for specifying software systems, including of the synergy between formal and semi-formal approaches

Workload Full-time hours per semester
Type Hours Description
Lecture36Course content, including supplementary material on key topics and associated tutorial material will be made available online using the DCU Loop e-learning system and other appropriate electronic means.
Tutorial12Exercises from notes and other exercises and practical work will be worked through.
Independent Study139This comprises time for reading, reviewing given and other exercises, group interaction on project, project time and write-up and revision
Total Workload: 187

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

Introduction / overview (1 lecture)
Introduction to software engineering process, principles and methods

Software process, lifecycle and models (5 lectures)
Tradition (plan-based) approaches; Formal approaches; Agile approaches and methodologies; Standards and process reference models

Software lifecycle (14 lectures)
Requirements engineering; Systems modelling; Architectural design; Software design, patterns and reuse; Software evolution, refactoring, maintenance and test

Dependable Software Construction (8 lectures)
Dependability and reliability specification; Formal models and verification; Security guidelines and considerations

Software Management (8 lectures)
Project management; Project planning; Software metrics and measurement; Software estimation and cost modelling; Risk management; Quality management; Configuration management; Process assessment and improvement; and Software quality and management standards

Assessment Breakdown
Continuous Assessment% Examination Weight%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Reassessment Requirement
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
Indicative Reading List

  • Ian Sommerville: 2010, Software Engineering, Pearson Education,
  • Hans van Vliet: 2000, Software Engineering: Principles and Practice,
  • Sami Zahran: 2006, Essential Software Process Improvement, Essential Software Process Improvement,
  • Daniel Galin: 2003, Software Quality Assurance: From Theory to Implementation,
  • Christopher Fox: 2006, Introduction to Software Engineering Design: Processes, Principles and Patterns with UML2,,
  • Leszek Maciaszek and Bruc Lee Liong: 2004, Practical Software Engineering: A Case-Study Approach,
  • Shari Lawrence Pfleeger and Joanne M. Atlee: 2012, Software Engineering: Theory and Practice,
  • Watts Humphrey: 1995, Discipline for Software Engineering, Addison Wesley,
  • Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm: 1998, Design Patterns: Elements of Reusable Object-Oriented Software,
  • Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson: 2004, Head First Design Patterns,
  • Stephen H. Kan: 2003, Metrics and Models in Software Quality Engineering,
  • Robert T. Futrell, Donald F. Shafer, Linda I. Safer: 2002, Quality Software Project Management,
Other Resources

14889, IEEE, 0, Website, The Guide to the Software Engineering Body of Knowledge (SWEBOK Guide), http://www.computer.org/web/swebok, 14890, 0, Wesbite, http://sourcemaking.com/,
Programme or List of Programmes