left header image
right header image

Professor Hausi A. Müller PhD PEng FCAE
Department of Computer Science
Faculty of Engineering
University of Victoria

   
Final Marks Posted

Welcome to SENG 321
Spring 2016


Would you tell me please, which way I ought to go from here? That depends a good deal on where you want to get to, said the cat. I don't much care where, said Alice. Then it doesn't matter which way you go, said the cat.

Lewis Carroll, Alice in Wonderland

Course Description

SENG 321 combines a range of topics integral to the analysis of requirements, design, implementation, and testing of a medium-scale software system with the practical experience of implementing such a project as a member of a software engineering team. Introduces requirements engineering, specifications, software life cycle models and formal methods for requirements engineering.

Requirements engineering is a critical yet very difficult part of software development. Project success is ultimately measured against meeting the client requirements. This course is designed to address the issues of requirements engineering in software development projects. It provides the students with opportunities to learn and apply techniques for requirements elicitation, analysis and modelling, as well as risk management, formal specification, negotiation and decision making.

Project-based group work involves students in roles of client as well as system analyst/designer for two different software projects. For each project the designers, in collaboration with clients, define, specify and negotiate requirements, and validate the requirements through prototype design and presentations in class.

Learning Objectives

  • Understand the importance of Requirements Engineering

  • Understand the complexity of software-intensive systems and inherent difficulties of Requirements Engineering

  • Learn and apply the techniques of requirements elicitation, analysis, negotiation, modeling and validation, as well as feasibility studies, risk management and formal specification Uunderstand the role of iterative approaches for adequate requirements management

  • Learn and apply group communication and teamwork techniques

  • Learn and apply techniques for client-developer relationship management

  • Become familiar with different approaches to software process and in particular the Rational Unified Process

 

Topics

  • Requirements elicitation

  • Requirements analysis and modeling

  • Requirements and the development life cycle

  • Risk management

  • Feasibility studies

  • Verification and validation

  • Formal specification techniques

  • Prioritization, negotiation and decision making

  • Software evolution

  • Client-developer relationships

Marking Scheme

Graded work

Grade percentage

Remarks

Group Project

40%

Negotiation builds a team as well as a set of requirements.

Barry Boehm

Class participation, teamwork, and activity logs

5%

Take full advantage of this opportunity to perfect your communication skills!

3 Quizzes 6% In labs to monitor course progress

Midterm Exam

14%

Fri, Feb 26, 2016 in class

Final Exam

35%

Sat, Apr 16 19:00-22:00
ECS 125

 
 

 

INSTRUCTOR

 

Prof. Hausi Müller
Computer Science
Associate Dean Research
Department of Computer Science
University of Victoria
Voice: 1-250-472-5719
E-mail:hausi@uvic.ca
Homepage: http://webhome.cs.uvic.ca/~hausi/

 

LECTURE HOURS

 

Lecture Sections A01, A02
TWF 3:30-4:30 pm
MAC D288

Lab Sections
B01, B02
TR 4:30-5:50
ELW B220/B215

 

OFFICE HOURS

 

TR 4:30-5:50
ELW B220/B215

 

Lab Instructors

 

Prashanti Angara
Harshit Jain

 

Marker

 

Prashanti Angara
Harshit Jain