SW PRACTICALS
SW PRACTICALS
SW PRACTICALS
01
Identifying the Requirements from Problem
Statement
Examination portal
When defining the characteristics of requirements for an examination portal, it's
important to focus on how these requirements should be designed and
implemented to ensure the system is effective, secure, and user-friendly. Here
are some key characteristics:
Functional Requirements
1- User Management
User Registration and Login: Secure user registration and
authentication processes, including support for multi-factor authentication.
Role Management: Different roles (e.g., administrators, instructors,
students) with specific permissions and access rights.
Profile Management: Users should be able to manage their profiles,
including updating personal information and managing passwords.
2- Exam Creation and Management
Question Bank: Functionality to create, edit, and organize questions
into categories. Support for various question types (e.g., multiple-
choice, true/false, short answer).
Exam Configuration: Define exam parameters such as duration, start
and end dates, and type (e.g., timed, open-book).
Scheduling: Ability to schedule exams and manage exam availability.
3- Exam Delivery
User Interface: Intuitive interface for taking exams, with features such as
navigation between questions, saving progress, and a review mechanism.
Adaptive Testing: Capability for adaptive exams that adjust difficulty based on
user responses (if applicable).
4- Grading and Feedback
Non-Functional Requirements
1. Usability
User Experience: Easy-to-use interface with clear instructions and
intuitive navigation.
Accessibility: Compliance with accessibility standards (e.g., WCAG)
to ensure usability for all users.
2. Performance
Response Time: Quick response times for user interactions and
exam submissions.
Scalability: Ability to handle varying numbers of concurrent users
and exams without performance degradation.
3. Security
Data Protection: Encryption of sensitive data, including exam
content and personal information.
Access Control: Proper access control mechanisms to prevent
unauthorized access to exams and user data.
Audit Logs: Maintain logs of user activities and system changes for
auditing and security purposes.
4. Reliability
Availability: High availability with minimal downtime, including
backup and disaster recovery plans.
Error Handling: Robust error handling and reporting mechanisms
to manage and resolve issues effectively.
5. Maintainability
Documentation: Comprehensive documentation for users,
administrators, and developers.
Support: Availability of technical support and user assistance for
troubleshooting and guidance.
EXPERIMENT- 02
Estimation Of Project Metrics
When estimating project metrics for an examination portal, you need to consider
various factors to ensure the system's effectiveness and reliability. Here are
some key metrics and considerations for such a project:
1. User Metrics
Number of Users: Estimate the number of students, teachers, and
administrators who will use the system.
User Growth Rate: Anticipate how user numbers will grow over time to
plan for scalability.
2. Performance Metrics
Response Time: Measure how quickly the system responds to user
actions (e.g., loading pages, submitting exams).
Throughput: The number of transactions the system can handle per unit
of time.
Scalability: Ability to handle increased load without performance
degradation.
3. Reliability Metrics
System Uptime: Percentage of time the system is operational and
accessible.
Error Rate: Frequency of errors or failures in the system.
Recovery Time: Time required to recover from a failure or crash.
4. Functionality Metrics
Feature Completeness: Percentage of planned features that are fully
implemented.
Bug Rate: Number of bugs or issues found per unit of functionality or
time.
5. Security Metrics
Vulnerability Count: Number of security vulnerabilities identified.
Incident Response Time: Time taken to address and resolve security
incidents.
Compliance: Adherence to data protection regulations (e.g., GDPR,
FERPA)
EXPERIMENT- 03
Modeling UML Use Case Diagrams and
Capturing Use Case Scenarios
Modeling UML Use Case Diagrams and capturing use case scenarios are crucial
steps in designing an examination portal. Use Case Diagrams provide a high-
level view of the system’s functionality from the user’s perspective, while Use
Case Scenarios detail the interactions between users and the system to achieve
specific goals.
1. Modeling UML Use Case Diagrams
Use Case Diagrams help visualize the system's functional requirements and
interactions between different types of users (actors) and the system. Here’s
how you can model Use Case Diagrams for an examination portal:
1.1 Identify Actors
Actors are entities that interact with the system. In an examination portal, typical
actors might include:
Student: Takes exams, views results, and manages their profile.
Teacher/Instructor: Creates and manages exams, views student
performance, and provides feedback.
Administrator: Manages user accounts, oversees system settings, and
performs maintenance tasks.
1.2 Identify Use Cases
Use Cases represent the functionalities or services the system provides to its
users. For an examination portal, common use cases might include:
Student:
o Register for an exam
o Take an exam
Teacher/Instructor:
o Create a new exam
o Grade exams
Administrator:
o Create user accounts
Diagram Layout:
[Student] ---- (Register for an exam)
|
---- (Take an exam)
|
---- (View exam results)
Student
Teacher
Administrator
Explanation:
User is a general actor that represents common functionalities such as
logging in and updating a profile.
Student, Teacher, and Administrator are specific actors that inherit
these common functionalities from User and add their own specific
functionalities.
Diagram:
+----------------+
| User |
+----------------+
/\
/ \
/ \
+--------+ +---------+ +-------------+
| Student | | Teacher | | Administrator |
+--------+ +---------+ +-------------+
2. Generalization in Use Case Modeling
In Use Case Diagrams, generalization can show that different use cases share
common behavior or functionality.
Example:
Use Case: Manage Account
o Generalizes to:
Update Profile
Change Password
Explanation:
Manage Account is a general use case that covers the common actions
of managing an account.
Update Profile and Change Password are specific use cases that
inherit from Manage Account.
Diagram:
+----------------+
| Manage Account |
+----------------+
/\
/ \
/ \
+---------------+ +-----------------+
| Update Profile| | Change Password |
+---------------+ +-----------------+
3. Generalization in Class Modeling
In class diagrams, generalization is used to show that one class (subclass)
inherits attributes and operations from another class (superclass).
Example:
Class: User
o Generalizes to:
Student
Teacher
Administrator
Explanation:
User is a base class with common attributes like username and password
and methods like login() and logout().
Student, Teacher, and Administrator inherit these attributes and
methods from User and add their own specific attributes and methods.
Diagram:
+------------------------+
| User |
+------------------------+
| - username: String |
| - password: String |
+------------------------+
| + login(): void |
| + logout(): void |
+------------------------+
/ | \
/ | \
/ | \
+---------+ +---------+ +-------------+
| Student | | Teacher | | Administrator |
+---------+ +---------+ +-------------+
| - studentID: String | | - teacherID: String | | - adminID: String |
| + register(): void | | + gradeExam(): void | | + manageSystem(): void |
+---------------------+ +---------------------+ +------------------------+
Summary
Generalization relationships in an examination portal model allow you to:
1. Simplify the Model: By defining common behavior in a general class or
actor and inheriting it in specific subclasses or specialized actors, you can
avoid redundancy and simplify the design.
2. Show Commonality and Specialization: Illustrate how different types
of users or components share common features but also have unique
aspects.
3. Facilitate Maintenance and Extension: Changes made to the general
class or actor automatically propagate to all specialized classes or actors,
making the system easier to maintain and extend.
This approach helps in creating a clearer, more organized model of the
examination portal's functionality and user interactions.
EXPERIMENT- 04
E-R Modeling from the Problem
Statements