INTRODUCTION AND OBJECTIVES OF THE PROJECT BRIEF ABOUT THE ORGANISATION: Unity Public School is situated in Ekta Vihar, MDA Colony, Near Prem Wonder Land, am!ur oad, Moradabad" #he school is reco$ni%ed by U"P" &o't" (t is runnin$ since last three years )rom class Nursery to V(((th under administrati'e control o) Smt" *hurshid +a)ri" At !resent the school mana$ement and its all !rocedures are totally manual based" based" (t creates creates a lot o) !roblems due to ron$ entries entries or mistakes mistakes in totalin$ etc" #his system a'oided such mistakes throu$h !ro!er checks and 'alidation control methods in checkin$ o) student record, )ee de!osit !articulars, teachers schedule, e-amination re!ort, issue o) trans)er certi)icates etc" ( met !ersonally to the !rinci!al and mana$er and discuss about about the com!ut com!uteri% eri%ati ation on o) manual manual school school mana$e mana$emen mentt system system"" #his #his system re$isters a student and con)irms its admission in school" When a student re$isters in school a S"" No .uni/ue (D0 is allotted to student" Student record is based on his1 her S"" No"
OBJECTIVE: #he ob2ecti'e o) de'elo!in$ such a com!uteri%ation system is to reduce the !a!er ork and sa)e o) time in school mana$ement" #here by increasin$ the e))iciency and decreasin$ the ork load" #he !ro2ect !ro'ides us the in)ormation about student record, school )aculty, school timetable, school )ee, school e-amination result and library mana$ement" #he system must !ro'ide the )le-ibility o) $eneratin$ the re/uired documents on screen as ell as on !rinter as and hen re/uired"
PROJECT DESCRIPTION: #he school mana$ement !rocess can be described usin$ di))erent modules" Each o) the module !er)orms a di))erent )unction"
SCHOOL MANAGEMENT SYSTEM
Student eco ecord rd
School 3ee 3ee
3aculty Pro) Pro)il ilee
#ime #abl #ablee
E-amination esu esult lt
Library Mana Mana$e $eme ment nt
(a) Student Record: We can can easi easily ly )ind )ind out out the the deta detaiils o) stud studen entt alon alon$ $it ith h his his !hoto$ra!h by enterin$ his1her S"" No"
(b) School Fee: We can )ind out the )ee structure o) e'ery class and the )ee )or student hether the student has !aid )ee or not" () he1 she has not !aid school )ee ithin !rescribed !eriod, he 1 she should ha'e to !ay !enalty"
(c) Faculty Profile: We can easily )ind out the descri!tion about the teacher !osted in school "
(d) Time Table:
We can search sear ch out the name o) teacher and sub2ect in !articular class at a !articular time "
(e) Examination Result: We can check the !er)ormance !er)ormance o) students students durin$ the !articular !articular year " 4n !assin$ the !articular class , student record and student #C is u!dated "
(f) Library Management: Library mana$ement !rocess u!dates the library database" (t $i'es in)ormation about a !articular book hen issued to the student and hen it is taken back"
SCOPE: #he sco!e o) the school mana$ement system )acilitate us in the )olloin$ 2obs 56 ♦
Maintainin$ Student ecords
♦
Automatic Pre!aration o) Marksheet
♦
Automatic u!dation in student #C
♦
Library Mana$enent
PROJECT CATEGORY: #he Databa Database se
Pro2ec Pro2ectt
is
Mana$e Mana$emen mentt
)unctio )unctionin nin$ $ under under System System00
cate$o cate$ory ry
the o)
D7MS D7MS the
.elat .elation ional al
so)ta so)tare re
hich hich
handle handless the databa database se o) all the student studentss and sta))" sta))" (t uses uses ob2ect ob2ect oriented !ro$rammin$ technolo$y to de'elo! the system "
ANALYSIS : Necessary D3Ds and E Dia$ram are attached hereith"
(i) Fs: Durin$ analysis !hase o) SDLC .So)tare De'elo!ment Li)e Cycle0, the system analyst or other members o) the !ro2ect team dra many dia$rams to sho ho data mo'e ithin an or$ani%ation" #hese dia$rams, !o!ularly called as D3D .Data 3lo Dia$ram0, /uickly con'ey to both the so)tare de'elo!ers and users ho the current system is orkin$ and ho the !ro!osed system ill ork" #he main ad'anta$e o) D3D is that they are easily understood by the users and hence users can su$$est modi)ications in the !ro!osed system" (n Data 3lo Dia$ram .D3D0 e ha'e used )our ty!es o) symbols as described belo5 6
F Symbol:
Stands For
Source or Destination o) Data
Symbols
ectan$le
S/uare
3lo o) Data
Process hich trans)orms
Circle
4'al
Store o) Data
We consider three le'els o) D3Ds Le'el 8 D3D Le'el 9 D3D Le'el : D3D
F Le!el "
CFD (Context Flow Di!"#$ o" CAD (Context Anl%&i& Di!"#$
Student or A!!licant 3ee De!os it Admi ssion 3or m
Valid1 (n'ali d
3ee De !os it
7ook e/ue st (ssue1 etur n e!or t
ounded ectan$le
S'ool Mn!e#en t S%&te#
s t r o ! e
ADM(N(S#A#4 D3D le'el 8 .Conte-t Le'el0
F Le!el #
L
i b
r a r y
:
S
9 A
M
a
r k
S P
s
t u
d
e
n
t
" 8 t u d e n t S t u d d m i s s i o n r o c e s s
D
a
t a
b
a
e
e
" 8 L i b r a r y oM r d a n a $ e m P r o c e s s
c
n
t
M
3
e
a 3 s e t ee
e
S
t r u
E
#
C
D
a
t a
b
" 8
-
a # U
a
i n
a t i o
C
d
e
a
t u
n e
t h c o
n
M
s e < " 8 C !
o
m
c
s e M
;
r D 3 a
c o r d t i o n
Data Flow Diagram Level 1
=
" 8
o o
n t h l y 3 l l e c t i o n
F LE$EL %
School Management Process S
t u
d
e
n
t
S e
t u d e c o r d
n
t
e
l i a t e D t n e d u t S
t s e u / e
s k r a
9
e
l o o h c
$ n
E
n o i t a d !
M
" 9
9 " : C o n ) i r m i s t r a t i o nA d m t r y e 2 e c tC i o o n n
i s s i ) i r m
U
S
A
y b n e ' i
d
m
3
&
3 i s s i o n
e
e
S
e
e
D
D 3
e
t r u
e e
c
t 7
C #
M
a
9 E
-
r k
s
D
a
t a
b
l i a t e
a
s e
9
D t n e d u t S
3
C
e
&
e
" < a
m
i n
S
a
t u
d
t i o
e n
t
n
S
D
e t a i l t u d e n t
M
a
s t e
M
#
"
D
a
t a
b
a
9 #
s e
D
D
C
e e
#
3
" >
C U
l i a t e
s l i a t e
d
o
3
n
9
!
r
e a
c t i o
o
r d n
M C
t h
" ; o n t h l y o l l e c t i
Data 3lo Dia$ram Le'el : )or School Mana$ement Process
F LE$EL %
i
Library Management Process
N
e ,
7
o
o
k
E
n
t r y
s l i a t e D k o o 7
7
o
o
k
D
a t a b
a
s e
n o i t m a r o ) n ( s u t a t S e $ n a h
n o i t s l i a t e
m a r o ) n (
D k o o
3
e
s u t a t S
7
S
C
t u
d
e n
t
D
e
D
a
s l i a t e
e $ n a h
a t a b
a s e D e n i
C
3
:
" 9
( s s u
S
t u d e nS t t u d e n : D e t a i l D e t a i l
e
( s s u e 7 o o ke t u r n 7 D e t a i l D e t a i l
( s s u
e
D
a t a b
t
" :
e
t u o
o
r n
k
a s e
Data 3lo Dia$ram Le'el : )or Library Mana$ement Process
E&R iagram:
7
o
o
k @
( Sd
@
N
o
" 7
?
a s
S
t u
@
L
i b
@
o
o
7
o
o
k
@
( d A
* e ec eo !r d s
L
k
@
i b
S
@
N
o
S
t u
!
!
A
a m
"
C
d
e
e
#
e l a s s
n
t @
a r s3 P
e
C
u
l a s s
3
S e e c a o r cr dh
e
S
a i d
@
e e @
N
o
S S
@
N
o
#
C
@
-
S
3 -
S
t r u
D
t u
d
a
a
e
n
a l a n
c
t h
u
( n
b
l i
e e
E
"
u
m
@
S
3
e e
c t u@
Nr
t e
t @
3
e
e
" S
E
n # @ o 3 t ea e l @
i t i o
i t
@
P
N
#
u
b
2 e
c
t
7
e
a m
t a t u
s
Entity elationshi! Dia$ram )or School Mana$ement System
COMPLETE STRUCTURE OF THE PROGRAM: No" o) Modules used and their )unctions 5
eo
#he school mana$ement system o) Unity Public School is di'ided into si- !arts5 6 .a0 Student ecord .b0 School 3ee .i0
3ee Structure
.ii0
Student 3ee
.c0 3aculty Pro)ile .d0 School #ime #able .e0 E-amination esult .)0 Library Mana$ement
(a) Student Record: S) No) -) .) /) 0) 1) 2) 3) 4) 5) -
Fiel* Student@Name
Dt T%+e Varchar
Si,e 9>
Con&t"int Not Null
Student@3athers@Name
Varchar
9>
Not Null
Student@Mothers@Name
Varchar
9>
Not Null
3athers@4ccu!ation
Varchar
9>
Null
Mothers@4ccu!ation
Varchar
9>
Null
Student@S""@Number .Primary0
Varchar
8<
Not Null
Student@D47
Numeric
8B
Not Null
Student@Se-
#e-t
8:
Not Null
Student@Caste
#e-t
8B
Not Null
Student@Photo
7lob
:8
Not Null
6) -
Student@Address
Varchar
=8
Not Null
-) -
Student@Phone@No"
Numeric
98
Null
.) -
Date@o)@Admission
Numeric
8B
Not Null
/)
-
Student@Class@No" .e)" *ey0
Numeric
8:
Not Null
0) -
Student@Status
Varchar
8
Not Null
Class@No"
Dt T%+e Numeric
Si,e 8:
Con&t"int Not Null
#ution@3ee
Numeric
8=
Not Null
Annual@3ee@Amount
Numeric
8=
Null
E-am@3ee@Amount
Numeric
8=
Null
Con'eyance@3ee@Amount
Numeric
8=
Null
#otal@3ee@Amount
Numeric
8;
Not Null
Fiel* Student@S"" No".3"*"0
Dt T%+e Numeric
Si,e 8<
Con&t"int Not Null
Annual3ee@De!@Date
Numeric
8B
Not Null
3ee@Amount@Paid
Numeric
8;
Not Null
7alance@3ee
Numeric
8;
Not Null
#ution3ee@De!Date
Numeric
8B
Not Null
#ution3ee@AmountPaid
Numeric
8;
Not Null
#ution3ee@7alance
Numeric
8;
Not Null
E-am3ee@De!ositeDate
Numeric
8B
Not Null
E-am3ee@AmountPaid
Numeric
8;
Not Null
E-am3ee@7alance
Numeric
8;
Not Null
6) -
Con'eyance3ee@De!Date
Numeric
8B
Not Null
-) -
Con'eyance3ee@AmtPaid
Numeric
8;
Not Null
.) -
Con'eyance3ee@7alance
Numeric
8;
Not Null
/) -
#otal@Amount@Paid
Numeric
8;
Not Null
1)
(b &i) Fee Structure: S) No) -) .) /) 0) 1) 2)
Fiel*
(b 'ii) Student Fee: S) No) -) .) /) 0) 1) 2) 3) 4) 5) -
-
#otal@Amount@7alance
Numeric
8;
Not Null
1)
(c) Faculty Profile: S) No) -) .) /) 0) 1) 2) 3)
Fiel*
Dt T%+e
Si,e
Con&t"int
#eachers@Name #eachers@uali)ication #eachers@D47 #eachers@Se#eachers@Photo #eachers@Address #eachers@Phone No"
Varchar Varchar Numeric Varchar 7lob Varchar Numeric
:8 :8 8B 8: ;8 =8 98
Not Null Not Null Not Null Not Null Null Null Null
" 4) 5) -
#eachers@Date o) +oinin$ #eachers@Salary #eachers@Sub2ect9
Numeric Numeric Varchar
8B 8; 9:
Null Null Null
6) -
#eachers@Sub2ect:
Varchar
9:
Null
-) -
#eachers@Sub2ect=
Varchar
9:
Null
.) -
#eachers@Sub2ect;
Varchar
9:
Null
/) -
#eachers@Sub2ect<
Varchar
9:
Null
0) -
#eachers@Sub2ect>
Varchar
9:
Null
1) -
#eachers@Sub2ect
Varchar
9:
Null
2)
(d) School Time Table : S) No)
Fiel*
Dt T%+e
Si,e
Con&t"int
-)Sub2ect@Name .)Sub2ect@Code /)#otal No"@o)@Periods 0)#ime@ slots 1)Class@No"@Section 2)#eachers @Name
Varchar Varchar Numeric Numeric Varchar Varchar
9: 8> 8: 8; 8; 9:
Not Null Null Null Null Null Null
(e) Examination Result: S) No)
-) .) /) 0) 1) 2) 3)
Fiel* Student@S""No" .e)erence *ey0
Student@ClassNo" Student@Name Stud@3athers@Name esult@Status esult@ear #C@Status
Dt T%+e
Varchar Varchar Char Char Char Numeric 7oollean
Si,e
8; 8< 9< 9< ; ; 9
Con&t"int
Not Null Not Null Not Null Null Not Null Not Null Not Null
(f) Library Management: S) No)
-) .) /) 0) 1) 2) 3) 4) 5)
Fiel*
7ook@(d 7ook@#itle 7ook@Author Publication 7ook@(ssue 7ook@eturn 7ook@sub2ect 7ook@Cost 7ook@Status
TOOLS:
Dt T%+e
Vanchar Char Char Char Numeric Numeric Vanchar Numeric Char
Si,e
8< 9< 9< 9< 8B 8B 9< 8; 98
Con&t"int
Not Null Not Null Not Null Null Null Null Not Null Null Null
FRONT END / GUI TOOLs : Visual Basic 6! $isual asic *" : We ha'e selected Visual 7asic >"8 as our
3ront end " Visual
7asic is !ro$rammin$ lan$ua$e " (t is the most !oer)ul ob2ect oriented based lan$ua$e on =: bit o!eratin$ system " We )ind V7> /uite use)ul de'elo!in$ =: bit &U( based a!!lication " (n Visual !ro$rammin$ , mouse is used e-tensi'ely , codin$ in V7 is same as ritin$ !ro$rammin$ statements )or other lan$ua$es " We selected V7 because o) its sim!licity o) creatin$ o) reusable code libraries " V7 lets us mark ob2ects in a code com!onent as $lobal so that their methods can be in'oked ithout e-!licitly creatin$ an instance o) the $lobal ob2ects" 7y addin$ su!!ort )or class modules the creation o) Acti'e F .Com0, DLL , EFEs , V7 !ro'ides in)rastructure o) usin$ an ob2ect oriented techni/ue , hich bein$ used in this !ro2ect "
RDBMS / BAC" END:
S#L S$%&
%$S+L Ser!er %""": We ha'e selected SL 6 Ser'er :888, i"e" an D7MS !acka$e )or back end tool )or mana$in$ the database as this allos users to mana$e the database 'ery e))iciently and controls data redundancy and inconsistency " (t allos en)orcin$ 'arious data inte$rity constraints on the data bein$ entered into the tables" Database can be accessed usin$ &U( !ro'ided by the system " (t is 'ery easy to maintain " (t is also chea!er than other !acka$e "
SL
ser'er
is
an
D7MS
!acka$e
as
backend
tool )or
mana$in$ database as this allos users to mana$e the data base 'ery e))iciently and controls data redundancy and inconsistency " (t allos en)orcin$ 'arious data inte$rity constraints on the data bein$ entered into the tables " Data6base can be accesses usin$ many )ront tools and it can be installed on a sim!ly con)i$ured system"
OPERATING
SYSTEM
:
'INDO'S
E(&i%)(*$(+ ,NT - .!!! - P0 Ha%12a%$ R$3ui%$*$(+ ,Mi(i*u*0: Any Pentium Processor" 9:B M7 AM ith :"88 &7 ?ard Disk 3ree S!ace 9";; M7 3lo!!y Disk Dri'e Monitor Mouse CD64M Dri'e
Printer
SECURITY MECHANISMS: Security is !ro'ided at administrati'e and user le'el by introducin$ the conce!t o) !assords )or authenti)ication !ur!ose"
Passord is cate$ori%ed as 5 Administrator
6
Com!lete
User
6
Student ecord Dis!lay
6
3aculty Dis!lay
6
#ime #able read only
6
esults ead only
FUTURE SCOPE- FURTHER ENHANCEMENT AND LIMITATIONS: #his !ro2ect ill be use)ul )or any schools and colle$es ith sli$htly modi)ication" (t may be used )or En$lish Medium School as ell as ?indi Medium Schools" Pro2ect is )le-ible i"e" any chan$e 1 modi)ication in data base may be !er)orm easily" Also this !ro2ect could be made eb enabled" #his !ro2ect may be u!$raded ith some more modules such as s!orts module, !ri%e module, student attendance module, em!loyee salary module, annually recei!t and e-!enditure re!orts $eneration etc" #his !ro2ect can also be made )or multi6user en'ironment"
PROCESS LOGIC
#he !rocess lo$ic )or our !ro2ect is de!endin$ on !ro$ram structure"
S'ool Mn!e#ent S%&te#
Student Database
3aculty Database
3aculty #ime #able
Student 3ee ecord
Student #rans)er Certi)icate
Student esult
Student esult
School 3ee Structure
Library System
Class G Sub2ect Database
Each sub modules o) school mana$ement system re/uires sub6sub modules or di))erent )unctions, such student database has ne student entry, edit student record, delete student record" 3aculty database also has add, delete and modi)ication )unctions" 4nce e ha'e entered school )ee structure, e ha'e maintained student )ee record e))ecti'ely" Student esult is also has 'arious o!tions, such as indi'idual result, class result, )ail and !ass student record in each sub2ect as ell as in class" Also trans)er certi)icate ill be made com!uteri%ed" Another im!ortant module Library mana$ement has also 'arious sub6sub modules, such as ne book entry, search book, issue and return book, )ine char$es etc" #his !ro2ect carried out )or a )ull com!uteri%ed school mana$ement system" Most o) the school )unction as com!uteri%ed" #his !ro2ect ill be use)ul )or all schools and colle$es ith some modi)ication" #he modi)ication is customi%ed so it is not necessary to chan$e com!lete !ro2ect" Pro2ect is customised i"e" any chan$e 1 modi)ication in data base may be !er)orm easily" Also e are tryin$ to make this !ro2ect eb enabled"
PROJECT REPORT ON SCHOOL MANAGEMENT SYSTEM
CONTENTS S) NO)
9"
PARTICULARS
A!!ro'al o) Syno!sis
:"
Certi)icate o) 4ri$inality
="
Acknoled$ement
;"
(ntroduction
<"
4b2ecti'e
>"
System Analysis
"
(denti)ication o) Need
B"
Preliminary (n'esti$ation
H"
3easibility Study
98"
So)tare En$ineerin$ Paradi$m A!!lied
99"
So)tare G ?ardare e/uirement S!eci)ication
9:"
System Desi$n
9="
Code E))iciency
9;"
4!timi%ation o) Code
9<"
Validation Checks
9>"
Maintenance
9"
System #estin$
9B"
System Security Measures
9H"
Cost Estimation o) Pro2ect
:8"
PE# Chart
:9"
&antt Chart
::"
Database
:="
3orms
:;"
Codin$
:<"
7iblio$ra!hy
CERTIFICATE OF ORIGINALITY #his is to certi)y that the !ro2ect entitled 7S'ool Mn!"#ent S%&te#8 submitted to In*i" Gn*i Ntionl O+en Uni9e"&it% is !artial )ul)illment o) the re/uirement )or the aard o) the de$ree o) MASTER IN COMPUTER
APPLICATIONS (MCA$, is an ori$inal ork carried out by M") *i" A#* J;"i Enrolment No" 60.500.04 under my $uidance"
#he matter embodied in this !ro2ect is a $enuine ork done by the student and has not been submitted hether to this Uni'ersity or to any other Uni'ersity1(nstitute )or the )ul)illment o) the re/uirement o) any course o) study"
Si$nature o) Student5
Si$nature o) the &uide5
(*i" A#* J;"i$
(R
En"ol no) 60.500.04
Le't<"e"> I)F)T)M)
Moradabad
Moradabad
AC=NO?LEDGEMENT 3irst and )oremost, ( ould like to thank M") R
)or his !rodi$ious, !ersuasions, !ainstakin$, and attitude, re)ormati'e and !rudential su$$estions throu$hout my !ro2ect"
( am also $reatly thank)ul to M") A9*e& G<+t> le't<"e" )or installin$ in me a sense o) sel) con)idence and hel!in$ me as hen ( needed him"
Also my thanks to (&N4U study centre (n char$e, D") @)=) @t&, ho $a'e me the idea )or this !ro2ect" ( ould also thank to M") Jiten*" =<#" Jin*l> M") Dee+ =<#" S"# , lecturers in (3#M and M") A&wni =<#"> M") S
lecturers in study centre (&N4U, )or hel!in$ me in this !ro2ect" #hey hel!ed me
in de'elo!in$ such kind o) L(VE So)tare"
# A Ja4%i MCA VI SEM !5.55.57
INTRODUCTION
INTRODUCTION
Unity Public School is situated in Ekta Vihar, MDA Colony, Near Prem Wonder Land, am!ur oad, Moradabad" #he school is reco$ni%ed by U"P" &o't" (t is runnin$ since last three years )rom class Nursery to V(((th under administrati'e control o) Smt" *hurshid +a)ri"
At !resent the school mana$ement and its all !rocedures are totally manual based" (t creates a lot o) !roblems due to ron$ entries or mistakes in totalin$ etc" #his system a'oided such mistakes throu$h !ro!er checks and 'alidation control methods in checkin$ o) student record, )ee de!osit !articulars, teachers schedule, e-amination re!ort, issue o) trans)er certi)icates etc" ( met !ersonally to the !rinci!al and mana$er and discuss about the com!uteri%ation o) manual school mana$ement system" #his system re$isters a student and con)irms its admission in school" When a student re$isters in school a S"" No .uni/ue (D0 is allotted to student" Student record is based on his1 her S"" No"
OBJECTI@ES
OBJECTIVES #he ob2ecti'e o) de'elo!in$ such a com!uteri%ation system is to reduce the !a!er ork and sa)e o) time in school mana$ement" #here by increasin$ the e))iciency and decreasin$ the ork load" #he !ro2ect !ro'ides us the in)ormation about student record, school )aculty, school timetable, school )ee, school e-amination result and library mana$ement" #he system must !ro'ide the )le-ibility o) $eneratin$ the re/uired documents on screen as ell as on !rinter as and hen re/uired"
PROJECT DESCRIPTION: #he school mana$ement !rocess can be described usin$ di))erent modules" Each o) the module !er)orms a di))erent )unction"
SCHOOL MANAGEMENT SYSTEM
Student ecord
School 3ee
3aculty Pro)ile
#ime #able
E-amination esult
Library Mana$ement
(a) Student Record: We can easily )ind out the details o) student alon$ith his !hoto$ra!h by enterin$ his1her S"" No"
(b) School Fee: We can )ind out the )ee structure o) e'ery class and the )ee )or student hether the student has !aid )ee or not" () he1 she has not !aid school )ee ithin !rescribed !eriod, he 1 she should ha'e to !ay !enalty"
(c) Faculty Profile: We can easily )ind out the descri!tion about the teacher !osted in school "
(d) Time Table:
We can search out the name o) teacher and sub2ect in !articular class at a !articular time "
(e) Examination Result: We can check the !er)ormance o) students durin$ the !articular year " 4n !assin$ the !articular class , student record and student #C is u!dated "
(f) Library Management: Library mana$ement !rocess u!dates the library database" (t $i'es in)ormation about a !articular book hen issued to the student and hen it is taken back"
SS#EM ANALS(S
SYSTEM ANALYSIS System Analysis re)ers to the !rocess o) e-aminin$ a situation ith the intent o) im!ro'in$ it throu$h better !rocedures and methods" System desi$n is the !rocess o) !lannin$ a ne system to either re!lace or com!lement an e-istin$ system" 7ut be)ore any !lannin$ is done, the old system must be thorou$hly understood and the re/uirements determined" System Analysis is there)ore, the !rocess o) $atherin$ and inter!retin$ )acts, dia$nosis !roblems and usin$ the in)ormation to re6comment im!ro'ements in the system" 4r in other ords, System Analysis means a detailed e-!lanation or descri!tion" 7e)ore com!uteri%in$ a system under consideration, it has to be analy%ed" We need to study ho it )unctions currently, hat are the !roblems, and hat are the re/uirements that the !ro!osed system should meet"
#he main com!onents o) makin$ so)tare are5
•
System and so)tare re/uirements analysis
•
Desi$n and im!lementation o) so)tare
•
Ensurin$, 'eri)yin$ and maintainin$ so)tare inte$rity
System analysis is an acti'ity that encom!asses most o) the tasks that are collecti'ely called Com!uter System En$ineerin$" Con)usion sometimes occurs because the term is o)ten used in conte-t that all dues it only to so)tare re/uirement analysis acti'ities, but system analysis )ocuses on all the system elements6 not 2ust so)tare"
System analysis is conducted ith the )olloin$ ob2ecti'es in mind5
•
(denti)y the customers need
•
E'aluate the system conce!t )or )easibility
•
Per)orm economic and technical analysis
•
Allocate )unctions to hardare, so)tare, !eo!le, database and other
system elements •
Establish cost and schedule constraints
•
Create a system de)inition that )orms the )oundation )or all the
subse/uent en$ineerin$ ork"
System Analysis is consistin$ o) to main orks i"e" (denti)y the need and Preliminary (n'esti$ation"
PHASE DEVELOPMENT PROCESS
A de'elo!ment !rocess consists o) 'arious !hases, each !hase endin$ ith a de)ined out!ut" #he !hases are !er)ormed in an order s!eci)ied by the !rocess model bein$ )olloed" #he main reason )or ha'in$ a !hased !rocess is that it breaks the !roblem o) de'elo!in$ so)tare into success)ully !er)ormin$ a set o) !hases, each handlin$ a di))erent concern o) so)tare de'elo!ment" (t allos !ro!er checkin$ )or /uality and !ro$ress )or $i'en so)tare durin$ de'elo!ment .end o) !hases0" 4ne !hase ould ha'e to ait until the end hat so)tare has been !roduced" #his ill not ork )or lar$e system" ?ence )or mana$in$ the com!le-ity, !ro2ect trackin$, and /uality, all the de'elo!ment !rocess consists o) set o) !hases" Various !rocess models ha'e been !ro!osed )or de'elo!in$ so)tare" Each or$ani%ation that )ollos a !rocess has its on 'ersion" #he di))erent !rocess can ha'e di))erent acti'ities"
(n $eneral, e can say that any !roblem sol'in$ in so)tare must consist o) these acti'ities5
e/uirement s!eci)ication )or understandin$ and clearly statin$ the !roblem"
Desi$n )or decidin$ a !lan )or a solution" Codin$ )or im!lementin$ the !lanned solution #estin$ )or 'eri)yin$ the !ro$rams
3or small !roblem these acti'ities may not be clearly de)ined, and no ritten record o) the acti'ities may be ke!t" 7ut )or the com!le- and lar$e system here the !roblem sol'in$ acti'ity may last cou!le o) years and here many !ersons are in'ol'ed in de'elo!ment, and each o) these )our !roblem sol'in$ acti'ities has to be done )ormally" Each o) these acti'ities is a ma2or task )or lar$e so)tare !ro2ects"
IDENTIFICATION OF NEED
(DEN#(3(CA#(4N 43 #?E NEED REUIREMENT ANALYSIS
e)ines !ro2ect $oals into de)ined )unctions and o!eration o) the intended a!!lication" Analy%es end6user in)ormation needs" Analysis is a detail study o) the 'arious o!erations !er)ormed by a system and their relationshi!s ithin and outside the system" #he !roblem could be automatin$ an e-istin$ manual !rocess, de'elo!in$ a ne automated system, or a combination o) the to" A key /uestion is5
what is
needed )or
the system, not ho the system ill achie'e its $oal" Durin$ analysis, data are collected on the a'ailable )iles, decision !oints, and transactions handled by the !resent system" 3or lar$e systems that ha'e many )eatures, and that need to !er)orm many di))erent tasks, understandin$ the re/uirements o) the system is a ma2or task" Data )lo dia$rams, inter'ies, on6site obser'ations, and /uestionnaires are the e-am!les o) re/uirement analysis" #rainin$, e-!erience, and common sense are re/uired )or collection o) the in)ormation needed to do the analyst"
4nce the analysis is com!leted, the analyst has a )irm understandin$ o) hat is to done" #his task is com!licated by the )act that there are o)ten at least to !arties in'ol'ed in so)tare de'elo!ment6a client and a de'elo!er" #he de'elo!er usually does not understand the clients !roblem domain, and the client o)ten does not understand the issues in the so)tare systems" #his causes a communication $a! beteen client and de'elo!er" #he $oal o) the re/uirement s!eci)ication !hase is to !roduce the so)tare re/uirements s!eci)ication document .also called the re/uirement document0" #he !erson res!onsible )or the re/uirement analysis is o)ten called the analyst"
#here are to ma2or acti'ities in this !hase5 Problem understandin$ or analysis and re/uirement s!eci)ication" (n !roblem analysis, the analyst has to! understand the !roblem and its conte-t" Analysis re/uires a thorou$h understandin$ o) the system, !arts o) hich ha'e to be automated" #he $oal o) this acti'ity is to understand the re/uirement o) the ne system that is to be de'elo!ed" #he client may not really kno the need s o) the system" #he analyst has to make the client aare o) the ne !ossibilities, hel!in$ both client and the analyst the re/uirements )or the ne system"
4nce the !roblem is analy%ed and the essentials understood, the re/uirement is s!eci)ied in the re/uirement document" 3or re/uirement s!eci)ication in the )orm o) document, some s!eci)ication lan$ua$e has to be selected .e"$" En$lish, re$ulates e-!ressions, tables, or combination o) these0" A !reliminary user manual that describes all the ma2or uses inter)aces )re/uently )orm a !art o) the re/uirement document"
#he )irst ste! o) system analysis !rocess in'ol'es the identi)ication o) need" #he analyst .system en$ineer0 meets ith the customer G the end user .i) di))erent )rom customer0" (denti)ication o) need is the startin$ !oint in the e'olution o) a com!uter based system" #he analyst assists the customer on de)inin$ the $oals o) the system5
•
What in)ormation ill be !roducedI
•
What in)ormation is to be !ro'idedI
•
What )unctions and !er)ormance are re/uiredI
#he analyst makes sure to distin$uish beteen customer JneedsK and customer JantsK" #hat is hat the main aim behind the system is" De)inin$ aim is 'ery 'ital in system ork" () e do not kno here e ant to $o, e ill not kno hen e ha'e reached their" 4nce e kno our aim, e can try to achie'e it in the best !ossible ay"
#he user de!artment has to de)ine these ob2ecti'es in terms o) their needs" #hese become the out!uts hich the system analyst kee!s in to mind"
4nce e kno the out!ut, e can easily determine hat the in!ut should be" #he essential elements o) in!uts are timeliness, accuracy, !ro!er )ormat and economy"
(n)ormation $athered durin$ the need identi)ication ste! is s!eci)ied in a S%&te# Con'e+t Do'<#ent) #he customer be)ore meetin$s sometimes !re!ares the ori$inal
conce!t document ith the analyst" (n'ariably, customer6analyst communication results in the modi)ications to the documents"
PRELIMINARY IN@ESTIGATION
PRELIMINARY IN@ESTIGATION Limitations or )ailure o) e-istin$ systems, or the aareness o) technolo$ical ad'ances relatin$ to the !articular are in'ol'ed in !articular systems hich com!etitors are de'elo!in$"
(n)ormation systems !ro2ects ori$inate )rom many reasons5 to achie'e $reater s!eed in !rocessin$ data, better accuracy and im!ro'ed consistency, )aster in)ormation retrie'al, inte$ration o) business areas, reduced cost and better security" #he sources also 'ary !ro2ect !ro!osals ori$inate ith de!artment mana$ers, senior e-ecuti'es and systems analysis" Sometimes the real ori$in is an outside source, such as a $o'ernment a$ency, hich sti!ulates systems re/uirements the or$ani%ation must meet" When the re/uest is made, the )irst systems acti'ity, the !reliminary in'esti$ation, be$ins" #he acti'ity has three !arts5 re/uest clari)ication, )easibility study and re/uest a!!ro'al"
Re
#his !hase .initial study0 in'ol'es estimatin$ hether or not a de'elo!ment !ro2ect is orthhile"
Problems ith the current automated or manual system are
identi)ied, as ell as the bene)its and costs o) an alternati'e system" () the bene)its seem to outei$h the costs .es!ecially hen com!ared ith com!etin$ !ro2ects0, a $reen si$nal may be $i'en to continue the !ro2ect, and detailed !lans and schedules are dra)ted )or makin$ the system a reality"
#he !ro!osed solution to the users !roblem may in'ol'e somethin$ beteen dramatic chan$e .com!letely ne system0 and sli$ht chan$e to the !resent system" () the !resent system is manual and a com!uter system is !ro!osed, the de'elo!ment !ro2ect ill !robably be 'ery lar$e" At the other e-treme are small de'elo!ment !ro2ect that re!resent sli$ht chan$es to e-istin$ systems, such as sortin$ in)ormation in a di))erent ay or insertin$ subtotals or addin$ ne columns to a re!ort" #he ob2ecti'es o) this !hase are5
9 #o determine the )easibility o) com!uteri%ation o) a !articular system or area o) o!eration"
:" #o de)ine clearly the ob2ecti'es, sco!e and limitations o) the !ro2ect"
=" #o establish a $ood orkin$ relationshi! beteen the user de!artment and the data !rocessin$ .DP0 de!artment"
;" #o ac/uaint user mana$ement ith the a!!roach and method o) ork in systems de'elo!ment"
<" #o estimate the resources re/uired )or system de'elo!ment, li'e runnin$ and maintenance"
>"
#o identi)y the likely bene)its, hich should accrue )rom the introduction
o) the system"
FEASIBILITY STUDY
FEASIBILITY STUDY #he data data collect collection ion that that occurs occurs durin$ durin$ !relim !reliminar inary y in'esti in'esti$at $ation ionss e-amin e-amines es system )easibility, the likelihood that the system ill be bene)icial to the or$ani%ation" 3our 3our tests tests o) )easibili )easibility ty are studies5 studies5 technic technical, al, economic economical al and o!erati o!erationa onal" l"
All are
e/ually im!ortant"
-) Te'n Te'ni'l i'l Fe&ii Fe&iilit% lit%::
(t in'ol' in'ol'es es determ determinin inin$ $ hethe hetherr or not a
system can actually be constructed constructed to sol'e the !roblem at hand" Some users e-!ect too much much o) com! com!ut uter ers, s, assum assumin in$ $ that that com! com!ut uters ers can accur accurat atel ely y !red !redic ictt the the )utu )uture, re, immediately re)lect all in)ormation in an or$ani%ation, easily understand s!eech, or )i$ure )i$ure out ho to handle di))icult di))icult !roblems" !roblems" Such systems, systems, e'en i) they e-ist, are not yet a'ailable )or ides!read use"
#he technical issues raised durin$ the )easibility sta$e o) the in'esti$ation are5
9" Does Does the the neces necessa sary ry tech techno nolo lo$y $y e-ist e-ist .can .can it be ac/u ac/uire ired0 d0 to do hat hat is su$$estedI
:" Does the !ro!osed e/ui!ment ha'e the technical ca!acity to hold the data re/uired to use the ne systemI
=" Will the !ro!osed system and com!onents !ro'ide ade/uate res!onses to in/uires, re$ardless o) the number or location o) usersI
;" Can the system be e-!anded, i) de'elo!edI
<" Are there technical $uarantees o) accuracy, reliability, ease o) access and data securityI
3or e-am!le, i) the !ro!osal includes a !rinter that !rints at the rate o) :,888 lines !er minute, a brie) search shos that this is technically )easible" Whether it should be included in the con)i$uration because o) its cost is an economic decision" 4n the other hand, i) a user is re/uestin$ audio in!ut to rite, read, and chan$e stored data, the !ro!osal may not be technically )easible"
.) E'ono#i'l Fe&iilit%:
(t in'ol'es estimatin$ bene)its and costs"
#hese bene)its and costs may be tan$ible or intan$ible" 7ecause o) con)usion beteen the ty!es o) costs, it is sometimes 'ery di))icult to decide i) the bene)its outei$h the costs"
#an$ible bene)its may include decreasin$ salary costs .by automatin$ manual !rocedures0, !re'entin$ costly but )re/uent errors, sendin$ bills earlier in the month, and increasin$ control o'er in'entory le'els" Such bene)its may be directly estimated in ru!ees ithout much trouble" (ntan$ible bene)its may include increasin$ /uality o) $oods !roduced, u!$radin$ or creatin$ ne customer ser'ices, reducin$ re!etiti'e or monotonous ork )or em!loyees, and de'elo!in$ a better understandin$ o) the market" Such bene)its may be much more im!ortant than tan$ible bene)its, but they may be i$nored because estimatin$ their ru!ee 'alues in'ol'es !ure $uessork"
#an$ible costs are easily estimated"
#hey include the one6time cost o)
de'elo!in$ the system and the continuous costs o) o!eratin$ the system" E-am!les o) de'elo!ment costs are the salaries o) !ro$rammers and analysts, the !rices o) the com!uter e/ui!ment, and the e-!enses connected ith user trainin$" 4!eratin$ costs
include the salaries o) com!uter o!erators and the costs o) com!uter time and com!uter su!!lies"
(ntan$ible costs are usually not discussed because they are rarely lar$e"
E-am!les o) such costs include those associated ith early user dissatis)action and ith the !roblems o) con'ertin$ to the ne system"
A system that can be de'elo!ed technically and ill be used i) installed must still be a $ood in'estment" #hat is, )inancial bene)its must e/ual or e-ceed the )inancial costs" #he economic and )inancial /uestions raised by analysts durin$ the !reliminary in'esti$ation seek estimates o)5
9" #he cost to conduct a )ull systems in'esti$ation"
:" #he cost o) hardare and so)tare )or the class o) a!!lication bein$ considered"
=" #he bene)its in the )orm o) reduced costs or )eer costly errors"
;" #he cost i) nothin$ chan$es .the system is not de'elo!ed0"
Cost and bene)it estimates on each !ro2ect !ro'ide a basis )or determinin$ hich !ro2ects are most orthy o) consideration" Each estimate can be analy%ed to determine ho ra!idly costs are reco'ered by bene)its, to calculate both the absolute and interest6 ad2usted amounts o) e-cess bene)its, and to establish the ratio o) bene)its to costs" All o) these )actors are considered hen de'elo!in$ an o'erall sense o) the !ro2ects economic )easibility"
#o be 2ud$ed )easible, a !ro2ect !ro!osal must !ass all these tests" 4therise, it is not a )easible !ro2ect" 3or e-am!le, a !ersonnel record system that is )inancially )easible and o!erational attracti'e, is not )easible i) the necessary technolo$y does not
e-ist" 4r a medical system hich can be de'elo!ed at reasonable cost but hich nurses ill a'oid usin$ cannot be 2ud$ed o!erationally )easible"
/) O+e"tionl Fe&iilit%:
Pro!osed !ro2ects are o) course bene)icial
only i) they can be turned into in)ormation systems that ill meet the or$ani%ations o!eration re/uirements" Sim!ly stated, this test o) )easibility asks i) the system ill ork hen de'elo!ed and installed" Are there ma2or barriers to im!lementationI ?ere are /uestions that ill hel! test the o!erational )easibility o) a !ro2ect5
9" (s there su))icient su!!ort )or the !ro2ect )rom the mana$ement and )rom usersI () the current system is ell liked and used to the e-tent that !ersons ill not see reasons )or a chan$e, there may be resistance"
:" Are current business methods acce!table to the userI () they are not, user may elcome a chan$e that ill brin$ about a more o!erational and use)ul system"
=" ?a'e the users been in'ol'ed in the !lannin$ and de'elo!ment o) the !ro2ectI Early in'ol'ement reduces the chances o) resistance to the system and chan$e in $eneral, and increases the likelihood o) success)ul !ro2ects"
;" Will the !ro!osed system cause harmI #he )olloin$ /uestions are related to this issue5
Will the system !roduce result in any res!ect or areaI
Will loss o) control result in any areaI
Will accessibility o) in)ormation be lostI
Will indi'idual !er)ormance be !oorer a)ter im!lementation than be)oreI
Will customers be a))ected in an undesirable ayI
Will it slo !er)ormance in any areasI
4!erational )easibility is a measure o) ho !eo!le are able to ork ith the system" 3or e-am!le, a system may re/uire mana$ers to rite 7AS(C, C474L, or 34#AN !ro$rams to access data" ?oe'er, mana$ers !robably recei'e the $reatest hel! )rom a system hen they can concentrate on the !roblems to sol'e rather than on ho !ro$rams should be constructed to sol'e them"
SOFT?ARE ENGINEERING PARADIGM APPLIED
S43#WAE AND ?ADWAE EU(EMEN# SPEC(3(CA#(4NS
FRONT END GUI TOOL& : $isual RDBMS BAC= END:
asic *" :
S+L Ser!er %""":
OPERATING
SYSTEM
:
E(&i%)(*$(+ ,NT - .!!! - P0 Ha%12a%$ R$3ui%$*$(+ ,Mi(i*u*0: Any Pentium Processor" 9:B M7 AM ith :"88 &7 ?ard Disk 3ree S!ace 9";; M7 3lo!!y Disk Dri'e Monitor Mouse CD64M Dri'e
Printer
'INDO'S
SYSTEM DESIGN
SYSTEM DESIGN
(t describes desired )eatures and o!erations in detail, includin$ screen layouts, business rules, !rocess dia$rams, !seudocode and other documentation" #he most creati'e and challen$es !hase o) the so)tare de'elo!ment li)e cycle is so)tare desi$n" #he term desi$n describes )inal so)tare and the !rocess by hich it is de'elo!ed" #he !ur!ose o) the desi$n !hase is to !lan a solution o) the !roblem s!eci)ied by the re/uirements document" (t also includes the construction o) !ro$rams and !ro$ram testin$" Desi$n takes us toard
how to
satis)y the needs" #he desi$n o) a system is
!erha!s the most critical )actor a))ectin$ the /uality o) the so)tare it has a ma2or im!act on the later !hase, !articularly testin$ and maintenance" #he out!ut o) this !hase is the desi$n document"
#he )irst ste! is to determine ho the out!ut is to be !roduced and in hat )ormat" Sam!les o) the out!ut and in!ut are to !resent Second, in!ut data and master )iles .database0 ha'e to be desi$ned to meet the re/uirement o) the !ur!osed out!ut" #he o!erational .!rocessin$0 !hases are handled throu$h !ro$ram construction and testin$, includin$ a list o) the !ro$rams needed to meet the so)tare ob2ecti'es and com!lete documentation"
#he desi$n acti'ity is o)ten di'ed into to !hases6system desi$n and detailed desi$n" System desi$n, hich is sometimes also called to!6le'el desi$n, all the ma2or data structures, )ile )ormats, out!ut )ormats, and the ma2or modules in the system and their s!eci)ication are decided"
Durin$ detailed desi$n, the internal lo$ic o) each o) the modules s!eci)ied in system desi$n is decided" Durin$ this !hase )urther details o) the data structure and al$orithmic desi$n o) each o) the modules is s!eci)ied"
(n system desi$n )ocus is on identi)yin$ the modules, hereas durin$ detailed desi$n )ocus is on desi$nin$ the lo$ic )or each o) the modules" (n other ords, in system desi$n the attention is on hat com!onents are needed, hile in detailed desi$n
how the
com!onent can be im!lemented in so)tare is the issue"
#he desi$n o) an in)ormation system !roduces the details that state ho a system ill meet the re/uirements identi)ied durin$ systems analysis" 4)ten systems s!ecialists re)er to this sta$e as lo$ical desi$n, in contrast to de'elo!in$ !ro$ram so)tare, hich is re)erred to as !hysical desi$n"
As soon as the user acce!ts the system !ro!osal, ork can start on !re!arin$ the system s!eci)ication" #his !hase takes the re/uirements as a$reed and the ork, hich has led u! to !roducin$ the !ro!osal and de'elo!s the system to the le'el o) details necessary to !re!are the ay )or !ro$rammin$" At this !oint the analysts is concerned ith the detail o) in!ut and out!ut, the !rocessin$ re/uired, and the ay in hich the system ill o!erate on a day6to6day basis" De!endin$ on the le'el o) com!le-ity o) the system and the amount and /uality o) ork done at the earlier sta$es, this !hase can take many months o) hard ork" (t is concerned ith the com!uter6oriented desi$n o) the system66the detail o) the in!ut transactions, the details o) the !rinted re!orts, screens and other out!uts, the )ile or database structure, the contents o) records, the !rocessin$ re/uired and the e))iciency o) the system )rom a com!uter !rocessin$ !oint o) 'ie"
Systems analysts start by identi)yin$ re!orts and other out!uts the system ill !roduce" #hen the s!eci)ic data on each is !in!ointed, includin$ its e-act location on the !a!er, dis!lay screen, or other medium" Usually desi$ners sketch the )orm or dis!lay as they e-!ect it to a!!ear hen the system is com!leted"
#he system desi$n also describes the data to be in!ut, calculated or stored" (ndi'idual data items and calculation !rocedures are ritten in detail" Desi$ners select )ile structures and stora$e de'ices, such as ma$netic disk, ma$netic ta!e, or e'en !a!er )iles" #he !rocedures they rite tell ho to !rocess the data and !roduce the out!ut"
#he documents containin$ the desi$n s!eci)ications use di))erent ays to !ortray the desi$n66 charts, tables, and s!ecial symbols66some o) hich you may ha'e used and others that may be totally ne to you" #he detailed desi$n in)ormation is !assed onto the !ro$rammin$ sta)) so that so)tare de'elo!ment can be$in"
Desi$ners are res!onsible )or !ro'idin$ !ro$rammer ith com!lete and clearly outlines s!eci)ications that state hat the so)tare should do" As !ro$rammin$ starts, desi$ners are a'ailable to anser /uestions, clari)y )u%%y areas, and handle !roblems that can )ront the !ro$rammers hen usin$ the desi$n s!eci)ications"
A ty!ical system s!eci)ication ill contain5
9" An introduction con'ertin$ the rele'ance o) the document and ho it has e'ol'ed )rom the !re'ious !hases"
:" A descri!tion o) the system" #his is usually an outline in a narrati'e )rom ith accom!anyin$ )lo charts, !rocedure charts, and data )lo dia$rams or data models"
=" Detailed descri!tion o) in!uts, out!uts and )iles, )or e-am!le document layouts .in!ut0, screen layouts, re!ort layouts, )ile1record layouts, and database schemes"
;" A descri!tion o) the control, hich o!erate ithin the system" #his includes control o'er in!ut and !rocessin$, restriction on access .e"$", !assords and control o'er
in!ut and !rocessin$, restrictions on access .e"$", !assords and control on out!ut .e"$" numberin$ o) checks0
<" Processin$ re/uired" #his may in )act be handled by s!eci)yin$ $enerally hat atch !ro$ram in the system is e-!ected to do and by backin$ this u! ith indi'idual !ro$ram s!eci)ications issued se!arately"
Arran$ements )or testin$ may also be
described in this section"
>" (m!lementation consideration 66 arran$ements )or con'ertin$ e-istin$ )iles checkin$ !arallel runs, !roduction o) user !rocedures and !roduction o) com!uter 6related !rocedures"
" A detailed de'elo!ment and im!lementation time6table" #his section should list all o) the tasks to be done, includin$ indi'idual !ro$rams, shoin$ the interrelationshi! beteen each task and the !lanned start and com!letion date )or each task"
B" A back 6u! !lan" #his should describe be !rocedures to be de'elo!ed )or takin$ security dum!s o) )iles, )or ensurin$ system resilience .e"$", du!le-in$0 and )or runnin$ the system at an alternati'e site in the e'ent o) the com!uter not bein$ a'ailable"
(t is at this sta$e that the )irst reliable estimate o) the amount o) com!uter !ro$rammin$ e))ort re/uired can be !roduced" U! to this !oint the estimates are to a lar$e e-tent in)ormed $uesses and hat comes out at the end o) this e-ercise may be /uite )ri$htenin$ com!ared ith the !re'iously a'ailable estimates" #his is a 'alid reason )or ensurin$ that senior mana$ement continues to ha'e an a!!ro'al role at the conclusion o) this sta$e"
CODE EFFICIENCY
CODE EFFICIENCY #he de$ree to hich the so)tare makes o!timal use o) system resources as indicated by the )olloin$ sub attributes5 time beha'ior, resource beha'ior"
#he
e))iciency is the amount o) com!utin$ resources and code re/uired by a !ro$ram to !er)orm its )unctions"
A desi$n should clearly be 'ery 'eri)iable, com!lete .im!lements all the s!eci)ication0, and traceable .all desi$n elements can be traced to some re/uirements0" ?oe'er, the to most im!ortant !ro!erties that concerned desi$ners are e))iciency and sim!licity"
E))iciency o) any system is concerned ith the !ro!er use o) scarce
resources by the system" #he need )or e))iciency arises due to cost considerations" () some resources are scarce and e-!ansi'e, it is desirable that those resources be used e))iciently"
(n com!uter systems, the resources that are most o)ten considered )or
e))iciency are !rocessors time and memory" An e))icient system is one that consumes less !rocessors time and re/uire less memory" (n earlier days, the e))icient use o) CPU and memory as im!ortant due to the hi$h cost o) hardare" No that the hardare cost are small com!ared to the so)tare costs, )or many so)tare systems traditional e))iciency concerns no take a back seat com!ared to other consideration" 4ne o) the e-ce!tions is real6time system, here there are strict e-ecution time constraints" 3or e-am!le, o)ten the JtricksK used to increase the e))iciency o) a system result in makin$ the system more com!le-" #here)ore, desi$n decisions )re/uently in'ol'e trade6o))s" (t is the desi$ners 2ob to reco$ni%ed the tradeOo))s and achie'e the best balance" 3or our !ur!oses, sim!licity is the !rimary !ro!erty o) interest, and there)ore the ob2ecti'e o) the desi$n !rocess is to !roduce desi$ns that are sim!le to understand"
OPTIMIATION OF CODE
OPTIMIATION OF CODE #he #erm J Code 4!timi%ationK re)ers to techni/ues a com!iler can em!loy in an attem!t to !roduce a better ob2ect lan$ua$e !ro$ram than the most ob'ious )or a $i'en source !ro$ram"
#he !rimary /uestions are ho bene)icial a $i'en o!timi%ation is and ho much its costs to im!lement"
(n some situations it is unnecessary to consider any
o!timi%ation a /uick and strai$ht)orard translation o) the source !ro$ram is su))icient" #y!ical o) this situation is a Jstudent 2obK hich ill be run a )e times and than discarded" E-actly the o!!osite is true o) a !ro$ram, hich is to be run an inde)initely lar$e number o) times" Virtually any amount o) time s!ent im!ro'in$ the runnin$ time o) the !ro$ram ill be !aid back by e'en a small !ercenta$e s!eedu! each time the !ro$ram is run"
(n most cases, hoe'er, a !ro$ram ill not run inde)initely ithout bein$ chan$e and recom!ile"
(t is economic there)ore to ha'e a'ailable an Jo!timi%in$K
com!iler hich make ell 2ud$ed attem!ts to im!ro'e the code it !roduces" (t is im!ortant that the o!timi%in$ com!iler attem!t trans)ormations that are likely to im!ro'e the code ith out costin$ too much time at com!ilation" #he e/uation to bear in mind is that the runnin$ time e e-!ect to sa'e o'er the e-!ected numbers o) run o) the o!timi%ed ob2ect !ro$ram must e-ceed the time s!ent by the com!iler doin$ the o!timi%ation" #he trend is to make a'ailable )or each !ro$rammin$ lan$ua$e se'eral com!ilers, or o!tions ithin one com!iler, that s!end 'aryin$ amounts o) time
im!ro'in$ the code they $enerate and !roduce code o) increasin$ /uality" (n this ay the user can decide ho much time he ishes to s!end o!timi%in$ his !ro$ram"
Code o!timi%ation techni/ues are $enerally a!!lied a)ter synta- analysis, usually both be)ore and durin$ code $eneration"
Code o!timi%ation de!ends on the ty!e o) a!!lication hat is ritin$" (n most cases, you ill be o!timi%in$ small, ti$ht sections o) code that are e-ecuted )re/uently .such as loo!s or )re/uently called !rocedures0" Code o!timi%ation re/uires a combination o) e-!erience, and eye )or detail, and a basic understandin$ o) the architecture o) the lan$ua$e and ho !rocessors ork"
@ALIDATION CHEC=S
@ALIDATION CHEC=S Veri)ication and 'alidation .V G V0 is the $eneric name $i'en to the checkin$ !rocesses hich ensure that so)tare con)orms to its s!eci)ica tion and meets the need o) the so)tare customer" #he system should be 'eri)ied and 'alidated at each sta$e o) the so)tare !rocess usin$ documents !roduced durin$ the !re'ious sta$e" Veri)ication and 'alidation i"e" starts ith re/uirements re'ies and continues throu$h desi$n and code re'ies to !roduct testin$"
Veri)ication in'ol'es checkin$ that the !ro$ram con)orms to its s!eci)ication" Validation in'ol'es checkin$ that the !ro$ram im!lemented meets the e-!ectations o) the so)tare customer" e/uirements 'alidation techni/ues, such as !rototy!in$, hel! in this res!ect" ?oe'er, )las and de)iciency in the re/uirements can sometimes only be disco'ered hen the system im!lementation is com!lete"
#o satis)y the ob2ecti'es o) the V G V !rocess, both static and dynamic techni/ues o) system checkin$ and analysis should be used" Static techni/ues are concerned ith the analysis and checkin$ o) system re!resentations such as the re/uirements document" Desi$n dia$ram and the !ro$ram source code" #hey may be a!!lied at all sta$es o) the !rocess throu$h structured re'ies" Dynamic techni/ues or test in'ol'e e-ercisin$ and im!lementation"
Static techni/ues include !ro$ram
ins!ections, analysis and )ormal 'eri)ication" Some !urists ha'e su$$ested that these techni/ues should com!letely re!lace dynamic techni/ues in the 'eri)ication and 'alidation !rocess and that testin$ is unnecessary" #his is nonsense" Static techni/ues
can only check the corres!ondence beteen a !ro$ram and its s!eci)ication they cannot demonstrate that the so)tare is o!erationally use)ul"
Althou$h static 'eri)ication techni/ues are becomin$ more idely used, !ro$ram testin$ is still the !redominant 'eri)ication and 'alidation techni/ue" #estin$ in'ol'es e-ercisin$ the !ro$ram usin$ data like the real data !rocessed by the !ro$ram" #he e-istence o) !ro$ram de)ects or inade/uacies is in)erred )rom une-!ected system out!ut" #estin$ may be carried out durin$ the im!lementation !hase to 'eri)y that the so)tare beha'es as intended by its desi$ner and a)ter the im!lementation is com!lete" #his later testin$ !hase checks con)ormance ith re/uirements and assesses the reliability o) the system"
IMPLEMENTATION AND MAINTENANCE
SOFT?ARE MAINTENANCE What ha!!ens durin$ the rest o) the so)tares li)e5 chan$es, correction, additions, mo'es to a di))erent com!utin$ !lat)orm and more" #his, the least $lamorous and !erha!s most im!ortant ste! o) all, $oes on seemin$ly )ore'er" A)ter installation !hase is com!leted and the user sta)) is ad2usted to the chan$es created by the candidate system, e'aluation and maintenance be$in" #he im!ortance o) maintenance is to continue to brin$ the ne system to standards" So)tare maintenance is a task that e'ery de'elo!ment $rou! has to )ace hen the so)tare is deli'ered to the customers site, installed and is o!erational" #he time s!ent and e))ort re/uired kee!in$ so)tare o!erational a)ter release is 'ery si$ni)icant and consumes about ;868 o) the cost o) the entire li)e cycle"
#he term Maintenance is a little stran$e hen a!!lied to so)tare" (n common s!eech, it means )i-in$ thin$s that break or ear out" (n so)tare nothin$ ears out it is either rin$ )rom be$innin$, or e decode later that e ant to do somethin$ di))erent" (t is a 'ery broad acti'ity that includes error corrections, enhancements o) ca!abilities, deletion o) obsolete ca!abilities, and o!timi%ation"
#here are three ma2or cate$ories o) so)tare maintenance5
Co""e'ti9e Mintenn'e: #his re)ers to modi)ications initiated by de)ects in the
so)tare" (t means re!airin$ !rocessin$ or !er)ormances )ailures or makin$ chan$es because o) the !re'iously uncorrected !roblems" A de)ect can result )rom desi$n errors, lo$ic errors and codin$ errors" Desi$n errors occur hen, chan$es made to the so)tare are incorrect, incom!lete, ron$ly communicated or the chan$e re/uest is
misunderstand" Lo$ic errors result )rom in'alid tests and conclusions, incorrect im!lementation o) desi$n s!eci)ication, )aulty lo$ic )lo or incom!lete test data" Codin$ errors are caused by data !rocessin$ errors and system !er)ormances errors"
A*+ti9e Mintenn'e: (t includes modi)yin$ the so)tare to match chan$es in the
e'er6chan$in$ en'ironment" #he term en'ironment in this conte-t re)ers to the totally o) all conditions and in)luences hich act )rom outside u!on the so)tare, )or e-am!le, business rules, $o'ernment !olicies, ork !atterns, so)tare and hardare o!eratin$ !lat)orms" #his ty!e o) maintenance includes any ork initiated as a conse/uence o) mo'in$ the so)tare to a di))erent hardare or so)tare !lat)orm6com!iler, o!eratin$ system or ne !rocessor" (t means chan$in$ the !ro$ram )unction"
Pe";e'ti9e Mintenn'e: (t means im!ro'in$ !rocessin$ e))iciency or !er)ormance, or
restructurin$ the so)tare to im!ro'e chan$eability" When the so)tare becomes use)ul, the user trend to e-!eriment ith the ne cases beyond the sco!e )or hich it as initially de'elo!ed" (t means enhancin$ the !er)ormance or modi)yin$ the !ro$rams to res!ond to users additional or chan$in$ needs"
(n com!arison ith all the three maintenance, !er)ecti'e takes more time and s!ent more money"
Maintenance co'ers a ide ran$e o) acti'ities, includin$ correctin$ codin$ and desi$n errors, u!datin$ documentation and test data and u!$radin$ user su!!ort" Maintenance means restorin$ somethin$ to its ori$inal condition unlike hardare, hoe'er, so)tare does not ear out, it is corrected" A ma2or !roblem ith so)tare maintenance is its labor6intensi'e nature"
SYSTEM TESTING
SYSTEM TESTING
(t brin$s all the !ieces to$ether into a s!ecial testin$ en'ironment, then checks )or errors, bu$s and intero!erability" So)tare testin$ is the !rocess o) testin$ the so)tare !roduct" E))ecti'e so)tare testin$ ill contribute to the deli'ery o) hi$her /uality so)tare !roducts, more satis)ied users, loer maintenance costs, more accurate, and reliable results" ?oe'er, ine))ecti'e testin$ ill lead to the o!!osite results lo /uality !roducts, unha!!y users, increased maintenance costs, unreliable and inaccurate results"
#estin$ is the ma2or /uality control measure used durin$ so)tare de'elo!ment" (ts basic )unction is to detect errors in the so)tare" (t is a 'ery e-!ensi'e !rocess and consumes one6third to one6hal) o) the cost o) a ty!ical de'elo!ment !ro2ect" (t is the !rocess o) e-ecutin$ !ro$ram .or a !art o) a !ro$ram0 ith the intention o) )indin$ the errors, hoe'er, testin$ cannot sho the absence o) errors it can sho that errors are !resent"
JErrors are !resent ithin the so)tare under testK" #his cannot be the aim o) so)tare desi$ners they must ha'e desi$ned the so)tare ith the aim o) !roducin$ it ith %ero errors" So)tare testin$ is becomin$ increasin$ly im!ortant in the earlier !art o) the so)tare de'elo!ment li)e cycle, aimin$ to disco'er errors be)ore they are dee!ly embedded ithin systems" (n the so)tare de'elo!ment li)e cycle the earlier the errors are disco'ered and remo'ed, the loer is the cost o) their remo'al" #he most dama$in$ errors are those, hich are not disco'ered durin$ the testin$ !rocess and there)ore remain hen the system Q$oes li'e"
#he testin$ re/uires the de'elo!ers to )ind errors )rom their so)tare" (t is 'ery di))icult )or so)tare de'elo!er to !oint out errors )rom on creations" A $ood test is one that has a hi$h !robability o) )indin$ an as yet undisco'ered error" A success)ul test
case unearths an undisco'ered error" #his im!lies that testin$ not only has to unco'er errors introduced durin$ codin$, but also errors introduced durin$ the !re'ious !hases" #he $oal o) testin$ is to unco'er re/uirement, desi$n, and codin$ errors in the !ro$rams" Di))erent le'els o) testin$ are used5
Unit te&tin!: A module is tested se!arately and is o)ten !er)ormed by the coder himsel)
simultaneously alon$ ith the codin$ o) the module" #he !ur!ose is to e-ercise the di))erent !arts o) the modules code to detect codin$ errors"
Inte!"tion Te&tin!: #he modules are $radually inte$rated into subsystems, hich are
then inte$rated to e'entually )rom the entire system" (nte$ration testin$ is !er)ormed to detect desi$n errors by )ocusin$ on testin$ the interconnection beteen modules"
S%&te# Te&tin!: A)ter the system is !ut to$ether, it is !er)ormed" #he system is tested
a$ainst the system re/uirement to see i) the entire re/uirement are met and i) the system !er)orms as s!eci)ied by the re/uirement"
A''e+tn'e Te&tin!: #he )inal sta$e o) initial de'elo!ment, here the so)tare is !ut
into !roduction and runs actual business" (t is !er)ormed to demonstrate to the client, on the real li)e data o) the client, the o!eration o) the system"
#estin$ is an e-tremely critical and time6consumin$ acti'ity" (t re/uires !ro!er !lannin$ o) the o'erall testin$ !rocess" #he test !lan s!eci)ies conditions that should be tested, di))erent units to be tested, and the manner in hich the modules ill be inte$rated to$ether" #he )inal out!ut o) the testin$ !hase is the test re!ort and the error re!ort, or a set o) such re!orts .one )or each unit tested0"
#he im!ortance o) so)tare testin$ and its im!lications ith res!ect to S1W uality cannot be o'erem!hasi%ed" 7ecause o) this im!ortance G the lar$e amount o) !ro2ect e))ort associated ith the system de'elo!ment, it becomes /uite necessary to become ell !lanned and throu$h testin$" (nade/uate testin$ G no6ade/uate testin$ leads to errors that may be costly hen they a!!ear months later" E))ecti'e testin$ translates into cost sa'in$s )rom reduced errors G sa'es a lot o) !ro2ect e))orts" (t )ollos ma2or )actors that decide the occurrences o) errors in a ne desi$n )rom the 'ery early sta$e o) the de'elo!ment"
-)
Co##
#his )actor is handled by )re/uently communicatin$ ith the )inance de!artment and the $ate entry"
.)
Te Ti#e ;'to" ;o" te *e&i!n
#his )actor is handled by $i'in$ com!arati'ely more time to the desi$nin$ o) the system"
Oe'ti9e& o; S%&te# Te&tin!
4nce a system has been desi$ned, it is necessary to under$o an e-hausti'e testin$ be)ore installin$ the system" #his is im!ortant because in some cases a small error, not detected and corrected early be)ore installation, may e-!lode into a much lar$e !roblem later on" #estin$ is bein$ !er)ormed hen users are asked to assist in identi)yin$ all !ossible situations" #hat mi$ht arise as re$ards the )actor that e))orts ere !ut to tackle the !roblem under consideration" A !lan as decided to be )olloed )or
testin$ the system" #he com!lete testin$ !rocedure as di'ided into se'eral ste!s, to be !er)ormed at di))erent sta$es" #ests ere to be done as )ollos5 6
Te&tin! C"ite"i
A) ?ite Box Te&tin!
(i$ T"n&'tion +t Te&tin!
(n this !hase each and e'ery condition ithin a unit !ro$ram ere tested" As and hen a loo! or condition statement as incor!orated into a unit the loo!s ere tested )or correctness, )or )oundry conditions and )or not $ettin$ into in)inite e-ecution cycle" #he data used as hate'er necessary at that instance" #he !ath o) each transaction )rom ori$in to destination as tested )or reliable results"
(ii$ Mo*
#his as carried out durin$ the !ro$rammin$ sta$e itsel)" (ndi'idual !ro$rams ere tested at the time o) codin$ and necessary chan$es are made there on to make sure that the modules in the )orm !ro$ram, is orkin$ satis)actory as re$ards the e-!ected out!ut )rom the module" All as!ects o) the !ro$ram 'i%" All choices a'ailable ere !ro!erly tested"
(iii$ St"in! Te&tin!
A)ter loadin$ all indi'idual !ro$ram strin$ as !er)ormed )or each one o) !ro$rams here the out!ut $enerated by one !ro$ram is used as in!ut by another !ro$ram" #his ste! as com!leted a)ter makin$ necessary chan$es here'er re/uired"
B. Black Box Testing (i$ S%&te# Te&tin!
A)ter module and strin$ testin$, the systems ere tested as a hole system #ests ere undertaken to check bundled modules )or errors" #he errors )ound in the cou!le system as a hole as corrected" A testin$ on the Actual data o) the com!any )olloed this" Durin$ this !hase the e-istin$ System and this !acka$e as runnin$ in !arallel to enable us to 'eri)y and com!are the result sets" #he )olloin$ criteria ere used hile testin$ the system"
(ii$ O
No systems could be use)ul i) it does not !roduced the re/uired o!eration )or that matter o!eration in the re/uired )ormat the out!uts $enerated or dis!layed by the system under consider as tested by askin$ the )ormat re/uired by them" (iii$ U&e" A''e+tn'e Te&tin!
User acce!tance o) a system is a key )actor )or the success o) any system" #he system under consideration as tested )or user acce!tance by constantly kee!in$ in touch ith the !ros!ected system users at the time o) de'elo!in$ and makin$ chan$es"
Where'er re/uired this as done in re$ard to the user satis)action"
Te&tin! P"o'e*<"e Di))erent ty!e o) checks like du!licate checks, com!leteness check, 'alidity, checks etc" are incor!orated in this system, as the data has to be entered in di))erent )orms"
#he user is not )amiliar ith ne system the data entry screens are desi$ned in such a ay that they are
•
Consistent
•
Com!atible
•
Easy to use
•
?ad /uick res!onse
#he )olloin$ con'entions are used hile desi$nin$ o) the 'arious screens to make the system user )riendly
•
All the items that are lo$ically related are to$ether"
•
Error and 'alidation messa$es are !ro'ided here'er re/uired"
•
System testin$ is a$ainst its initial ob2ecti'es, it is done in a simulated
en'ironment"
Te&t Re9iew #est re'ie is the !rocess, hich ensures that testin$ is carried out, as !lanned test re'ie decides hether or not the !ro$ram is ready to shi! out )or the im!lementation"
3or each data entry screen, e !re!ared test data ith e-treme 'alues and under all rele'ant data6 entry screen a$ainst real this !rocess hel!ed in recti)yin$ the modules time"
SYSTEM SECURITY MEASURES
SYSTEM SECURITY MEASURES Security in'ol'es both !olicies and mechanism to !rotect data and ensure that it is not accessed, altered or deleted ithout !ro!er authori%ation" (nte$rity im!lies that any !ro!erly authori%ed access, alteration or deletion o) the data in the database does not chan$e the 'alidity o) the data" Security and inte$rity thou$h distinct, are related" (m!lementation o) both security and inte$rity re/uires that certain controls in the )orm o) constraints must be built in to the system" #he D7A, in consultation ith the security administration s!eci)y these controls" #he system en)orces the controls by monitorin$ the actions o) the users and limitin$ their actions ith in the constraints )or them"
#o !re'ent the dissemination o) sensiti'e in)ormation )rom the data base to unauthori%ed users and thence to outside com!etiti'e or hostile a$ents, an or$ani%ation must established e))ecti'e security !olicies" Database security !olicies are $uidelines )or !resent and )uture desi$ners re$ardin$ the maintenance o) the data base security" Database security mechanisms are the )unction used to en)orced database security !olicies" #hese )unctions could be im!lemented by a combination o) one or more o) the )olloin$5 administrati'e control !rocedures, hardare )unctions, so)tare )unction, )irmare )unctions"
#he administrati'e controls !rocedures are the im!lementations o) security !olicies to !ro'ide !rotection, e-ternal to the database, o!eratin$ systems, and com!uter hardare" An e-am!le o) such ty!e is that a !assord to !ro'ide )or a !ro$ram be a random strin$ o) al!hanumeric characters, at least ei$ht in len$th, and be chan$ed re$ularly"
#he o!eratin$ system must ensure that )iles belon$in$ to the database are not used directly ithout !ro!er authori%ation"
#his authori%ation can consist o) the user !ro'idin$ the !ro!er !assords )or the )ile" #he o!eratin$ system must also ensure that ille$al users usin$ !ublic communication )acilities are not alloed access to the system" Users must be re/uired to use ade/uate identi)ication and !assords"
#he authori%ation mechanism !re!ares the user !ro)ile )or a user and indicates the !ortion o) the database accessible to that user and the mode o) access alloed" #he en)orcement the security !olicies in the database system re/uire that the system knos the identity o) the user makin$ the re/uests" #his in turn re/uires that be)ore makin$ any re/uest, the user has to identi)y him 1 her to the system and authenticate the identi)ication to con)irm that the user is in )act the correct !erson" #he sim!lest and most common authentication scheme used is a !assord to authenticate the user" #he user enters the user name or number and than authenticate himsel)1hersel) by the !assord"
#y!ically, these identi)ication1authentication ste!s are used once )or the
initial si$n6on to the system" ?oe'er, )or sensiti'e data, this ste! could be re!eated )or each o!eration"
COST ESTIMATION OF THE PROJECT
COST ESTIMATION OF THE PROJECT Pro2ect estimation and !ro2ect schedulin$ are carried out to$ether" ?oe'er, some cost estimation may be re/uired at an early sta$e o) the !ro2ect be)ore detailed schedules are dran u!" #hese estimates may be needed to establish a bud$et )or the !ro2ect or to set a !rice )or the so)tare )or a customer"
4nce a !ro2ect is underay, estimates should be u!dated re$ularly" #his assist ith the !lannin$ !rocess and allos the e))ecti'e use o) resources" () actual e-!enditure is si$ni)icantly $reater than the estimates than the !ro2ect mana$er must take some action" #his may in'ol'e a!!lyin$ )or additional resources )or the !ro2ect or modi)yin$ the ork to be done"
#here are three !arameters in'ol'ed in com!utin$ the total cost o) a so)tare de'elo!ment !ro2ect5
♦
?ardare G So)tare Costs includin$ maintenance
♦
#ra'el and trainin$ costs
♦
E))ort cost .#he costs o) !ayin$ so)tare en$ineers0"
3or most !ro2ects, the dominant cost is the e))ort cost" Com!uters that are !oer)ul enou$h )or so)tare de'elo!ments are relati'ely chee!" Althou$h tra'el costs can be si$ni)icant here a !ro2ect is de'elo!ed at di))erent sites, they are relati'ely lo )or most !ro2ects" 3urther more, the use o) e6mail )a- and telecon)erencin$ can reduce the tra'el re/uired"
E))ort costs are not sim!ly the cost o) the salaries o) the so)tare en$ineers in'ol'ed in the !ro2ect" 4r$ani%ation com!ute e))ort costs in terms o) o'erhead costs here they take the total cost o) runnin$ the or$ani%ation and di'ide this by the number o) !roducti'e sta))" #here)ore, the )olloin$ cost are all !art o) the total e))ort cost5
♦
Costs o) !ro'idin$, coolin$ and li$htin$ o))ice s!ace
♦
Costs o) su!!ort sta)) such as Accountant, Secretaries, !eon and so on
♦
Costs o) netorkin$ and communication
♦
Costs o) central )acilities such as library, recreational )acilities and so on
♦
Costs o) health insurance and so on"
#y!ically this o'erhead )actor is somehere around tice the so)tare en$ineers salary" #here)ore, i) a so)tare en$ineers are !aid s" :"< Lakhs !er year, the total cost to the or$ani%ation is s 98 Lakhs !er year or s B= thousands !er month"
() the !ro2ect has been com!uted as !art o) the !ro2ect bid to a customer, a decision then has to be made about the !rice /uoted to the customer" Classically, !rice is sim!ly cost !lus !ro)it" ?oe'er, the relationshi! beteen the !ro2ect cost and the !rice to the customer is not usually so sim!le"
So)tare should be carried out ob2ecti'ely ith the aim o) accurately !redictin$ the cost to the contractor o) de'elo!in$ the so)tare" So)tare !ricin$ must take into account broader or$ani%ational, economic, !olitical and business consideration"
A so)tare desi$ner can de'elo! architecture )or a ne a!!lication, system, or !roduct by de)inin$ domain architecture and than !o!ulatin$ it ith structure !oint"
#hese structure !oints are either indi'idual reusable com!onents or !acka$es o) reusable com!onents"
E'en thou$h structure !oint is reusable, their /uali)ication, ada!tation, inte$ration, and maintenance cost are nontri'ial" 7e)ore !roceedin$ ith reuse, the !ro2ect mana$er must understand the costs associated ith the use o) structure !oints"
Since all structure !oints ha'e a !ast history, cost data can be collected )or each" (n an ideal settin$, the /uali)ication, ada!tation, inte$ration, and maintenance cost associated ith each com!onent in a reuse library is maintained )or each instance o) usa$e" #hese data can then be analy%ed to de'elo! !ro2ected costs )or the ne-t instance o) reuse"
PERT CHART
PROGRAM E@ALUATION RE@IE? TECHNIUE (PERT$ CHART
#he chart shos clearly that the !ro2ect consists o) the acti'ities o) Analysis, desi$n, )ront6end codin$, back6end codin$ and re!ort $eneration"
ecall that the
!re'ious estimates )or these si- tasks ere, res!ecti'ely, :8, :8, ;<, ;<, =8 and :< days"
#he )i$ure shos that the !ro2ect ill start on A!ril 89, :88>" #he analysis ork ill start on A!ril 8=, :88>" Since the analysis is estimated to take :8 days, any acti'ity that )ollos the desi$n may start on A!ril :8, :88> at the earliest" #he de!endency arros hel! us com!ute these earliest start dates based on our estimates o) the duration o) each acti'ity" #hese dates are shon in the )i$ure" We could also com!ute the earliest )inish dates or latest start dates or latest )inish dates, de!endin$ on the kind o) analysis e ant to !er)orm"
#he chart shos that the !ath throu$h the !ro2ect that consists o) the *e&i!n acti'ity is the critical !ath )or the !ro2ect" Any delay in any acti'ity in this !ath ill cause a delay in the entire !ro2ect" We ill clearly ant to monitor the acti'ities on the critical !ath much more closely than the other acti'ities"
3ront end codin$
Start
Analysis
Desi$n
#estin$
e!ort &eneration
7ack end codin$ 3inish
GANTT CHART
GANTT CHARTS
A bar chart is !erha!s the sim!lest )orm o) )ormal !ro2ect mana$ement" #he bar chart .also knon as &antt chart0 is used almost e-clusi'ely )or schedulin$ !ur!oses and there)ore controls only the time dimension o) !ro2ects"
&antt chart .de'elo!ed by ?enry L" &antt0 are a !ro2ect control techni/ue that can be )or se'eral !ur!oses, includin$, bud$etin$ and resource !lannin$" A &antt chart is a bar chart, ith each bar re!resentin$ an acti'ity" #he bars are dran a$ainst a time line" #he len$th o) each bar is !ro!ortional to the len$th o) time !lanned )or acti'ity"
#o !re!are the &antt chart )or our !ro2ect e estimate the number o) days re/uired )or each o) the si- task as )ollos5 Analysis, :8 desi$n, :8 3ront end codin$, ;< 7ack end codin$, ;< testin$, =8 and e!ort $eneration, :<" Usin$ these estimates, e can dra the &antt chart"
A &antt chart hel!s in schedulin$ the acti'ities o) a !ro2ect, but it does not hel! in identi)yin$ them" 4ne can be$in ith acti'ities identi)ied in the ork breakdon structure, as e did )or the com!lier e-am!le" Durin$ the schedulin$ acti'ity, and also durin$ im!lementation o) the !ro2ect, ne acti'ities may be identi)ied that ere not en'isioned durin$ the initial !lannin$" #he mana$er must then $o back and re'ise the breakdon structure and the schedules to deal ith these ne acti'ities"
#he &antt chart in the )i$ure is actually an enhanced 'ersion o) standard &antt chart" #he rite !art o) the bar shos the len$th o) time each task is estimated to take" #hey $ray shos the slack time, that is, the latest time by hich a task must be )inished" 4ne ay to 'ie the slack time is that, i) necessary, e can slide the hite area o'er the $ray area ithout )orcin$ the start o) the ne-t acti'ity to be delayed" A bar that is all hile, such as that re!resentin$ the code $enerator task, has no slack and must
be started and com!leted in the scheduled dates i) the schedule is to be maintained" 3or the )i$ure, e can see that the one task desi$n has no slack" (t is this task then determines the total len$th o) time the !ro2ect is e-!ected to take"
DATABASE
(a) Student Record: Fiel* S) No) - Student@Name
Dt T%+e Varchar
Si,e 9>
Con&t"int Not Null
2) -
Student@3athers@Name
Varchar
9>
Not Null
3) -
Student@Mothers@Name
Varchar
9>
Not Null
4) -
3athers@4ccu!ation
Varchar
9>
Null
5) .
Mothers@4ccu!ation
Varchar
9>
Null
6) .
Student@S""@Number .Primary0
Varchar
8<
Not Null
-) .
Student@D47
Numeric
8B
Not Null
.) .
Student@Se-
#e-t
8:
Not Null
/) .
Student@Caste
#e-t
8B
Not Null
0) .
Student@Photo
7lob
:8
Not Null
1) .
Student@Address
Varchar
=8
Not Null
2) .
Student@Phone@No"
Numeric
98
Null
3) .
Date@o)@Admission
Numeric
8B
Not Null
4) .
Student@Class@No" .e)" *ey0
Numeric
8:
Not Null
5) /
Student@Status
Varchar
8
Not Null
6)
(b &i) Fee Structure:
S) No) 3) 4) 5) -
Fiel*
Class@No"
Dt T%+e Numeric
Si,e 8:
Con&t"int Not Null
#ution@3ee
Numeric
8=
Not Null
Annual@3ee@Amount
Numeric
8=
Null
E-am@3ee@Amount
Numeric
8=
Null
6) -
Con'eyance@3ee@Amount
Numeric
8=
Null
-) -
#otal@3ee@Amount
Numeric
8;
Not Null
Dt T%+e Numeric
Si,e 8<
Con&t"int Not Null
.)
(b 'ii) Student Fee: Fiel* S) No) - Student@S"" No".3"*"0
2) -
Annual3ee@De!@Date
Numeric
8B
Not Null
3) -
3ee@Amount@Paid
Numeric
8;
Not Null
4) -
7alance@3ee
Numeric
8;
Not Null
5) .
#ution3ee@De!Date
Numeric
8B
Not Null
6) .
#ution3ee@AmountPaid
Numeric
8;
Not Null
-) .
#ution3ee@7alance
Numeric
8;
Not Null
.) .
E-am3ee@De!ositeDate
Numeric
8B
Not Null
/) .
E-am3ee@AmountPaid
Numeric
8;
Not Null
0) .
E-am3ee@7alance
Numeric
8;
Not Null
1) .
Con'eyance3ee@De!Date
Numeric
8B
Not Null
.
Con'eyance3ee@AmtPaid
Numeric
8;
Not Null
3) .
Con'eyance3ee@7alance
Numeric
8;
Not Null
4) .
#otal@Amount@Paid
Numeric
8;
Not Null
5) /
#otal@Amount@7alance
Numeric
8;
Not Null
6)
(c) Faculty Profile: Fiel* S) No) - #eachers@Name
Dt T%+e
Si,e
Con&t"int
Varchar
:8
Not Null
3) -
#eachers@uali)ication
Varchar
:8
Not Null
4) -
#eachers@D47
Numeric
8B
Not Null
5) .
#eachers@Se-
Varchar
8:
Not Null
6) .
#eachers@Photo
7lob
;8
Null
-) .
#eachers@Address
Varchar
=8
Null
.) .
#eachers@Phone No"
Numeric
98
Null
" .
#eachers@Date o) +oinin$
Numeric
8B
Null
0) .
#eachers@Salary
Numeric
8;
Null
1) .
#eachers@Sub2ect9
Varchar
9:
Null
/)
2)
.
#eachers@Sub2ect:
Varchar
9:
Null
3) .
#eachers@Sub2ect=
Varchar
9:
Null
4) .
#eachers@Sub2ect;
Varchar
9:
Null
5) /
#eachers@Sub2ect<
Varchar
9:
Null
6) /
#eachers@Sub2ect>
Varchar
9:
Null
-) /
#eachers@Sub2ect
Varchar
9:
Null
.)
(d) School Time Table : S) No)
Fiel* 3)Sub2ect@Name
Dt T%+e
Si,e
Con&t"int
5)#otal No"@o)@Periods -6 #ime@ slots
Varchar Varchar Numeric Numeric
9: 8> 8: 8;
Not Null Null Null Null
) -Class@No"@Section
Varchar
8;
Null
) -. #eachers @Name
Varchar
9:
Null
4)Sub2ect@Code
)
(e) Examination Result:
S) No)
4)
Fiel* Student@S""No" .e)erence *ey0
Dt T%+e
Varchar
Si,e
8;
Con&t"int
Not Null
5) Student@ClassNo" - Student@Name
Varchar Char
8< 9<
Not Null Not Null
6) - Stud@3athers@Name
Char
9<
Null
-) - esult@Status
Char
;
Not Null
.) - esult@ear
Numeric
;
Not Null
/) - #C@Status
7oollean
9
Not Null
0)
(f) Library Management: S) No)
Fiel*
Si,e
Con&t"int
Vanchar
8<
Not Null
6) - 7ook@#itle
Char
9<
Not Null
-) - 7ook@Author
Char
9<
Not Null
.) - Publication
Char
9<
Null
/) - 7ook@(ssue
Numeric
8B
Null
0) - 7ook@eturn
Numeric
8B
Null
1) - 7ook@sub2ect
Vanchar
9<
Not Null
2) - 7ook@Cost
Numeric
8;
Null
-
7ook@(d
Dt T%+e
-
7ook@Status
Char
4)
FORMS
98
Null
#*i;o"#
;"#"e&
;"#;'
;"#;ee
;"#;'
;"#&t<*ent
;"#&t<*ent&e"'
SUBJECT
TITLES
BOO=S
MEMBERS
EMPLOYEES
OPTIONS
ISSUE
RETURN
RESER@E BOO=
MISSING BOO=
REPORT FOR PAY FINE
FINE BALANCE REPORT
MISSING BOO= REPORT
CODING
CODING FOR SCHOOL MANAGEMENT MODULES frmExamResultAdd - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( )))))))))))&!DE T! *#ERT RE&!RD * T! DATABA#E Dim rs As ew AD!DB.Recordset rs.!+en ,ExamResult, con ad!+enDnamic adLock!+timistic /it0 rs .Addew .Fields',#Ro,( Trim'&om##Ro.Text( .Fields',#tudA2E,( Trim'txtame.Text( .Fields',Fat0erA2E,( Trim'txtFame( .Fields',&LA##no,( Trim'txt&lasso( .Fields',Result#tatus,( Trim'txtResult#tatus( .Fields',Result3ear,( Trim'txtResult3ear( .Fields',Ttatus,( Trim'txtTc#tatus( .4+date .&lose End /it0 2sgBox ,#4&E##F4LL3 ADDED, ))))))))))))))))))))))))))))))))ED !F &!DE T! *#ERT))))))))))))))))))))))))) &all clearTxtBox'frmExamResultAdd( &all L&5'&om##Ro( End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from #tudentRecord w0ere ##R%um$er ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',#%A2E,( txtFame r1.Fields',F%A2E,( txt&lasso r1.Fields',&LA##,( *mage1."icture Load"icture'r1.Fields',"8!T!,(( r1.&lose End #u$ "rivate #u$ Form%Load'( &all connect &all L&5'&om##Ro( txtResult3ear.Text Format'Date ,,( End #u$ "rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear
#et r1 con.Execute',select 6 from #tudentRecord order $ ##R%um$er,( *f r1.E!F True T0en 2sgBox ,#tudent List Em+t , Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',##R%um$er,( r1.2oveext /end r1.&lose End #u$ frmExamResultDelete - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( )))))))))))&!DE T! *#ERT RE&!RD * T! DATABA#E con.Execute ',delete from ExamResult w0ere #R! ), 7 Trim'&om##Ro.Text( 7 ,),( 2sgBox ,#4&E##F4LL3 DELETED, ))))))))))))))))))))))))))))))))ED !F &!DE T! *#ERT))))))))))))))))))))))))) &all clearTxtBox'frmExamResultDelete( &all L&5'&om##Ro( End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from ExamResult w0ere #R! ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',#tudA2E,( txtFame r1.Fields',Fat0erA2E,( txt&lasso r1.Fields',&LA##no,( txtResult#tatus r1.Fields',Result#tatus,( txtResult3ear r1.Fields',Result3ear,( txtTc#tatus r1.Fields',tcstatus,( r1.&lose End #u$ "rivate #u$ Form%Load'( &all connect &all L&5'&om##Ro( End #u$ "rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select 6 from E9A2RE#4LT order $ #R!,( *f r1.E!F True T0en
2sgBox ,#tudent List Em+t , Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',#R!,( r1.2oveext /end r1.&lose End #u$ frmExamResult4+date - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( )))))))))))&!DE T! *#ERT RE&!RD * T! DATABA#E Dim rs As ew AD!DB.Recordset rs.!+en ,select 6 from ExamResult w0ere #R! ), 7 Trim'&om##Ro.Text( 7 ,), con ad!+enDnamic adL ock!+timistic /it0 rs .4+date .Fields',#Ro,( Trim'&om##Ro.Text( .Fields',#tudA2E,( Trim'txtame.Text( .Fields',Fat0erA2E,( Trim'txtFame( .Fields',&LA##no,( Trim'txt&lasso( .Fields',Result#tatus,( Trim'txtResult#tatus( .Fields',Result3ear,( Trim'txtResult3ear( .Fields',Ttatus,( Trim'txtTc#tatus( .4+date .&lose End /it0 2sgBox ,#4&E##F4LL3 4"DATED, ))))))))))))))))))))))))))))))))ED !F &!DE T! *#ERT))))))))))))))))))))))))) &all clearTxtBox'frmExamResult4+date( &all L&5'&om##Ro( End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from ExamResult w0ere #R! ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',#tudA2E,( txtFame r1.Fields',Fat0erA2E,( txt&lasso r1.Fields',&LA##no,( txtResult#tatus r1.Fields',Result#tatus,(
txtResult3ear r1.Fields',Result3ear,( txtTc#tatus r1.Fields',tcstatus,( r1.&lose End #u$ "rivate #u$ Form%Load'( &all connect &all L&5'&om##Ro( End #u$ "rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select 6 from E9A2RE#4LT order $ #R!,( *f r1.E!F True T0en 2sgBox ,#tudent List Em+t , Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',#R!,( r1.2oveext /end r1.&lose End #u$ frmFac*nfoEntr - 1 !+tion Ex+licit Dim +0oto#tr As #tring )))))))))))))))))))))))))))))&!DE T! *#ERT RE&!RD )))))))))))))))))))))))) "rivate #u$ cmdAdd%&lick'( Dim rs As ew AD!DB.Recordset rs.!+en ,Facult"rofile, con ad!+enDnamic adLock!+timistic /it0 rs .Addew .Fields',id,( Trim'txtFac*d.Text( .Fields',TA2E,( Trim'txtame.Text( .Fields',t:ualification,( Trim'txt;ualification( .Fields',TADDRE##,( Trim'txtAddress( .Fields',TD!B,( Trim'txtD!B( .Fields',T#E9,( Trim'txt
.Fields',#u$>,( Trim'txt#u$>( .Fields',#u$?,( Trim'txt#u$?( .Fields',#u$@,( Trim'txt#u$@( .Fields',#u$,( Trim'txt#u$( .Fields',#u$,( Trim'txt#u$( .Fields',#u$C,( Trim'txt#u$C( .4+date .&lose End /it0 2sgBox ,#4&E##F4LL3 ADDED, ))))))))))))))))))))))))))))))))ED !F &!DE T! *#ERT))))))))))))))))))))))))) &all clearTxtBox'frmFac*nfoEntr( End #u$ "rivate #u$ &ommand>%&lick'( &ommonDialog1.*nitDir ,c+0otofacult, &ommonDialog1.Filter ,"icture Files'6.=+g 6.$m+ 6.gif6.=+eg(G 6.=+g6.$m+6.gif6.=+eg, &ommonDialog1.#0ow!+en txt"0oto.Text &ommonDialog1.Fileame *mage1."icture Load"icture'&ommonDialog1.Fileame( End #u$ "rivate #u$ Form%Load'( &all connect txtAdmission.Text Format'Date ,dd-mm-,( End #u$ frmFac*nfo4+date - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( Dim rs As ew AD!DB.Recordset rs.!+en ,#ELE&T 6 from facult+rofile w0ere id ), 7 Trim'&om##Ro.Text( 7 ,), con ad!+enDnamic adLock!+timistic /it0 rs .4+date .Fields',TA2E,( Trim'txtame.Text( .Fields',t:ualification,( Trim'txt;ualification( .Fields',TADDRE##,( Trim'txtAddress( .Fields',TD!B,( Trim'txtD!B( .Fields',T#E9,( Trim'txt
.Fields',#alar,( Trim'txt#alar( .Fields',#u$1,( Trim'txt#u$1( .Fields',#u$>,( Trim'txt#u$>( .Fields',#u$?,( Trim'txt#u$?( .Fields',#u$@,( Trim'txt#u$@( .Fields',#u$,( Trim'txt#u$( .Fields',#u$,( Trim'txt#u$( .Fields',#u$C,( Trim'txt#u$C( .4+date .&lose End /it0 2sgBox ,#4&E##F4LL3 4"DATED, ))))))))))))))))))))))))))))))))ED !F &!DE T! 4"DATE))))))))))))))))))))))))) &all clearTxtBox'frmFac*nfo4+date( &all L&5'&om##Ro( End #u$ "rivate #u$ &ommand>%&lick'( &ommonDialog1.*nitDir ,c+0otofacult, &ommonDialog1.Filter ,"icture Files'6.=+g 6.$m+ 6.gif6.=+eg(G 6.=+g6.$m+6.gif6.=+eg, &ommonDialog1.#0ow!+en txt"0oto.Text &ommonDialog1.Fileame *mage1."icture Load"icture'&ommonDialog1.Fileame( End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from Facult"rofile w0ere id ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',tA2E,( txtD!B r1.Fields',tD!B,( txt r1.Fields',su$>,( txt#u$? r1.Fields',su$?,( txt#u$@ r1.Fields',su$@,( txt#u$ r1.Fields',su$,(
txt#u$ r1.Fields',su$,( txt#u$C r1.Fields',su$C,( r1.&lose End #u$ "rivate #u$ Form%Load'( &all connect &all L&5'&om##Ro( End #u$ "rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select 6 from Facult"rofile order $ id,( *f r1.E!F True T0en 2sgBox ,Facult List Em+t , frmFac*nfo4+date - > Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',id,( r1.2oveext /end r1.&lose End #u$ frmFacultDelete - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( con.Execute ',delete from facult+rofile w0ere id ), 7 Trim'&om##Ro.Text( 7 ,),( 2sgBox ,Record Deleted, &all clearTxtBox'frmFacultDelete( &all L&5'&om##Ro( End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from Facult"rofile w0ere id ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',tA2E,( txtD!B r1.Fields',tD!B,( txt
txt#alar r1.Fields',#alar,( txt;ualification.Text r1.Fields',T;4AL*F*&AT*!, r1.Fields',T;4AL*F*&AT*!,(( txt#u$1 r1.Fields',su$1,( txt#u$> r1.Fields',su$>,( txt#u$? r1.Fields',su$?,( txt#u$@ r1.Fields',su$@,( txt#u$ r1.Fields',su$,( txt#u$ r1.Fields',su$,( txt#u$C r1.Fields',su$C,( r1.&lose End #u$ "rivate #u$ Form%Load'( &all connect &all L&5'&om##Ro( End #u$ "rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select 6 from Facult"rofile order $ id,( *f r1.E!F True T0en 2sgBox ,Facult List Em+t , Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',id,( r1.2oveext /end r1.&lose End #u$ frmFeeAdd - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( Dim rs As ew AD!DB.Recordset Dim id tem+ As *nteger #et r1 con.Execute',select con.Execute',select 2ax'Tr*d( from Fee"amentDetail,( tem+ &*nt'r1.
rs.Addew rs.Fields',#tudo,( &om##Ro.Text rs.Fields',AnnualFeeDate,( rs.Fields',AnnualFeeD ate,( txtAnnualDate rs.Fields',AnnualFee+aid,( rs.Fields',AnnualFee+ aid,( txtAnnual"aid rs.Fields',TutFeeDate,( txtTutionDate rs.Fields',TutFee+aid,(( txtTution"aid rs.Fields',TutFee+aid, rs.Fields',ExamFeeDate,( rs.Fields',ExamFeeDa te,( txtExamDate rs.Fields',ExamFee+aid,( rs.Fields',ExamFee+a id,( txtExam"aid rs.Fields',&onFeeDate,( rs.Fields',&onFeeDate ,( txt&onDate rs.Fields',&onFee+aid,(( txt&on"aid rs.Fields',&onFee+aid, rs.Fields',Tr*d,( id rs.4+date rs.&lose 2sgBox ,4+dated, &all clearTxtBox'frmFeeAdd( &all L&5'&om##Ro( End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from #tudentRecord w0ere ##R%um$er ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',#%A2E,( txtFame r1.Fields',F%A2E,( txt&lasso r1.Fields',&LA##,( *mage1."icture Load"icture'r1.Fields',"8!T Load"icture'r1.Fields',"8!T!,(( !,(( r1.&lose End #u$ "rivate #u$ Form%Load'( &all connect &all L&5'&om##Ro( txtAnnualDate Format'Date ,dd-mm-,( txtTutionDate Format'Date ,dd-mm-,( txtExamDate Format'Date ,dd-mm-,( txt&onDate Format'Date ,dd-mm-,( End #u$ "rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select con.Execute',select 6 from #tudentRecord order $ ##R%um$er,( *f r1.E!F True T0en 2sgBox ,#tudent List Em+t , Exit #u$ End *f r1.2oveFirst
/0ile ot r1.E!F &om$o1.Add*tem r1.Fields',##R%um$er,( r1.2oveext /end r1.&lose End #u$ FrmFeeDelete - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( Dim rs As ew AD!DB.Recordset con.Execute ',DELETE from Fee+amentDetail w0ere Tr*d ), 7 Trim'List1.Text( 7 ,),( 2sgBox ,DELETED, &all clearTxtBox'FrmFeeDelete( &all L&5'&om##Ro( List1.&lear End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from #tudentRecord w0ere ##R%um$er ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',#%A2E,( txtFame r1.Fields',F%A2E,( txt&lasso r1.Fields',&LA##,( *mage1."icture Load"icture'r1.Fields',"8!T!,(( r1.&lose )))))))))))))))))))))))))))))L!AD*< 5AL4E# T! L*#T B!9 )))))))))))))))))))))))))))))) #et r1 con.Execute',select Trid from Fee"amentDetail w0ere #tudo ), 7 Trim'&om##Ro.Text( 7 ,),( List1.&lear *f r1.E!F True T0en 2sgBox ,o Transation List Em+t , Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F List1.Add*tem r1.Fields',Tr*d,( r1.2oveext /end r1.&lose End #u$ "rivate #u$ Form%Load'( &all connect
&all L&5'&om##Ro( End #u$ "rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select 6 from #tudentRecord order $ ##R%um$er,( *f r1.E!F True T0en 2sgBox ,#tudent List Em+t , Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',##R%um$er,( r1.2oveext /end r1.&lose End #u$ "rivate #u$ List1%&lick'( #et r1 con.Execute',select 6 from Fee+amentDetail w0ere Tr*d ), 7 Trim'List1.Text( 7 ,),( txtAnnualDate r1.Fields',AnnualFeeDate,( txtAnnual"aid r1.Fields',AnnualFee"aid,( txtTutionDate r1.Fields',TutFeeDate,( txtTution"aid r1.Fields',TutFee"aid,( txtExamDate r1.Fields',ExamFeeDate,( txtExam"aid r1.Fields',ExamFee"aid,( txt&onDate r1.Fields',&onFeeDate,( txt&on"aid r1.Fields',&onFee"aid,( r1.&lose End #u$ frmFee4+date - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( Dim rs As ew AD!DB.Recordset rs.!+en ,select 6 from Fee+amentDetail w0ere Tr*d ), 7 Trim'List1.Text( 7 ,), con ad!+enDnamic adLock!+timistic rs.4+date rs.Fields',AnnualFeeDate,( txtAnnualDate rs.Fields',AnnualFee+aid,( txtAnnual"aid rs.Fields',TutFeeDate,( txtTutionDate rs.Fields',TutFee+aid,( txtTution"aid rs.Fields',ExamFeeDate,( txtExamDate
rs.Fields',ExamFee+aid,( txtExam"aid rs.Fields',&onFeeDate,( txt&onDate rs.Fields',&onFee+aid,( txt&on"aid rs.4+date rs.&lose 2sgBox ,4+dated, &all clearTxtBox'frmFee4+date( &all L&5'&om##Ro( List1.&lear End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from #tudentRecord w0ere ##R%um$er ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',#%A2E,( txtFame r1.Fields',F%A2E,( txt&lasso r1.Fields',&LA##,( *mage1."icture Load"icture'r1.Fields',"8!T!,(( r1.&lose )))))))))))))))))))))))))))))L!AD*< 5AL4E# T! L*#T B!9 )))))))))))))))))))))))))))))) #et r1 con.Execute',select Trid from Fee"amentDetail w0ere #tudo ), 7 Trim'&om##Ro.Text( 7 ,),( List1.&lear *f r1.E!F True T0en 2sgBox ,o Transation List Em+t , Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F List1.Add*tem r1.Fields',Tr*d,( r1.2oveext /end r1.&lose End #u$ "rivate #u$ Form%Load'( &all connect &all L&5'&om##Ro( End #u$ "rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select 6 from #tudentRecord order $ ##R%um$er,( *f r1.E!F True T0en 2sgBox ,#tudent List Em+t ,
Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',##R%um$er,( r1.2oveext /end r1.&lose End #u$ "rivate #u$ List1%&lick'( #et r1 con.Execute',select 6 from Fee+amentDetail w0ere Tr*d ), 7 Trim'List1.Text( 7 ,),( txtAnnualDate r1.Fields',AnnualFeeDate,( txtAnnual"aid r1.Fields',AnnualFee"aid,( txtTutionDate r1.Fields',TutFeeDate,( txtTution"aid r1.Fields',TutFee"aid,( txtExamDate r1.Fields',ExamFeeDate,( frmFee4+date - > txtExam"aid r1.Fields',ExamFee"aid,( txt&onDate r1.Fields',&onFeeDate,( txt&on"aid r1.Fields',&onFee"aid,( r1.&lose End #u$ Frmli$rar - 1 "rivate #u$ &ommand1%&lick'( 2e.8ide !LE1.Do5er$ End #u$ frmsearc0Facult - 1 "rivate #u$ &om##Ro%&lick'( Adodc1.&onnection#tring ,D##msDsn, Adodc1.Record#ource ,#ELE&T 6 from facult+rofile w0ere id ), 7 Trim'&om##Ro.Text( 7 ,), Adodc1.Refres0 Data
"rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select 6 from Facult"rofile order $ id,( *f r1.E!F True T0en 2sgBox ,Facult List Em+t , Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',id,( r1.2oveext /end r1.&lose End #u$ frm#tudentDelete - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( con.Execute ',delete from #tudentRecord w0ere ##R%um$er ), 7 Trim'&om##Ro.Text( 7 ,),( 2sgBox ,Record Deleted, &all clearTxtBox'frm#tudentDelete( &all L&5'&om##Ro( End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from #tudentRecord w0ere ##R%um$er ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',#%A2E,( txtFame r1.Fields',F%A2E,( txtame r1.Fields',2%A2E,( txtF!ccu+ r1.Fields',F%!&&4"AT*!,( txt2occu+ r1.Fields',2%!&&4"AT*!,( txtD!B r1.Fields',#%D!B,( txt
End #u$ "rivate #u$ Form%Load'( &all connect &all L&5'&om##Ro( End #u$ "rivate #u$ L&5'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select 6 from #tudentRecord order $ ##R%um$er,( *f r1.E!F True T0en 2sgBox ,#tudent List Em+t , Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',##R%um$er,( r1.2oveext /end r1.&lose End #u$ frm#tudent#erac0 - 1 "rivate #u$ &om$o1%&lick'( Adodc1.&onnection#tring ,D##msDsn, Adodc1.Record#ource ,select 6 from #tudentRecord w0ere #%ame ), I Trim'&om$o1.Text( I ,), Adodc1.Refres0 Data.&onnection#tring ,D##msDsn, )Adodc>.Record#ource ,select 6 from Fee"amentDetail w0ere #tudo ) , 7 Trim'&om##Ro.Text( 7 ,), )Adodc>.Refres0 )Data.ReBind )Data.Refres0 )Adodc?.&onnection#tring ,D##msDsn, )Adodc?.Record#ource ,select 6 from ExamResult w0ere #R! ), 7 Trim'&om##Ro.Text( 7 ,), )Adodc?.Refres0 )Data.5isi$le True )Data
End #u$ "rivate #u$ &om##Ro%&lick'( Adodc1.&onnection#tring ,D##msDsn, Adodc1.Record#ource ,select 6 from #tudentRecord w0ere ##R%um$er ), I Trim'&om##Ro.Text( I ,), Adodc1.Refres0 Data.&onnection#tring ,D##msDsn, Adodc>.Record#ource ,select 6 from Fee"amentDetail w0ere #tudo ), 7 Trim'&om##Ro.Text( 7 ,), Adodc>.Refres0 Data.ReBind Data.Refres0 Adodc?.&onnection#tring ,D##msDsn, Adodc?.Record#ource ,select 6 from ExamResult w0ere #R! ), 7 Trim'&om##Ro.Text( 7 ,), Adodc?.Refres0 Data.5isi$le True Data
End #u$ "rivate #u$ L&5ame'&om$o1 As &om$oBox( &om$o1.&lear #et r1 con.Execute',select 6 from #tudentRecord order $ #%ame,( *f r1.E!F True T0en 2sgBox ,#tudent List Em+t , Exit #u$ End *f r1.2oveFirst frm#tudent#erac0 - > /0ile ot r1.E!F &om$o1.Add*tem r1.Fields',#%ame,( r1.2oveext /end r1.&lose End #u$ frm#tudent4+date - 1 Dim r1 As ew AD!DB.Recordset "rivate #u$ cmdAdd%&lick'( Dim rs As ew AD!DB.Recordset rs.!+en ,#ELE&T 6 FR!2 #tudentRecord w0ere ##R%um$er ), 7 Trim'&om##Ro.Text( 7 ,), con ad!+enDn amic adLock!+timistic /it0 rs .4+date .Fields',#%A2E,( Trim'txtame.Text( .Fields',F%A2E,( Trim'txtFame( .Fields',2%A2E,( Trim'txtame( .Fields',F%!&&4"AT*!,( Trim'txtF!ccu+( .Fields',2%!&&4"AT*!,( Trim'txt2occu+( .Fields',#%D!B,( Trim'txtD!B( .Fields',#%
2sgBox ,#4&E##F4LL3 4"DATED, ))))))))))))))))))))))))))))))))ED !F &!DE T! *#ERT))))))))))))))))))))))))) &all clearTxtBox'frm#tudent4+date( &all L&5'&om##Ro( End #u$ "rivate #u$ &ommand>%&lick'( &ommonDialog1.*nitDir ,c+0oto, &ommonDialog1.Filter ,"icture Files'6.=+g 6.$m+ 6.gif6.=+eg(G 6.=+g6.$m+6.gif6.=+eg, &ommonDialog1.#0ow!+en txt"0oto.Text &ommonDialog1.Fileame *mage1."icture Load"icture'&ommonDialog1.Fileame( End #u$ "rivate #u$ &om##Ro%&lick'( #et r1 con.Execute',select 6 from #tudentRecord w0ere ##R%um$er ), 7 Trim'&om##Ro.Text( 7 ,),( txtame.Text r1.Fields',#%A2E,( txtFame r1.Fields',F%A2E,( txtame r1.Fields',2%A2E,( txtF!ccu+ r1.Fields',F%!&&4"AT*!,( txt2occu+ r1.Fields',2%!&&4"AT*!,( txtD!B r1.Fields',#%D!B,( txt
Exit #u$ End *f r1.2oveFirst /0ile ot r1.E!F frm#tudent4+date - > &om$o1.Add*tem r1.Fields',##R%um$er,( r1.2oveext /end r1.&lose End #u$ frm#tud*nfo - 1 !+tion Ex+licit Dim +0oto#tr As #tring )))))))))))))))))))))))))))))&!DE T! *#ERT RE&!RD )))))))))))))))))))))))) "rivate #u$ cmdAdd%&lick'( Dim rs As ew AD!DB.Recordset rs.!+en ,#tudentRecord, con ad!+enDnamic adLock!+timistic /it0 rs .Addew .Fields',##R%um$er,( Trim'txt#ro.Text( .Fields',#%A2E,( Trim'txtame.Text( .Fields',F%A2E,( Trim'txtFame( .Fields',2%A2E,( Trim'txtame( .Fields',F%!&&4"AT*!,( Trim'txtF!ccu+( .Fields',2%!&&4"AT*!,( Trim'txt2occu+( .Fields',#%D!B,( Trim'txtD!B( .Fields',#%%&lick'(
&ommonDialog1.*nitDir ,c+0oto, &ommonDialog1.Filter ,"icture Files'6.=+g 6.$m+ 6.gif6.=+eg(G 6.=+g6.$m+6.gif6.=+eg, &ommonDialog1.#0ow!+en txt"0oto.Text &ommonDialog1.Fileame *mage1."icture Load"icture'&ommonDialog1.F Load"icture'&ommonDialog1.Fileame( ileame( End #u$ "rivate #u$ Form%Load'( &all connect txtAdmission.Text Format'Date ,dd-mm-,( End #u$ frm/elcome - 1 "rivate #u$ &ommand1%&lick'( 4nload 2e 2D*Form1.#0ow End #u$ "rivate #u$ Timer1%Timer'( La$el?.Left La$el?.Left 7 1JJ *f La$el?.Left K 2e.#cale/idt0 T0en Timer1.Ena$led False Timer>.Ena$led True &all Timer>%Timer End *f End #u$ "rivate #u$ Timer>%Timer'( La$el?.Left J Timer>.Ena$led False Timer1.Ena$led True &all Timer1%Timer End #u$ "rivate #u$ Timer?%Timer'( [email protected]$le False La$el.5isi$le True End #u$ "rivate #u$ Timer@%Timer'( [email protected]$le True La$el.5isi$le False End #u$ 2D*Form1 - 1 "rivate #u$ 2enAdd%&lick'( frmFeeAdd.#0ow End #u$
"rivate #u$ 2enDelete%&lick'( FrmFeeDelete.#0ow End #u$ "rivate #u$ 2enExamAdd%&lick'( 2enExamAdd%&lick'( frmExamResultAdd.#0ow End #u$ "rivate #u$ 2EnExamDel%&lick'( frmExamResultDelete.#0ow End #u$ "rivate #u$ 2enExam4+%&lick'( frmExamResult4+date.#0ow End #u$ "rivate #u$ 2enExit%&lick'( End End #u$ "rivate #u$ 2enFAcAdd%&lick'( frmFac*nfoEntr.#0ow End #u$ "rivate #u$ 2enFacDel%&lick'( frmFacultDelete.#0ow End #u$ "rivate #u$ 2EFA&*nF!%&lick'( frmsearc0Facult.#0ow End #u$ "rivate #u$ 2enFac4+d%&lick'( 2enFac4+d%&lick'( frmFac*nfo4+date.#0ow End #u$ "rivate #u$ 2EL!<*%&lick'( FR2L*BRAR3.#0ow End #u$ "rivate #u$ 2en#tudADD%&lick'( frm#tud*nfo.#0ow End #u$ "rivate #u$ 2en#tudDel%&lick'( frm#tudentDelete.#0ow End #u$ "rivate #u$ 2E#T4D*F!#ERA&8% 2E#T4D*F!#ERA&8%&lick'( &lick'( frm#tudent#erac0.#0ow End #u$ "rivate #u$ 2en#tud4+date%&lick'( frm#tudent4+date.#0ow End #u$
"rivate #u$ 2ETTADD%&lick'( FrmTimeTa$le.#0ow End #u$ "rivate #u$ 2ETTDELETE%&lick'( FR2T*2ETABLEDELETE.#0ow End #u$ "rivate #u$ 2ETT4"%&lick'( frmTimeta$le4+date.#0ow End #u$ 2D*Form1 - > "rivate #u$ 2en4+date%&lick'( frmFee4+date.#0ow End #u$ 2odule1 - 1
CODING FOR LIBRARY MODULE: frmA$out - 1 "rivate #u$ cmd!%&lick'( 4nload 2e End #u$ "rivate #u$ Form%Load'( )#0a+e1.Border&olor v$Black End #u$ "rivate #u$ La$el>%&lick'( End #u$ "rivate #u$ Timer1%Timer'( )*f #0a+e1.Border&olor v$Black T0en )#0a+e1.Border&olor v$Red )Else )#0a+e1.Border&olor v$Black )End *f End #u$ frmBooks - 1 Dim /it0Events ado"rimarR# As Recordset Dim /it0Events ado+rimarrs> As Recordset Dim m$&0angedB&ode As Boolean Dim mvBook2ark As 5ariant Dim m$EditFlag As Boolean Dim m$AddewFlag As Boolean Dim m$Data&0anged As Boolean "rivate #u$ D&omTitle*d%&0ange'( Dim :unt As *nteger )#et ado"rimarR#> ew Recordset ado+rimarrs>.2oveFirst ado+rimarrs>.Find ',Title*d, I ,), I D&omTitle*d I ,),( :unt ado+rimarrs>.Fields'1( &om$o>.&lear For i 1 To :unt &om$o>.Add*tem 'D&omTitle*d I ,M, I i( ext i &om$o>.List*ndex J txtFields'1(.Text &om$o>.Text End #u$ "rivate #u$ Form%Load'(
Dim d$ As &onnection #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,select Title*dBook*d&ondition*s*n2em$er*dReturnDate*ssue&ounterReserve* dT+e*ssue from Books, d$ ad!+en#tatic adLock!+timistic #et ado+rimarrs> ew Recordset ado+rimarrs>.!+en ,select Title*d;uantit from Titles, d$ ad!+en#tatic adLock!+timistic Dim oText As TextBox )Bind t0e text $oxes to t0e data +rovider For Eac0 oText *n 2e.txtFields #et oText.Data#ource ado"rimarR# ext Dim o&0eck As &0eckBox )Bind t0e c0eck $oxes to t0e data +rovider For Eac0 o&0eck *n 2e.c0kFields #et o&0eck.Data#ource ado"rimarR# ext m$Data&0anged False )&om$o1.Add*tem ',E9&ELLET,( &om$o1.Add*tem ', #et D&omTitle*d.Row#ource ado+rimarrs> D&omTitle*d.ListField ,Title*d, *f 2.Books&allBTitle T0en cmdAdd%&lick End *f
End #u$ frmBooks - > "rivate #u$ Form%4nload'&ancel As *nteger( #creen.2ouse"ointer v$Default End #u$ "rivate #u$ ado"rimarR#%2ove ado"rimarR#%2ove&om+lete'B5al &om+lete'B5al adReason As AD!DB.EventReasonEnum AD!DB.EventReasonEn um B5al +Error As AD!D B.Error ad#tatus As AD!DB.Event#tatusEnum B5al +Recordset As AD!DB.Recordset( )T0is will dis+la t0e current record +osition for t0is recordset l$l#tatus.&a+tion ,Record , I tr'ado"rimarR#.A$solute"os tr'ado"rimarR#.A$solute"osition( ition( End #u$ "rivate #u$ ado"rimarR#%/ill&0ange ado"rimarR#%/ill&0angeRecord'B5al Record'B5al adReason As AD!DB.EventReasonEnum AD!DB.EventReasonEn um B5al cRecords A s Long ad#tatus As AD!DB.Event#tatusEnum B5al +Recordset As AD!DB.Recordset( )T0is is w0ere ou +ut validation code )T0is event gets called w0en t0e following actions occur Dim $&ancel As Boolean #elect &ase adReason &ase adRsnAddew &ase adRsn&lose &ase adRsnDelete &ase adRsnFirst&0ange &ase adRsn2ove &ase adRsnRe:uer &ase adRsnResnc0 &ase adRsn4ndoAddew adRsn4ndoAddew &ase adRsn4ndoDelete &ase adRsn4ndo4+date &ase adRsn4+date End #elect *f $&ancel T0en ad#tatus ad#tatus&ancel End #u$ "rivate #u$ cmdAdd%&lick'( !n Error
l$l#tatus.&a+tion ,Add record, m$AddewFlag True #etButtons False End /it0 txtFields'(.Text ,J, txtFields'@( ,J, txtFields'C( ,J, Exit #u$ AddErr 2sgBox Err.Descri+tion End #u$ "rivate #u$ cmdDelete%&lick'( Dim : As *nteger !n Error .2oveFirst ado+rimarrs>.Find ',Title*d, I ,), I txtFields'J(.Text I ,),( : ado+rimarrs>.Fields'1( ::-1 ado+rimarrs>.Fields'1( : ado+rimarrs>.4+date Exit #u$ DeleteErr 2sgBox Err.Descri+tion End #u$ frmBooks - ? "rivate #u$ cmdRefres0%&lick'( )T0is is onl needed for multi user a++s !n Error
m$EditFlag True #etButtons False )0ide t0e com$os cause no edit allowed to title id and $ookid &om$o>.5isi$le False D&omTitle*d.5isi$le False Exit #u$ EditErr 2sgBox Err.Descri+tion End #u$ "rivate #u$ cmd&ancel%&lick'( !n Error Resume ext #etButtons True m$EditFlag False m$AddewFlag False ado"rimarR#.&ancel4+date *f mvBook2ark K J T0en ado"rimarR#.Bookmark mvBook2ark Else ado"rimarR#.2oveFirst End *f m$Data&0anged False End #u$ "rivate #u$ cmd4+date%&lick'( !n Error (.Text &om$o1.Text txtFields'J(.Text D&omTitle*d.Text txtFields'1(.Text &om$o>.Text ado"rimarR#.4+dateBatc0 adAffectAll *f m$AddewFlag T0en ado"rimarR#.2oveLast )move to t0e new record End *f m$EditFlag False m$AddewFlag False #etButtons True m$Data&0anged False Exit #u$ 4+dateErr 2sgBox Err.Descri+tion End #u$ "rivate #u$ cmd&lose%&lick'( 4nload 2e End #u$
"rivate #u$ cmdFirst%&lick'( !n Error
)i dont want to make canges w0ile moving HH or KK )=ust use t0e add u+date $uttons ado"rimarR#.&ancel4+date *f ot ado"rimarR#.B!F T0en ado"rimarR#.2ove"revious *f ado"rimarR#.B!F And ado"rimarR#.Record&ount K J T0en Bee+ )moved off t0e end so go $ack ado"rimarR#.2oveFirst End *f )s0ow t0e current record m$Data&0anged False Exit #u$ .5isi$le ot $5al End #u$ "rivate #u$ txtFields%&0ange'*ndex As *nteger( txtFields'*ndex(.Text 4&ase'Trim'txtFields'*ndex(.Text(( End #u$ frmEm+loees - 1 Dim /it0Events ado"rimarR# As Recordset Dim m$&0angedB&ode As Boolean Dim mvBook2ark As 5ariant Dim m$EditFlag As Boolean
Dim m$AddewFlag As Boolean Dim m$Data&0anged As Boolean "rivate #u$ cmd#earc0%&lick'( txt#earc0 Trim'txt#earc0( ado"rimarR#.2oveFirst ado"rimarR#.Find 'com#earc0.Text I ,), I txt#earc0 I ,),( *f ado"rimarR#.A$solute"osition H J T0en 2sgBox com#earc0 I , ot FoundOOO, ado"rimarR#.2oveFirst End *f End #u$ "rivate #u$ Form%Load'( Dim d$ As &onnection #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,select Em+loee*dFirstameLastameAddressEmailTel"assword from Em+loees , d$ ad!+en#tatic adLock!+timistic Dim oText As TextBox )Bind t0e text $oxes to t0e data +rovider For Eac0 oText *n 2e.txtFields #et oText.Data#ource ado"rimarR# ext m$Data&0anged False com#earc0.Add*tem ',Em+loee*d,( com#earc0.Add*tem ',Firstame,( com#earc0.Add*tem ',Lastame,( com#earc0.Add*tem ',Tel,( com#earc0.List*ndex J End #u$ "rivate #u$ Form%4nload'&ancel As *nteger( #creen.2ouse"ointer v$Default End #u$ "rivate #u$ ado"rimarR#%2ove&om+lete'B5al adReason As AD!DB.EventReasonEnum B5al +Error As AD!D B.Error ad#tatus As AD!DB.Event#tatusEnum B5al +Recordset As AD!DB.Recordset( )T0is will dis+la t0e current record +osition for t0is recordset
l$l#tatus.&a+tion ,Record , I tr'ado"rimarR#.A$solute"osition( End #u$ "rivate #u$ ado"rimarR#%/ill&0angeRecord'B5al adReason As AD!DB.EventReasonEnum B5al cRecords A s Long ad#tatus As AD!DB.Event#tatusEnum B5al +Recordset As AD!DB.Recordset( )T0is is w0ere ou +ut validation code )T0is event gets called w0en t0e following actions occur Dim $&ancel As Boolean #elect &ase adReason &ase adRsnAddew &ase adRsn&lose &ase adRsnDelete &ase adRsnFirst&0ange &ase adRsn2ove &ase adRsnRe:uer &ase adRsnResnc0 &ase adRsn4ndoAddew &ase adRsn4ndoDelete &ase adRsn4ndo4+date &ase adRsn4+date answer 2sgBox',Are ou sure of t0e c0anges madeOO, v$3eso( *f answer v$o T0en frmEm+loees - > ado"rimarR#.&ancel4+date End *f End #elect *f $&ancel T0en ad#tatus ad#tatus&ancel End #u$ "rivate #u$ cmdAdd%&lick'( !n Error
2sgBox Err.Descri+tion I ,PcmdAdd%&lickQ, End #u$ "rivate #u$ cmdDelete%&lick'( !n Error
End #u$ "rivate #u$ cmd4+date%&lick'( !n Error
!n Error
cmdext.Ena$led $5al cmdFirst.Ena$led $5al cmdLast.Ena$led $5al cmd"revious.Ena$led $5al ))extra code for our frame Frame1.Ena$led $5al End #u$ "rivate #u$ txtFields%LostFocus'*ndex As *nteger( )remove t0e extra s+aces txtFields'*ndex(.Text Trim'txtFields'*ndex(.Text( )2sgBox *ndex )c0eck for tel num$er *f *ndex T0en *f ot *sumeric'txtFields'*ndex(.Text( T0en 2sgBox ,Enter a Tele+0one num$erOOO, txtFields'*ndex(.Text ,, txtFields'*ndex(.#etFocus End *f End *f End #u$ frm*ssue - 1 Dim d$ As &onnection "rivate #u$ cmdc0arge%&lick'( *f Trim'txt2em*d( ,, !r Trim'txtBook*d( ,, T0en 2sgBox ,"lease enter t0e fields.., Else !n Error
Txtmemid%LostFocus Exit #u$ aderr 2sgBox Err.Descri+tion End *f End #u$ "rivate #u$ cmd*ssue%&lick'( *f Trim'txt2em*d( ,, !r Trim'txtBook*d( ,, T0en 2sgBox ,"lease enter t0e fields.., Else )make a module varia$le of max fine allowed to c0eck 0ere *f 5al'l$lfine$al.&a+tion( K 2.2axFineBal T0en 2sgBox ,2em$er s0ould clear t0e Fines $efore issue, txtBook*d.Text ,, txt2em*d.#etFocus Exit #u$ End *f )make a module varia$le of max $ooks allowed to c0eck 0ere *f 5al'l$l$ooks.&a+tion( K 2.Total*ssueBook T0en 2sgBox , 2eme$er alread 0as t0e maximum num$er of $ooks, txtBook*d.Text ,, txt2em*d.#etFocus Exit #u$ End *f *f 4&ase'l$lisin.&a+tion( ,FAL#E, T0en 2sgBox ,Book is not in t0e li$rar, txtBook*d.Text ,, txt2em*d.#etFocus Exit #u$ End *f *f 4&ase'l$lcondt.&a+tion( ,2*##*<, T0en 2sgBox ,Book is 2issing, txtBook*d.Text ,, txt2em*d.#etFocus Exit #u$ End *f *f ot l$lres.&a+tion ,J, And Trim'l$lres.&a+tion( HK Trim'txt2em*d.Text( T0en 2sgBox ,T0is $ooks is reserved $ , I l$lres.&a+tion txtBook*d.Text ,, txt2em*d.#etFocus Exit #u$
End *f Dim ado+rimarrs1 As Recordset #et ado+rimarrs1 ew Recordset ado+rimarrs1.!+en ,select #u$=ect from Titles w0ere titleid ), I l$ltitle.&a+tion I ,), d$ ad!+en#tatic adLock!+timistic su$= ado+rimarrs1.Fields'J( Dim ado+rimarrs> As Recordset frm*ssue - > #et ado+rimarrs> ew Recordset ado+rimarrs>.!+en ,select *ssueDasoof$ooksFine&0argeReserve&0arge*ssuedas from #u$=ects w0ere #u$=ect), I su$= I ,), d$ ad!+en#tatic adLock!+timistic noofdasx ado+rimarrs>.Fields'@( )2sgBox ado+rimarrs>.Fields'J( I ado+rimarrs>.Fields'1( I ado+rimarrs>.Fields'>( I ado+rimarrs>.Fields'?( Dim ado+rimarrs? As Recordset #et ado+rimarrs? ew Recordset ado+rimarrs?.!+en ,select titleid from $ooks w0ere mem$erid), I Trim'txt2em*d.Text( I ,), d$ ad !+en#tatic adLock!+timistic Dim ado+rimarrs@ As Recordset #et ado+rimarrs@ ew Recordset /0ile ot ado+rimarrs?.E!F ado+rimarrs@.!+en ,select #u$=ect from Titles w0ere titleid ), I ado+rimarrs?.Fields'J( I ,), d$ ad!+en#tatic adLock!+timistic )2sgBox ado+rimarrs?.Fields'J( I ado+rimar[email protected]'J( *f su$= ado+rimar[email protected]'J( T0en &ounter &ounter 7 1 End *f ado+rimarrs?.2oveext ado+rimarrs@.&lose /end *f &ounter K ado+rimarrs>.Fields'1( T0en 2sgBox ,2em$er 0as taken maximum num$er of $ooks in t0e #u$=ect , I su$= txtBook*d.Text ,, txt2em*d.#etFocus Exit #u$ End *f Dim ado+rimarrs As Recordset #et ado+rimarrs ew Recordset ado+rimarrs.!+en ,select mem$eridB!!*D*#*returndate from $ooks , d$ ad!+en#tatic adLock!+timistic
ado+rimarrs.Find ',Book*d), I txtBook*d.Text I ,),( ado+rimarrs.Fields'J( Trim'txt2em*d( ado+rimarrs.Fields'>( False ado+rimarrs.Fields'?( DateAdd',d, noofdasx Date( ado+rimarrs.4+date l$lreturn.&a+tion DateAdd',d, noofdasx Date( Dim ado+rimarrs As Recordset #et ado+rimarrs ew Recordset ado+rimarrs.!+en ,select 2em$er*dBooks*n8andFineBal from mem$ers w0ere mem$erid ), I Trim'txt2em*d.Text( I ,), d$ ad!+en#tatic adLock!+timistic )s+ecal code for c0eck ing t0e reserve c0arge ))) *f l$lres.&a+tion Trim'txt2em*d.Text( T0en ado+rimarrs.Fields'>( ado+rimarrs.Fields'1( 7 ado+rimarrs>.Fields'@( End *f ado+rimarrs.Fields'1( ado+rimarrs.Fields'1( 7 1 ado+rimarrs.4+date txtBook*d%LostFocus Txtmemid%LostFocus txt2em*d.#etFocus End *f "rivate #u$ cmdrenewal%&lick'( Dim ado+rimarrs1 As Recordset #et ado+rimarrs1 ew Recordset ado+rimarrs1.!+en ,select mem$eridB!!*D*#*returndateissuecounter from $ooks w0ere mem$erid) , I Trim'txt2em*d.Text( I ,) and $ookid), I Trim'txtBook*d.Text( I ,), d$ ad!+en#tatic adLock!+timistic *f ado+rimarrs1.Record&ount J T0en 2sgBox ,2em$er, I txt2em*d I , Doesn)t 0ave t0e Book, I txtBook*d Exit #u$ End *f returndate ado+rimarrs1.Fields'?( *f returndate H Date T0en 2sgBox ,3ou can)t renewal t0is Book, I txtBook*d 7 v$&rLf 7 v$&rLf 7 ,"lease Return t0e Book and + a t0e Fine, frm*ssue - ? Exit #u$ End *f )))c0ange t0e num$er to glo$al issue counter varia$le))))))))))) *ssue&ounter ado+rimarrs1.Fields'@(
*f *ssue&ounter K 2.Renewal&ounter T0en 2sgBox ,3ou can)t renewal t0is Book, 7 txtBook*d 7 v$&rLf 7 , 2em$er, I txt2em*d I , 0ave crossed t0e Renewal Limit, Exit #u$ End *f Dim ado+rimarrs11 As Recordset #et ado+rimarrs11 ew Recordset ado+rimarrs11.!+en ,select #u$=ect from Titles w0ere titleid ), I l$ltitle.&a+tion I ,), d$ ad! +en#tatic adLock!+timistic su$= ado+rimarrs11.Fields'J( )2sgBox su$= Dim ado+rimarrs1> As Recordset #et ado+rimarrs1> ew Recordset ado+rimarrs1>.!+en ,select issuedassu$=ect from #u$=ects w0ere #u$=ect), I su$= I ,), d$ ad!+en#tatic adLock!+timistic #u$=ectReturnDate ado+rimarrs1>.Fields'J( ado+rimarrs1.Fields'?( DateAdd',d, #u$=ectReturnDate returndate( ado+rimarrs1.Fields'@( ado+rimarrs1.Fields'@( 7 1 )2sgBox #u$=ectReturnDate ado+rimarrs1.4+date l$lreturn.&a+tion ado+rimarrs1'?( End #u$ "rivate #u$ cmdReserve%&lick'( *f 4&ase'l$lisin.&a+tion( ,TR4E, T0en 2sgBox ,Book is in t0e li$rar, txtBook*d.Text ,, txt2em*d.#etFocus Exit #u$ End *f *f ot l$lres.&a+tion ,J, And Trim'l$lres.&a+tion( HK Trim'txt2em*d.Text( T0en 2sgBox ,T0is $ooks is reserved $ , I l$lres.&a+tion txtBook*d.Text ,, txt2em*d.#etFocus Exit #u$ End *f Dim ado"rimarR# As Recordset #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,select mem$eridreserveid$ookid from $ooks , d$ ad!+en#tatic adLock!+timistic
ado"rimarR#.Find ',Book*d), I txtBook*d.Text I ,),( ado"rimarR#.Fields'1( Trim'txt2em*d( ado"rimarR#.4+date Txtmemid%LostFocus txtBook*d%LostFocus End #u$ "rivate #u$ cmdreturn%&lick'( Dim ado+rimarrs1 As Recordset #et ado+rimarrs1 ew Recordset ado+rimarrs1.!+en ,select 2em$er*dBook*d*s*nReturnDate*ssue&ounter from Books w0ere 2em$er*d) , I Trim'txt2em*d.Text( I ,) and $ookid), I Trim'txtBook*d.Text( I ,), d$ ad!+en#tatic adLock!+timistic *f ado+rimarrs1.Record&ount J T0en 2sgBox ,2em$er, I txt2em*d I , Doesn)t 0ave t0e Book, I txtBook*d Exit #u$ End *f *f ado+rimarrs1.Fields'>( True T0en 2sgBox ,T0e $ook, I txtBook*d I , is alread in t0e Li$rar, Exit #u$ End *f returndate ado+rimarrs1.Fields'?( *f returndate H Date T0en frm*ssue - @ FineDas DateDiff',d, returndate Date( Dim ado+rimarrs11 As Recordset #et ado+rimarrs11 ew Recordset ado+rimarrs11.!+en ,select #u$=ect from Titles w0ere titleid ), I l$ltitle.&a+tion I ,), d$ ad!+en#tatic adLock!+timistic su$= ado+rimarrs11.Fields'J( Dim ado+rimarrs1> As Recordset #et ado+rimarrs1> ew Recordset ado+rimarrs1>.!+en ,select issuedassu$=ectfinec0arge from #u$=ects w0ere #u$=ect), I su$= I ,), d$ ad!+en#tatic adLock!+timistic Fine&0arge ado+rimarrs1>.Fields'>( 2sgBox ,T0e 2em$er 0as e+t t0e Book, I txtBook*d I , For , I FineDas I , das extra, I , and 2u st +a Rs., I FineDas 6 Fine&0arge I ,M-, v$*nformation ,Fine &0arged.., Dim ado+rimarrs1? As Recordset #et ado+rimarrs1? ew Recordset
ado+rimarrs1?.!+en ,select 2em$er*DBooks*n8andFineBal from 2em$ers w0ere 2em$er*d ), I Trim'txt2em*d( I ,), d$ ad!+en#tatic adLock!+timistic ado+rimarrs1?.Fields'1( ado+rimarrs1?.Fields'1( - 1 ado+rimarrs1?.Fields'>( ado+rimarrs1?.Fields'>( 7 'FineDas 6 Fine&0arge( ado+rimarrs1.Fields'>( ,True, ado+rimarrs1.Fields'J( ,J, ado+rimarrs1?.4+date ado+rimarrs1.4+date End *f End #u$ "rivate #u$ cmd2iss%&lick'( Dim ado+rimarrs1 As Recordset #et ado+rimarrs1 ew Recordset ado+rimarrs1.!+en ,select 2em$er*dB!!*D*#*returndateissuecountercondition from $ooks w0ere mem$erid), I Trim'txt2em*d.Text( I ,) and $ookid), I Trim'txtBook*d.Text( I ,), d$ ad!+en#tatic adLock!+timistic *f ado+rimarrs1.Record&ount J T0en 2sgBox ,2em$er, I txt2em*d I , Doesn)t 0ave t0e Book, I txtBook*d Exit #u$ Else Dim ado+rimarrs> As Recordset #et ado+rimarrs> ew Recordset ado+rimarrs>.!+en ,select +rice from titles$ooks w0ere titles.titleid $ooks.titleid and $ooks.$ ookid), I Trim'txtBook*d.Text( I ,), d$ ad!+en#tatic adLock!+timistic )2sgBox ado+rimarrs>.Fields'J( Dim ado+rimarrs? As Recordset #et ado+rimarrs? ew Recordset ado+rimarrs?.!+en ,select FineBalmem$erid from 2em$ers w0ere 2em$er*d ), I Trim'txt2em*d( I ,), d$ ad!+en#tatic adLock!+timistic ado+rimarrs?.Fields'J( ado+rimarrs?.Fields'J( 7 ado+rimarrs>.Fields'J( ado+rimarrs1.Fields'( ,2*##*<, ado+rimarrs1.4+date ado+rimarrs?.4+date 2sgBox ,T0is is now marked as 2*##*< and its cost is added to 2em$ers Fine Balance, End *f End #u$
"rivate #u$ Form%Load'( #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, End #u$ "rivate #u$ Form%4nload'&ancel As *nteger( 2D*main.mun*ssue.Ena$led True 2D*main.munRenewal.Ena$led True 2D*main.munReturn.Ena$led True End #u$ "rivate #u$ txtBook*d%LostFocus'( Dim ado"rimarR# As Recordset *f Trim'txtBook*d( ,, T0en 2sgBox ,"lease Enter t0e Book *D, Else txtBook*d.Text 4&ase'txtBook*d( #et ado"rimarR# ew Recordset frm*ssue - ado"rimarR#.!+en ,select titleidreserveidconditionisin from Books w0ere Book*d ), I Trim'tx tBook*d( I ,), d$ ad!+en#tatic adLock!+timistic !n Error ( l$lisin.&a+tion ado"rimarR#.Fields'?( End *f Exit #u$ oerr1 2sgBox ,Book *D ot found ..Tr again, v$*nformation 7 v$!!nl ,o 2em$er *D, txtBook*d.Text ,, txtBook*d.#etFocus End #u$ "rivate #u$ Txtmemid%LostFocus'( Dim ado"rimarR# As Recordset *f Trim'txt2em*d( ,, T0en 2sgBox ,"lease Enter t0e mem$er *D, Else txt2em*d.Text 4&ase'txt2em*d( #et ado"rimarR# ew Recordset
ado"rimarR#.!+en ,select FirstameLastameBooks*n8andFineBal from 2em$ers w0ere 2em$er*d ), I Trim'txt2em*d( I ,), d$ ad!+en#tatic adLock!+timistic !n Error ( End *f Exit #u$ oerr 2sgBox ,2em$er *D ot found ..Tr again, v$*nformation 7 v$!!nl ,o 2em$er *D, txt2em*d.Text ,, txt2em*d.#etFocus End #u$ frm2em$ers - 1 Dim /it0Events ado"rimarR# As Recordset Dim m$&0angedB&ode As Boolean Dim mvBook2ark As 5ariant Dim m$EditFlag As Boolean Dim m$AddewFlag As Boolean Dim m$Data&0anged As Boolean "rivate #u$ cmd#earc0%&lick'( txt#earc0 Trim'txt#earc0( ado"rimarR#.2oveFirst ado"rimarR#.Find 'com#earc0.Text I ,), I txt#earc0 I ,),( *f ado"rimarR#.A$solute"osition H J T0en 2sgBox com#earc0 I , ot FoundOOO, ado"rimarR#.2oveFirst End *f End #u$ "rivate #u$ Form%Load'( Dim d$ As &onnection #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,select 2em$er*dFirstameLastameDate!fNoiningDate!fEx+ireBooks*n8andFin e BalAddressTelEmail from 2em$ers, d$ ad!+en#tatic adLock!+timistic
Dim oText As TextBox )Bind t0e text $oxes to t0e data +rovider For Eac0 oText *n 2e.txtFields #et oText.Data#ource ado"rimarR# ext m$Data&0anged False com#earc0.Add*tem ',2em$er*d,( com#earc0.Add*tem ',Firstame,( com#earc0.Add*tem ',Lastame,( com#earc0.List*ndex J End #u$ "rivate #u$ Form%Resie'( !n Error Resume ext l$l#tatus./idt0 2e./idt0 - 1JJ cmdext.Left l$l#tatus./idt0 7 CJJ cmdLast.Left cmdext.Left 7 ?@J End #u$ "rivate #u$ Form%4nload'&ancel As *nteger( #creen.2ouse"ointer v$Default End #u$ "rivate #u$ ado"rimarR#%2ove&om+lete'B5al adReason As AD!DB.EventReasonEnum B5al +Error As AD!D B.Error ad#tatus As AD!DB.Event#tatusEnum B5al +Recordset As AD!DB.Recordset( )T0is will dis+la t0e current record +osition for t0is recordset l$l#tatus.&a+tion ,Record , I tr'ado"rimarR#.A$solute"osition( End #u$ "rivate #u$ ado"rimarR#%/ill&0angeRecord'B5al adReason As AD!DB.EventReasonEnum B5al cRecords A s Long ad#tatus As AD!DB.Event#tatusEnum B5al +Recordset As AD!DB.Recordset( )T0is is w0ere ou +ut validation code )T0is event gets called w0en t0e following actions occur Dim $&ancel As Boolean #elect &ase adReason &ase adRsnAddew &ase adRsn&lose &ase adRsnDelete &ase adRsnFirst&0ange &ase adRsn2ove &ase adRsnRe:uer &ase adRsnResnc0
&ase adRsn4ndoAddew frm2em$ers - > &ase adRsn4ndoDelete &ase adRsn4ndo4+date &ase adRsn4+date End #elect *f $&ancel T0en ad#tatus ad#tatus&ancel End #u$ "rivate #u$ cmdAdd%&lick'( !n Error
Exit #u$ DeleteErr 2sgBox Err.Descri+tion End #u$ "rivate #u$ cmdRefres0%&lick'( )T0is is onl needed for multi user a++s !n Error
m$AddewFlag False #etButtons True m$Data&0anged False Exit #u$ 4+dateErr 2sgBox Err.Descri+tion End #u$ "rivate #u$ cmd&lose%&lick'( 4nload 2e End #u$ "rivate #u$ cmdFirst%&lick'( !n Error
ado"rimarR#.2oveLast End *f )s0ow t0e current record m$Data&0anged False Exit #u$
*f *ndex S And ot *sumeric'txtFields'*ndex(.Text( T0en 2sgBox ,Enter a Tele+0one num$erOOO, txtFields'*ndex(.Text ,, txtFields'*ndex(.#etFocus End *f End #u$ frm!+tions - 1 "rivate #u$ cmd&ancel%&lick'( 2D*main.mun!+tions.Ena$led True 4nload 2e End #u$ "rivate #u$ cmd!%&lick'( 2.Total*ssueBook txtTotal*ssue.Text 2.2axFineBal txt2axFine.Text 2.Renewal&ounter txtRenual&ounter 2.2em$ers0i+Duration txtDuration 2.2em$ers0i+Fee txtFees 2.RenewalFees txtRenewal Dim d$ As &onnection ado"rimarR# As Recordset #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,select Total*ssueBooksRenewal&ounter2axFineBal2em$ers0i+Duration 2em$ers0i+Fee RenewalFees from ( txt2axFine.Text ado"rimarR#.Fields'?( txtDuration ado"rimarR#.Fields'@( txtFees ado"rimarR#.Fields'( txtRenewal ado"rimarR#.4+date d$.&lose 2D*main.mun!+tions.Ena$led True 4nload 2e End #u$ "rivate #u$ Form%Load'( txtTotal*ssue.Text 2.Total*ssueBook txt2axFine.Text 2.2axFineBal
txtRenual&ounter 2.Renewal&ounter txtDuration 2.2em$ers0i+Duration txtFees 2.2em$ers0i+Fee txtRenewal 2.RenewalFees End #u$ "rivate #u$ txtDuration%LostFocus'( /it0 txtDuration *f ot *sumeric'.Text( T0en 2sgBox ,Enter a um$erOOO, .Text ,, .#etFocus End *f End /it0 End #u$ "rivate #u$ txtFees%LostFocus'( /it0 txtFees *f ot *sumeric'.Text( T0en 2sgBox ,Enter a um$erOOO, .Text ,, .#etFocus End *f End /it0 End #u$ frm!+tions - > "rivate #u$ txt2axFine%LostFocus'( /it0 txt2axFine *f ot *sumeric'.Text( T0en 2sgBox ,Enter a um$erOOO, .Text ,, .#etFocus End *f End /it0 End #u$ "rivate #u$ txtRenewal%LostFocus'( /it0 txtRenewal *f ot *sumeric'.Text( T0en 2sgBox ,Enter a um$erOOO, .Text ,, .#etFocus End *f End /it0 End #u$
"rivate #u$ txtRenual&ounter%LostFocus'( /it0 txtRenual&ounter *f ot *sumeric'.Text( T0en 2sgBox ,Enter a um$erOOO, .Text ,, .#etFocus End *f End /it0 End #u$ "rivate #u$ txtTotal*ssue%LostFocus'( /it0 txtTotal*ssue *f ot *sumeric'.Text( T0en 2sgBox ,Enter a um$erOOO, .Text ,, .#etFocus End *f End /it0 End #u$ frm+afine - 1 Dim d$ As &onnection "rivate #u$ cmd+a%&lick'( Dim ado+rimarrs1 As Recordset #et ado+rimarrs1 ew Recordset *f 5al'l$lfine$al.&a+tion( J T0en 2sgBox ,T0e 2em$er 0as no fine $alance, txt2em*d.Text ,, txt2em*d.#etFocus l$l$ooks.&a+tion ,, l$lfine$al.&a+tion ,, l$lmemname.&a+tion ,, Exit #u$ Else !n Error As Recordset #et ado+rimarrs> ew Recordset !n Error
ado+rimarrs>.!+en ,select 2em$eridfineamount+adate from fine w0ere 2em$er*d ), I Trim'txt2em* d( I ,), d$ ad!+en#tatic adLock!+timistic ado+rimarrs>.Addew ado+rimarrs>.Fields'J( Trim'txt2em*d( ado+rimarrs>.Fields'1( 5al'l$lfine$al.&a+tion( ado+rimarrs>.Fields'>( Date ado+rimarrs>.4+date txt2em*d.Text ,, txt2em*d.#etFocus l$l$ooks.&a+tion ,, l$lfine$al.&a+tion ,, l$lmemname.&a+tion ,, End *f Exit #u$ oerr 2sgBox Err.Descri+tion End #u$ "rivate #u$ Form%Load'( #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, End #u$ "rivate #u$ Txtmemid%LostFocus'( Dim ado"rimarR# As Recordset *f Trim'txt2em*d( ,, T0en 2sgBox ,"lease Enter t0e mem$er *D, Else txt2em*d.Text 4&ase'txt2em*d( #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,select FirstameLastameBooks*n8andFineBal from 2em$ers w0ere 2em$er*d ), I Trim'txt2em*d( I ,), d$ ad!+en#tatic adLock!+timistic !n Error ( End *f Exit #u$ oerr
2sgBox ,2em$er *D ot found ..Tr again, v$*nformation 7 v$!!nl ,o 2em$er *D, txt2em*d.Text ,, txt2em*d.#etFocus End #u$ frm#u$=ects - 1 Dim /it0Events ado"rimarR# As Recordset Dim m$&0angedB&ode As Boolean Dim mvBook2ark As 5ariant Dim m$EditFlag As Boolean Dim m$AddewFlag As Boolean Dim m$Data&0anged As Boolean "rivate #u$ cmd#earc0%&lick'( txt#earc0 4&ase'Trim'txt#earc0(( ado"rimarR#.2oveFirst ado"rimarR#.Find 'com#earc0.Text I ,), I txt#earc0 I ,),( *f ado"rimarR#.A$solute"osition H J T0en 2sgBox com#earc0 I , ot FoundOOO, ado"rimarR#.2oveFirst End *f End #u$ "rivate #u$ Form%Load'( Dim d$ As &onnection #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,select #u$=ecto!fBooks*ssueDasFine&0argeReserve&0arge from #u$=ects, d$ ad!+en#tatic adLock!+timistic Dim oText As TextBox )Bind t0e text $oxes to t0e data +rovider For Eac0 oText *n 2e.txtFields #et oText.Data#ource ado"rimarR# ext m$Data&0anged False com#earc0.Add*tem ',#u$=ect,( com#earc0.List*ndex J End #u$ "rivate #u$ Form%4nload'&ancel As *nteger( #creen.2ouse"ointer v$Default
End #u$ "rivate #u$ ado"rimarR#%2ove&om+lete'B5al adReason As AD!DB.EventReasonEnum B5al +Error As AD!D B.Error ad#tatus As AD!DB.Event#tatusEnum B5al +Recordset As AD!DB.Recordset( )T0is will dis+la t0e current record +osition for t0is recordset l$l#tatus.&a+tion ,Record , I tr'ado"rimarR#.A$solute"osition( End #u$ "rivate #u$ ado"rimarR#%/ill&0angeRecord'B5al adReason As AD!DB.EventReasonEnum B5al cRecords A s Long ad#tatus As AD!DB.Event#tatusEnum B5al +Recordset As AD!DB.Recordset( )T0is is w0ere ou +ut validation code )T0is event gets called w0en t0e following actions occur Dim $&ancel As Boolean #elect &ase adReason &ase adRsnAddew &ase adRsn&lose &ase adRsnDelete &ase adRsnFirst&0ange &ase adRsn2ove &ase adRsnRe:uer &ase adRsnResnc0 &ase adRsn4ndoAddew &ase adRsn4ndoDelete &ase adRsn4ndo4+date &ase adRsn4+date End #elect *f $&ancel T0en ad#tatus ad#tatus&ancel End #u$ "rivate #u$ cmdAdd%&lick'( !n Error *f ot '.B!F And .E!F( T0en mvBook2ark .Bookmark End *f .Addew l$l#tatus.&a+tion ,Add record, m$AddewFlag True #etButtons False End /it0
Exit #u$ AddErr 2sgBox Err.Descri+tion End #u$ "rivate #u$ cmdDelete%&lick'( !n Error
End *f m$Data&0anged False End #u$ "rivate #u$ cmd4+date%&lick'( !n Error
End #u$ "rivate #u$ cmdext%&lick'( !n Error
cmd&lose.5isi$le $5al cmdRefres0.5isi$le $5al cmdext.Ena$led $5al cmdFirst.Ena$led $5al cmdLast.Ena$led $5al cmd"revious.Ena$led $5al ))extra code for our frame Frame1.Ena$led $5al End #u$ "rivate #u$ txtFields%LostFocus'*ndex As *nteger( )remove t0e extra s+aces txtFields'*ndex(.Text Trim'txtFields'*ndex(.Text( *f *ndex J T0en txtFields'*ndex(.Text 4&ase'txtFields'*ndex(.Text( Else *f ot *sumeric'txtFields'*ndex(.Text( T0en 2sgBox ,Enter a um$erOOO, txtFields'*ndex(.Text ,, txtFields'*ndex(.#etFocus End *f End *f End #u$ frmTitles - 1 Dim /it0Events ado"rimarR# As Recordset Dim m$&0angedB&ode As Boolean Dim mvBook2ark As 5ariant Dim m$EditFlag As Boolean Dim m$AddewFlag As Boolean Dim m$Data&0anged As Boolean "rivate #u$ D&om$o%&lick'Area As *nteger( txtFields'?(.Text D&om$o.Text End #u$ "rivate #u$ Form%Load'( Dim d$ As &onnection #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2#Data#0a+eData "R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,#8A"E select Title*dTitleAut0or#u$=ect;uantitAdd!n"rice from TitlesU A
# "arent&2D A""ED 'select title*d Book*d 2em$er*d Reserve*d ReturnDate &ondition T+e*ssue* s*n *ssue&ounter from Books U A# &0ild&2D RELATE Title*d T! Title*d( A# &0ild&2D, d$ ad!+en#tatic adLock!+timistic Dim oText As TextBox )Bind t0e text $oxes to t0e data +rovider For Eac0 oText *n 2e.txtFields #et oText.Data#ource ado"rimarR# ext #et grdData ew Recordset ado+rimarrs>.!+en ,select #u$=ect from #u$=ects , d$ ad!+en#tatic adLock!+timistic #et D&om$o.Data#ource ado+rimarrs> #et D&om$o.Row#ource ado+rimarrs> D&om$o.ListField ,#u$=ect, End #u$ "rivate #u$ Form%Resie'( !n Error Resume ext )T0is will resie t0e grid w0en t0e form is resied grdData
s Long ad#tatus As AD!DB.Event#tatusEnum B5al +Recordset As AD!DB.Recordset( )T0is is w0ere ou +ut validation code )T0is event gets called w0en t0e following actions occur Dim $&ancel As Boolean #elect &ase adReason &ase adRsnAddew frmTitles - > &ase adRsn&lose &ase adRsnDelete &ase adRsnFirst&0ange &ase adRsn2ove &ase adRsnRe:uer &ase adRsnResnc0 &ase adRsn4ndoAddew &ase adRsn4ndoDelete &ase adRsn4ndo4+date &ase adRsn4+date End #elect *f $&ancel T0en ad#tatus ad#tatus&ancel End #u$ "rivate #u$ cmdAdd%&lick'( !n Error
End /it0 Exit #u$ DeleteErr 2sgBox Err.Descri+tion End #u$ "rivate #u$ cmdRefres0%&lick'( )T0is is onl needed for multi user a++s !n Error
ado"rimarR#.2oveLast )move to t0e new record 2sgBox ,3ou 0ave , I txtFields'@( I , Books under t0is Title "lease enter t0e Books Data., 2.Books&allBTitle True m$EditFlag False m$AddewFlag False #etButtons True m$Data&0anged False frmBooks.#0ow Exit #u$ End *f m$EditFlag False m$AddewFlag False #etButtons True m$Data&0anged False Exit #u$ 4+dateErr 2sgBox Err.Descri+tion End #u$ "rivate #u$ cmd&lose%&lick'( 4nload 2e End #u$ "rivate #u$ cmdFirst%&lick'( !n Error
2sgBox Err.Descri+tion End #u$ "rivate #u$ cmdext%&lick'( !n Error
cmdDelete.5isi$le $5al cmd&lose.5isi$le $5al cmdRefres0.5isi$le $5al cmdext.Ena$led $5al cmdFirst.Ena$led $5al cmdLast.Ena$led $5al cmd"revious.Ena$led $5al )extra code D&om$o.5isi$le ot $5al txtFields'?(.5isi$le $5al )cmdBooks.Ena$led $5al )grdData
"rivate #u$ munFineBal%&lick'( Dim d$ As &onnection #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,select 2em$er*d Books*n8and FineBal Tel Email Address from 2em$ers w0ere FineBalKJ, d$ ad!+en#tatic adLock!+timistic #et FineBalRe+ort.Data#ource ado"rimarR# FineBalRe+ort.#0ow End #u$ "rivate #u$ munFineRe+ort%&lick'( Dim d$ As &onnection #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, #et ado"rimarR# ew Recordset ado"rimarR#.!+en ,select 2em$er*dFineAmount"aDate from Fine, d$ ad!+en#tatic adLock!+timis tic #et FineRe+ort.Data#ource ado"rimarR# FineRe+ort.#0ow End #u$ "rivate #u$ mun*ssue%&lick'( frm*ssue.cmd*ssue.5isi$le True frm*ssue.cmdc0arge.5isi$le False frm*ssue.cmdrenewal.5isi$le False frm*ssue.cmdreturn.5isi$le False frm*ssue.&a+tion ,*ssue Book, mun*ssue.Ena$led False munRenewal.Ena$led True munReturn.Ena$led True frm*ssue.#0ow End #u$ "rivate #u$ mun2em$ers%&lick'( frm2em$ers.#0ow End #u$ "rivate #u$ mun2iss%&lick'( frm*ssue.cmd*ssue.5isi$le False frm*ssue.cmdc0arge.5isi$le False
frm*ssue.cmdrenewal.5isi$le False frm*ssue.cmdreturn.5isi$le False frm*ssue.cmd2iss.5isi$le True frm*ssue.&a+tion ,2issing Book, 2D*main - > frm*ssue.#0ow End #u$ "rivate #u$ mun2issBook%&lick'( Dim d$ As &onnection #et d$ ew &onnection d$.&ursorLocation ad4se&lient d$.!+en ,"R!5*DER2icrosoft.Net.!LEDB.?.1Data #ource, I 2.Fileame I ,, #et ado"rimarR# ew Recordset #;L ,select Titles.Title*dTitles.#u$=ectTitles.TitleTitles.Aut0orBooks.Book*d from Books titles w0ere Titles.Title*dBooks.Title*D and $ooks.condition )2*##*<), ado"rimarR#.!+en s#;L d$ ad!+en#tatic adLock!+timistic #et 2issRe+ort.Data#ource ado"rimarR# 2issRe+ort.#0ow End #u$ "rivate #u$ mun!+tions%&lick'( frm!+tions.#0ow mun!+tions.Ena$led False End #u$ "rivate #u$ mun"afine%&lick'( frm+afine.#0ow End #u$ "rivate #u$ munRenewal%&lick'( frm*ssue.cmdrenewal.5isi$le True frm*ssue.cmdc0arge.5isi$le False frm*ssue.cmd*ssue.5isi$le False frm*ssue.cmdreturn.5isi$le False frm*ssue.#0ow frm*ssue.&a+tion ,Book Renewal, munRenewal.Ena$led False mun*ssue.Ena$led True munReturn.Ena$led True End #u$ "rivate #u$ munRes%&lick'( frm*ssue.cmd*ssue.5isi$le False frm*ssue.cmdc0arge.5isi$le False
frm*ssue.cmdrenewal.5isi$le False frm*ssue.cmdreturn.5isi$le False frm*ssue.cmdReserve.5isi$le True frm*ssue.&a+tion ,Reserve Book, frm*ssue.#0ow End #u$ "rivate #u$ munReturn%&lick'( frm*ssue.cmdreturn.5isi$le True frm*ssue.cmdc0arge.5isi$le False frm*ssue.cmd*ssue.5isi$le False frm*ssue.cmdrenewal.5isi$le False frm*ssue.#0ow frm*ssue.&a+tion ,Book Return, munReturn.Ena$led False mun*ssue.Ena$led True munRenewal.Ena$led True End #u$ "rivate #u$ mun#u$=ects%&lick'( frm#u$=ects.#0ow End #u$ "rivate #u$ munTitles%&lick'( frmTitles.#0ow End #u$ 2-1 "u$lic Fileame As #tring "u$lic Books&allBTitle As Boolean "u$lic Total*ssueBook Renewal&ounter 2axFineBal 2em$ers0i+Duration 2em$ers0i+Fee RenewalFees As *nteger "u$lic #u$ Load(
2em$ers0i+Duration ado"rimarR#.Fields'?( 2em$ers0i+Fee ado"rimarR#.Fields'@( RenewalFees ado"rimarR#.Fields'( d$.&lose End #u$
BIBLIOGRAPHY
BIBLIOGRAPHY