CSIT 314 - Topic 1 - Introduction and Software Development Lifecycle
CSIT 314 - Topic 1 - Introduction and Software Development Lifecycle
Software Development
Methodologies
Subject Admin Introduction
Subject Content
Introduction
Contact details
• Lectures
– PDF files with slides from lectures
• Labs and the project
• Supplementary materials
• One-stop shop: Moodle
Textbook and references
• David Avison, Guy Fitzgerald, Information Systems Development: Methodologies, Techniques and Tools
(4th Edition), McGraw-Hill Education, 2006.
• Roger S. Pressman, Software Engineering: A Practitioner's Approach (8th Edition), McGraw-Hill
Education, 2014.
• Paul VII, Randal Schaffer, Scrum: A Cleverly Concise and Agile Guide, Pashun Consulting Ltd., 2016
• Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design
and Iterative Development (3rd Edition), Prentice Hall, 2004
• Philippe Kruchten, The rational unified process: an introduction. Addison-Wesley Professional,
2000
• Mary Beth Chrissis, Michael D. Konrad, Sandra Shrum. CMMI: Guidelines for Process Integration and
Product Improvement (2nd Edition), Addison-Wesley Professional, 2006
• Paul Ammann and Jeff Offutt, Introduction to Software Testing (2nd Edition), Cambridge University
Press, 2016
• Ian Sommerville, Software Engineering (9th Edition), Cambridge University Press, 2016,
https://cs.gmu.edu/~offutt/softwaretest/
• IBM DevOps For Dummies®, 3rd IBM Limited Edition, https://www.ibm.com/downloads/cas/P9NYOK3B
• Gene Kim, Jez Humble, Patrick Debois, John Willis, The DevOps Handbook: How to Create WorldClass
Agility, Reliability, and Security in Technology Organizations, IT Revolution Press, 2016
Assessment
• Lab exercises (10%)
– Will be assessed in the 4th lab session.
• Group project (40%)
– Final deliverables
– Project presentation Q&A – last lab session.
• Final examination
– Technical Fail
• To be eligible for a Pass in this subject a student must
achieve a mark of at least 40% in the Final Examination.
• Students who fail to achieve this minimum mark & would have
otherwise passed may be given a TF (Technical Fail) for
this subject.
Tutorial/Lab
• Each tutorial/lab:
– First half: an exercise
– Second half: project
• Work on the project.
• Meet “the client” session.
• Tutor will note your group’s attendance, progress,
interactions with “client”, etc. which are the factors
considered for the final marking of the project.
Group project
• PRODUCT
– The actual software product or system that is built and put
into operation
• PROCESS
– A framework for the tasks that are required to build high-
quality software.
What is Engineering
• Detailed design
– Describes each class, methods, attributes/datatypes
• Construction
– Write the code for the project.
• Installation (or deployment)
Verification & Validation
• Cost of correcting an
error in requirement
specifications
increases as we move
through lifecycle
phases
https://deepsource.io/blog/exponential-cost-of-fixing-bugs/
Maintenance and evolution
• Adaptive maintenance
– Changing the system in response to changes in its
environment so it continues to function
• Corrective maintenance
– Fixing errors & bugs
• Perfective maintenance
– Changing the system’s functionality to meet changing needs
The eight laws of software evolution