Uploaded by JDes

COMP 225 Winter 2024

advertisement
Course Outline
School:
Eng. Tech. & Applied Science
Department:
Information and Communication
Engineering Technology (ICET)
Course Title:
Software Requirements Engineering
Course Code:
COMP 225
Course Hours/Credits:
56
Prerequisites:
COMP 100, COMP 120, COMP 391
Co-requisites:
N/A
Eligible for Prior Learning,
Assessment and Recognition:
Yes
Originated by:
Mohamed Khan
Creation Date:
Fall 2003
Revised by:
Mayy Habayeb, Ilia Nika
Revision Date:
Winter 2020
Current Semester:
Winter 2024
Approved by:
Chairperson/Dean
Students are expected to review and understand all areas of the course outline.
Retain this course outline for future transfer credit applications. A fee may be charged for
additional copies.
This course outline is available in alternative formats upon request.
COMP 225
CENTENNIAL COLLEGE
Software Requirements Engineering
Acknowledgement of Traditional Lands
Centennial is proud to be a part of a rich history of education in this province and in this city. We
acknowledge that we are on the treaty lands and territory of the Mississaugas of the Credit First Nation
and pay tribute to their legacy and the legacy of all First Peoples of Canada, as we strengthen ties with
the communities we serve and build the future through learning and through our graduates. Today the
traditional meeting place of Toronto is still home to many Indigenous People from across Turtle Island and
we are grateful to have the opportunity to work in the communities that have grown in the treaty lands of
the Mississaugas. We acknowledge that we are all treaty people and accept our responsibility to honor all
our relations.
Course Description
This project-based course focuses on software engineering processes and software requirements
engineering tasks. Students will gain hands-on experience by applying the related tasks to document the
user system requirements, develop a detailed software requirements specification, and build analysis
models which include scenario-based, class-based and behavioral-based models using both textual and
graphical diagrams (UML standards).
Coursework emphasizes the application of object-oriented analysis principles, user experience design
principles and guidelines, domain analysis model, analysis patterns, quality assurance and technical
review at the level of the requirements model.
Program Outcomes
Successful completion of this and other courses in the program culminates in the achievement of the
Vocational Learning Outcomes (program outcomes) set by the Ministry of Colleges and Universities in the
Program Standard. The VLOs express the learning a student must reliably demonstrate before
graduation. To ensure a meaningful learning experience and to better understand how this course and
program prepare graduates for success, students are encouraged to review the Program Standard by
visiting http://www.tcu.gov.on.ca/pepg/audiences/colleges/progstan/. For apprenticeship-based programs,
visit http://www.collegeoftrades.ca/training-standards.
Course Learning Outcomes
The student will reliably demonstrate the ability to:
1. Review and discuss Software Engineering application domains, new software evolving categories
and the software engineering process model framework, including agile principles and process
models through a case study.
2. Discuss fundamentals of Object-oriented analysis and design.
3. Apply quality assurance tasks (technical reviews) to validate the requirements model.
4. Apply requirements engineering tasks and techniques: inception, elicitation, elaboration,
negotiation, specification and validation to build a systems requirements specification (SRS)
describing the project problem/opportunity.
5. Analyze the elicited user requirements to construct "Scenario based models" (uses case, user
stories) and document using natural language descriptions supported by graphical models(UML
use case and activity diagrams) as part of the "Analysis model" in the System requirements
specification (SRS) for the project problem/opportunity.
6. Analyze the elicited user requirements and scenario based models to identify objects within the
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
2
COMP 225
7.
8.
9.
10.
11.
CENTENNIAL COLLEGE
Software Requirements Engineering
project problem/opportunity using class responsibilities and collaboration (CRC) techniques to build
"Class models" and document using graphical (UML class diagrams) with textual elaborations as
part of the "Analysis model".
Analyze the elicited user requirements, scenario based and class models to identify the dynamics
of the software and build behavioral diagrams, both at the level of the objects (UML state diagrams)
and at the level of systems (UML sequence diagrams) as part of the "Analysis model" in the (SRS)
for the project problem/opportunity.
Discuss the design principles for the User experience (UX), including usability and accessibility
guideline.
Discuss the objective of software "Analysis patterns" and their use in the requirements engineering
process.
Apply the technical review process and metrics in relation to requirements engineering.
Package and present as a team coherently all required project documentation.
Essential Employability Skills (EES)
The student will reliably demonstrate the ability to*:
1. Communicate clearly, concisely and correctly in the written, spoken, and visual form that fulfills the
purpose and meets the needs of the audience.
2. Respond to written, spoken, or visual messages in a manner that ensures effective
communication.
4. Apply a systematic approach to solve problems.
5. Use a variety of thinking skills to anticipate and solve problems.
6. Locate, select, organize, and document information using appropriate technology and information
systems.
7. Analyze, evaluate, and apply relevant information from a variety of sources.
8. Show respect for diverse opinions, values belief systems, and contributions of others.
9. Interact with others in groups or teams in ways that contribute to effective working relationships
and the achievement of goals.
10. Manage the use of time and other resources to complete projects.
11. Take responsibility for one's own actions, decisions, and consequences.
*There are 11 Essential Employability Skills outcomes as per the Ministry Program Standard. Of these 11 outcomes, the following will be
assessed in this course.
Global Citizenship and Equity (GC&E) Outcomes
The student will reliably demonstrate the ability to*:
1. Identify one's roles and responsibilities as a global citizen in personal and professional life.
2. Identify beliefs, values and behaviours that form individual and community identities and the basis
for respectful relationships.
*There are 6 institutional Global Citizenship & Equity outcomes. Of these 6 outcomes, the following will be assessed in this course.
Methods of Instruction
Engaging and interactive lecture content.
Lab demonstrations and tutorials.
Hands on practical lab exercises.
Interactive discussion forms and boards.
Team project.
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
3
COMP 225
CENTENNIAL COLLEGE
Software Requirements Engineering
Text and other Instructional/Learning Materials
Text Book(s):
Software engineering: a practitioner's approach, Roger S. Pressman, Ph.D.
Ph.D. 9th Edition.
Print + 2 year Connect ISBN: 9781260880687
or
2 year Connect ISBN 97810264546145
Guide to the Software Engineering Body of Knowledge (SWEBOK®)
Online Resource(s):
Pressman additional web resources available on the course shell.
Pressman_SEPA_9e_Ch007_WebRef.docx
Pressman_SEPA_9e_Ch008_WebRef.docx
Pressman_SEPA_9e_Ch012_WebRef.docx
Pressman_SEPA_9e_Ch015_WebRef.docx
Pressman_SEPA_9e_Ch016_WebRef.docx
Pressman_SEPA_9e_Ch017_WebRef.docx
Various authentic sites e.g IBM, Oracle, Visual_Paradigm
Material(s) required for completing this course:
Required Text, Course shell material
Bruce R. Maxim,
Evaluation Scheme
➮
➮
➮
➮
➮
➮
Quizzes: 2 Quizzes over the duration of the semester - 4.5 marks
Test # 1 (Mid term test): First Term Test - 15%
Test #2 (final test): Th Final Test is worth 20%
3-PART Term Project: PARTS A, B & C each worth 10 marks each
On-line participation: Participation in on-line discussions.
Weekly Smart Book/Connect Assignments: Weekly reading of smart book and answering the
questions related to the main concepts of each topic.
Evaluation Name
Quizzes
Test # 1 (Mid term test)
Test #2 (final test)
3-PART Term Project
On-line participation
Weekly Smart Book/Connect Assignments
CLO(s)
EES
Outcome(s)
1, 2, 8, 9, 10 1, 2, 4, 5,
6, 7, 11
1, 2, 3, 4, 5, 1, 2, 4, 5,
10
6, 7, 8, 11
2, 3, 4, 5, 6, 1, 2, 4, 5,
7, 8, 9, 10
6, 7, 8, 9,
10, 11
2, 4, 5, 6, 7, 1, 2, 4, 5,
8, 9, 10, 11
6, 7, 8, 9,
10, 11
1, 2, 5, 6, 7, 1, 4, 8, 9,
10
10
1, 2, 8, 10
2, 4, 5, 6,
10, 11
Total
GCE
Weight/100
Outcome(s)
1, 2
9
15
20
1, 2
30
1, 2
6
1
20
100%
If students are unable to write a test they should immediately contact their professor or program Chair for
advice. In exceptional and well documented circumstances (e.g. unforeseen family problems, serious
illness, or death of a close family member), students may be able to write a make-up test.
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
4
COMP 225
CENTENNIAL COLLEGE
Software Requirements Engineering
All submitted work may be reviewed for authenticity and originality utilizing Turnitin®. Students who do not
wish to have their work submitted to Turnitin® must, by the end of the second week of class,
communicate this in writing to the instructor and make mutually agreeable alternate arrangements.
When writing tests, students must be able to produce official Centennial College photo identification or
they may be refused the right to take the test or test results will be void.
Tests or assignments conducted remotely may require the use of online proctoring technology where the
student’s identification is verified and their activity is monitored and/or recorded, both audibly and visually
through remote access to the student's computer and web camera. Students must communicate in writing
to the instructor as soon as possible and prior to the test or assignment due date if they require an
alternate assessment format to explore mutually agreeable alternatives.
Student Accommodation
The Centre for Accessible Learning and Counselling Services (CALCS) (http://centennialcollege.ca/calcs)
provides programs and services which empower students in meeting their wellness goals,
accommodation and disability-related needs. Our team of professional psychotherapists, social workers,
educators, and staff offer brief, solution-focused psychotherapy, accommodation planning, health and
wellness education, group counselling, psycho-educational workshops, adaptive technology, and peer
support. Walk in for your first intake session at one of our service locations (Ashtonbee Room L1-04,
Morningside Room 190, Progress Room C1-03, The Story Arts Centre Room 285, Downsview Room 105)
or contact us at calcs@centennialcollege.ca, 416-289-5000 ext. 3850 to learn more about accessing
CALCS services.
Use of Dictionaries
•
Any dictionary (hard copy or electronic) may be used in regular class work.
Program or School Policies
N/A
Course Policies
N/A
College Policies
Students should familiarize themselves with all College Policies that cover academic matters and student
conduct.
All students and employees have the right to study and work in an environment that is free from
discrimination and harassment and promotes respect and equity. Centennial policies ensure all incidents
of harassment, discrimination, bullying and violence will be addressed and responded to accordingly.
Academic Honesty
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
5
COMP 225
CENTENNIAL COLLEGE
Software Requirements Engineering
Academic honesty is integral to the learning process and a necessary ingredient of academic integrity.
Forms of academic dishonesty include cheating, plagiarism, and impersonation, among others. Breaches
of academic honesty may result in a failing grade on the assignment or course, suspension, or expulsion
from the college. Students are bound to the College’s AC100-11 Academic Honesty and Plagiarism
policy.
To learn more, please visit the Libraries information page about Academic Integrity
https://libraryguides.centennialcollege.ca/academicintegrity and review Centennial College's Academic
Honesty Module:
https://myappform.centennialcollege.ca/ecentennial/articulate/Centennial_College_Academic_Integrity_M
odule_%202/story.html
Use of Lecture/Course Materials
Materials used in Centennial College courses are subject to Intellectual Property and Copyright
protection, and as such cannot be used and posted for public dissemination without prior permission from
the original creator or copyright holder (e.g., student/professor/the College/or third-party source). This
includes class/lecture recordings, course materials, and third-party copyright-protected materials (such as
images, book chapters and articles). Copyright protections are automatic once an original work is created,
and applies whether or not a copyright statement appears on the material. Students and employees are
bound by College policies, including AC100-22 Intellectual Property, and SL100-02 Student Code of
Conduct, and any student or employee found to be using or posting course materials or recordings for
public dissemination without permission and/or inappropriately is in breach of these policies and may be
sanctioned.
For more information on these and other policies, please visit www.centennialcollege.ca/aboutcentennial/college-overview/college-policies.
Students enrolled in a joint or collaborative program are subject to the partner institution's academic
policies.
PLAR Process
This course is eligible for Prior Learning Assessment and Recognition (PLAR). PLAR is a process by
which course credit may be granted for past learning acquired through work or other life experiences. The
PLAR process involves completing an assessment (portfolio, test, assignment, etc.) that reliably
demonstrates achievement of the course learning outcomes. Contact the academic school to obtain
information on the PLAR process and the required assessment.
This course outline and its associated weekly topical(s) may not be reproduced, in whole or in
part, without the prior permission of Centennial College.
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
6
COMP 225
CENTENNIAL COLLEGE
Semester:
Section Code:
Meeting Time & Location:
Winter 2024
all
See my-centennial
Professor Name:
Contact Information:
Delivery Method:
Software Requirements Engineering
See eCentennial course shell
See eCentennial course shell
Sections 001 -012 Hybrid Sections 401 - 407
Online
Topical Outline (subject to change):
Week
Topics
Readings/Materials
1
Unit 1 (Review
Required Text:
COMP 120):
chapters 1,2,3,4,5,6
-Introduction to
software
engineering:
- The nature of
software
-Software
Engineering
Process, Domains &
Process Models
-Human Aspects of
Software
Engineering
Agile principles and
processes
2
Unit 2:
Chapter 7
Understanding
Appendix 1
Requirements
Introduction to UML
Weekly Learning Outcome(s)
Instructional
Strategies
Discuss the evolving nature of software.
Discuss & Describe the seven broad
categories of software engineering practice.
Define the terms software, Legacy Software,
software engineering.
Describe the evolving categories of software:
Web apps, Mobile applications, Cloud
computing, product line software.
Explain the five generic process framework
activities of software engineering.
Describe the software engineering umbrella
activities.
Discuss the types of process flows.
Discuss Process Assessment and
Improvement standards.
Explain the various software process models.
Discuss various options for software
engineering team setup.
Explain the "Agile software engineering
development".
Describe the main characteristics for the
following "Agile" processes:
1- Extreme programming (XP)
2- Scrum
3- Agile Unified Process
Understand the principles that guide the
practice.
Explain what is requirements engineering and
what are the underlying concepts and tasks
that lead to good requirements analysis.
Explain each of the requirements engineering
Tasks :Inception, Elicitation, Elaboration,
Negotiation, Specification, Requirements
Review weekly
learning objectives
and outcome of week
one.
Introduce the project
assignment and the
expected deliverables
and timeline.
Form project teams (4
students per team).
Each team should
identify a project topic
and provide an initial
write-up.
Online discussion
board.
Tools:
e-centennial group
Microsoft teams
Virtual Class rooms.
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Review weekly
learning objectives
and outcome of week
two.
Review draft
deliverable #1 of Part
Evaluation
Name and
Weight
N/A
Evaluation
Date
N/A
N/A
7
COMP 225
Week
CENTENNIAL COLLEGE
Topics
Readings/Materials
3
Unit 3:
Chapter 7, 15 (15.1Understanding
15.2.2), 16,17(17.1Requirements
17.4)
Requirements
Traceability
Technical reviews
software quality
Quality assurance
Analysis patterns
Introduction to UML
4
Unit 4:
Chapter 8
Requirements
Appendix 1
modeling: scenario
based analysis
models
Use cases
User stories
UML models that
supplement the use
case: Activity
diagrams , Swimlane
diagrams
Domain analysis
Weekly Learning Outcome(s)
validation, Requirements management.
Describe the difference between functional
and non functional requirements.
Describe requirements elicitation techniques.
Understand the elements of an analysis
model.
Explain why identifying users' stories and use
cases is the key to defining functional
requirements.
Apply requirements engineering techniques to
identify use cases.
Describe UML models and standards for
scenario based models.
Explain the concept of traceability in software
engineering and the definition of traceability
matrices.
Explain the concept of Analysis patterns.
Explain requirements validation techniques.
Explain the definition of software quality and
discuss the main factors involved in software
quality.
Discuss the the metrics for software quality
assurance at the level of the requirements
model.
Explain the concept of technical reviews
validation.
Explain the steps and metrics involved in
technical reviews.
Explain Analysis models objectives and rules
of thumb.
Explain Domain analysis and object oriented
domain analysis.
Explain steps for developing use cases.
Describe UML models and standards for use
case workflows (activity diagrams and
swimlane diagrams).
Analyze elicited requirements and develop
textual descriptions for use cases for the
project domain problem/opportunity.
Analyze elicited requirements and develop
use case models and activity diagrams for the
project domain problem/opportunity.
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Software Requirements Engineering
Instructional
Strategies
Evaluation
Name and
Weight
Evaluation
Date
A assignment.
Introduce the SAFE
Home CASE study
used throughout the
course.
Online discussion
board.
Review weekly
Smart book
Week 3
learning objectives
reading
and outcome of week assignment #1
three.
Review weekly draft
deliverables of Part A
assignment as per
project document.
Online discussion
board.
Review weekly
learning objectives
and outcome of week
four.
Explain deliverable for
the second part of the
project.
Review weekly draft
deliverables of Part A
assignment as per
project document.
Online discussion
board.
Smart book
Week 4
reading
assignment #2
Part A Term
Assignment
report is due.
8
COMP 225
Week
5
CENTENNIAL COLLEGE
Topics
Unit 5:
Object Oriented
concepts
Readings/Materials
unit 05
Things, Objects
Classes
Methods, messages
Types of design
classes
Class relationships:
association,
Inheritance
Software Requirements Engineering
Weekly Learning Outcome(s)
Instructional
Strategies
Discuss and understand object oriented
concepts.
Explain the definition of class, object,
attribute, method
Explain the types of classes: Entity, boundary,
controller
Explain association between classes and
multiplicities
Discuss and explain Inheritance, whole/part,
Polymorphism.
Discuss and explain the concept of messages
exchanged between objects.
Describe and explain the four characteristics
of a well-formed design class:1)Complete and
sufficient 2)High cohesion 3)Low coupling 4)
Primitiveness.
Discuss and understand object oriented
concepts.
Explain the steps required to identify and
develop entity classes with their attributes
(noun technique).
Discuss and explain visibility of class
elements.
Discuss and explain class dependencies.
Review weekly
learning objectives
and outcome of week
five.
Review draft
deliverables #1 of Part
B.
Review weekly draft
deliverables of Part B
assignment as per
project document.
Online discussion
board.
6
Unit 6
Requirements
modeling: class
based analysis
models
Techniques related
to classes
Chapter 8
Appendix 1
7
Review & Test #1
mid-term
8
Unit 6
Requirements
modeling: class
based analysis
models
Techniques related
to classes
Domain class
models
Class
responsibilities and
collaborations
Units 2,3,4,5,6
N/A
Chapter 7,8,15 (15.115.2.2), 16,17(17.117.4) and Appendix 1
Chapter 8
Explain the steps required to identify and
Appendix 1
develop entity classes with their attributes
(verb technique).
Discuss and explain visibility of class
elements.
Discuss and explain class dependencies.
Develop and apply Class-responsibilitycollaborator (CRC) index cards to derive
methods related to the entity classes for the
project domain problem/opportunity.
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Review weekly
learning objectives
and outcome of week
six.
Review weekly draft
deliverables of Part B
assignment as per
project document.
On-line discussion
board.
Test # 1
Evaluation
Name and
Weight
Evaluation
Date
N/A
Quiz #1
Smart book
reading
assignment #3
Smart book
Week 6
reading
assignment #4
Test # 1
Week 7
Review weekly
Smart book
N/A
learning objectives
reading
and outcome of week assignment #5
eight.
Review weekly draft
deliverables of Part B
assignment as per
project document.
On-line discussion
board.
9
COMP 225
Week
CENTENNIAL COLLEGE
Topics
Readings/Materials
9
Unit 6
Chapter 8
Requirements
Appendix 1
modeling: class
based analysis
models
Domain class
models
Class dependencies
Analysis packages
10
Unit 7
Chapter 8
Requirements
Appendix 1
modeling: Behavior
State transition
models
11
Unit 7
Requirements
modeling:Behavior,
Sequence models
12
Unit 8
Chapter 12
User
experience(UX)
process of (UX)
The golden rules for
developing user
experience
Chapter 8
Appendix 1
Evaluation
Evaluation
Name and
Date
Weight
Analyze elicited requirements and develop
Review weekly
Smart book
Week 9
domain class entity relationship diagram for
learning objectives
reading
the project domain. problem/opportunity.
and outcome of week assignment #6
Discuss and explain the concept of Analysis nine.
Part B Term
packages.
Review weekly draft Assignment is
deliverables of Part B due, worth 10
assignment as per
marks.
project document.
Explain deliverables
for part C of the
project.
On-line discussion
board.
Explain the type of behavioral models related Review weekly
Week 10
to the system (sequence models) and to the learning objectives
Quiz #2
objects (state transition models).
and outcome of week Smart book
Explain the steps to build state transition
ten.
reading
models.
Review weekly draft assignment #7
Explain the UML notation for state transition deliverables of Part C
diagrams.
assignment as per
Analyze elicited requirements and develop
project document.
state transition models for the classes
On-line discussion
identified for the project domain
board.
problem/opportunity.
Explain the steps to build sequence diagrams. Review weekly
N/A
N/A
Explain the UML notation for sequence
learning objectives
diagrams.
and outcome of week
Analyze elicited requirements and develop
eleven.
sequence diagrams for the use cases
Review weekly draft
identified for the project domain
deliverables of Part C
problem/opportunity.
assignment as per
project document.
Explain and discuss the definition of the user Review weekly
Smart book
Week 12
experience (UX) and the process of
learning objectives
reading
enhancing user satisfaction by creating a
and outcome of week assignment #8
usable, accessible and pleasurable
twelve.
interaction between the product and its users. Review weekly draft
Explain and discuss the process steps for
deliverables of Part C
developing a user experience.
assignment as per
Explain and discuss the golden rules for
project document.
developing user experience.
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Weekly Learning Outcome(s)
Software Requirements Engineering
Instructional
Strategies
10
COMP 225
Week
13
14
CENTENNIAL COLLEGE
Topics
Readings/Materials
Unit 8
Chapter 12
Accessibility
guidelines
Usability guidelines
Review and Test #2 Units 2-8
(final test)
Chapters
7,8,12,15(15.115.2.2),16,17(17.117.4)
Weekly Learning Outcome(s)
Explain and discuss the fundamental design
guidelines for 'usability'.
Explain and discuss the fundamental design
guidelines for user interface 'accessibility'.
N/A
THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar)
Software Requirements Engineering
Instructional
Strategies
Evaluation
Evaluation
Name and
Date
Weight
Review weekly
Project
Week 13
learning objectives
presentation
and outcome of week deliverable #4
thirteen.
of part C
Test # 2
Test #2 (final Week 14
test)
Part C Term
Assignment
report is due
mid week
11
Related documents
Download