Course Title: Software Engineering Fundamentals

Part A: Course Overview

Course Title: Software Engineering Fundamentals

Credit Points: 12.00

Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

ISYS1117

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

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

ISYS1117

City Campus

Postgraduate

171H School of Science

Face-to-Face

Sem 1 2017,
Sem 2 2017,
Sem 1 2018,
Sem 2 2018,
Sem 1 2019,
Sem 2 2019,
Sem 1 2020,
Sem 2 2020,
Sem 1 2021

ISYS1117

City Campus

Postgraduate

175H Computing Technologies

Face-to-Face

Sem 1 2022,
Sem 2 2022,
Sem 1 2023,
Sem 2 2023,
Sem 1 2024

ISYS1118

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

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

ISYS1118

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face or Internet

Sem 1 2009

ISYS1118

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 1 2017,
Sem 2 2017,
Sem 1 2018,
Sem 2 2018,
Sem 1 2019,
Sem 2 2019,
Sem 1 2020,
Sem 2 2020,
Sem 1 2021,
Sem 2 2021

ISYS1118

City Campus

Undergraduate

175H Computing Technologies

Face-to-Face

Sem 1 2022,
Sem 2 2022,
Sem 1 2023,
Sem 2 2023,
Sem 1 2024

ISYS2089

RMIT University Vietnam

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

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

ISYS2089

RMIT University Vietnam

Undergraduate

171H School of Science

Face-to-Face

Viet2 2017,
Viet3 2018,
Viet3 2019

ISYS3292

Taylors College KL

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Offsh 3 10,
Offsh 1 11

Course Coordinator: Dr Mojtaba Shahin

Course Coordinator Phone: .

Course Coordinator Email: mojtaba.shahin@rmit.edu.au

Course Coordinator Location: 14.11

Course Coordinator Availability: By appointment, by email


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Pre-Requisite Courses
Successful completion of the below courses:

For the undergraduate course offerings (ISYS3378 or ISYS1118 or ISYS2410):
Successful completion of:
COSC1073 / COSC2081 / COSC2135 / COSC2681 - Programming 1 (Course ID 004065)
OR 
COSC1284 - Programming Techniques (Course ID 004301)
OR
COSC2803 - Programming Studio 1 (Course ID 054081)

For the postgraduate course offering (ISYS1117):
Successful completion of:
COSC2531 - Programming Fundamentals (Course ID 045682)
AND 
ISYS1055 / ISYS1057 / ISYS2095 / ISYS3376 - Database Concepts (Course ID 004083)

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 go to RMIT Course Requisites webpage.


Course Description

This course is designed to provide you opportunity to gain knowledge and skills necessary to analyse, design and implement complex software engineering projects. You should learn to analyse and design fairly complex real-life systems, working as teams. The project based approach used requires you to review and refine your design iteratively based on regular feedback from staff. You are also made aware of current software engineering standards and processes. You are also taught to consider qualitative aspects including maintainability, extensibility, reusability and robustness in every stage of the software-engineering life-cycle. At the end of the course you should be able to combine top-down and bottom-up approaches to software design and choose the most appropriate process considering the underlying technology, project duration, the level of risks and the customer expectations.


Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes
This course contributes to the following Program Learning Outcomes (PLOs) for
BP094 Bachelor of Computer Science,
BP096 and Bachelor of Software Engineering,
and
MC208 Master of Information Technology,
MC061 Master 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, to:

  • analyse and model requirements and constraints for designing and implementing software artefacts and IT systems
  • evaluate and compare designs of software artefacts and IT systems based on 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 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.

For more information on the program learning outcomes for your program, please see the program guide.


Upon successful completion of this course, you will be able to:

  1. Explain and apply the main aspects of software engineering.
  2. Evaluate requirements for a software system.
  3. Apply the process of analysis and design using the object-oriented approach.
  4. Work effectively in a team to analyse the requirements of a complex software system, and solve problems by creating appropriate designs that satisfies these requirements.
  5. Communicate effectively with others, especially regarding the progress of the system development and the content of the design by means of reports and presentations. Use appropriate design, version control and collaboration tools to work effectively as a team. 
  6. Recognise and describe current trends in the area of software engineering. 
  7. design and carry out tests using various testing techniques and tools.  

Postgraduate students should also be able to:

  1. Implement the design using an appropriate object oriented language. 


Overview of Learning Activities

The learning activities included in this course are:

  • Key concepts will be explained in pre-recorded lecture videos in which course material will be presented and the subject matter will be illustrated with demonstrations and examples;
  • Tutorial sessions focus on analysing, designing and testing software designs taking into account functional and non-functional requirements;
  • Computer laboratory sessions familiarise students with tools and technologies required for software development and provide weekly feedback on student progress in requirements gathering, analysis, design and implementation of software solutions;
  • Weekly quizzes provide regular feedback on theoretical foundations;

Peer-assisted and/or mentor-led learning programs may be available. You are encouraged to be proactive and self-directed in your learning, asking questions of your lecturer and/or peers and seeking out information as required, especially from the numerous sources available through the RMIT library, and through links and material specific to this course that is available through myRMIT Studies Course.  


Overview of Learning Resources

RMIT will provide you with resources and tools for learning in this course through myRMIT Studies Course.

There are services available to support your learning through the University Library. The Library provides guides on academic referencing and subject specialist help as well as a range of study support services. For further information, please visit the Library page on the RMIT University website and the myRMIT student portal

RMIT University is an Academic Partner of Visual Paradigm, and is granted the use of Visual Paradigm's UML modeler and BPMN modeler for educational use.


Overview of Assessment

This course has no hurdle requirements.


Schedule A (ISYS1117)

Assessment Task 1: Processes, Requirements and Architecture.
Weighting: 25%
This assessment supports CLOs 1, 2, 3, 6
This is an individual task

Assessment Task 2: UML Design 1 (Use Case Diagrams, Use Case Descriptions, Class Diagrams, Code).
Weighting: 25%
This assessment supports CLOs 2, 3, 4, 5, 6 (plus 8 for PG)
This is a teamwork task

Assessment Task 3: UML Design 2 (Activity Diagrams and Sequence Diagrams).
Weighting: 25%
This assessment supports CLOs 2, 3, 4, 5, 6 (plus 8 for PG)
This is a teamwork task

Assessment Task 4: Git, User Stories, Unit & Acceptance Testing.
Weighting 25%
This assessment supports CLOs 1, 2, 5, 6, 7
This is an individual task

 

Schedule B (ISYS1118)

Assessment Task 1: Processes, Requirements Architecture
Weighting: 25%
This assessment supports CLOs 1, 2, 3, 6
This is an individual task

Assessment Task 2: UML Design 1 (Use Case Diagrams, Use Case Descriptions, Class Diagrams, Code)
Weighting: 25%
This assessment supports CLOs 2, 3, 4, 5
This is a teamwork task

Assessment Task 3: UML Design 2 (Activity Diagrams and Sequence Diagrams)
Weighting: 25%
This assessment supports CLOs 2, 3, 4, 5
This is a teamwork task

Assessment Task 4: Git, User Stories, Unit & Acceptance Testing
Weighting: 25%
This assessment supports CLOs 1, 2, 5, 6, 7
This is an individual task

If you have a long-term medical condition and/or disability it may be possible to negotiate to vary aspects of the learning or assessment methods. You can contact the program coordinator or Equitable Learning Services if you would like to find out more.