You are on page 1of 123

1

1. INTRODUCTION OF PROJECT

Education+ in PHP is a website where the trainer add video and learner can view and
even download the notes if permitted by the learner. The project made here is just to ensure
that this product could be valid in today real challenging world. Here all the facilities are
made and tested.
The User has to get registered to enjoy all the facilities in the portal. The
registered member can be student or any teaching faculty or anyone who is in need of the
information.
There are two groups involved in the working of the portal that are User and a Trainer. Trainer
can upload tutorial videos or text documents to the portal after being registered as a trainer
and on the other hand user has the facility to view and even download those video tutorials or
text documents if permitted by trainer or admin. Notes are categorized into different
categories so that user can locate the required notes easily. The trainer adds notes in different
categories. The learner selects a category and all the available notes in that category are shown
on the screen from where the user can select the desired one. The trainer can also add the new
categories. Admin is the overall incharge of the portal. It has the authority
To add the learner and trainer also delete and modify the trainer and learner specific
information if the admin find some notes to be unwanted he can delete the notes. Admin can
also give the give the admin rights to other user.

There are two groups involved in the working of the portal:


1. User Panel
2. Admin Panel
3. Expert Panel

1. User Panel: In User Panel, Trainer can upload tutorial videos to the portal after being
registered as a trainer and on the other hand learner has the facility to download and even only
view and download that video tutorial only after registration. Along with that trainer can
upload different categories of notes into the portal from which learner can take the help of the
notes according to his convenience.

2
2. Admin Panel: It is the work of an admin to manage the portal. The work of the admin
includes

a. Adding a new learner


b. Adding a new trainer
c. Removing a learner
d. Removing a trainer
e. Modify the learner specific information
f. Modify the trainer specific information
g. Add videos
h. Delete
i. Add another admin

3. Expert Panel: Expert module manages and modified all videos, tutorial and screenshot
that are uploaded by user as well as admin.

3
2. OBJECTIVE OF PROJECT
The main objective of Education Project in PHP is to provide the notes, video, tutorial
related to subject. Its main aim is to provide all education notes, videos and others details at
one place. User does not need to search different sites to get information about any subject.
Our Education gives the full details of the all notes.

2.1 Benefits

EDUCATION website provides user with a number of benefits, beyond the strict financial
gains.

a. Profile: -User friendly profiles of websites are provided so that user feel homely and can
easily download information without any problems.

b. Feedback: - User can also give feedback about their experience with our information if
they like.
c. Trainer: - Trainer has access to upload the meaningful information and provide
permission to user if the notes are free to download.

4
5
3. SYSTEM ANALYSIS
System analysis focuses on specifying for what the system or the application is required to do.
It allows the individuals to see the logical elements (what the system should do) apart from the
physical components it uses (computers, terminals and storage system). It is the process of
gathering and interpreting facts, diagnosing problems and using the information to
recommend improvements to the system.
I. Functional Requirements
a. User must have a login id using which they can enter the interface.
b. A module to be able to add a new user details.
c. A module to be able to edit a record.
d. A module to be able to go through user details without modification to its records.
e. A module to send information automatically to users.
f. Report Generation and transfer over network to users.
II. Non Functional Requirements
a. Accuracy
b. Non-Redundancy
c. Fast response
d. Low maintenance cost
e. Must not be heavy on the server

System Analysis: System Analysis phase is divided into many sub-phases to make analysis
work easy. This phase is not easy phase, but very cumbersome and complex. This phase of
SDLC is tricky and time consuming also.

Fig.3.1 System Analys

6
a) System study: The system study is information-oriented stage in which user;
middle level and higher-level management have to face interviews.
i. Interview: The system analysis team conducts face-to-face interview with the staff of
organization.
ii. Questionnaire: distribute questions (closed, open, probing types) to user and note
their responses.
iii. Observation: The actual position of men and machine are observed on-site.
iv. Study of literatures, objective of organization, procedural manual etc is important tools
for data collection.

b) Requirement analysis: The user expectation with new or candidate system is called user
requirement. The requirement can be qualitative and quantitative.

c) Documentation: The report of system study and requirement analysis is studied and
documented. Designer team for system designing uses this document. If document does not
contain appropriate information, design cannot be successful.

7
fig.3.2 Software Development Life Cycle

8
3.1 Identification Need

Education Plus is online education portal available 24 hours a day and seven days a week, so the
user can access the study material in form of text, videos, tutorials etc.

Education Plus also provides many additional benefits beyond just convenience and financial
savings.

As the idea of online education is getting more popular day by day and is growing dramatically so
the opportunities for such kind of software has increase and will continue to increase in future.

All the students who benefit from the services rendered by the “Portal” shall achieve their learning
goals.

3.2 Preliminary Investigation

9
Preliminary Investigation basically refers to the collection of information that guides the
management of an organization to evaluate the merits and demerits of the project request and make
an informed judgment about the feasibility of the proposed system. This sort of investigation
provides us with a through picture of the kind of software and hardware requirements which are
most feasible for the system, plus the environment in which the entire project has to be installed
and made operational.

1)  Reviewing the documents provided by the organization

They were quite effective in guiding us towards visualizing the features that were needed to be put
together in the system and the required output which had to be generated once the system became
functional.

These specifications provided to us by the organization showed how the new system should look
like; it helped us in understanding the basic structure of the application which we were supposed to
develop.

2)  On site observation:

Another technique utilized by us to gain information about the project was to visit the client site
where the system had to be installed. Here a detailed system study was carried out, checking the
existing system to replicate it with our system.  We also observed the activities of the system
directly. During the on-site observation, we saw the office environment, work load of the system
and users, method of work, and the facilities provided by the organization. This information helped
us to understand how the system should operate. But after interviewing the persons, who is
affected by the system, we got more details that further explain the project and shown whether
assistance is merited economically, operationally and technically.

3)  Conducting interviews:

10
This method of investigation conducted by us involved questioning the concerned personnel to get
the user’s (client) view about the system and the features they desired it to have. Some of the
Questions put forward by our team were:

a)     The amount of data needed to be stored.


b)    The number of customers using the system and number of which the application needed to be
installed.
c)     The issue of our application with existing system was widely discussed.
d)    The level of access given to the customer would depend on his department.

3.3 Feasibility Study

11
A feasibility study is a test of a system proposal according to its workability impact on
organization, ability to meet user needs and effective use of resources. The objective of a
feasibility study is not to solve a problem but to acquire a sense of its scope. During the study, the
problem definition is crystallized and the aspects of the problem to be included in the system are
determined. After the initial investigation of the system that helped to have in-depth study of the
existing system, understanding its strength and weaknesses and the requirements for the new
proposed system.
Feasibility study was done in three phases documented below:
a. Operational feasibility
b. Technical feasibility
c. Economical feasibility

a. Operational feasibility
People are inherently resistant to change and computers have been known to facilitate change.
There is always some reluctance among the users against the introduction of new system but they
were told that this system would eliminate the unnecessary overhead of database migration and
conversion, which presently had to be carried out on daily basis to facilitate transactions between
the different departments. The objective this feasibility phase is to take the operational staff into
confidence. As the success of a good system depends upon the willingness of the operating staff,
they were taken into full confidence that the new proposed system would make their jobs easier,
relieve them from the unnecessary overheads and reduce the possibility of errors creeping into the
system.

b. Technical feasibility
Technical feasibility centres on the existing computer system. (Hardware/software) and to what
extent it can support the proposed addition also the organization already has sufficient high-end
machines to serve the processing requirements of the proposed system. So there is no need to
purchase new software as the organization has necessary software. Having gone through the steps
of the overall analysis and feasibility study the next step was to carry out a detailed system
analysis. The project analysis phase was conducted to learn about the proposed system, to study
the problems and finally select a system that would take care of the problems identified in the
working of the present system.

12
c. Economics feasibility
Economic feasibility is the most frequently used method for evaluating the effectiveness of the
candidate system. More commonly known as cost\benefit analysis, the procedure is to determine
the benefits and savings that are expected from a candidate system and compare them with the
costs. If benefits outweigh the costs, then the decision is made to design and implement the system.
A cost\benefit analysis was done for the proposed system to evaluate whether it would be
economically viable or not. The organization has in store many machines with high processing
power necessary to implement the system. Also the organization has necessary software or
hardware to support the system. Considering the programmer time and the negligible
hardware/software cost required for developing the system, it was found that the benefits in terms
of reduced overhead as a result of elimination of the requirement of database migration and
conversion was more than the cost.

3.4 Project Planning

13
1. Requirements of client
Users can download videos, tutorials, and screen shots and write and subscribe to them.
Education Plus Online Education Portal is available 24 hours per day and seven days a week, so
users can use study material in the form of text, video, tutorials etc.
Education Plus offers many additional benefits beyond just convenience and financial savings.
Since the idea of online education is becoming increasingly popular and is growing dramatically,
opportunities for these types of software are increasing, and in the future it will continue to grow.
All students benefiting from the services provided by "Portal" will receive their learning goals.
2. Key features of solutions

i. Profile: -User friendly profiles of websites are provided so that user feel homely and can
easily download information without any problems.

ii. Feedback: - User can also give feedback about their experience with our information if
they like.
iii. Trainer:- Trainer has access to upload the meaningful information and provide
permission to user if the notes are free to download.
3. Design of solution
While designing the solution according to the requirements of the client we make the following
five modules of our project:
This is the menus of the project and is accessible to all. It contains the following content:
i. Home– This page contains the list of different section for the student and teacher. Login
and sign up for the user are also provided for the view of notes and videos regarding their
subject.
ii. Gallery- In that part user can view all the images related to the site and study. Even can
download these images for their work.
iii. Staff- In that part user can check the qualification of the staff and allover all the details
regarding any staff member.

3.5 Project Scheduling

14
Everyone knows what a schedule is, at least anyone who has had to get anything done on time. But
when it comes to creating a project schedule, well, that’s something few have deep experience
with.

What and who is being scheduled, and for what purposes, and where is this scheduling taking
place, anyway?

A project is made up of many tasks, and each task is given a start and end (or due date), so it can
be completed on time. Likewise, people have different schedules, and their availability and
vacation or leave dates need to be documented in order to successfully plan those tasks.

Whereas people in the past might have printed calendars on a shared wall in the water-cooler
room, or shared spreadsheets via email, today most teams use online project scheduling tools.
Typically, project scheduling is just one feature within a larger project management software
solution, and there are many different places in the software where scheduling takes place.

For example, most tools have task lists, which enable the manager to schedule multiple tasks, their
due dates, sometimes the planned effort against that task, and then assign that task to a person. The
software might also have resource scheduling, basically the ability to schedule the team’s
availability, but also the availability of non-human resources like machines or buildings or meeting
rooms.

Because projects have so many moving parts, and are frequently changing, project scheduling
software automatically updates tasks that are dependent on one another, when one scheduled task
is not completed on time. It also generates automated email alerts, so team members know when
their scheduled tasks are due or overdue, and to let the manager know when someone’s availability
has changed.

Project scheduling is simple when managed online, thankfully, especially since the software does
all the hard part for you!

3.5.1 How to schedule a project

15
Project scheduling occurs during the planning phase of the project. You have to ask yourself three
questions to start:

1.What needs to be done?


2.When will it be done?
3. Who will do it?

Once you’ve got answers to these questions, then you can begin to plan dates, link activities, set
the duration, milestones and resources. The following are the steps needed to schedule a project:

1. Define activities
What are the activities that you have to do in the project? By using a Work Breakdown Structure
(WBS) and a deliverables diagram, you can begin to take these activities and organize them by
mapping out the tasks necessary to complete them in an order than makes sense.

2. Do estimates
Now that you have the activities defined and broken down into tasks, you next have to determine
the time and effort it will take to complete them. This is an essential piece of the equation in order
to calculate the correct schedule.

3. Determine dependencies

Tasks are not an island, and often one cannot be started until the other is completed. That’s called a
task dependency, and your schedule is going to have to reflect these linked tasks. One way to do
this is by putting a bit of slack in your schedule to accommodate these related tasks.

4. Assign resources
The last step to finalizing your planned schedule is to decide on what resources you are going to
need to get those tasks done on time. You’re going to have to assemble a team, and their time will
need to be scheduled just like the tasks.

3.5.2. PERT chart


A PERT chart is a project management tool that provides a graphical representation of a project's
timeline. PERT, or Program Evaluation Review Technique, allows the tasks in a particular project

16
to be analyzed.

Fig.3.3 Pert Chart

3.5.3. Gantt chart


A Gantt chart, commonly used in project management, is one of the most popular and useful ways
of showing activities (tasks or events) displayed against time. On the left of the chart is a list of the

17
activities and along the top is a suitable time scale. Each activity is represented by a bar; the
position and length of the bar reflects the start date, duration and end date of the activity.

Fig. 3.4 Gantt chart

18
3.6 Software Requirement Analysis

This project is a web application that is developed in PHP having MySqli as back end.
 Database design:- MySqli
 Website design:- CSS
 Server:-XAMPP
 Coding(logic):- PHP and JavaScript
 Platform:- Windows
 Application:-Notepad++

3.6.1. Software Requirement on Server side:-

a. MySQL
A database management, or DBMS, gives the user access to their data and helps them
transform the data into information. Such database management systems include dBase,
paradox, IMS, SQL Server and MySQL Server. These systems allow users to create, update
and extract information from their database.

A database is a structured collection of data. Data refers to the characteristics of people,


things and events. MySQL Server stores each data item in its own fields. In SQL Server, the
fields relating to a particular person, thing or event are bundled together to form a single
complete unit of data, called a record (it can also be referred to as raw or an occurrence).
Each record is made up of a number of fields. No two fields in a record can have the same
field name.

During an MySQL Server Database design project, the analysis of your business needs
identifies all the fields or attributes of interest. If your business needs change over time, you
define any additional fields or change the definition of existing fields.

b. Apache Server
Often referred to as simply Apache, a public-domain open source web server developed by
a loosely-knit group of programmers. The first version of Apache, based on the NCSA
httpd web server, was developed in 1995.

19
Core development of the Apache web server is performed by a group of about 20 volunteer
programmers, called the Apache group. However, because the source code is freely available,
anyone can adapt the server for specific needs, and there is a large public library of Apache
Add-ons. In many respects, development of Apache is similar to development of the Linux
Operating System.

3.6.2. Software requirement on Client side/User interface:-


Application will be access through a browser interface. The interface would be vied best
application using 1024 x 786 and 800 x 600 pixels resolutions setting. The software would be fully
compatible with Microsoft internet explorer for version 9 and above.

3.6.3 Software requirement for development


a) Bootstrap:- Bootstrap is an open-source JavaScript framework developed by the team at
Twitter. It is a combination of HTML, CSS, and JavaScript code designed to help build user
interface components. Bootstrap was also programmed to support both HTML5 and CSS3.

Also it is called Front-end-framework.

Bootstrap is a free collection of tools for creating websites and web applications.

b) XAMPP:- XAMPP is a free and open source cross-platform web server developed by Apache
Friends. XAMPP stands for Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) and Perl (P).
It is a simple, lightweight Apache distribution that makes it extremely easy for developers to create
a local web server for testing purposes. Everything needed to set up a web server – server
application (Apache), database (MariaDB), and scripting language (PHP) – is included in an
extractable file. XAMPP is also cross-platform, which means it works equally well on Linux, Mac
and Windows.

c) CSS:- CSS stands for Cascading Style Sheets.CSS describes how HTML elements are to be


displayed on screen, paper, or in other media.CSS saves a lot of work. It can control the layout of
multiple web pages all at once. External style sheets are stored in CSS files.

d) JavaScript:- JavaScript is a dynamic computer programming language. It is lightweight and


most commonly used as a part of web pages, whose implementations allow client-side script to

20
interact with the user and make dynamic pages. It is an interpreted programming language with
object-oriented capabilities.

JavaScript was first known as Live Script, but Netscape changed its name to JavaScript, possibly
because of the excitement being generated by Java. JavaScript made its first appearance in
Netscape 2.0 in 1995 with the name Live Script. The general-purpose core of the language has
been embedded in Netscape, Internet Explorer, and other web browsers.

e) Jquery:- Jquery is a lightweight, "write less, do more", JavaScript library. The purpose of
jquery is to make it much easier to use JavaScript on your website. jquery takes a lot of common
tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that
you can call with a single line of code. jquery also simplifies a lot of the complicated things from
JavaScript, like AJAX calls and DOM manipulation

The jQuery library contains the following features:

 HTML/DOM manipulation
 CSS manipulation
 HTML event methods
 Effects and animations
 AJAX
 Utilities

f) PHP:- PHP is an acronym for "PHP: Hypertext Preprocessor.PHP is a widely-used, open source
scripting language.PHP scripts are executed on the server.PHP is free to download and use.

21
3.6.4. Hardware and software recruitment
System Requirement
In Server Side for the front end
Processor  Minimum: 600 MHz Pentium Processor
 Recommended: 1 GHz Pentium processor
recommended

RAM  Minimum: 256 MB


 Recommended: 1GB

Hard Disk  Minimum: 2GB of available space required on


installation drive, and 1 GB of available space required on
System drive.
 Recommended: 74x3GB

CD or DVD Drive Required

Display  Minimum: 800 x 600 256 colors


 Recommended: 1024 x 768 High Color -16-bit

Other Software  Any modern Web browser


 Apache Server
Other Hardware  Video(VGA or higher resolution, 800 x 600 or higher
resolution)
 Pointing Device(Microsoft Mouse or Compatible)
 Keyboard

22
3.6.5. For the Back End
Processor Intel or Compatible. Pentium 166 MHz or higher

Operating System Ubuntu x86 or x64 bit

RAM 64 MB minimum on Windows 2000, 32 MB minimum on all


other operating system

Hard Disk SQL SERVER database components: 95 to 270 MB, 250 MB


typical

Other Hardware  Video(VGA or higher resolution, 800 x 600 or higher


resolution)
 Pointing Device(Microsoft Mouse or Compatible)
 Keyboard
 CD ROM

23
3.6.6. Hardware and software requirement at client end

Processor Intel or Compatible. Pentium 166 MHz or higher

HDD Minimum 1GB

RAM 32MB

Operating System Windows XP, higher version

Browser Internet Explorer

24
3.7 Data Flow Diagrams
Data flow diagram‘s (also called data flow graph) is commonly called during problem analysis.
Data flow diagrams are quite general and are not limited to problem analysis for software
requirements specification. They were in use long before the software engineering discipline
began. DFD‘S are very useful in understanding a system and can be effectively used during
analysis.

A DFD shows the flows of data through a system. It views a system as a function that transforms
the inputs in to desired outputs. Any complex system will not perform this transformation in a
―single step‖, and a data will typically undergo a series of transformation that take place within a
system to the input data so that eventually the output data is produced.

25
26
3.8 ER-Diagram
An entity-relationship diagram (ERD) is a data modeling technique that creates a graphical
representation of the entities, and the relationships between entities, within an information system.

The three main components of an ERD are:

1. The entity is a person, object, place or event for which data is collected. The entity is
represented by a rectangle and labelled with a singular noun.

2. The relationship is the interaction between the entities. A relationship may be represented by a
diamond shape, or more simply, by the line connecting the entities.

3. The cardinality defines the relationship between the entities in terms of numbers. The three
main cardinal relationships are: one-to-one, expressed as 1:1; one-to-many, expressed as 1: M; and
many-to-many, expressed as M: N

3.8.1. Symbols Used In ER Diagram


Following are the various symbols used in the Entity Relationship Diagram:-

Description Represents Symbols Representation

Rectangle Entity Set

Ellipse Attributes

Diamond Relationship Set

27
Arrows Link Attributes To Entity Set

28
3.9 Control Flow diagram

29
A Process flow diagram depicts components and their relationships of any system. Commonly
used as a step-by-step guide, which makes flowchart look like a chain.

3.10 Use Case Diagram


Use cases model the system from the end users point of view, with the following objectives

30
1. To define the functional and operational requirements of the system by defining a scenario
of usage.

2. To provide a class and unambiguous description of how the end user and the system
interact with one another.

3. To provide a basis for validation testing

3.11 Collaboration Diagrams


Collaboration diagram are also interaction diagrams.

31
They convey the same information as sequence diagrams, but they focus on object roles instead of
the times that message are sent.

32
33
4.1 Modularisation Details

Modular design, or "modularity in design", is a design approach that subdivides a system into
smaller parts called modules or skids, that can be independently created and then used in different
systems. A modular system can be characterized by functional partitioning into discrete scalable,
reusable modules; rigorous use of well-defined modular interfaces; and making use of industry
standards for interfaces.

Besides reduction in cost (due to less customization, and shorter learning time), and flexibility in
design, modularity offers other benefits such as augmentation (adding new solution by merely
plugging in a new module), and exclusion. Examples of modular systems are cars , computers ,
process systems etc.

1. Admin Module (Back End)


2. User Module (Front End)
3. Expert Module

34
1. Admin module: -Admin of website can login and help the Users. It can manage site content.
Admin can edit, delete Pages and Comments. It also manages users of website. Admin can approve
or un-approve the privileges. Without the admin no one can assess the site. Admin can add videos,
tutorials and screenshot on

Fig. 4.1 Admin module

35
2. User Module: -User can login on this Easy to communicate between developers who are
working on applications. User can share information between a group and solve issues. Updates of
completed and pending tasks can be analyzed. A user can also give feedback. It also does different
tasks like add notes and videos as well as gallery.

Fig.4.2 user module

36
3. Expert Module:-
Expert module manages and modified all videos, tutorial and screenshot that are uploaded by user
as well as admin.

Fig. 4.3 expert module

37
4.2 Database Design
Database: In below diagram show the list of all tables that are use in education+ project.

Fig.4.1 database

38
ADMIN MODULE:-
ADMIN:

Field Name Constraints Data Type Field Size

Admin_Id Primary key INT 30


Admin_name VARCHAR 20
Admin_email_id VARCHAR 50
Admin_password VARCHAR 50
Admin_time TIMESTAMP

CATEGORY:
Field Name Constraints Data Type Field Size

category_Id Primary key INT 30


category_name VARCHAR 20
Category_time TIMESTAMP

SCREENSHOT:
Field Name Constraints Data Type Field Size

screenshot_Id Primary key INT 30


Screenshot_title VARCHAR 20
Screenshot_upload_cover VARCHAR 100
Screenshot_category VARCHAR 30
Screenshot_upload_by VARCHAR 100
Screenshot_time TIMESTAMP

39
TUTORIAL:
Field Name Constraints Data Type Field Size

tutorial_Id Primary key INT 30


tutorial_title VARCHAR 20
tutorial_upload_cover VARCHAR 100
Tutorial_upload_tutorial VARCHAR 100
tutorial_category VARCHAR 30
tutorial_upload_by VARCHAR 20
tutorial_time TIMESTAMP

VIDEO:
Field Name Constraints Data Type Field Size

video_Id Primary key INT 30


video_title VARCHAR 20
video_upload_cover VARCHAR 100
video_category VARCHAR 100
Video_url VARCHAR 100
video_upload_by VARCHAR 20
video_time TIMESTAMP

USER:
Field Name Constraints Data Type Field Size

user_Id Primary key INT 30


user_fname VARCHAR 20
User_lname VARCHAR 20
User_email VARCHAR 50
User_password VARCHAR 60
User_time TIMESTAMP

40
EXPERT MODULE :-
EXPERT:
Field Name Constraints Data Type Field Size

expert_id Primary key INT 30


expert_name VARCHAR 50
expert_email VARCHAR 50
expert_pswd VARCHAR 40
expert_designation VARCHAR 20
expert_company VARCHAR 50
expert_location VARCHAR 20
expert_phone VARCHAR 10
expert_qualificvation VARCHAR 20
expert_skills VARCHAR 50
expert_work_exp VARCHAR 10
expert_resume VARCHAR 100
expert_image VARCHAR 100
expert_status VARCHAR 100
expert_time TIMESTAMP

SCREENSHOT:
Field Name Constraints Data Type Field Size

screenshot_Id Primary key INT 30


Screenshot_title VARCHAR 20
Screenshot_upload_cover VARCHAR 100
Screenshot_category VARCHAR 30
Screenshot_upload_by VARCHAR 20
Screenshot_time TIMESTAMP

41
TUTORIAL:
Field Name Constraints Data Type Field Size

tutorial_Id Primary key INT 30


tutorial_title VARCHAR 20
tutorial_upload_cover VARCHAR 100
Tutorial_upload_tutorial VARCHAR 100
tutorial_category VARCHAR 30
tutorial_upload_by VARCHAR 20
tutorial_time TIMESTAMP

VIDEO:
Field Name Constraints Data Type Field Size

video_Id Primary key INT 30


video_title VARCHAR 20
video_upload_cover VARCHAR 100
video_category VARCHAR 100
Video_url VARCHAR 100
video_upload_by VARCHAR 20
video_time TIMESTAMP

42
4.3 User Interface Design
Home page: this is first page of our website. It is contain user signin, user signup menu, expert
login and expert hiring menu.

43
About us page: This page are show who we are? and what we do?. It is contain category of
tutorials and contact of experts.

44
Category: it can contain tutorial category. User can click any one category and then move next
page and this page show this category related tutorials, videos and screenshot.

45
46
Tutorial page: In this page user can like and dislike the tutorial.

47
Video Page:

48
Screenshot page:

49
Gallery:

50
Expert menu: it is show the list of staff

51
User Login: user is required to enter its user id and password after all security checks they are
allowed to access tutorials

52
User Profile Page: it contain information of user

53
Change password:

54
Contact menu:

55
Expert hiring:

56
Admin Panel

Admin Login page:

57
Main page of admin module:

58
Add Admin:

59
Manage admin:

60
Add user:

61
Manage user:

62
Add category:

63
Manage category:

64
Add screenshot:

65
Manage screenshot:

66
Add video:

67
Manage video:

68
Add tutorial:

69
Manage tutorial:

70
Manage expert:

71
Total student enrolled:

72
Manage Review:

73
74
User profile:

75
Change password:

76
Expert Panel

Login page:

77
First page after expert login:

78
Total downloads and ratting:

79
Total views and rating:

80
Add tutorial:

81
Manage tutorial:

82
Manage video:

83
Add screenshot:

84
Manage screenshot:

85
Expert profile:

86
Change password:

87
4.4 Test Cases
A test case is a set of conditions or variables under which a tester will determine whether a system
under test satisfies requirements or works correctly. The process of developing test cases can also
help find problems in the requirements or design of an application.

A test case is a document, which has a set of test data, preconditions,


expected results and postconditions, developed for a particular test scenario in order to verify
compliance against a specific requirement.

Test Case acts as the starting point for the test execution, and after applying a set of input values;
the application has a definitive outcome and leaves the system at some end point or also known as
execution postcondition.

A Test Case is a set of actions executed to verify a particular feature or functionality of your
software application.

Now, consider the Test Scenario Check Login Functionality there many possible cases like

Test Case 1: Check results on entering valid User Id & Password

Test Case 2: Check results on entering Invalid User ID & Password

Test Case 3: Check response when User ID is Empty & Login Button is pressed, and many
more

88
4.4.1. Unit testing
Soon after the program is corrected for syntax errors, the program has to be checked for logical
errors, at the unit level. Programs may have simple user inputs or outputs thru screens or
reports. The inputs must be validated for their format, data type, boundary conditions etc. Also,
the elementary functionality of the program must be verified. In most of the cases, the
programmers themselves will do this unit test.

4.4.2. System testing

After all the interfaces are tested between multiple modules, the whole set of software is tested to


establish that all modules work together correctly as an application or system or package. This is
again performed by independent testes. The testers will have to do the
system testing as though they are the end users of the application. Systems Testing includes special
testing methods like performance testing, interoperability testing, stability testing etc.

89
90
5.1 Comments and Description of Coding segments

5.1.1. Single Line Comment

While there is only one type of comment in HTML, PHP has two types. The first type we will
discuss is the single line comment. The single line comment tells the interpreter to ignore
everything that occurs on that line to the right of the comment. To do a single line comment type
"//" or "#" and all text to the right will be ignored by PHP interpreter.

Example: // This will print out Hello World!

5.1.2. Multiple Line Comment

Similiar to the HTML comment, the multi-line PHP comment can be used to comment out large
blocks of code or writing multiple line comments. The multiple line PHP comment begins with " /*
" and ends with " */ ".

Example: /* This Echo statement will print out my message to the


the place in which I reside on. In other words, the World. */

91
5.2 Standardization Of The Coding

Every company follows a different coding standard based on their best practices. Coding standard
is required because there may be many developers working on different modules so if they will
start inventing their own standards then source will become very un-manageable and it will
become difficult to maintain that source code in future.

Here are several reasons why to use coding specifications −

 Your peer programmers have to understand the code you produce. A coding standard acts as
the blueprint for all the team to decipher the code.
 Simplicity and clarity achieved by consistent coding saves you from common mistakes.
 If you revise your code after some time then it becomes easy to understand that code.
 Its industry standard to follow a particular standard to being more quality in software.

There are few guidelines which can be followed while coding in PHP.

a. Indenting and Line Length − Use an indent of 4 spaces and don't use any tab because
different computers use different setting for tab. It is recommended to keep lines at
approximately 75-85 characters long for better code readability.
b. Control Structures − These include if, for, while, switch, etc. Control statements should
have one space between the control keyword and opening parenthesis, to distinguish them
from function calls. You are strongly encouraged to always use curly braces even in
situations where they are technically optional.
c. Function Calls − Functions should be called with no spaces between the function name,
the opening parenthesis, and the first parameter; spaces between commas and each
parameter, and no space between the last parameter, the closing parenthesis, and the
semicolon.
d. Comments − C style comments (/* */) and standard C++ comments (//) are both fine. Use
of Perl/shell style comments (#) is discouraged.
e. PHP Code Tags − Always use <? php ?> to delimit PHP code, not the <? ?> shorthand.
This is required for PHP compliance and is also the most portable way to include PHP code
on differing operating systems and setups.
f. Variable Names −

92
i. Use all lower case letters
ii. Use '_' as the word separator.
iii. Global variables should be prepended with a 'g'.
iv. Global constants should be all caps with '_' separators.
v. Static variables may be prepended with’s’.

g. Alignment of Declaration Blocks − Block of declarations should be aligned.


h. One Statement Per Line − There should be only one statement per line unless the
statements are very closely related.

93
5.3 Error Handling

When creating scripts and web applications, error handling is an important part. If your code lacks
error checking code, your program may look very unprofessional and you may be open to security
risks.

This tutorial contains some of the most common error checking methods in PHP.

We will show different error handling methods:

 Simple "die()" statements


 Custom errors
 error triggers

1. Using the die() function:

The first example shows a simple script that opens a text file:

<?php
$file=fopen("welcome.txt","r");
?>

If the file does not exist you might get an error like this:

Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:


No such file or directory in C:\webfolder\test.php on line 2

To prevent the user from getting an error message like the one above, we test whether the file exist
before we try to access it:

<?php
if(!file_exists("welcome.txt")) {
  die("File not found");
} else {
  $file=fopen("welcome.txt","r");

94
}
?>

Now if the file does not exist you get an error like this:

File not found

2. Creating a Custom Error Handler:

Creating a custom error handler is quite simple. We simply create a special function that can be
called when an error occurs in PHP.

This function must be able to handle a minimum of two parameters (error level and error message)
but can accept up to five parameters (optionally: file, line-number, and the error context):

Syntax
error_function(error_level,error_message,error_file,error_line,error_context)

3. Trigger an Error:

In a script where users can input data it is useful to trigger errors when an illegal input occurs. In
PHP, this is done by the trigger_error() function.

Example

In this example an error occurs if the "test" variable is bigger than "1":

<?php
$test=2;
if ($test>=1) {
  trigger_error("Value must be 1 or below");
}
?>

The output of the code above should be something like this:

95
Notice: Value must be 1 or below
in C:\webfolder\test.php on line 6

An error can be triggered anywhere you wish in a script, and by adding a second parameter, you
can specify what error level is triggered.

96
5.5 Validation Checks

Validation means check the input submitted by the user. There are two types of validation are
available in PHP. They are as follows −

 Client-Side Validation − Validation is performed on the client machine web browsers.


 Server Side Validation − After submitted by data, The data has sent to a server and
perform validation checks in server machine.

Fig.5.1 validation

97
Some of Validation rules for field

Field Validation Rules

Name Should required letters and white-spaces


Email Should required @ and .
Website Should required a valid URL
Radio Must be selectable at least once
Check Box Must be checkable at least once
Drop Down menu Must be selectable at least once

98
99
6.1 Testing
Software testing is any activity aimed at evaluating an attribute or capability of a program or
system and determining that it meets its required results. Although crucial to software quality and
widely deployed by programmers and testers, software testing still remains an art, due to limited
understanding of the principles of software. The difficulty in software testing systems from the
complexity of software: we cannot completely test a program with moderate complexity. Testing is
more than just debugging. The purpose of testing can be quality assurance, verification and
validation or reliability estimation. Testing can be used as a generic metric as well. Correctness
testing and reliability testing are two major areas of testing. Software testing is a trade-off between
budget, time and quality.

Testing Objectives
The main objective of testing is to uncover a host of errors, systematically and with minimum
effort and time. Stating formally, we can say,

 Testing is a process of executing a program with the intent of finding an error.

 A successful test is one that uncovers an as yet undiscovered error.


 A good test case is one that has a high probability of finding error, if it exists.
 The tests are inadequate to detect possibly present errors.
 The software more or less confirms to the quality and reliable standards.

6.1.1. Types of test performed


The tests are performed at two levels:
Module
Project level

100
6.1.2 Unit testing
Unit testing focuses verification effort on the smallest unit of software i.e. the module. Using the
detailed design and the process specifications testing is done to uncover errors within the boundary
of the module. All modules must be successful in the unit test before the start of the integration
testing begins.

In this project each service can be thought of a module. There are so many modules like Login,
Registration, Homepage, and Normal User. Giving different sets of inputs has tested each module.
When developing the module as well as finishing the development so that each module works
without any error. The inputs are validated when accepting from the user.

In this application developer tests the programs up as system. Software units in a system are the
modules and routines that are assembled and integrated to form a specific function. Unit testing is
first done on modules, independent of one another to locate errors. This enables to detect errors.
Through this error resulting from interaction between modules initially avoided.

Fig.6.1 Unit testing


6.1.3.Integration testing

101
Integration testing is a type of testing which involves testing the integrity of various modules i.e.
whether several different modules or units outputs desired result when they are integrated or made
to work together or not.

In this project integrating all the modules forms the main system. When integrating all the modules
I have checked whether the integration effects working of any of the services by giving different
combinations of inputs.

The purpose of integration testing is to verify the functional, performance, and reliability between
the modules that are integrated.

Fig.6.2 Integration testing

6.1.4.System testing

102
System Testing (ST) is a black box testing technique performed to evaluate the complete system
the system's compliance against specified requirements. In System testing, the functionalities of
the system are tested from an end-to-end perspective.

System Testing is usually carried out by a team that is independent of the development team in
order to measure the quality of the system unbiased. It includes both functional and Non-
Functional testing.

Fig.6.3 system test type

103
6.1.5. Client side validation
Client side validation is the process of validating user inputs or requests at the client end. This type
of validation is performed so as to check whether the user input or request is correct or not before
the form is submitted. If not then an appropriate error message must be displayed to the user. So
that user can remove the wrong input and try again with valid input. This type of testing in
application is mainly done using Java. Client side validation is considered to be an important type
of validation as it doesn‘t make any request to the server for checking the validation of the user
input.

104
6.2 Testing Strategies

A testing strategy is a general approach to the testing process rather than a method of devising
particular system or component tests. Different testing strategies may be adopted depending on the
type of system to be tested and the development process used. There are two different strategies
available:

a. Top-Down Testing
b. Bottom-Up Testing

a. Top-Down Testing

Top-Down Testing high levels of a system are tested before testing the detailed components. The
application is represented as a single abstract component with sub-components represented by
stubs. Stubs have the same interface as the component but very limited functionality.

After the top-level component has been tested, its sub-components are implemented and tested in
the same way. This process continues recursively until the bottom - level components are
implemented. The whole system may then be completely tested. Top-down testing should be used
with top-down program development so that a system component is tested as soon as it is coded.
Coding and testing are a single activity with no separate component or module testing phase.

If top-down testing is used, unnoticed design errors may be detected at an early stage in the
testing process. As these errors are usually structural errors, early detection means that extensive
re-design re-implementation may be avoided. Top-down testing has the further advantage that we
could have a prototype system available at a very early stage, which itself is a psychological
boost. Validation can begin early in the testing process as a demonstrable system can be made
available to the users.

b. Bottom-Up Testing

105
Bottom-Up Testing is the opposite of Top-Down. It involves testing the modules at the lower
levels in the hierarchy, and then working up the hierarchy of modules until the final module is
tested. This type of testing is appropriate for object-oriented systems in that individual objects
may be tested using their own test drivers. They are then integrated and the object collection is
tested.

6.3 Test Plan

106
A test plan is a document describing the scope, approach, objectives, resources, and schedule of a
software testing effort. It identifies the items to be tested, items not be tested, who will do the
testing, the test approach followed, what will be the pass/fail criteria, training needs for team, the
testing schedule etc.

1. Test plan identifier


2. Introduction
3. Test items
4. Features to be tested
5. Features not to be tested
6. Approach
7. Item pass/fail criteria
8. Suspension criteria and resumption requirements
9. Test deliverables
10. Testing tasks
11. Environmental needs
12. Responsibilities
13. Staffing and training needs
14. Schedule
15. Risks and contingencies
16. Approvals

Test Plan Identifiers:-

107
S.No. Parameter Description

1. Test plan identifier Unique identifying reference.

2. Introduction A brief introduction about the project and to the


document.

3. Test items A test item is a software item that is the application


under test.

4. Features to be A feature that needs to tested on the testware.


tested

5. Features not to be Identify the features and the reasons for not including as
tested part of testing.

6. Approach Details about the overall approach to testing.

7. Item pass/fail Documented whether a software item has passed or


criteria failed its test.

8. Test deliverables The deliverables that are delivered as part of the testing
process, such as test plans, test specifications and test
summary reports.

9. Testing tasks All tasks for planning and executing the testing.

10. Environmental Defining the environmental requirements such as


hardware, software, OS, network configurations, tools

108
needs required.

11. Responsibilities Lists the roles and responsibilities of the team members.

12. Staffing and Captures the actual staffing requirements and any
training needs specific skills and training requirements.

13. Schedule States the important project delivery dates and key
milestones.

14. Risks and High-level project risks and assumptions and a


Mitigation mitigating plan for each identified risk.

15. Approvals Captures all approvers of the document, their titles and
the sign off date.

Test Planning Activities:-


 To determine the scope and the risks that need to be tested and that are not to be tested.

109
 Documenting Test Strategy.

 Making sure that the testing activities have been included.

 Deciding Entry and Exit criteria.

 Evaluating the test estimate.

 Planning when and how to test and deciding how the test results will be evaluated, and defining
test exit criterion.

 The Test artifacts delivered as part of test execution.

 Defining the management information, including the metrics required and defect resolution and
risk issues.

 Ensuring that the test documentation generates repeatable test assets.

6.4 Debbuging And Code Improvement

110
It is a systematic process of spotting and fixing the number of bugs, or defects, in a piece of
software so that the software is behaving as expected. Debugging is harder for complex systems in
particular when various subsystems are tightly coupled as changes in one system or interface may
cause bugs to emerge in another.

Debugging is a developer activity and effective debugging is very important before testing begins
to increase the quality of the system. Debugging will not give confidence that the system meets its
requirements completely but testing gives confidence.

Code improvement is the most formal type of review, which is a kind of static testing to avoid the
defect multiplication at a later stage.

 The main purpose of code inspection is to find defects and it can also spot any process
improvement if any.

 An inspection report lists the findings, which include metrics that can be used to aid
improvements to the process as well as correcting defects in the document under review.

 Preparation before the meeting is essential, which includes reading of any source documents to
ensure consistency.

 Inspections are often led by a trained moderator, who is not the author of the code.

 The inspection process is the most formal type of review based on rules and checklists and
makes use of entry and exit criteria.

 It usually involves peer examination of the code and each one has a defined set of roles.

 After the meeting, a formal follow-up process is used to ensure that corrective action is
completed in a timely manner.

111
[….Code improvement....]

112
113
7. SYSTEM SECURITY AND MEASURES

System security refers to protecting the system from theft, unauthorized access and modifications,
and accidental or unintentional damage. In computerized systems, security involves protecting all
the parts of computer system which includes data, software, and hardware. Systems security
includes system privacy and system integrity.

 System privacy deals with protecting individuals systems from being accessed and used
without the permission/knowledge of the concerned individuals.

 System integrity is concerned with the quality and reliability of raw as well as processed data
in the system.

7.1. Control Measures


There are varieties of control measures which can be broadly classified as follows −

7.1.1. Backup
 Regular backup of databases daily/weekly depending on the time criticality and size.
 Incremental back up at shorter intervals.
 Backup copies kept in safe remote location particularly necessary for disaster recovery.
 Duplicate systems run and all transactions mirrored if it is a very critical system and cannot
tolerate any disruption before storing in disk.

7.1.2. Physical access control to facilities

 Physical locks and Biometric authentication. For example, finger print

 ID cards or entry passes being checked by security staff.

 Identification of all persons who read or modify data and logging it in a file.

7.1.3. Using logical or software control

 Password system.

 Encrypting sensitive data/programs.

114
 Training employees on data care/handling and security.

 Antivirus software and Firewall protection while connected to internet.

7.1.4. Risk analysis


A risk is the possibility of losing something of value. Risk analysis starts with planning for secure
system by identifying the vulnerability of system and impact of this. The plan is then made to
manage the risk and cope with disaster. It is done to accesses the probability of possible disaster
and their cost.

Risk analysis is teamwork of experts with different backgrounds like chemicals, human error, and
process equipment.

The following steps are to be followed while conducting risk analysis −

 Identification of all the components of computer system.


 Identification of all the threats and hazards that each of the components faces.
 Quantify risks i.e. assessment of loss in the case threats become reality.

7.1.5. Risk analysis

As the risks or threats are changing and the potential loss are also changing, management of risk
should be performed on periodic basis by senior managers.

115
Fig.7.1 system security

Risk management is a continuous process and it involves the following steps −

 Identification of security measures.


 Calculation of the cost of implementation of security measures.
 Comparison of the cost of security measures with the loss and probability of threats.
 Selection and implementation of security measures.

7.1 Database/Data Security

116
Database/data security ensures confidentiality, authenticity, non-repudiation, integrity, and
availability of organization data and IT services. It also ensures reasonable use of organization’s
information resources and appropriate management of information security risks.

Information Security Manager is the process owner of this process.


Information security is considered to be met when:

 Information is observed or disclosed on only authorized persons

 Information is complete, accurate and protected against unauthorized access (integrity)

 Information is available and usable when required, and the systems providing the information
resist attack and recover from or prevent failures (availability)

 Business transaction as well information exchanges between enterprises, or with partners, can
be trusted (authenticity and non-repudiation)

7.2 Cost Estimation Of Project

117
Fig.7.2 cost estimation process

The process of project cost estimation is central to setting up the foundation for making key
decisions, taking initiatives, budgeting activities and controlling expenditures. Cost forecasts
and projections are used to establish a set of metrics against which project success will be
measured, and to communicate work progress to the stakeholders at any given point in time.
7.2.1. Resource Costing

A common technique for cost estimating is to list the resources you need for the project and to total
their costs. Typical resources include equipment, material, services and labor. You can get costs
for equipment, material and services by consulting price lists or by going out for bids for the larger
pieces. Labor costs are hourly, and you can base the total costs on estimates from similar projects
or ask for bids to carry out the work. Small businesses use resource costing for larger or more
complicated projects.

7.2.2. Unit Costs

Small or simple projects can be evaluated using a cost-per-unit that is characteristic of the project.
The characteristic unit is a measure of the size of the project that is indicative for the particular
project. It might be a cubic foot, a square foot or a work station. Typical applications are for
building costs, paving, renovating or for standard systems such as data processing. Costs are a
dollar amount per unit. To get the total cost, you decide how large the building or surface is or how
many people will be working on the data. Multiply that by the unit cost to get the total. You can
get typical unit costs from prospective suppliers or from industry associations.

118
7.2.3. Historical Costing

One of the most transparent ways of estimating the cost of a project is to base it on previous work.
If your company has completed a similar project recently, all the required costing information is
available from the project files. If you don't have such a project, other work your company has
done in the past can help determine the cost of similar work on the new project. If a local business
that is not a competitor has completed a similar project, it might be willing to help. Where
available, historical data often gives the most accurate prediction of future costs.

119
120
8. FUTURE SCOPE OF PROJECT
This is to conclude that the project that I undertook was worked upon with a sincere effort. Most of
the requirements have been fulfilled up to the mark and the requirements which have been
remaining, can be completed with a short extension.
Right now we can upload notes in word documents only. In future the project can be extended to
upload PPT’s, and PDF files. Secondly , right now the permission to download the notes is
provided only at the time of uploading and it’s fixied after that. In future this can be made flexible
at the wish of the administrated or trainer.

The relational database approach of developing the system has helped in:
 Reducing data redundancy.
 Improving data consistency.
 Establishing data integrating in the system.

121
9. BIBLIOGRAPHY

1. Wikipedia.com
2. W3School.com
3. Easynotes.com
4. Phptpoint.com
5. Tutorialspoint.com
6. Webtutorials.com
7. Javatpoint.com

122
123

You might also like