Module Learning Outcomes
1. Demonstrate a systematic understanding of the current theory and practice of software engineering concepts and principles.
Knowledge and
Understanding
2. Specify and plan a software development project using an appropriate software development life-cycle model.
Enquiry
Learning
3. Analyse, design, implement, test and document a software product using appropriate software development methods and tools as part of a small development team.
Application
Problem Solving
4. Reflect critically on personal contribution, professionalisation and skills developed during the development of a software product using industry standard software engineering principles and practices as part of a development team
Communication
Reflection
Module Indicative Content
This module will cover topics of:
Software development lifecycles
Planning, cost estimation, risk evaluation, and contingency planning
Project Management
Requirements specification
Design paradigms – including Agile Techniques
Design architectures and patterns (e.g. model-view-controller)
Managing deployment and maintenance, and change control of software
Practices for safety-critical systems
Security: typical threats, attacks and exploits, and the motivations behind them
Quality, metrics, testing, and process improvement
Internationalisation and localisation
Professional, legal, and ethical software development issues
Module Additional Assessment Details
The theory and practice will be assessed by 100% in coursework consisting of two components.
The first worth 80% is a group based mini-project (Learning Outcomes 1 to 3).
The second and final assessment is an individual reflective account of the student’s learning and skill development during the module (Learning Outcome 4).
Module Learning Strategies
12 hours (lectures); 12 hours (tutorials); 12 hours (workshops)
Students will be expected to use and regularly engage with the Virtual Learning Environment (VLE) employed for the delivery of this module. Typically, this will be 'Blackboard' and students are expected to work through the module material provided on the VLE at the suggested pace and in accordance with the Learning Activity Plan. The material will include content and activities that allow students to assimilate the concepts and skills required by the module.
Module Texts
Sommerville, I. (2017) Software Engineering. 10th ed. Pearson, ISBN-13: 978-9332582699
Pressman, R.S. (2014). Software Engineering: A Practitioner's Approach. 8th ed. McGraw-Hill, ISBN-13: 9780078022128
Gillies, A. (2011). Software Quality: Theory and Management. 3rd ed. lulu.com, ISBN-13: 978-1446753989
Martin, R.C. (2013). Agile Software Development, Principles, Patterns, and Practices. Pearson. ISBN-13: 978-1292025940
Module Resources
Software development tools as appropriate (code design, authoring and management)
Project Management, costing and reporting software as appropriate
Module Special Admissions Requirements
None
Web Descriptor
This module will cover topics of software development such as life cycles, planning, cost estimation, risk evaluation, contingency planning, project management, requirements specification and design architectures and patterns.