SE Lab File
SE Lab File
Submitted by
Birender
Roll No- 202077
Submitted to
Dr. Nitin Goyal
Assistant Professor
Department of Computer Science and Engineering, CUH
Index
Lab. No. Name of Experiment Page No. Teacher Sign.
SOFTWARE ENGINEERING LAB_1 STUDENT DASHBOARD
Lab 1
Theory:
The problem statement for Student Portal can be understand with the help of
following questions.
Taking care of such problem, I have come up with the solution of this problem such that
we can create a portal for student where each student of any department can get their
own profile where they can access every document of themselves and can get their
individual results, academic updates, hostel and bus related queries and many other
related information on the same portal.
BIRENDER 202077
SOFTWARE ENGINEERING LAB_1 STUDENT DASHBOARD
academics and examination. And hence it has become very compulsory to solve the
problem and create the required portal such that it can help all students and students can
utilise this so that they will not have to face the same issues in future.
Student profile will be displayed on home page where it will be display complete
academic detail of the student on logging to the portal.
BIRENDER 202077
SOFTWARE ENGINEERING LAB-2 STUDENT DASHBOARD
Lab 2
1. Introduction
This document lays out a project plan for the development of the “Student Dashboard
'' Project which is necessary to build for helping students of our university Central
University of Haryana.
The plan will include, but is not restricted to, a summary of the system functionality,
the scope of the project from the perspective of the “Student Dashboard” team
(developers and mentors), scheduling and delivery estimates, project risks, and how
those risks will be mitigated, the process by which I will develop the project, and metrics
and measurements that will be recorded throughout the project.
2. Overview
I have chosen this project by seeing the real life problems faced by students of my
university. There are many portals available for faculty, staff and other posts. But for
student, the most important part i.e. Student Portal or we can say Student Dashboard is
not available on University Website. If any student wants to check their data related to
fees, results, academics, hostel or many others; then he needs to visit different links or
websites. Nothing is available at one place in aggregated form. I aim to develop an
application that helps students to get all his academic details from their admission to
leaving university at one place in one portal in an aggregated way. The Student
Dashboard will contain all the links and details related to students needed throughout
his college journey at one place. Through this project, I'll enable students from any
department to check their details and keep the data safe.
2.1 Customers
The students who will register themselves on this project after getting admission in
CUH can use and access this application. After getting the degree, within the time-
period of 1 year his account will be deleted.
BIRENDER 202077
SOFTWARE ENGINEERING LAB-2 STUDENT DASHBOARD
2.2 Functionality
Users will be able to register themselves on the portal after getting admission in
the university.
Users will be able to see and save their university records like examination
results, academic details, examination forms, bus and hostel details. Other than
this, users can apply for any exam or activity happening in university by using
this portal.
Each user will be able to see their profile with the details of their current batch
and profile picture.
Users will be able to download their data.
Notes and previous year examination question papers will be displayed to the
user.
Users will get notified through a notification bell in case of any event, activity
or any important information in the university.
In case of any doubt or query, user can contact the authorities through contact
us section.
2.3 Platform
I would be developing the software and I am responsible for the creation of the UI,
frontend, Backend, Database and all the other related kinds of stuff.
3. Idea Discussion
The idea of creating Student Dashboard came to my mind by seeing the problems going
in the university, and by taking the feedback from the students. After getting this idea I
had interacted with the faculty members including Assistant Professors of CSE
Department of Central University of Haryana. I had discussion with Head of
Department also and he praised the idea and motivated to work on the same project.
Other than this I had done meetings with IT Department of Administration who is
handling the server of university website. There we had discussion on the
implementation process, the requirements and the cons of the project.
BIRENDER 202077
SOFTWARE ENGINEERING LAB-2 STUDENT DASHBOARD
Users will be able to register themselves on the portal after getting admission in
the university.
Users will be able to see and save their university records like examination
results, academic details, examination forms, bus and hostel details. Other than
this, users can apply for any exam or activity happening in university by using
this portal.
Each user will be able to see their profile with the details of their current batch
and profile picture.
Users will be able to download their data.
Notes and previous year examination question papers will be displayed to the
user.
Users will get notified through a notification bell in case of any event, activity
or any important information in the university.
In case of any doubt or query, user can contact the authorities through contact
us section.
5. Deliverables
6. Risk Management
6.1 Risk Identification
Following will be the risk involved in my project:
As student will register them to create account on dashboard, so many chances are
there that anyone (other than that particular student) can register using any student
data and the data will get insecure.
6.2 Risk Mitigation
To solve or come out from this risk, I’ll add an OTP system while registration will
happen. When student will enter their mobile numbers or email id then an OTP will be
generated and sent to the user email and mobile no. After filling the correct OTP and
password, user will be able to create their own account and to get access of the data.
BIRENDER 202077
SOFTWARE ENGINEERING LAB-2 STUDENT DASHBOARD
8. Technical Process
Following would be the languages I would use to develop my application within the
stipulated time period:
Front-end development: HTML, CSS, React, JSON.
Back-end development: MySQL, Node.js.
BIRENDER 202077
Lab- 3
Theory
DFD (Data Flow Diagram) is a visual representation of data flows within a software
system. In this representation, processes are depicted as bubbles or rectangles, with data
stores as parallel lines or rectangles and data sources/destinations as squares. DFDs can be
used for modelling the logical and physical aspects of a system, and they are useful for
understanding system requirements, improving communication between development
teams and stakeholders, and identifying potential bottlenecks.
Advantages:
1. DFDs provide a clear and concise representation of data flows within a system.
2. DFDs help identify and analyse system processes, inputs, outputs, and data stores.
3. DFDs are easy to understand, even for non-technical stakeholders.
4. DFDs can help identify potential problems, bottlenecks, and areas for improvement.
5. DFDs can be used to document system requirements, design, and implementation.
Disadvantages:
Common Example:
Consider a web-based e-commerce application that allows users to browse and purchase
products online. The application has several components, including a database, a web server,
and a payment gateway. A DFD can be used to model the flow of data within this system, as
follows:
Level 0 DFD:
At level 0, the DFD shows the high-level components of the system, including the user, web
server, payment gateway, and database.
Level 1 DFD:
At level 1, the DFD shows the subcomponents of the web server, including the product
catalogue, shopping cart, and order processing modules. It also shows the subcomponents of
the payment gateway, including the payment processing and authorization modules.
Level 2 DFD:
At level 2, the DFD shows the detailed processes within the shopping cart module,
including adding products to the cart, updating quantities, and removing items. It also
shows the detailed processes within the payment processing module, including validating
payment information, authorising payment, and recording transactions.
Level 0 DFD:
Level 1 DFD:
Level 2 DFD:
Lab 4
Aim: Implement Use Case Diagram for your project.
Theory:
A use case diagram is a graphical representation of the interactions between actors (users or
external systems) and the system under consideration. It is used in software engineering to
model the various use cases or scenarios that a system may encounter during its use.
Example: Let's consider an e-commerce website. The use case diagram would show the
different actors interacting with the system, such as the customer who is placing an order,
the administrator who is managing the product catalogue, and the payment gateway that is
processing the payment.
Advantages:
Disadvantages:
1. Limited detail: Use case diagrams provide a high-level overview of the system and
may not provide enough detail for complex systems.
2. Time-consuming: Developing use case diagrams can be time-consuming and may
require multiple iterations.
3. Ambiguity: The use case diagram may not provide a clear understanding of the
system if there is ambiguity in the requirements.
4. Complexity: Use case diagrams can become complex if the system has many actors
and use cases.
In conclusion, use case diagrams are a useful tool for modelling the interactions between
actors and the system. They help to ensure that the system meets the requirements of the
stakeholders and provide a clear understanding of the different scenarios in which the
system will be used. However, they have limitations in terms of detail, time-consuming,
ambiguity, and complexity.
Theory:
The class diagram is the way to depict the relationships between various
modules of any system. Here, we see about the classes and the relationship
involved in School Management System.
Classes:
User Login: This class will contain all the details of a user while logging into
the application.
Student Profile: The student profile class consists of all the details which has
to be displayed on the profile.
Academics: This class will contain all the details according to the academics of
the student.
Examination: This class will contain all information related to the examination
i.e. internal and external marks and other exam related forms.
Notification: This class will contain all details of notice board which has to be
displayed to the students.
Bus Details: This class will contain all the details related to the bus pass of a
student if he/she is eligible to apply for the same.
Hostel: This class will contain all information related to the allocation of hostel
to the student i.e. which room is allocated in which hostel.
Attributes:
Methods:
1. User Login:
Login(): This method will work when a user logged into the
application.
LogOut():This method will work when a user logged out the
application.
SignUp(): This method will work when a user don’t have account
and the student will create their new account
2. Student Profile:
Display(): This method will display all the details of the student or
profile of student on home page when student logged in the
application.
3. Academics:
DisplaySubjects(): This method will display the subjects of the
student offered to them in their department.
ShowAttendance(): This method will show and update the
monthly record of the attendance of the student.
DisplayTimeTable(): This method will display the academic Time
Table to the student.
4. Examination:
InternalMarks(): This method will display the internal marks of
each subject to the student.
DisplaySemResult(): This method will display the final end
semester result to the students.
Register(): This method will work when student needs to do
registration for the examination.
5. Notification Bar:
DisplayNotice(): This method will display the notifications sent by
higher authorities to the students in their account.
6. Bus Details:
ApplyBusPass(): This method is used by those students who want
to apply for bus pass. Students can apply for their bus pass if they
are day scholars.
7. Hostel:
ShowHostelDetails(): This method will display all the hostel
details of a student if the student is a hosteller. Details like which
room is allocated to the student, in which hostel the student is
residing and so on.
Lab 6
Aim: To draw state chart and activity diagram for the problem statement.
Theory:
1. State chart diagram is used to describe the states of different objects in
its life cycle. Emphasis is placed on the state changes upon some internal
or external events. These states of objects are important to analyse and
implement them accurately. State chart diagrams are very important for
describing the states.
2. A state diagram, also known as a state machine diagram or state chart
diagram, is an illustration of the states an object can attain as well as the
transitions between those states in the Unified Modelling Language
(UML).
3. State chart diagrams describe the flow of control of an object. State
represents a situation during the life of an object in which it satisfies some
condition, performs some action, or waits for some event to occur. Each
state has a name. Rectangles with rounded corners are used to represent
states.
Activity Diagram
Theory
A Sequence diagram is an interaction diagram that details about the
operation that is carried out. The sequence diagram captures the
interaction between the objects in the context of collaboration.
Sequence diagrams are time focused and they show the order of the
interaction visually by using the vertical axis of the diagram to
represent time.
2. Both the diagrams detail about the behavioural aspects of the system.
Theory
Unit Testing is a type of software testing that focuses on individual units or
components of a software system. The purpose of unit testing is to validate
that each unit of the software works as intended and meets the requirements.
Unit testing is typically performed by developers, and it is performed early in
the development process before the code is integrated and tested as a whole
system.
Unit Testing is a software testing technique by means of which individual
units of software i.e. group of computer program modules, usage procedures,
and operating procedures are tested to determine whether they are suitable
for use or not. It is a testing method using which every independent module
is tested to determine if there is an issue by the developer himself. It is
correlated with the functional correctness of the independent modules. Unit
Testing is defined as a type of software testing where individual components
of a software are tested. Unit Testing of the software product is carried out
during the development of an application. An individual component may be
either an individual function or a procedure. Unit Testing is typically
performed by the developer.
3. Gray Box Testing: This technique is used in executing the relevant test
cases, test methods, test functions, and analysing the code performance for
the modules.
Theory:
Login page-
Student profile-
Professor Review Page-
Academics Module-
Time Table -
Attendance Section-
Examination Module-
Final Result Module-
Theory
1. Component Diagram:
1. A component diagram is used to break down a large object-oriented
system into the smaller components, so as to make them more
manageable. It models the physical view of a system such as executables,
files, libraries, etc. that resides within the node.
4. Both the deployment diagram and the component diagram are closely
interrelated to each other as they focus on software and hardware
components. The component diagram represents the components of a
system, whereas the deployment diagram describes how they are actually
deployed on the hardware.