You are on page 1of 42

Intranet Human Resource Portal

Prepared by

01CE101

Nehal Adhikary

01CE102

Anuj Agarwal

01CE008

Rishi Bhilawadikar

Submitted in the partial fulfillment of the requirements of PROJECT II


for the award of

Bachelor of Engineering Degree


in
Computer Engineering
Under the guidance of
Mr. R.K.Shende (Internal Guide)
Mr.Pankaj Sharma (External Guide)
to

UNIVERSITY OF MUMBAI
RAMRAO ADIK INSTITUTE OF TECHNOLOGY, NAVI
MUMBAI.
in

May 2005

Chapter 3
Design And Formulation
3.1 Entity Relationship Diagram
Shown below is the E.R. Diagram for the Intranet HR portal database. The database is
normalized to the Boyce - Codd normal form.
c o u tc o m e _ c o d e
c o m p la in t _ t y p e _ c o d e

C o m p la in t _ to p ic

p r o j e c t _ id

0 ..*

C o m p _ O u tco m e

h a s _ t o p ic

0 ..*
1 ..1

P r o je c t s
qno

h a s _ o u tc o m e

1 ...*

c o m p la in t _ id

h a s_ sta tu s

1 ..1
1 ..1

is _ a s s ig n e d

0 ..*

1 ..1

C o m p la in ts

is _ m an ag e d_ b
y

Q u e s t io n s

1 ..1

c s ta tu s _ c o d e

0 ..*

r ais e s
is _ a s k e d

1 ..1

co n ta cte d
_on

0 ..*
0 ..*

E m p lo y e e s

1 ..1
1 ..1

1 ..1
C o n ta ct

C o m p la in t_ s ta tu s

1 ..*

0 ..*

0 ..*

can_ acce
ss

1 ...*

A p p lic a tio n s

1 ..1

psno

com e s_u n de r

b e lo n g _ to

0 ..*

1 ..*

accessed
_on

H ead
C ate gory

1 ..1

e m a il_ id
c id

lo g _ id

Log

hno

Fig 3.1.1: ER diagram for the Intranet HR portal database

3.2 Database Design

T A B L E : E m p lo y e e s
N o.

F i e ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

psno

te x t

P r im a r y K e y

T h e e m p lo y e e
n u m b er.

fn am e

te x t

15

F ir s t n a m e

m nam e

te x t

15

M id d le N a m e

ln a m e

te x t

20

L ast N am e

b ir t h _ d a t e

d a te

--

D a t e o f B ir t h

jo in in g _ d a t e

d a te

--

J o in in g d a t e

sex

te x t

S ex

s tre e t

te x t

15

s tre e t

c it y

te x t

15

c it y

10

b lo o d _ g r o u p

te x t

b lo o d g r o u p

11

sq_no

num ber

12

sec _ans

te x t

15

13

s u p e r io r

te x t

F o r e ig n K e y ( Q u e s t io n s . q n o )

s e c r e t q u e s t io n n u m b e r
s e c r e t q u e s t io n a n s w e r

F o r e ig n K e y ( E m p lo y e e s . p s n o )

Fig 3.2.1: Table Description

S u p e r io r ' s p s n o .

T A B L E : c an _ a c c e s s (re la te s E m p lo y e e s an d A p p lic atio n s )


N o.

F i e ld N a m e

D a ta ty p e

S iz e

psno

te x t

appno

num ber

C o n s t r a in t
P r im a r y K e y

D e s c r ip t io n
T h e e m p lo y e e n u m b e r
A p p l ic a t io n n u m b e r

T A B L E : A p p lic atio n s
N o.

F i e ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

appno

num ber

P r im a r y K e y

A p p l ic a t io n n u m b e r

app_nam e

te x t

15

r e q u ir e d ( N O T N U L L )

A p p l ic a t io n n a m e

a p p _ l in k

te x t

30

hno

num ber

F o r e ig n K e y ( H e a d . h n o )

A p p l ic a t io n h e a d n u m b e r

A p p lic a t io n U R L

TA B L E : H eads
N o.

F ie ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

hno

num ber

P r im a r y K e y

A p p l ic a t io n h e a d n u m b e r

hnam e

te x t

15

r e q u ir e d ( N O T N U L L )

A p p li c a t i o n h e a d n a m e

T A B L E : P ro je c ts
N o.

F i e ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

p r o je c t _ id

te x t

10

P r im a r y K e y

P r o je c t I D

p r o je c t _ n a m e

te x t

30

P r o je c t N a m e

p r o je c t _ s i t e

te x t

15

P r o je c t S i t e

p r o je c t _ m a n a g
er

te x t

F o reig n K ey
(E m p lo y e e s . p s n o )

Fig: 3.2.2: Table Description (continued)

M a n a g e r 's p s n o

TAB LE:Log
N o.

F ie ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

lo g _ id

num ber

P r im a r y K e y

Log N um ber

s t a r t _ t im e

t im e

--

r e q u ir e d ( N O T N U L L )

S e s s io n s t a r t t i m e

e n d _ t im e

t im e

--

r e q u ir e d ( N O T N U L L )

S e s s io n e n d t i m e

s e s s io n _ d a t e

d a te

--

r e q u ir e d ( N O T N U L L )

S e s s io n d a t e

T A B L E : C ate g o ry
N o.

F i e ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

c id

te x t

P r im a r y K e y

C a te g o r y I D

cnam e

te x t

11

C a te g o ry N a m e

pay

N um ber

S a la r y A m o u n t

T A B L E : b e lo n g s _ to
N o.

F i e ld N a m e

D a ta ty p e

S iz e

psno

te x t

c id

te x t

C o n s t r a in t
P r im a r y K e y

D e s c r ip t io n
T h e e m p lo y e e
n u m b er.
C a te g o r y I D

T A B L E : C o n tac t
N o.

F i e ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

e - m a il

te x t

30

D is c r i m in a t o r

E - m a il id

ln t _ p h o n e

N um ber

11

O f f ic e p h o n e

ln t _ e x t n

N um ber

E x t e n s io n

c e ll_ p h o n e

N um ber

15

C e ll n u m b e r

res_ p h on e

N um ber

11

R e s id e n c e p h o n e

Fig: 3.2.3: Table Description (continued)

T A B L E : Q u e s tio n s
N o.

F i e ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

qno

num ber

P r im a r y K e y

Q u e s t io n N u m b e r

s e c _ q u e s t io n

te x t

40

r e q u ir e d ( N O T N U L L )

S e c r e t Q u e s t io n

C o n s t r a in t

D e s c r ip t io n

T A B L E : is _ as s ig n e d
N o.

F i e ld N a m e

D a ta ty p e

S iz e

psno

num ber

p r o je c t _ id

te x t

10

T h e e m p lo y e e
n u m b er.

P r im a r y K e y

P r o je c t I D

T A B L E : C o m p lain ts
N o.

F ie ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

c o m p la in t _ id

num ber

P r im a r y K e y

C o m p la in t i d

c o u tc o m e _ c o d
num ber
e

F o r e ig n
k e y (c o m p _ o u tc o m e .c o u c o m e _
code)
F o r e ig n k e y
(c o m p _ s ta tu s .c s ta tu s _ c o d e )

c o m p la i n t o u t c o m e c o d e

c s ta tu s _ c o d e

num ber

r a is e d _ b y

te x t

F o r e ig n k e y ( E m p l o y e e . p s n o )

R a is e d b y

re p o rte d _ to

d a te

F o r e ig n K e y ( E m p l o y e e . p s n o )

R e p o rte d to

d a t e _ r a is e d

d a te

--

d a t e r a is e d

d a t e _ c lo s e d

te x t

--

d a t e c lo s e d

d e t a il s

te x t

100

C o m p la in t d e t a il s

C o m p la in t s t a t u s c o d e

T A B L E : c o m p la in t_ s ta tu s
N o.

F i e ld N a m e

D a ta ty p e

S iz e

C o n s t r a in t

D e s c r ip t io n

c s ta tu s _ c o d e

num ber

P r im a r y K e y

C o m p la in t s t a t u s c o d e

s t a t u s _ d e s c r ip
t io n

te x t

100

c o m p l a in t _ i d

num ber

C o m p l a in t d e s c r ip t i o n
F o r e ig n k e y
( c o m p l a in t s . c o m p l a in t _ i d )

Fig 3.2.4: Table Description (continued)

C o m p la in t I D

T A B L E : c o m p la in t_ to p ic
N o.
1
2
3

F i e ld N a m e

D a ta ty p e

c o m p la in t _ t y p
num ber
e_c ode
t o p ic _ d e s c r i p t i
te x t
on
c o m p l a in t _ i d

S iz e

C o n s t r a in t

D e s c r ip t io n

P r im a r y K e y

C o m p la in t t y p e c o d e

100

c o m p la in t d e s c r i p t i o n

F o r e ig n k e y
( C o m p la in t s . c o m p la in t _ id )

C o m p la in t I D

S iz e

C o n s t r a in t

D e s c r ip t io n

P r im a r y K e y

c o m p la i n t o u t o c m e c o d e

num ber

T A B L E : c o m p la in t_ o u tc o m e
N o.
1
2
3

F ie ld N a m e

D a ta ty p e

c o u tc o m e _ c o d
num ber
e
o u tc o m e _ d e s c
te x t
r ip t i o n
c o m p la in t _ id

num ber

100
4

O u c t o m e d e s c r ip t io n
F o r e ig n k e y
( C o m p la i n t s . c o m p la in t _ id )

Fig 3.2.5: Table Description (continued)

C o m p la in t I D

3.3 Data Flow Diagrams

The following level 0 and level 1 and level 2 Data flow diagrams
clarify the flow of information in the system.
Initial analysis of the system leads to the following context level data flow diagram.

A d m in is t r a t o r
E m p lo y e e
d e t a ils

S e r v ic e s

E m p lo y e e

A ccess
R ig h t s
A p p lic a t io n d e t a ils

M a in t e n a n c e a n d
up dates

E m p lo y ee
d etails

C o m p la in t s

C o m p la in t s e r v ic e

A d m in is t r a t o r

Fig 3.3.1 Level 0 DFD

A d m in is t r a t o r

H R portal

Further analysis led to the following level 1 data flow diagram fragments.

E m p lo y e e d e t a ils

E m p lo y e e
d e t a ils

E m p lo y e e

1
R e g is t e r
E m p lo y e e
s e c r e t q u e s t io n

D 1 E m p lo y e e D a t a b a s e
E m p lo y e e D e t a ils

a p p lic a t io n d e t a ils

a c c e ss r ig h t s

G ran t
A p p l ic a t io n
A c cess

D 4 A c c e s s r ig h t s

a c c e s s p r iv ile g e s

E m p lo y e e

C o m p la in t
d e t a ils

C o m p la in t

D 2 s e c r e t q u e s t io n s

D 3 A p p li c a t i o n D a t a b a s e

E m p lo y e e

D 1 E m p lo y e e D a t a b a s e

3
Lodge
C o m p la i n t s

C o m p lain t to p ic
a n d d e s crip tio n

D 5 C o m p l a in t s d a t a b a s e

D 6 C o m p la in t t o p ic s

in it ia l s t a t u s

D 7 C o m p la in t s t a t u s d a t a b a s e

Fig 3.3.2: Level 1 DFD fragments

D 8

C o m p la in t O u t c o m e

D 1 E m p lo y e e D a t a b a s e

O utco m e

E m p lo y e e d e t a ils
U p d a t e d e m p lo y e e d e t a ils

U p dated
d e t a ils

A d m i n i s t r a t io n

N o t if ic a t io n s

E m p lo y e e

U p d a te d
sta tu s

C o m p la in t D e t a ils

E x istin g
sta tu s

A d m in is t r a t o r

A d m in is t r a t io n
d e t a ils

D 5 C o m p la in t s D a t a b a s e
D 6

C o m p la i n t s t a t u s d a t a b a s e

Fig 3.3.3 Level 1 DFD fragments

D 1 E m p lo y e e d a t a b a s e

D 5 C o m p la in t s D a t a b a s e

A d m in is t r a t io n
d e t a ils

A d m in is t r a t o r

4
A d m in is t r a t io n

ta i
td
e
a in
pl

Up
da

om

C
de om p
ta
te d
ils la in
t
c

E m p lo y e e
d e t a ils

ls

U p dated
e m p lo y e e
d e t a ils

O utco m e

D 8 C o m p la in t O u t c o m e

U p da te d sta tus
E x ist in g
status

D 6 C o m p l a in t s t a t u s

D 1 E m p lo y e e D a t a b a s e
E m p lo y e e
d e t a ils

c o m p la in t t o p ic
a n d d e sc r ip t io n

1
E m p lo y e e d e t a ils

R e g is t e r
E m p lo y e e

D 6 C o m p la i n t t o p i c s

N o t if ic a t io n s

C o m p la in t s

E m p lo y e e

se c re t
q u e st io n

Lodge
C o m p la in t s

D 2 S e c r e t Q u e s t io n s

D 5 C o m p la i n t s d a t a b a s e

D 4 A c c e s s r ig h t s

D 7 C o m p la in t s t a t u s d a t a b a s e

2
a c c ess
r ig h t s

E m p lo y ee
d etails

D 1 E m p lo y e e D a t a b a s e

I n it ia l
Status

C o m p la in t
d e t a ils

A c c e ss
P r iv ile g e s

G ran t
A p p lic a t io n
A ccess
A p p lic a t io n
d e t a ils

D 3 A p p lic a t io n D a t a b a s e

________________________________________________________________________

Fig 3.3.4: Level 1 DFD

The level 1 DFD can be further refined to the following level 2


DFDs

A d m in is t r a t o r

E m p lo y ee
d etails

R e g ist r a t io n k e y

D 1 E m p lo y e e d a t a b a s e

4 .1
E m p lo y e e
d e t a ils

E m p lo y e e

N ew
U ser
R e g i s t r a t io n

A c c e ss r ig h t s
d e t a ils

R e g ist r a t io n
key

D 4 A c c e s s R ig h t s

D 9 A p p li c a t i o n H e a d s
N ew H eads

U p dates

A d m in is t r a t o r

4 .2
U p d a te
d a ta b a s e s

D 1 E m p lo y e e d a t a b a s e
E m p lo y ee d etails
u p d ates

A p p lic a t io n u p d a t e s

D 3 A p p l ic a t io n D a t a b a s e

A c c e s s R ig h t s
up dates

D 4 A c c e s s R ig h t s

Fig 3.3.5 Level 2 DFD

D 7 C o m p la in t s t a t u s d a t a b a s e
U p dated
status
C o m p la in t
s e r v ic e

A d m in is t r a t o r
C o m p la in t
d e t a ils

D 5 C o m p la in t s d a t a b a s e

4 .3
S e r v ic e
C o m p la i n t s

C o m p la in t s e rv ic e
a n d n o t i fi c a t i o n s

E m p lo y e e
O utco m e

D 8 C o m p la in t o u t c o m e

Fig 3.3.6: Level 2 DFD

Chapter 4
Implementation
4.1 Conceptual and Task modeling
The Following Activity Diagram represents the control flow during user registration.

A d m in is t r a t o r

E m p lo y e e

S y s te m

M a il a u t o - g e n e r a t e d p a s s w o r d t o a ll
e m p lo y e e s
O p e n R e g is t r a t io n
Page

D is p la y e r r o r

E n t e r u s e r n a m e ( p s n o ) . e m a il- id
a n d a u to -g e n e ra te d p a s s w o rd

P e r f o r m c lie n t
s id e v a lid a t io n s

[ I n v a lid ]

[ V a lid a t e d ]

A u t h e n t ic a t e

[ A u t h e n t ic a t e d ]
[N o t
A u t h e n t ic a t e d ]

E n t e r R e q u ir e d
d e t a ils

U p d a te
d a ta b a s e s

D is p la y s u c c e s s
m essage

Fig 3.4.1: Activity diagram for user registration

E m p lo y e e

S y s te m

Log - on

L o g lo g - o n t im e
a n d d a t e in t h e lo g
t a b le

P r o v id e a p p r o p r ia t e
a c c e s s r ig h t s

P e r f o r m S e s s io n
A c t iv it ie s

Log - out

L o g lo g - o u t t im e
in t h e lo g t a b le

D is p la y lo g - in
page

Fig 3.4.2: Activity diagram for the Session Logging

The following Diagram depicts the usage scenario for Admin module. The Admin
module enables the portal administrator in performing the following key administrative
functions as defined in the Requirements Analysis:
1. Access Log information to determine usage statistics.
2. Manage User Accounts.
3. Perform Searches on various search strings.
4. Service user complaints.

Show logged Users

Manage Rights
Administrator

Search

Service Complaints

Fig 3.4.3: Use Case diagram for the Admin module

The Admin module Use Cases have control flows as

depicted

Authenticate
Administrat
or
Show
Homepag
Administrator
e
User account
selected
management

Home-Page
Options :
1. Show
Users
Logged
2. Manage User
accounts
3. Search
4. View
Complaints
(Admin
Mailbox)

The Administrator
given a list of
is
registered
all
Employees(user
alongwith
s)
profile and
individual
management
account
links.

Select
User

Update
Rights

[confirmed]
[not confirmed]
[ Manage Another
]
[End management
session]

Fig 3.4.4: Activity Diagram for Manage access rights

A d m in is t r a t o r

S y s te m

S e le c t
" S e a rc h "

S e le c t S e a r c h
O p t io n s

D e t e r m in e S e a r c h
C a te g o ry
[ E m p lo y e e t a b le
f ie ld s ]

[ a c c e s s r ig h t s ]

S e a rc h
A c c e s s r ig h t s
t a b le

S e a r c h e m p lo y e e
t a b le

S e a r c h c o m p la in t s
t a b le

[m a tc h ]

D is p la y
m a tc h e s

________________________________________________________________

Fig 3.4.5: Activity diagram for search use-case

[n o m a tc h ]

D is p la y e r r o r
m essage

S e n d C o m p la in t t o
t h e A d m in is t r a t o r s
m a ilb o x

S o rt a n d s to re th e
c o m p la in t s in
d a ta b a s e

C h e c k c o m p la in t
c a te g o ry

[ S p e c if ic c o m p la in t s ]

[ S t a n d a r d C o m p la in t s ]

Send back
a u t o g e n e r a t e d r e p ly
t o e m p lo y e e

S e n d s p e c if ic
p e r s o n a l r e p ly f r o m
t h e a d m in is t r a t o r

A s s ig n in it ia l
c o m p la in t s t a t u s

M o n it o r , t r a c k a n d u p d a t e t h e
a c t io n s t a k e n a g a in s t t h e c o m p la in t

C h e c k c o m p la in t
s ta tu s
[p e n d in g ]
[n o t p e n d in g ]

S t o r e t h e s o lu t io n / o u t c o m e
in d a t a b a s e

In fo rm
e m p lo y e e

Fig: 3.4.6: Activity diagram for complaint servicing

4.1 System and Program Listing


The coding for the Admin module for the HR Intranet Portal has been based on the
following logical Approach :-

Four main use-cases have been designed by which the administrator can manage the user
access to the portal :-

1) Create Employee Roles User roles are created according to the categories the
employees have in the organization.
2) Create Modules Framework A hierarchical structure is created for storing the
HR main-modules and sub-modules.
3) Assign Applications to Roles Administrator assigns the various application
modules accessible to respective roles.
4) Assign Employees to Roles -- The Employees are assigned to the respective roles
to which they belong.

Use Case 1 :- Create Employee Roles

Primary Actors :- Administrator

Stake Holders & Interests :

Organization :- Needs specific access to be given for the portal to each employee
group.

Administrator :- Creates specific roles for employees access to the portal.

Preconditions :- Administrator is authorized and identified.

Success Guarantee :The roles have been created for the system access.
Roles are deleted if required.

Basic Flow :1. Administrator adds new role to the system.


2. The role is saved in the database.
3. Administrator logs out.

Exceptions :1.a) Administrator deletes a role from the system


1) Administrator selects the role to be deleted.
2) System checks for sub roles and denies deletion if any exist.
3) System deletes the role, updates the changes in database and informs administrator.

1.b) Administrator views the existing roles


1) System fetches and displays the roles from database along with the applications
assigned to the role.

Use Case 2 :- Create Modules Framework

Primary Actors :- Administrator

Stake Holders & Interests :

Administrator :- wants to create a hierarchical structure for storing the HR modules and
sub-modules

Preconditions :1. Administrator is authorized and identified.


2. The modules to be added have been developed and integrated with the portal.
3. The application module input page has been loaded successfully.

Success Guarantee :Structured framework of applications module generated.

Basic Flow :-

1. Administrator adds new application module.


2. Administrator adds the application sub-modules.
(repeat steps 1-2 until indicated done)
3. System saves the information / data
4. System confirms successful completion of the operation.
5. Administrator logs out.

Exceptions :1.a) Administrator deletes an application module


1) Administrator selects the main-module to be deleted.
2) System checks for any corresponding sub-modules and denies deletion if any exist.
3) System deletes the application main-module, updates the changes in database and
confirms successful operation.

1.b) Administrator appends an application sub-module


1) Administrator selects the main-module.
2) System displays the existing sub-modules.
3) Administrator appends new sub-module.
4) System checks if the sub-module already exists and denies addition if same submodule already exists.
5) System updates the changes and confirms successful operation.

1.c) Administrator views the existing application framework created


1) System fetches and displays the main-modules from database along with each of
the corresponding sub-modules.

Use Case 3 :- Assign Applications to Roles

Primary Actors: - Administrator

Stake Holders & Interests:

Administrator: - wants to assign various application modules to the roles created for
restricted employee access to the intranet portal

Preconditions:1. Administrator is authorized and identified.


2. Employee roles created.
3. Framework of application module created.

Success Guarantee :The application modules are assigned to the specific employee roles.

Basic Flow :1. Administrator selects a specific employee role from the list of roles created.
2. System provides the list of application sub-modules which can be assigned to the
selected role.
3. Administrator selects the application sub-modules to be assigned to the selected
role.
4. System stores the mapped information and confirms successful completion of the
operation to the administrator.
5. Administrator logs out.

Exceptions :2.a) Framework of application modules is not found / created


1) System generates an error message and accordingly informs the administrator
about the fault.

3. a) Special access privileges are to be assigned


1) Administrator creates a new special role.
2) Administrator assigns the new specific application sub-modules to the employee

Role.

4.a) Administrator deletes application sub-modules from a specific role


1) Administrator selects the role.
2) System provides the list of sub-modules already assigned to the selected role.
3) Administrator selects the sub-modules to be removed from the role and requests
deletion.
3) System deletes the application main-module, updates the changes in database and
confirms successful operation.

Use Case 4 :- Assign Employees to Roles

Primary Actors :- Administrator

Stake Holders & Interests :

Administrator :- wants to assign set of employee groups to specific roles.

Preconditions :1. Administrator is authorized and identified.

2. Employee roles created.


3. Database of employees provided by the organization.

Success Guarantee :The employees are assigned to their roles.

Basic Flow :1. Administrator selects a specific role.


2. System provides the list of all the employees in the organization.
3. Administrator selects the employees to be assigned to the selected role.
4. System stores the mapped information and confirms successful completion of the
operation to the administrator.
5. Administrator logs out.

Exceptions :2.a) Database of employees not found / empty


1) System generates an error message and accordingly informs the administrator
about the fault.

3.a) Administrator removes employees from a specific role by using role name
1) Administrator selects the role.

2) System provides the list of employees already assigned to the selected role.
3) Administrator selects the employees to be removed from the role and requests
deletion.
3) System deletes the employee role, updates the changes in database and confirms
successful operation.

3.b) Administrator removes employees from a specific role by searching for a


particular employee
1) Administrator searches for an employee.
2) System displays employee and the role assigned to him.
3) Administrator requests for deletion.
3) System deletes the employee role,updates the changes in database and confirms
successful operation.

4.a) Administrator changes the role assigned to a particular employee


1) Administrator searches for the employee/s.
2) System displays the employee and the role assigned.
3) Administrator selects the new role.
4) System changes the employee role, updates the database and confirms successful
operation.

4.3 Sample Screen Shots