41025 Introduction to Software Development
Warning: The information on this page is indicative. The subject outline for a
particular session, location and mode of offering is the authoritative source
of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.
Subject handbook information prior to 2025 is available in the Archives.
Credit points: 6 cp
Subject level:
Undergraduate
Result type: Grade and marksRequisite(s): 48023 Programming Fundamentals OR 48430 Fundamentals of C Programming OR 41039 Programming 1
Description
This subject introduces students to the fundamentals of contemporary software development. An overview of the agile and non-agile software development principles, methods, tools and techniques is presented. Current trends and challenges in the practice of software development are explored. In this subject, students learn how to design, develop and evaluate software that implements commercially realistic but manageably small software requirements. Most often the task is to modify or extend some existing software feature or function but can also be to create new features or functions. Peer learning and collaboration are encouraged but, ultimately, each student must complete their tasks individually. The primary objective is that students experience, understand the importance of, and can apply sound professional practices of software development.
Subject learning objectives (SLOs)
Upon successful completion of this subject students should be able to:
1. | Investigate and solve software development problems with minimal supervision. (C.1) |
---|---|
2. | Determine and balance the competing goals of software development activities within their constraints. (C.1) |
3. | Plan and manage a software development task to create, modify or extend a software feature or function to completion within the task constraints. (C.1) |
4. | Apply sound software engineering practices to successfully create, modify or extend a software feature or function. (C.1) |
5. | Communicate clearly software and task information to interested stakeholders. (E.1) |
Course intended learning outcomes (CILOs)
This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):
- Design Oriented: FEIT graduates apply problem solving, design and decision-making methodologies to develop components, systems and processes to meet specified requirements. (C.1)
- Collaborative and Communicative: FEIT graduates work as an effective member or leader of diverse teams, communicating effectively and operating within cross-disciplinary and cross-cultural contexts in the workplace. (E.1)
Contribution to the development of graduate attributes
Engineers Australia Stage 1 Competencies
This subject contributes to the development of the following Engineers Australia Stage 1 Competencies:
- 1.1. Comprehensive, theory based understanding of the underpinning natural and physical sciences and the engineering fundamentals applicable to the engineering discipline.
- 1.5. Knowledge of engineering design practice and contextual factors impacting the engineering discipline.
- 2.3. Application of systematic engineering synthesis and design processes.
- 2.4. Application of systematic approaches to the conduct and management of engineering projects.
- 3.2. Effective oral and written communication in professional and lay domains.
- 3.6. Effective team membership and team leadership.
Teaching and learning strategies
Students will learn professional software development practices through hands-on workshops (tutorials and labs) supported by online lectures. Students will prepare for the workshops by studying required material and doing online quiz in order to participate fully in the workshop activities. In workshops, the professional practices will be demonstrated by the tutors before being applied by students. As the subject progresses, students gain sufficient competence to complete software development tasks on their own.
Content (topics)
- Task management with work tickets
- Software development environments
- Software development tools
- Software construction
- Software evaluation
Assessment
Assessment task 1: Project – Analysis, Planning, Architecture & Design
Intent: | Demonstrate the ability to analyse, plan, architect and design a software application. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 1, 2, 3, 4 and 5 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): C.1 and E.1 |
Type: | Project |
Groupwork: | Group, group and individually assessed |
Weight: | 30% |
Length: | This is a technical report, thus there is no compulsory minimum and maximum word limit. For a general guidance, the recommended word limit for this assignment is maximum 5000 words excluding diagrams, bibliography, logbooks and appendices. Word limit will be regarded as recommended rather than compulsory, and no student will be disadvantaged by being under or over the recommended word limit. |
Assessment task 2: Project – Implementation & Testing
Intent: | Demonstrate the ability to implement and test a software application using the professional software development practices. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 1, 2, 3, 4 and 5 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): C.1 and E.1 |
Type: | Project |
Groupwork: | Group, individually assessed |
Weight: | 50% |
Length: | N/A |
Assessment task 3: Online Quiz
Intent: | Demonstrate the ability to understand the theory and practice of software development. |
---|---|
Objective(s): | This assessment task addresses the following subject learning objectives (SLOs): 1, 2, 3 and 5 This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs): C.1 and E.1 |
Type: | Quiz/test |
Groupwork: | Individual |
Weight: | 20% |
Length: | There is no word limit. |
Minimum requirements
To pass this subject, students must achieve an overall mark of 50 or greater.
Required texts
This is a dynamic and practical subject. There is no fixed or single textbook for this subject. However, students may choose to buy and consult the relevant recommended books and references.
Recommended texts
Ian Sommerville, Software Engineering, 9th Edition (or better), Addison-Wesley.
References
Agile Manifesto. 2001, Manifesto for Agile Software Development. http://agilemanifesto.org/.
Agile Modelling. http://www.agilemodeling.com/.
Agile Videos and Tutorials. http://www.tvagile.com/
Gill, A.Q. 2015, Adaptive Cloud Enterprise Architecture, World Scientific.
Gill, A.Q. & Bunker, D. 2013, SaaS Requirements Engineering for Agile Development in Xiaofeng Wang, Nour Ali, Isidro Ramos, Richard Vidgen (eds), Agile and Lean Service-Oriented Development: Foundations, Theory, and Practice, IGI, USA, pp. 64-93.
Kent Beck, Extreme Programming Explained: Embrace Change, Addison-Wesley Professional.
Len Bass, Paul Clements, and Rick Kazman, Software Architecture in Practice, 3rd Edition, Addison-Wesley.
Lisa Crispin and Janet Gregory, Agile Testing: A Practical Guide For Testers and Agile Teams, 1st Edition, Addison-Wesley.
Mike Cohn, Succeeding with Agile: Software Development Using Scrum, 1st Edition, Addison-Wesley Professional.
Mike Cohn, Agile Estimating and Planning, 1st Edition, Prentice Hall.
Mike Cohn, User Stories Applied for Agile Software Development, 1st Edition, Addison-Wesley Professional.
Model Driven Development, https://www.omg.org/mda/.
Simon Bennett, Steve McRobb and Ray Farmer, Object-Oriented Systems Analysis and Design Using UML, 4th Edition, McGraw Hill.
Smart, J.F. 2015, BDD in Action: Behaviour-Driven Development for the Whole Software Lifecycle. Manning Publications Co.
Thomas Erl, Service-Oriented Architecture: Concepts, Technology, and Design, 1st Edition, Prentice Hall.
Qumer, A. & Henderson-Sellers, B. 2008, An evaluation of the degree of agility in six agile methods and its applicability for method engineering, Information and Software Technology, vol. 50, no. 4, pp. 280-295.