Course Title: Software Engineering: Process and Tools

Part A: Course Overview

Course Title: Software Engineering: Process and Tools

Credit Points: 12.00


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC2101

RMIT University Vietnam

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Viet3 2008,
Viet1 2009,
Viet3 2009,
Viet2 2010,
Viet1 2011,
Viet3 2011,
Viet2 2012,
Viet1 2013,
Viet1 2015,
Viet3 2015,
Viet2 2016

COSC2299

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2006,
Sem 2 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2014,
Sem 1 2015,
Sem 1 2016

COSC2299

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 1 2017

COSC2361

Taylors College KL

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Offsh 1 11

COSC2428

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2007,
Sem 1 2008,
Sem 1 2009,
Sem 1 2010,
Sem 1 2011,
Sem 1 2012,
Sem 1 2015,
Sem 1 2016

COSC2428

City Campus

Postgraduate

171H School of Science

Face-to-Face

Sem 1 2017

Course Coordinator: Assoc. Prof. Lawrence Cavedon

Course Coordinator Phone: +61 3 9925 2325

Course Coordinator Email: lawrence.cavedon@rmit.edu.au

Course Coordinator Location: 14.08.09

Course Coordinator Availability: By appointment


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Prerequisite: ISYS1117/1118 Software Engineering Fundamentals

Required Prior Knowledge: This course builds on the knowledge acquired in the first year of an undergraduate computer science or software engineering program. You will have one year of experience using a modern operating system, such as OSX, Linux, or Windows. You should have satisfactorily completed the following (or equivalent) courses:

  • COSC1284 Programming Techniques OR COSC2391 Software Architecture: Design and Implementation OR COSC1295 Advanced Programming;
  • COSC2413 Web Programming.

Note it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

For your information the RMIT Course Requisites policy can be found at Course requisites – 7.29.1.6: http://www.rmit.edu.au/browse;ID=twx09y07zi1c

 


Course Description

Software Engineering is more than the programming phase of an application arena. Phases of the software engineering life cycle include specialised processes and tools to ensure that real-world projects, both large and small, are delivered in a quality manner under financial constraints using processes and tools. Invariably, the software end-product is produced by a team of software engineers, stakeholders and ancillary personnel.

This course aims to develop your knowledge of the processes and associated tools required to service the software development life cycle.

 


Objectives/Learning Outcomes/Capability Development

 

 

 

 

Program Learning Outcomes

 

This course contributes to the following Program Learning Outcomes (PLOs) for BP096 Bachelor of Software Engineering and BP094 Bachelor of Computer Science.

  • Enabling Knowledge:

You will gain skills as you apply knowledge effectively in diverse contexts.

  • Critical Analysis:

You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:

-- analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems

-- evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.

  • Problem Solving:

Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to: design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.

  • Communication:

You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to: present a clear, coherent and independent exposition of software applications, alternative IT solutions, and decision recommendations to both IT and non-IT personnel via technical reports of professional standard and technical presentations.

  • Team Work:

You will learn to work as an effective and productive team member in a range of professional and social situations, in particular to: work effectively in different roles, to form, manage, and successfully produce outcomes from teams, whose members may have diverse cultural backgrounds and life circumstances, and differing levels of technical expertise.

  • Responsibility:

You will be required to accept responsibility for your own learning and make informed decisions about judging and adopting appropriate behaviour in professional and social situations. This includes accepting the responsibility for independent life-long learning. Specifically, you will learn to: effectively apply relevant standards, ethical considerations, and an understanding of legal and privacy issues to designing software applications and IT systems.

 

This course also contributes to the following Program Learning Outcomes (PLOs) for MC061 Master of Computer Science.

  • Enabling Knowledge:

You will gain skills as you apply knowledge with creativity and initiative to new situations. In doing so, you will:

Demonstrate mastery of a body of knowledge that includes recent developments in computer science and information technology.

  • Critical Analysis:

You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:

-- analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems

-- evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.

  • Problem Solving:

Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to: design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.

  • Communication:

You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to: Interpret abstract theoretical propositions, choose methodologies, justify conclusions and defend professional decisions to both IT and non-IT personnel via technical reports of professional standard and technical presentations.

  • Team Work:

You will learn to work as an effective and productive team member in a range of professional and social situations, in particular to: work effectively in different roles, to form, manage, and successfully produce outcomes from teams, whose members may have diverse cultural backgrounds and life circumstances, and differing levels of technical expertise.

  • Responsibility:

You will be required to accept responsibility for your own learning and make informed decisions about judging and adopting appropriate behaviour in professional and social situations. This includes accepting the responsibility for independent life-long learning. Specifically, you will learn to: effectively apply relevant standards, ethical considerations, and an understanding of legal and privacy issues to designing software applications and IT systems.

 

 

 

 


Course Learning Outcomes

 

Upon successful completion of this course you should be able to:

  1. utlilize various software engineering processes and their tools as required for best-practice development of software systems.
  2. identify, analyse, compare and contrast different processes and their assistive tools for selected phases of the software engineering life cycle.
  3. cooperate in and contribute to a team environment, develop team dynamics, work according to an agreed team protocol, and resolve/manage conflict issues.
  4. run and document meetings.
  5. plan, identify and apply processes, standards and tools for phases of a software engineering life cycle for a substantial software development project.

Please note that postgraduate students are expected to demonstrate deeper knowledge and higher level application of knowledge and skills than undergraduate students.

 


Overview of Learning Activities

 The learning activities included in this course are:

Lectures will cover Software Engineering process issues and describe tools tailored towards specific scenarios, including industry professional presentations.

Other learning sessions will provide practice in the theories supporting applications to real world software engineering challenges and the application of industry-standard tools to support software engineering activities.Online tools will be used for feedback on progress and understanding.

Team assignments will help develop ability to work in teams and contribute to group work, as well as use tools used in industry to support distributed / team work.

Private study and assessment preparation will contribute to your learning.

Feedback will be regular both in response to submitted assignments, learning sessions and through interaction with teaching staff.

Attendance:

While a minimum attendance standard is not compulsory, non-attendance is correlated with lack of success in this course. Where visa conditions apply, attendance is compulsory.

 

 

A total of 120 hours of study is expected during this course, comprising:

Teacher-directed hours (48 hours): lectures, and laboratory classes. Each week there will be 2 hours of lecture and 2 hours of tutorial / computer laboratory class. You are encouraged to participate during lectures through asking questions, commenting on the lecture material based on your own experiences and through presenting solutions to written exercises. The tutorial / laboratory classes will introduce you to the tools necessary to undertake the assignment work. There will be individual and team demonstrations held in computer laboratory classes throughout the semester.

Student-directed hours (72 hours): You are expected to be self-directed, studying independently outside class.

 


Overview of Learning Resources

The course is supported by the Blackboard learning management system which provides specific learning resources. See the RMIT Library Guide at http://rmit.libguides.com/compsci


Overview of Assessment

Note: This course has no hurdle requirements.

The assessment for this course comprises the following tasks.

 

Assessment Tasks

 

Assessment Task 1: Practical Demonstrations

Practical demonstrations of tools will be conducted during scheduled laboratory classes.

Weighting 10%

This assessment task supports CLO 1.

Assessment Task 2: Team Project

A substantial team project aims to develop a practical software product. The project will be split into multiple parts/submissions to facilitate time-management and feedback. It will involve multiple demonstrations for the purpose of regular feedback on progress.

Weighting 40%

This assessment task supports CLOs 1, 3, 4 & 5.

 

Assessment Task 3: Mid-semester Test

Mid-semester test will be conducted during a scheduled class time.

Weighting 10%

This assessment task supports CLOs 2 &, 5

Assessment Task 4: Final Written Examination.

Weighting 40%

This assessment supports CLOs 2 & 5.

Please note that postgraduate students are expected to demonstrate deeper knowledge and higher level application of knowledge and skills than undergraduate students.