You are on page 1of 68

SYNOPSIS

College student attendance management of class plays an important position in the work of
management of college student, this can help to urge student to class on time, improve learning
efficiency, increase learning grade, and thus entirely improve the education level of the school.
Therefore, colleges need an information system platform of check attendance management of
class strongly to enhance check attendance management of class using the information
technology which gathers the basic information of student automatically.

We have developed Student Staff Feedback System to provide feedback in an easy and quick
manner to the college principal and Hod’s. So we call it as Student Staff Feedback System which
delivers via the student staff interface as online system which acting as a Service Provider

By using this technology we can make fast feedback about the staff by students on time to head
of departments as they referred in online system.

This project has four kinds of users Student, Staff, Hod’s, and Principal. The student can give
feedback in online system provided by college staff. First of staff can prepare questions & add,
update these questions to the online system. After that it was viewed by the students and can give
feedback about the lecturers.

This feedback report was checked by the Hod’s. He can view grades and view the grades
obtained to the lecturers and give this report to the principal and he give counseling to the
college staff
1. INTRODUCTION

1.1 ORGANIZATION PROFILE

Refinement Software Solutions is one of the few IT system integration, professional service
and software development companies in Ramnagar ,Coimbatore that works with Enterprise
systems and companies. As a privately owned company, Refinement Software Solutionsprovides
IT Consultancy, software design and development as well as professional services and hardware
deployment and maintenance to the following verticals:

 Government (Local and Central)


 Financial Services (insurance, banking and clearing house)
 Telecommunications
 Energy and Utilities
 Health Care
 Education.

Refinement Software Solutions is located in Coimbatore, Tamil Nadu (South-India), offering


fully fledged services for software development and engineering empowering effective near-
shore management to its clients. Recognized both on local and regional markets since 2010,
initially known as ICL and later acquiring regional Comtia Services partner, Infinite continues to
operate with higher client expectancy and flexible solution offers. Refinement Software
Solutionsis a pioneer in Interactive Virtual Teams (IVT) which enables the client and the service
provider to establish instant and successful communication channels and support off-shoring and
near-shoring business models, thus keeping the deadlines on time and on track.

Refiniment’s differentiation point comes with three simple principles:

 True collaboration with customers and partners


 Complete understanding of customers business
 Persistence in finishing the job whatever it takes.
We also have special expertise in custom software development – providing specialized
products, IT services and custom end to end solutions to our enterprise customers. We gain
competitive advantage from these distinctive capabilities and have developed the ability to
implement and manage complex IT systems in changing times with greater effectiveness than
many competitors. In the last 6 years Refinement Software Solutionsworked on more than 75
projects and has a large customer base of more than 50 customers all over India and USA,
offering considerably lower priced services than India Industry norm.

Additionally, Refinement Software Solutionsis experienced in delivery, installation and support


of large computer systems and networks and maintains a local Spare Part Consignment Store,
providing back-up for customer systems in order to minimize the effects of possible faults.
Service support is provided by Refinement Software Solutionsservice facility based in India. Its
qualified staff is performing full servicing and repair of the equipment all over India. Beside the
normal working standard equipment, Refinement Software Solutionshas equipment for testing,
installation and technical validation of end user solutions.

Furthermore, we offer reasonable Service Level Agreements (SLA) covering most of the
additional maintenance services. Refinement Software Solutionsis a company which intends to
be in front of the client’s needs, deeply understanding clients’ business and delivering and
optimizing IT solutions from the initial phase of scoping the requirements, up to the final
delivery, maintenance and continuous upgrade. Infinite always look at the things from the
customer perspective, but also from customer’s customer perspective to grasp their real business
need for the IT solutions they deliver.

Our team operates with enthusiasm and flexibility. We are focused on our customers, being their
reliable partner for IT services and solutions, working together on a partnership basis, helping
them face the challenges of the modern times.,

Mission

Refinement Software Solutions’ mission is to enhance the business operation of its clients by
developing and/or implementing premium IT products and services.

Infinite Solutions’ mission includes:


 Providing high quality software development services, professional consulting and
development outsourcing that would improve our customers’ operations;
 Making access to information easier and securer (Enterprise Business);
 Improving communication and data exchange (Business to Business);
 Providing our customers with a Value for Money and
 Providing our employees with meaningful work and advancement opportunities.

Vision

History

Our history starts in 2010 when Refinement Software Solutions (RSS) from Coimbatore , Tamil
Nadu opened Representative office in Coimbatore

In 2012 RSS re-branded in Fujitsu Services (all around India) and in 2013 Fujitsu Services sold
operations in Bangalore, so the local team in Tamilnadudid management buyout of the
Refinement Services Ltd.

In 2015Refinement Services India Ltd. was transformed into Refinement Software SolutionsLtd,
privately owned company, that has been successfully doing business in India

During the last 6 year, Refinement Software Solutionshas successfully implemented more than
75+ projects.
1.2 System Specification

1.2.1 Hardware Specification :

 Processor : Intel Pentium III


 RAM : 256 MB
 Virtual Memory : 64 Megabytes
 Hard Disk : 20 GB
 Key Board : P/S2 105 Keys I Ready
 Mouse : P/S2 3Button Mouse

1.2.2 Software Specification :

 Operating System : Windows 98/2000/XP/NT


 Server side Script : PHP
 Back-End Tool : MY SQL
 CLIENT SIDE : HTML,CSS,JAVASCRIPT
2. SYSTEM STUDY AND ANALYSIS

2.1 EXISTING SYSTEM:-

The problem here is that records are maintained manually, which may be lost/damaged. The
major limitations in existing system are as follows-:

2.1.1 Disadvantages

 Inability to obtain the status of the student attendance rapidly.

 Modify the details of Student/Staff is large process and may lead to chaos and prone to
errors.

 Inconsistency and inaccuracy in the maintenance of data

 It is very complex system to understand by a layman and if a naive is to employed by


Student Information System then it must be given proper training about the functioning
of the system thus overall system becomes very cost ineffective.

 The overall process is very time consuming.


2.2 PROPOSED SYSTEM:-

By using our application, the students and staffs can gather information regarding feedbacks
attendance and alumni within very less time. The system provides different kinds of search
operations which will help the end users. The main features of proposed system are as follows:

2.2.1 Advantages

 Information will be consistent and there will not be duplication of data.

 The time taken in the overall will be less as compared to existing system.

 The system can support large volumes of feedback, alumni and student data.

 The system generates different kinds of reports such as feedback , alumni ,student
attendance in the student information system,

 Users can send their Feedbacks.

 Validation and verifications are done in the system.


3. SYSTEM DESIGN AND DEVELOPMENT

3.1 FILE DESIGN

System design is the phase that bridges the gap between problem domain and the existing system
in a manageable way. This phase focuses on the solution domain, i.e. “how to implement?”

It is the phase where the SRS document is converted into a format that can be implemented and
decides how the system will operate.

In this phase, the complex activity of system development is divided into several smaller sub-
activities, which coordinate with each other to achieve the main objective of system
development.

Inputs to System Design

System design takes the following inputs −

 Statement of work
 Requirement determination plan
 Current situation analysis
 Proposed system requirements including a conceptual data model, modified DFDs, and
Metadata (data about data).

Types of System Design

Logical Design
Logical design pertains to an abstract representation of the data flow, inputs, and outputs of the
system. It describes the inputs (sources), outputs (destinations), databases (data stores),
procedures (data flows) all in a format that meets the user requirements.
While preparing the logical design of a system, the system analyst specifies the user needs at
level of detail that virtually determines the information flow into and out of the system and the
required data sources. Data flow diagram, E-R diagram modeling are used.

Physical Design
Physical design relates to the actual input and output processes of the system. It focuses on how
data is entered into a system, verified, processed, and displayed as output.
It produces the working system by defining the design specification that specifies exactly what
the candidate system does. It is concerned with user interface design, process design, and data
design.

It consists of the following steps −

 Specifying the input/output media, designing the database, and specifying backup
procedures.
 Planning system implementation.
 Devising a test and implementation plan, and specifying any new hardware and software.
 Updating costs, benefits, conversion dates, and system constraints.

Architectural Design
It is also known as high level design that focuses on the design of system architecture. It
describes the structure and behavior of the system. It defines the structure and relationship
between various modules of system development process.
Detailed Design
It follows Architectural design and focuses on development of each module.

Conceptual Data Modeling

It is representation of organizational data which includes all the major entities and relationship.
System analysts develop a conceptual data model for the current system that supports the scope
and requirement for the proposed system.
The main aim of conceptual data modeling is to capture as much meaning of data as possible.
Most organization today use conceptual data modeling using E-R model which uses special
notation to represent as much meaning about data as possible.

Entity Relationship Model


It is a technique used in database design that helps describe the relationship between various
entities of an organization.
Terms used in E-R model
 ENTITY − It specifies distinct real world items in an application. For example: vendor,
item, student, course, teachers, etc.
 RELATIONSHIP − They are the meaningful dependencies between entities. For
example, vendor supplies items, teacher teaches courses, then supplies and course are
relationship.
 ATTRIBUTES − It specifies the properties of relationships. For example, vendor code,
student name. Symbols used in E-R model and their respective meanings –

File Organization

It describes how records are stored within a file.

There are four file organization methods −


 Serial − Records are stored in chronological order (in order as they are input or occur).
Examples − Recording of telephone charges, ATM transactions, Telephone queues.
 Sequential − Records are stored in order based on a key field which contains a value that
uniquely identifies a record. Examples − Phone directories.
 Direct (relative) − Each record is stored based on a physical address or location on the
device. Address is calculated from the value stored in the record’s key field.
Randomizing routine or hashing algorithm does the conversion.
 Indexed − Records can be processed both sequentially and non-sequentially using
indexes.

File Access

One can access a file using either Sequential Access or Random Access. File Access methods
allow computer programs read or write records in a file.

Sequential Access

Every record on the file is processed starting with the first record until End of File (EOF) is
reached. It is efficient when a large number of the records on the file need to be accessed at any
given time. Data stored on a tape (sequential access) can be accessed only sequentially.
Direct (Random) Access

Records are located by knowing their physical locations or addresses on the device rather than
their positions relative to other records. Data stored on a CD device (direct-access) can be
accessed either sequentially or randomly.Types of Files used in an Organization System

Following are the types of files used in an organization system −

 Master file − It contains the current information for a system. For example, customer
file, student file, telephone directory.

 Table file − It is a type of master file that changes infrequently and stored in a tabular
format. For example, storing Zipcode.

 Transaction file − It contains the day-to-day information generated from business


activities. It is used to update or process the master file. For example, Addresses of the
employees.

 Temporary file − It is created and used whenever needed by a system.

 Mirror file − They are the exact duplicates of other files. Help minimize the risk of
downtime in cases when the original becomes unusable. They must be modified each
time the original file is changed.

 Log files − They contain copies of master and transaction records in order to chronicle
any changes that are made to the master file. It facilitates auditing and provides
mechanism for recovery in case of system failure.
 Archive files − Backup files that contain historical versions of other files.
Documentation Control

Documentation is a process of recording the information for any reference or operational


purpose. It helps users, managers, and IT staff, who require it. It is important that prepared
document must be updated on regular basis to trace the progress of the system easily.

After the implementation of system if the system is working improperly, then documentation
helps the administrator to understand the flow of data in the system to correct the flaws and get
the system working.

Programmers or systems analysts usually create program and system documentation. Systems
analysts usually are responsible for preparing documentation to help users learn the system. In
large companies, a technical support team that includes technical writers might assist in the
preparation of user documentation and training materials.

Advantages

 It can reduce system downtime, cut costs, and speed up maintenance tasks.

 It provides the clear description of formal flow of present system and helps to understand
the type of input data and how the output can be produced.

 It provides effective and efficient way of communication between technical and


nontechnical users about system.

 It facilitates the training of new user so that he can easily understand the flow of system.

 It helps the user to solve the problems such as troubleshooting and helps the manager to
take better final decisions of the organization system.

 It provides better control to the internal or external working of the system.


Types of Documentations

When it comes to System Design, there are following four main documentations −

 Program documentation
 System documentation
 Operations documentation
 User documentation

Program Documentation

 It describes inputs, outputs, and processing logic for all the program modules.

 The program documentation process starts in the system analysis phase and continues
during implementation.

 This documentation guides programmers, who construct modules that are well supported
by internal and external comments and descriptions that can be understood and
maintained easily.

Operations Documentation

Operations documentation contains all the information needed for processing and distributing
online and printed output. Operations documentation should be clear, concise, and available
online if possible.

It includes the following information −

 Program, systems analyst, programmer, and system identification.


 Scheduling information for printed output, such as report, execution frequency, and
deadlines.

 Input files, their source, output files, and their destinations.

 E-mail and report distribution lists.

 Special forms required, including online forms.

 Error and informational messages to operators and restart procedures.

 Special instructions, such as security requirements.

User Documentation

It includes instructions and information to the users who will interact with the system. For
example, user manuals, help guides, and tutorials. User documentation is valuable in training
users and for reference purpose. It must be clear, understandable, and readily accessible to users
at all levels.

The users, system owners, analysts, and programmers, all put combined efforts to develop a
user’s guide.

A user documentation should include −

 A system overview that clearly describes all major system features, capabilities, and
limitations.

 Description of source document content, preparation, processing, and, samples.

 Overview of menu and data entry screen options, contents, and processing instructions.

 Examples of reports that are produced regularly or available at the user’s request,
including samples.

 Security and audit trail information.


 Explanation of responsibility for specific input, output, or processing requirements.

 Procedures for requesting changes and reporting problems.

 Examples of exceptions and error situations.

 Frequently asked questions (FAQs).

 Explanation of how to get help and procedures for updating the user manual.
System Documentation

System documentation serves as the technical specifications for the IS and how the objectives of
the IS are accomplished. Users, managers and IS owners need never reference system
documentation. System documentation provides the basis for understanding the technical aspects
of the IS when modifications are made.

 It describes each program within the IS and the entire IS itself.

 It describes the system’s functions, the way they are implemented, each program's
purpose within the entire IS with respect to the order of execution, information passed to
and from programs, and overall system flow.

 It includes data dictionary entries, data flow diagrams, object models, screen layouts,
source documents, and the systems request that initiated the project.

 Most of the system documentation is prepared during the system analysis and system
design phases.

 During systems implementation, an analyst must review system documentation to verify


that it is complete, accurate, and up-to-date, and including any changes made during the
implementation process.
3.2 Input Design :

The input design is the link between the information system and the user. It comprises the
developing specification and procedures for data preparation and those steps are necessary to put
transaction data in to a usable form for processing can be achieved by inspecting the computer to
read data from a written or printed document or it can occur by having people keying the data
directly into the system. The design of input focuses on controlling the amount of input required,
controlling the errors, avoiding delay, avoiding extra steps and keeping the process simple. The
input is designed in such a way so that it provides security and ease of use with retaining the
privacy. Input Design considered the following things:

 What data should be given as input?


 How the data should be arranged or coded?
 The dialog to guide the operating personnel in providing input.
 Methods for preparing input validations and steps to follow when error occur.

1.Input Design is the process of converting a user-oriented description of the input into a
computer-based system. This design is important to avoid errors in the data input process and
show the correct direction to the management for getting correct information from the
computerized system.

2. It is achieved by creating user-friendly screens for the data entry to handle large volume of
data. The goal of designing input is to make data entry easier and to be free from errors. The data
entry screen is designed in such a way that all the data manipulates can be performed. It also
provides record viewing facilities.
3.3 Output Design :

A quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and to
other system through outputs. In output design it is determined how the information is to be
displaced for immediate need and also the hard copy output. It is the most important and direct
source information to the user. Efficient and intelligent output design improves the system’s
relationship to help user decision-making.

1. Designing computer output should proceed in an organized, well thought out manner; the right
output must be developed while ensuring that each output element is designed so that people will
find the system can use easily and effectively. When analysis design computer output, they
should Identify the specific output that is needed to meet the requirements.

2.Select methods for presenting information.

3.Create document, report, or other formats that contain information produced by the system.

The output form of an information system should accomplish one or more of the following
objectives.

 Convey information about past activities, current status or projections of the


 Future.
 Signal important events, opportunities, problems, or warnings.
 Trigger an action.
 Confirm an action.
3.4 Database Design :

Database design is the process of producing a detailed data model of database. This data


model contains all the needed logical and physical design choices and physical storage
parameters needed to generate a design in a data definition language, which can then be used to
create a database. A fully attributed data model contains detailed attributes for each entity.

The term database design can be used to describe many different parts of the design of an
overall database system. Principally, and most correctly, it can be thought of as the logical design
of the base data structures used to store the data. In the relational model these are
the tables and views. In an object database the entities and relationships map directly to object
classes and named relationships. However, the term database design could also be used to apply
to the overall process of designing, not just the base data structures, but also the forms and
queries used as part of the overall database application within the database management
system (DBMS).

The process of doing database design generally consists of a number of steps which will be
carried out by the database designer. Usually, the designer must:

 Determine the data to be stored in the database.


 Determine the relationships between the different data elements.
 Superimpose a logical structure upon the data on the basis of these relationships.

Within the relational model the final step above can generally be broken down into two further
steps, that of determining the grouping of information within the system, generally determining
what are the basic objects about which information is being stored, and then determining the
relationships between these groups of information, or objects. This step is not necessary with
an Object database.

In a majority of cases, a person who is doing the design of a database is a person with expertise
in the area of database design, rather than expertise in the domain from which the data to be
stored is drawn e.g. financial information, biological information etc. Therefore, the data to be
stored in the database must be determined in cooperation with a person who does have expertise
in that domain, and who is aware of what data must be stored within the system.
This process is one which is generally considered part of requirements analysis, and requires
skill on the part of the database designer to elicit the needed information from those with the
domain knowledge. This is because those with the necessary domain knowledge frequently
cannot express clearly what their system requirements for the database are as they are
unaccustomed to thinking in terms of the discrete data elements which must be stored. Data to be
stored can be determined by Requirement Specification.

Once the relationships and dependencies amongst the various pieces of information have been
determined, it is possible to arrange the data into a logical structure which can then be mapped
into the storage objects supported by the database management system. In the case of relational
databases the storage objects are tables which store data in rows and columns. In an Object
database the storage objects correspond directly to the objects used by the Object-oriented
programming language used to write the applications that will manage and access the data. The
relationships may be defined as attributes of the object classes involved or as methods that
operate on the object classes.

The way this mapping is generally performed is such that each set of related data which depends
upon a single object, whether real or abstract, is placed in a table. Relationships between these
dependent objects is then stored as links between the various objects.

Each table may represent an implementation of either a logical object or a relationship joining
one or more instances of one or more logical objects. Relationships between tables may then be
stored as links connecting child tables with parents. Since complex logical relationships are
themselves tables they will probably have links to more than one parent.
3.5 SYSTEM DEVELOPMENT

3.5.1 DESCRIPTION OF MODULES

 The process of development to deployment - How should the code be organized,


compiled, published (in the form of DLLs,libararies, executables, installers, webpages
and how will they be deployed and tested).

 How should we do version control. (and why if there are newbies). Understand how the
structure of the repository, the code of conduct - when a check-in acceptable and when
not, when a version/tag is announced, how the patch,marges will be applied, and what are
the cleanliness expectations when a patch or release is declared done

 Executing the Methodolgoy - are we agile, do we do up-font design, which methodology


we use? Now given this, it might be a fixed for a given company. Now, for most people,
they want to know how we are going to implement it for the given project. This is very
specific about the project that will allow people to visualize different milestones and what
is potentially important. In a research oriented project - we would want indicate "always
validate critical algorithms before building on top of it" in a shrink wrap i would focus on
the correctness and importance of features.

 Communication responsibilities - Defining how do you make formal communication -


this is not do with whether specific people can talk to each other - but people must have a
sense as to what is important enough (problems, design decisions, feature freeze) to be
either announce or even debated before proceeding on implementation.

 Finally, we must all have a common understanding of code-quality, coding standard and
in general what we think is ok or below hygiene level.
MODULE DESCRIPTION :

This project mainly we have modules, they are:

Administration Module

Student Module

Add/Update and Delete Student attendance Record:

This sub module can used to add, update and delete student attendance records. Each
student will be given unique student ID. The update on a particular record will be made with the
help of student ID and this is can be done on fields name and address. The student ID once
issued will not be edited. The admin can delete student record from the student system

Add/Update and Delete Student Feedback Record:

This sub module can used to add, update and delete a record from the student
feedback. Each feedback will have attributes as staff name, class, and department and so on. The
college admin can remove feedback record from the database.

Add/Update and Delete Alumni Record:

The admin can add and update new alumni of student alumni records. The category will
have unique alumni id and description about that category will be defined. The update will be
done with the help of alumni id but user cannot edit alumni ID. The admin can also delete the
category records.

2. Student Module:

In student module the limited access is given to the students to use the applications. The
students can enter the feedback and view feedback details but they cannot delete any record in
the application. Once feedback and alumni records are added to the database will be added to the
student feedback and alumni records. The student only view the records and he cannot delete any
kind of records..
4 SYSTEM TESTING AND IMPLEMENTATION

4.1 Unit Testing :

Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately
to the documented specifications and contains clearly defined inputs and expected results.

4.2 Integration Testing :

Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of components is
correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.

4.3 System Testing :

System testing ensures that the entire integrated software system meets requirements. It tests a
configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points. 

4.4 System Implementation :

In the process of coding, the lines of code keep multiplying, thus, size of the software
increases. Gradually, it becomes next to impossible to remember the flow of program. If one
forgets how software and its underlying programs, files, procedures are constructed it then
becomes very difficult to share, debug and modify the program. The solution to this is structured
programming. It encourages the developer to use subroutines and loops instead of using simple
jumps in the code, thereby bringing clarity in the code and improving its efficiency Structured
programming also helps programmer to reduce coding time and organize code properly.

Structured programming states how the program shall be coded. Structured programming uses
three main concepts:

Top-down analysis - A software is always made to perform some rational work. This rational
work is known as problem in the software parlance. Thus it is very important that we understand
how to solve the problem. Under top-down analysis, the problem is broken down into small
pieces where each one has some significance. Each problem is individually solved and steps are
clearly stated about how to solve the problem.

Modular Programming - While programming, the code is broken down into smaller group of
instructions. These groups are known as modules, subprograms or subroutines. Modular
programming based on the understanding of top-down analysis. It discourages jumps using
‘goto’ statements in the program, which often makes the program flow non-traceable. Jumps are
prohibited and modular format is encouraged in structured programming.

Structured Coding - In reference with top-down analysis, structured coding sub-divides the
modules into further smaller units of code in the order of their execution. Structured
programming uses control structure, which controls the flow of the program, whereas structured
coding uses control structure to organize its instructions in definable patterns.

Functional Programming

Functional programming is style of programming language, which uses the concepts of


mathematical functions. A function in mathematics should always produce the same result on
receiving the same argument. In procedural languages, the flow of the program runs through
procedures, i.e. the control of program is transferred to the called procedure. While control flow
is transferring from one procedure to another, the program changes its state.

In procedural programming, it is possible for a procedure to produce different results when it is


called with the same argument, as the program itself can be in different state while calling it.
This is a property as well as a drawback of procedural programming, in which the sequence or
timing of the procedure execution becomes important.

Functional programming provides means of computation as mathematical functions, which


produces results irrespective of program state. This makes it possible to predict the behavior of
the program.

Functional programming uses the following concepts:

 First class and High-order functions - These functions have capability to accept another
function as argument or they return other functions as results.
 Pure functions - These functions do not include destructive updates, that is, they do not
affect any I/O or memory and if they are not in use, they can easily be removed without
hampering the rest of the program.
 Recursion - Recursion is a programming technique where a function calls itself and
repeats the program code in it unless some pre-defined condition matches. Recursion is
the way of creating loops in functional programming.
 Strict evaluation - It is a method of evaluating the expression passed to a function as an
argument. Functional programming has two types of evaluation methods, strict (eager) or
non-strict (lazy). Strict evaluation always evaluates the expression before invoking the
function. Non-strict evaluation does not evaluate the expression unless it is needed.
 λ-calculus - Most functional programming languages use λ-calculus as their type systems.
λ-expressions are executed by evaluating them as they occur.

Common Lisp, Scala, Haskell, Erlang and F# are some examples of functional programming
languages.

Programming style

Programming style is set of coding rules followed by all the programmers to write the
code. When multiple programmers work on the same software project, they frequently need to
work with the program code written by some other developer. This becomes tedious or at times
impossible, if all developers do not follow some standard programming style to code the
program.
An appropriate programming style includes using function and variable names relevant to the
intended task, using well-placed indentation, commenting code for the convenience of reader and
overall presentation of code. This makes the program code readable and understandable by all,
which in turn makes debugging and error solving easier. Also, proper coding style helps ease the
documentation and updation.

Coding Guidelines

Practice of coding style varies with organizations, operating systems and language of
coding itself.

The following coding elements may be defined under coding guidelines of an organization:

 Naming conventions - This section defines how to name functions, variables, constants and
global variables.
 Indenting - This is the space left at the beginning of line, usually 2-8 whitespace or single
tab.
 Whitespace - It is generally omitted at the end of line.
 Operators - Defines the rules of writing mathematical, assignment and logical operators. For
example, assignment operator ‘=’ should have space before and after it, as in “x = 2”.
 Control Structures - The rules of writing if-then-else, case-switch, while-until and for control
flow statements solely and in nested fashion.
 Line length and wrapping - Defines how many characters should be there in one line, mostly
a line is 80 characters long. Wrapping defines how a line should be wrapped, if is too long.
 Functions - This defines how functions should be declared and invoked, with and without
parameters.
 Variables - This mentions how variables of different data types are declared and defined.
 Comments - This is one of the important coding components, as the comments included in
the code describe what the code actually does and all other associated descriptions. This
section also helps creating help documentations for other developers.
Software Documentation

Software documentation is an important part of software process. A well written


document provides a great tool and means of information repository necessary to know about
software process. Software documentation also provides information about how to use the
product.

A well-maintained documentation should involve the following documents:

•Requirement documentation - This documentation works as key tool for software designer,
developer and the test team to carry out their respective tasks. This document contains all the
functional, non-functional and behavioral description of the intended software.

Source of this document can be previously stored data about the software, already running
software at the client’s end, client’s interview, questionnaires and research. Generally it is stored
in the form of spreadsheet or word processing document with the high-end software management
team.

This documentation works as foundation for the software to be developed and is majorly used in
verification and validation phases. Most test-cases are built directly from requirement
documentation.

•Software Design documentation - These documentations contain all the necessary information,
which are needed to build the software. It contains: (a) High-level software architecture, (b)
Software design details, (c) Data flow diagrams, (d) Database design

These documents work as repository for developers to implement the software. Though these
documents do not give any details on how to code the program, they give all necessary
information that is required for coding and implementation.

•Technical documentation - These documentations are maintained by the developers and actual
coders. These documents, as a whole, represent information about the code. While writing the
code, the programmers also mention objective of the code, who wrote it, where will it be
required, what it does and how it does, what other resources the code uses, etc.
The technical documentation increases the understanding between various programmers working
on the same code. It enhances re-use capability of the code. It makes debugging easy and
traceable.

There are various automated tools available and some comes with the programming language
itself. For example java comes JavaDoc tool to generate technical documentation of code.

•User documentation - This documentation is different from all the above explained. All
previous documentations are maintained to provide information about the software and its
development process. But user documentation explains how the software product should work
and how it should be used to get the desired results.

These documentations may include, software installation procedures, how-to guides, user-guides,
uninstallation method and special references to get more information like license updation etc.

Software Implementation Challenges

There are some challenges faced by the development team while implementing the
software. Some of them are mentioned below:

•Code-reuse - Programming interfaces of present-day languages are very sophisticated and are
equipped huge library functions. Still, to bring the cost down of end product, the organization
management prefers to re-use the code, which was created earlier for some other software. There
are huge issues faced by programmers for compatibility checks and deciding how much code to
re-use.

•Version Management - Every time a new software is issued to the customer, developers have to
maintain version and configuration related documentation. This documentation needs to be
highly accurate and available on time.

•Target-Host - The software program, which is being developed in the organization, needs to be
designed for host machines at the customers end. But at times, it is impossible to design a
software that works on the target machines. 
4.5 System Maintanence :

A common perception of maintenance is that it merely involves fixing defects. However,


one study indicated that over 80% of maintenance effort is used for non-corrective actions. This
perception is perpetuated by users submitting problem reports that in reality are functionality
enhancements to the system. More recent studies put the bug-fixing proportion closer to 21%.

An integral part of software is the maintenance one, which requires an accurate


maintenance plan to be prepared during the software development. It should specify how users
will request modifications or report problems. The budget should include resource and cost
estimates. A new decision should be addressed for the developing of every new system feature
and its quality objectives. The software maintenance, which can last for 5–6 years (or even
decades) after the development process, calls for an effective plan which can address the scope
of software maintenance, the tailoring of the post delivery/deployment process, the designation
of who will provide maintenance, and an estimate of the life-cycle costs.
5.CONCLUSION

This research work addressed Students’ grievance management system at in institute, It was
affirmed in this study that organizational complaints are inevitable. A grievance management
system like Institute use to receive various complaints from students. Complaints lodged range
from Academic, Administrative, social and other issues relating to the student. This platform
allows for complaints to be lodged remotely by students with issues relating to their registration,
examination, examination result, computation of their Grade Point Average (GPA) and hall of
residence complaints and thereby enhances the response time for the appropriate unit to resolve
the addressed complaints
BIBLIOGRAPHY

Books Referred:

1. Luke Willing, Laura Thomson, PHP and MySQL Web Development, 1 st Edition, March
2001.
2. Matt Zandstra, Teach Urself PHP in 24 Hours, 1st Edition, June 2000.

Websites Referred:

3. For JQuery, http://jquery.com/

4. For Ajax, http://www.w3schools.com/ajax/default.asp

5. For CSS, http://www.w3schools.com/css/default.asp

6. For PHP, http://www.w3schools.com/php/default.asp

7. For Javascript, http://www.w3schools.com/js/default.asp

8. For MySQL, http://www.w3schools.com/php/php_mysql_intro.asp


APPENDICES

A.DATA FLOW DIAGRAM :

A data flow diagram (DFD) is a graphical tool used to describe and analyze
the movement of data through a system by depicting the flow of data, storage
of data, source or destination of data and the processes that respond to change
in data. The DFD is one of the most important tools used by the system
analysts to model system components, namely

- System Process

- Data Store

- The information flows in the system

- Any external entities that interact with the system (source or


destination of the data)

STUDENT

COLLEGE WORD FORM


STUDENT DETAILS
STAFF

HEAD OF THE
DEPARTMENT
No Registration

student

Login
Student registration

yes

Feedback for staff Student feedback


Homepage

Sgrevances

Feedback about Grievances


Alumni details for student

salumni

Grievances Student Alumni Form


No

staff

Login
Staff

yes
View feedback report
Staff Home Page

Student Attendance

Attendance

Student Feedback
Report
View Attendance report

attendance

Attendance Report
No hod

Login
HOD

sfeedback
Yes

View Student Feedback


Student Feedback

salumni

View Alumni Report


Alumni Form

Home Page

sgrievances

attendance View Grievances


Student Grievances
View Attendance

ptaform

Attendance Report
View PTA report
PTA Form
B. TABLE STRUCTURE

3TABLE DESIGN
C. SAMPLE CODING

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Students Page</title>

<link href="file:///D|/New folder (2)/project/alumnistyle.css" rel="stylesheet" type="text/css" />

</head>

<body>

<!-- wrap starts here -->

<div id="wrap">

<div id="header"><div id="header-content">

<center><h1 id="logo"><a
href="../../../Users/welcome/Desktop/Aaa/others/php/index.php" title="">CMS College of
Science & Commerce<span class="gray"></span></a></h1></center>

<h2 id="slogan"><center>School of Computer Science</center></h2>


</div>

</div>

<p align="right">

You Logged in as

<font color="#FF0000" size="+3">

<?php

session_start();

echo $_SESSION['uname'];

if(!@session_is_registered('uname')){

header("location:list.php");

session_destroy();

?>!</font>

<a href="login.php">

<button name="logout" width="5" height="5" id="image">

<img src="logout.jpg" width="77" height="30"></button>

</a>

</p><hr /><hr />

<h1 align="center"><font size="+3">Alumini Association</font></h1>

<h2 align="center">Membership Form</h2><hr />


<form class="f1" action="insalumni.php" method="POST" name="form1">

<center> <p>Photo:</p><input type="file" name="photo" /></center><br />

<center>

<table border="1">

<tr>

<th width="258" height="50"><p>Name of the candidate:</p></th>

<td><input type="text" name="namec" required></td>

</tr>

<tr>

<th height="40"> <p> Course of study:</p></th>

<td><select name="course" required>

<option value="">--please select--</option>

<option value="mscss">M.Sc SS</option>

<option value="msccs">M.Sc CS</option>

<option value="mscit">M.Sc IT</option>

<option value="mca">MCA</option>

<option value="bsccs">B.Sc CS</option>

<option value="bscit">B.Sc IT</option>

<option value="bscct">B.SC CT</option>

<option value="bca">BCA</option>

</select></td>

</tr>

<tr>

<th height="55"> <p>Year: From: </p></th>

<td><input type="date" name="fdate" required>


<tr>

<th height="55"> <p>To: </p></th>

<td><input type="date" name="tdate" required>

</table></center>

<u><h2 align="center">EMPLOYMENT DETAILS</h2></u>

<center>

<table border="1">

<tr>

<th width="368"><p>Name and address of the establishment:</p></th>

<td width="283"><textarea name="empdtl" cols="45" rows="10" required>

</textarea></td>

</tr>

<tr>

<th><p>Permanent Address:</p></th>

<td><textarea name="addrs" cols="45" rows="10" required>

</textarea></td>

</tr>

<tr>

<th><p>Phone-No (res):</p></th>

<td><input type="text" name="phoneresi" /></td>

</tr>
<tr>

<th><p>Phone-No (office):</p></th>

<td><input type="text" name="phoneoff" /></td>

</tr>

<tr>

<th><p>Mobile-No:</p></th>

<td><input type="text" name="mobile" required /></td>

</tr>

<tr>

<th><p>Email-Id:</p></th>

<td><input type="email" name="mail" id="email" required/></td>

</tr>

<tr>

<th><p>Any other information:</p></th>

<td><textarea name="infrmtn" cols="45" rows="10" required>

</textarea></td>

</tr>

</table></center><br /><br />

<center> <p>DIRECTOR:<input type="text" name="hod" required/></p></center>

<center><input type="submit" name="next"><tt>

<input type="reset" value="Clear" /> </center>


<center>

<h2>BACK TO LIST<a href="list.php"><img src="left.jpg" width="30"


height="33"/></a></h2></center>

</form>

</div>

</body>

</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Staff Section</title>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<link href="../../../wamp/www/project/attendstyle.css" rel="stylesheet" type="text/css" />

</head>

<body>

<!-- end of left content -->

<center> <font size="21" face="times new roman"


color="#F81014">ATTENDANCE</font></center><hr />

<center> <div class="form_row">


<label class="attendance"><strong>Date:</strong></label><tt><tt><tt><tt>

<input type="date" name="date" />

</div></center>

<form role="form" method="post">

<center><div class="form_row">

<label class="attendance"><strong>Day Order:</strong></label><select name='getday'>

<option value="1" name='day1'>1</option>

<option value="2" name='day2'>2</option>

<option value="3" name='day3'>3</option>

<option value="4" name='day4'>4</option>

<option value="5" name='day5'>5</option>

<option value="6" name='day6'>6</option>

</select>

</div></center>

<center> <div class="form_row">

<label class="attendance"><strong>Select Hour: </strong></label>

<select name='gethour'>

<option value="a">1</option>

<option value="b">2</option>

<option value="c">3</option>

<option value="d">4</option>

<option value="e">5</option>

</select>

</div></center><br />
<center><table border="1" width="627" align="center" class="gridtable">

<tr>

<th width="37" height="34">1</th>

<th width="37">2</th>

<th width="37">3</th>

<th width="37">4</th>

<th width="37">5</th>

<th width="37">6</th>

<th width="37">7</th>

<th width="37">8</th>

<th width="37">9</th>

<th width="37">10</th>

<th width="37">11</th>

<th width="37">12</th>

<th width="37">13</th>

<th width="37">14</th>

<th width="45">15</th>

</tr>

<tr>

<td height="27"><input type="checkbox" name="checkbox1" id="optionscheck1"


value="1"></td>

<td><input type="checkbox" name="checkbox2" id="optionscheck2" value="2"></td>

<td><input type="checkbox" name="checkbox3" id="optionscheck3" value="3"></td>

<td><input type="checkbox" name="checkbox4" id="optionscheck4" value="4"></td>

<td><input type="checkbox" name="checkbox5" id="optionscheck5" value="5"></td>


<td><input type="checkbox" name="checkbox6" id="optionscheck6" value="6"></td>

<td><input type="checkbox" name="checkbox7" id="optionscheck7" value="7"></td>

<td><input type="checkbox" name="checkbox8" id="optionscheck8" value="8"></td>

<td><input type="checkbox" name="gender" id="optionscheck9" value="9"></td>

<td><input type="checkbox" name="gender" id="optionscheck10" value="10"></td>

<td><input type="checkbox" name="gender" id="optionscheck11" value="11"></td>

<td><input type="checkbox" name="gender" id="optionscheck12" value="12"></td>

<td><input type="checkbox" name="gender" id="optionscheck13" value="13"></td>

<td><input type="checkbox" name="gender" id="optionscheck14" value="14"></td>

<td><input type="checkbox" name="gender" id="optionscheck15" value="15"></td>

</tr>

<tr>

<th>16</th>

<th>17</th>

<th>18</th>

<th>19</th>

<th>20</th>

<th>21</th>

<th>22</th>

<th>23</th>

<th>24</th>

<th>25</th>

<th>26</th>

<th>27</th>

<th>28</th>
<th>29</th>

<th>30</th>

</tr>

<tr>

<td height="32"><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

</tr>

<tr>

<th>31</th>

<th>32</th>

<th>33</th>

<th>34</th>
<th>35</th>

<th>36</th>

<th>37</th>

<th>38</th>

<th>39</th>

<th>40</th>

<th>41</th>

<th>42</th>

<th>43</th>

<th>44</th>

<th>45</th>

</tr>

<tr>

<td height="33"><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>
<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

</tr>

<tr>

<th>46</th>

<th>47</th>

<th>48</th>

<th>49</th>

<th>50</th>

<th>51</th>

<th>52</th>

<th>53</th>

<th>54</th>

<th>55</th>

<th>56</th>

<th>57</th>

<th>58</th>

<th>59</th>

<th>60</th>

</tr>

<tr>

<td height="36"><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>
<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

<td><input type="checkbox"></td>

</tr>

</table><br /></center>

<center><font color="red" >please tick the absentee</font><br /></center>

<center> <font size="4" face="times new roman">NAME OF THE STAFF:</font>

<select name="staff">

<option value="">--please select--</option>

<option value="Rajkumar">Mr. B.Rajkumar</option>

<option value="Stella Mary">Ms. P.Stella Mary</option>

<option value="Manokaran">Mr. C.N.Manokaran</option>

<option value="Kalaivani">Ms D.Kalaivani</option>

<option value="Rose Margaret">Ms. M.Rose Margaret</option>

<option value="Chitraa">Ms. V.Chitraa</option>

<option value="Sumithra">Ms. R.Sumithra</option>


<option value="Sujatha">Ms. V.Sujatha</option>

<option value="Swornambiga">Ms. S.P.Swornambiga</option>

<option value="Sunitha">Ms. R.Sunitha</option>

<option value="Pavithira Loganathan">Ms. Pavithira Loganathan

</option>

<option value="Uma">Ms. S. Uma</option>

<option value="Ranjitha">Ms. S.Ranjitha</option>

<option value="Nithya Rani">Ms. A.Nithya Rani</option>

<option value="Shanmuga Priya">Ms. B.Shanmuga Priya</option>

<option value="Sasikala Devi">Ms. S.Sasikala Devi</option>

<option value="Radha Damodharam">Ms. Radha Damodharam</option>

<option value="Kannan">Mr. K. Kannan</option>

<option value="Bhuvaneswari">Ms. M.Bhuvaneswari</option>

<option value="Karthik">Mr. R.S. Karthik</option>

<option value="Mr. P.Madhu">Mr. P.Madhu</option>

<option value="Divya">Ms.P.Divya</option>

<option value="Nagarajan">Mr. M.Nagarajan</option>

<option value="Karuppusamy">Mr. B.Karuppusamy</option>

<option value="Saradha">Ms C.S. Saradha</option>

<option value="Gunalan">Mr. B.Gunalan</option>

<option value="Sarasvathi">Mrs. V. Sarasvathi</option>

<option value="Rajnikanth">Mr. N.Rajnikanth</option>

<option value="Radha">Ms. Radha</option>

<option value="Josephine Stella">Ms.Josephine Stella</option>

</select></center><br /><br />


<center>

<button name='insert' type="submit" class="contact">

<p>Submit</p>

</button>

</center>

<div class="bottom_prod_box_big"></div>

<!-- end of center content -->

<!-- begin of php content -->

<?php

if(isset($_POST['insert']))

$day = $_POST['getday'];

$hour = $_POST['gethour'];

$dayhour = $day.$hour;

$uname1=$_SESSION['uname'];

$dayqry = "SELECT * FROM staff where uname='$uname1'";

$dayordr=mysql_query($dayqry) or die("Query1 Failed : ".mysql_error());

if($dayhour=='1a')

while($rows=mysql_fetch_array($dayordr))

$dh= $rows['1a'];

$yr= $rows['1ay'];

}
}

if($dayhour=='1b')

while($rows=mysql_fetch_array($dayordr))

$dh= $rows['1b'];

$yr= $rows['1by'];

if($dayhour=='1c')

while($rows=mysql_fetch_array($dayordr))

$dh= $rows['1c'];

$yr= $rows['1cy'];

if($dayhour=='1d')

while($rows=mysql_fetch_array($dayordr))

$dh= $rows['1d'];

$yr= $rows['1dy'];

}
if($dayhour=='1e')

while($rows=mysql_fetch_array($dayordr))

$dh= $rows['1e'];

$yr= $rows['1ey'];

if($dayhour=='2a')

while($rows=mysql_fetch_array($dayordr))

$dh= $rows['2a'];

$yr= $rows['2ay'];

//Rollno1

if(isset($_POST['checkbox1']) == 'yes')

$rno = $_POST['checkbox1'];

$query1 = "SELECT * FROM student where course='$dh' and year='$yr' and


rno='$rno'";

$result1=mysql_query($query1) or die("Query1 Failed : ".mysql_error());

while($rows=mysql_fetch_array($result1))
{

$temp1= $rows['attendance'];

$at1= $temp1 + 1;

$query = "UPDATE student set attendance='$at1' where course='$dh' and


year='$yr' and rno='$rno'";

$result=mysql_query($query) or die("Query Failed : ".mysql_error());

mysql_close($connect_mysql);

else

//End OF Rollno1

?>

<!-- e9nd of main content -->

<div class="footer">

<div class="right_footer"><!-- end of main_container --></div>

</div>

<script>

function myFunction() {

var person = prompt("Please details", "typew content here");

var person = prompt("Please details", "typew content here");

if (person != null) {

document.getElementById("demo").innerHTML =
"Hello " + person + "! How are you today?";

</script>

</body>

</html>
D. SAMPLE INPUT
E. SAMPLE OUTPUT
F. REPORTS

You might also like