KV5035 - Software Architecture

What will I learn on this module?

This module will give you an essential foundation in software architecture. You will learn about the importance of making high-level design choices when developing software systems. You will learn how to model and reason about architectural design choices and to take account of multiple perspectives and concerns. You will be introduced to a range of architectural styles and to their application. You will learn about the relationship between software architecture and software quality, including security, dependability, and scalability. The module will combine ways of thinking and reasoning about software systems with practical approaches to implementation. You will learn how to use appropriate frameworks and libraries, how to use tools for managing quality and risk, and how to create interfaces between system components. As part of the work you will build a component-based system.

‘Software Architecture’ will prepare you for your final year, providing approaches that will be valuable if you develop software for your Group and Individual Projects. Employers are looking for skilled software architects who can work as individuals and as members of a team in making high-level design choices and framing technical standards. Software Architect roles are often among the highest paid in the software industry.

During ‘Software Architecture’ you will work through practical exercises, making use of Northumbria’s state-of-the-art computer labs. You will also critically engage with research outputs as part of your research-rich learning. The assessment will be a final assignment to design, implement and document a software system following architectural principles.

How will I learn on this module?

You will learn through lectures, workshops, and independent learning. There will also be a regular, supervised “drop-in” session that will provide an opportunity for you to ask questions and gain further support with workshop tasks. When appropriate, examples will be taken from real business and industrial situations. Throughout the module you will be given the opportunity to examine and discuss the application of software architecture concepts in real and simulated situations. During the scheduled workshop and drop-in session staff will be available to provide support and feedback to you. These will be hands-on sessions in Northumbria’s computer labs, which are fully equipped with the latest industry-standard software.

How will I be supported academically on this module?

You will be supported by lecturers during the timetabled sessions when you will receive feedback on your work. You can approach staff outside formal teaching sessions to request an appointment to seek advice if required. The University’s eLearning Portal offers remote access to all lecture and seminar materials to reinforce your learning. In addition, the university library offers support for all students through providing electronic resources

What will I be expected to read on this module?

All modules at Northumbria include a range of reading materials that students are expected to engage with. The reading list for this module can be found at: http://readinglists.northumbria.ac.uk
(Reading List service online guide for academic staff this containing contact details for the Reading List team – http://library.northumbria.ac.uk/readinglists)

What will I be expected to achieve?

Knowledge & Understanding:
MLO1 – Demonstrate knowledge of approaches to modelling, representing and reasoning about software architectures, and knowledge of major and emerging architectural styles.

MLO2 – Demonstrate knowledge of components (such as packages, libraries, services, layers and resources), their interfaces, and associated quality issues including security.

MLO3 – Demonstrate knowledge of the tools and approaches used to build, maintain and test component-based software systems and for managing quality and risks across the project lifecycle.

Intellectual / Professional skills & abilities:
MLO4 – Use architectural patterns and concepts to build a component based system.

Personal Values Attributes (Global / Cultural awareness, Ethics, Curiosity) (PVA):
MLO5 – Effectively communicate information, arguments and analyses about software using appropriate technical documentation

How will I be assessed?

The module will be assessed using two items of coursework, each worth 50%.

Firstly, you will implement a component-based system using at least three different languages (e.g. Python, JavaScript and SQL) and a structured interface (e.g. using JSON). You will use appropriate software libraries and frameworks with each language. You must submit well formatted code and configuration files for this system (up to 500 lines, not including library code). You must also submit a short video (max 3 minutes) of you performing component tests (e.g. using a tool such as Postman). This part of the assessment will address MLO1, MLO2, MLO3.

Secondly, you will create technical documentation of the system architecture using appropriate models and approaches. The documentation is limited to 1500 words plus diagrams. This part of the assessment addresses MLO3, MLO4 and MLO5.

You will receive both informative and confirmatory feedback?on your assessments.

There will also be formative assessment and feedback through your work on the course materials. The formative assessment will address all module learning outcomes. The formative assessment will not contribute to your final marks but will be helpful to you when completing the final assessments.

Pre-requisite(s)

N/A

Co-requisite(s)

N/A

Module abstract

This module will extend your understanding of software design and development. You will learn how to take a high-level, architectural view of software that equips you for building large-scale, multi-component systems. You will acquire relevant theoretical and practical knowledge for designing and modelling software architecture, and will put this knowledge into practice by implementing a component based system. The module will be highly relevant to and suitable for students with diverse interests including software development, project management and systems thinking.

Course info

UCAS Code G407

Credits 20

Level of Study Undergraduate

Mode of Study 3 years Full Time or 4 years with a placement (sandwich)/study abroad

Department Computer and Information Sciences

Location City Campus, Northumbria University

City Newcastle

Start September 2024 or September 2025

Fee Information

Module Information

All information is accurate at the time of sharing. 

Full time Courses are primarily delivered via on-campus face to face learning but could include elements of online learning. Most courses run as planned and as promoted on our website and via our marketing materials, but if there are any substantial changes (as determined by the Competition and Markets Authority) to a course or there is the potential that course may be withdrawn, we will notify all affected applicants as soon as possible with advice and guidance regarding their options. It is also important to be aware that optional modules listed on course pages may be subject to change depending on uptake numbers each year.  

Contact time is subject to increase or decrease in line with possible restrictions imposed by the government or the University in the interest of maintaining the health and safety and wellbeing of students, staff, and visitors if this is deemed necessary in future.

 

Useful Links

Find out about our distinctive approach at 
www.northumbria.ac.uk/exp

Admissions Terms and Conditions
northumbria.ac.uk/terms

Fees and Funding
northumbria.ac.uk/fees

Admissions Policy
northumbria.ac.uk/adpolicy

Admissions Complaints Policy
northumbria.ac.uk/complaints