Course Title: Software Requirements Engineering

Part A: Course Overview

Course Title: Software Requirements Engineering

Credit Points: 12.00

Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC2274

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2007,
Sem 2 2008,
Sem 2 2009,
Sem 2 2010,
Sem 2 2011,
Sem 2 2012,
Sem 2 2013,
Sem 2 2014

COSC2274

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 1 2018

COSC2275

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2007,
Sem 2 2008,
Sem 2 2009,
Sem 2 2010,
Sem 2 2011,
Sem 2 2012,
Sem 2 2013,
Sem 2 2014

COSC2275

City Campus

Postgraduate

171H School of Science

Face-to-Face

Sem 1 2018

Course Coordinator: Dr Maria Spichkova

Course Coordinator Phone: +61 3 9925 0452

Course Coordinator Email: maria.spichkova@rmit.edu.au

Course Coordinator Location: City Campus, Building 14, Level 10, Room 13

Course Coordinator Availability: By appointment


Pre-requisite Courses and Assumed Knowledge and Capabilities

You may not enrol in this course unless it is explicitly listed in your enrolment program summary.   You should have a grasp of basic concepts of software engineering. ISYS 1117/1118 Software Engineering Fundamentals or equivalent will satisfy these requirements.   Some programming experience equivalent to one semester of programming studies. COSC1519 Intro to Programming OR COSC2531 Programming Fundamentals will satisfy these requirements.


Course Description

Requirements Engineering (RE) provides the basis for successful software development, and is increasingly recognized by practitioners as one of the most important stages in the software development life cycle. For these reasons, it also has attracted much interest in the research community and   In this course, you will learn about the systematic approaches for elicitation, analysis, modeling, specification and validation of software requirements.   The course covers such topics as:

  • Why is RE important for the industry practice?  
  • What are the core principles of RE (definitions, process, roles, management, etc.)?
  • How do we elicit requirements?
  • How do we specify requirements using industry standards?
  • What reference structures can we apply for RE? 
  • What modelling approaches can we apply to support RE? What are Domain and Usage Models?
  • How do we ensure that RE is done properly? What is Quality Assurance?


Objectives/Learning Outcomes/Capability Development

This course contributes to the following Program Learning Outcomes. 

  1. Knowledge
    Apply a broad and coherent set of knowledge and skills for developing user-centric software engineering solutions for contemporary societal challenges.
  2. Problem Solving
    Apply systematic problem solving and decision-making methodologies to identify, design and implement software engineering solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects.
  3. Cognitive and Technical Skills
    Critically analyse and evaluate user requirements and design systems employing software development tools, techniques and emerging technologies


  

Upon successful completion of this course you should be able to:  
  1. Identify and analyse stakeholders and their needs, 
  2. Apply the core principles of RE,
  3. Elicit and specify requirements using industry standards, 
  4. Apply corresponding reference structures (frameworks), 
  5. Create models of requirements using a variety of notations and techniques, including domain and usage models,
  6. Apply quality assurance techniques.


Overview of Learning Activities

The learning activities included in this course are:

Lectures: key concepts will be explained in lectures where material will be presented and the subject matter will be illustrated with practical examples and demonstrations.

Tutorials/labs focussed on projects and problem solving will provide practice in the application of theory and procedures, allow exploration of concepts with teaching staff and other students, and give feedback on your progress and understanding;

Assignments, as described in Overview of Assessment (below) and Assessment Tasks, requiring an integrated understanding of the subject matter; assignment work requires active participation and effective communication, which provides practice in these skills. 

Total study hours

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

Teacher-directed hours (48 hours): lectures, tutorial/lab sessions. Each week there will be 2 hours of lecture and 2 hours of tutorial/lab work. 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/lab sessions will introduce you to the tools necessary to undertake the assignment work.

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 Canvas learning management system which provides specific learning resources. See the RMIT Library Guide at http://rmit.libguides.com/compsci


Overview of Assessment

This course has no hurdle requirements

Assessment tasks

Early Assessment Task: Written assignment – part 1

Weighting 10%

This assessment task supports CLOs 1 & 2

Assessment Task 2: Written assignment – part 2

Weighting 15%

This assessment task supports CLOs 3 & 5 

Assessment Task 3: Written assignment – part 3

Weighting 25%

This assessment task supports CLOs 2 - 5

Assessment Task 4: End-of-semester written examination  

Weighting 50%

This assessment task supports CLOs 1 - 6