TORONTO METROPOLITAN UNIVERSITY

Course Outline (W2024)

COE691: Software Requirements Analysis and SPEC

Instructor(s)Dr. Rasha Kashef [Coordinator]
Office: ENG329
Phone: (416) 979-5000 x 556484
Email: rkashef@torontomu.ca
Office Hours: Virtual By Appointment
Calendar DescriptionIntroduces students to the requirement definition phase of the software development cycle with an emphasis on the design and implementation of system-level software, large architectural models for System-On-Chip systems, electronic-Design-Automation tool flows, and embedded systems. Methodologies for the analysis of system specification, the creation of appropriate descriptions of desired system behaviour and qualities along with relevant constraints and assumptions will be discussed.
PrerequisitesCOE 428, COE 528, CPS 510
Antirequisites

None

Corerequisites

None

Compulsory Text(s):
  1. 1- Ian Sommerville, Pete Sawyer, "Requirements Engineering: A Good Practice Guide", ISBN: 978-0-471-97444-4, 1997, Wiley. "2- Bernd Bruegge, Object-Oriented Software Engineering. Using UML, Patterns, and Java, 3rd Edition, ISBN: 0-13-606125-7, 2010, Prentice Hall.
  2. 3-“Requirements Engineering: Processes and Techniques”, By Kotonya, Gerald & Sommerville, Ian., Chichester: John Wiley & Sons, Inc., 1998.
Reference Text(s):
  1. 1- "An Introduction to Requirements Engineering" by Ian K. Bray 2- Karl E. Wiegers, Joy Beatty, Software Requirements, 3rd edition, Microsoft Press, 20133- Software Engineering, 10th Edition, Ian Sommerville, Addison-Wesley, 2015, 9780133943030, General reference to basic software engineering principles4- Additional supplementary materials provided in-class
  2. 2- Requirements Writing Tutorial, Siemens, Canada
Learning Objectives (Indicators)  

At the end of this course, the successful student will be able to:

  1. Become familiar with methods for the organization and prioritization of requirements. (1c)
  2. Develop a deep understanding of a variety of techniques for eliciting requirements from a different stakeholder types. (1d)
  3. Acquire practical skills to represent both functional and non-functional requirements using formal and informal techniques. (4a)
  4. Gain good understanding of analysis techniques such as needs analysis, goal analysis, and use case analysis. (5b)
  5. Develop skill sets for detecting and resolving inconsistencies and ambiguities through negotiation. (7c)
  6. Understand societal and ethical considerations of software design and actively consider them in their analysis process. (9b), (10a)

NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB).

Course Organization

3.0 hours of lecture per week for 13 weeks
2.0 hours of lab per week for 12 weeks
0.0 hours of tutorial per week for 12 weeks

Teaching AssistantsTBA
Course Evaluation
Theory
Weekly Virtual Quizzes 10 %
Midterm Exam 30 %
Final Exam 35 %
Laboratory
Labs Deliverables (5 labs) 25 %
TOTAL:100 %

Note: In order for a student to pass a course, a minimum overall course mark of 50% must be obtained. In addition, for courses that have both "Theory and Laboratory" components, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section above for details on the Theory and Laboratory components (if applicable).


Examinations1) Quizzes: There will be 10 weekly virtual quizzes starting from Week 2. no Quiz in week1, reading week, nor the week of the midterm exam.
 
 2) Midterm exam in Week 7 (or 8)(Exact Date will be determined and posted on D2L), the midterm exam is closed book Virtual Online exam (covers weeks 1-7). The midterm exam is an in-class Online Exam through D2L.
 
 3) The Final exam will be scheduled during exam period, Virtual Exam, two hours, closed-book (covers weeks 1-13).
Other Evaluation InformationNone
Teaching MethodsTeaching Methods:
 1) Virtual Online through Zoom. Zoom Link will be posted on D2L. Lectures will be delivered as a mix of synchronous and asynchronous delivery, lectures will be recorded and posted on D2L.
 2) Lab attendance is in-person (Mandatory)
 
Other InformationIMPORTANT: Students must achieve passing grades in both the theoretical and the laboratory components of the course in order to pass the course. That means the student must pass 50% of the theory components and 50% of the Lab components
 
 All the Labs have to be done individually. Labs will be weekly and will start from Week 2.
 
 Lab due dates will be announced on D2L.  Late lab assignments will not be accepted and will receive a mark of 0.
 
 Two week labs carry double weight than one week labs.
 
 A "Tentative" Course/labs schedule is given below
 

Course Content

Week

Hours

Chapters /
Section

Topic, description

1

3

Introduction to Software Engineering and Software Life Cycle


2

3

Basics and Fundamentals of Requirements Engineering


3-4

6

Requirements Inception, Elicitation and Prioritization


5-6

6

Analysis and Design Methodologies


7-8

6

Requirements Specification & Documentation


9-10

6

Requirements Verification, and Validation including Conflict Detection and Resolution


11-12

6

Requirements Management and Risk Assessment


13

3

Requirements Engineering for Typical Systems Development Processes including ethical and societal considerations


Laboratory(L)/Tutorials(T)/Activity(A) Schedule

Week

L/T/A

Description

2-3

Tutorial 1

UML Review (Use Case Diagrams and Sequence Diagrams).
 Case Study 1

4-6

Tutorial 2

Requirements Elicitation (Stakeholder Identification, Requirements Questionnaire, Systems Modelling, Analysis Checklist, and Interaction matrix)
 Case Study 2

7-8

Tutorial 3

Goal Modeling (System Design and Analysis)
 Case Study 3

9-10

Tutorial 4

Requirements Analysis Methods
 Case Study 4 and 5

11-14

Tutorial 5

Requirement and Risk management
 Case Study 6
 

University Policies & Important Information

Students are reminded that they are required to adhere to all relevant university policies found in their online course shell in D2L and/or on the Senate website

Refer to the Departmental FAQ page for furhter information on common questions.

Important Resources Available at Toronto Metropolitan University

Accessibility

Academic Accommodation Support

Academic Accommodation Support (AAS) is the university's disability services office. AAS works directly with incoming and returning students looking for help with their academic accommodations. AAS works with any student who requires academic accommodation regardless of program or course load.

Academic Accommodations (for students with disabilities) and Academic Consideration (for students faced with extenuating circumstances that can include short-term health issues) are governed by two different university policies. Learn more about Academic Accommodations versus Academic Consideration and how to access each.

Wellbeing Support

At Toronto Metropolitan University, we recognize that things can come up throughout the term that may interfere with a student’s ability to succeed in their coursework. These circumstances are outside of one’s control and can have a serious impact on physical and mental well-being. Seeking help can be a challenge, especially in those times of crisis.

If you are experiencing a mental health crisis, please call 911 and go to the nearest hospital emergency room. You can also access these outside resources at anytime:

If non-crisis support is needed, you can access these campus resources:

We encourage all Toronto Metropolitan University community members to access available resources to ensure support is reachable. You can find more resources available through the Toronto Metropolitan University Mental Health and Wellbeing website.