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.
-
Knowledge
Apply a broad and coherent set of knowledge and skills for developing user-centric software engineering solutions for contemporary societal challenges. -
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. -
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:
- Identify and analyse stakeholders and their needs,
- Apply the core principles of RE,
- Elicit and specify requirements using industry standards,
- Apply corresponding reference structures (frameworks),
- Create models of requirements using a variety of notations and techniques, including domain and usage models,
- 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