0% found this document useful (0 votes)
24 views

SE Lab File

The document describes a student dashboard project that aims to create a portal for students of Central University of Haryana to access academic documents and information in one place. It discusses problem statements, requirement analysis, project planning, and goals and scope of the project.

Uploaded by

Shashi shekhar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

SE Lab File

The document describes a student dashboard project that aims to create a portal for students of Central University of Haryana to access academic documents and information in one place. It discusses problem statements, requirement analysis, project planning, and goals and scope of the project.

Uploaded by

Shashi shekhar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

CENTRAL UNIVERSITY OF HARYANA

Department of Computer Science and Engineering

SOFTWARE ENGINEERING LAB


BT CS 606A

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

AIM: Writing problem statements for systems of relevance.

Theory:
The problem statement for Student Portal can be understand with the help of
following questions.

Que 1. What is the problem that needs to be solved?


This is a real-life problem faced by every student of Central University of Haryana in
campus. Everyone needs a platform or a portal to keep their documents or information
at one place which is safe and protected. Our university doesn’t have its own portal for
student and teacher where every detail of each indivisible is visible. This is the biggest
problem for students because they don’t have their documents, student profile and other
related details in an aggregated manner.

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.

Que 2. Why is it a problem?


This is a problem because many students are facing hurdles in the completion of their
work whether it is related to academics or administration. Taking about some of the
problems faced by students, firstly let’s focus on result issue. No student is able to see
their individual result on the website. They have to check their result in a pdf which
consists the combined result of complete class which is not considered professional.
Other than this, if taking about no-dues, then students have to go here and there and
then also, he will have to wait for many days. Same happens in case of bonafide and
scholarship. But if we have a place where all information is gathered in a sorted way
and we can work in hierarchy then we can overcome the problem.

Que 3. Where is the problem observed?


The problem is observed by taking the feedback from the students. Majority of the
students is suffering from this problem and they want solution like student portal for
this kind or problem. After discussing with the students, it was found that every student
is suffering from some kind of issues whether it is related to the hostel, mess, finance,

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.

Que 4. What kind of issues/problems can be overcome/solved using this project?


The problems faced by students in the university related to academics and
administration can be solved by using this project. Some feature included are
Academics section have academic related subsections which contains notes, attendance
summery, time-table section. GEC problem can be solved using this project as the
department who is offering GEC to the particular department will be displayed to the
same department student on this portal. Examination section contains result portal
where student can check their individual result. Also they can check their previous
results from the time of admission to till now. Hostel and Finance Problems can also be
overcome using the same project. If student is eligible for buss pass, then his/her details
will be displaced and they can apply for bus pass from the same page. Student can logout
his profile when he/she is not working or not needed it for security purpose. Notification
section will display the alert for upcoming events and activities.

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

AIM: To perform requirement analysis and develop SRS documents.

Project Plan: Student Dashboard

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

It will be launched as a web-based application.

2.4 Development Responsibility

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.

4. Goals and Scopes


Goals and Scopes are very similar to its functionalities. Future Goal is to connect the
different modules in one project to make it a major project i.e. to integrate Student
Portal/Dashboard, Teacher Dashboard and Admin Dashboard.

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

I’ll deliver the following during the course of development:


 Feature specification
 Product design
 Test plan
 Development document
 Source code

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

7. Scheduling and Estimates

Milestone Description Release Date Release


Iteration
M1 SRS Document Completion 18-03-2023 R0

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

Aim: To draw basic DFD for your project.

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:

1. DFDs can be time-consuming to create and maintain.


2. DFDs may not be suitable for complex systems with multiple interdependent
processes.
3. DFDs may oversimplify the system and ignore important details or nuances.
4. DFDs may not be able to represent some types of data flow, such as asynchronous or
real-time data flows.
5. DFDs may not be suitable for systems that are constantly changing or evolving.

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.

DFD of Student Dashboard Project:

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:

1. Communication: Use case diagrams help to communicate the requirements and


functionalities of the system to stakeholders.
2. Easy to understand: They are easy to understand for non-technical stakeholders.
3. Focus on user requirements: Use case diagrams focus on user requirements and help
to ensure that the system meets those requirements.
4. Scenarios: They provide a clear understanding of different scenarios in which the
system will be used.

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.

Use Case Diagram:


Fig 4.1: Use case Diagram of Student Dashboard
Lab 5
Aim: Implementing a class and object diagram.

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:

User Login: Name, Password


Student Profile: Name, Department, Parent’s Name, Teacher Review
Academics: Subjects, Time-Table, Attendance
Examination: Semester Marks, End-Sem Marks, Exam Registration
Notification: Notice List
Bus Details: Name, Mobile No., Department, Email, Full Address
Hostel: Room No., Hostel Type, Hostel Name

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

1. An activity diagram shows business and software processes as a


progression of actions. These actions can be carried out by people,
software components or computers. Activity diagrams are used to
describe business processes and use cases as well as to document the
implementation of system processes.
2. An activity diagram is a type of Unified Modelling Language (UML)
flowchart that shows the flow from one activity to another in a system or
process. It's used to describe the different dynamic aspects of a system and
is referred to as a 'behaviour diagram' because it describes what should
happen in the modelled system.
3. It may contain action nodes, control nodes, or object nodes. The control
flow of activity is represented by control nodes and object nodes that
illustrates the objects used within an activity. The activities are initiated
at the initial node and are terminated at the final node.
Lab 7
Aim: To draw sequence and collaboration 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.

 Collaboration Diagram represents the interaction of the objects to


perform the behaviour of a particular use case or a part of use case. The
designers use the Sequence diagram and Collaboration Diagrams to
define and clarify the roles of the objects that perform a particular flow
of events of a use case.

Similarities Between Sequence and Collaboration Diagram

1. In Unified Modelling Language both the sequence diagram and


collaboration diagram are used as interaction diagrams.

2. Both the diagrams detail about the behavioural aspects of the system.

Sequence diagram for Student Dashboard


Collaboration diagram for Student Dashboard
Lab 8
Aim: Program to Unit testing

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.

Objective of Unit Testing:

The objective of Unit Testing is:


1. To isolate a section of code.
2. To verify the correctness of the code.
3. To test every function and procedure.
4. To fix bugs early in the development cycle and to save costs.
5. To help the developers to understand the code base and enable them to
make changes quickly.
6. To help with code reuse.

Unit Testing Techniques

There are 3 types of Unit Testing Techniques. They are


1. Black Box Testing: This testing technique is used in covering the unit
tests for input, user interface, and output parts.

2. White Box Testing: This technique is used in testing the functional


behavior of the system by giving the input and checking the functionality
output including the internal design structure and code of the modules.

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.

Unit Testing of Student Dashboard

Checking GitHub Repository:


Checking Code for Examination Module:

Checking for earlier marks-


Output for semester 1:

Output for semester 2:


Output for semester 3:
Checking for examination registration form –

Therefore, we have seen that examination module of student dashboard


is working fine. Hence unit testing is done for one unit (module) of the project.
Lab 9
Aim: Implement integration testing.

Theory:

Integration testing is the process of testing the interface between two


software units or modules. It focuses on determining the correctness of the
interface. The purpose of integration testing is to expose faults in the
interaction between integrated units. Once all the modules have been unit
tested, integration testing is performed.
Integration testing is a software testing technique that focuses on verifying
the interactions and data exchange between different components or modules
of a software application. The goal of integration testing is to identify any
problems or bugs that arise when different components are combined and
interact with each other. Integration testing is typically performed after unit
testing and before system testing. It helps to identify and resolve integration
issues early in the development cycle, reducing the risk of more severe and
costly problems later on.
Integration testing can be done by picking module by module. This can
be done so that there should be a proper sequence to be followed. And also if
you don’t want to miss out on any integration scenarios then you have to follow
the proper sequence. Exposing the defects is the major focus of the integration
testing and the time of interaction between the integrated units.

Integration test approaches –


There are four types of integration testing approaches. Those
approaches are the following:

1. Big Bang Integration Testing


2. Bottom Up Integration Testing
3. Top Down Integration Testing
4. Mixed Integration Testing
After unit testing of each module and combining or integrating them together
we do integration testing to check for the bugs if any and to check that all
requirements are fulfilled or not.
All the snapshots attached here are showing that integration testing has done
properly without any error and has fulfilled all the requirements.

Login page-

Student profile-
Professor Review Page-

Academics Module-

Time Table -
Attendance Section-

Examination Module-
Final Result Module-

Examination Registration Module -


Hostel Module-

Hostel Instruction Guide -


Bus Pass Module -

In case of any query, contact us-


Notification Section/ Alert Bell-
Lab 10
Aim: To draw component and deployment diagrams.

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.

2. It visualizes the relationships as well as the organization between the


components present in the system. It helps in forming an executable
system. A component is a single unit of the system, which is replaceable
and executable. The implementation details of a component are hidden,
and it necessitates an interface to execute a function. It is like a black box
whose behaviour is explained by the provided and required interfaces.

3. It is used to depict the functionality and behavior of all the components


present in the system, unlike other diagrams that are used to represent
the architecture of the system, working of a system, or simply the system
itself.

4. The component diagram is a special purpose diagram, which is used to


visualize the static implementation view of a system. It represents the
physical components of a system, or we can say it portrays the
organization of the components inside a system. The components, such as
libraries, files, executables, etc. are first needed to be organized before the
implementation.
2. Deployment Diagram:

1. The deployment diagram visualizes the physical hardware on which the


software will be deployed. It portrays the static deployment view of a
system. It involves the nodes and their relationships.
2. It ascertains how software is deployed on the hardware. It maps the
software architecture created in design to the physical system
architecture, where the software will be executed as a node. Since it
involves many nodes, the relationship is shown by utilizing
communication paths.

3. The main purpose of the deployment diagram is to represent how


software is installed on the hardware component. It depicts in what
manner a software interacts with hardware to perform its execution.

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.

5. The deployment diagram is mostly employed by network engineers,


system administrators, etc. with the purpose of representing the
deployment of software on the hardware system. It envisions the
interaction of the software with the hardware to accomplish the execution.
The selected hardware must be of good quality so that the software can
work more efficiently at a faster rate by producing accurate results in no
time.

You might also like