Java Software Development: Dr. Santosh Kumar Dwivedi
Java Software Development: Dr. Santosh Kumar Dwivedi
On
VAIBHAV
Under the guidance of
Affiliated to
LUCKNOW UNIVERSITY,LUCKNOW
August - 2022
i
CIRTIFICATE
ii
TABLE OF CONTENT
COVER PAGE I
CERTIFICATE II
ABSTARCT III
ACKNOWLEDGEMENT IV
DECLARATION- V
TABLE OF CONTENTS VI
1.TECHNOLOGY USED 1-4
2. INTRODUCTION 5-6
3. SDLC 7-8
4. SDLC ACTIVITIES 9
5. DATA FLOW DIAGRAM 10-11
6. USE CASE DIAGRAM 12-13
7. E-R DIAGRAM 14
8. ACTIVITY DIAGRAM 15-16
9. TESTING PROCESS 17-18
10. WATERFALL MODEL 19
11. SCREENSHOTS 20-27
12. FUTURE SCOPE 28
13. CONCLUSION 29
14. REFERENCES 30
iii
ABSTRACT
INTRODUCTION
The Faculty Feedback System for Students is a management information system for education
establishments to get feedback from the students for the Faculty of the department. Faculty Feedback
Systems provides capabilities for sort out particular Faculty for feedback and provide the report automatically in
the college. A Faculty Feedback System is an automatic feedback generation system that stores the sorted
feedback for the Admin as per the categories.
METHODOLOGY
In the Faculty Feedback System for Student, a student needs to login through his/her own id in order to provide
a feedback for the respective Faculty member. This provides a much faster, safer, and ecological mode of
feedback among those which are present out there. Students can now Access and Provide there feedback even
from there home and at any time posible. The Admin Module is also provided in this Project as it is important
for the proper working and management of the system as the Admin module is important to add new Faculty
members and also to view the feedback of the students.
RESULT
The Above Project will assist us to improve the numerous types skills like designing a module, providing it’s
backend code(Java), use of Database, Testing of the Project and other skills. The students will be get introduced
to new technologies which circulated in today’s time. This might consequence in improvement and introduction
of new and useful skills which would Benefit the studends in the future of Software Engineering.
iv
ACKNOWLEDEMENT
I want to grab this occasion to exhibit our sincere gratitude to everyone who guided us at every step of this
project and mold this report for the Project Titled Faculty Feedback System For Student. The execution of all
the task is not only the award for us, but also to everyone involved in the motivating, guiding and helping us. I
would like to persue the opportunity to thank everyone who have helped us in completion of the project, which
would be a massive task to complete alone. Still the project couldn’t be possible without the care and support
of many peoples.
I would like to exhibit my immense pleasure and gratitude towards our Summer Training Coordinator, Dr.
Santosh Kr. Dwivedi, honorable HEAD OF DEPARTMENT of Department of Bachelor’s in Computer Application
(SRMCM) and the faculties of the Analyze Infotech. I am extremely beholden to them for guiding and providing
support in development of the project to this stage, which would be much difficult for the project report to
without the help and support. I am also grateful to my parents and God without whose grace nothing is
possible.
Thanking You.
Vaibhav
BCA(202040040054)
v
DECLARATION
I the undersigned solemnly declare that the project report is predicated on my own work carried out during our
study under the supervision of our summer training coordinator respected H.O.D. of BCA Department, Dr.
Santosh Kumar Dwivedi. I assert the statements made and conclusions drawn are an outcome of my research
work. I further certify that:
I. The work contained within the report is original and has been done by me under the general supervision of
my supervisor.
II. The work has not been submitted to the other Institution for any other: degree/diploma/certificate in this
university or any other University of India or abroad.
III. we've followed the guidelines provided by the university in writing the report.
IV. Whenever we've used materials (data, theoretical analysis, and text) from other sources, we've given due
credit to them in the text of the report and giving their details in the references.
Signature of Students
(Vaibhav)
vi
TECHNOLOGIES USED
FRONT-END
JAVA: - JAVA is a popular general-purpose programming language and computing platform. It is fast, reliable,
and secure. According to Oracle, the company that owns Java, Java runs on 3 billion devices worldwide.
Considering the number of Java developers, devices running Java, and companies adapting it, it's safe to say
that Java will be around for many years to come. This guide will provide everything you need to know about
Java programming language before you learn it. More specifically, you will learn about features of Java
programming, its applications, reasons to learn it, and how you can learn it the right way. Java is one among the
most popular and widely used programming languages.
o Java has been one among the most popular programming languages for many years.
o Java is Object Oriented. However, it's not considered as pure object-oriented as it provides
support for primitive data types (like int, char, etc)
o The Java codes are first compiled into byte code (machine-independent code). Then the byte code
runs on Java Virtual Machine (JVM) no matter the underlying architecture.
o Java syntax is analogous to C/C++. But Java doesn't provide low-level programming
functionalities like pointers. Also, Java codes are always written within the form of classes and
objects.
o Java is employed in all kinds of applications like Mobile Applications (Android is Java-based),
desktop applications, web applications, client-server applications, enterprise applications, and lots
of more.
1
APACHE NETBEANS: -
NetBeans IDE is a free and open source integrated development environment for application
development on Windows, Mac, Linux, and Solaris operating systems. The IDE simplifies the
development of web, enterprise, desktop, and mobile applications that use the Java and HTML5
platforms. NetBeans has a very good GUI designer for Swing and JavaFX but that's not for
beginners.
2
BACK-END
MySQL may be a fast, easy-to-use RDBMS used for many small and big businesses. MySQL is developed,
marketed and supported by MySQL, which may be a Swedish company. MySQL is becoming so popular due to
many good reasons −
• MySQL is released under an open-source license. So, you've got nothing to pay to use it.
• MySQL may be a very powerful program in its own right. It handles an outsized subset of the
functionality of the most expensive and powerful database packages.
• MySQL works on many operating systems and with many languages including PHP, PERL, C, C++,
JAVA, etc.
• MySQL works very quickly and works well even with large data sets.
• MySQL is extremely friendly to PHP, the foremost appreciated language for web development.
• MySQL supports large databases, up to 50 million rows or more during a table. The default file size
limit for a table is 4GB, but you'll increase this (if your operating system can handle it) to a theoretical
limit of 8 million terabytes (TB).
3
SQLyog:
• Runs on all Windows version from Vista/2008 and better as well as "Windows Server"
systems of same generations (Windows Server 2008 and higher).
• Works with MySQL servers from 4.1 and better and all MariaDB servers.
• HTTP and SSH Tunneling - smartly manage your MySQL server whether the MySQL port is
blocked or remote access to MySQL is disallowed!
• Smart AutoComplete.
4
INTRODUCTION
BACKGROUND
In the fast-growing world, information technology and knowledge management systems are visiting play an
important role. We sleep in the digital world during past some year. The computer has gaining popularity.
Computer revolution found its way into almost every aspect of human life and living. A computer is admirably
suited to handle any information and hence is an information processor that’s, it can receive data, perform some
basic operations thereon data and produces results consistent with a predetermined program.
This Software is used mainly for faculty feedback to maintain the details of faculty such as feedback given by the
student.
The “FACULTY FEEDBACK MANAGEMENT SYSTEM FOR STUDENTS” could also be a method of
gathering anonymous feedback from students about what is helping them learn evaluation of teachers (time
management, subject command, communication skill, class control, guidance).
OBJECTIVES
Today’s world is computer as assisted because most of the labor is done with the assistance of computer. Behind
this dependency on computer there are few reasons. We cannot easily manage to store massive amount of data
5
and information single handle. If we'll be needing some of the information or data in urgency, then we can’t
manage to manually get these data which would be much difficult if we cannot use computer.
This project aims to live the overall performance of faculty. This project contains a feedback form which is to be
duly filled by a student after login using his/her username and password.
It is a MIS application thus, suitable to satisfy today’s requirement of completing a task with minimum possible
time and with ease.
System Objective
This project may be a software for the Faculty Feedback System for Students in record keeping of the
functioning of faculty of an institute.
It is a MIS application thus, suitable to satisfy today’s requirement of completing a task with minimum possible
time and with ease.
System Context
This section clearly depicts the environment and limits of the Faculty Feedback System and the entities with
which it interacts. It helps us see how the system fits into the prevailing scheme of things. What the system will
treat itself.
Functional Requirement
This Software must request Username and Password to provide the access to users, only authentication will allow
access to the system. The Software must allow input of products data from administrator and secured access.
Non-Functional Requirement
In this Software Input error will be returned in red with appropriate message box. System should automatically
update after every transaction.
6
SYSTEM DEVELOPMENT LIFE CYCLE
The System development life cycle (SDLC), or Software development processing systems engineering,
information systems and software engineering, may be a process of creating or altering information systems, and
therefore the models and methodologies that people use to develop these systems. In software engineering, the
SDLC concept underpins many sorts of software development methodologies. These methodologies form the
framework for planning and controlling the creation of an data system the software development process.
Broadly, following are the various activities to be considered while defining the system development life cycle
for the said project:
7
Defining Requirements:
Once the requirement analysis is done, the next stage is to certainly represent and document the software
requirements and get them accepted from the project stakeholders.
This is accomplished through "SRS"- Software Requirement Specification document which contains all the
product requirements to be constructed and developed during the project life cycle.
Designing Architecture:
The next phase is about to bring down all the knowledge of requirements, analysis, and design of the software
project. This phase is the product of the last two, like inputs from the customer and requirement gathering.
Developing Product:
In this phase of SDLC, the actual development begins, and the programming is built. The implementation of
design begins concerning writing code. Developers have to follow the coding guidelines described by their
management and programming tools like compilers, interpreters, debuggers, etc. are used to develop and
implement the code.
During this stage, unit testing, integration testing, system testing, acceptance testing is done.
Maintenance:
Once when the client starts using the developed systems, then the real issues come up and requirements to be
solved from time to time. This procedure where the care is taken for the developed product is known as
maintenance.
8
SDLC ACTIVITIES
SDLC provides a series of steps to be followed to design and develop a software product efficiently
SDLC framework includes the following steps
Communication:
This is the first step where the user initiates the request for a desired software product. He contacts the service
provider and tries to negotiate the terms. He submits his request to the service providing organization in writing.
Requirement Gathering:
This step onwards the software development team works to carry on the project. The team holds discussions with
various stakeholders from problem domain and tries to bring out as much information as possible on their
requirements. The requirements are contemplated and segregate. into user requirements, system requirements and
functional requirements. The requirements are collected using a number of practices as given
Studying the existing or obsolete system and software,
Conducting interviews of users and developers,
Referring to the database or collecting answers from the questionnaire.
9
DATA FLOW DIAGRAM
Context Level Data Flow Diagram
This level shows the overall context of the system and its operating environment and shows the whole
system as just one process. Online book store is shown as one process in the context diagram; which is also
known as zero level DFD, shown below. The context diagram plays important role in understanding the
system and determining the boundaries. The main process can be broken into sub-processes and system can
be studied with more detail; this is where 1st level DFD comes into play.
STUDENT
10 ADMIN
Zero Level Data Flow Diagram
11
View report
Student
Login
Information
12
Update File Record
Admin Faculty
View Feedback Results
Give Feedback
13
View Feedback Result of Own Subject
Student HOD
Feedback Result of Department
In the case of design, a Management Information System that is based on a database, the conceptual data model
is, a later stage (usually called logical design), mapped to a logical data model such as, relational data model; this
is turn in mapped to a physical model during physical design. Note that sometimes, both phases are referred a
“physical design”. There are number of conventions for entity-relation diagrams (ERDs). The classical notation
is described in the remainder of this article, and mainly related to the conceptual modelling. There is a range of
notation more typically employed in physical and logical database design.
PSWD
COURSE
SUB_ID
has SUBJECT_REGIST
LOGIN
TYPE
SUB_NAME
SUB_ID
has
has 14
FACULTY_ID
feedback
DEPARTMENT
FACULTY_NAM
E
COURSE
ACTIVITY DIAGRAM
Activity diagram is another important diagram in UML to describe the dynamic aspects of the system.
Activity diagram is basically a flowchart to represent the flow from one activity to another activity. The activity
can be described as an operation of the system.
The control flow is drawn from one operation to another. This flow can be sequential, branched, or concurrent.
Activity diagrams deal with all type of flow control by using different elements such as fork, join, etc
The basic purposes of activity diagrams is similar to other four diagrams. It captures the dynamic behaviour of
the system. Other four diagrams are used to show the message flow from one object to another, but activity
diagram is used to show message flow from one activity to another.
Activity is a particular operation of the system. Activity diagrams are not only used for visualizing the dynamic
nature of a system, but they are also used to construct the executable system by using forward and reverse
engineering techniques. The only missing thing in the activity diagram is the message part.
It does not show any message flow from one activity to another. Activity diagram is sometimes considered as the
flowchart. Although the diagrams look like a flowchart, they are not. It shows different flows such as parallel,
branched, concurrent, and single.
The purpose of an activity diagram can be described as −
Draw the activity flow of a system.
Describe the sequence from one activity to another.
Describe the parallel, branched and concurrent flow of the system.
15
Login for Feedback System
Start
16
Manage Manage Manage Manage
Student Feedback Faculty Subject
Testing Principles
Testing Objectives
17
Black Box Testing- Not based on any knowledge of internal designs or code. Tests are based on
requirements and functionality.
White Box Testing- Based on the knowledge of the internal logic of an application’s code. Tests are based
on coverage of code statements, branches, paths and statements.
Unit Testing- The most ‘micro’ scale of testing; to test functions and code modules. Typically done by the
programmer and not by the testers, as it requires detailed knowledge of the internal program design and code.
Not always easily done unless the application has a well-designed architecture with tight code; may require
developing test driver modules or test harnesses.
Integration Testing- Testing of combined parts of an application to determine if they function together
correctly. The ‘parts’ can be code modules, individual applications, client and server applications on a network,
etc. This type of testing is especially relevant to client/ server and distributed systems.
Functional Testing- Black-box type testing geared to functional requirements of an application; testers
should do this type of testing. This doesn’t mean that the programmers shouldn’t check that their code works
before releasing it.
Regression Testing- Re-testing after fixes or modifications of the software or its environment. It is difficult
to determine how much re testing is needed, especially near the end of the development cycle. Automated testing
tools can be especially useful for this type of testing.
Acceptance Testing- Final testing based on the specifications of the end user or customer or based on use by
end-users/ customers over some limited period of time.
We will continuously test our project to ensure that it is fully functional. In order to perform testing test cases are
designed with the intent of finding the errors in the project and help in removing those errors. Testing begins at
the module level and is conducted systematically. It is generally conducted by independent test groups or third
party.
Testing is done in our project Faculty Feedback System with help of black box testing that exercise all the
functional requirement of the project test cases are designed using this approach by providing set of input
conditions to get the expected output.
18
WATERFALL MODEL
Waterfall Model - Design
Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure success of the
project. In "The Waterfall" approach, the whole process of software development is divided into separate phases.
In this Waterfall model, typically, the outcome of one phase acts as the input for the next phase sequentially.
The following illustration is a representation of the different phases of the Waterfall Model.
Main window :
20
Faculty reistration :
21
Faculty details :
Subject registration:
22
Subject allotment :
23
Student panel :
24
Main window as a student :
Faculty feedback :
TABLE SCREENSHOTS
Login Table: -
25
Subject Allotment: -
Faculty Information: -
26
Feedback Information: -
Feedback Questions: -
27
SCOPE
28
It can be summarized that the future scope of the project circle around maintaining information
regarding :
The above-mentioned points are the enhancement which can be done to increase the applicability and
usage of this project. Here we can maintain the records of college and feedback. Also, as now a day the
players are versatilities. so there is a scope for introducing a method to maintain the college feedback
system. Enhancement can be done to maintain all the college, faculty, student, feedback, principle,
college, teacher.
We have left all the option so that there are any other future requirements in the system by the
user for the enhancement of the system then it is possible to implement them. In the last we would like to
thanks all the persons involved in the development of the system directly or indirectly.
CONCLUSION
29
The software will be developed by implementing the concept of modularity which in turn reduces the complexity
involved in maintaining it. The administrator should have a sound technical knowledge about maintaining the
software and further enhancements will be undertaken by the developer.
The application is portable which ensure its adaptability for use on different computer terminals with different
operating system and standards.
The factors guarantee the software’s availability includes proper termination and correct input details. Also, the
resources used for the project development are Microsoft certified which speaks of its high-quality standards.
Hence, we may conclude that the application system being developed helps a great deal in modifying the
computerized Alumni Management System.
Goal achieved: The System is able provide the interface to the user so that he can replicate his desired data.
User friendliness: Though the most part of the system is supposed to act in the background, efforts have been
made to make the foreground interaction with user as smooth as possible. Also, the integration of the system with
Alumni Management project has been kept in mind throughout the development phase.
REFRENCES
Reference websites
https://www.javatpoint.com/software-engineering-tutorial
30
https://www.w3schools.com/java/java_intro.asp
https://www.w3schools.com/java/java_oop.asp
https://www.guru99.com/software-testing
Reference Books
31