FSD1-SA03 Secure Application Lifecycle Management
FSD1-SA03 Secure Application Lifecycle Management
- Course description
- Course codeFSD1-SA03
- Level of study5.1
- Program of studySecure Application Development and Deployment
- Credits3
- Course coordinatorFrederick Johannes Botha
The MAL course focuses on application lifecycle models that emphasise a holistic view of software provisioning from governance, development, maintenance, and software retirement. The course presents an evolution of several software development lifecycles and lays a foundational taxonomy of programming and IT operations concepts. Learners gain a deeper understanding of computational thinking required to be proficient coders and are equipped with a broad overview of existing tools to support application lifecycle management, secure software development, and IT operations.
The MAL course holds a crucial position in the programme structure because it serves as a gateway to the world of software development. It is pivotal in establishing the fundamental principles and practices for effective application development. By engaging in this course, students gain the ability to navigate the entire lifecycle of a software system holistically. They learn to conceptualise systems, gather requirements aligning with business needs, design, implement, rigorously test, and successfully release applications into production environments. Moreover, students develop proficiency in system maintenance and retirement—a skillset indispensable in the software industry.
Beyond these foundational aspects, this course aligns perfectly with the overarching learning outcomes of the programme. It equips students with a deep understanding of the security considerations integral to any software system. They learn to identify security requirements and integrate them seamlessly into the design, implementation, testing, and ongoing maintenance phases of the system’s development, deployment, and operational lifecycle. This holistic approach ensures the creation of robust and secure applications and prepares students for the complex challenges of modern software development.
The candidate:
- has knowledge of concepts, processes and tools that are used for managing secure application development lifecycle
- has insight into relevant regulations, standards, agreements and quality requirements for managing application development lifecycle, deployment and operation
- has knowledge of managing secure application development projects and is familiar with various evolution and models of the system development lifecycle, including Waterfall, Agile, and DevOps and their security considerations
- can update their vocational knowledge of SALM
- understands the importance of adopting to an appropriate software development methodology towards meeting the security and quality conformance requirements of applications in the development process.
- has knowledge of identifying, modelling, and assessing security requirements and understands common security threats to assets.
The candidate:
- can apply vocational knowledge to select an appropriate system development methodology and software suites that is fit for purpose
- masters relevant system analysis tools, design tools, and threat modelling tools, among others, to enhance effective requirement gathering, analysis and design
- can develop project plans, including defining tasks, timelines, and resource allocation, and use project management tools (e.g., Gantt charts) to track progress.
- can find relevant information, tools, and materials for gathering, analysing and managing software requirements to meet system requirement specifications.
- can compare application management methodologies and software suites to select an appropriate one that fits for purpose
- can assess risks to prioritise and propose mitigation strategies
- can determine and propose security controls and practices during the analysis and design stage of the application development lifecycle
The candidate:
- understands the ethical principles that apply in gathering, analysing, and modelling security requirements as major aspects of the system analysis process in the application development lifecycle
- has developed an ethical attitude in identifying and assessing security requirements and how to balance that with the system usability needs of end users in the application development lifecycle process
- can collaborate effectively with project team members and other stakeholders to demonstrate teamwork and communication skills in a project setting
- can gather, analyse and model functional and non-functional requirements, including security requirements from various stakeholders of a project
- can develop work methods, products and /or services relevant to system analysis and design in SALM
In this course, the following teaching and learning methods can be applied, but are not limited to:
- Lecture: Educator-led presentations or activities providing knowledge, skills, or general competencies in the subject area.
- Group work: Collaborative activities where students work together to solve problems or complete tasks.
- Tutoring: One-on-one or small group sessions with an instructor for personalized guidance and support.
- Student presentations: Opportunities for students to demonstrate their understanding of course material by presenting to peers.
- Online lessons: Digital content delivered via an online learning platform.
- Guidance: Individualized advice and direction from instructors to support students in their learning journey.
- Workshops: Practical sessions focused on hands-on application of theoretical concepts or skills.
- Self-study: Independent study where students engage with course material on their own without any teacher support.
Teaching materials, reading lists, and essential resources will be shared in the learning platform and software user manuals where applicable.