[major=SE | course_id=SWR302 | syllabus_id=13796 | semester=4 | combo=core | title=Software Requirement]
Course ID: SWR302
Title EN: Software Requirement
Title VI: Yêu cầu phần mềm
Credits: 3.0
Prerequisites: SWE102 or SWE201c
Description: This course is a model-based introduction to RE, providing the conceptual background and terminology on RE, addressing a variety of techniques for requirements development including Analysis and Requirements Elicitation; Requirements Evaluation; Requirements Specification and Documentation; Requirements Quality Assurance. To implement these frameworks, student will be learnt how to find appropriate customer representatives, elicit requirements from them, and document user requirements, business rules, functional requirements, data requirements, and nonfunctional requirements.
The numerous visual models that will be represented to illustrate the requirements from various perspectives to supplement natural-language text. Other contents recommend the most effective requirements approaches for various specific classes of projects: agile projects developing products of any type, enhancement and replacement projects, projects that incorporate packaged solutions, outsourced projects, business process automation projects, business analytics projects, and embedded and other real-time systems.
Student tasks: - Students must attend at least 80% of contact slots in order to be accepted to the final examination.
- Student is responsible to do all exercises given by instructor in class or at home and submit on time
- Promptly access to the https://flm.fpt.edu.vn/ for up-to-date course information
Tools: - Microsoft office for documents and presentation.
- https://www.visual-paradigm.com/download/community.jsp students must install visual-paradigm for drawing UML (offline) before taking Final Practical Exam
- BOUML (http://bouml.free.fr/) : UML Drawing software
Course type: coursera_hybrid
Decision: 1402/QĐ-ĐHFPT dated 12/12/2025
Approved date: 2025-12-12
CLO1: Develop a good understanding of principles and techniques for requirement enginneering (RE) regarding requirement inception, requirement development(elicitation, analysis, specification, validation) and requirement management; understand main characteristics of specific projects
[1] category=Assignment; type=on-going; weight=20.0; duration=Option 1: 26 slots ; Option 2 (For Constructivism Approach only): Follow lecturer's proposal; question_type=LO1, LO2, LO3, LO4, LO5, LO6, LO7, LO8; grading_guide=All subjects in syllabus; completion_criteria=; clos=>0
[2] category=LAB; type=on-going; weight=10.0; duration=Option 1: 26slots/each Option 2 (For Constructivism Approach only): Follow lecturer's proposal; question_type=LO5; grading_guide=Chapter 5, Chapter 12; completion_criteria=; clos=>0
[3] category=Progress Test; type=on-going; weight=20.0; duration=Option 1: 30'/each; Option 2 (For Constructivism Approach only): Follow lecturer's proposal; question_type=LO1, LO2, LO3, LO4, LO5, LO6, LO7, LO8, LO9; grading_guide=Test 1: Chapter 1-> Chapter 9 Test 2: Chapter 10 ->20 Test 3: Chapter 21 -->32; completion_criteria=; clos=>0
[4] category=Final exam; type=Final exam; weight=50.0; duration=145 minutes; question_type=All CLOs; grading_guide=All subjects in syllabus; completion_criteria=In the case: (5 > Final TE Score >=4) & (5 > Final PE Score >=4) & FR < 5, the student can choose to take the resit of both TE & PE OR just either TE or PE.; clos=4
[5] category=Practical Exam; type=Final exam; weight=25.0; duration=85'; question_type=LO1, LO2, LO3, LO4, LO5, LO7, LO8, LO9; grading_guide=All subjects in syllabus; completion_criteria=; clos=4
[6] category=Theory Exam; type=Final exam; weight=25.0; duration=60'/each; question_type=LO1, LO2, LO3, LO4, LO5, LO6, LO7, LO8, LO9; grading_guide=All subjects in syllabus; completion_criteria=; clos=4
[1] desc=Software Requirements; author=Karl E. Wiegers; publisher=Microsoft Press; edition=Third Edition; isbn=978-0-7356-7966-5; main=True; online=; note=
[2] desc=More About Software Requirements: Thorny Issues and Practical Advice; author=Karl E. Wiegers; publisher=Microsoft Press; edition=; isbn=978-0-7356-2267-8; main=; online=; note=
[3] desc=The Software Requirements Memory Jogger: A Pocket Guide to Help Software And Business Teams Develop and Manage Requirements; author=Ellen Gottesdiener; publisher=GOAL/QPC; edition=; isbn=978-1-57681-060-6; main=; online=; note=
[4] desc=Requirements Engineering: Secure Software Specifications Specialization; author=; publisher=Coursera; edition=; isbn=; main=; online=True; note=https://www.coursera.org/specializations/requirements-engineering-secure-software
Session 1: Course Introduction
The essential of software requirement
- Software requirements defined
Topic: Offline; Teaching type: LO1; LO: I
ITU: Chapter 1 + Slides
Materials: SWR302

Session 2: The essential of software requirement (cnt)
- Requirements development and management
- When bad requirements happen to good people
- Benefits from a high-quality requirements process
Topic: Offline; Teaching type: LO1; LO: I
ITU: Chapter 1 + Slides
Materials: SWR302

Session 3: Requirements from the customer’s perspective
- Who is the customer?
- The customer-development partnership
- Creating a culture that respects requirement
Topic: Offline; Teaching type: LO1; LO: I, T
ITU: Chapter 2
+ Slides

Session 4: Requirements from the customer’s perspective (cnt)
- Identifying decision makers
- Reaching agreement on requirements
Assignment introduction
Topic: Offline; Teaching type: LO1; LO: I, T
ITU: Chapter 2
+ Slides
Download: do homework
CLO2: Identify the appropriate requirements elicitiation techniques to identify requirements
Session 1: Good practices for requirements engineering (introduce)
- A requirements development process framework
- Requirements elicitation
- Requirements analysis
- Requirements specification
- Requirements validation
- Requirements management
Topic: Offline; Teaching type: LO1, LO2; LO: I, T
ITU: Chapter 3
+Slides

Session 2: Good practices for requirements engineering (practice/apply)
Topic: Offline; Teaching type: LO1, LO2; LO: I, T
ITU: Chapter 3
+Slides
Download: do homework

Session 3: Group discussion
Summary and Exercises (groups)
Topic: Offline; Teaching type: LO2, LO4, LO5; LO: 
ITU: Chapter 4+ Business Analyst Job Description.docx + Slides
Download: Discuss what students have to do in their Assignment

Session 4: Group discussion
Summary and Exercises (groups)
Topic: Offline; Teaching type: LO2, LO4, LO5; LO: 
ITU: Chapter 4+ Business Analyst Job Description.docx + Slides
Download: Discuss what students have to do in their Assignment
CLO3: Utilize various requirements validation techniques to critically evaluate their requirements to identify defects
Session 1: The business analyst
- The business analyst role
- The business analyst’s tasks
- Essential analyst skills
- Essential analyst knowledge
- The making of a business analyst
- The analyst role on agile projects
Topic: Offline; Teaching type: LO2, LO4, LO5; LO: I, T, U
ITU: Chapter 4+ Business Analyst Job Description.docx + Slides
Download: Write Vision and Scope for Assignment

Session 2: Establishing the business requirements
- Defining business requirements
- Vision and scope document
- Scope representation techniques
Topic: Offline; Teaching type: LO2, LO4, LO5; LO: I, T, U
ITU: Chapter 5 + Vision and Scope Template.docx + Slides
Download: Write Vision and Scope for Assignment

Session 3: Establishing the business requirements (con't)
- Keeping the scope in focus
- Vision and scope on agile projects
- Introduce LAB requirements: draw 1 context diagram, 1 swimlane diagram and 1 state diagram.
Topic: Offline; Teaching type: LO2, LO4, LO5; LO: 
ITU: Chapter 5 + Vision and Scope Template.docx + Slides
Download: Practice on first half of Assignment

Session 4: Finding the voice of users
- User classes
- User personal
- Connecting with user representatives
- The product champion
- User representation on agile project
- Resolving conflicting requirements
Topic: Offline; Teaching type: LO2, LO4, LO5; LO: 
ITU: Chapter 6 + Product Champion Responsibilities.docx + Slides
Download: Practice on first half of Assignment
CLO4: Analysis of system requirements and the production of system specifications
Session 1: Requirements elicitation
- Requirements elicitation techniques: Interviews, workshops, Focus groups, Observations, Questionaires, System interface analysis, User Interface Analysis, Document Analysis
- Planning and Preparing for elicitation on your project
- Performing elicitation activities
- Follow up after elicitation
Topic: Offline; Teaching type: LO2, LO3; LO: I, T, U
ITU: 1. Use Case Template.docx
2. Chapter 7 + 8
+Slides
Download: Finish Use Case document

Session 2: Requirements elicitation (cnt)
- Classifying customer input
- Some cautions about elicitation
- Assumed and implied requirements
- Finding missing requirements
Topic: Offline; Teaching type: LO2, LO3; LO: I, T, U
ITU: 1. Use Case Template.docx
2. Chapter 7 + 8
+Slides
Download: Finish Use Case document

Session 3: Understanding user requirements
- Use cases and user stories
Topic: Offline; Teaching type: LO5, LO6; LO: T, U
ITU: 1. Use Case Template.docx
2. Chapter 7 + 8
+Slides
Download: Finish Use Case document

Session 4: Understanding user requirements (cnt)
- The use case approach
- Benefits of usage-centric requirements
Topic: Offline; Teaching type: LO5, LO6; LO: T, U
ITU: 1. Use Case Template.docx
2. Chapter 7 + 8
+Slides
Download: Finish Use Case document
CLO5: Create models of requirements using a variety of notations and techniques, including domain and usage models
Session 1: Playing by the rules
- A business rules taxonomy
- Documenting business rules
- Discovering business rules
- Business rules and requirements
- Tying everything together
Topic: Offline; Teaching type: LO4, LO5; LO: T, U
ITU: 1.Software Requirements Specification Template.docx
2. Chapter 9 + 10
+Slides
Download: Preparing the structure of SRS document (based on student's assignment)

Session 2: Progress test 1 and Review
Topic: Offline; Teaching type: LO1,LO2,LO3,LO4,LO5,LO6; LO: 
ITU: LSM questions
Download: Quiz test

Session 3: Documenting the requirements
- The software requirements specification
Topic: Offline; Teaching type: LO7; LO: T, U
ITU: 1.Software Requirements Specification Template.docx
Download: Preparing the structure of SRS document (based on student's assignment)

Session 4: Documenting the requirements (cnt)
- A software requirements specification template
- Requirements specification on agile projects
Topic: Offline; Teaching type: LO7; LO: T, U
ITU: 2. Chapter 9 + 10
+Slides
Download: Preparing the structure of SRS document (based on student's assignment)
CLO6: Design and plan software solutions to problems using an object-oriented strategy
Session 1: Writing excellent requirements
- Characteristics of excellent requirements
- Guidelines for writing requirements
- Sample requirements, before and after
Topic: Offline; Teaching type: LO5; LO: T, U
ITU: Chapter 11
+ Slides
Download: Write SRS document based on guidelines

Session 2: A picture is worth 1024 words
- Data flow diagram; Swimlane diagram; State-transition diagram and state table ; Dialog map ;
Topic: Offline; Teaching type: LO5; LO: T, U
ITU: Chapter 12
+ Slides
Download: Write SRS document based on guidelines

Session 3: A picture is worth 1024 words (con't)
- Decision tables and decision trees;
Topic: Offline; Teaching type: LO5; LO: T, U
ITU: Chapter 12
+ Slides
Download: Write SRS document based on guidelines

Session 4: A picture is worth 1024 words (con't)
- Event-response tables ; Modeling on agile projects
Topic: Offline; Teaching type: LO5; LO: T, U
ITU: Chapter 12
+ Slides
Download: Write SRS document based on guidelines
CLO7: Prepare and deliver coherent and structured verbal and written technical reports
Session 1: Specifying data requirements
- Modeling data relationships
- The data dictionary
Topic: Offline; Teaching type: LO5; LO: T, U
ITU: 1.Guidance for Data Dictionaries.docx
2.Chapter 13
+Slides
Download: Finish Data Dictionaries of Assignment

Session 2: Specifying data requirements (cnt)
- Data analysis
- Specifying reports
Topic: Offline; Teaching type: LO5; LO: T, U
ITU: 1.Guidance for Data Dictionaries.docx
2.Chapter 13
+Slides
Download: Finish Data Dictionaries of Assignment

Session 3: Beyond functionality
- Software quality attributes
- Exploring quality attributes
- Defining quality requirements
- Specifying quality requirements with Planguage
Topic: Offline; Teaching type: LO5; LO: T, U
ITU: Chapter 14 + Slides
Download: Finish Data Dictionaries of Assignment

Session 4: Beyond functionality (cnt)
- Quality attribute trade-offs
- Implementing quality attribute requirements
- Constraint
- Handling quality attributes on agile projects
Topic: Offline; Teaching type: LO5; LO: T, U
ITU: Chapter 14 + Slides
Download: Finish Data Dictionaries of Assignment
CLO8: Understand how to reduce risks by prototyping.
Session 1: Risk reduction through prototyping
- Prototyping: What and why
- Mock-ups and proofs of concept
- Throwaway and evolutionary prototypes
- Paper and electronic prototypes
Topic: Offline; Teaching type: LO8; LO: T, U
ITU: Chapter 15 + Slides
Download: Finish Requirements Prioritization worksheet

Session 2: Risk reduction through prototyping (cnt)
- Working with prototypes
- Prototype evaluation
- Risks of prototyping
- Prototyping success factors
Topic: Offline; Teaching type: LO8; LO: T, U
ITU: Chapter 15 + Slides
Download: Finish Requirements Prioritization worksheet

Session 3: First things first: Setting requirement priorities
- Why prioritize requirements?
- Some prioritization pragmatics
- Games people play with priorities
Topic: Offline; Teaching type: LO2; LO: T, U
ITU: 1. Requirements Prioritization Spreadsheet.docx
2. Chapter 16
+ Slides
Download: Finish Requirements Prioritization worksheet

Session 4: First things first: Setting requirement priorities (cnt)
- Some prioritization techniques
- Prioritization based on value, cost, and risk
Topic: Offline; Teaching type: LO2; LO: T, U
ITU: 1. Requirements Prioritization Spreadsheet.docx
2. Chapter 16
+ Slides
Download: Finish Requirements Prioritization worksheet
CLO9: Utilize the tactic of requirements management regarding changing, tracing and improving requirements
Session 1: Validating the requirements
- Validation and verification
- Reviewing requirements
- Prototyping requirements
Topic: Offline; Teaching type: LO3; LO: T
ITU: 1. Requirements Review Checklist.docx
2. Chapter 17
+Slides
Download: Check progress of Assignment's requirements

Session 2: Validating the requirements
- Testing the requirements
- Validating requirements with acceptance criteria
Topic: Offline; Teaching type: LO3; LO: T
ITU: 1. Requirements Review Checklist.docx
2. Chapter 17
+Slides
Download: Check progress of Assignment's requirements

Session 3: Exercises (can be interspersed with the lecture)
Topic: Offline; Teaching type: LO3, LO5; LO: I, T, U
ITU: 1. Chapter 18 + 19
2. Requirements Estimation Tool.xlsx
+Slides
Download: Do requirements estimation

Session 4: Discuss and/or present on Chapter 6
Topic: Offline; Teaching type: LO3, LO5; LO: I, T, U
ITU: 1. Chapter 18 + 19
2. Requirements Estimation Tool.xlsx
+Slides
Download: Do requirements estimation
Session 1: Requirements reuse
- Why reuse requirements?
- Dimensions of requirements reuse
- Types of requirements information to reuse
- Common reuse scenarios
- Requirement patterns
- Tools to facilitate reuse
- Making requirements reusable
- Requirements reuse barriers and success factors
Topic: Offline; Teaching type: ; LO: 
ITU: 1. Chapter 18
2. Requirements Estimation Tool.xlsx
+Slides

Session 2: Beyond requirements development
- Estimating requirements effort
- From requirements to project plans,designs and code, tests, success
Review the first half of assignment and evaluation
Topic: Offline; Teaching type: LO2,LO3,LO5,LO7,LO8; LO: 
ITU: 1. Chapter 189
Assignment documents
Download: Oral test

Session 3: Review the first half of assignment and evaluation
Topic: Offline; Teaching type: LO2,LO3,LO5,LO7,LO8; LO: 
ITU: Assignment documents
Assignment document templates
Download: Oral test

Session 4: Progress test 2 and Review
- Review LAB
Topic: Offline; Teaching type: LO2,LO3,LO5,LO7,LO8; LO: 
ITU: LSM questions
Download: Quiz test
Session 1: Agile projects
- Limitations of the waterfall
- The agile development approach
- Essential aspects of an agile approach to requirements
- Adapting requirements practices to agile projects
- Transitioning to agile: Now what?
Topic: Offline; Teaching type: LO4; LO: I, T, U
ITU: Chapter 20+Slides

Session 2: Enhancement and replacement projects
- Expected challenges
- Requirements techniques when there is an existing system
- Prioritizing by using business objectives
- When old requirements don’t exist
- Encouraging new system adoption
Topic: Offline; Teaching type: LO4; LO: I, T, U
ITU: Chapter 21 +Slides

Session 3: Packaged solution projects
- Requirements for selecting packaged solutions
- Requirements for implementing packaged solutions
- Common challenges with packaged solution
Topic: Offline; Teaching type: LO4; LO: I, T, U
ITU: 1. Chapter 22
2. Request for Proposal Template.docx
3. Slides
Download: Read and understand the proposal template ( what are contents and the purpose of these ones)

Session 4: Outsourced projects
- Appropriate levels of requirements detail
- Acquirer-supplier interactions
- Change management
- Acceptance criteria
Topic: Offline; Teaching type: LO4; LO: I, T, U
ITU: 1. Chapter 23
2. Request for Proposal Template.docx
3. Slides
Download: Read and understand the proposal template ( what are contents and the purpose of these ones)
Session 1: Group discussion
Summary and Exercises
Topic: Offline; Teaching type: ; LO: 
ITU: 1. Chapter 24 + 25 + Slides
Download: Read and understand the proposal template ( what are contents and the purpose of these ones)

Session 2: Group discussion (cnt)
Summary and Exercises (cnt)
Topic: Offline; Teaching type: ; LO: 
ITU: 1. Chapter 24 + 25 + Slides
Download: Read and understand the proposal template ( what are contents and the purpose of these ones)

Session 3: Assignment supporting
Topic: Offline; Teaching type: ; LO: 
ITU: 1. Chapter 26 + Slides
Download: Checking SRS document

Session 4: Assignment supporting (cnt)
Topic: Offline; Teaching type: ; LO: 
ITU: 1. Chapter 26 + Slides
Download: Checking SRS document
Session 1: Requirements management practices
- Requirements management process
- The requirements baseline
- Requirements version control
- Requirement attributes
Topic: Offline; Teaching type: LO4; LO: I, T, U
ITU: 1. Chapter 25 + 26 + 27
2. a. CCB Charter Template.docx
b. Change Control Process.docx
c. Impact Analysis Checklist.docx

3. Slides
Download: Do assignment - based on guidelines

Session 2: Requirements management practices (cnt)
- Tracking requirements status
- Resolving requirements issues
- Measuring requirements effort
- Managing requirements on agile projects
Topic: Offline; Teaching type: LO4; LO: I, T, U
ITU: 1. Chapter 25 + 26 + 27
2. a. CCB Charter Template.docx
b. Change Control Process.docx
c. Impact Analysis Checklist.docx

3. Slides
Download: Do assignment - based on guidelines

Session 3: Change happens
- Change control policy
- Basic concepts of the change control process
- A change control process description
- The change control board
Topic: Offline; Teaching type: LO9; LO: I, T, U
ITU: 1. Chapter 25 + 26 + 27
2. a. CCB Charter Template.docx
b. Change Control Process.docx
c. Impact Analysis Checklist.docx

3. Slides
Download: Do assignment - based on guidelines

Session 4: Change happens (cnt)
- Change control tools
- Measuring change activity
- Change impact analysis
- Change management on agile projects
Topic: Offline; Teaching type: LO9; LO: I, T, U
ITU: 1. Chapter 25 + 26 + 27
2. a. CCB Charter Template.docx
b. Change Control Process.docx
c. Impact Analysis Checklist.docx

3. Slides
Download: Do assignment - based on guidelines
Session 1: Links in the requirements chain
- Tracing requirements
- Motivations for tracing requirements
- The requirements traceability matrix
Topic: Offline; Teaching type: LO9; LO: I, T, U
ITU: 1. Chapter 25 + 26 + 27
2. a. CCB Charter Template.docx
b. Change Control Process.docx
c. Impact Analysis Checklist.docx

3. Slides
Download: Do assignment - based on guidelines

Session 2: Links in the requirements chain (cnt)
- Tools for requirements tracing
- A requirements tracing procedure
Topic: Offline; Teaching type: LO9; LO: I, T, U
ITU: 1. Chapter 25 + 26 + 27
2. a. CCB Charter Template.docx
b. Change Control Process.docx
c. Impact Analysis Checklist.docx

3. Slides
Download: Do assignment - based on guidelines

Session 3: Tools for requirements engineering (self-study)
Improving your requirements processes
- How requirements relate to other project processes
- Requirements and various stakeholder groups
- Gaining commitment to change
- Fundamentals of software process improvement
- Root cause analysis
- The process improvement cycle
- Requirements engineering process assets
- Creating a requirements process improvement road map
Topic: Offline; Teaching type: LO8, LO9; LO: ITU
ITU: 1. Chapter 31
2. Action Plan Template.docx
3. Risk Management Plan Template.docx
4. Slides
Download: Finish assignment's documents

Session 4: Software requirements and risk management
- Fundamentals of software risk management
- Requirements-related risks
- Risk management is your friend
Topic: Offline; Teaching type: LO8, LO9; LO: ITU
ITU: 1. Chapter 32
2. Action Plan Template.docx
3. Risk Management Plan Template.docx
4. Slides
Download: Finish assignment 's documents
Session 1: Progress test 3
Topic: Offline; Teaching type: LO4,LO8,LO9; LO: 
ITU: LSM questions
Download: Quiz test

Session 2: Assignment evaluation
Topic: Offline; Teaching type: All LOs; LO: 
ITU: Assignment documents
Download: Oral test

Session 3: Assignment evaluation
Topic: Offline; Teaching type: All LOs; LO: 
ITU: Assignment documents
Download: Oral test

Session 4: Assignment evaluation
Topic: Offline; Teaching type: All LOs; LO: 
ITU: Assignment documents
Download: Oral test