IFN636 Software Life Cycle Management
To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.
Unit code: | IFN636 |
---|---|
Prerequisite(s): | IFN585 or ((IFN552 or IFQ552) and (IFN558 or IFQ558)) or admission to IN17 |
Assumed Knowledge: | Students are required to have successfully completed a computer programming unit that teaches the fundamentals of imperative-style programming, e.g., using a language like Python, Java, C#, etc. |
Credit points: | 12 |
Timetable | Details in HiQ, if available |
Availabilities |
|
CSP student contribution | $1,164 |
Domestic tuition unit fee | $3,816 |
International unit fee | $5,352 |
Unit Outline: Semester 1 2025, Gardens Point, Internal
Unit code: | IFN636 |
---|---|
Credit points: | 12 |
Pre-requisite: | IFN585 or ((IFN552 or IFQ552) and (IFN558 or IFQ558)) or admission to IN17 |
Assumed Knowledge: | Students are required to have successfully completed a computer programming unit that teaches the fundamentals of imperative-style programming, e.g., using a language like Python, Java, C#, etc. |
Coordinator: | Ranesh Naha | ranesh.naha@qut.edu.au |
Overview
Software development is not an isolated technical activity, but instead involves working with multiple stakeholders and infrastructures to develop solutions of general applicability and lasting value. This unit gives you hands-on experience with management techniques and technical tools used for designing, developing, deploying and maintaining substantial IT systems. It provides knowledge and skills of the software life cycle in which applications are developed from conception to release by multi-disciplinary teams of analysts, architects, developers and managers. It exposes you to the critical stages of the software life cycle: requirements and design, development and testing, and Cloud performance and scalability tuning. You will see different techniques and tools supporting different stages, delivered through a modern, agile methodology. At its core, the unit provides you with fundamental programming and critical problem-solving skills in real-world systems contexts.
Learning Outcomes
On successful completion of this unit you will be able to:
- Explain the key stages of the software life cycle, the different artefacts associated required to be produced through these and the supportive techniques, languages and tools and languages used.
- Create a software blueprint using requirements and design specifications based on descriptions, references and other insights of real-world systems contexts.
- Develop a software implementation and test plans comprising a software application module, its components and application programming interfaces.
- Configure a software implementation using Cloud systems to meet given performance and scalability requirements when it is operated.
- Apply effective teamwork using ICT professional roles and project work practices.
Content
The teaching unit is delivered as three linked modules.
- Module 1 introduces you to software systems, software life cycle management and the first of the life cycle stages in requirements analysis and design. You will be introduced to the key layers and parts of software and how they interact to support real-world systems contexts. Based on this, you will learn how to analyse systems contexts and capture requirements and design specifications using widely supported techniques.
- Module 2 introduces you to implementation aspects of software applications. This includes how to develop programs which implement higher-level modules and lower-level components using object-oriented programming. The focus will be on the application logic layer, fundamental program control and data structures, and the way application components support the presentation (user interface) and database layers. You will learn how to create application programming interfaces allowing external systems to invoke software components. This part will also cover software testing.
- Module 3 shows you how software applications are prepared for running in Cloud infrastructure to meet performance and scalability requirements. You will be exposed to relevant concepts and mechanisms, such as virtual machines, multi-tenancy and performance and scalability, which you will apply in a step-by-step way using state-of-the-art Cloud infrastructure. It will provide you with a basic appreciation of this aspect of the software life cycle, whereby developed software components are continuously released into production, in line with real-world practice.
This is a first-year teaching unit which would normally be undertaken in a student's first or second semester. It supports career development and employability by teaching practical programming skills and emphasises use of contemporary, industry-relevant technologies to do so. Through its groupwork assignment it also provides experience at working with other students with diverse backgrounds and skill sets.
Learning Approaches
This unit is available for you to study in a blended mode of delivery. Learning in this unit includes weekly pre-recorded lectures, online activities, face-to-face tutorials and a unit communications channel, designed to facilitate communication with your peers and teaching staff outside of scheduled classes. You can expect to spend 10 to 15 hours per week involving listening to lectures, attending scheduled tutorials, completing assessment tasks, and undertaking individual study to consolidate your learning.
The pre-recorded lectures and online activities will provide you with the knowledge and skills for understanding the architecture of software applications, requirements and design specifications, introductory exposure to programming fundamentals, software testing and Cloud deployment and performance and scalability tuning of applications using Cloud tools. The different aspects will cover required techniques, programming, tools and Cloud system tools.
Pre-recorded lectures will be provided through video recordings available for access one week before they are required for viewing.
Tutorials will be conducted in face-to-face collaborative learning spaces on-campus or online. They will be activity-based involving running through short quizzes for a recap of the theory from lectures and tasks. The tutorials build directly on the material presented in the pre-recorded lectures and will involve detailed instruction sheets for undertaking the required tasks. They are designed to support class instruction, group work, and class reflection.
In addition, students will practise the principles and techniques required to develop planning, communication, reflection and teamwork skills. This learning is facilitated by communicating the different aspects of software applications produced through different stages of the software life cycle and keeping an online project tracking logbook. This will be used as part of the progressive assessment throughout the unit offering students multiple opportunities to demonstrate progress and receive feedback on learning.
Feedback on Learning and Assessment
You will receive feedback on your learning throughout the semester using the following mechanisms:
- Class and group based feedback on tutorial exercises
- Written feedback on the formative phase of assessment tasks
- Written feedback on summative phases of assessment tasks including a rubric
- General verbal feedback will be provided to the entire class on assessment tasks
- Written whole-of-class feedback will be available in the unit web site
- You will receive feedback and results on each assessment task prior to the submission of the next assessment task
Assessment
Overview
The assessment in this unit has been designed so that you may develop deeper understanding of the knowledge and key skills expected of IT graduates concerning software life cycle management, the different artifacts required to be produced for software applications intended for real-world digital solutions and the key activities in producing these. You will develop the skills to work collaboratively and present confidently, demonstrating effective written and visual communication. You will also develop the skills to engage in reflective practice.
As well as individual assessment tasks, early in the semester you will be asked to form into small teams so that you can work together on aspects of the large assignment. You will be required to use team collaboration tools, e.g., Slack (team collaboration) and Trello (project tracking), to support your teamwork activities.
The assessments are structured through the different perspectives of software applications in the different stages of the software lifecycle: requirements and design, software development and testing, and production tuning and release. Each will of these stages will be undertaken for a progressive development of a real-world example of a software application.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Software requirements analysis and design
In this task you will develop a system design that meets the needs of various stakeholders, including the client requesting the system and the future development team, through requirements analysis, consideration of alternative designs, and cost-benefits analysis.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Software development, testing and configuration
In this task you and your team will apply programming and management skills to develop an application that meets the functional requirements of a given system design. The design may be your own, if suitable, or one developed by someone else. Your team will deploy the completed program as a Cloud-based application, configuring the infrastructure in such a way as to meet the original performance requirements. The individual assessment will be based on peer evaluation within the group.
Assessment: Final exam
The final exam is designed to test the specific practical skills you have acquired while completing the assignments and the general knowledge you have gained about software life cycle management.
Academic Integrity
Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.
The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.
You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.
Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.
Requirements to Study
Costs
No extraordinary charges or costs are associated with the requirements for this unit.
Resources
There is no required textbook for this unit. However, this unit may, where appropriate, make use of selected chapters from textbooks, journals, and magazines. Students are encouraged to obtain a copy of these materials from the library. Where possible, materials will be made available online through QUT Readings.
Risk Assessment Statement
There are no unusual health and safety issues associated with this unit.
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.IN17 Graduate Certificate in Communication for Information Technology
- Demonstrate an advanced knowledge of information technology disciplines.
Relates to: ULO1, Software requirements analysis and design, Software development, testing and configuration, Final exam - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate solutions.
Relates to: ULO2, Software requirements analysis and design, Final exam - Employ industry-best practice, IT methods, tools and techniques to develop and implement IT systems, processes and/or software.
Relates to: ULO2, ULO3, ULO4, Software requirements analysis and design, Software development, testing and configuration, Final exam - Work effectively in both self-directed and collaborative contexts.
Relates to: ULO5, Software development, testing and configuration - Communicate effectively in IT professional contexts using written, visual and oral formats.
Relates to: ULO5, Software development, testing and configuration - Critically reflect on the social, cultural, ethical and diversity issues related to the IT field.
Relates to: ULO5, Software requirements analysis and design, Software development, testing and configuration
IN20 Master of Information Technology
- Demonstrate advanced specialist IT knowledge in at least one information technology discipline.
Relates to: ULO1, Software requirements analysis and design, Software development, testing and configuration, Final exam - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
Relates to: ULO2, Software requirements analysis and design, Final exam - Integrate advanced, industry-best practice, IT methods, tools and techniques to develop and implement complex IT systems, processes and/or software.
Relates to: ULO2, ULO3, ULO4, Software requirements analysis and design, Software development, testing and configuration, Final exam - Employ leadership and initiative in both self-directed and collaborative contexts to create value for others.
Relates to: ULO5, Software development, testing and configuration - Communicate effectively in IT professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
Relates to: ULO5, Software development, testing and configuration - Demonstrate business acumen and well-developed values, attitudes, behaviours and judgement in professional contexts.
Relates to: ULO2, ULO5, Software requirements analysis and design, Software development, testing and configuration, Final exam
IN28 Master of Artificial Intelligence
- Demonstrate advanced specialist IT knowledge in Artificial Intelligence discipline.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam - Critically analyse complex Artificial Intelligence problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
Relates to: Software requirements analysis and design, Final exam - Integrate advanced, industry-best practice, Artificial Intelligence methods, tools and techniques to develop and implement complex Artificial Intelligence systems, processes and/or software.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam - Employ leadership and initiative in both self-directed and collaborative contexts to create value for others.
Relates to: Software development, testing and configuration - Communicate effectively in Artificial Intelligence professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
Relates to: Software development, testing and configuration - Demonstrate business acumen and well-developed values, attitudes, behaviours and judgement in professional contexts.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam
IN29 Master of Cyber Security
- Demonstrate advanced specialist IT knowledge in Cyber Security discipline.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam - Critically analyse complex Cyber Security problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
Relates to: Software requirements analysis and design, Final exam - Integrate advanced, industry-best practice, Cyber Security methods, tools and techniques to develop and implement complex Cyber Security systems, processes and/or software.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam - Employ leadership and initiative in both self-directed and collaborative contexts to create value for others.
Relates to: Software development, testing and configuration - Communicate effectively in Cyber Security professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
Relates to: Software development, testing and configuration - Demonstrate business acumen and well-developed values, attitudes, behaviours and judgement in professional contexts.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam
Unit Outline: Semester 2 2025, Gardens Point, Internal
Unit code: | IFN636 |
---|---|
Credit points: | 12 |
Pre-requisite: | IFN585 or ((IFN552 or IFQ552) and (IFN558 or IFQ558)) or admission to IN17 |
Assumed Knowledge: | Students are required to have successfully completed a computer programming unit that teaches the fundamentals of imperative-style programming, e.g., using a language like Python, Java, C#, etc. |
Coordinator: | Ranesh Naha | ranesh.naha@qut.edu.au |
Overview
Software development is not an isolated technical activity, but instead involves working with multiple stakeholders and infrastructures to develop solutions of general applicability and lasting value. This unit gives you hands-on experience with management techniques and technical tools used for designing, developing, deploying and maintaining substantial IT systems. It provides knowledge and skills of the software life cycle in which applications are developed from conception to release by multi-disciplinary teams of analysts, architects, developers and managers. It exposes you to the critical stages of the software life cycle: requirements and design, development and testing, and Cloud performance and scalability tuning. You will see different techniques and tools supporting different stages, delivered through a modern, agile methodology. At its core, the unit provides you with fundamental programming and critical problem-solving skills in real-world systems contexts.
Learning Outcomes
On successful completion of this unit you will be able to:
- Explain the key stages of the software life cycle, the different artefacts associated required to be produced through these and the supportive techniques, languages and tools and languages used.
- Create a software blueprint using requirements and design specifications based on descriptions, references and other insights of real-world systems contexts.
- Develop a software implementation and test plans comprising a software application module, its components and application programming interfaces.
- Configure a software implementation using Cloud systems to meet given performance and scalability requirements when it is operated.
- Apply effective teamwork using ICT professional roles and project work practices.
Content
The teaching unit is delivered as three linked modules.
- Module 1 introduces you to software systems, software life cycle management and the first of the life cycle stages in requirements analysis and design. You will be introduced to the key layers and parts of software and how they interact to support real-world systems contexts. Based on this, you will learn how to analyse systems contexts and capture requirements and design specifications using widely supported techniques.
- Module 2 introduces you to implementation aspects of software applications. This includes how to develop programs which implement higher-level modules and lower-level components using object-oriented programming. The focus will be on the application logic layer, fundamental program control and data structures, and the way application components support the presentation (user interface) and database layers. You will learn how to create application programming interfaces allowing external systems to invoke software components. This part will also cover software testing.
- Module 3 shows you how software applications are prepared for running in Cloud infrastructure to meet performance and scalability requirements. You will be exposed to relevant concepts and mechanisms, such as virtual machines, multi-tenancy and performance and scalability, which you will apply in a step-by-step way using state-of-the-art Cloud infrastructure. It will provide you with a basic appreciation of this aspect of the software life cycle, whereby developed software components are continuously released into production, in line with real-world practice.
This is a first-year teaching unit which would normally be undertaken in a student's first or second semester. It supports career development and employability by teaching practical programming skills and emphasises use of contemporary, industry-relevant technologies to do so. Through its groupwork assignment it also provides experience at working with other students with diverse backgrounds and skill sets.
Learning Approaches
This unit is available for you to study in a blended mode of delivery. Learning in this unit includes weekly pre-recorded lectures, online activities, face-to-face tutorials and a unit communications channel, designed to facilitate communication with your peers and teaching staff outside of scheduled classes. You can expect to spend 10 to 15 hours per week involving listening to lectures, attending scheduled tutorials, completing assessment tasks, and undertaking individual study to consolidate your learning.
The pre-recorded lectures and online activities will provide you with the knowledge and skills for understanding the architecture of software applications, requirements and design specifications, introductory exposure to programming fundamentals, software testing and Cloud deployment and performance and scalability tuning of applications using Cloud tools. The different aspects will cover required techniques, programming, tools and Cloud system tools.
Pre-recorded lectures will be provided through video recordings available for access one week before they are required for viewing.
Tutorials will be conducted in face-to-face collaborative learning spaces on-campus or online. They will be activity-based involving running through short quizzes for a recap of the theory from lectures and tasks. The tutorials build directly on the material presented in the pre-recorded lectures and will involve detailed instruction sheets for undertaking the required tasks. They are designed to support class instruction, group work, and class reflection.
In addition, students will practise the principles and techniques required to develop planning, communication, reflection and teamwork skills. This learning is facilitated by communicating the different aspects of software applications produced through different stages of the software life cycle and keeping an online project tracking logbook. This will be used as part of the progressive assessment throughout the unit offering students multiple opportunities to demonstrate progress and receive feedback on learning.
Feedback on Learning and Assessment
You will receive feedback on your learning throughout the semester using the following mechanisms:
- Class and group based feedback on tutorial exercises
- Written feedback on the formative phase of assessment tasks
- Written feedback on summative phases of assessment tasks including a rubric
- General verbal feedback will be provided to the entire class on assessment tasks
- Written whole-of-class feedback will be available in the unit web site
- You will receive feedback and results on each assessment task prior to the submission of the next assessment task
Assessment
Overview
The assessment in this unit has been designed so that you may develop deeper understanding of the knowledge and key skills expected of IT graduates concerning software life cycle management, the different artifacts required to be produced for software applications intended for real-world digital solutions and the key activities in producing these. You will develop the skills to work collaboratively and present confidently, demonstrating effective written and visual communication. You will also develop the skills to engage in reflective practice.
As well as individual assessment tasks, early in the semester you will be asked to form into small teams so that you can work together on aspects of the large assignment. You will be required to use team collaboration tools, e.g., Slack (team collaboration) and Trello (project tracking), to support your teamwork activities.
The assessments are structured through the different perspectives of software applications in the different stages of the software lifecycle: requirements and design, software development and testing, and production tuning and release. Each will of these stages will be undertaken for a progressive development of a real-world example of a software application.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Software requirements analysis and design
In this task you will develop a system design that meets the needs of various stakeholders, including the client requesting the system and the future development team, through requirements analysis, consideration of alternative designs, and cost-benefits analysis.
This assignment is eligible for the 48-hour late submission period and assignment extensions.
Assessment: Software development, testing and configuration
In this task you and your team will apply programming and management skills to develop an application that meets the functional requirements of a given system design. The design may be your own, if suitable, or one developed by someone else. Your team will deploy the completed program as a Cloud-based application, configuring the infrastructure in such a way as to meet the original performance requirements. The individual assessment will be based on peer evaluation within the group.
Assessment: Final exam
The final exam is designed to test the specific practical skills you have acquired while completing the assignments and the general knowledge you have gained about software life cycle management.
Academic Integrity
Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.
The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.
You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.
Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.
Requirements to Study
Costs
No extraordinary charges or costs are associated with the requirements for this unit.
Resources
There is no required textbook for this unit. However, this unit may, where appropriate, make use of selected chapters from textbooks, journals, and magazines. Students are encouraged to obtain a copy of these materials from the library. Where possible, materials will be made available online through QUT Readings.
Risk Assessment Statement
There are no unusual health and safety issues associated with this unit.
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.IN17 Graduate Certificate in Communication for Information Technology
- Demonstrate an advanced knowledge of information technology disciplines.
Relates to: ULO1, Software requirements analysis and design, Software development, testing and configuration, Final exam - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate solutions.
Relates to: ULO2, Software requirements analysis and design, Final exam - Employ industry-best practice, IT methods, tools and techniques to develop and implement IT systems, processes and/or software.
Relates to: ULO2, ULO3, ULO4, Software requirements analysis and design, Software development, testing and configuration, Final exam - Work effectively in both self-directed and collaborative contexts.
Relates to: ULO5, Software development, testing and configuration - Communicate effectively in IT professional contexts using written, visual and oral formats.
Relates to: ULO5, Software development, testing and configuration - Critically reflect on the social, cultural, ethical and diversity issues related to the IT field.
Relates to: ULO5, Software requirements analysis and design, Software development, testing and configuration
IN20 Master of Information Technology
- Demonstrate advanced specialist IT knowledge in at least one information technology discipline.
Relates to: ULO1, Software requirements analysis and design, Software development, testing and configuration, Final exam - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
Relates to: ULO2, Software requirements analysis and design, Final exam - Integrate advanced, industry-best practice, IT methods, tools and techniques to develop and implement complex IT systems, processes and/or software.
Relates to: ULO2, ULO3, ULO4, Software requirements analysis and design, Software development, testing and configuration, Final exam - Employ leadership and initiative in both self-directed and collaborative contexts to create value for others.
Relates to: ULO5, Software development, testing and configuration - Communicate effectively in IT professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
Relates to: ULO5, Software development, testing and configuration - Demonstrate business acumen and well-developed values, attitudes, behaviours and judgement in professional contexts.
Relates to: ULO2, ULO5, Software requirements analysis and design, Software development, testing and configuration, Final exam
IN28 Master of Artificial Intelligence
- Demonstrate advanced specialist IT knowledge in Artificial Intelligence discipline.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam - Critically analyse complex Artificial Intelligence problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
Relates to: Software requirements analysis and design, Final exam - Integrate advanced, industry-best practice, Artificial Intelligence methods, tools and techniques to develop and implement complex Artificial Intelligence systems, processes and/or software.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam - Employ leadership and initiative in both self-directed and collaborative contexts to create value for others.
Relates to: Software development, testing and configuration - Communicate effectively in Artificial Intelligence professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
Relates to: Software development, testing and configuration - Demonstrate business acumen and well-developed values, attitudes, behaviours and judgement in professional contexts.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam
IN29 Master of Cyber Security
- Demonstrate advanced specialist IT knowledge in Cyber Security discipline.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam - Critically analyse complex Cyber Security problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
Relates to: Software requirements analysis and design, Final exam - Integrate advanced, industry-best practice, Cyber Security methods, tools and techniques to develop and implement complex Cyber Security systems, processes and/or software.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam - Employ leadership and initiative in both self-directed and collaborative contexts to create value for others.
Relates to: Software development, testing and configuration - Communicate effectively in Cyber Security professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
Relates to: Software development, testing and configuration - Demonstrate business acumen and well-developed values, attitudes, behaviours and judgement in professional contexts.
Relates to: Software requirements analysis and design, Software development, testing and configuration, Final exam