Professional Documents
Culture Documents
Educa: Subject Name: Subject Code: Semester: Session
Educa: Subject Name: Subject Code: Semester: Session
Subject Code:
Semester:
Session:
Team Members:
INDEX
1.1 Overview
3.1 Planning
3.2 Scheduling
6.1.2 Scope
6.3.2.3 Purpose
6.3.2.4 Collaboration
6.3.2.5 Attributes
6.3.2.6 Constants
6.4.2 E R Diagram
6.6.2 Security
6.6.3 Testing
6.8 References
Chapter1. Overview and Scope
1.1 Overview:-
Introducing Educa, your premier platform for seamless student-tutor collaboration!
Educa is a user-friendly software designed to connect students with qualified tutors,
fostering an environment of academic excellence.
Educa offers a streamlined experience where students and tutors can effortlessly
connect and collaborate. Here's what makes Educa stand out:
1. User-Friendly Interface:
- Intuitive design for easy navigation.
- Simplified registration process for both students and tutors.
6. Resource Sharing:
- Share educational materials, documents, and resources directly through the Educa
platform.
- Collaborate on projects and assignments in real-time.
7. Progress Tracking:
- Monitor academic progress with built-in tracking tools on Educa.
- Set goals, track achievements, and celebrate successes together.
8. Secure Payment System:
- Educa ensures a seamless and secure payment process for tutoring sessions.
- Benefit from transparent billing and invoicing for both students and tutors.
Educa is not just a platform; it's a catalyst for academic growth. Join Educa and embark
on a journey towards excellence in education!
2. Globalization of Education:
- Facilitates connections between students and tutors globally, transcending
geographical boundaries.
4. Technological Advancements:
- Leverages technology for virtual meeting rooms, interactive tools, and seamless
communication.
6. Enhanced Collaboration:
- Promotes resource sharing, project collaboration, and real-time interaction for a
collaborative learning experience.
The constraints faced by Educa can be broken down into operational, technical, and
economic categories:
Operational Constraints:
2. Regulatory Compliance:
- Adherence to diverse and evolving regulatory frameworks, particularly in the
education and data privacy sectors, may pose operational challenges.
3. Market Saturation:
- Intense competition may pose operational constraints in terms of user acquisition,
differentiation, and establishing a unique operational foothold for Educa.
Technical Constraints:
4. Technological Challenges:
- Compatibility issues, security concerns, or the need for specialized infrastructure may
pose technical constraints on Educa's development and scalability.
6. Infrastructure Limitations:
- Availability and accessibility of necessary infrastructure, such as reliable internet
connectivity, could pose technical limitations on Educa's reach.
Economic Constraints:
7. Budgetary Constraints:
- Limited financial resources may constrain economic aspects, impacting the budget
for development, marketing, and ongoing operational expenses.
8. Time Constraints:
- Tight development schedules or unexpected delays can have economic implications,
affecting the timely launch and competitive positioning of Educa.
1. User Accessibility:
- Assumes that users have reliable internet access and access to devices capable of running
the Educa platform.
2. Market Demand:
- Assumes that there is a sustained demand for online tutoring and collaborative learning
platforms.
3. Regulatory Stability:
- Assumes that regulatory frameworks related to online education and data privacy remain
stable and favorable.
4. Technology Compatibility:
- Assumes that users have devices and internet browsers that are compatible with Educa's
technological requirements.
5. Educational Trends:
- Assumes that Educa's features align with and remain relevant to evolving educational
methodologies and trends.
Dependencies for Educa:
1. Third-Party Integrations:
- Depends on seamless integration with external tools or services for features such as video
conferencing, payment processing, and document sharing.
- Depends on the implementation of robust data security measures to ensure the privacy and
integrity of user information.
4. User Engagement:
- Depends on active user engagement and participation for collaborative features, which may
require effective marketing and outreach strategies.
6. Regulatory Compliance:
- Depends on staying compliant with evolving regulatory standards, and any changes in
regulations may impact the platform's operations.
This outlined plan provides a structured timeline for the development, launch, and
continuous improvement of Educa. Regular assessments and adjustments ensure
adaptability to market dynamics and user needs.
1. Users:
2. HTML:
3. HTTP:
4. HTTPS:
- Secure Hypertext Transfer Protocol is a hypertext transfer protocol over a secure socket
layer.
5. TCP/IP:
- Transmission Control Protocol/Internet Protocol is the communication protocol used to
connect hosts on the internet.
6. PHP DB:
- PHP Database, where PHP is utilized for interacting with and manipulating databases, often
integrated with database management systems such as MySQL or PostgreSQL, to facilitate
dynamic content generation and data storage for web applications.
2. HTML:
3. CSS:
- Cascading Style Sheets define the visual presentation of a web page, enhancing HTML
structure.
4. JS:
- JavaScript is a scripting language for web development, enabling dynamic and interactive
user experiences.
5. Agora API:
- Agora API is utilized for integrating real-time audio and video communication features into
web applications, enhancing user engagement and collaboration.
Chapter 6. Specific Requirements
6.1 Information Description
6.1.2 Scope
- Users, including students and tutors, can register on Educa with essential details.
- Detailed profiles allow users to showcase academic achievements, degrees, subjects of
expertise, and availability.
- Tutors can find students based on academic levels through a smart matching algorithm.
3. Connection Requests:
- Students have the ability to send connection requests to tutors, specifying their academic
needs.
- Tutors can manage and respond to these requests, accepting or rejecting based on
availability and expertise.
5. Discussion Forum:
- Both students and tutors gain access to a discussion forum for academic discussions and
knowledge exchange and also provide link for each teaching sessions.
- Admin oversees and moderates the forum to maintain a positive and constructive
environment.
6. Admin Controls:
- Admin can manage and moderate the discussion forum, ensuring a high standard of content
and user behavior.
7. Security Measures:
- Educa implements secure user authentication and data encryption to protect user data and
privacy.
8. Performance Optimization:
- The platform is optimized for performance, ensuring responsiveness and efficiency, even
during peak usage periods.
Educa's functional design aims to create a seamless and engaging educational experience,
fostering collaboration between students and tutors while providing a secure and user-friendly
environment for learning and knowledge-sharing.
Explanation:
1. User Class: This class contains common attributes for all users, such as userId, username, and
password.
2. Student Class (inherits from User): Extends the User class and adds attributes specific to
students, like studentId, class, and a list of connections.
3. Tutor Class (inherits from User): Extends the User class and adds attributes specific to tutors,
such as tutorId, degrees, and teaching subjects.
4. Admin Class (inherits from User): Extends the User class and adds attributes specific to
administrators, such as adminId and permissions.
5. Discussion Class: Represents the discussion forum with attributes like discussionId, topic, and
a list of messages.
This inheritance structure allows to reuse common attributes and behaviors from the User
class while allowing for specialization in the Student, Tutor, and Admin classes.
Attributes:
- `userId` (string)
- `username` (string)
- `password` (string)
Methods:
Notes:
- Serves as the abstract base class for concrete classes such as `Student`, `Tutor`, and `Admin`.
- Contains common attributes and declares abstract login and logout methods to be
implemented by its subclasses.
Attributes:
- `studentId` (string)
- `class` (string)
Methods:
- `sendConnectionRequest(tutor: Tutor)`: Sends a connection request to a tutor.
Notes:
- Inherits from the `User` class, extending it with student-specific attributes and methods for
connecting with tutors.
Attributes:
- `tutorId` (string)
Methods:
Notes:
- Inherits from the `User` class, adding tutor-specific attributes and methods for teaching and
setting quizzes.
Attributes:
- `adminId` (string)
Methods:
- Inherits from the `User` class, extending it with admin-specific attributes and methods for
account validation and forum management.
Attributes:
- `discussionId` (string)
- `topic` (string)
Methods:
Notes:
Attributes:
- `quizExamId` (string)
Methods:
Notes:
- Attributes:
- `studentId` (string)
- `class` (string)
- Attributes:
- `tutorId` (string)
- Attributes:
- `adminId` (string)
6.3.2.3 Purpose
1. User Class:
Purpose:
- The `User` class serves as an abstract base class that encapsulates common attributes and
methods shared by all users in the system.
- It provides a foundation for user authentication and basic functionalities like login and
logout.
Purpose:
- The `Student` class extends the `User` class and includes attributes and methods specific to
students.
- It allows students to connect with tutors, manage their connections, and interact within the
system.
Purpose:
- The `Tutor` class extends the `User` class with attributes and methods tailored for tutors.
- It enables tutors to accept connection requests, initiate teaching sessions, and set quiz or
exam questions.
Purpose:
- The `Admin` class extends the `User` class to include attributes and methods specific to
administrators.
- It provides functionalities for account validation, user management, and overseeing the
discussion forum.
5. Discussion Class:
Purpose:
- The `Discussion` class represents the discussion forum within the system.
- It facilitates communication among users by allowing them to post messages and engage in
discussions on various topics.
6. Quiz/Exam Class:
Purpose:
These classes collectively contribute to the overall functionality providing a structured and
modular design to handle different roles and activities within the educational platform.
6.3.2.4 Collaboration
Collaboration in the context of software design refers to how different classes or components
work together to achieve the overall functionality of the system.
- Users log in and out using methods provided by the `User` class.
- Students and tutors are subclasses of the `User` class, inheriting common attributes and
methods.
- The `Student` class can send connection requests to tutors, and tutors can accept or reject
these requests.
- The `Admin` class has the authority to validate accounts and manage the discussion forum.
- The `Discussion` class allows users to add messages, fostering communication and
collaboration within the platform.
- The `Student` class can send connection requests to tutors, and tutors can accept or reject
these requests.
- Tutors can initiate teaching sessions with connected students using the `startTeaching`
method.
- Tutors can set quiz or exam questions using the `setQuiz/Exam` method provided by the
`Tutor` class.
- The `Quiz/Exam` class manages the questions and assessments within the system.
- The `Admin` class has the authority to validate user accounts, ensuring the integrity and
security of the platform.
- Admins can manage the discussion forum, overseeing and moderating discussions as
needed.
- The classes work together to provide a seamless experience for students and tutors, allowing
for communication, teaching, and assessments.
In summary, collaboration involves the orchestrated interaction between different classes to
achieve the overall goals of the educational platform. Each class has specific responsibilities,
and their collaboration creates a cohesive and functional system.
6.3.2.5 Attributes
- `userId` (string)
- `username` (string)
- `password` (string)
- `studentId` (string)
- `class` (string)
- `tutorId` (string)
- `adminId` (string)
- `discussionId` (string)
- `topic` (string)
6. Quiz/Exam Class:
- `quiz/ExamId` (string)
These attributes provide the necessary information and functionality for each class to perform
its designated role within the educational platform. Adjustments and additional attributes may
be needed based on specific requirements and functionalities.
6.3.2.6 Constants
Constants could represent fixed values that remain unchanged throughout the program.
Constants are typically used for values that are not meant to be modified during runtime.
1. User Class:
2. Student Class:
4. Admin Class:
5. Discussion Class:
6. Quiz/Exam Class:
Constants can help make code more readable and maintainable by giving meaningful names to
values that are expected to remain constant.
6.3.3 Class Diagram
6.3.4 CRC Models
6.3.5 Use Case Diagram
6.4 Data description
Here's a simple representation of the table structure for the main entities under the category of
data description:
1. User Table:
- Columns:
- `username`
- `password`
2. Student Table:
- Columns:
- `class`
3. Tutor Table:
- Columns:
- Columns:
5. Discussion Table:
- Columns:
- `topic`
6. Quiz/Exam Table:
- Columns:
In this representation:
- Primary keys are unique identifiers for each record in the table.
- Foreign keys establish relationships between tables by referencing the primary key of another
table.
- Lists of strings represent attributes that can have multiple values (e.g., `degrees`,
`teachingSubjects`, `messages`, `questions`).
6.4.2 E R Diagram
6.4.3 Data Dictionary
User Table:
Student Table:
Tutor Table:
Admin Table:
Connection Table:
Discussion Table:
Field Type Description
discussionId VARCHAR Unique identifier for the discussion.
topic VARCHAR The topic or subject of the discussion.
Message Table:
QuizExam Table:
Account Registration
Course Creation
Administrator
Registration
Course Registration
6.6 Supporting Information
6.6.2 Security
DB2 security mechanisms: There are three main mechanisms within DB2 that allow a DBA to implement
a database security plan: authentication, authorization, and privileges.
Authentication is the first security feature encountered when accessing a DB2 instance or database. DB2
authentication works closely with the security features of the underlying operating system to verify user
IDs and passwords. DB2 can also work with security protocols like Kerberos to authenticate users.
Authorization involves determining the operations that users and/or groups can perform, and the data
objects that they may access. A user's ability to perform high-level database and instance management
operations is determined by the authorities that they have been assigned. The five different authority
levels within DB2 are SYSADM, SYSCTRL, SYSMAINT, DBADM, and LOAD.
Privileges are a bit more granular than authorities, and can be assigned to users and/or groups.
Privileges help define the objects that a user can create or drop.
The database server is the machine (or machines in a partitioned database system) on which the
database physically resides. The DB2 database clients are machines that are configured to run queries
against the database on the server. These clients can be local (that is, they can reside on the same
physical machine as the database server) or they can be remote (that is, they can reside on separate
machines).
If the database resides on a mainframe machine running an operating system like AS/400 (iSeries) or
OS/390 (zSeries), it's called a host or host server. A gateway is a machine running the DB2 Connect
product. Through the gateway, DB2 client machines can connect to a DB2 database that resides on a
host machine. The gateway is also referred to as the DB2 Connect Server.
System Test
The System tests will focus on the behavior of the system. User scenarios will be executed against the
system as well as screen mapping and error message testing. Overall, the system tests will test the
integrated system and verify that it meets the requirements defined in the requirements document.
Performance Test
Performance test will be conducted to ensure that the system’s response times meet the user
expectations and do not exceed the specified performance criteria. During these tests, response times
will be measured under heavy stress and/or volume.
Security Test
Security tests will determine how secure the new system is. The tests will verify that unauthorized user
access to confidential data is prevented.
Automated Test
A suite of automated tests will be developed to test the basic functionality of the vehicles online system
and perform regression testing on areas of the systems that previously had critical/major defects. The
tool will also assist us by executing user scenarios thereby emulating several users.
Recovery Test
Recovery tests will force the system to fail in various ways and verify the recovery is properly performed.
It is vitally important that all payroll data is recovered after a system failure & no corruption of the data
occurred.
Documentation Test
Tests will be conducted to check the accuracy of the user documentation. These tests will ensure that no
features are missing, and the contents can be easily understood.
Beta Test
The new system will be beta tested and any defects found will be reported. This will subject the system
to tests that could not be performed in our test environment.
1. User Authentication:
2. User Authorization:
- Define roles and permissions for different user types (Student, Tutor, Admin).
- Implement access control to ensure that users can only perform actions relevant to their
role.
3. Security Measures:
- Use HTTPS to encrypt data transmitted between the client and the server.
- Implement protection against common web vulnerabilities (e.g., Cross-Site Scripting, Cross-
Site Request Forgery).
- Allow users to update their profiles, including changing passwords, updating personal
information, and adding profile pictures.
5. Notification System:
- Provide search and filter options for students to find tutors based on degrees and subjects,
and for tutors to find students based on their class.
- Allow users to like, comment, and reply to messages in the discussion forum.
8. Quiz/Exam Enhancements:
- Ensure the platform is responsive to different device screen sizes, supporting a seamless
experience on both desktop and mobile devices.
11. Performance Optimization:
- Clearly define and communicate the terms of service and privacy policy to users.
6.8 References