Module Descriptors
SOFTWARE ENGINEERING PRINCIPLES AND PRACTICES
COMP70066
Key Facts
Digital, Technology, Innovation and Business
Level 7
20 credits
Contact
Leader: Ateeq Ur Rehman
Hours of Study
Scheduled Learning and Teaching Activities: 52
Independent Study Hours: 148
Total Learning Hours: 200
Pattern of Delivery
  • Occurrence A, Stoke Campus, PG Semester 1
  • Occurrence B, Digital Institute London, PG Semester 1
Sites
  • Digital Institute London
  • Stoke Campus
Assessment
  • GROUP BASED MINI-PROJECT - 15 MINUTE PRESENTATION weighted at 80%
  • INDIVIDUAL REFLECTIVE REPORT - 1500 WORDS weighted at 20%
Module Details
Inidcative Content
This module will cover topics of:

Software Engineering as an academic discipline

Software development lifecycles (requirements, costing, design process, implementation, testing and evaluation)

Modelling techniques and tools

Typical teams, and associated roles and practices
Planning, cost estimation, risk evaluation, and contingency planning

Small to large project address, issues of scalability and problem solving

Peer review of developments of applications and solutions
Project Management

Utilise literature from provided and personal research to solve problems

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

Risks and identification of these throughout the Software Development lifecycle

Security: typical threats, attacks and exploits, and the motivations behind them

Quality, metrics, testing, and process improvement (using maths as appropriate to weighting solutions)

Internationalisation and localisation

Professional, legal, and ethical, societal, and environmental software development issues

Areas current and emerging related to research into Software Engineering

Emerging innovation within the industry
Additional Assessment Details
Group based mini project – A group based component which looks at the full software engineering lifecycle as a project. Students will be required to specify, design, implement and test a small software project based on a real-world problem. In supporting the development of the solution the student’s will be expected to develop and apply an appropriate professional infrastructure utilising relevant tools and techniques as discussed in the relevant sections of the module (Learning Outcomes 1 to 3).

Individual reflective report – This will be an account of the student’s learning and skill development during the module and the first assessment (Learning Outcome 4).
Learning Strategies
All teaching sessions will blend theory and practical learning. Students will be introduced to curriculum concepts and ideas and will then be able to apply theory to practical examples within the same sessions. In addition, students will be provided with a range of resources for independent study such as case studies, academic papers and industry stories. There will be a mixture of practical and theoretical formative (mock or practice) exercises which will help students build knowledge and confidence in preparation for summative (formal) assessment.
Learning Outcomes

1. Demonstrate a systematic understanding of the current theory and practice of software engineering concepts and principles

Knowledge and Understanding, Enquiry, Learning


2. Analyse, design, implement, test and document a software product using appropriate software development methods and tools as part of a small development team

Application,
Analysis,
Problem Solving


3. Demonstrate a systematic understanding of current legal, ethical and professional issues pertaining to software engineering

Knowledge and Understanding,
Learning


4. Reflect critically on personal contribution, professionalisation and skills developed during the production of a software product using industry standard software engineering principles and practices as part of a development team

Communication,
Reflection

Texts
All texts and electronic resources will be updated and refreshed on an annual basis and available for students via the online Study Links resource platform. All reference materials will be collated and curated and aligned to Equality, Diversity & Inclusion indicators.


Farley, D. (2021). Modern Software Engineering: Doing What Works to Build Better Software Faster. Addison-Wesley Professional

Sethi, R. (2022). Software Engineering: Basic Principles and Best Practices. Cambridge University Press

Tollen, D.W. (2021). The Tech Contracts Handbook: Software Licenses, Cloud Computing Agreements, and Other It Contracts for Lawyers and Businesspeople

Girvan, L. (2022). Agile From First Principles

Wiegers, K. (2021), Software Development Pearls: Lessons from Fifty Years of Software Experience, Addison-Wesley Professional; 1st edition

Woods, A. (2021), Rules for Software Development: A Book About Professionalism, Andrew Woods



SIGSOFT (www.sigsoft.org)
Resources
There are no prescribed technologies/applications however, there are a number freely available or university provisioned tools that will be presented.
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. It provides theoretical and practical exposure to skills demanded by employers and is constantly reviewed to ensure you have everything you need to succeed as a professional Software Engineer.