ASSIGNMENT 02
COURSE NAME
SOFTWARE ENGINEERING (CS-321)
SEMESTER
4th Spring 2025
SUBMMITED BY
ROSHAN AKMAL
(23014119-103)
RAFIA
(23014119-104)
ZAIB UN NISA
(23014119-129)
SUBMMITED TO
SIR JABBAR
SECTION
BsCs-B (EVE)
Question # 01
Apply any requirement gathering technique to collect the
requirements of your respective project also categorize these
requirements.
Ans:
1. Requirement Gathering Techniques & Categorization
For Online Course Registration System, we used following techniques:
• Social Analysis
Observing how students and professors interact with the current registration system
can help identify pain points. This includes:
• Observing students navigating course selection and payment.
• Interviewing professors to understand how they manage student sign-ups.
• Analyzing complaints about the current system.
Categorized Requirements
1. Functional Requirements (System features):
o Students can view courses, register for courses, and pay bills.
o Professors can view signed-up students and upload details.
o The system must send information to the billing system.
2. Non-Functional Requirements (Performance & usability):
o The system should be easy to use for students and professors.
o Payments should be secure and fast.
o Course details should be updated in real-time.
• Questionnaires
Questions for students and professors to understand their needs.
• For Students:
1. How do you currently register for courses?
2. What difficulties do you face while viewing the course
catalog?
3. Do you need notifications for course registration deadlines?
4. Would you like to see detailed professor information before
enrolling?
5. How do you prefer to pay your fees?
• For Professors:
1. How do you check student enrollment details?
2. Do you require a feature to upload course materials?
3. Would you like an option to view all signed-up students
easily?
Question # 02
Draw The use case diagram of your respective project also write
use we case description for any two cases.
Use Cases:
Use Case 1: Register for Courses
Name: Register Course
Summary: Only a student can register for a course.
Dependency: Login
Actors: Student
Trigger Condition: If the student is on the dashboard.
Pre-Condition: Must be logged in.
Scenarios:
• Normal:
1. The student logs in.
2. The student navigates to the course registration section.
3. The student selects the desired courses.
4. The system checks availability and prerequisites.
5. The student confirms course registration.
6. The system updates the student's enrollment status.
• Alternative:
o If a selected course is full, the system provides a waitlist option.
o If prerequisites are not met, the system suggests alternative courses.
• Exceptional:
o If the system crashes, the student must try again later.
o If session times out, the student must re-login.
Post-Condition: Successfully added/dropped the course.
Use Case 2: Upload Details
Name: Upload Details
Summary: Only a professor can upload course-related details.
Dependency: Login
Actors: Professor
Trigger Condition: If the professor accesses the online system.
Pre-Condition: Must be logged in.
Scenarios:
• Normal:
1. The professor logs in.
2. The professor navigates to the course management section.
3. The professor selects a course.
4. The professor uploads course materials or updates course details.
5. The system verifies and saves the details.
• Alternative:
o If the upload takes too long, the system allows retrying.
o If the professor wants to edit existing details, they can update them.
• Exceptional:
o If the file format is incorrect, an error message is displayed.
o If the internet disconnects, the upload is paused until the connection is restored.
Post-Condition: Successfully uploaded course details.
Question # 03
Identify the classes of your project and draw class diagram.
Ans:
The identified classes are:
1. User
2. Login
3. Professor
4. Student
5. RegisterSubject
6. RegistrationSystem
7. BillingSystem