Bca
Bca
#### Assumptions:
1. The system allows students to upload assignments and view their status.
2. Faculty members evaluate and grade the assignments.
3. Each course has multiple assignments.
4. A student can be enrolled in multiple courses, and each course has multiple students.
#### Entities:
1. **Student**: Represents students registered in the system.
- Attributes: `Student_ID (PK)`, `Name`, `Email`, `Contact_Number`, `Enrollment_Number`
#### Relationships:
1. **Student--Course**: Many-to-Many (A student can enroll in multiple courses, and a course can
have many students). Create a junction table: `Enrollment`.
2. **Course--Assignment**: One-to-Many (Each course has multiple assignments).
3. **Student--Submission**: One-to-Many (A student can submit multiple assignments).
4. **Faculty--Assignment**: One-to-Many (A faculty member evaluates multiple assignments).
5. **Assignment--Submission**: One-to-Many (Each assignment has multiple submissions).
#### ERD:
Here is the Entity-Relationship Diagram (ERD):
```
[ Student ] -----< [ Enrollment ] >----- [ Course ] -----< [ Assignment ] -----< [ Submission ]
| ^
| |
| [ Faculty ]
```
---
A **Data Dictionary** is a centralized repository that contains details about the structure,
relationships, and attributes of the data used in a system or database. It acts as metadata,
providing information about data elements, tables, fields, and their characteristics.
5. **Constraints**:
- `Student_ID`: Primary Key, unique, not null.
- `Email`: Unique, not null.
- `Enrollment_Number`: Unique, not null.
6. **Relationships**:
- Associated with the `Enrollment` table for course registrations.
- Associated with the `Submission` table for assignment submissions.
5. (a) Explain various challenges for successful debugging. (b) List any five software testing
tools indicating the testing phase in which they can be employed.
**Key Points**:
- Focuses on testing a **single module** or unit of the software.
- The goal is to identify defects within the module and validate its functionality.
- Typically performed by developers during the development phase.
- Relies on stubs and drivers to simulate interaction with other modules if necessary.
**Example**:
In an e-commerce application, a module for "Login" is tested independently to ensure that entering
valid credentials grants access and invalid credentials are rejected.
**Advantages**:
- Early detection of errors in individual components.
- Helps ensure code correctness before integration.
- Easier debugging since the focus is on a specific part of the system.
---
**Key Points**:
- Focuses on **interfaces and interactions** between modules.
- Verifies that data flows correctly from one module to another.
- Performed after successful module (unit) testing.
- Can be conducted using one of the following approaches:
- **Top-Down Integration**: Testing starts from the top-level modules and proceeds to lower
levels.
- **Bottom-Up Integration**: Testing begins with lower-level modules and gradually integrates
higher levels.
- **Big Bang Integration**: All modules are integrated and tested simultaneously.
- **Incremental Integration**: Modules are integrated and tested step-by-step.
**Example**:
In the same e-commerce application, integration testing is performed to check how the "Login"
module interacts with the "User Dashboard" module, ensuring that after successful login, the
correct dashboard is displayed.
**Advantages**:
- Detects issues related to interface mismatches or data flow.
- Ensures that modules work cohesively.
- Identifies integration problems early in the testing phase.
---
Both testing techniques are critical to ensure a high-quality, reliable, and error-free software
system.
2. (a) Draw the zero and first level DFDs for OASS. Make necessary assumptions.
10 (b) Draw GANTT chart for the development of OASS
### **2. (a) Zero and First Level DFDs for OASS (Online Assignment Submission System)**
---
**Entities**:
1. **Student**: Submits assignments, views feedback and grades.
2. **Faculty**: Uploads assignments, evaluates submissions, and provides feedback.
3. **Admin**: Manages the system and users.
**Processes**:
- **OASS**: The central system that handles assignment submissions and management.
**Data Flows**:
- **From Student**: Assignment submissions, user details.
- **To Student**: Submission status, feedback, grades.
- **From Faculty**: Assignments, feedback, grades.
- **To Faculty**: Submissions for evaluation.
- **From Admin**: User management data.
---
```
+---------------+
| Faculty |
+---------------+
| Upload Assignments, Feedback, Grades
v
+--------------------+
| OASS |
+--------------------+
/ | | \
/ | | \
Student | Admin Faculty
(Submit | Manage (View Submissions)
Assignments) | System Feedback, Grades
```
---
**Processes**:
1. **Process 1.0: Student Module**
- Submits assignments, views grades/feedback.
2. **Process 2.0: Faculty Module**
- Uploads assignments, evaluates submissions, provides grades/feedback.
3. **Process 3.0: Admin Module**
- Manages users and system data.
**Data Stores**:
1. **D1: Assignment Data**: Stores details of assignments.
2. **D2: Submission Data**: Stores student submissions and their statuses.
3. **D3: User Data**: Stores user details (Students, Faculty, Admin).
---
```
+-------------------+
| Student |
+-------------------+
| Submit, View +------------------+
+-------------------> | 1.0 Student |
| Module |
+--------+---------+
|
| Store/View
v
+-----------------------+
| D1: Submission Data |
+-----------------------+
|
+-------------------+ |<--------------+
| Faculty | | |
+-------------------+ | |
| Evaluate Assignments v |
+---------------------------> | 2.0 Faculty |
| Module |
+--------+-------+
|
|
+--------------+------------+
| |
+--------------------------+ +--------------------+
| D2: Assignment Feedback | | D3: Assignment Data|
+--------------------------+ +--------------------+
```
---
---
1.1. (a) Develop SRS for Online Assignment Submission System (OASS) for students of various
courses of university. SRS should be in IEEE format. Make necessary assumptions.
### **Software Requirements Specification (SRS) for Online Assignment Submission System (OASS)**
1.1 **Purpose**
The purpose of this Software Requirements Specification (SRS) document is to define the
functional, non-functional, and system requirements for the Online Assignment Submission System
(OASS). The system is designed for university students and faculty to manage the submission,
evaluation, and tracking of assignments for various courses.
1.2 **Scope**
The OASS is an online platform that allows:
- **Students** to upload their assignments, track submission status, and view feedback/grades.
- **Faculty** to upload assignments, evaluate submissions, and provide feedback/grades.
- **Admins** to manage users, courses, and system configurations.
This system will improve the efficiency of assignment handling, reduce manual errors, and provide
a centralized platform for submission and evaluation.
1.4 **References**
- IEEE Std 830-1998: Recommended Practice for Software Requirements Specifications.
- Assumed university guidelines for assignment submission.
1.5 **Overview**
This document provides a detailed description of system functionalities, user interactions,
performance requirements, design constraints, and assumptions for the development of OASS.
---
2.4 **Constraints**
- System must be accessible 24/7 with minimal downtime.
- The application will support a maximum of 500 concurrent users initially.
- Adheres to university assignment submission policies.
---
2. **Faculty Functionalities**:
- Faculty must log in using their university credentials.
- Faculty can upload assignments with deadlines and instructions.
- Faculty can access and evaluate submitted assignments.
- Faculty can provide grades and feedback.
3. **Admin Functionalities**:
- Admins can manage user accounts (add/update/delete students and faculty).
- Admins can manage courses and their associated assignments.
2. **Security Requirements**:
- User credentials must be securely stored and verified using encryption.
- Role-based access control to prevent unauthorized access to data.
3. **Usability Requirements**:
- The user interface should be intuitive and user-friendly.
- The system must provide help documentation for new users.
4. **Availability**:
- The system must be available 99.5% of the time.
---
- **A. Glossary**:
- **Assignment**: A task assigned by faculty to students.
- **Submission**: A file uploaded by a student in response to an assignment.
- **B. Diagrams**:
ERD and DFD (Zero and First-Level) can be added here.