Welcome to Secure Software Development module.
In this module, we’ll take an in depth look at the security risks which are associated with programming languages, from the perspectives of design and architecture approaches, programming paradigms, testing, the impact and implications of operating systems and libraries on software development, the security risks associated with distributed systems and APIs, and future trends in secure software and systems design. Running through these topics will be the concept of the secure software development life cycle.
In this module we shall:
Acquire a critical understanding of the concept of abstraction in programming.
Develop an understanding of the basic principles of secure development methodologies.
Explore how to undertake analysis, program design, software construction and testing required for software development.
Demonstrate an understanding of the basic principles of architecture, as well as traditional and contemporary Software Development Life Cycle (SDLC) models, such as TOGAF and Agile.
The ability to put into practice the techniques learned in a team environment, demonstrating how to deal with conflicts and how to make compromises, and be able to critically evaluate the effectiveness of the approaches.
Utilise the opportunity to reflect on and evaluate your own personal development.
On completion of this module, you will be able to:
Identify and manage security risks as part of a software development project.
Critically analyse development problems and determine appropriate methodologies, tools and techniques (including program design and development) to solve them.
Design and develop/adapt computer programs and to produce a solution that meets the design brief and critically evaluate solutions that are produced.
Systematically develop and implement the skills required to be effective member of a development team in a virtual professional environment, adopting real-life perspectives on team roles and organisation.