COIT12200 - Software Design & Development

General Information

Unit Synopsis

In this unit you will learn both theoretical and practical aspects of software engineering. The theory will focus on software processes, requirements engineering, modelling, architectural design, object-oriented design, software development methodology, testing, and quality assurance. You will also be introduced to the principles of software re-use, software evolution and configuration management. You will develop multi-tiered software application having presentation, application and data persistence tiers. You will also learn test-driven software application development using appropriate tools, thus building solid foundations for software development.

Details

Level Undergraduate
Unit Level 2
Credit Points 6
Student Contribution Band SCA Band 2
Fraction of Full-Time Student Load 0.125
Pre-requisites or Co-requisites

Pre-requisites: (COIT11134 and COIT11237) OR (COIT11134 and COIT12167).

Important note: Students enrolled in a subsequent unit who failed their pre-requisite unit, should drop the subsequent unit before the census date or within 10 working days of Fail grade notification. Students who do not drop the unit in this timeframe cannot later drop the unit without academic and financial liability. See details in the Assessment Policy and Procedure (Higher Education Coursework).

Class Timetable View Unit Timetable
Residential School No Residential School

Unit Availabilities from Term 3 - 2021

Term 1 - 2022 Profile
Brisbane
Cairns
Melbourne
Online
Rockhampton
Sydney
Townsville

Attendance Requirements

All on-campus students are expected to attend scheduled classes – in some units, these classes are identified as a mandatory (pass/fail) component and attendance is compulsory. International students, on a student visa, must maintain a full time study load and meet both attendance and academic progress requirements in each study period (satisfactory attendance for International students is defined as maintaining at least an 80% attendance record).

Assessment Overview

Recommended Student Time Commitment

Each 6-credit Undergraduate unit at CQUniversity requires an overall time commitment of an average of 12.5 hours of study per week, making a total of 150 hours for the unit.

Assessment Tasks

Assessment Task Weighting
1. Practical and Written Assessment 25%
2. Practical and Written Assessment 35%
3. Project (applied) 40%

This is a graded unit: your overall grade will be calculated from the marks or grades for each assessment task, based on the relative weightings shown in the table above. You must obtain an overall mark for the unit of at least 50%, or an overall grade of ‘pass’ in order to pass the unit. If any ‘pass/fail’ tasks are shown in the table above they must also be completed successfully (‘pass’ grade). You must also meet any minimum mark requirements specified for a particular assessment task, as detailed in the ‘assessment task’ section (note that in some instances, the minimum mark for a task may be greater than 50%).

Consult the University’s Grades and Results Policy for more details of interim results and final grades

Past Exams

To view Past Exams, please login
Previous Feedback

Term 1 - 2021 : The overall satisfaction for students in the last offering of this course was 4.9 (on a 5 point Likert scale), based on a 37.84% response rate.

Feedback, Recommendations and Responses

Every unit is reviewed for enhancement each year. At the most recent review, the following staff and student feedback items were identified and recommendations were made.

Source: Student feedback
Feedback
There seems to be a big leap in terms of programming skills from Object-Oriented Programming to Software Design and Development
Recommendation
Dedicate at least one lecture and/or tutorial for Object-Oriented Programming review prior to assignment two that requires software implementation.
Action Taken
Partially implemented prior to assignment 2 and the final project.
Source: Student feedback
Feedback
Students want more details on the slides
Recommendation
Adding more details on the slides will help students who want to review the lecture if they miss the lecture.
Action Taken
Updated lecture slides by providing more details.
Source: Unit Coordinator
Feedback
Student engagement was low
Recommendation
Students should be engaged in more effective ways. For example, weekly checkpoints / self-evaluations can help identify at-risk students and mark them for follow up from the early days of the term.
Action Taken
Other required changes such as JavaFX have taken precedence.
Source: Unit Coordinator, student feedback
Feedback
Teaching seems to be too focused on theory and lacks enough practical content
Recommendation
Two hours lecture and two hours tutorial may not be the best combination for this unit, rearranging the hours to provide more practical hours by reducing lecture hours (i.e. 1h lab, 2h tutorial, 1h lecture) can enhance the student implementation/practical skills.
Action Taken
Re-arranging the hours has been made. The new teaching model for this unit includes one hour lecture, one hour workshop and a two hours tutorial.
Source: Student feedback
Feedback
Lack of focus on the MVP pattern. All three assessments are based around MVP but the topic is not taught clearly and in-depth.
Recommendation
Add more materials about the theoretical descriptions of MVP in-depth and relevant practical programming exercises and examples.
Action Taken
Nil.
Source: Student feedback
Feedback
The unit concepts were a little outdated and this unit uses the old standard toolkit, Java swing.
Recommendation
Revise the unit content and use the recent standard toolkits such as JavaFX for Java programs.
Action Taken
Nil.
Source: Self-reflection
Feedback
MySQL Server is a popular open-source DBMS for application development. Proficiency in MYSQL will enhance students job-ready skills.
Recommendation
Replace JavaDB with MySQL and provide supporting resources to download, install and use.
Action Taken
Nil.
Unit learning Outcomes

On successful completion of this unit, you will be able to:

  1. Prepare software requirements specification following requirements engineering
  2. Apply modelling techniques to document architectural and system models as per the requirements specification
  3. Design and implement a multi-tiered software application consisting of presentation, application and data persistence tiers.
  4. Conduct test-driven development, validation and verification testing
  5. Discuss quality management in a range of different design and development scenarios
  6. Work independently and collaboratively in small teams.

Australian Computer Society (ACS) recognises the Skills Framework for the Information Age (SFIA). SFIA is a widely used and consistent definition of ICT skills. SFIA is increasingly being used when developing job descriptions and role profiles. ACS members can use the tool MySFIA to build a skills profile at
https://www.acs.org.au/professionalrecognition/mysfia-b2c.html.
This unit contributes to the following workplace skills as defined by SFIA 7. The SFIA code is included:
Requirements Definition and management (REQM)
User Experience Analysis (UNAN)
Software Design (SWDN)
System Integration and Build (SINT
Programming/Software Development (PROG)
Database Design (DBDS)
Testing (TEST)
Quality assurance(QUAS)
Quality management (QUMG).

Alignment of Assessment Tasks to Learning Outcomes
Assessment Tasks Learning Outcomes
1 2 3 4 5 6
1 - Practical and Written Assessment
2 - Practical and Written Assessment
3 - Project (applied)
Alignment of Graduate Attributes to Learning Outcomes
Introductory Level
Intermediate Level
Graduate Level
Graduate Attributes Learning Outcomes
1 2 3 4 5 6
1 - Communication
2 - Problem Solving
3 - Critical Thinking
4 - Information Literacy
5 - Team Work
6 - Information Technology Competence
7 - Cross Cultural Competence
8 - Ethical practice
Alignment of Assessment Tasks to Graduate Attributes
Introductory Level
Intermediate Level
Graduate Level
Assessment Tasks Graduate Attributes
1 2 3 4 5 6 7 8 9
1 - Practical and Written Assessment
3 - Project (applied)
2 - Practical and Written Assessment