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