Professional Documents
Culture Documents
Certificate
Certified that Himanshi Goel has carried out the project work
presented in this report entitled Training and Placement Portal for the
award of Bachelor of Technology from Inderprastha Engineering College,
Ghaziabad, under my supervision. The report embodies result of original
work and studies carried out by Student himself and the contents of the
report do not form the basis for the award of any other degree to the
candidate or to anybody else.
Abstract
Training and Placement Portal aims at providing the facility to automate and simplify the process
of registration and list generation of eligible students for placement activities. This system
provide facility to the Training and Placement Officer to do all their work that deals with
Placements like Collecting and analyzing Student records, posting Job Posts for various
companies visiting campus and thereby filtering Students as per companys requirements.
The Training and Placement Officer can also update details of students, if requested. TPO can
analyze the placements statistics, i.e. he/she can analyze number of placed and unplaced students
with respect to various criterions like batch wise, course wise, stream wise. TPO can also post
various notices related with jobs. The whole work is automated and is available on the Intranet.
ii
Acknowledgement
We take this opportunity to thank our teachers and friends who helped us
throughout the project.
First and foremost I would like to thank my guide for the project (Dr. Pooja
Tripathi, Professor, Computer Science Department and Mr. Devbrat
Upadhyay, Software Engineer) for her valuable advice and time during
development of project.
We would also like to thank (Prof. Ram Gopal, Computer Science Department)
for his constant support during the development of the project.
iii
DECLARATION
I hereby declare that this submission is my own work and that, to the best of
my knowledge and belief, it contains no material previously published or
written by another person nor material which to a substantial extent has
been accepted for the award of any other degree or diploma of the university
or other institute of higher learning, except where due acknowledgment has
been made in the text.
Signature:
Name: Himanshi Goel
Roll No.: 1103010068
Date: April 11,2015
iv
Table of Contents
ACKNOWLEDGEMENTS
CERTIFICATE
LIST OF FIGURES
TABLES OF CONTENT
LIST OF FIGURES
LIST OF TABLE
CHAPTER 1: SYSTEM STUDY AND ANALYSIS
1.1. PRODUCT INFORMATION
1.1.1. PRODUCT PERSPECTIVE
1.1.2. PRODUCT FEATURES
1.1.3. PERFORMANCE ATTRIBUTE
1.2. REQUIREMENT ANALYSIS
1.2.1. FUNCTIONAL REQUIREMENT
1.2.2. NON FUNCTIONAL REQUIREMENT
1.3. FEASIBILITY STUDY
1.3.1. TECHNICAL FEASIBILITY
1.3.2. ECONOMICAL FEASIBILITY
1.3.3. SCHEDULED FEASIBILITY
1.3.4. OPERATIONAL FEASIBILITY
CHAPTER 2: SOFTWARE REQUIREMENT SPECIFICATION
2.1. INTRODUCTION
2.1.1. PURPOSE
2.1.2. PROBLEM STATEMENT
2.1.3. PROJECT OBJECTIVE
2.1.4. PROJECT SCOPE
2.1.3. OPERATING ENVIRONMENT
2.1.4. METHODOLOGY
2.1.5. DESIGN & IMPLEMENTATION CONSTRAINTS
2.2. SOFTWARE DEVELOPMENT LIFE CYCLE
2.2.1. INTRODUCTION TO SDLC
2.2.2. STAGES OF SDLC
2.2.3. SDLC MODELS
2.2.4. PROCESS MODEL ADOPTED
2.2.5. SYSTEM FEATURES
2.3. EXTERNAL INTERFACE REQUIREMENTS
2.3.1. USER INTERFACES
2.3.2. HARDWARE INTERFACES
2.3.3. SOFTWARE INTERFACES
II
III
IV
V
VIII
IX
2
2
4
5
5
6
7
7
7
10
10
11
11
11
12
13
14
15
16
23
25
26
27
27
30
33
34
37
37
38
40
47
47
49
50
52
53
CHAPTER 5: CODING
CHAPTER 6: SYSTEM MAINTENANCE
6.1. SOFTWARE MAINTENANCE
6.2. SYSTEM SECURITY
6.2.1. THREATS TO SYSTEM SECURITY
6.2.2. SYSTEM SECURITY MEASURES
6.3. SYSTEM TESTING
6.3.1. TESTING STAKEHOLDERS
6.4. TESTING STRATEGIES ADOPTED
6.4.1. UNIT TESTING
6.4.2. BLACK BOX TESTING
6.4.3. WHITE BOX TESTING
6.4.4. INTEGRATION TESTING
6.4.5. VALIDATION TESTING
6.4.6. OUTPUT TESTING
6.4.7. USER ACCEPTANCE TESTING
6.4.8. REGRESSION TESTING
55
56
56
57
58
58
58
58
59
59
59
59
vi
vii
List of Figures
Figure 1 Graphical representation of the various stages of a typical SDLC
Figure 2 Prototype Model Phases
Figure 3 Diagrammatic representation of how Training and Placement Portal will work.
Figure 4 DFD Components
Figure 5 DFD (Level 0)
Figure 6 TPO DFD
Figure 7 Student DFD
Figure 8 DFD (Level 1)
Figure 9 DFD (Level 2)
Figure 10 ER Diagram
Figure 11 Login Sequence Diagram
Figure 12 Student Sequence Diagram
Figure 13 TPO Sequence Diagram
Figure 14 Users of DBMS
Figure 15 Cycle of requests and their associated responses
Figure 16 Three Tier Architecture of ASP.NET
Figure 17 Detailed diagram of Three Tier Architecture
Figure 18 Using multiple objects in the Data Access layer
Figure 19 A typical application with multiple "windows"
Figure 20 Each "window" has its own layers
Figure 21 Multiple Presentation layers sharing a single Business layer and Data Access
layer
viii
List of Tables
Table Name
1. UIAccessRights Table
2. AccessControlGroups Table
3. User Table
4. StudentDetails Table
5. QualificationDetails Table
6. CompanyDetails Table
7. JobPosts Table
8. JobPostNotices Table
9. PlacementRecord Table
10. SkillSetMaster Table
11. SegmentMaster Table
12. StudentRequest Table
13. StudentSkills Table
Page No
40
40
40
41
42
43
44
44
44
45
45
45
45
ix
Chapter 1:
System Study and Analysis
RECOGNITION OF NEED
For the purpose of training and placement of the student in colleges, TPOs have to collect all the
information of students and manages them manually and thus arranges the data according to
various streams.
If any modification is required that is to be also done manually. So, to reduce the job required to
manage students data manually and the information of various recruiters, a new system is
proposed which is processed through computers.
PROPOSED SOLUTIONS:
In the proposed system the TPO need not do all the hectic work. he will be provided with an
interface with which he can easily get his work done. The following are the facilities that are
provided by the system to the user.
i) Notice generation: Here TPO has to provide information about company name, date and venue
at which campus drive might take place. With this information the portal will generate a notice
which can be seen on students account to intimate students about placement drive.
ii) Student list generation: Here the TPO has to provide information about the requirements of
the company (such as, cut off percentage, whether backlogs allowed or not etc.).
iii) View student profile: Here the TPO is able to view a students profile of his interest by giving
the students roll number as input.
iv) Result analysis: Here the TPO is able to get the results which are released and store them for
later usage.
v) Posts: Here the TPO is provided to post updates or any necessary details to students depending
on his need.
vi) Reduce the paperwork and storage area.
vii) Improve the output of operators.
viii) Improve accuracy in result.
ix) Allow easy navigation through company information.
x) Manage the man and machine resources efficiently.
xi) It has user friendly interface having quick authenticated access to documents.
xii) Secured check in, check out & updates.
xiii) Easily scalable to grow with changing system requirement.
Chapter 2:
Software Requirement Specification (SRS)
2.1. Introduction
Software Requirements Specification is a complete description of the behavior of the system to
be developed. It includes asset of use cases that describe all the interactions the users will have
with the software. Use cases are also known as functional requirements. In addition to use cases,
the SRS also contains non-functional (or supplementary) requirements. Non-functional
requirements are requirements which impose constraints on the designer implementation (such as
performance engineering requirements, quality standards, or design constraints)
Training & Placement Portal aims at providing the Facility to automate and simplify the process
of registration and list generation of eligible students for placement. This system provide facility
to TPO to do all their Work Regarding Placement like Collecting Student Records, Registering
the Suitable Students, to check the number and percentage of placed & unplaced students, and
important announcements to other departments. The whole work is automated as well as on
Intranet.
2.1.1. Purpose
Computer based information system are designed to improve existing system. Whatever the
information, TPO has to pass to the student and he or she can inform online. Improve accuracy in
result. It has user friendly interface having quick authenticated access to documents. It provides
the facility of maintaining the details of the students. It will reduce the paper work and utilize the
maximum capabilities of the Setup and organization as well as it will save time and money
which are spending in making reports and collecting data. It can be accessed throughout the
organization and outside as well with proper login provided. This system can be used as an
application for college to manage the student information with regards to placement.
10
2.1.6. Methodology
PHASES:
i) Initiation Phase
The initiation of a system (or project) begins when a business need or opportunity is identified. A
Project Manager should be appointed to manage the project. This business need is documented in
a Concept Proposal. After the Concept Proposal is approved, the System Concept Development
Phase begins.
ii) System Concept Development Phase
Once a business need is approved, the approaches for accomplishing the concept are reviewed
for feasibility and appropriateness. The Systems Boundary Document identifies the scope of the
system and requires Senior Official approval and funding before beginning the Planning Phase.
iii) Planning Phase
The concept is further developed to describe how the business will operate once the approved
system is implemented, and to assess how the system will impact employee and customer
privacy. To ensure the products and /or services provide the required capability on-time and
within budget, project resources, activities, schedules, tools, and reviews are defined.
Additionally, security certification and accreditation activities begin with the identification of
system security requirements and the completion of a high level vulnerability assessment.
iv) Requirement Analysis Phase
Functional user requirements are formally defined and delineate the requirements in terms of
data, system performance, security, and maintainability requirements for the system. All
requirements are defined to a level of detail sufficient for systems design to proceed. All
requirements need to be measurable and testable and relate to the business need or opportunity
identified in the Initiation Phase.
v) Design Phase
The physical characteristics of the system are designed during this phase. The operating
environment is established, major subsystems and their inputs and outputs are defined, and
processes are allocated to resources. Everything requiring user input or approval must be
documented and reviewed by the user. The physical characteristics of the system are specified
and a detailed design is prepared. Subsystems identified during design are used to create a
detailed structure of the system. Each subsystem is partitioned into one or more design units or
modules. Detailed logic specifications are prepared for each software module.
vi) Development Phase
The detailed specifications produced during the design phase are translated into hardware,
communications, and executable software. Software shall be unit tested, integrated, and retested
in a systematic manner. Hardware is assembled and tested.
11
12
13
14
15
Quick Design
Refine requirements
incorporating
customer satisfaction
Build Prototype
Customer Evaluation
Design
16
17
iv) Extreme Prototyping: Extreme prototyping is used in the web development domain. It
consists of three sequential phases. First, a basic prototype with all the existing pages is
presented in the html format. Then the data processing is simulated using a prototype services
layer. Finally the services are implemented and integrated to the final prototype. This process is
called Extreme Prototyping used to draw attention to the second phase of the process, where a
fully functional UI is developed with very little regard to the actual services.
Software Prototyping Application
Software Prototyping is most useful in development of systems having high level of user
interactions such as online systems. Systems which need users to fill out forms or go through
various screens before data is processed can use prototyping very effectively to give the exact
look and feel even before the actual software is developed.
Software that involves too much of data processing and most of the functionality is internal with
very little user interface does not usually benefit from prototyping. Prototype development could
be an extra overhead in such projects and may need lot of extra efforts.
18
ii) Consistency
This design goal applies to virtually every element of the design model. Content should be
constructed consistently. Graphic design should present a consistent look across all parts of the
web app. Architectural Design should establish templates that led to consistent hypermedia
structures.
iii) Identity
The aesthetic, interface, and navigational design of a web app must be consistent with the
application domain for which it is to be built. The web app architecture will be entirely different
interfaces will be constructed to accommodate different categories of users; navigation will be
organized to accomplish different objectives.
iv) Robustness
Based on the identity that has been established, a web app often makes an implicit promise to a
user. The user expects robust content and functions that are relevant to the users need.
v) Compatibility
A web app will be used in a variety of environment (e.g. different hardware, operating
System) and must be designed to be compatible with each.
19
20
21
Chapter 3:
SYSTEM DESIGNING
22
System design
Software analysis and design includes all activities, which help the transformation of
requirement specification into implementation. Requirement specifications specify all functional
and non-functional expectations from the software. These requirement specifications come in the
shape of human readable and understandable documents, to which a computer has nothing to do.
Software analysis and design is the intermediate stage, which helps human-readable
requirements to be transformed into actual code.
The design data structure, software architecture, software architecture, software representation
and procedure detail is specified. The design process translate requirement into a representation
if the software. The suggested system is Establishment. Design is the process of applying the
various techniques and principles for the purpose of defining a device, a process or a system in
sufficient detail to permit its physical realization.
The system design is carried out in two phases:i) The architecture design (High Level Design)
ii) The detailed design (Low Level Design)
High Level Design:The high level design, describes the actual processes of the system, i.e. the information flow of
the system. In this phase we identified all the entities or in other words we can say external
source. That is, in this phase we represent flow graphically, this is known as DFD (Data Flow
Diagram).
Low Level Design:In the low level design, first we collect all the data in the form of tables. The name of entity is
taken as the name of tables. The process is known as Fast Patch Table. The next important step
after the designing of tables is actual coding of the program. The code of program is written and
tested separately.
23
Types of DFD
.i) Logical DFD - This type of DFD concentrates on the system process, and flow of data in the
system. For example in a Banking software system, how data is moved between different
entities.
ii) Physical DFD - This type of DFD shows how the data flow is actually implemented in the
system. It is more specific and close to the implementation.
DFD Components
DFD can represent Source, destination, storage and flow of data using the following set of
components -
Entities - Entities are source and destination of information data. Entities are represented
by a rectangle with their respective names.
Process - Activities and action taken on the data are represented by Circle or Roundedged rectangles.
Data Storage - There are two variants of data storage - it can either be represented as a
rectangle with absence of both smaller sides or as an open-sided rectangle with only one
side missing.
Data Flow - Movement of data is shown by pointed arrows. Data movement is shown
from the base of arrow as its source towards head of the arrow as destination.
24
25
26
27
28
29
30
DATA DICTIONARY
A data dictionary is a catalogue a repository of the elements in a system. As the name
suggests, these elements center on data the way they are structured to meet user requirements and
organization needs. In a data dictionary you will find a list of all the elements composing the data
flow through a system.
31
3.7. Tables
AccessControlGroups Table
Fields
AccessControlGroupId
Name
Description
ModTs
Data Type
int
varchar
varchar
Size
Data Type
int
int
int
bit
bit
Size
Data Type
uniqueidentifier
int
varchar
varchar
int
varchar
varchar
bit
Size
100
200
Description
Access Control Group Id
Name
Description
Constraints
Primary Key
Description
Access Control Group Id
Security Profile Id
College Id
view
Edit
Constraints
Description
Unique Id
College Id
User Id
Name
Security Profile Id
Salt
Salted Hashed
Is Active
Constraints
Primary Key
NOT NULL
NOT NULL
NOT NULL
NOT NULL
NOT NULL
NOT NULL
UIAccessRights Table
Fields
AccessControlGroupId
SecurityProfileId
CollegeId
[view]
Edit
ModTs
NOT NULL
NOT NULL
NOT NULL
User Table
Fields
UniqueId
CollegeId
UserId
Name
SecurityProfileId
Salt
SaltedHashed
IsActive
ModTs
15
50
50
MAX
32
StudentDetails Table
Fields
StudentId
FullName
ActualName
FirstName
MiddleName
LastName
FatherName
Dob
Sex
AddressCorrespondence
ContactNo
PermanentAdd
PermanentContact
MobileNum
EmailId
StudentPinNo
RollNo
EnrollmentNo
AdmissionNum
AdmissionSessionId
StatusId
SessionId
CourseId
SemesterId
YearId
ModTs
Data Types
int
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
datetime
varchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
varchar
char
char
nvarchar
int
int
int
int
int
int
Size
20
50
15
15
15
50
6
250
100
250
100
20
50
12
15
15
50
Description
Student Id
Full Name
Actual Name
First Name
Middle Name
Last Name
Father Name
Dob
Sex
Address Correspondence
Contact No
Permanent Address
Permanent Contact
Mobile Number
Email Id
Student Pin No
Roll No
Enrollment No
Admission Number
Admission Session Id
Status Id
Session Id
Course Id
Semester Id
Year Id
ModTs
Constraints
Primary Key
NOT NULL
NOT NULL
NOT NULL
NOT NULL
NOT NULL
33
QualificationDetails Table
Fields
IdQualification
StudentId
TenthBoard
TenthMedium
TenthPassingYear
TenthPercentageGrade
TwelthBoard
TwelthMedium
TwelthPassingYear
TwelthPercentageGrade
GraduationUniversity
GraduationMedium
GraduationPassingYear
GraduationPercentGrade
PostGradUniv
PostGradMedium
PostGradPassingYear
PostGradPercentGrade
DiplomaUniversity
DiplomaMedium
DiplomaPassingYear
DiplomaPercentGrade
DiplomaMarksheet
GraduationMarksheet
GapCertificate
TenthMarksheet
TenthCertificate
TwelthMarksheet
TwelthCertificate
DegreeCertificate
DiplomaCertificate
Per_ten
ModTs
Data Type
int
int
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
nvarchar
bit
bit
bit
bit
bit
bit
bit
bit
bit
decimal(18,2)
Size
100
10
10
25
100
10
10
25
100
10
10
25
100
10
10
25
100
10
10
25
Description
Qualification Id
Student Id
Tenth Board
Tenth Medium
Tenth Passing Year
Tenth Percentage Grade
Twelfth Board
Twelfth Medium
Twelfth Passing Year
Twelfth Percentage Grade
Graduation University
Graduation Medium
Graduation Passing Year
Graduation Percent Grade
Post Graduation University
Post Graduation Medium
Post Graduation Passing Year
Post Graduation Percent Grade
Diploma University
Diploma Medium
Diploma Passing Year
Diploma Percent Grade
Diploma Marksheet
Graduation Marksheet
Gap Certificate
Tenth Marksheet
Tenth Certificate
Twelfth Marksheet
Twelfth Certificate
Degree Certificate
Diploma Certificate
****Percentage
ModTs
Constraints
Primary Key
34
CompanyDetailsTable
Fields
CompanyId
CompanyName
CompanyLogo
CompanyWebsite
CompanyHeadquarter
PhoneNo
Fax
Email
CompanyProfile
ModTs
Data Type
uniqueidentifier
varchar
image
varchar
varchar
varchar
varchar
varchar
text
datetime
Size
Data Type
uniqueidentifier
uniqueidentifier
int
varchar
varchar
varchar
text
varchar
date
date
date
varchar
varchar
varchar
varchar
varchar
Size
200
100
20
20
20
50
Description
Company Id
Company Name
Company Logo
Company Website
Company Headquarter
Phone Number
Fax No
Email Address
Company Profile
Constraints
Primary Key
NOT NULL
Description
Job Post Id
Company Id
Segment Id
Designation
Annual Salary
Joining Location
Job Details
Event Venue
Event Date
Valid Upto
Job Post Date
Placement Type
Bond Period
Training Period
Event Time
Valid Upto Time
Constraints
Primary Key
FK(CompanyDetails)
NOT NULL
JobPosts Table
Fields
JobPostId
CompanyId
SegmentId
Designation
AnnualSalary
JoiningLocation
JobDetails
EventVenue
EventDate
ValidUpto
JobPostDate
PlacementType
BondPeriod
TrainingPeriod
EventTime
ValidUptoTime
ModTs
50
MAX
50
100
50
50
50
10
10
NOT NULL
NOT NULL
35
JobPostNotices Table
Fields
JobPostNoticeId
JobPostId
Description
Link
JobPostNoticeDate
ModTs
Data Type
uniqueidentifier
uniqueidentifier
varchar
varchar
date
Size
Description
Job Post Notice Id
Job Post Id
Job Description
Apply Link
Job Post Notice Date
Constraints
Primary Key
FK(JobPosts)
NOT NULL
NOT NULL
NOT NULL
Constraints
Description
Student Id
Job Post Id
Job Posted Date
Placement Track Id
Size
5
50
Description
Skill Set Id
Skill Details
Constraints
Primary Key
NOT NULL
MAX
80
PlacementRecord Table
Fields
StudentId
JobPostId
PostedOn
PlacementTrackId
ModTs
Data Type
int
uniqueidentifier
date
varchar
Size
NOT NULL
NOT NULL
NOT NULL
SkillSetMaster Table
Fields
SkillSetId
SkillDetails
ModTs
Data Type
varchar
varchar
36
SegmentMaster Table
Fields
SegmentId
SegmentName
ModTs
Data Type
int
char(100)
Size
100
Description
Segment Id
Segment Name
Fields
Primary Key
NOT NULL
Description
RequestId
StudentId
UpdateField
UpdateValue
Constraints
Primary Key
FK(StudentDetails)
NOT NULL
NOT NULL
Description
Student Skill Id
Student Id
Skill Set Id
Experience
Constraints
Primary Key
FK(StudentDetails)
StudentRequest Table
Fields
RequestId
StudentId
UpdateField
UpdateValue
ModTs
Data Type
uniqueidentifier
int
varchar
varchar
Size
50
100
StudentSkills Table
Fields
StudentSkillId
StudentId
SkillSetId
Experience
ModTs
Data Type
uniqueidentifier
int
varchar
int
Size
37
CHAPTER 4:
THEORETICAL BACKGROUND
38
39
40
41
Characteristics
Traditionally, data was organized in file formats. DBMS was a new concept then, and all the
research was done to make it overcome the deficiencies in traditional style of data management.
A modern DBMS has the following characteristics
i) Real-world entity A modern DBMS is more realistic and uses real-world entities to design
its architecture. It uses the behavior and attributes too. For example, a school database may use
students as an entity and their age as an attribute.
ii) Relation-based tables DBMS allows entities and relations among them to form tables. A
user can understand the architecture of a database just by looking at the table names.
iii) Isolation of data and application A database system is entirely different than its data. A
database is an active entity, whereas data is said to be passive, on which the database works and
organizes. DBMS also stores metadata, which is data about data, to ease its own process.
iv) Less redundancy DBMS follows the rules of normalization, which splits a relation when
any of its attributes is having redundancy in values. Normalization is a mathematically rich and
scientific process that reduces data redundancy.
v) Consistency Consistency is a state where every relation in a database remains consistent.
There exist methods and techniques, which can detect attempt of leaving database in inconsistent
state. A DBMS can provide greater consistency as compared to earlier forms of data storing
applications like file-processing systems.
vi) Query Language DBMS is equipped with query language, which makes it more efficient
to retrieve and manipulate data. A user can apply as many and as different filtering options as
required to retrieve a set of data. Traditionally it was not possible where file-processing system
was used.
vii) ACID Properties DBMS follows the concepts of Atomicity, Consistency, Isolation,
and Durability (normally shortened as ACID). These concepts are applied on transactions, which
manipulate data in a database. ACID properties help the database stay healthy in multitransactional environments and in case of failure.
42
viii) Multiuser and Concurrent Access DBMS supports multi-user environment and allows
them to access and manipulate data in parallel. Though there are restrictions on transactions
when users attempt to handle the same data item, but users are always unaware of them.
ix) Multiple views DBMS offers multiple views for different users. A user who is in the Sales
department will have a different view of database than a person working in the Production
department. This feature enables the users to have a concentrate view of the database according
to their requirements.
x) Security Features like multiple views offer security to some extent where users are unable
to access data of other users and departments. DBMS offers methods to impose constraints while
entering data into the database and retrieving the same at a later stage. DBMS offers many
different levels of security features, which enables multiple users to have different views with
different features. For example, a user in the Sales department cannot see the data that belongs to
the Purchase department. Additionally, it can also be managed how much data of the Sales
department should be displayed to the user. Since a DBMS is not saved on the disk as traditional
file systems, it is very hard for miscreants to break the code.
Users
A typical DBMS has users with different rights and permissions who use it for different
purposes. Some users retrieve data and some back it up.
TPO TPO maintain the DBMS and are responsible for administrating the database. They are
responsible to look after its usage and by whom it should be used. They create access profiles for
users and apply limitations to maintain isolation and force security. TPO also look after DBMS
resources like system license, required tools, and other software and hardware related
maintenance.
Designers Designers are the group of people who actually work on the designing part of the
database. They keep a close watch on what data should be kept and in what format. They identify
and design the whole set of entities, relations, constraints, and views.
End Users End users are those who actually reap the benefits of having a DBMS. End users
can range from simple viewers who pay attention to the logs or market rates to sophisticated
users such as business analysts.
43
44
45
If you look carefully at those layers you should see that each one requires different sets of skills:
i) The Presentation layer requires skills such as HTML, CSS and possibly JavaScript, plus UI
design.
ii) The Business layer requires skills in a programming language so that business rules can be
processed by a computer.
iii) The Data Access layer requires SQL skills in the form of Data Definition Language (DDL)
and Data Manipulation Language (DML), plus database design.
In web application development, three-tier architecture refers to separating the application
process into three specific layers. What the user sees via a web browser is called the presentation
tier and is content served from a web server. The middle tier performs the business logic
processing that occurs, for example, when a user submits a form. The back end consists of the
data tier which handles the database processing and access to the data. We'll take a simplistic
look at each of these.
46
47
48
49
Suppose that, instead of developing actual end-user applications, you develop a framework for
building end-user applications? Do you want to restrict the potential users of this framework to a
DBMS of your choice, or one of their choice?
By giving your customers the ability to easily switch from one DBMS to another without
enormous expense and effort you will be pleasing your customers and displeasing your
competitors.
The ability to switch from one DBMS to another does not, or should not, restrict you to just one
DBMS at a time. If each component in the Business layer is responsible for creating and
communicating with a component in the Data Access layer it should be possible to allow more
than one component to exist at the same time, as shown in the figure below.
Here you can see that instead of just "alternative" components in the Data Access layer you
actually have the option of "additional" components. This will allow, for example, part of your
application to access a MySQL database while another part accesses a PostgreSQL/Oracle/SQL
Server database.
50
51
Just suppose each of these "windows" was treated as a separate application instead of a small
part of a much larger application? None of these applications would share any component in any
of the other applications, which would result in a duplication of effort. Even though each of these
"windows" would have its own presentation logic, it would also have its own business logic and
data access logic. This would result in the situation shown in the figure below.
52
If you wanted each of these "windows" to enforce the same business rules you would have to
maintain the program code in each of the different business layers, which would be a costly
duplication of effort as well as a potential problem area should the code in one "window" not be
kept in sync with the others.
Just suppose the first (or primary) application had been developed using the 3-Tier Architecture
with its reusable Business layer and Data Access layer components? All the additional (or
secondary) "windows" would be much smaller as they would not require their own set of
business and data access logic, they would be able to share the logic which was written for the
first application. This arrangement is shown in the figure below.
Figure 21 Multiple Presentation layers sharing a single Business layer and Data Access layer
Here you can see that only one application - the back end management application - has all three
layers of code while all the other applications are nothing more than simple "windows" which
consist of a separate presentation layer which connects to the shared business layer (and through
that the shared data access layer).
As the code to enforce the business rules is maintained in a single place then you also eliminate
the problem of synchronizing those rules in multiple places. You can make a change to a single
component in the Business layer and have that change immediately picked up (or "inherited"
using the parlance of Objected Oriented programmers) by all the various "windows".
As each of these additional "windows" is able to reuse a significant amount of existing code, the
observant among you will immediately notice that this should also make them quicker, easier
and cheaper to develop. How much cheaper depends on how you build your front ends. For
example, if you are a follower of the Model-View-Controller design pattern you should see that
the existing Business layer already provides the Model, so you have nothing to design and
develop for each front end except the Controller and the View. The skills required here are little
more than HTML, CSS and JavaScript, while the heavy lifting - the database design, the
processing of business rules and the generation of complex SQL queries - can be left to the big
boys in the back office.
53
CHAPTER 6:
SYSTEM MAINTENANCE
54
55
IDENTIFICATION
It is the scheme of identifying person to the system based on Something you know such as a
password or a picture badge, Something you are such as finger print or voice print or
Something you have such as credit card, key or special terminal.
ACCESS CONTROL
Controlling the access to the computer facility is secured through encoded cards or similar
devices. Encryption prevents intruders from accessing data by scrambling messages across
telephones to the destination.
AUDIT CONTROL
Auditing must be supported at all levels of management. Audit control protects a system from
external security breaches and internal fraud or embezzlement. Various software programs are
available to help in audit function.
SYSTEM INTEGRITY
This line of different safeguards the functioning of hardware, software and physical security and
operating procedure. Proper back of hardware and software are extremely important.
56
57
58
and the developed system can run successfully with this simple data. Here the major intention is
to find the overall system performance.
59
60