0% found this document useful (0 votes)
24 views13 pages

TM354 Tma

The document outlines requirements for a Virtual Learning Environment (VLE) system, emphasizing the need for clear, measurable non-functional requirements, such as performance and security. It provides a restated requirement for user concurrency and response times, along with functional and non-functional requirements, including user authentication and compliance with GDPR. Additionally, it discusses use case diagrams and textual descriptions, illustrating the process of submitting an assignment within the VLE.

Uploaded by

kooobrh502
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views13 pages

TM354 Tma

The document outlines requirements for a Virtual Learning Environment (VLE) system, emphasizing the need for clear, measurable non-functional requirements, such as performance and security. It provides a restated requirement for user concurrency and response times, along with functional and non-functional requirements, including user authentication and compliance with GDPR. Additionally, it discusses use case diagrams and textual descriptions, illustrating the process of submitting an assignment within the VLE.

Uploaded by

kooobrh502
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Name : Abdalrahman Yosef Al Dossery

ID : 21561280

Q1
1.1 Requirement Provided by Generative AI Tool and Quality Comment

When prompted with "give me one non-functional requirement for a Virtual Learning
Environment system," a typical generative AI tool will likely provide a requirement
related to Performance or Security. For instance, a common response would be:

"The Virtual Learning Environment (VLE) system shall be able to handle 10,000
concurrent users without any noticeable degradation in response time."

Quality Comment

 Completeness: The requirement states a quantity (10,000 concurrent users)


and a quality attribute (no noticeable degradation in response time), which is
a good start. However, "noticeable degradation" is still somewhat subjective.
What constitutes "noticeable" needs to be defined more precisely. It also
doesn't specify the type of response time (e.g., page load, submission,
navigation).

 Ambiguity: The term "noticeable degradation" introduces ambiguity. What


might be noticeable to one user might be acceptable to another. This lack of
a concrete, measurable metric makes it difficult to objectively test and verify
if the requirement has been met.

 Testability: While the number of concurrent users is testable through load


testing, the "no noticeable degradation" part makes the test outcome
subjective. A more specific metric is needed for clear testability.

 Traceability: The requirement is clear about its purpose (performance under


load) and links directly to the user experience in a VLE.

Assumptions Made by the Tool

The tool makes several assumptions, typical of a general AI:

 Standard VLE Usage: It assumes a typical VLE usage pattern where


concurrent users are interacting with the system, leading to the concern
about response time.

 Importance of Performance: It assumes that performance, specifically


under load, is a critical non-functional aspect for a VLE system, which is
generally true for multi-user platforms.

 Measurability through "noticeable degradation": It implicitly assumes


that "noticeable degradation" is a commonly understood and acceptable
(albeit vague) way to express performance, rather than requiring a hard
numerical threshold.

 General System Scope: It does not assume any specific underlying


architecture, hardware, or network conditions, focusing solely on the user-
perceived performance.

1.2 Restated Requirement for Clarity and Specificity

To make the requirement clearer and more specific, we need to quantify "noticeable
degradation" and specify the type of response time. Using SMART (Specific,
Measurable, Achievable, Relevant, Time-bound) criteria is helpful.

Restated Requirement:

"The Virtual Learning Environment (VLE) system shall support 10,000 concurrent
active users, where an active user is defined as someone logged in and
performing typical VLE actions (e.g., viewing content, participating in forums,
submitting assignments). For 95% of all user interactions (e.g., page loads, quiz
submissions, file uploads), the system's response time shall not exceed 3
seconds during peak usage periods. The remaining 5% of interactions (e.g.,
complex report generation) shall not exceed 10 seconds."

Explanation of Improvements:

 Specific: We've explicitly defined "active user" and specified the types of
interactions. We've also broken down response times for different interaction
complexities.

 Measurable: Instead of "no noticeable degradation," we use concrete,


quantifiable metrics: "95% of interactions shall not exceed 3 seconds" and
"5% of interactions shall not exceed 10 seconds." This allows for objective
testing.

 Achievable/Relevant (Implicit): While achievability depends on the


specific VLE and resources, this restatement provides clear targets. It is
highly relevant to a VLE, where quick response times are crucial for user
satisfaction and effective learning.

 Time-bound (Implicit): While not a fixed date, "during peak usage periods"
provides a contextual time frame for when these performance levels are
expected. Further refinement could specify exact peak hours or user
numbers.

 Reduced Ambiguity: The clear numerical thresholds eliminate subjective


interpretation of "noticeable degradation."
 Improved Testability: A test plan can now be developed with clear pass/fail
criteria based on these timings and user loads.

Q2
2.1 Mandated Constraint

A possible mandated constraint for a Virtual Learning Environment (VLE) system is:

The VLE system must comply with the General Data Protection Regulation (GDPR)
regarding the collection, processing, and storage of personal data of all users. This
includes provisions for data anonymization, consent management, and data breach
notification.

2.2 List of 4 Functional Requirements

Here are 4 functional requirements for a VLE, each with its type:

1. User Authentication: The system shall allow users (students, instructors,


administrators) to log in securely using a unique username and password.

o Type: Process Requirement (describes an action or process the system


must perform)

2. Course Content Management: The system shall enable instructors to upload,


organize, and publish various types of course materials, including documents
(PDFs, Word files), videos, and presentations.

o Type: Data Requirement (describes the data the system must store,
manage, or manipulate, often implying associated processes)

3. Assignment Submission and Grading: The system shall provide a mechanism


for students to submit assignments digitally and for instructors to grade
these submissions and provide feedback.

o Type: Process Requirement (describes a sequence of actions or


operations)

4. Discussion Forum: The system shall provide a discussion forum where


students and instructors can post questions, replies, and engage in threaded
conversations related to course topics.

o Type: Process Requirement (describes an interactive feature or


communication process)

2.3 List of 4 Non-Functional Requirements (Different Types)

Here are 4 non-functional requirements for a VLE, each of a different type:


1. Performance (Response Time): The VLE system shall ensure that all common
user actions (e.g., page loads, navigation between modules) complete within
3 seconds for 90% of concurrent users during peak usage hours.

o Type: Performance Requirement (specifies how fast, how much, or how


quickly the system must perform)

2. Security (Access Control): The VLE system shall implement role-based access
control, ensuring that users can only access functionalities and data
commensurate with their assigned roles (e.g., students cannot access
instructor-only content or gradebooks).

o Type: Security Requirement (specifies how the system protects itself


and its data from unauthorized access or malicious attacks)

3. Usability (User Interface Consistency): The VLE system shall maintain a


consistent user interface layout, navigation patterns, and iconography across
all modules and pages to minimize user learning curve and errors.

o Type: Usability Requirement (specifies how easy the system is to learn,


operate, or understand)

4. Maintainability (Code Modularity): The VLE system's codebase shall be


designed with modular components and clear APIs to facilitate future
enhancements, bug fixes, and integration with other systems without
extensive re-engineering.

o Type: Maintainability Requirement (specifies how easy it is to modify,


extend, or fix the system)

2.4 Volere Template for a Requirement

Here is a Volere template (minimum 8 sections) for the "User Authentication"


functional requirement identified in 2.2, using sections of the snowcard:

Requirement Identifier: FR001

Requirement Name: User Authentication

Description: The system shall allow users (students, instructors, administrators) to


log in securely using a unique username and password.

Fit Criterion: Users are able to successfully log in within 2 seconds. Invalid login
attempts are blocked after 5 consecutive failures for a duration of 30 minutes.

Customer Value: Enables controlled access to the VLE, ensuring that only authorized
individuals can access their respective content and functionalities, maintaining data
integrity and security.
Dependencies: Requires a user database, a secure hashing algorithm for passwords,
and network connectivity.

Conflicts: None identified at this stage.

History:

 Version: 1.0

 Date: 2025-07-21

 Author: [Your Name]

 Reason: Initial requirement for core system functionality.

2.5
2.6 Discussion About Stereotypes

In the Use Case Diagram, I've used two common stereotypes:


<<include>> and <<extend>>. These stereotypes help to manage
complexity and provide more detail about the relationships between
use cases, making the diagram more readable and informative.

1. <<include>> Stereotype:

o Justification: The <<include>> relationship is used when


one use case always incorporates the behavior of another
use case. For example, "Submit Assignment"
<<include>> "Upload File." This means that whenever a
student submits an assignment, they will necessarily go
through the process of uploading a file. Similarly, "Grade
Assignment" <<include>> "Provide Feedback" indicates
that providing feedback is an integral part of the grading
process.

o Benefits:

 Reduces Redundancy: Instead of detailing the


"Upload File" process within every use case that
requires file uploading (e.g., submitting an
assignment, uploading profile picture), it's defined
once as a separate use case and included where
needed. This makes the diagram cleaner and easier
to maintain.

 Promotes Reusability: The included use case (e.g.,


"Upload File") becomes a reusable component
across multiple higher-level use cases, simplifying
system design and development.

2. <<extend>> Stereotype:

o Justification: The <<extend>> relationship is used when


a use case conditionally adds behavior to another, base
use case. For example, "Reset Password" <<extend>>
"Log In." This means that during the "Log In" process, a
user might choose to "Reset Password" if they forget it,
but it's not a mandatory part of every login attempt.
Similarly, "Customize Report Parameters" <<extend>>
"Generate System Reports" implies that an administrator
can customize parameters, but it's not always required to
generate a report.

o Benefits:

 Models Optional Behavior: It clearly distinguishes


optional or alternative flows from the main flow of a
use case, making the system's behavior easier to
understand.

 Manages Complexity: By separating optional


functionalities, the core use case remains focused
and less cluttered, improving the clarity of the
diagram and making it easier to comprehend the
primary user interactions.

2.7 Use Case Textual Description: Submit Assignment

Identifier and Name: UC002 - Submit Assignment

Initiator: Student

Goal: For the Student to successfully submit a completed


assignment to the VLE for grading.

Precondition:

 The Student is logged into the VLE.

 The Student is enrolled in a course with an open assignment.

 The assignment due date has not passed.

Postcondition:

 The assignment is recorded as submitted for the student.

 The instructor can view the submitted assignment.

 The student receives a confirmation of submission.

Assumptions:

 The student has completed the assignment outside the VLE.

 The student has a stable internet connection.

 The uploaded file is within the allowed file size and type limits.

Main Success Scenario:

1. The Student navigates to the relevant course.

2. The Student selects the specific assignment from the course


page.

3. The VLE displays the assignment details page.

4. The Student clicks on the "Submit Assignment" button.

5. The VLE displays the assignment submission interface, which


includes an option to upload a file.
6. The Student selects the assignment file from their local device.
(This includes "Upload File" Use Case)

7. The Student confirms the submission.

8. The VLE uploads the file and records the submission.

9. The VLE displays a submission confirmation message to the


Student.

10. The VLE sends a submission confirmation email to the


Student.

Extensions:

 1a. Invalid Course or Assignment Selection:

o If the Student attempts to access a non-existent course


or assignment, the system displays an error message and
redirects the Student to the course dashboard.

 5a. Exceeded File Size Limit:

o If the uploaded file exceeds the maximum allowed file


size, the VLE displays an error message indicating the file
size limit and prompts the Student to upload a smaller
file.

 5b. Invalid File Type:

o If the uploaded file is not an allowed file type, the VLE


displays an error message indicating valid file types and
prompts the Student to upload a compatible file.

 7a. Student Cancels Submission:

o If the Student clicks "Cancel" at any point during the


submission process before final confirmation, the VLE
discards the submission and returns the Student to the
assignment details page.

 8a. Network Error during Upload:

o If a network error occurs during file upload, the VLE


displays an error message, retains any partial upload if
possible, and prompts the Student to retry the upload.

 8b. Late Submission:


o If the Student attempts to submit after the due date, the
VLE displays a warning message indicating the
submission is late but allows submission if configured to
do so. The submission is marked as late.
Q3

3.1 3.2 .3.3 3.4

3.5
4.1 4.2 4.3

You might also like