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
On-line materials will exemplify topical issues and best practice case studies.
You will be prepared for each topic via a weekly briefing by the relevant member of the teaching team. The tasks set will be explained and the relevant resources released. You will then be expected to make progress on the tasks independently reporting back to the teaching team via an electronic review meeting until the task is completed before progressing to the next topic.
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 focuses on key Software Engineering principles encompassing the management of the entire software development process. In addition, this module gives exposure to current industry standard practices such as the Agile software development methodology and quality driven development.