Year
2012
Units
4.5
Contact
1 x 120-minute lecture weekly
1 x 120-minute workshop weekly
Enrolment not permitted
1 of COMP1712, COMP2006, COMP2306, COMP2731, COMP8006, COMP8812 has been successfully completed
Assumed knowledge
Programming skills, such as acquired in COMP1102. Students without the assumed knowledge should check with the topic coordinator as to the background required, as there will be no additional assistance to compensate for missing background
Topic description
This topic is an introduction to techniques and technology for the production of high quality software. The structure of this topic is organised around a discussion of models of the software lifecycle and the activities involved in it. Among the subjects introduced are the following: models of the software lifecycle, requirements analysis and specification, program design techniques and paradigms, software specification techniques, language selection and coding, configuration management and version control, quality assurance, software integration and testing, project management. This topic involves a group project, satisfactory completion of which qualifies as a group work generic skills requirement.
Educational aims
In broad terms, this topic is concerned with an introduction to most of the major software engineering activities. This topic aims to provide you with an introduction to the various aspects of software engineering, with an emphasis on the development of large software systems by teams (This emphasis is important since most software projects involve working as members of such teams). Through specific Masters-level tutorial, practical and assessment work, consideration will be given to application of this knowledge and skills within the context of professional contributions to the management of an enterprise's information space through the use of advanced knowledge and technical skills in Information Technology.
Expected learning outcomes
At the completion of the topic, students are expected to be able to:
  1. Describe the nature of the various phases of the software lifecycle and other software engineering activities
  2. Discuss various approaches to carrying out these phases and activities, identifying critical tasks and issues
  3. Display an appreciation of the nature of teamwork particularly in software engineering
  4. Contribute to the production of a software requirements specification according to a relevant standard for such specifications
  5. Conduct independent additional studies on software requirements engineering and present findings in a written research report