RE life cycle
4. Validation & Verification
(Requirement QA, consolidation)
3. Specification & Documentation
(Requirement document - RD)
2. Evaluation & Agreement
1. Domain understanding & Elicitation
Evaluation for Online learning
Paradigm: Goal orientation
Relationships with other artifacts, processes
top-down analysis
object orientation
agent orientation
model-check props
use cases
intentional vs. operational specs
Sources of goal
implicit
scenarios
workflow descriptions
keywords in req data
shall...
has to...
so that...
in order to...
...
to reduce
to avoid
organisational goals
explicit: Objectives
ask HOW? to refine
Importance of goals in RE
RE triangle
Agent
Goal
Req evolution
risk management
conflict detection and resolution
Req check
alternative options
Chain of satisfaction arguments
Req Structuring
Abstraction: bottom-up
Refinement: top-down
Goal categories
- corresponds to requirement categories (Section 1.1.5)
- categories can overlap
non-functional
architectural
compliance
development
- cost
- deadline
- variability
- maintainability
- reusability
- ...
quality
- security
- safety
- accuracy
- performance
- usability
- interoperability
- ...
functional
Goal types
- goal types do NOT overlap
soft
Improve
Increase/Reduce
Maximise/minimise
behavioural
Avoid
Bad condition
Maintain
Good condition
Achieve
Target condition
Overview
- Using goal to capture system objectives
- a core abstraction for RE
- Goal orientation as a basic paradigm for RE
- Other paradigms:
- agent orientation
- object orientation
- top-down system analysis
Modelling
Goal diagram
Object model
Agent model
Operational model
Behavioural model
Assessment
End-of-term
Scope: All (final)
Report
Mid-term
Group
4: Đỗ Ngọc Duy - 16020216
Topic investigation
Expected Function
Assignment submission: student complete the assignment in the platform provided by the teacher and submit it. Then teacher check and give score and comment
Vote and rank Class Quality: Student and teacher vote the quality of the class from 1 to 5 star base on some factor: content, connection, interaction ....
Evaluation Quality of Online Learning and Exam Platform
3: Nguyễn Trường Giang - 16020219
2: Vũ Phúc Hưng - 16020237
5: Nguyễn Đức Anh - 16020196
1-Leader: Nguyễn Tuấn Bình -16020203
No: 6
Requirement QA
Outputs
Others
Project contract
Development plan
Prototype (if any)
Acceptance test data
Consolidated RD
- Validated
- Verified
- Checked (for target qualities)
- Fixed (if errors occured)
Formal checking
- Language check
- Consistency and completeness checks
- Model checking
- Theorem proving
Requirement validation by spec animation
Querying specification db
Query for checking consistency
Specification db
diagrammatic specification (e.g. ER)
Inspection and review
QA Process
RD consolidation
Review meeting
Individual review
Planning
Requirement specification
Requirement document (RD)
styles
formal specification
structured NL
Diagrams
UML: multi-view
Stimuli and response
R-net diagrams
System behaviour
UML: state machine diagram
state chart
Interaction scenario
UML: sequence diagram
event trace diagrams
System operation
UML: use case diagram
Information flow
data flow diagram
Activities & data
UML: activity diagram
SADT diagram
Conceptual structure
UML: class diagram
ERD
System scope
UML: use case, activity diagrams
Context, problem, frame
template
free NL
RD template:OR
Volere
Project issues
Nonfunctional requirements
Project constraints
Project drivers
IEEE
Index
Appendicies
Specific requirements
General description
Introduction
Requirement Evaluation
Final proposal
Requirements prioritisation
Value-cost prioritisation
AHP technique
Determine how value, cost
distribute among Reqs
value-cost diagram
Build comparison matrix
Criteria: value, cost
Alternative option evaluation
Weighted matrix
Option weighted score
Criteria weights
Level labels
Risk analysis
Integrating RM into RE (DDP)
(Optional)
Risk documentation
Annotated risk tree
Risk management (RM)
Control
Evaluate + Select
Cost-effectiveness
RRL
NFRs
FRs
Explore
- Using elicitation techniques : survay, interview
- Reusing known countermeasures : generic countermeasures to top 10 risks [Boehm, 1989]
- Using risk reduction tactics: Reduce risk likelihood: new reqs to ensure significant decrease, Avoid risk: new reqs to ensure risk may never occur, Reduce consequence likelihood: new reqs to ensure significant decrease of consequence likelihood
Counter measures (CMs)
Assess
Quantitative
https://drive.google.com/file/d/1gk4Cn4Zqz9UQ6QRfOHbjLNM5oLytJ4zo/view?usp=sharing
Qualitative
https://drive.google.com/file/d/1BPFP5OvqeUZoQOSk2JmK1Ll25kmkOep8/view?usp=sharing
Identify
Risk tree
https://drive.google.com/file/d/17M-2crX3JF0PrRLZJDKsQeUf94Svr8Cw/view?usp=sharing
- key member suddenly quit
- shortest human resources
- estimate wrong budget and time
- learning website is not avaiable
- requirement change
- System let unauthorized user join class
- System automatic log out student when they are in a test
- System dont automatic record time student attend class
- System dont redirect student to learning website when they attend class
- System still give attendance point to student when they didnt answer report
- ...
Risk types
Process-related
top 10 risks [Boehm, 1989]
- req volatility, personnel shortfalls, dependencies on external sources, unrealistic schedules/budgets, ...
Product-related
Non-Functional Risks
- Bad UI/UX, poor response time, poor peak throughput,unavailability
Functional Risks
- info inaccuracy, System do wrong,...
Risk
Undesirable consequences
Severity
Likelihood of occurence if the risk occurs
Likelihood of occurence
Inconsistency management
Conflict management
- identify (overlapping)
- detect (conflicts)
- resolve (conflicts)
- evaluate resolutions
Handling inconsistencies
- use "User" to call the person who use system
- use "Teacher" and "Student" for each type of use not people
- Users dont need to log in unless they used system to interact with other user or to check, change personal imformation
Types of inconsistency
Weak conflict
Strong conflict
- "User must login to use System" And "Information about class can be read without user log in"
Designation clash
- People for "Student" and "Teacher"
Teminology Clash
- "User" vs "People"
- "Graded Student" and "Marked Student"
Domain Analysis
Preliminary proposal (draft)
Glossary of terms (Definitions)
System to-be
(Initial) Requirement
- scenarios of hypothetical software-environment interaction
- software requirements
- organizational/technical constraints
- assumptions on environment
assumptions on environment
Financial assumptions
Time-base assumptions
Technical-base assumptions
Resource-base assumptions
Business strategy-related assumptions
organizational/technical constraints
- Microservice architecture
- Angular
- .Net core
- MS SQL Server
Training teacher and student to use
Software requirement
Sofrware document
Answer of interview, questionnaires
Guide line for new user
System requirement
Funtional
- Log in/Log out
- Account management
- Class management
- Examination management
- Evaluating lecturer/student
- Statistics report
Non-functional
- System must respond at maximum 3 seconds.
- UI/UX is clear, friendly with users, easy to use especially to write. Client interface is light enough for all devices.
- System can receive 2000 request per second
- System authentication with session. One user can only login in one device at the same time. Website use https method.
- The examination will not leak until test begin.
User requirement
- do surveys, chat with teachers, check reports, do homework.
School Staff
- add class, delete class, configure class, check report, decide evaluation of a class, hold final examinations.
- add tests, mark the answers, check attendance, configure class, chat with students, add homework, add teaching material .
Scenario
Abnormal scenario
- Students login to System. Login successfully.
- Students can redirect to the lecturers course management page, students can add, modify and delete lectures.
Normal scenario
- Students login to System. Login failed due to the wrong password.
- Students redirect to the Recovery page, enter the email. System shows a notification that a link for changing a new password will be sent to students' email in about 2 minutes.
- Students wait for the email box and after 2 minutes, an email from System is received. Students click the link and make a new password.
- Students login successfully with the new password.
Negative scenario
- Student login to System. Login successfully.
- Students join an online class in another system link to this system.
- After classes end, students auto redirect to the system and receive a survey. Students do not fill the survey and submit or cancel the survey. Students must do a survey to get attendance in that lesson.
- Students still have attendance for that lesson.
- After all Participants submit a survey or timeout, the user will receive a report about evaluation of that lesson.
Positive scenario
- Student login to System. Login successfully.
- Students join online class in another system link to this system.
- After classes end, students auto redirect to the system and receive a survey. Students fill the survey and submit. Students must do a survey to get attendance in that lesson.
- After submit, students will receive a report about attendance of that lesson.
- After all Participants submit a survey or timeout, the user will receive a report about evaluation of that lesson.
Proposal
Who
Load-bearing capacity of server: Upgrade hardware and Software Support like Docker
Improvement objectives: Automatically assess student learning results and evaluate teaching quality. Evalutte student depend on more other condition like: Time online on class, Active on class, test , ..
Purpose/Aim
Create a online evaluate system for future online education
Furthermore online courses will be officially and validated by the government.
This platform will not only be used in this Coronavirus pandemic but it will build an online learning and evaluation platform for further future.
Improve the quality of online teaching and training process
It will help the education system to take control of the output of the student and prepare a plan for national examination.
By developing a platform that evaluates the online learning lecture from both the teacher and student, it will help improve the teaching and training process in the education system.
System as-is
Opportunities
- technology opportunities (5G, BigData Analytics, AI, IoT, ...)
- new market conditions (new customer segment, new products/services)
New market condition:
Corona virus prevents people from going outside. All the learning or working are priority done from home, with internet connection.
There are few softwares or websites that satisfy users at this time.
The number of people who want to learn and evaluate from afar is increasing.
Technology opportunities:
Teachnical: 5G, BigData Analytics, AI, IoT, ...
Many new methods to identify legal users and increasing the UX.
There are multiple advanced platforms to develop a system, reducing the time cost.
Technology is developing so fast and can process a large amount of data in a short time.
Problems
symptoms - causes - consequences
Consequences
Teachers and students lose motivation when the class is harassed so that quality may be low and evaluating may be false.
Teachers will struggle while lecturing or make tests for their students. They also may not control and know each student's study situation and status.
The whole teach and learn process will not meet the expected quality. Students will not gain knowledge if they are not evaluated.
Causes
Many people, who don't want to study or have nothing to do, use some type of methods to harass the class.
Students may get advantage of online study and not focus in class. Lack of evaluation for online lectures.
Online learning depends on technology and the internet, it is not familiar to all people and teachers.
Hardware Server not strong enough for lage request
Symptoms
Subtopic
Stakeholders
- decision makers
- managers
- domain experts
- users
- clients
- subcontractors
- IT staff
Domain Expert: BA, Education Expert, Professor
Develop Team: Developer, Tester, QA, Data engineering, PM, Devops
Subcontractor: Ministry of Education and Training
Client: Schools, Universities and education organizations.
User: Student, Teacher, Training department staff
Manager : Project manager , Team Lead
Decision maker: CEO, PM,CTO,TL,
Domain
- concepts
- objectives
- tasks
- constraints
- regulations
Regulations
Ensure state information security regulations.
Follow the rules of the Department of Education and Training about information security of students and examination.
The documents in the system must be subject to have a license.
Constraints
Teacher must create test and mark the answers of student
Student can only do test in the time given
Students cannot do test of a class if
attendance < 80% number of days of that class
Manage staff must create a class for the teacher
User must login to use System
Objective
Build a platform that helps improve online learning quality, and make online learning officially approved by the education system.
Concept
A platform for students and teachers where they can evaluate online lecture, give feedback about the class. Teachers give assignments, manage student activities. Students do exercises and exams, interact with teachers and ask off class questions. Statistics and keep track of learning progress and result
Client organisation
Operational procedures
Collect data from online learning system and exam ressult then processing data and return rate of lesson quality, evaluation for student.
Workflows
Student user: Login > Enrol to class > Use the utility of the system for student
Teacher user: Login > Use the utility of the system for teacher
Admintrator: Login > Manager user, class
Policies
Permission authentic by user group
Administrator
Teacher user
Student user
Privacy personal infomation
Strategic objectives
Provides solution of course materials for remote lectures, evaluation method for online learning
Create an interactive platform between teachers and students.
Dependencies
Online learning system
Course system
Training information system
HR management system
Structure
Each classroom in reality is reflected to a “digital class” in the system, each student has an account , log-in when the class start represent for the participate in real life, teacher has account for manage the classroom,
Requirement Elicitation
Stakeholder-driven techniques
Interview
Education expert
Question:
- How online learning impact on the national entrance exam ?
- How to make online learning validated as offline learning ?
- What criteria are needed to ensure the quality of lectures and subjects ?
- What conditions are available to use the existing system ?
Teacher
Question:
- What are the difficulty you face while teaching online ?
- How you want to keep track of your student study progress ?
- What things you want to improve in online learning ?
- What are the features you think the system should have for teachers ?
- How do you think about a beautiful interface ?
- Which criterias to evaluate students ?
- How many classes do you have per week and per day ?
- How many assignments do you give per week and per day ?
- How long for the test exam ?
- What types of test questions are commonly used ?
- What tools do you need to teach ?
Student
Question :
- How you think online learning evaluation will help you ?
- Which kind of test and exam will you want to do to practice your online studying ?
- What things you want to improve in online learning ?
- What are the features you think the system should have for students ?
- How do you think about a beautiful interface ?
- Do you want to interact with the teacher anh how ?
- What is the average internet speed you are using ?
- How many classes do you have per week and per day ?
- Do you think online learning is effective ?
- Do you often lose focus when studying online ?
- What equipment do you usually use to learn? smartphone or pc/laptop or both ?
Artifact-driven techniques
- background study
- data collection
- questionnaires
- card sort & repertory grid
- scenario & storyboard
- prototyping
- knowledge reuse
prototyping
Quick implementation of some aspects, focus on specific functions like creating courses, registering to the courses, … to get feedback from real users.
- Functional aspect : focus on specific function
- initial classroom, courses, show high rated courses,..
- rating lecture’s quality function after class, send feedback
- chatbox between student and teacher
- exercises and submit
- UI: focus on usability by showing input-output forms,...
- return exam result after doing it.
- online statistic board, activity tracking
The Goal is check user feedback directly, focus on unclear, hard-to formulate problems user may caught
data collection
- Usages statistics, cost, number of students have computers,..
- Teaching and assessing methods of teachers and school...
Difficulties:
- May take time
- Data may be difficult to execute to apply to the system
Research about the requirement of the performance, usability, cost, security,.. How many users will access the system at one time, how security could the system be?
Collect data about the number of students and teachers who have to join learning courses, number of courses, estimate the request per second.
questionnaires
Create survey question for client, user student and teacher
Example question for student :
- Does the teacher give enough homework ?
- very few
- few
- enough
- a little much
- too much
- Do you need more interaction time with teachers and off-class communication ?
- yes
- no
- Do you like to study online?
- yes
- no
- Do you find it is hard to study online?
- easy
- normal
- hard
- very hard
- Do you have problems with using a keyboard?
- I don't know to use keyboard
- My typing speed is slow
- I have no problem with using keyboard
Example question for teacher :
- Do you have difficulty in adjusting to the online class and evaluating your students?
- a little bit
- no problem
- What are the disadvantages of online studying?
- text field
background study
Prepare basic info about the client (VNU), what is the inadequacies of online learning, their goal for this platform
- Due to the Coronavirus pandemic, all schools and universities have to change from offline study to online. In order to keep the learning and teaching quality not unaffected, students can still be evaluated in a proper and official way. Client (VNU) requests to build a platform that can evaluate students, teachers and the lecture quality of online learning. And also a system for online exams and tests.
Make sure to have the right and sufficient info, not more or less on how and what client and user want in order to evaluate the platform
- Users want the platform to be easy to use, nice interface, good and variety exam content.
- Clients want the platform to be efficient, meet their demand goal. Can direct to online class and opposite, good evaluation system that helps raise lecture quality. Test and exam that can assess student knowledge.
Build the document of the system-as-is : workflow, business rules, defect/complaint reports, update, change request.
Research and report about other platforms that have similar domains (online study platform): Coursera, UET courses, ViettelStudy,..
- Coursera: Popular online website with thousands of lectures in different fields which is taught by top instructors. Self study courses or specialization have the output of a Sharable Certificates and online degree.
- UET courses: A website for UET students and lecturers. Lecturers can post the lectures as well as the exercises. Students can see and learn the courses, do the exercises and submit the homework that the lecturers will evaluate.
- ViettelStudy: System for students and teacher from junior to high school, can choose the reviewed courses from another learning pla, classrooms with student and teacher in reality are reflected to the systems
Collect, research and synthesize about the client (in this situation is the school).
- Is an education organization for teaching, evaluating students, giving knowledge to people.
- Structure : Manage staff, teachers, students.
- Have two types of school: public school and private school.
- Have many subjects, each subject can have many classes with different teachers or time. One teacher can teach the same subject in many classes but that classes cannot exist at the same time. Each class has a minimum and maximum number of students.
- Year divided into semesters, classes belong to one semester. School will have a test in the middle and at the end of semester.
- Students will be evaluated depending on the results of the classes they attend.
RE
Satisfaction argument
4-variable model
Statements
Types
Definitions
Assumptions
Domain properties
Software requirements
Non-functional requirements
Functional requirements
System requirements
Mood
Prescriptive statement
Descriptive statement
Scope
Quality assurance
Errors/Flows
- Omission (critical error!)
- Contradiction (critical error!)
- Inadequacy(critical error!)
- Ambiguity (critical error!)
- Unmeasurability
- Noise, overspecification
- Unfeasibility (wishful thinking)
- Unintelligibility
- Poor structuring, forward reference, remorse
- Opacity
Target qualities
- Completeness of objectives, requirements, assumptions
- Consistency of RD items
- Adequacy of requirements, assumptions, domain props
- Unambiguity of RD items
- Measurability of requirements, assumptions
- Pertinence of requirements, assumptions
- Feasibility of requirements
- Comprehensibility of RD items
- Good structuring of the RD
- Modifiability of RD items
- Traceability of RD items
Process lifecyle
Definition
- An iteration on successive increments according to a spiral model (Boehm, 1988; Kotonya & Sommerville, 1997).
- Each iteration triggered by the need to revise, adapt or extend the requirements document through addition, removal or modification of statements such as requirements, assumptions or domain properties
- A new iteration may take place at different stages of the software lifecycle:
- Within the RE process itself, as such statements are found during consolidation to be missing, inadequate or inconsistent with others.
- During software development, as such statements tum out to be missing, unfeasible or too costly to implement, incompatible with new implementation constraints, or no longer adequate as the problem world has evolved in the meantime.
- After software deployment, as the problem world has evolved or must be customized to specific contexts
RE Process
Dimensions
WHO
Service: safe train accelerations
- responsibility:
- software-to-be (in a driverless alternative) OR
- train drivers (who follow indications issued by the software-to-be)
Alternatives need to be analysed and evaluated carefully.
Component
Responsibilities
- assigning responsibilities to suitable system components for achieving the objectives, services and constraints
- system components: humans, devices or software
WHAT
Objective: avoid train collision
Services:
- compute safe train accelerations
- in terms that allow domain experts to establish that the objective of avoiding collisions of successive trains will be guaranteed
- display necessary information for passengers inside trains
Constraints:
- maximum delays in transmitting acceleration commands to trains
- readability of such commands by train drivers so as to avoid confusion
Assumptions:
- train-tracking subsystem should be made explicit and validated
Functional services
(software services, associated manual procedures) THAT:
– satisfy the identified objectives
– according to quality constraints: security, performance,...
– are based on realistic assumptions about the environment
WHY
Example
Eg2
- Problem (system-as-is):
- passengers frequently missing flight connections among different terminals
- slow & inconvenient transportation
- number of passengers regularly increasing
- Objectives (system-to-be):
- support high-frequency trains between terminals
Eg1
Avoid train collisions
Objectives
- Contextual reasons for system-to-be are made explicit in terms of objectives to be satisfied by it
- Objectives must be identified with regard to
- limitations of the system-as-is
- opportunities to be exploited
- alignment with business objectives
- Requires careful analysis:
- What are those objectives precisely?
- What are their ramifications?
- How do they interact?
- How do they align with business objectives?
Examples
Eg2: Transportation between airport terminals
lect01, slide11
Eg1: Train control
Textbook, Sect 1.1.3, pg13-17
3 dimensions
Preliminary
Definition
a coordinated set of activities for
- exploring,
- evaluating,
- documenting,
- consolidating,
- revising and
- adapting
the
- objectives,
- capabilities,
- qualities,
- constraints and
- assumptions
that the system-to-be should meet based on
- problems raised by the system-as-is and
- opportunities provided by new technologies
Main topic