SOftware LAB
SOftware LAB
REQUIREMENTS:
Hardware Interfaces:
Software Interfaces:
Processor:
ARM (Advanced RISC Machines):
Qualcomm Snapdragon
Samsung Exynos
MediaTek Helio
Huawei Kirin
Intel Atom
NVIDIA Tegra
Sony Xperia Mobile Platform
Google Tensor
Unisoc (Spreadtrum)
x86 (Intel Architecture)
x86_64 (64-bit Intel Architecture)
THEORY:
In response to the growing mental health crisis, our Software Requirements Specification (SRS) aims to design
and implement a comprehensive mental health solution. This software will offer user-friendly interfaces,
advanced analytics, and secure communication channels to connect individuals with professional support,
fostering a proactive and inclusive approach to mental health care. By prioritizing privacy, cultural sensitivity,
and evidence-based interventions, our SRS seeks to contribute to the improvement of mental health outcomes
Requirements:
Hardware Requirements:
Processor:
Theory:
A comprehensive theory for a student result management system encompasses several key aspects, including its
objectives, components, functionalities, and underlying principles. Here's a theoretical framework for such a system:
Objectives:
Efficiently manage student academic records and results.
Provide timely access to results for students, faculty, and administrators.
Ensure data accuracy and security.
Streamline administrative processes related to result management.
Facilitate data analysis for academic performance evaluation and decision-making.
Components:
User Interface: Provides interfaces for students, faculty, and administrators to interact with the system.
Database: Stores student information, course details, and result records securely.
Result Processing Engine: Manages the computation, validation, and storage of examination results.
Reporting Module: Generates various types of reports such as grade sheets, transcripts, and statistical analyses.
Access Control: Ensures that only authorized users have access to specific functionalities and data.
Notification System: Alerts stakeholders about result updates, deadlines, and other relevant information.
Functionalities:
Student Registration: Allows students to register for courses and exams.
Result Entry: Enables faculty members to input and submit student scores.
Result Processing: Automatically calculates grades, aggregates results, and applies grading rules.
Result Publication: Publishes results securely and provides access to students and authorized personnel.
Data Analysis: Supports the analysis of academic performance trends, class averages, and individual student
progress.
Administrative Tasks: Facilitates tasks such as generating academic calendars, managing course offerings, and
handling academic appeals.
Data Backup and Recovery: Implements robust backup and recovery mechanisms to prevent data loss.
Underlying Principles:
Accuracy: Ensures that the system accurately reflects student performance and maintains data integrity.
Security: Implements measures to safeguard student information and prevent unauthorized access.
Scalability: Designs the system to handle varying numbers of students, courses, and academic sessions.
Usability: Prioritizes user-friendly interfaces and intuitive workflows to enhance adoption and efficiency.
Integration: Integrates with other academic systems such as learning management systems and student information
systems for seamless data exchange.
Compliance: Adheres to relevant regulations and standards governing student data privacy and academic
administration.
System Modules:
User Authentication:
Login/Register: Secure registration and login for students, faculty, and administrators.
Result Management:
View Results: Students can view their academic results for various courses and semesters.
Enter Results: Faculty can input and submit student scores for respective courses.
Publish Results: Administrators can publish semester-wise results for students.
Search and Filter:
Search Courses: Students can search for courses based on course code, title, or instructor.
Filter Results: Users can filter search results based on course type, credit hours, or semester.
Academic Planning:
Course Registration: Students can register for courses offered in a particular semester.
Semester Planning: Faculty can plan course offerings and schedule exams for each semester.
Appointment System (Optional for Student Result Management):
Advisor Appointment Booking: Students can book appointments with academic advisors for course
guidance.
Communication Platform (Optional for Student Result Management):
Messaging System: Students can communicate with faculty or administrators regarding academic queries.
Forum/Discussion Board: Platform for students to discuss course-related topics or seek clarification.
Reporting and Analytics:
Generate Reports: Administrators can generate reports such as class-wise performance analysis, grade
distribution, and course-wise statistics.
Analytics Dashboard: Visual representation of academic performance trends, class averages, and student
progress.
Data Security and Access Control:
Role-Based Access Control: Different levels of access for students, faculty, and administrators.
Data Encryption: Ensure the security of student records and academic data.
System Administration:
User Management: Administrators can manage user accounts, permissions, and roles.
System Configuration: Settings for customization, such as academic calendar setup and grading rules.
Notifications:
Result Publication Alerts: Notify students when new results are published.
Deadline Reminders: Remind students of registration deadlines, exam schedules, etc.
Backend:
Database Management: Utilize SQLite as the backend database management system to store and manage
student records, results, and other relevant data.
IDE:
Android Studio: Use Android Studio as the integrated development environment for Android applications.
Minimum Hardware Requirements:
Processor:
ARM and x86 Architectures: Ensure compatibility with processors including Qualcomm Snapdragon,
Samsung Exynos, Intel Atom, etc.
RAM:
Minimum of 1GB to 2GB RAM for smooth operation of the application.
Storage:
Hard Disk Drive: Minimum of 16GB or 32GB storage space to accommodate the application and data
storage requirements.
EXCERCISE NO. 3
REQUIREMENTS:
Hardware Interfaces
Software Interfaces
THEORY
Data flow diagrams illustrate how data is processed by a system in terms of inputs and outputs.
Data Flow Diagram Notations
You can use two different types of notations on your data flow diagrams: Yourdon & Coad or
Gane & Sarson.
Process Notations
Process
Datastore Notations
Dataflow Notations
Dataflow
Dataflows are pipelines through which packets of information flow. Label the arrows with the
name of the data that moves through it.
Context Diagrams
A context diagram is a top level (also known as Level 0) data flow diagram. It only contains
one process node (process 0) that generalizes the function of the entire system in relationship to
external entities.
External Entity Notations
External Entity
External entities are objects outside the system, with which the system communicates. External
entities are sources and destinations of the system's inputs and outputs.
DFD levels
The first level DFD shows the main processes within the system. Each of these processes can be
broken into further processes until you reach pseudocode.
CONCLUSION
LEVEL – 0 DFD
LEVEL –1 DFD
LEVEL – 2 DFD
EXERCISE NO. 4
Aim: STEPS TO DRAW THE USE CASE DIAGRAM USING STARUML.
Hardware Requirements:
Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard keyboard n mouse, colored monitor.
Software Requirements:
StarUML, Windows XP,
Theory:
According to the UML specification a use case diagram is ―a diagram that shows the
relationships among actors and use cases within a system.‖ Use case diagrams are often used to:
Use case models should be developed from the point of view of your project stakeholders and
not from the (often technical) point of view of developers. There are guidelines for:
Relationships
A use case describes a sequence of actions that provide a measurable value to an actor. A use
case is drawn as a horizontal ellipse on a UML use case diagram.
2. Actors
An actor is a person, organization, or external system that plays a role in one or more interactions
with your system (actors are typically drawn as stick figures on UML Use Case diagrams).
3. Relationships
There are several types of relationships that may appear on a use case diagram:
Associations are depicted as lines connecting two modeling elements with an optional open-
headed arrowhead on one end of the line indicating the direction of the initial invocation of the
relationship. Generalizations are depicted as a close-headed arrow with the arrow pointing
towards the more general modeling element.
The rectangle around the use cases is called the system boundary box and as the name suggests it
indicates the scope of your system – the use cases inside the rectangle represent the functionality
that you intend to implement.
THEORY
Entity Relationship Diagrams are a major data modelling tool and will help organize
the data in your project into entities and define the relationships between the entities.
This process has proved to enable the analyst to produce a good database structure so
that the data can be stored and retrieved in a most efficient manner.
Entity
A data entity is anything real or abstract about which we want to store data. Entity types
fall into five classes: roles, events, locations, tangible things or concepts. E.g. employee,
payment, campus, book. Specific examples of an entity are called instances. E.g. the
employee John Jones, Mary Smith's payment, etc.
Relationship
A data relationship is a natural association that exists between one or more entities. E.g.
Employees process payments. Cardinality defines the number of occurrences of one
entity for a single occurrence of the related entity. E.g. an employee may process many
payments but might not process any payments depending on the nature of her job.
Entity Set
An entity set is a collection of related types of entities. An entity set may include entities with
attributes sharing similar values. For example, a student set may contain all the students at a
school; likewise, a teacher set may include all the teachers at a school from all faculties.
Entity set need not be disjoint.
ERD relationship symbols
Weak
Weak Relationships are
relationship connections between a weak entity
and its owner.
Multivalued
Multivalued attributes are those
attribute that are can take on more than
one value.
Derived
Derived attributes are attributes
attribute whose value can be calculated
from related attribute values.
Attribute Symbol Name Description
Attributes
Entities are denoted utilizing their properties, known as attributes. All attributes
have values. For example, a student entity may have name, class, and age as
attributes.
There exists a domain or range of values that can be assigned to attributes. For
example, a student's name cannot be a numeric value. It has to be alphabetic. A
student's age cannot be negative, etc.
There are four types of Attributes:
1. Key attribute
2. Composite attribute
3. Single-valued attribute
4. Multi-valued attribute
5. Derived attribute
Super key: A set of attributes that collectively identifies an entity in the entity set.
Candidate key: A minimal super key is known as a candidate key. An entity set may
have more than one candidate key.
Primary key: A primary key is one of the candidate keys chosen by the database
designer to uniquely identify the entity set.
5. Derived attribute: Derived attributes are the attributes that do not exist in
the physical database, but their values are derived from other attributes present
in the database. For example, age can be derived from date_of_birth. In the ER
diagram, Derived attributes are depicted by the dashed ellipse.
Relationships
The association among entities is known as a relationship. Relationships are represented by
the diamond-shaped box. For example, an employee works at a department, a student enrolls
in a course. Here, Works at and enrolls are called relationships.
Relationship set
A set of relationships of a similar type is known as a relationship set. Like entities, a
relationship too can have attributes. These attributes are called descriptive attributes.
Cardinality
Cardinality describes the number of entities in one entity set, which can be associated with
the number of entities of other sets via relationship set.
Types of Cardinalities
1. One to One: One entity from entity set A can be contained with at most one entity of entity
set B and vice versa. Let us assume that each student has only one student ID, and each
student ID is assigned to only one person. So, the relationship will be one to one.
2. One to many: When a single instance of an entity is associated with more than one
instances of another entity then it is called one to many relationships. For example, a client
can place many orders; a order cannot be placed by many customers.
4. Many to Many: One entity from A can be associated with more than one entity from B
and vice-versa. For example, the student can be assigned to many projects, and a project can
be assigned to many students.