This page displays the selected Module Descriptor.
Printer friendly version
Session: 2022/23
Last modified: 21/07/2022 17:03:04
Title of Module: GA - Software Engineering Practice |
---|
Code: GRLA09003 |
SCQF Level: 9 (Scottish Credit and Qualifications Framework) |
Credit Points: 40 |
ECTS: 20 (European Credit Transfer Scheme) |
---|
School: | School of Computing, Engineering and Physical Sciences |
---|
Module Co-ordinator: | Joanna
Olszewska |
---|
Summary of Module |
---|
This module builds on the analysis models and data structures introduced in the prerequisite Software Engineering module at L8. The module focuses on program design considerations, algorithmic complexity, and trade-offs in developing object-oriented classes as well as on approaches to the validation and verification (V&V) of these classes and the software systems of which they form parts. Software quality attributes are reviewed and trade-offs between them discussed. The module focuses on software quality attributes such as efficiency, testability, and application security, and the importance of addressing these during the design. In terms of design approaches, object-oriented class design principles introduced in the previous module are developed in context of real-world applications.
Industry standard implementations of these algorithms and collections using binary trees and graphs are studied and their performance assessed analytically. In addition, the concept of a design pattern is introduced, and several important patterns and their implementations in a modern object-oriented programming language are reviewed. The identification and assessment of software vulnerabilities is introduced.
Undertaking this module will develop a range of graduate attributes such as ethically-minded, socially responsible, problem-solving, and analytical thinking. The module will be assessed by an ambitious programming project in which students will use test-driven development and appropriate testing frameworks and V&V tools for the software they develop. This will also provide an opportunity for students to practice design patterns and collection class libraries. Furthermore, students will develop a range of scientific communication skills through a wide range of assessments such as essays, videos, etc.
|
Module Delivery Method |
---|
Face-To-Face | Blended | Fully Online | HybridC | HybridO | Work-based Learning |
| |  |  | | |
Face-To-Face
Term used to describe the traditional classroom environment where the students and the lecturer meet synchronously in the same room for the whole provision.
Blended
A mode of delivery of a module or a programme that involves online and face-to-face delivery of learning, teaching and assessment activities, student support and feedback. A programme may be considered “blended” if it includes a combination of face-to-face, online and blended modules. If an online programme has any compulsory face-to-face and campus elements it must be described as blended with clearly articulated delivery information to manage student expectations
Fully Online
Instruction that is solely delivered by web-based or internet-based technologies. This term is used to describe the previously used terms distance learning and e learning.
HybridC
Online with mandatory face-to-face learning on Campus
HybridO
Online with optional face-to-face learning on Campus
Work-based Learning
Learning activities where the main location for the learning experience is in the workplace.
|
Term(s) for Module Delivery |
---|
(Provided viable student numbers permit).
|
Term 1 |  | Term 2 |  | Term 3 | |
[Top of Page]
Learning Outcomes: (maximum of 5 statements) |
---|
On successful completion of this module the student will be able to:
L1.
Evaluate requirements relating to collections of data in a given scenario and select an appropriate concrete implementation for the collection, taking into account space and time performance trade-offs.
L2.
Demonstrate an understanding of common object oriented design patterns and apply these in building a software system.
L3.
As part of a systematic V&V process, identify effective test cases in designing a software component and execute those tests using appropriate testing tools on the implemented component.
L4.
Identify and assess security vulnerabilities in a software component
L5.
Demonstrate expertise in the use of an integrated software development environment and its tools in the design and implementation of a software system. |
Employability Skills and Personal Development Planning (PDP) Skills |
---|
SCQF Headings |
During completion of this module, there will be an opportunity to achieve
core skills in:
|
---|
Knowledge and Understanding (K and U) |
SCQF Level 9.
Demonstrate a broad and integrated knowledge and understanding of the technologies available for the design and implementation of data collections.
Demonstrate a detailed understanding of existing collections frameworks and the performance of a variety of implementations of the collections in the frameworks.
A broad range of knowledge of the following concepts: software testing, software failure, validation, verification, functional testing, structural testing, error-oriented testing, data flow coverage, mutation testing, integration, regression, GUI, system and high order testing.
|
Practice: Applied Knowledge and Understanding |
SCQF Level 7.
Design and develop implementations of collection classes, making use of advanced programming language features, and where appropriate to obtain good performance using data structures that are algorithmically complex to manipulate.
Use algorithmic analysis and development practices at an advanced level in designing solutions involving collections of data.
Understand and be able to use: different software testing techniques for the purposes of testing graphical and textual applications in both a static and dynamic manner.
Use the following basic computing skills: formulation of a test plan and test log using basic office tools, graphical representation of paths through computer code, constructing appropriate tests for GUI applications and textual applications.
|
Generic Cognitive skills |
SCQF Level 7.
Critically evaluate the requirements for a collection, taking account of a range of considerations including reusability, performance, security and other aspects of the problem scenario.
Use a range of approaches to test graphical and textual software applications. |
Communication, ICT and Numeracy Skills |
SCQF Level 7.
Communicating effectively and appropriately in speech and writing.
Interpreting complex primary materials.
Making effective use of information retrieval systems and use information technology applications to present documents in an appropriate form.
|
Autonomy, Accountability and Working with others |
SCQF Level 7.
Exercise autonomy and initiative at a professional level in the design, development and testing of applications. |
Pre-requisites: |
Before undertaking this module the student should have
undertaken the following:
|
---|
Module Code: GRLA08002
| Module Title: GA - Software Engineering
*
|
Other: | |
Co-requisites | Module Code:
| Module Title:
|
---|
* Indicates that module descriptor is not published.
[Top of Page]
Learning and Teaching |
---|
|
Learning Activities During completion of this module, the learning activities undertaken to
achieve the module learning outcomes are stated below:
| Student Learning Hours (Normally totalling 200 hours): (Note: Learning hours include both contact hours and hours spent on other learning activities) |
Lecture/Core Content Delivery | 30 |
Laboratory/Practical Demonstration/Workshop | 90 |
Personal Development Plan | 20 |
Independent Study | 260 |
| 400
Hours Total
|
**Indicative Resources: (eg. Core text, journals, internet
access)
|
---|
The following materials form essential underpinning for the module content
and ultimately for the learning outcomes:
Lecture and Laboratory materials (published on Moodle)
C++ and Java development environments (Microsoft Visual Studio and Eclipse, for example).
Sommerville, I. (2015). Software Engineering: Tenth Edition. Pearson
The following texts represent useful supplementary reading material:
Josuttis, N. M. (2012). The C++ Standard Library: A Tutorial and Reference (2nd Edition). Addison Wesley. ISBN-10: 0321623215
Collins, W.J. (2011). Data Structures and the Java Collections Framework. 3rd edition. John Wiley & Sons, ISBN-10: 9780470482674.
Graham, D., van Veenendaal, E., and Black, R. (2012). Foundations of Software Testing ISTQB Certification. CENGAGE Learning.
Hambling, B. (2015). Software Testing: An ISTQB-BCS Certified Tester Foundation Guide. BCS: The Chartered Institute for IT. (Required)
Heinemann, G. T., Pollice, G., and Selkow, S. (2015). Algorithms in a Nutshell. O'Reilly Media. ISBN-10: 1491948922
Myers (2004). The Art of Software Testing. John Wiley & Sons, Inc., Hoboken, New Jersey (Required)
|
(**N.B. Although reading lists should include current publications,
students are advised (particularly for material marked with an asterisk*) to
wait until the start of session for confirmation of the most up-to-date
material)
|
Engagement Requirements |
---|
In line with the Academic Engagement Procedure, Students are defined as academically engaged if they are regularly engaged with timetabled teaching sessions, course-related learning resources including those in the Library and on the relevant learning platform, and complete assessments and submit these on time. Please refer to the Academic Engagement Procedure at the following link: Academic engagement procedure |
[Top of Page]
Supplemental Information
Programme Board | Computing |
---|
Assessment Results (Pass/Fail) |
No
|
---|
Subject Panel | Business and Applied Computing |
---|
Moderator | James Riordan |
---|
External Examiner | D Doolan |
---|
Accreditation Details | |
---|
Version Number | 1.06 |
---|
[Top of Page]
Assessment: (also refer to Assessment Outcomes Grids below) |
---|
A development project with supporting documentation and an evaluative report of the work. The project provides an opportunity for students to demonstrate an ability to apply the principles learned in the module in the development and testing of a collection and to experimentally assess the performance obtained. The project will be issued in two parts, with detailed written feedback on the first part given to the students before they undertake the second part. In addition, prior to the first part of the project being issued, formative lab exercises exploring basic implementation considerations in implementing a simple collection are included which students submit and receive feedback on. |
(N.B. (i) Assessment Outcomes Grids for the module
(one for each component) can be found below which clearly demonstrate how the learning outcomes of the module
will be assessed.
(ii) An indicative schedule listing approximate times
within the academic calendar when assessment is likely to feature will be
provided within the Student Handbook.)
|
Assessment Outcome Grids (Footnote A.)
Footnotes
A. Referred to within Assessment Section above
B. Identified in the Learning Outcome Section above
[Top of Page]
Note(s):
- More than one assessment method can be used to assess individual learning outcomes.
-
Schools are responsible for determining student contact hours. Please refer to University Policy on contact hours (extract contained within section 10 of the Module Descriptor guidance note).
This will normally be variable across Schools, dependent on Programmes &/or Professional requirements.
|
Equality and Diversity |
---|
This module is appropriate for any student.
UWS Equality and Diversity Policy
http://www.uws.ac.uk/equality/
UWS Equality and Diversity Policy |
(N.B. Every effort
will be made by the University to accommodate any equality and diversity issues
brought to the attention of the School)
|