scholarship information system documentation
Post on 15-Jul-2015
178 Views
Preview:
TRANSCRIPT
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
1
INTRODUCTION
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
2
1. INTRODUCTION
This project is developed for scholarship departments of group of colleges. Though via
media systems are very popular, majority of students are not aware of various schemes of
scholarships applicable to them. To have a general awareness it will be more convenient if each and
every educational institution take active participation in the implementation of various scholarships
schemes under their supervision. At the time of giving application the scholarship officer can add
data with regards to the student’s parent’s income, caste, merit etc concerned with scholarships.
Institutions once can very well sort out eligible students for various types of scholarships. The
campus information system here developing will help to get up-to-date information of a student
regarding his both academic and non-academic activities. It will be an inducement to improve the
quality of study and thereby attaining high standards.
1.1. Purpose:
The project “Scholarship Information System” is a software package developed for
managing student’s scholarship details, branch details and college details. The software is very
helpful to find the eligible candidates from different colleges. The project finds the eligible
candidates from students list on the basis of marks, caste, sports and income.
1.2. Goals:
Goal or aim of our project is to automate the scholarship departments by assigning
scholarship officer to every college. Students can upload various scholarship related documents.
1.3. Features:
Through the system we can easily maintain the data without any loss or damage.
By using this system time consumption will be reduced.
By using this website students can easily know about the information of scholarship
details.
Scholarship Officer can easily check the eligible criteria of each and every student.
He can easily generate the record of students who are eligible for the scholarship.
Admin monitor group of colleges by assigning a scholarship officer to every college.
Scholarship Officer maintains the each and every student details.
Scholarship Officer sends mail to eligible students about the scholarship.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
3
SYSTEM ANALYSIS
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
4
2. SYSTEM ANALYSIS
System analysis is an important activity that takes place when we attempt to build a new
system or when modifying existing ones. In this phase the problems in the existing system are
thoroughly studied and the new system is proposed which rectifies the errors persisted in the current
system. The problems are analyzed from different point of view.
Analysis is the final stage before starting the designing of a project and hence, all the required
modification should be done at this stage. Then the specification to meet the proposed system is to be
produced after the analysis stage that the project persons will use it for further proceedings.
System Analysis then is the process of gathering and interpreting facts, diagnosing problems
and using the information to recommend improvements to the system. Before development of any
project can be pursued, a system study is conducted to learn the details of the current business
situation. Information gathered through the study, forms the basis for creating alternative design
strategies. Management selects the strategy to pursue.
System Analysis is about understanding situations. Effective analysis includes investigation
and questioning to learn how a system currently operates and to identify the requirements for a new
or modified one. For the development of any good project proper analysis of the existing system is a
pre-requisite. The existing system is studied to know the extent of computerization required.
Therefore, a detailed analysis of the existing system should be conducted. For this purpose, system
should be broken down into various subsystems and these subsystems were analyzed closely to
identify the problem areas.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
5
2.1 EXISTING SYSTEM:
At present the college maintains manual records, in the form of registers, files, etc. to store the
scholarship details of the students. New scholarships to be issued, involves heavy paper work. It also
leads to data redundancy. The analysis part includes a detailed study of the existing system.
Limitations
Time delay
Redundancy
Accuracy
Information Retrieval
Storage Media
All these are rectified in the proposed system. Much emphasis is given upon the process of
customer servicing
2.2 PROPOSED SYSTEM:
The proposed computerization is developed using MySQL as back end and the most powerful
C# as front end for the student and college who want to know his student’s scholarship details.
The proposed system has two major benefits. Once the existing system is automated all the
drawbacks of the present system can be overcome. Many modifications can be made to make the
atmosphere and extractions of data for generating a variety of reports are the factors, which form the
basis of development of the proposed system.
In brief, the proposed system will be as follows:
The details about the scholarship information’s are showed.
A set of user screens will be provided for data entries and these data will be effectively stored
in back end tables.
Records can be retrieved when needed.
Relevant details pertaining to students and college willing to know his details can do so by
accessing by the user.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
6
2.3 SCOPE:
The scope of the project is that it can be used by any college to automate the scholarship
departments. Anyone having the access to the internet can access the application and can perform the
operations.
2.4 Over all description:
In our application we have three modules.
1. Masters/Admin
2. Scholarship Officer
3. Student
1. Masters/Admin: All scholarship departments are controlled by admin by assigning a scholarship
officer for every college.
Functionality:
College Details: This page stores the information about the various colleges. By this page the
admin can directly add/edit the college details.
Scholarship Officer: This page stores the information about all the colleges Scholarship
Officers. By this page the admin can directly add/block the Scholarship Officer and also
generates user name and password to every Scholarship Officer.
2. Scholarship Officer: This module stores all the types of scholarships, and the list of all the
students who have applied for scholarship. Scholarships are applied by the college on behalf of the
students, which are sanctioned by the Government and trusts. Each and every student scholarship
details are monitored by scholarship officer.
Functionality:
Student: This page stores the information about all the students like caste, marks, father
annual income, mail id and address etc.. By this page the Scholarship Officer can directly
add/block the students and also generates user name and password to every student.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
7
Scholarships: This page stores the information about all the types of scholarships. By this
page the Scholarship Officer can directly add the scholarships, edit the scholarships, send the
scholarships to eligible students,
Accept or reject scholarship for students and also view the eligible students list
Feedback: This page stores the feedback from all students. By this page the Scholarship
Officer can view feedback which is sent by the students and also send reply to those
feedbacks.
3. Student: This module deals with the issue of scholarship to the students. It stores all the
functionalities regarding the scholarship done by the student.
Functionality:
Scholarship: This page stores the information about the scholarship. . By this page the student
can view whether the scholarship is granted for him or not and it also gives the status of the
scholarship whether the scholarship is sanctioned or not.
Feedback: By this page student can send the feedback to scholarship officer and view the
reply which is sent by the scholarship officer.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
8
SYSTEM STUDY
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
9
3. SYSTEM STUDY
3.1 FEASIBILITY STUDY
The main objective of feasibility study is to test the technical, social and economic feasibility
of developing a system. This is done before developing a system. This is done by investigating the
existing system in the area under investigation and generating ideas about the new system.
TECHNICAL FEASIBILITY
The system must be evaluated from the technical view point first. The assessment of this
feasibility must be based on an outline design of the system requirement in terms of input, output,
programs, procedure and staff. Having identified the outline of the system, the investigation must go
on to suggest the type of equipment, required method of developing the system, and the method of
running the system.
Technologies used: C#, SQL server
ECONOMIC FEASIBILITY
This developing system must be justified by cost and benefit criteria to ensure that effort is
concentrated on project which will give best return at the earliest. One of the factors which affect the
development of a new system is the cost it would require. Since the system is developed as a part of
our study, there is no manual cost to be spent for the proposed system.
OPERATIONAL FEASIBILITY
Proposed project would be beneficial only if they can be turned into information system
that’ll meet the organization operating requirements. One of the main problems faced during the
development of a new system is getting acceptance from user. Being general purpose software there
are no resistance from the users because this will be more beneficial to the users while surfing web
sites which contains thousands of pages.
Behavioral Feasibility
This project has been implement by using .NET and it satisfies all
conditions and norms of the organization and the users. This proposed system “Scholarship
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
10
Information System" Application has much behavioral feasibility because of this the people get
relaxed.
Time Feasibility
Based on the client's time limitations, time feasibility is done. Time feasibility is done
to evaluate the time in which this application can be done. If the project takes much more time
then the dated time, then the time feasibility is not possible. Then future justification and
adjustments are to be made to complete the task before the date of completion. This also include
more than power, equipment ect., because if man power and equipment are adequate then will
take less time to be completed. This can be achieved in this system.
Manpower Feasibility
Based on the task and it's time to be completed, the man power is judged. If the required
man power is not required, then the manpower feasibility is not possible. If the task needs to be
completed in a short time and if it is more complex, then the manpower is required. This can be
achieved by employing more man power. This involves more investment and so this should be
judged during the economical feasibility itself.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
11
4. SYSTEM REQUIREMENTS
SPECIFICATIONS
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
12
4. SYSTEM REQUIREMENTS SPECIFICATION
System requirement give an idea about what are the necessary things that are needed for
the proposed system, which plays a very important role in the development of any system. This
chapter deals with what are hardware components that are needed for the system, application,
software that is required for the development of the system and the functional requirement of the
system. Frontend tools helps to visualize the system, while backend helps in activities which are not
visible to the end user.
4.1 MODULES
This project consists of 3 modules
1. Masters/Admin
2. Scholarship Officer
3. Student
Admin module:
Functionalities:
Adding of college details.
Editing of college details.
Add Scholarship Officer Specific to college.
Set the user name and password to Scholarship Officer.
Block Scholarship Officer.
Scholarship Officer:
Functionalities:
Adding Student details.
Block students
Add Scholarship details and set the criteria for scholarship.
View all students who are fulfilling the scholarship requirement.
Send scholarship details or alerts to the eligible students.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
13
Accept or Reject scholarship for students.
View feedback and send response to the student.
Set the user name and password to Student.
Update Profile.
Student Module:
Functionalities:
The student details are given under this module.
View all scholarship details and eligibility criteria.
Upload scholarship documents.
View scholarship status.
Update profile
Send feedback
View response for feedback
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
14
4.2 SOFTWARE REQUIREMENTS
OPERATING SYSTEM : Windows XP Professional
ENVIRONMENT : Visual Studio .NET 2008
.NET FRAMEWORK : Version 3.5
LANGUAGE : C#.NET
WEB TECHNOLOGY : ASP.NET,HTML
BACKEND : SQL SERVER 2005
4.3 HARDWARE REQUIREMENTS
PROCESSOR : Intel Pentium 4 or more
RAM : 1 GB or more
MONITOR : 15” COLOR
HARD DISK : 40 GB hard disk recommended for
Primary Partition
FLOPPY DRIVE : 1.44 MB
CD DRIVE : LG 52X
KEYBOARD : STANDARD 102 KEYS
MOUSE : 3 BUTTONS
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
15
4.4 FUNCTIONAL REQUIRMENTS
4.4.1 Input/output:
First Admin login into the web application and add new scholarship officer into the
organization, he also block scholarship officer. Scholarship officer login with his id-password and
can add student details, scholarship details, edit scholarship details ,block students, send scholarship
details to eligible students and he can view and reply to students feedback. Student login with his id-
password and can view scholarship details, upload documents, send feedback to scholarship officer
and view response.
4.4.2 Storage Requirements:
All the details of Scholarship Officer, student, college details and scholarship details are
stored in the database and the updating of the data can be done through database (internet).
4.5 NON- FUNCTIONAL REQUIREMENTS
Usability: The system is designed with completely automated process. Hence there is no or less
intervention.
Reliability and Security: The system is more reliable because of the qualities that are inherited from
the chosen platform Dot net. And it provides secure access of confidential data with unique id and
password.
Supportability: The system is designed to be the cross platform supportable .The system is
supported on a wide range of hardware and software platform
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
16
SYSTEM DESIGN
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
17
5. SYSTEM DESIGN
5.1 INTRODUCTION:
Systems design is the process or art of defining the architecture, components, modules,
interfaces, and data for a system to satisfy specified requirements. One could see it as the application
of systems theory to product development. There is some overlap and synergy with the disciplines of
systems analysis, systems architecture and systems engineering.
INPUT DESIGN
The input design is the process of converting the user-oriented inputs in to the computer-
based format. The goal of designing input data is to make the automation as easy and free from
errors as possible. For providing a good input design for the application easy data input and selection
features are adopted. The input design requirements such as user friendliness, consistent format and
interactive dialogue for giving the right message and help for the user at right time are also
considered for the development of the project.
The following points should consider while designing the input;
What data to input?
What medium to use?
How the data should be arranged or coded?
The dialogue to guide users in providing input
Data items and transactions needing validation to detect errors
Methods for performing input validation and steps to follow when errors occur.
In this project all the text boxes are validated. If any field is not filled then it will display the
message “Enter the text box”. The dialogue boxes are used to guide the user while giving inputs. The
list boxes are used to reduce the user inputs.
He will select one of the items in list boxes. Radio buttons are used to select the options. The
following design guidelines will result in a friendly and efficient interface.
Minimize the number of input actions required from user. This can be accomplished by using
the mouse to select from predefined set of inputs. In application the user can select the options by
using the mouse. The user is allowed to choose priority, mode of transport using predefined set of
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
18
values. Maintain consistency between information display and data input. The visual characteristics
of the display (e.g. text size, color etc) should be carried over to the input domain. In this project the
status information are represented by different colors.
Allow the user to customize input. An expert user might decide to create customer commands
or dispense with some types of warning messages and action verification.
OUTPUT DESIGN
When designing output, systems analyst must accomplish the following;
Determine what information to present
Decide whether to display, print the information and select the output medium
Arrange the presentation of information in an acceptable format
Decide how to distribute the output to intended recipient
Accomplishing the general activities listed above will require specific decisions, such as
whether to use preprinted forms when preparing reports and documents, how many line to plan on
printed page, or whether to user graphics and color. The output design is specified on layout forms,
sheets that describe the location characteristics (such as length and type), and format of the column
headings and pagination. As we indicated at the beginning of this discussion, these elements are
analogous to an architect blueprint that shows the location of each component.
5.1.1 SYSTEM ARCHITECTURE
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
19
5.1.2 SOFTWARE ARCHITECTURE
5.1.3 PROCESS MODEL
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
20
In this Process model we using Prototype Model
The Prototyping Model is a systems development method (SDM) in which a
Prototype (an early approximation of a final system or product) is built, tested, and then reworked as
necessary until an acceptable prototype is finally achieved from which the complete system or
product can now be developed. This model works best in scenarios where not all of the project
requirements are known in detail ahead of time. It is an iterative, trial-and-error process that takes
place between the developers and the users.
5.2 UML Design:
The Unified Modeling Language (UML) is a standard language for specifying, visualizing,
constructing, and documenting the artifacts of software systems, as well as for business modeling
and other non-software systems. The UML represents a collection of best engineering practices
that have proven successful in the modeling of large and complex systems. The UML is a very
important part of developing objects oriented software and the software development process.
The UML uses mostly graphical notations to express the design of software projects. Using the
UML helps project teams communicate, explore potential designs, and validate the architectural
design of the software.
Goals of UML
The primary goals in the design of the UML were:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
21
Provide users with a ready-to-use, expressive visual modeling language so they can
develop and exchange meaningful models.
Provide extensibility and specialization mechanisms to extend the core concepts.
Be independent of particular programming languages and development processes.
Provide a formal basis for understanding the modeling language.
Encourage the growth of the OO tools market.
Support higher-level development concepts such as collaborations, frameworks, patterns
and components.
Integrate best practices.
Why we use UML?
As the strategic value of software increases for many companies, the industry looks for techniques
to automate the production of software and to improve quality and reduce cost and time-to-
market. These techniques include component technology, visual programming, patterns and
frameworks. Businesses also seek techniques to manage the complexity of systems as they
increase in scope and scale. In particular, they recognize the need to solve recurring architectural
problems, such as physical distribution, concurrency, replication, security, load balancing and
fault tolerance. Additionally, the development for the World Wide Web, while making some
things simpler, has exacerbated these architectural problems. The Unified Modeling Language
(UML) was designed to respond to these needs.
UML Diagrams
The underlying premise of UML is that no one diagram can capture the different elements of a
system in its entirety. Hence, UML is made up of nine diagrams that can be used to model a
system at different points of time in the software life cycle of a system.
The nine UML diagrams are:
Use case diagram:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
22
The use case diagram is used to identify the primary elements and processes that form the
system. The primary elements are termed as "actors" and the processes are called "use cases."
The use case diagram shows which actors interact with each use case
Admin:
Scholarship Officer:
Login
Add college
Add scholarship
Block scholarship
Admin
Edit College
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
23
Student:
View Feedback
Send alerts to Eligible Students
Block student
Add student
Send response
Check for eligible students
Scholarship
Officer
Add Scholarship
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
24
Class diagram:
Upload documents
View status
Send Feedback
View response
Student
View scholarship details
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
25
The class diagram is used to refine the use case diagram and define a detailed design of the
system. The class diagram classifies the actors defined in the use case diagram into a set of
interrelated classes. The relationship or association between the classes can be either an "is-a" or
"has-a" relationship. Each class in the class diagram may be capable of providing certain
functionalities. These functionalities provided by the class are termed "methods" of the class.
Apart from this, each class may have certain "attributes" that uniquely identify the class.
Object diagram:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
26
The object diagram is a special kind of class diagram. An object is an instance of a class. This
essentially means that an object represents the state of a class at a given point of time while the
system is running. The object diagram captures the state of different classes in the system and
their relationships or associations at a given point of time.
State diagram:
A state diagram, as the name suggests, represents the different states that objects in the system
undergo during their life cycle. Objects in the system change states in response to events. In
addition to this, a state diagram also captures the transition of the object's state from an initial
state to a final state in response to events affecting the system.
Admin:
Scholarship Officer:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
27
Student:
Activity diagram:
Login Student
home
Send feedback/view
responseupload documents/view
status
Logout
Validate
ScholarshipFeedback
Initial state
Login Scholarship Of f icer home
Send f eedback/v iew response Sendscholarship,
Add/Edit scholarship
Logout
Validate
Scholarship Feedback
Initial state
Add/Edit student details
Student
Logout
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
28
The process flows in the system are captured in the activity diagram. Similar to a state diagram,
an activity diagram also consists of activities, actions, transitions, initial and final states, and
guard conditions.
Admin:
Scholarship Officer:
Login
Validate
Admin
home
Add college
details
Edit college
details
Add scholarship
officer
Block scholarship
officer
Logout
Initial state
IfNo
Yes
Final state
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
29
Student:
Login
Validate
Scholarship
Officer home
View
feedbackAdd
student
Block
student
Add/Edit
studentsView
scholarship
Send
scholarship
View eligible
students
Send
response
IfNo
Yes
Logout
Intial state
Final state
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
30
Sequence diagram:
Login
Validate
Student
home
View
status
Response
feedback
View
scholarshipSend
feedback
Logout
Initaial state
If
No
Yes
Final state
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
31
A sequence diagram represents the interaction between different objects in the system. The important
aspect of a sequence diagram is that it is time-ordered. This means that the exact sequence of the
interactions between the objects is represented step by step. Different objects in the sequence
diagram interact with each other by passing "messages".
Admin:
Scholarship Officer:
Admin Application Database
Send Request
1:Request for login
verify request
If invalid user
Show message
If valid user
Show home page
Insert college details
Send college details
Insert data
Show message
Add so details
Send so details
Insert data
If success
Show message
Block so details
Send so details
Update data
If success
Show message
Logout
Logout
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
32
Student:
Scholarship
Officer
Application Database
Request for login
Send request
If invalid user
Show message
Insert student details
Send student details
Insert data
If success
Show message
Block student details
Send details
Send data
Insert/Edit scholarship details
Send scholarship details
Insert data
Request for viewing scholarship
Send request
Send data
Send data
Display result
Request for eligible students
Send request
Send data
Send data
Display eligible students list
Request for feedback
Send request
Send data
Send data
View feedback
Send response
Send data
Insert data
Logout
Logout
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
33
Collaboration diagram:
Student Application Database
Request login
Sent request
If valid user
Show message
If invalid user
Show Home page
Request for display scholar
Sent request
Sent data
Sent data
Show data
Insert documents
Send scholarship documents
Insert data
Required for view status
Send request
Send data
Sent required data
Shw status
Request for login
Sent request
Sent data
Sent data
Show conformation
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
34
A collaboration diagram groups together the interactions between different objects. The
interactions are listed as numbered interactions that help to trace the sequence of the interactions.
The collaboration diagram helps to identify all the possible interactions that each object has with
other objects.
Component diagram:
The component diagram represents the high-level parts that make up the system. This diagram
depicts, at a high level, what components form part of the system and how they are interrelated. A
component diagram depicts the components culled after the system has undergone the
development or construction phase.
Deployment diagram:
User
interfaceSql
server
Ado.net
System.Data.SqlClient
System.Web.UI.HtmlControls
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
35
The deployment diagram captures the configuration of the runtime elements of the application.
This diagram is by far most useful when a system is built and ready to be deployed.
Development tools Web hostingInternet
Web server(IIS)Application
InternetModem 1
User1
User2
User3
Modem2
User1
User2
User3
MOdem 3
User3
User2
User1
Now that we have an idea of the different UML diagrams, let us see if we can somehow group
together these diagrams to enable us to further understand how to use them.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
36
UML Diagram Classification—Static, Dynamic, and Implementation
A software system can be said to have two distinct characteristics: a structural, "static" part and a
behavioral, "dynamic" part. In addition to these two characteristics, an additional characteristic that a
software system possesses is related to implementation. Before we categorize UML diagrams into
each of these three characteristics, let us take a quick look at exactly what these characteristics are.
Static:
The static characteristic of a system is essentially the structural aspect of the system. The
static characteristics define what parts the system is made up of.
Dynamic:
The behavioral features of a system; for example, the ways a system behaves in response to
certain events or actions are the dynamic characteristics of a system.
Implementation:
The implementation characteristic of a system is an entirely new feature that describes the
different elements required for deploying a system.
The UML diagrams that fall under each of these categories are:
Static
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
37
Use case diagram
Class diagram
Dynamic
Object diagram
State diagram
Activity diagram
Sequence diagram
Collaboration diagram
Implementation
Component diagram
Deployment diagram
Finally, let us take a look at the 4+1 view of UML diagrams.
Views of UML Diagrams
Considering that the UML diagrams can be used in different stages in the life cycle of a system, let
us take a look at the "4+1 view" of UML diagrams. The 4+1 view offers a different perspective to
classify and apply UML diagrams. The 4+1 view is essentially how a system can be viewed from a
software life cycle perspective. Each of these views represents how a system can be modeled. This
will enable us to understand where exactly the UML diagrams fit in and their applicability.
The different views are:
Design View:
The design view of a system is the structural view of the system. This gives an idea of what a
given system is made up of. Class diagrams and object diagrams form the design view of the
system.
Process View:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
38
The dynamic behavior of a system can be seen using the process view. The different diagrams
such as the state diagram, activity diagram, sequence diagram, and collaboration diagram are
used in this view.
Component View:
Component view shows the grouped modules of a given system modeled using the component
diagram.
Deployment View:
The deployment diagram of UML is used to identify the deployment modules for a given
system.
Use case View:
Finally, we have the use case view. Use case diagrams of UML are used to view a system from
this perspective as a set of discrete activities or transactions.
5.3 Database Design:
A database is a collection of interrelated data stored with minimum redundancy to serve
many users quickly and efficiently. The general objective of database design is to make the data
access easy, inexpensive and flexible to the user.
Database design is used to define and then specify the structure of business used in the
client/server system. A business object is nothing but information that is visible to the users of the
system. The database must be normalized one.
Database Design is one of the important part in developing software. It is a process of
developing the conceptual model of data. It minimizes the artificiality embedded in using separate
files. It is a definition of the entire information content of the organization and it specifies a
relationship between the data.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
39
Controlled Redundancy
Data independence
Accurate and integrating
More information at low cost
Recovery from failure
Privacy and security
Performance
Ease of learning and use
Normalization:
Normalization is the process of strutting relational database schema such that most
ambiguity is removed. The stage of normalization are referred to as forms and progress from the
least restrictive(first normal form)through the most restrictive(Fifth normal form), generally , most
database designers do not attempt to implement anything higher than normal form of Boyce code
Normal Form.
FIRST NORMAL FORM:
A relation is said to be in First normal form (INF) if and each attributed of the relation is
atomic. More simply, to be INF, each column must contain only a single value and each now contain
in the same column.
SECOND NORMAL FORM:
In the Second normal Form, a relation must first fulfill the requirement to be in first Normal
Form. Additional, each donkey attribute in the relation must be functionality dependent upon the
primary key.
THIRD NORMAL FORM:
A table is said to be in third normal form and every non key attribute is functionality
dependent only on the primary key. This normalization process is applied to this system and the
normalized tables are given in the above section.
ER DIAGRAM
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
40
An ER model is an abstract way to describe a database. Describing a database usually starts
with a relational database, which stores data in tables. Some of the data in these tables point to data
in other tables - for instance, your entry in the database could point to several entries for each of the
phone numbers that are yours. The ER model would say that you are an entity, and each phone
number is an entity, and the relationship between you and the phone numbers is 'has a phone
number'. Diagrams created to design these entities and relationships are called entity–relationship
diagrams or ER diagrams.
Entity Relationships are three kinds:
1. One-One
2. One-Many
3. Many-Many
One-to-one:
One instance of an entity (A) is associated with one other instance of another entity (B). For
example, in a database of employees, each employee name (A) is associated with only one social
security number (B).
One-to-many:
One instance of an entity (A) is associated with zero, one or many instances of another entity
(B), but for one instance of entity B there is only one instance of entity A. For example, for a
company with all employees working in one building, the building name (A) is associated with many
different employees (B), but those employees all share the same singular association with entity A.
many-to-many:
One instance of an entity (A) is associated with one, zero or many instances of another entity
(B), and one instance of entity B is associated with one, zero or many instances of entity A. For
example, for a company in which all of its employees work on multiple projects, each instance of an
employee (A) is associated with many instances of a project (B), and at the same time, each instance
of a project (B) has multiple employees (A) associated with it.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
41
5.3.1 Data Dictionary:
tbl_branchBid
Bname
Did
tbl_college_SOsoid
sname
uname
clgName
pwd
clgId
mobileno
mailid
isActive
photo
msgid
tbl_collegedetailsclgId
clgName
city
address
contactno
principal
tbl_dept
Did
dname
tbl_feedbackmsgid
soid
sid
Did
Bid
yrid
fbk
response
responsests
tbl_scholarship_confirmationscn
soid
sid
schid
amountissued
dop
dor
receive
isActive
tbl_scholarship_detailsschid
stitle
college
minsscmarksSC_ST
minintermarksSC_ST
minBtechmarksSC_ST
minsscmarksBC
minintermarksBC
minbtechmarksBC
minsscmarksOC
minintermarksOC
minbtechmarksOC
casteSC_ST
casteBC
casteOC
amountSC_ST
amountBC
amountOC
dateofpost
soa
eoa
dr
MaxScholarships
MaxAmount
MaxBackLogs
FatherAnnualIncome
PhysicallyChallenged
caste
tbl_student_docssdid
schid
sid
sscdoc
interdoc
btechdoc
incomedoc
castdoc
upld
tbl_studentDetailssid
soid
schid
srollno
sname
uname
pwd
Did
Bid
yrid
gender
mobileno
mailid
isActive
SSCmarks
intermarks
B_techmarks
BackLogs
city
fname
mname
city1
address
fmobileno
fmailid
PhysicallyChallenged
FatherAnnualIncome
photo
caste
amount
eligible
tbl_yearsyrid
year
Bid
Did
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
42
Table No::1 Table Name:: tbl_branch
Table No::2 Table Name:: tbl_college_SO
Table No::3 Table Name:: tbl_collegedetails
Table No::4 Table Name:: tbl_dept
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
43
Table No::5 Table Name:: tbl_feedback
Table No::6 Table Name:: tbl_scholarship_confirmation
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
44
Table No::7 Table Name:: tbl_student_docs
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
45
Table No::8 Table Name:: tbl_scholarship_details
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
46
Table No::9 Table Name:: tbl_studentDetails
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
47
Table No::10 Table Name:: tbl_years
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
48
SYSTEM
IMPLEMENTATION
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
49
6. SYSTEM IMPLEMENTATION
INTRODUCTION
To provide flexibility to the users, the interfaces have been developed that are
accessible through a browser. The GUI’S at the top level have been categorized as
1. Administrative user interface
2. The operational or generic user interface
The ‘administrative user interface’ concentrates on the consistent information that is
practically, part of the organizational activities and which needs proper authentication for the data
collection. These interfaces help the administrators with all the transactional states like Data
insertion, Data deletion and Data updating along with the extensive data search capabilities.
The ‘operational or generic user interface’ helps the end users of the system in
transactions through the existing data and required services. The operational user interface also helps
the ordinary users in managing their own information in a customized manner as per the included
flexibilities
CODING FOR WEB APPLICATION:
LOGIN.ASPX
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using ClassLibrary1;
public partial class Login : System.Web.UI.Page
{
SqlConnection con = new SqlConnection("Data
Source=IBM014\\SQLEXPRESS;database=scholar;Integrated Security=true");
protected void Page_Load(object sender, EventArgs e)
{
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
50
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Visible = true;
if (DropDownList1.SelectedItem.Text == "admin")
{
if (TextBox1.Text == "admin" && TextBox2.Text == "admin")
{
Response.Redirect("adminprofile.aspx");
}
else
{
Label1.Text = "invalid user";
}
}
if (DropDownList1.SelectedItem.Text == "so")
{
string pwd= ClassLibrary1.Class1.AESenc(TextBox2.Text);
SqlDataAdapter sda1 = new SqlDataAdapter("select *from tbl_college_SO
Where uname='" + TextBox1.Text + "' And pwd='" + pwd + "'", con);
DataSet ds1 = new DataSet();
sda1.Fill(ds1);
if (ds1.Tables[0].Rows.Count > 0)
{
Session["uname2"] = TextBox1.Text;
Response.Redirect("sohome.aspx");
}
else
{
Label1.Text = "invalid user";
}
}
if (DropDownList1.SelectedItem.Text == "student")
{
string pwd = ClassLibrary1.Class1.AESenc(TextBox2.Text);
SqlDataAdapter sda2 = new SqlDataAdapter("select *from
tbl_studentDetails where uname='" + TextBox1.Text + "' And pwd='" + pwd + "'",
con);
DataSet ds2 = new DataSet();
sda2.Fill(ds2);
if (ds2.Tables[0].Rows.Count > 0)
{
Session["uname1"] = TextBox1.Text;
Response.Redirect("stddetailsstd.aspx");
}
else
{
Label1.Text = "invalid user";
}
}
}
protected void Button2_Click(object sender, EventArgs e)
{
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
51
TextBox1.Text = String.Empty;
TextBox2.Text = String.Empty;
}
}
SENDSCSO.ASPX using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class sendscso : System.Web.UI.Page
{
SqlConnection con = new SqlConnection("Data
Source=IBM014\\SQLEXPRESS;database=scholar;Integrated Security=true");
SqlCommand cmd = new SqlCommand();
SqlCommand cmd1 = new SqlCommand();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (!IsPostBack)
{
filldata();
}
}
}
public void filldata()
{
SqlDataAdapter sda = new SqlDataAdapter("select Did,dname from tbl_dept
ORDER BY Did ", con);
DataSet ds = new DataSet();
sda.Fill(ds);
DropDownList1.DataSource = ds;
DropDownList1.DataTextField = "dname";
DropDownList1.DataValueField = "Did";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0, "--Select--");
}
public void filldata1()
{
SqlDataAdapter sda = new SqlDataAdapter("select
tbl_branch.Bid,tbl_branch.Bname,tbl_dept.Did from tbl_branch inner join tbl_dept
on tbl_branch.Did=tbl_dept.Did where tbl_dept.Did=" +
DropDownList1.SelectedItem.Value + " ORDER BY Bid", con);
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
52
DataSet ds = new DataSet();
sda.Fill(ds);
DropDownList2.DataSource = ds;
DropDownList2.DataTextField = "Bname";
DropDownList2.DataValueField = "Bid";
DropDownList2.DataBind();
DropDownList2.Items.Insert(0, "--Select--");
}
public void filldata2()
{
SqlDataAdapter sda = new SqlDataAdapter("select schid,stitle from
tbl_scholarship_details ORDER BY schid", con);
DataSet ds = new DataSet();
sda.Fill(ds);
DropDownList3.DataSource = ds;
DropDownList3.DataTextField = "stitle";
DropDownList3.DataValueField = "schid";
DropDownList3.DataBind();
DropDownList3.Items.Insert(0, "--Select--");
}
protected void Button1_Click(object sender, EventArgs e)
{
int totalamount = 30000;
int staticfatheramount = Convert.ToInt32("30000");
SqlDataAdapter sda = new SqlDataAdapter("SELECT *from
tbl_scholarship_details where schid='" + DropDownList3.SelectedItem.Value + "'",
con);
DataSet ds = new DataSet();
sda.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
int minsscscst =
Convert.ToInt32(ds.Tables[0].Rows[0]["minsscmarksSC_ST"]);
int mininterscst =
Convert.ToInt32(ds.Tables[0].Rows[0]["minintermarksSC_ST"]);
int minbtechscst =
Convert.ToInt32(ds.Tables[0].Rows[0]["minBtechmarksSC_ST"]);
int minsscbc =
Convert.ToInt32(ds.Tables[0].Rows[0]["minsscmarksBC"]);
int mininterbc =
Convert.ToInt32(ds.Tables[0].Rows[0]["minintermarksBC"]);
int minbtechbc =
Convert.ToInt32(ds.Tables[0].Rows[0]["minbtechmarksBC"]);
int minsscoc =
Convert.ToInt32(ds.Tables[0].Rows[0]["minsscmarksOC"]);
int mininteroc =
Convert.ToInt32(ds.Tables[0].Rows[0]["minintermarksOC"]);
int minbtechoc =
Convert.ToInt32(ds.Tables[0].Rows[0]["minbtechmarksOC"]);
int maxbl = Convert.ToInt32(ds.Tables[0].Rows[0]["MaxBackLogs"]);
int amt = Convert.ToInt32(ds.Tables[0].Rows[0]["MaxAmount"]);
SqlDataAdapter sda1 = new SqlDataAdapter("select
dbo.tbl_studentDetails.sid,dbo.tbl_studentDetails.amount,dbo.tbl_studentDetails.S
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
53
SCmarks,dbo.tbl_studentDetails.intermarks,dbo.tbl_studentDetails.B_techmarks,dbo.
tbl_studentDetails.caste,dbo.tbl_studentDetails.PhysicallyChallenged,dbo.tbl_stud
entDetails.FatherAnnualIncome,dbo.tbl_studentDetails.sid,dbo.tbl_studentDetails.B
ackLogs,dbo.tbl_branch.Bname,dbo.tbl_dept.dname from dbo.tbl_studentDetails inner
join dbo.tbl_dept on dbo.tbl_studentDetails.Did=dbo.tbl_dept.Did inner join
dbo.tbl_branch on dbo.tbl_branch.Bid=dbo.tbl_studentDetails.Bid where schid='" +
DropDownList3.SelectedItem.Value + "'", con);
DataSet ds1 = new DataSet();
sda1.Fill(ds1);
int count = ds.Tables[0].Rows.Count;
for (int startno = 0; startno <count; startno++)
{
int SID = Convert.ToInt32(ds1.Tables[0].Rows[0]["sid"]);
int amount1=Convert.ToInt32(ds1.Tables[0].Rows[0]["amount"]);
int SSSCM = Convert.ToInt32(ds1.Tables[0].Rows[0]["SSCmarks"]);
int SINTERM =
Convert.ToInt32(ds1.Tables[0].Rows[0]["intermarks"]);
int SBTECHM =
Convert.ToInt32(ds1.Tables[0].Rows[0]["B_techmarks"]);
String SCASTE = Convert.ToString(ds1.Tables[0].Rows[0]["caste"]);
bool SPHYC =
Convert.ToBoolean(ds1.Tables[0].Rows[0]["PhysicallyChallenged"]);
int SFATHERAI =
Convert.ToInt32(ds1.Tables[0].Rows[0]["FatherAnnualIncome"]);
int STDID = Convert.ToInt32(ds1.Tables[0].Rows[0]["sid"]);
//int SCHDID = Convert.ToInt32(ds.Tables[0].Rows[0]["sid"]);
int SBCKL = Convert.ToInt32(ds1.Tables[0].Rows[0]["BackLogs"]);
//int startamount = 0;
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
cmd1.CommandType = CommandType.Text;
cmd1.Connection = con;
if (con.State == ConnectionState.Open)
con.Close();
con.Open();
cmd.CommandText = "select sum(amount) from tbl_studentDetails
where sid=" + SID + "";
int stdrecamt = Convert.ToInt32(cmd.ExecuteScalar());
if (stdrecamt > 0)
{
if (stdrecamt > totalamount)
{
Label4.Visible = true;
Label4.Text = "Can Not get Scholarship";
}
else
{
Label4.Visible = true;
if (SPHYC==true)
{
cmd1.CommandText = "update tbl_studentDetails set
eligible='true',isActive='true' where sid=" + SID + "";
cmd.CommandText = "insert into
tbl_scholarship_confirmation(sid,schid,dop,dor,isActive,receive,amountissued)valu
es(" + STDID + ",'" + DropDownList3.SelectedItem.Value + "','" +
DateTime.Now.ToShortDateString() + "','" + String.Empty + "','true','false'," +
amount1 + ")";
cmd1.ExecuteNonQuery();
cmd.ExecuteNonQuery();
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
54
Label4.Text = "Posted Successfully";
}
else if (SFATHERAI <= staticfatheramount)
{
cmd1.CommandText = "update tbl_studentDetails set
eligible='true',isActive='true' where sid=" + SID + "";
cmd1.ExecuteNonQuery();
cmd.CommandText = "insert into
tbl_scholarship_confirmation(sid,schid,dop,dor,isActive,receive,amountissued)valu
es(" + STDID + ",'" + DropDownList3.SelectedItem.Value + "','" +
DateTime.Now.ToShortDateString()+ "','" + String.Empty + "','true','false'," +
amount1 + ")";
cmd.ExecuteNonQuery();
Label4.Text = "Posted Successfully";
}
else if (SCASTE == "SC" || SCASTE == "ST")
{
if (SSSCM ==minsscscst && SINTERM ==mininterscst &&
SBTECHM == minbtechscst)
{
cmd1.CommandText = "update tbl_studentDetails set
eligible='true',isActive='true' where sid=" + SID + "";
cmd1.ExecuteNonQuery();
cmd.CommandText = "insert into
tbl_scholarship_confirmation(sid,schid,dop,dor,isActive,receive,amountissued)valu
es(" + STDID + ",'" + DropDownList3.SelectedItem.Value + "','" +
DateTime.Now.ToShortDateString() + "','" + String.Empty + "','true','false'," +
amount1 + ")";
cmd.ExecuteNonQuery();
Label4.Text = "Posted Successfully";
}
}
else if (SCASTE == "BC")
{
if (SSSCM == minsscbc && SINTERM == mininterbc &&
SBTECHM == minbtechbc)
{
cmd1.CommandText = "update tbl_studentDetails set
eligible='true',isActive='true' where sid=" + SID + "";
cmd1.ExecuteNonQuery();
cmd.CommandText = "insert into
tbl_scholarship_confirmation(sid,schid,dop,dor,isActive,receive,amountissued)valu
es(" + STDID + ",'" + DropDownList3.SelectedItem.Value + "','" +
DateTime.Now.ToShortDateString() + "','" + String.Empty + "','true','false'," +
amount1 + ")";
cmd.ExecuteNonQuery();
Label4.Text = "Posted Successfully";
}
}
else if (SCASTE == "OC")
{
if (SSSCM == minsscoc && SINTERM == mininteroc &&
SBTECHM == minbtechoc)
{
cmd1.CommandText = "update tbl_studentDetails set
eligible='true',isActive='true' where sid=" + SID + "";
cmd1.ExecuteNonQuery();
cmd.CommandText = "insert into
tbl_scholarship_confirmation(sid,schid,dop,dor,isActive,receive,amountissued)valu
es(" + STDID + ",'" + DropDownList3.SelectedItem.Value + "','" +
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
55
DateTime.Now.ToShortDateString() + "','" + String.Empty + "','true','false'," +
amount1 + ")";
cmd.ExecuteNonQuery();
Label4.Text = "Posted Successfully";
}
}
}
}
}
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
filldata1();
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
filldata2();
}
}
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
56
SCREEN SHOTS
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
57
7. SCREEN SHOTS
Before Login
This is the main login page where all the users can login to their respected home pages.
The main 3 users are
1. Admin
2. SO(Scholarship Officer)
3. Student
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
58
Admin:
1) This is admin home pages.
2) Admin can add/edit college details.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
59
3) Admin can add/block scholarship officer details.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
60
Scholarship Officer:
1) This is scholarship officer home pages.
2) Scholarship officer can add/block student details.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
61
3) Scholarship officer can add/edit scholarship details.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
62
4) Scholarship officer can view scholarship details.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
63
5) Scholarship officer can send scholarship to eligible students.
6) Scholarship officer can view eligible students.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
64
6) Scholarship officer can send feedback response.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
65
Student:
1) This is student home pages.
2) Student can view scholarship and upload documents.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
66
3) Student can view scholarship Status:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
67
4) Student can Confirm scholarship .
5) Student can send and view feedback.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
68
View feedback:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
69
SYSTEM TESTING
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
70
8. System Testing
8.1 Introduction
Software testing is a critical element of software quality assurance and
represents the ultimate review of specification, design and coding. The increasing visibility of
software as a system element and attendant costs associated with a software failure are
motivating factors for we planned, through testing. Testing is the process of executing a
program with the intent of finding an error. The design of tests for software and other
engineered products can be as challenging as the initial design of the product itself.
There of basically two types of testing approaches.
One is Black-Box testing – the specified function that a product has been
designed to perform, tests can be conducted that demonstrate each function is fully
operated.
The other is White-Box testing – knowing the internal workings of the
product ,tests can be conducted to ensure that the internal operation of the product
performs according to specifications and all internal components have been adequately
exercised.
White box and Black box testing methods have been used to test this
package. All the loop constructs have been tested for their boundary and
intermediate conditions. The test data was designed with a view to check for all
the conditions and logical decisions. Error handling has been taken care of by the use
of exception handlers.
Testing Strategies:
Testing is a set of activities that can be planned in advanced and conducted
systematically. A strategy for software testing must accommodation low-level tests that are
necessary to verify that a small source code segment has been correctly implemented as well
as high- level tests that validate major system functions against customer requirements.
Software testing is one element of verification and validation. Verification refers to
the set of activities that ensure that software correctly implements as specific function.
Validation refers to a different set of activities that ensure that the software that has been built
is traceable to customer requirements.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
71
The objective of software testing to uncover errors. To fulfill this objective, a series
of test steps unit, integration, validation and system tests are planned and executed. Each test
step is accomplished through a series of systematic test technique that assist in the design of
test cases. With each testing step, the level of abstraction with which software is considered
is broadened.
8.2 Testing Methods
Unit Testing:
Unit testing focuses verification effort on the smallest unit of software design – the
module. The unit test is always white box oriented. The tests that occur as part of unit
testing are testing the module interface, examining the local data structures, testing the
boundary conditions, executing all the independent paths and testing error-handling paths.
Integration Testing:
Integration testing is a systematic technique for constructing the program structure
while at the same time conducting tests to uncover errors associated with interfacing. Scope
of testing summarizes the specific functional, performance, and internal design characteristics
that are to be tested. It employs top-down testing and bottom-up testing methods for this
case.
White Box Testing:
The purpose of any security testing method is to ensure the robustness of a system in the face
of malicious attacks or regular software failures. White box testing is performed based on the
knowledge of how the system is implemented. White box testing includes analyzing data
flow, control flow, information flow, coding practices, and exception and error handling
within the system, to test the intended and unintended software behavior. White box testing
can be performed to validate whether code implementation follows intended design, to
validate implemented security functionality, and to uncover exploitable vulnerabilities.
White box testing requires access to the source code. Though white box testing can be
performed any time in the life cycle after the code is developed, it is a good practice to
perform white box testing during the unit testing phase.
White box testing requires knowing what makes software secure or insecure, how to think
like an attacker, and how to use different testing tools and techniques. The first step in white
box testing is to comprehend and analyze source code, so knowing what makes software
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
72
secure is a fundamental requirement. Second, to create tests that exploit software, a tester
must think like an attacker. Third, to perform testing effectively, testers need to know the
different tools and techniques available for white box testing. The three requirements do not
work in isolation, but together.
Black Box Testing:
Also known as functional testing. A software testing technique whereby the internal workings of the
item being tested are not known by the tester. For example, in a black box test on software design the
tester only knows the inputs and what the expected outcomes should be and not how the program
arrives at those outputs. The tester does not ever examine the programming code and does not need
any further knowledge of the program other than its specifications.
The advantages of this type of testing include:
The test is unbiased because the designer and the tester are independent of each other.
The tester does not need knowledge of any specific programming languages.
The test is done from the point of view of the user, not the designer.
Test cases can be designed as soon as the specifications are complete.
System Testing:
System testing validates software once it has been incorporated into a larger system.
Software is incorporated with other system elements and a series of system integration and
validation tests are conducted. System testing is actually a series of different test whose
primary purpose is to fully exercise the computer- based system.
Once the system has been developed it has to be tested. In the present system we
have to take care of valid property and assessment numbers i.e. there should not exist any
duplicate number in each case. Care should be taken that the appropriate data is retrieved in
response to the queries.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
73
8.3 Test Cases
1. Test case for Login:
Test Case 1: Login
Priority(H.L):High
Test Objective: Verifying Login details
Test Description: In this Login page , when the Admin/Scholarship Officer/Student enters his/her user
name and passwords in the Login form and when he/she clicks the Login button, if the data is correct
the Admin/Scholarship Officer/Student redirected to their home pages. If the Admin/Scholarship
Officer/Student enters any invalid data and responds like invalid user.
Requirement Verified: yes
Test Environment: System connected with internet, connected with the database.
Test Set Up/Pre Conditions: Network connection established and User Agent should be running.
Actions Expected Results
1.when the Admin/Scholarship Officer/Student
enters his/her login details in the login form and
when he clicks the login button, and if the details
are valid then it shows a message
2.By leaving all/some of fields as blank and
on click Log-in button then it shows a message
3. .By Entering Wrong details and on click
Log-in button then it shows a message
1. Login success. Redirected to their home pages.
2. Enter Missing field.
3. Invalid user.
Pass: Yes Condition Pass: No Fail: No
Problems/Issues: None
Notes: Successfully Tested And Executed
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
74
2. Test case for Adding Scholarship Officer Details:
3. Test case for Adding College Details:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
75
4. Test case for Sending Feedback by Student:
5. Test case for Add Scholarship Details:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
76
6. Test case for Received Scholarship:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
77
CONCLUSION
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
78
9. CONCLUSION
Apart from these facilities it also provides ease of data entry for the user. After successfully
user testing it has been found that the new system has overcome most of the limitations of the
existing system and works according to the design specification given. The developed systems
dispense the problems and the meets the need by providing reliable and comprehensive information.
All the requirements projected by the user have been met by the system.
The newly developed system consumes less processing time and all the details are updated
and processed immediately. Since the screen provides real time help messages and is very user
friendly, any user can get familiarized.
9.1 Future Enhancements:
Every application has its own merits and demerits. The project has covered almost all the
requirements. Further requirements and improvements can easily be done since the coding is mainly
structured or modular in nature. Changing the existing modules or adding new modules can append
improvements. Further enhancements can be made to the application, so that the web site functions
very attractive and useful manner than the present one.
9.2 Limitations:
It works only under proper internet connectivity.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
79
BIBLIOGRAPHY
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
80
10. BIBLIOGRAPHY
10.1 Textbook References:
ASP.NET 2.0 with C#-Stephen Walther
XML - XML complete reference by Aaron Skonnard & Martin Gudgin
HTML - Steven Holzner
AJAX - JavaScript and Ajax for the web, Sixth Edition(Visual Quick Start Guide)
Modern Web Design Using JavaScript and DOM by Stuart Landgridge
10.2 Websites:
www.google.com
www.asp.net
www.ajaxprojects.com
www.w3schools.com/aspnet/default.asp
www.programmingtutorials.com/aspnet.aspx
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
81
APPENDIX
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
82
11. Appendix
11.1. Microsoft.NET Framework
The .NET Framework is a new computing platform that simplifies application development in the
highly distributed environment of the Internet.
Native code:
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
83
Background process:
The .NET Framework is designed to fulfill the following objectives:
To provide a consistent object-oriented programming environment whether object code is
stored and executed locally, executed locally but Internet-distributed, or executed remotely.
To provide a code-execution environment that minimizes software deployment and
versioning conflicts.
To provide a code-execution environment that guarantees safe execution of code, including
code created by an unknown or semi-trusted third party.
To provide a code-execution environment that eliminates the performance problems of
scripted or interpreted environments.
To make the developer experience consistent across widely varying types of applications,
such as Windows-based applications and Web-based applications.
To build all communication on industry standards to ensure that code based on the .NET
Framework can integrate with any other code.
The .NET Framework has two main components: the common language runtime and the .NET
Framework class library. The common language runtime is the foundation of the .NET Framework.
You can think of the runtime as an agent that manages code at execution time, providing core
services such as memory management, thread management, and remoting, while also enforcing strict
type safety and other forms of code accuracy that ensure security and robustness. In fact, the concept
of code management is a fundamental principle of the runtime. Code that targets the runtime is
known as managed code, while code that does not target the runtime is known as unmanaged code.
The class library, the other main component of the .NET Framework, is a comprehensive, object-
oriented collection of reusable types that you can use to develop applications ranging from traditional
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
84
command-line or graphical user interface (GUI) applications to applications based on the latest
innovations provided by ASP.NET, such as Web Forms and XML Web services.
The .NET Framework can be hosted by unmanaged components that load the common language
runtime into their processes and initiate the execution of managed code, thereby creating a software
environment that can exploit both managed and unmanaged features. The .NET Framework not only
provides several runtime hosts, but also supports the development of third-party runtime hosts.
For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for
managed code. ASP.NET works directly with the runtime to enable Web Forms applications and
XML Web services, both of which are discussed later in this topic.
Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a
MIME type extension). Using Internet Explorer to host the runtime enables you to embed managed
components or Windows Forms controls in HTML documents. Hosting the runtime in this way
makes managed mobile code (similar to Microsoft® ActiveX® controls) possible, but with
significant improvements that only managed code can offer, such as semi-trusted execution and
secure isolated file storage.
The following illustration shows the relationship of the common language runtime and the class
library to your applications and to the overall system. The illustration also shows how managed code
operates within a larger architecture.
Features of the Common Language Runtime
The common language runtime manages memory, thread execution, code execution, code safety
verification, compilation, and other system services. These features are intrinsic to the managed code
that runs on the common language runtime.
With regards to security, managed components are awarded varying degrees of trust, depending on a
number of factors that include their origin (such as the Internet, enterprise network, or local
computer). This means that a managed component might or might not be able to perform file-access
operations, registry-access operations, or other sensitive functions, even if it is being used in the
same active application.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
85
The runtime enforces code access security. For example, users can trust that an executable embedded
in a Web page can play an animation on screen or sing a song, but cannot access their personal data,
file system, or network. The security features of the runtime thus enable legitimate Internet-deployed
software to be exceptionally feature rich.
The runtime also enforces code robustness by implementing a strict type- and code-verification
infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-
describing. The various Microsoft and third-party language compilers generate managed code that
conforms to the CTS. This means that managed code can consume other managed types and
instances, while strictly enforcing type fidelity and type safety.
In addition, the managed environment of the runtime eliminates many common software issues. For
example, the runtime automatically handles object layout and manages references to objects,
releasing them when they are no longer being used. This automatic memory management resolves
the two most common application errors, memory leaks and invalid memory references.
The runtime also accelerates developer productivity. For example, programmers can write
applications in their development language of choice, yet take full advantage of the runtime, the class
library, and components written in other languages by other developers. Any compiler vendor who
chooses to target the runtime can do so. Language compilers that target the .NET Framework make
the features of the .NET Framework available to existing code written in that language, greatly
easing the migration process for existing applications.
While the runtime is designed for the software of the future, it also supports software of today and
yesterday. Interoperability between managed and unmanaged code enables developers to continue to
use necessary COM components and DLLs.
The runtime is designed to enhance performance. Although the common language runtime provides
many standard runtime services, managed code is never interpreted. A feature called just-in-time
(JIT) compiling enables all managed code to run in the native machine language of the system on
which it is executing. Meanwhile, the memory manager removes the possibilities of fragmented
memory and increases memory locality-of-reference to further increase performance.
Finally, the runtime can be hosted by high-performance, server-side applications, such as Microsoft®
SQL Server™ and Internet Information Services (IIS). This infrastructure enables you to use
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
86
managed code to write your business logic, while still enjoying the superior performance of the
industry's best enterprise servers that support runtime hosting.
11.2 .NET Framework Class Library
The .NET Framework class library is a collection of reusable types that tightly integrate with the
common language runtime. The class library is object oriented, providing types from which your
own managed code can derive functionality. This not only makes the .NET Framework types easy to
use, but also reduces the time associated with learning new features of the .NET Framework. In
addition, third-party components can integrate seamlessly with classes in the .NET Framework.
For example, the .NET Framework collection classes implement a set of interfaces that you can use
to develop your own collection classes. Your collection classes will blend seamlessly with the
classes in the .NET Framework.
As you would expect from an object-oriented class library, the .NET Framework types enable you to
accomplish a range of common programming tasks, including tasks such as string management, data
collection, database connectivity, and file access. In addition to these common tasks, the class library
includes types that support a variety of specialized development scenarios. For example, you can use
the .NET Framework to develop the following types of applications and services:
Console applications.
Scripted or hosted applications.
Windows GUI applications (Windows Forms).
ASP.NET applications.
XML Web services.
Windows services.
For example, the Windows Forms classes are a comprehensive set of reusable types that vastly
simplify Windows GUI development. If you write an ASP.NET Web Form application, you can use
the Web Forms classes.
11.3 Client Application Development
Client applications are the closest to a traditional style of application in Windows-based
programming. These are the types of applications that display windows or forms on the desktop,
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
87
enabling a user to perform a task. Client applications include applications such as word processors
and spreadsheets, as well as custom business applications such as data-entry tools, reporting tools,
and so on. Client applications usually employ windows, menus, buttons, and other GUI elements,
and they likely access local resources such as the file system and peripherals such as printers.
Another kind of client application is the traditional ActiveX control (now replaced by the managed
Windows Forms control) deployed over the Internet as a Web page. This application is much like
other client applications: it is executed natively, has access to local resources, and includes graphical
elements.
In the past, developers created such applications using C/C++ in conjunction with the Microsoft
Foundation Classes (MFC) or with a rapid application development (RAD) environment such as
Microsoft® Visual Basic®. The .NET Framework incorporates aspects of these existing products
into a single, consistent development environment that drastically simplifies the development of
client applications.
The Windows Forms classes contained in the .NET Framework are designed to be used for GUI
development. You can easily create command windows, buttons, menus, toolbars, and other screen
elements with the flexibility necessary to accommodate shifting business needs.
For example, the .NET Framework provides simple properties to adjust visual attributes associated
with forms. In some cases the underlying operating system does not support changing these attributes
directly, and in these cases the .NET Framework automatically recreates the forms. This is one of
many ways in which the .NET Framework integrates the developer interface, making coding simpler
and more consistent.
Unlike ActiveX controls, Windows Forms controls have semi-trusted access to a user's computer.
This means that binary or natively executing code can access some of the resources on the user's
system (such as GUI elements and limited file access) without being able to access or compromise
other resources. Because of code access security, many applications that once needed to be installed
on a user's system can now be safely deployed through the Web. Your applications can implement
the features of a local application while being deployed like a Web page.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
88
11.4 Server Application Development
Server-side applications in the managed world are implemented through runtime hosts. Unmanaged
applications host the common language runtime, which allows your custom managed code to control
the behavior of the server. This model provides you with all the features of the common language
runtime and class library while gaining the performance and scalability of the host server.
The following illustration shows a basic network schema with managed code running in different
server environments. Servers such as IIS and SQL Server can perform standard operations while
your application logic executes through the managed code.
11.5 Server-side managed code
ASP.NET is the hosting environment that enables developers to use the .NET Framework to target
Web-based applications. However, ASP.NET is more than just a runtime host; it is a complete
architecture for developing Web sites and Internet-distributed objects using managed code. Both
Web Forms and XML Web services use IIS and ASP.NET as the publishing mechanism for
applications, and both have a collection of supporting classes in the .NET Framework.
XML Web services, an important evolution in Web-based technology, are distributed, server-side
application components similar to common Web sites. However, unlike Web-based applications,
XML Web services components have no UI and are not targeted for browsers such as Internet
Explorer and Netscape Navigator. Instead, XML Web services consist of reusable software
components designed to be consumed by other applications, such as traditional client applications,
Web-based applications, or even other XML Web services. As a result, XML Web services
technology is rapidly moving application development and deployment into the highly distributed
environment of the Internet.
If you have used earlier versions of ASP technology, you will immediately notice the improvements
that ASP.NET and Web Forms offers. For example, you can develop Web Forms pages in any
language that supports the .NET Framework. In addition, your code no longer needs to share the
same file with your HTTP text (although it can continue to do so if you prefer). Web Forms pages
execute in native machine language because, like any other managed application, they take full
advantage of the runtime. In contrast, unmanaged ASP pages are always scripted and interpreted.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
89
ASP.NET pages are faster, more functional, and easier to develop than unmanaged ASP pages
because they interact with the runtime like any managed application.
The .NET Framework also provides a collection of classes and tools to aid in development and
consumption of XML Web services applications. XML Web services are built on standards such as
SOAP (a remote procedure-call protocol), XML (an extensible data format), and WSDL ( the Web
Services Description Language). The .NET Framework is built on these standards to promote
interoperability with non-Microsoft solutions.
For example, the Web Services Description Language tool included with the .NET Framework SDK
can query an XML Web service published on the Web, parse its WSDL description, and produce C#
or Visual Basic source code that your application can use to become a client of the XML Web
service. The source code can create classes derived from classes in the class library that handle all
the underlying communication using SOAP and XML parsing. Although you can use the class
library to consume XML Web services directly, the Web Services Description Language tool and the
other tools contained in the SDK facilitate your development efforts with the .NET Framework.
If you develop and publish your own XML Web service, the .NET Framework provides a set of
classes that conform to all the underlying communication standards, such as SOAP, WSDL, and
XML. Using those classes enables you to focus on the logic of your service, without concerning
yourself with the communications infrastructure required by distributed software development.
Finally, like Web Forms pages in the managed environment, your XML Web service will run with
the speed of native machine language using the scalable communication of IIS.
11.6 Active Server Pages.NET
ASP.NET is a programming framework built on the common language runtime that can be
used on a server to build powerful Web applications. ASP.NET offers several important
advantages over previous Web development models:
Enhanced Performance. ASP.NET is compiled common language runtime code
running on the server. Unlike its interpreted predecessors, ASP.NET can take
advantage of early binding, just-in-time compilation, native optimization, and caching
services right out of the box. This amounts to dramatically better performance before
you ever write a line of code.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
90
World-Class Tool Support. The ASP.NET framework is complemented by a rich
toolbox and designer in the Visual Studio integrated development environment.
WYSIWYG editing, drag-and-drop server controls, and automatic deployment are
just a few of the features this powerful tool provides.
Power and Flexibility. Because ASP.NET is based on the common language
runtime, the power and flexibility of that entire platform is available to Web
application developers. The .NET Framework class library, Messaging, and Data
Access solutions are all seamlessly accessible from the Web. ASP.NET is also
language-independent, so you can choose the language that best applies to your
application or partition your application across many languages. Further, common
language runtime interoperability guarantees that your existing investment in COM-
based development is preserved when migrating to ASP.NET.
Simplicity. ASP.NET makes it easy to perform common tasks, from simple form
submission and client authentication to deployment and site configuration. For
example, the ASP.NET page framework allows you to build user interfaces that
cleanly separate application logic from presentation code and to handle events in a
simple, Visual Basic - like forms processing model. Additionally, the common
language runtime simplifies development, with managed code services such as
automatic reference counting and garbage collection.
Manageability. ASP.NET employs a text-based, hierarchical configuration system,
which simplifies applying settings to your server environment and Web applications.
Because configuration information is stored as plain text, new settings may be applied
without the aid of local administration tools. This "zero local administration"
philosophy extends to deploying ASP.NET Framework applications as well. An
ASP.NET Framework application is deployed to a server simply by copying the
necessary files to the server. No server restart is required, even to deploy or replace
running compiled code.
Scalability and Availability. ASP.NET has been designed with scalability in mind,
with features specifically tailored to improve performance in clustered and
multiprocessor environments. Further, processes are closely monitored and managed
by the ASP.NET runtime, so that if one misbehaves (leaks, deadlocks), a new process
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
91
can be created in its place, which helps keep your application constantly available to
handle requests.
Customizability and Extensibility. ASP.NET delivers a well-factored architecture
that allows developers to "plug-in" their code at the appropriate level. In fact, it is
possible to extend or replace any subcomponent of the ASP.NET runtime with your
own custom-written component. Implementing custom authentication or state services
has never been easier.
Security. With built in Windows authentication and per-application configuration,
you can be assured that your applications are secure.
Language Support:The Microsoft .NET Platform currently offers built-in support for
three languages: C#, Visual Basic, and JScript.
11.7 What is ASP.NET Web Forms?
The ASP.NET Web Forms page framework is a scalable common language runtime
programming model that can be used on the server to dynamically generate Web pages.
Intended as a logical evolution of ASP (ASP.NET provides syntax compatibility with
existing pages), the ASP.NET Web Forms framework has been specifically designed to
address a number of key deficiencies in the previous model. In particular, it provides:
The ability to create and use reusable UI controls that can encapsulate common
functionality and thus reduce the amount of code that a page developer has to write.
The ability for developers to cleanly structure their page logic in an orderly fashion
(not "spaghetti code").
The ability for development tools to provide strong WYSIWYG design support for
pages (existing ASP code is opaque to tools).
ASP.NET Web Forms pages are text files with an .aspx file name extension. They can be
deployed throughout an IIS virtual root directory tree. When a browser client requests .aspx
resources, the ASP.NET runtime parses and compiles the target file into a .NET Framework
class. This class can then be used to dynamically process incoming requests. (Note that the
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
92
.aspx file is compiled only the first time it is accessed; the compiled type instance is then
reused across multiple requests).
An ASP.NET page can be created simply by taking an existing HTML file and changing its
file name extension to .aspx (no modification of code is required). For example, the following
sample demonstrates a simple HTML page that collects a user's name and category
preference and then performs a form postback to the originating page when a button is
clicked:
ASP.NET provides syntax compatibility with existing ASP pages. This includes support for
<% %> code render blocks that can be intermixed with HTML content within an .aspx file.
These code blocks execute in a top-down manner at page render time.
Code-Behind Web Forms
ASP.NET supports two methods of authoring dynamic pages. The first is the method shown
in the preceding samples, where the page code is physically declared within the originating
.aspx file. An alternative approach--known as the code-behind method--enables the page code
to be more cleanly separated from the HTML content into an entirely separate file.
Introduction to ASP.NET Server Controls
In addition to (or instead of) using <% %> code blocks to program dynamic content,
ASP.NET page developers can use ASP.NET server controls to program Web pages. Server
controls are declared within an .aspx file using custom tags or intrinsic HTML tags that
contain a runat="server" attribute value. Intrinsic HTML tags are handled by one of the
controls in the System.Web.UI.HtmlControls namespace. Any tag that doesn't explicitly
map to one of the controls is assigned the type of
System.Web.UI.HtmlControls.HtmlGenericControl.
Server controls automatically maintain any client-entered values between round trips to the
server. This control state is not stored on the server (it is instead stored within an <input
type="hidden"> form field that is round-tripped between requests). Note also that no client-
side script is required.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
93
In addition to supporting standard HTML input controls, ASP.NET enables developers to
utilize richer custom controls on their pages. For example, the following sample demonstrates
how the <asp:adrotator> control can be used to dynamically display rotating ads on a page.
1. ASP.NET Web Forms provide an easy and powerful way to build dynamic Web
UI.
2. ASP.NET Web Forms pages can target any browser client (there are no script
library or cookie requirements).
3. ASP.NET Web Forms pages provide syntax compatibility with existing ASP pages.
4. ASP.NET server controls provide an easy way to encapsulate common
functionality.
5. ASP.NET ships with 45 built-in server controls. Developers can also use controls
built by third parties.
6. ASP.NET server controls can automatically project both uplevel and down level
HTML.
7. ASP.NET templates provide an easy way to customize the look and feel of list
server controls.
8. ASP.NET validation controls provide an easy way to do declarative client or server
data validation.
11.8 ACTIVE X DATA OBJECTS.NET
ADO.NET Overview
ADO.NET is an evolution of the ADO data access model that directly addresses user requirements
for developing scalable applications. It was designed specifically for the web with scalability,
statelessness, and XML in mind.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
94
ADO.NET uses some ADO objects, such as the Connection and Command objects, and also
introduces new objects. Key new ADO.NET objects include the DataSet, DataReader, and
DataAdapter.
The important distinction between this evolved stage of ADO.NET and previous data architectures is
that there exists an object -- the DataSet -- that is separate and distinct from any data stores. Because
of that, the DataSet functions as a standalone entity. You can think of the DataSet as an always
disconnected recordset that knows nothing about the source or destination of the data it contains.
Inside a DataSet, much like in a database, there are tables, columns, relationships, constraints,
views, and so forth.
A DataAdapter is the object that connects to the database to fill the DataSet. Then, it connects back
to the database to update the data there, based on operations performed while the DataSet held the
data. In the past, data processing has been primarily connection-based. Now, in an effort to make
multi-tiered apps more efficient, data processing is turning to a message-based approach that
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
95
revolves around chunks of information. At the center of this approach is the DataAdapter, which
provides a bridge to retrieve and save data between a DataSet and its source data store. It
accomplishes this by means of requests to the appropriate SQL commands made against the data
store.
The XML-based DataSet object provides a consistent programming model that works with all
models of data storage: flat, relational, and hierarchical. It does this by having no 'knowledge' of the
source of its data, and by representing the data that it holds as collections and data types. No matter
what the source of the data within the DataSet is, it is manipulated through the same set of standard
APIs exposed through the DataSet and its subordinate objects.
While the DataSet has no knowledge of the source of its data, the managed provider has detailed and
specific information. The role of the managed provider is to connect, fill, and persist the DataSet to
and from data stores. The OLE DB and SQL Server .NET Data Providers (System.Data.OleDb and
System.Data.SqlClient) that are part of the .Net Framework provide four basic objects: the
Command, Connection, DataReader and DataAdapter. In the remaining sections of this
document, we'll walk through each part of the DataSet and the OLE DB/SQL Server .NET Data
Providers explaining what they are, and how to program against them.
The following sections will introduce you to some objects that have evolved, and some that are new.
These objects are:
Connections. For connection to and managing transactions against a database.
Commands. For issuing SQL commands against a database.
DataReaders. For reading a forward-only stream of data records from a SQL Server data
source.
DataSets. For storing, remoting and programming against flat data, XML data and
relational data.
DataAdapters. For pushing data into a DataSet, and reconciling data against a database.
When dealing with connections to a database, there are two different options: SQL Server .NET
Data Provider (System.Data.SqlClient) and OLE DB .NET Data Provider (System.Data.OleDb). In
these samples we will use the SQL Server .NET Data Provider. These are written to talk directly to
Microsoft SQL Server. The OLE DB .NET Data Provider is used to talk to any OLE DB provider (as
it uses OLE DB underneath).
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
96
Connections
Connections are used to 'talk to' databases, and are respresented by provider-specific classes such as
SQLConnection. Commands travel over connections and resultsets are returned in the form of
streams which can be read by a DataReader object, or pushed into a DataSet object.
Commands
Commands contain the information that is submitted to a database, and are represented by provider-
specific classes such as SQLCommand. A command can be a stored procedure call, an UPDATE
statement, or a statement that returns results. You can also use input and output parameters, and
return values as part of your command syntax. The example below shows how to issue an INSERT
statement against the Northwind database.
DataReaders
The DataReader object is somewhat synonymous with a read-only/forward-only cursor over data.
The DataReader API supports flat as well as hierarchical data. A DataReader object is returned
after executing a command against a database. The format of the returned DataReader object is
different from a recordset. For example, you might use the DataReader to show the results of a
search list in a web page.
DataSets and DataAdapters
DataSets
The DataSet object is similar to the ADO Recordset object, but more powerful, and with one other
important distinction: the DataSet is always disconnected. The DataSet object represents a cache of
data, with database-like structures such as tables, columns, relationships, and constraints. However,
though a DataSet can and does behave much like a database, it is important to remember that
DataSet objects do not interact directly with databases, or other source data. This allows the
developer to work with a programming model that is always consistent, regardless of where the
source data resides. Data coming from a database, an XML file, from code, or user input can all be
placed into DataSet objects. Then, as changes are made to the DataSet they can be tracked and
verified before updating the source data. The GetChanges method of the DataSet object actually
creates a second DatSet that contains only the changes to the data. This DataSet is then used by a
DataAdapter (or other objects) to update the original data source.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
97
The DataSet has many XML characteristics, including the ability to produce and consume XML
data and XML schemas. XML schemas can be used to describe schemas interchanged via
WebServices. In fact, a DataSet with a schema can actually be compiled for type safety and
statement completion.
DataAdapters (OLEDB/SQL)
The DataAdapter object works as a bridge between the DataSet and the source data. Using the
provider-specific SqlDataAdapter (along with its associated SqlCommand and SqlConnection)
can increase overall performance when working with a Microsoft SQL Server databases. For other
OLE DB-supported databases, you would use the OleDbDataAdapter object and its associated
OleDbCommand and OleDbConnection objects.
The DataAdapter object uses commands to update the data source after changes have been made to
the DataSet. Using the Fill method of the DataAdapter calls the SELECT command; using the
Update method calls the INSERT, UPDATE or DELETE command for each changed row. You can
explicitly set these commands in order to control the statements used at runtime to resolve changes,
including the use of stored procedures. For ad-hoc scenarios, a CommandBuilder object can
generate these at run-time based upon a select statement. However, this run-time generation requires
an extra round-trip to the server in order to gather required metadata, so explicitly providing the
INSERT, UPDATE, and DELETE commands at design time will result in better run-time
performance.
1. ADO.NET is the next evolution of ADO for the .Net Framework.
2. ADO.NET was created with n-Tier, statelessness and XML in the forefront. Two new
objects, the DataSet and DataAdapter, are provided for these scenarios.
3. ADO.NET can be used to get data from a stream, or to store data in a cache for updates.
4. There is a lot more information about ADO.NET in the documentation.
5. Remember, you can execute a command directly against the database in order to do inserts,
updates, and deletes. You don't need to first put data into a DataSet in order to insert,
update, or delete it.
6. Also, you can use a DataSet to bind to the data, move through the data, and navigate data
relationships.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
98
External Interface Requirements:
User Constraints
Users are main constraints for telecom connections. The user interface is a GUI window where the
command names reflect the function they perform. The information of Applying telephone
connection, viewing bill, Compliments etc. are some examples.
About Microsoft SQL Server
Microsoft SQL Server is a Structured Query Language (SQL) based, client/server relational
database. Each of these terms describes a fundamental part of the architecture of SQL Server.
Database
A database is similar to a data file in that it is a storage place for data. Like a data file, a database
does not present information directly to a user; the user runs an application that accesses data from
the database and presents it to the user in an understandable format.
A database typically has two components: the files holding the physical database and the database
management system (DBMS) software that applications use to access data. The DBMS is responsible
for enforcing the database structure, including:
Maintaining the relationships between data in the database.
Ensuring that data is stored correctly and that the rules defining data relationships are not
violated.
Recovering all data to a point of known consistency in case of system failures.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
99
Client/Server
In a client/server system, the server is a relatively large computer in a central location that manages a
resource used by many people. When individuals need to use the resource, they connect over the
network from their computers, or clients, to the server.
Examples of servers are: In a client/server database architecture, the database files and DBMS
software reside on a server. A communications component is provided so applications can run on
separate clients and communicate to the database server over a network. The SQL Server
communication component also allows communication between an application running on the server
and SQL Server.
Server applications are usually capable of working with several clients at the same time. SQL Server
can work with thousands of client applications simultaneously. The server has features to prevent the
logical problems that occur if a user tries to read or modify data currently being used by others.
While SQL Server is designed to work as a server in a client/server network, it is also capable of
working as a stand-alone database directly on the client. The scalability and ease-of-use features of
SQL Server allow it to work efficiently on a client without consuming too many resources.
11.9 Structured Query Language (SQL)
To work with data in a database, you must use a set of commands and statements (language) defined
by the DBMS software. There are several different languages that can be used with relational
databases; the most common is SQL. Both the American National Standards Institute (ANSI) and the
International Standards Organization (ISO) have defined standards for SQL. Most modern DBMS
products support the Entry Level of SQL-92, the latest SQL standard (published in 1992).
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
100
SQL Server Features
Microsoft SQL Server supports a set of features that result in the following benefits:
Ease of installation, deployment, and use
SQL Server includes a set of administrative and development tools that improve your ability to
install, deploy, manage, and use SQL Server across several sites.
Scalability
The same database engine can be used across platforms ranging from laptop computers running
Microsoft Windows® 95/98 to large, multiprocessor servers running Microsoft Windows NT®,
Enterprise Edition.
Data warehousing
SQL Server includes tools for extracting and analyzing summary data for online analytical
processing (OLAP). SQL Server also includes tools for visually designing databases and analyzing
data using English-based questions.
System integration with other server software
SQL Server integrates with e-mail, the Internet, and Windows.
Databases
A database in Microsoft SQL Server consists of a collection of tables that contain data, and other
objects, such as views, indexes, stored procedures, and triggers, defined to support activities
performed with the data. The data stored in a database is usually related to a particular subject or
process, such as inventory information for a manufacturing warehouse.
SQL Server can support many databases, and each database can store either interrelated data or data
unrelated to that in the other databases. For example, a server can have one database that stores
personnel data and another that stores product-related data. Alternatively, one database can store
current customer order data, and another; related database can store historical customer orders that
are used for yearly reporting. Before you create a database, it is important to understand the parts of a
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
101
database and how to design these parts to ensure that the database performs well after it is
implemented.
Entity Integrity Constraint:
Entity Integrity Constraints are of two types:
Unique Constraints
Primary Key Constraints
The unique constraints designate a column or a group of columns as a unique key.
The constraint allows only unique values to be stored in the column Sql Server rejects
duplication of records when the unique key constraint is used.
The primary key constraint is similar to the unique key constraint. The primary
key constraint just like the former avoids duplication of values. Its needs it best felt when
a relation has to be set between tables, because in addition to prevent in duplication it also
does not allow null values.
Referential Integrity Constraint:
The Referential Integrity Constraint enforces relationship between tables. It
designates a column or a combination of columns as a foreign key. The foreign key
establishes a relationship with a specified primary or unique key in another table, called
the referenced key. In this relationship, the table containing the foreign key is called a
child table and the table containing the referenced key is called the parent table.
Sch
ola
rsh
ip I
nfo
rma
tio
n S
yst
em
102
top related