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
|
|