This module develops students’ understanding and experience in design/programming within a software engineering context.
The aim of this module is to provide the student with the ability to review, critically evaluate and apply software engineering practice in the development of object-oriented software solutions.
By the end of this module the student should be able to:
1. Explain, compare and contrast different plan driven and agile software development methodologies and practices, such as waterfall, extreme programming and continuous integration/continuous delivery;
2. Describe and apply Code construction concepts including coupling, cohesion, test-driven development and source control;
3. Describe and apply design principles and design patterns;
4. Explain and use Secure coding practices.
1 Software engineering (SE):
What is SE? Application to development process; application to programming practices.
2 SE Development methodologies:
Extreme Programming, Waterfall Model.
3 Source control:
Strategies; tools; version control systems (git).
4 Code development practices:
Design concepts: Coupling and Cohesion; Continuous integration/continuous delivery (CI/CD); Test-Driven Development (TDD).
5 Unified Modelling Language (UML):
Documenting programs using UML standards: Use case diagrams; Sequence diagrams; Class diagrams; State-machine diagrams; Activity diagrams;
Review and application of architectural and design patterns to common programming problems.
7 Secure OO coding practices:
Identifying coding vulnerabilities; types of exploits; protection through good programming practice.
8 Protecting against the user:
Full input verification & validation; handling passwords and encryption.
Teaching and Learning Work Loads
For session 2020/21 the expectation is that the teaching and learning hours stated in this descriptor will form a mix of synchronous and asynchronous student/staff activity, with the majority of this being online. The exact pattern of this activity is likely to vary from the standard face-to-face hours listed below but the overall student effort remains the same. Up-to-date information on the delivery of the module can be found on the relevant module MLS site and on your student timetable.
|Teaching and Learning Method||Hours|
SCQF Level - The Scottish Credit and Qualifications Framework provides an indication of the complexity of award qualifications and associated learning and operates on an ascending numeric scale from Levels 1-12 with SCQF Level 10 equating to a Scottish undergraduate Honours degree.
Credit Value – The total value of SCQF credits for the module. 20 credits are the equivalent of 10 ECTS credits. A full-time student should normally register for 60 SCQF credits per semester.
We make every effort to ensure that the information on our website is accurate but it is possible that some changes may occur prior to the academic year of entry. The modules listed in this catalogue are offered subject to availability during academic year 2020/21 , and may be subject to change for future years.