Вы находитесь на странице: 1из 268

E-commerce

Industrial project 2
1
System Design and Implementation Document
On
E-Commerce(EthioWebShop)
Industrial project II (CSCE 4!)
I" #$%&I$' ()'(I'*E"& O( &+E %E,)I%E*E"& (O%
&+E DE-%EE O( .$C+E'O% O( SCIE"CE I" CO*#)&E%
SCIE"CE

Submitted by:
.ethelhem Eshetu
(eru/ 0edir
*eseret Sey1u
Seada "esreddin
2odit *ohammed
Submitted to:
($C)'&2 O( I"(O%*$&ICS
DE#$%&*E"& O( CO*#)&E% SCIE"CE
$DDIS $.$.$ )"I3E%SI&2
$DDIS $.$.$
4uly 56 7889:
E-commerce
E-Commerce
(Ethio;ebshop)
<: .ethelhem Eshetu ID:"8: CCD=>9?!=9
7: (eru/ 0edir ID:"8: CCD=>9>9=9
?: *eseret Sey1u ID:"8: CCD=>4!!=5
4: Seada "esreddin ID:"8: CCD=>9>=9
>: 2odit *ohammed ID:"8: CCD=><7=9
$d@isorA - $to E;netu .ayuh
$ppro@ed by-
<:BBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBB
$d@isorCs name Signature Date
7:BBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBB
EDaminerCs name Signature Date
?:BBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBB
CoordinatorCs name Signature Date
Industrial project 2
2
E-commerce

$cEno;ledgement
We ;ould liEe to eDtend our thanEs 1or so many people: .ut most o1 all the entire project
;ould not ha@e attained its present shape and Fuality ;ithout the sel1less attention and
continued support o1 our ad@isor6 $to E;netu .ayuh:
Our gratitude also goes to W=t *esay ;ho in addition to her regular duties6 ;as Eind enough
to maEe a@ailable materials reFuired 1or the 1ul1illment o1 the project:
Our thanEs also goes to 1amily members6 1riends and colleagues ;ho ha@e al;ays rendered
material and moral support in e@ery step o1 the project.
Industrial project 2
3
E-commerce
'ist o1 1igures
Fig.1.1. Gant chart.22
Fg 2.1. Data fow dagram for order ...
26
Fg 2.2. Data fow dagram for saes
28
Fg 2.3. Data fow dagram for shpment.
.29
Fg 2.4. Data fow dagram for Product handng. ...
30
Fg 2.5. Use Case Dagram of the exstng
system40
Fg 2.6. User nterface prototypng for Customer Regstraton.
47
Fg 2.7. User nterface prototypng for Order nformaton (Reguar customer)
48
Fg 2.8. User nterface prototypng for Order nformaton (Non Reguar
customer).........49
Fg 2.9. User nterface prototypng for Cash Saes Invoce / Credt Saes
Invoce ................50
Fg 2.10. User nterface prototypng for Manage
product50
Fig 2.11. User interface prototping for !roduct Report ..51
Fg 2.12. User nterface prototypng for Returned Product
.52
Fg 2.13. User nterface prototypng for Order Report ..
.53
Industrial project 2
"
E-commerce
Fg 2.14. User Interface Fow Dagram
..54
Fg 2.15. Cass Responsbty Coaborator for e-commerce
system....61
Fig.3.1. #stem use case diagram for e-commerce$$
Fig.3.2. #e%uence diagram for &alidate user......................................................................''
Fig.3.3. #e%uence diagram for &alidate user alternate course action.................................'(
Fig 3-" se%uence diagram for place order......')
Fig 3-* #e%uence diagram for place order alternate course action+....(,
Fg 3-6 #e%uence diagram for place order alternate course action-....81
Fg 3-7 #e%uence diagram for place order alternate course action. ..82
Fig 3-( sequence dagram for pace order aternate course of actonD.83
Fig 3-) se%uence diagram for /egister ne0 product.......................................................(".
Fig 3-1, se%uence diagram for /egister ne0 product +lternate course of action +.(*
Fig 3-11se%uence diagram for /egister ne0 customer....($
Fig 3-12se%uence diagram for of /egister ne0 customer +lternate course of action +
.('
Fig 3-13se%uence diagram for update product...((
Fig 3-1"se%uence diagram for &ie0 order status..()
Fig 3-1* se%uence diagram for &ie0 o0n order...),
Fig 3-1$ se%uence diagram for cancel order )1
Fig 3-1' se%uence diagram for 1u product)2
Fig 3-1( se%uence diagram for 1u product alternate course of action +..)3
Fig 3-1) se%uence diagram for 1u product alternate course of action -)"
Fig 3-2, se%uence diagram for 1u product alternate course of action .)*
Fig 3-21se%uence diagram for 1u product alternate course of action . +..)$
Industrial project 2
*
E-commerce
Fig 3-22se%uence diagram for 1u product alternate course of action . -...)'
Fig 3-23 se%uence diagram for 2anage account...)(
Fig 3-2" +cti&it 3iagram for 1u product...))
Fig 3.2* Unrefined class diagram....1,1
Fig 3.2$ 3ecompose class diagramGG.....1,3
Fig 3.2' /efined classes 1,*
Fg 3.28 Man page1,$
Fg. 3.29 Logn..1,$
Fg. 3.30 Create an account..1,'
Fg. 3.31 Regster New Customer
Page....107
Fg 3.32 Shoppng cart page108
Fg3.33 menu screen....109
Fig 3.3" 2anage product..11,
Fg. 3.35 Knd of Report111
Fg.3.36 Lst Orders of Report111
Fg 3.37 returned product..112
Fg 3.38 Manage account page..113
Fg 3.39 Create an account page..
..113
Fg 3.40 Return product page..114
Fg 3.41 Order product page..114
Fg 3.42 Buy product page.130
Fg 3.43 Invad ogn screen..130
Fg 3.44 Conformaton screen..130
Fg 3.45 Invad nformaton screen..131
Fg 3.46 Invad nformaton screen..131
Fig $.1 class tpe architecture.1"1
Industrial project 2
$
E-commerce
Fig $.2 class modeling ....145
Fig$.3 #tate chart diagram for product..158
Fig$." .olla1oration diagram for &alidate user.159
Fig$.* .olla1oration diagram for register ne0 customer...160
Fig$.$ .olla1oration diagram for register ne0 product.1$,
Fig $.' .olla1oration diagram for place order...161
Fig $.( .olla1oration diagram for update product information.161
Fig $.) .olla1oration diagram for cancel order..........162
Fig $.1, .olla1oration diagram for &ie0 order status.................163
Fig$.11 .olla1oration diagram for &ie0 o0n order status164
Fig $.12 .olla1oration diagram for 1u product...165
Fig $.13 .olla1oration diagram for manage account.166
Fig $.1" .omponent diagram for Ethio0e1 shop...... 168
Fig$.1*3eploment diagram for order management application.......169
Fig $.1$ 3eploment for product management application.......170
Fig $.1' 3eploment for customer management application1',
Fig $.1( 3eploment for administrator application..........................................................1'1
Fig$.1) 3eploment for report generation management application...............................1'1
Fig$.2, 3eploment for supplier management application..............................................1'2
Fg6.21 /elational !ersistent modeling diagram............1("
Fig $.22 User Interface flo0 diagram...1($
Fig '.1 Flo0 chart for log in process .....188
Fig'.2 Flo0 chart for order process 189
Fig '.3 Flo0 chart for 1u process..190
Fg 7.4 Man page..........................................................2,,
Fg. 7.5Logn....2,,
Fg 7.6 Shoppng cart page....2,1
Fg 7.7 menu screen..2,2
Fg 7.8 Product regstraton..2,3
Industrial project 2
'
E-commerce
Fg 7.9 Lst Order .2,"
Fg 7.10 2anage +ccount !age.....2,*
.Fg 7.11 -u product page.. 2,*
Fig '.12 +ccept 4ocal card
'ist o1 tables
5a1le 1.1. General project ris6s..1(
5a1le 1.2. 7or6 1rea6 structure8 deli&era1les and coordination22
5a1le $.1 +ccount class..1"$
5a1le $.2 9rder class..1"(
5a1le $.3 .ustomer class1")
5a1le $." In&oice class1*,
Tabe 6.5 Address cass.......................................................................151
5a1le $.$ 4ocal card class1*2
5a1le $.' !roduct class1*"
5a1le $.( .ategor class..1**
5a1le $.) #upplier class....1*$
5a1le '.1 5est cases for 4og in component testing..1)*
5a1le '.2 5est cases for create account component testing......1)$
5a1le '.3 5est cases for customer entr component testing.1)'
5a1le '." 5est cases for order component testing.1)(
5a1le '.* 5est cases for report generation component testing.1))
Industrial project 2
(
E-commerce


&able o1 contents
C+$#&E% O"E :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<?
<:I"&%OD)C&IO" ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<?
<:7 S&$&E*E"& O( &+E #%O.'E*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<5
<:? O.4EC&I3ES O( &+E #%O4EC&:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<9
1.3.1 GE:E/+4 9-;E.5I<E............................................................................................................................................1(
1.3.2 #!E.IFI. 9-;E.5I<E#...........................................................................................................................................1(
<:4 #%O4EC& &I&'E ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<
<:! (E$SI.I'I&2 S&)D2:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::78
Industrial project 2
)
E-commerce
As the name implies, a feasibility study is an analysis of the viability of an idea. A feasibility study is a
preliminary study undertaken to determine and document a project's viability. The feasibility study focuses on
helping answer the essential question of should we proceed with the proposed project idea! All activities of
the study are directed toward helping answer this question. The term feasibility study is also used to refer to the
resulting document. These results of this study are used to make a decision whether to proceed or not."hoffer
#$$$%........................................................................................................................................................................#$
<:5SI-"I(IC$"CE O( &+E #%O4EC&:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::7>
<:9 .E"E(ICI$%IES O( &+E #%O4EC& ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::75
<: #%O4EC& *E&+ODO'O-2:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::7
1.).1 #=#5E2 3E<E49!2E:5 2E5>93949GIE#..........................................................................................................2)
1.).2 3+5+ .944E.5I9: ..............................................................................................................................................31
1.).3. 3E<E49!2E:5 E:<I/9:2E:5 +:3 !/9G/+22I:G8 5994#...............................................................................32
.$C0 E"D D$&$.$SE -*2S,' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::?7
*2S,' D$&$.$SE +$S .ECO*E &+E WO%'DHS *OS& #O#)'$% O#E" SO)%CE D$&$.$SE
.EC$)SE O( I&S CO"SIS&E"& ($S& #E%(O%*$"CE6 +I-+ %E'I$.I'I&2 $"D E$SE O( )SE: I&
%)"S O" *O%E &+$" 78 #'$&(O%*S I"C')DI"- 'I")I6 WI"DOWS6 OS=I6 +#-)I6 $II6
"E&W$%E:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::?7
&+E #)%#OSE O( &+E )"I(IED *ODE'I"- '$"-)$-E IS &O #%O3IDE $ '$"-)$-E-
I"DE#E"DE"& $"D #'$&(O%* I"DE#E"DE"& *ODE'I"- "O&$&IO": )*' DOES $DD &+E
$.I'I&2 &O DESC%I.E &+E .E+$3E O% O( E$C+ O.4EC& C'$SS=E"&I&26 +$3E $ *O%E
EI&E"SI3E $.I'I&2 &O DESC%I.E I"&E%-%E'$&IO"S+I# CO"S&%$I"&S: $&&%I.)&ES C$" .E
DESC%I.ED I" *O%E DE&$I' &+$" I" O&+E% "O&$&IO"S:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::?4
<:<8 SCO#E $"D 'I*I&$&IO"S O( &+E #%O4EC&::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::?4
1.1,.1 #.9!E.................................................................................................................................................................3"
#I:.E 5>I# I# 5>E E+/4= #5+GE 9F 5>E !/9;E.58 9U/ #.9!E I# 4I2I5E3 59:-...........................................................3"
<:<< %IS0S6 $SS)*#&IO"S $"D CO"S&%$I"&S:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::?>
1.11.1 +##U2!5I9:#.....................................................................................................................................................3*
1.11.2 .9:#5/+I:5#.....................................................................................................................................................3*
Industrial project 2
1,
E-commerce
&.&&.'.& (eneral risk areas....................................................................................................................................')
<:<? WO%0 .%E$0 DOW" S&%)C&)%E $"D DE'I3E%$.'ES::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::?9
&$.'E <:7 WO%0 .%E$0 DOW" S&%)C&)%E $"D DE'I3E%$.'ES:::::::::::::::::::::::::::::::::::::::::::::::::::::::::48
C+$#&E% &WO ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::4<
7:< I"&%OD)C&IO"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::47
7:7 .)SI"ESS $%E$ $"$'2SIS:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::47
7:7:< *$4O% ()"C&IO" O( &+E EIIS&I"- S2S&E* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::4?
*ig #.&#. +ser interface prototyping for ,eturned product.....................................................................................-'
*ig #.&'. +ser interface prototyping for .rder ,eport...........................................................................................-)
#.&&. /omain modeling with 0lass ,esponsibility 0ollaborator "0,0% cards ..................................................-1
C+$#&E% &+%EE:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
O.4EC& O%IE"&ED $"$'2SIS::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
?:<: I"&%OD)C&IO":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#U!!4E2E:5+/= #!E.IFI.+5I9:...............................................................................................................................1*)
#.'.#.&. 2usiness rules............................................................................................................................................&)3
#.'.#.#. 4on5functional requirements...................................................................................................................&)3
#.'.#.'. 0onstraints...............................................................................................................................................&6$
#.'.#.7. 0hange cases.............................................................................................................................................&6$
C+$#&E% (O)%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!<
EIEC)&I3E S)**$%2:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!<
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!4
C+$#&E% (I3E:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!4
>: %E,)I%E*E"& %E3IEW $"D 3$'ID$&IO":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!4
>:<: I"&%OD)C&IO":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!4
>:7: C+EC0 'IS& O( ()"C&IO"$' %E,)I%E*E"&S:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!4
<: 3$'ID$&E S2S&E* )SE%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!4
Industrial project 2
11
E-commerce
7:%E-IS&E%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!>
?:#'$CE O%DE%::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!>
4:3IEW OW" O%DE%:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!>
>:-E"E%$&E %E#O%&::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!!
...............................................................................................................................................................................&66
).' 0heck list of 4on5functional requirements.....................................................................................................&66
C+$#&E% SII::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!5
O.4EC& O%IE"&ED DESI-":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!5
!:<: I"&%OD)C&IO" ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!5
!:7: C'$SS &2#E $%C+I&EC&)%E::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<!5
!:? O.4EC& O%IE"&ED C'$SS *ODE'I"-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<5<
$.3.2. 39.U2E:5+5I9: 9F +##9.I+5I9:#................................................................................................................1($
$." #5+5E .>+/5 293E4I:G.....................................................................................................................................1($
$.*. .944+-9/+5I9: 3I+G/+2..................................................................................................................................1()
$.'. 3E!49=2E:5 293E4I:G.....................................................................................................................................1))
$.(. !E/#I#5E:.E 293E4I:G......................................................................................................................................2,3
$.). U#E/ I:5E/F+.E 3E#IG:.....................................................................................................................................21'
!::< )SE% I"&E%($CE ('OW DI$-%$**I"- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::7<9
'.2.1 F497 .>+/5.....................................................................................................................................................21)
'.3. 5E#5I:G !/9.E3U/E#..........................................................................................................................................222
'.". 5E#5 .+#E #!E.IFI.+5I9:....................................................................................................................................22'
5:4:< 'O- I":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::775
9:<:< CO"C')SIO":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::7?
9:<:7 %ECO**E"D$&IO"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::748
&%)S& $"D CO"(IDE"CE IS C%)CI$' &O $"2 &%$"S$C&IO"6 *O%E SO (O% &%$"S$C&IO"S
C$%%IED O)& 3I%&)$''2 &+%O)-+ E'EC&%O"IC *E$"S: &+E &E$* %ECO**E"DS &+$& I"
DE3E'O#I"- S)C+ $" E-CO**E%CE S2S&E*6 I& IS C%)CI$' &+$& E((O%&S .E &$0E" .2
Industrial project 2
12
E-commerce
&+E #%I3$&E $"D #).'IC SEC&O%S &O .)I'D CO"(IDE"CE $"D &%)S& I" E-CO**E%CE: &+E
&E$* $'SO %ECO**E"DS $"2 C)S&O*E% W+O "EEDS &O #)%C+$SE #%OD)C&S &O *$0E
)SE O( &+IS S2S&E* $"D S$3E +IS=+E% 3$')$.'E &I*E $"D *O"E2:::::::::::::::::::::::::::::::::::::::::::748
+!!E:3I?....................................................................................................................................................................2""
.93I:G ......................................................................................................................................................................2""
#+<E -U=....................................................................................................................................................................2**
Chapter one
1. Introduction
The rapd expanson of the Internet n the ate 1990s ed to
exposve growth n eectronc commerce (e-commerce)-the
exchange of goods and servces over the Word Wde Web

E-commerce s the onne transacton of busness, featurng
nked computer systems of the vendor, host, and buyer. Eectronc
transactons nvove the transfer of ownershp or rghts to use a
good or servce. The amount of trade conducted eectroncay has
grown dramatcay snce the spread of the nternet. A wde varety
of e-commerce s conducted n ths way; spurrng and drawng on
nnovatons n eectronc funds transfer, suppy chan management,
nternet marketng, onne transacton processng, and eectronc
data nterchange (EDI), automated nventory management
Industrial project 2
13
E-commerce
systems, and automated data coecton systems. Modern eectronc
e-commerce typcay uses the Word Wde Web at east at some
pont n the transactons fe cyce, athough t can encompass a
wder range of technooges such as e-ma as we.

E-commerce in Ethiopia
From a Least Deveoped Country (LDC) pont of vew, the
threat of the "dgta dvde" appears to have oomed even greater
as LDCs st grappe wth basc ssues such as connectvty and
access to the Internet whe the deveoped word are worryng
about how they can use the Internet to dodge traffc |ams or book
parkng space on ther way to work.
Ethopa st has a hghy reguated teecommuncatons
servce. There s ony one state owned ceuar operator and one
state owned Internet Servce Provder. Ethopa has 81 Internet
hosts, an nternatona bandwdth of 512 K and 2500 da-up
subscrbers. No prvate VSAT censes are permtted.
The team tred to cassfy some of the reasons whch mt the
spread of e-commerce n Ethopa and n the east deveoped
countres as a whoe as government, commerca and soca
barrers.
Industrial project 2
1"
E-commerce
Government barriers
There are a number of government poces n LDCs whch have a
detrmenta effect on the proferaton of e-commerce n these
countres. They ncude:
- The nsstence of governments to hod onto and protect neffcent
state owned
teephone networks. Ths resuts n nferor and hgh
communcatons costs makng
e-commerce actvtes unnecessary costy and uncompettve.
- The ack of government strategy or support to deveop word cass
enterprses.
- Restrctons on mports and exports such as permts and censes,
and the tme
taken to obtan these permts, pace barrers n the way of fast
effcent e-commerce.
Commercial barriers
- Incompatbe busness processes. Entrepreneurs tend to run ther
busnesses on
nstnct and experence. The e-commerce envronment w
Industrial project 2
1*
E-commerce
chaenge ther busness
processes.
- A ack of capacty (sks and fnance) to take on the new
technooges requred n
becomng e-commerce enabed. The costs and sks requred to set
up an nterna
e-commerce nfrastructure are often overwhemng for sma and
medum busnesses.
Social barriers
- Leves of educaton and anguage. Due to mted teracy sks
and Engsh not
beng the anguage of most LDCs, t s more dffcut for peope to
adopt ths new
medum of communcatng and nteractng.
- Lfestye dfferences. LDCs tend to be more communty orentated
whereas the
Internet s an nteracton between an ndvdua and the content on
the screen. Ths
may cause peope n LDCs to take onger to reazes the benefts of
Industrial project 2
1$
E-commerce
Internet access.
1.2 Statement of the problem
In our fast growng and deveopng gobaze word usng tradtona
buyng and seng of goods s ncompetent and team dentfed the
foowng genera probems.
Dffcuty n communcatng a seer wth a buyer.
Restrcted to norma busness operatng hours.
The probems can be cassfed:
For the seller
Hgh operaton cost.
Large amount of unnecessary paper work
Lmted to servng the customers n ts oca geographca
ocaton so there s nconsstency wth the reguar procedure.
Need to bud, staff, or mantan a store, prnt and dstrbute
ma order cataog.
Less opportunty to mprove ther products because of fewer
customers feed back.
Industrial project 2
1'
E-commerce
For the buyer
Because many peope are extremey busy, they may not fnd t
smper to shop n ther esure hours at home by usng
cataogs
Searchng for an tem n the rea word takes vauabe tme and
energy.
The tme and hasse (dsturb) nvoved n runnng from store to
store.
1.3 b!ectives of the "ro!ect
1.3.1 General Objective
The genera ob|ectve of the pro|ect s to deveop an e-commerce
system.
1.3.2 Specific Objectives
The pro|ect w aso address the foowng specfc ob|ectves
1. Busness area anayss
1.1. Busness Functons: Processes, tmng of crtca
processes and procedures carred out by the buyers and
seers.
1.2. Identfcaton and defnton of the probem.
1.3. Address probems experenced by the current process
2. Generaton of requrement
Industrial project 2
1(
E-commerce
2.1. Functona Requrement: requrements that dea wth the
fundamenta processes of the system.

2.2. Non Functona Requrement: requrements that dea
wth the quaty aspect of the system.
- Performance requrements
-System securty requrements
-Backup and Recovery Requrements
-System and Communcaton Requrement
3. Ob|ect Orented Anayss
It s used to show #hat knd of system to bud.
4. Ob|ect orented desgn
It s used to show ho# to bud a system by desgnng modues and
decomposng a probem n to parts.

5. Impementatons and testng the new system.
Ths s used to ensure a components of the system work at ther
most basc eve. Once tested and vadated, the components w be
ntegrated wth one another.
<:4 #roject title
The pro|ect tte s e-commerce $Ethio %eb Shop&.
Industrial project 2
1)
E-commerce
<:! (easibility study
As the name mpes, a feasbty study s an anayss of the vabty
of an dea. A feasbty study s a premnary study
undertaken to determne and document a pro|ect's vabty.
The feasbty study focuses on hepng answer the essenta
queston of "shoud we proceed wth the proposed pro|ect
dea?" A actvtes of the study are drected toward hepng
answer ths queston. The term feasbty study s aso used to
refer to the resutng document. These resuts of ths study are
used to make a decson whether to proceed or not.(hoffer
2000).
The four types of feasbtes the team has studed are:
1.6.1 Economic feasibility
The Economc Feasbty for any pro|ect s dentfed based on the
cost beneft anayss. The pro|ect w be economcay vabe ony f
the beneft obtaned s greater than the cost nvested. To fnd out
the cost that s key to be nvested n a specfc category of
Eectronc Commerce System, t s essenta to fnd out the drect
cost and the ndrect cost assocated wth the pro|ect. The st of
Industrial project 2
2,
E-commerce
Drect Cost and Benefts assocated wth the nvestments n E-
Commerce systems are dentfed as foows-
ne time cost
The capta cost assocated wth the purchase of computers,
perpheras and necessary software (tota estmated cost
20,000.00 brr).
o PC - Two PCs wth unt prce of 8,000.00.
o Prnter - one prnter wth unt prce of 1,000.00.
o Software -softwares prce s 100.00.
Cost assocated wth furnture ke computer stand for the
newy proposed E-Commerce System estmated (tota
estmated cost 13,000.00 brr.)
o Computer stand - two computer stand wth unt prce of
500.00.
o Char - two chars wth unt prce of 800.00.
Other Indrect cost ke transportaton (estmated 1000.00
brr.)
'ecurrin( costs
Cost assocated wth the operatona materas ke
Industrial project 2
21
E-commerce
statoneres, foppy dsks etc estmated (estmated 2000.00
brr.)
o Teephone expenses - 1,000.00.
o Statonary expenses - 500.00.
o Photocopy expenses - 400.00
Cost assocated wth the Web hostng Servces (estmated
1000.00 brr).
The benefts of the E-Commerce System can be cassfed as
() Tangbe beneft and
() Intangbe beneft.
The Tangbe benefts are
.
Reducton n cost of producton and operaton reated to the
busness.
Prevous abor cost
1. Saes person - wth saary of 600.00 (Mnmum
number of saes person n the company s fve).
2. Marketng manager - wth saary of 1,500.00.
3. Product manager - wth saary of 2,000.00.
o Tota cost estmated s 6,500.00.
Industrial project 2
22
E-commerce

Present abor cost
1. Web shop manager - wth saary of 2,500.00.
2. Admnstrator - wth saary of 1,500.00.
o Tota cost estmated s 4,000.00.
Some of the Intangbe benefts are
Expanded market reaches for the product.
Possbty of more vsbty for the product.
Strengthenng busness reatonshp between the buyers and
seers.
Shorter tme to market the product and subsequent fast
response tme from the buyers and the seers.
Improved buyers oyaty and servces through easer access
to atest nformaton.
So by carryng out cost and beneft anayss the team concuded
that the system s economcay feasbe.
1.6.2 Technical feasibility
Ths s a process of assessng the deveopment organzatons
abty to construct a proposed system. Ths shoud ncude an
Industrial project 2
23
E-commerce
assessment of the deveopment groups understandng of the
possbe target hardware, software and operatng envroment to be
used as we as system sze, compexty and the groups exercse
wth smar systems.
Some of the ponts that make our pro|ect techncay feasbe are:-
The requrements for the pro|ects are hghy structured and easy
obtanabe, system s avaabe for anayst to examne and study.
The deveopment group s famar wth the technoogy that w be used
to construct the system.
So the pro|ect team concudes that ths pro|ect shoud be vewed as havng
"very ow" technca rsk. Ths concudes that the system s techncay feasbe.
1.6.3 Operational feasibility
Ths s the process of assessng the degree to whch a proposed
system sove busness probems or take advantage of busness
opportuntes outned n the system servce request or pro|ect
dentfcaton study.(hoffer 2000)
Snce the proposed system makes the communcaton between the
seer and the buyer more effectve and effcent n terms of tme
and resource the team concuded that the pro|ect w be
Industrial project 2
2"
E-commerce
operatonay feasbe as t fts n to the current day-to day
operatons of the seer as we as the buyer.
1.6.4 Schedule feasibility
Ths s the process of assessng the degree to whch the potenta
tme frame and competon dates for a ma|or actvtes wthn a
pro|ect meet organzatona deadnes and constrants for affectng
change (hoffer 2000). Snce each secton of the devery dates w
be broken down nto components and assgned to each member on
the team who has the sks and knowedge to compete the task
and the pro|ect assumed to be fnshed wth n the tme frame. The
occurrence of some obstaces s of course unavodabe but we w
tacke them effcenty as they appear.
So the pro|ect s schedue feasbe accordng to the above ponts.
<:5 Signi1icance o1 the project
-)bi*uity: - the market s extended beyond tradtona boundares
and removed from a tempora and geographca ocaton." market
space" s created shoppng can take pace anywhere. Customer
convenence s enhanced, and shoppng costs are reduced.
-Global reach:- e-commerce s enabed across cutura and
natona boundares seamessy and wth out modfcaton." market
space" ncudes potentay bons of consumers and mons of
Industrial project 2
2*
E-commerce
bussness word wde.
-Interactivity: - buyers are engaged n daogue that dynamcay
adverts the experence to the ndvdua and makes the buyers a
co-partcpant n the process of deverng goods to the market.
- +ein( able to conduct business 2, - . - 3/0 A-E-commerce
systems can operate a day every day. Your physca storefront
does not need to be open n order for buyers to be abe to do
busness actvtes.
- pportunity to reduce costs. The Internet makes t very easy
to 'shop around' for products and servces that may be cheaper
or more effectve than we mght otherwse sette for. It s
sometmes possbe to, through some onne research, dentfy
orgna manufacturers for some goods - thereby bypassng
whoesaers and achevng a cheaper prce.
-Computer platform-independent. 'Many, f not most,
computers have the abty to communcate va the Internet
ndependent of operatng systems and hardware. buyers are not
mted by exstng hardware systems'
-1ccess the (lobal mar2etplace. The Internet spans the word,
and t s possbe to do busness wth any busness or person who
s connected to the Internet. Smpe oca busnesses such as
Industrial project 2
2$
E-commerce
specast record stores are abe to market and se ther offerngs
nternatonay usng e-commerce. Ths goba opportunty s
asssted by the fact that, unke tradtona communcatons
methods, users are not charged accordng to the dstance over
whch they are communcatng.
-Customer outsourcin(3 The customers aso provde a ot of the
data for the transacton that may otherwse need to be entered
by busness staff. Ths means that some of the work and costs
are effectvey shfted to customers; ths s referred to as
'customer outsourcng'.
<:9 .ene1iciaries o1 the #roject
For Team members:
For the parta fufment of the requrement for the degree of
Bacheor of Computer Scence.
To face and sove rea fe probems.
To create team Sprt among the deveopment team.
For buyer
E-commerce systems can operate 24 hours a day and 7 days
a week. Your physca storefront does not need to be open n
order for buyers to be abe to do busness actvtes.
Industrial project 2
2'
E-commerce
pportunity to reduce costs Through the use of the nternet
t s possbe to bypass whoe saes and gan cheaper prce.
Computer platform-independent Buyers are not mted by
operatng and hardware systems
4ime3 There s no need to wat weeks for a cataogue to
arrve by post: that communcatons deay s not a part of the
Internet / e-commerce word.
Ease of access3 The customer need not move around to get
the tems that he deserves.
For seller
1ccess the (lobal mar2etplace. Through the use of the
nternet t s possbe to do busness wth anyone who s
connected to the nternet.
Customer outsourcin(3 The customers enter the data by
themseves whch were requred to be entered by the staff.
By ncreasng customer reach gobay the seer abe to
ncrease proft.

Industrial project 2
2(
E-commerce
<: #roject *ethodology
1.9.1 System Development Methodologies
Structured programmng s many a way of breakng a
probem nto routnes. It takes on the top-to-bottom approach. It
spts the tasks nto moduar forms. It emphaszes on functonaty
and does not stress data. It s partcuary approprate for
appcatons that have a ot of ndependent functons that do not
nteract much. It s more approprate for probems where
functonaty s more key to change than data.
In contrast, ob|ect-orented desgns work we at a hgher eve
of abstracton. They factate the desgnng of modues,
decomposng a probem. They are especay approprate for
probems where the data s more key to change than the
functonaty. Ths type of programmng uses sectons n a program
to perform certan tasks. It spts the program nto ob|ects that can
be reused nto other programs. Each ob|ect or modue has the data
and the nstructon of what to do wth the data n t. Ths can be
reused n other software drecty.
As a deveoper of ths pro|ect we, the team members have
agreed to foow the ob|ect orented methodoogy n order to
acheve the above mentoned benefts of the methodoogy.
The team chose ob|ect orented deveopment because of the
foowng advantages:-
Industrial project 2
2)
E-commerce
Faster 5evelopment: OOD has ong been touted as eadng
to faster deveopment. Many of the cams of potentay
reduced deveopment tme are correct n prncpe, f a bt
overstated.
'euse of "revious #or2: Ths s the beneft cted most
commony n terature, partcuary n busness perodcas.
OOD produces software modues that can be pugged nto one
another, whch aows creaton of new programs. However,
such reuse does not come easy. It takes pannng and
nvestment.
Increased 6uality: Increases n quaty are argey a by-
product of ths program reuse. If 90% of a new appcaton
conssts of proven, exstng components, then ony the
remanng 10% of the code has to be tested from scratch. That
observaton mpes an order-of-magntude reducton n
defects.
7odular 1rchitecture: Ob|ect-orented systems have a
natura structure for moduar desgn: ob|ects, subsystems,
framework, and so on. Thus, OOD systems are easer to
modfy. OOD systems can be atered n fundamenta ways
wthout ever breakng up snce changes are neaty
encapsuated. However, nothng n OOD guarantees or
requres that the code produced w be moduar. The same
eve of care n desgn and mpementaton s requred to
Industrial project 2
3,
E-commerce
produce a moduar structure n OOD, as t s for any form of
software deveopment.
Client8Server 1pplications: by ther very nature,
cent/server appcatons nvove transmsson of messages
back and forth over a network, and the ob|ect-message
paradgm of OOD meshes we wth the physca and
conceptua archtecture of cent/server appcatons.
+etter 7appin( to the "roblem 5omain: Ths s a cear
wnner for OOD, partcuary when the pro|ect maps to the rea
word. Whether ob|ects represent customers, machnery,
banks, sensors or peces of paper, they can provde a cean,
sef-contaned mpcaton whch fts naturay nto human
thought processes.
1.9.2 Data Collection
The requrements gatherng and anayss phase are a cruca start
to the success of ths pro|ect.
For the purpose of requrement gatherng the team w use the
foowng data coecton methods:
1.on site Observation
The team expects to gather reevant nformaton by observng how
the buyer and seer communcate, how the seer performs ts
Industrial project 2
31
E-commerce
busness actvtes and the ke.
2. Document Analysis and review of literature3
The pro|ect team s observng some wrtten documents and e-
commerce books that are wrtten by dfferent researchers and
authors.
1.9.3. Development environment and programming, tools
Front end - Htm
Htm s a standard that aows the same content to be accessed by
every computer wth a web browser. So seectng htm as a front
end gves more fexbty when t comes to upgradng software and
hardware.
Script lan(ua(e -Php
Php s free of cost and snce t s open source a ot of code can be
found n open source forums. It has nbut features ke ftp, ema
from a web page or even encrypton mechansms, moreover the
syntax used n php s qute smar to c/c++.
+ac2 end database -MySq
MySq database has become the word's most popuar open source
database because of ts consstent fast performance, hgh
reabty and ease of use. It runs on more than 20 patforms
ncudng Lnux, wndows, OS/X, HP-UX, AIX, Netware
Industrial project 2
32
E-commerce
5evelopment Environment
Front page and DreamWeaver-choosen because the group
members are we famar wth them and they provde many
factes to deveop WebPages.
4ools
'ational 'ose:-Ratona Rose s an ob|ect-orented Unfed
Modeng Language (UML) software desgn too ntended for vsua
modeng and component constructon of enterprse-eve software
appcatons.
Two popuar features of Ratona Rose are ts abty to provde
teratve deveopment and round-trp engneerng. Ratona Rose
aows desgners to take advantage of teratve deveopment and
round-trp engneerng Ratona Rose aows desgners to take
advantage of teratve deveopment (sometmes caed evoutonary
deveopment) because the new appcaton can be created n stages
wth the output of one teraton becomng the nput to the next.
(Ths s n contrast to waterfa deveopment where the whoe
pro|ect s competed from start to fnsh before a user gets to try t
out.) Then, as the deveoper begns to understand how the
components nteract and makes modfcatons n the desgn,
Ratona Rose can perform what s caed "round-trp engneerng"
by gong back and updatng the rest of the mode to ensure the
code remans consstent.
9isio3 - abty to provde teratve deveopment and round-trp
Industrial project 2
33
E-commerce
engneerng and t s aso easy to use.
1.:.3 7odelin( lan(ua(e -UML
The purpose of the Unfed Modeng Language s to provde a
anguage-ndependent and patform ndependent modeng
notaton. UML does add the abty to descrbe the behave or of
each ob|ect cass/entty, have a more extensve abty to
descrbe nter-reatonshp constrants. Attrbutes can be
descrbed n more deta than n other notatons.
In addton, the UML ncudes other knds of dagrams besdes statc
ob|ect dagrams. These ncude use cases, actvty dagrams, and
others.
<:<8 Scope and limitations o1 the project
1.10.1 Scope
Since this is the early stage of the project, or scope is
li!ite" to#$
Seer regstraton
Customer regstraton
Product regstraton
Advertsement of goods for the seer
Orderng process
Seng process
Industrial project 2
3"
E-commerce
Hande payment process.
1.10.2 imitations of the pro!ect
Any shpment connected actvtes w not be handed by ths
pro|ect
<:<< %isEs6 assumptions and constraints
1.11.1 "ssumptions
Understandng among the team members
Resources w be avaabe such as :-
Research papers
Books on e-commerce and system anayss and desgnng
The team expects contnues support from the advsor.
1.11.2 Constraints
Constraint: s somethng that mts your fexbty n defnng a
souton to your ob|ectves.
Schedue: Successfu pot mpementaton must be operatona
wth n nne month.
1.11.3. %is&s
1.11.3.1 #eneral ris$ areas
'is2s Counter 7easures
Deveopng wrong software
functons
Better requrement anayss.
Understandng the scope of the
Industrial project 2
3*
E-commerce
system very we
Requrement changes Incrementa deveopment ,hgh
change threshod
Insuffcent commtment to
the pro|ect by the team
members
Creatng favorabe hours and
condtons for the members that
cannot be fuy commtted
Change n pro|ect scope
(ether expandng or
narrowng)
The scope of the pro|ect must be
we defned and ceary stated at
the begnnng of the pro|ect
Confct wth n the pro|ect
members
Try to sette both partes by
resovng ther confct but f ths
can not be acheved the pro|ect
eader has to take acton
Not cear requrements
(some mportant
requrements may never be
dscovered urgent
requrements may be
dscovered too ate)
A the requrements must be
known n deta at the begnnng
of the pro|ect
5a1le 1.1 General ris6 areas
<:<7 #roject Deli@erables
Industrial project 2
3$
E-commerce
The foowng deverabes are expected under each phase of the
pro|ect.
Initiation
Identfcaton of the pro|ect
Estabsh management procedures
Deveopng team communcaton and reportng procedures,
|ob assgnments and roes, pro|ect change procedures and
determnng how pro|ect fundng w be handed.
Seecton of pro|ect manager
"lannin(
Descrbng pro|ect scope, aternatves and feasbty
Dvdng the pro|ect nto manageabe tasks (deveopng
the work breakdown
Premnary schedung and cost pannng
Identfyng and assembng rsk
1nalysis
Descrpton of the current system and where probems or
opportuntes are wth a genera recommendaton on how
to fx, enhance, or repace current system.
Expanaton of aternatve systems and |ustfcaton for
chosen aternatve.
;o(ical desi(n
Industrial project 2
3'
E-commerce
Functona, detaed specfcaton of a system
eements(data, processes, nputs and outputs)
"hysical desi(n
Technca, detaed specfcaton of a system
eements(programs, fes, system software)
Implementation
Code, documentaton
7aintenance
New versons or reease of software wth assocated
updates to documentaton
<:<? WorE breaE do;n structure and deli@erables
%+S
I<5E=
41S> 4 +E
C'5I<14E5
+?
)4")4
$5E;I9E'1+;ES&
E-commerce
1 Introducton Bethehem,yodt Proposa
2 BusnessArea
Anayss&Requre
ment defnton
2.1 Defnton of the
exstng system
Meseret Documentaton of
the exstng system
2.2 Identfcaton of
the probem
Feruz Lst of stated
probems
2.3.2 Essenta use case Seada Essenta use case
Industrial project 2
3(
E-commerce
modeng
2.3.2.3 Essenta user
nterface
prototypng
Bethehem Essenta user
nterface
2.3.2.2 Doman modeng
wth cass
responsbty
coaborator(CRC)
cards
Yodt Cass responsbty
coaborator (CRC)
cards
2.3.3 Suppementary
specfcatons
Documentaton of
Suppementary
specfcaton
2.3.3.1 Identfyng
Busness Rues
Seada
2.3.3.2 Identfyng
constrants
Feruz
2.3.3.3 Identfyng change
cases
Bethehem
2.3.3.4 Functona
requrement
Meseret Documentaton of
functona
requrements
2.3.3.5 Identfyng non-
functona
requrements
Yodt
3 Ob|ect Orented
Industrial project 2
3)
E-commerce
Anayss
3.1 System Use case
modeng
Seada System use case
dagram
3.2 Sequence
Dagram
Bethehem,
yodt
Sequence Dagram
3.3 Conceptua
Modeng: Cass
Feruz Cass Dagrams
3.4 Actvty
dagrammng
Meseret Actvty dagram
3.5 User Interface
prototypng
Bethehem User nterface
prototypng
Tabe 1.2 Work break down structure and deverabes
Industrial project 2
",
E-commerce
<:<4 #roject schedule
Chapter 4#o
2. +usiness area analysis and re*uirement
definition
Industrial project 2
"1
E-commerce
2.1 Introduction
The busness area anayss w nvestgate the nteracton or
communcaton between buyer and seer process together wth
rues and procedures carred out by the seer, and buyer n order to
perform seng and buyng actvtes. The chapter aso deas wth
defnng the requrements of the proposed system. A requrement s
somethng that shoud be fufed by a system or a gap that t must
f to be sutabe for the proposed cents or customers.
2.2 +usiness area analysis
Commerce s a dvson of trade or producton whch deas wth the
exchange of products and servces from producer to fna
consumer. It comprses the tradng of somethng of economc vaue
such as products, servces, nformaton or money between two or
more enttes.
A commerce at ts smpest eve rees on:
Buyers - these are peope wth money who want to
purchase a products or servce.
Seers - these are the peope who offer products and
servces to buyers. Seers are generay recognzed n two
dfferent forms: retaers who se drecty to consumers
Industrial project 2
"2
E-commerce
and whoesaers or dstrbutors who se to retaers and
other busnesses.
Producers - these are the peope who produce the products
and servces that seers offer to buyers. A producer s
aways, by necessty, a seer as we. The producer ses
the products produced to whoesaers, retaers or drecty
to the consumer.
The Eements of typca Commerce actvty
Product or servce to offer
A pace from whch to se your products
Marketng - a way to get peope to come to your pace
Orders - a way to accept product request.
Money - a way to accept payment.
Fufment. - way to dever the product or servce
Returns - a way to accept returned products.
2.2.1 7a!or function of the e-istin( system
1dvertisin( process
Seect the products whch are gong to be advertsed.
Identfy the target audence.
Industrial project 2
"3
E-commerce
Seect from varous meda communcaton methods, n order to
persuade a segment of the popuaton to buy products, use
servces, and accept deas based on cost, targetng and response.
Fnay dever the promoton to the target audence based on the
seected means of advertsng.
rder process
Receve customers nqury
Ths can be n many ways, wak-n, teephone, fax, ema etc.
For nterna nformaton record purposes, a separate customer
order form s used to keep track of customers nqury.
Check avaabty of stocks
Obvousy, the store keeper w be contacted to make sure
suffcent quantty of stocks are avaabe (stock cards) or ese
exact date of new arrva of stocks shoud then be checked
and communcated to the customers.
Before an order s accepted, the customer s checked f he/she
has not yet pad the debts on the specfed credt perod for
the tem he/she took before.
Agree on prcng
Prces are cacuated for the ordered tems. Taxes, shppng
charges are aso cacuated.
Industrial project 2
""
E-commerce
For non reguar customer prepayment s made.
Industrial project 2
"*
E-commerce
Industrial project 2
"$
E-commerce
Fg 2.1. Data fow dagram for order
Sales process
If customer has aready made an order
Prepare stack(tem )for devery
Generate devery order form whch ncudes st of tems to be
devered to the buyer
If saes s made on credt, generate credt saes nvoce
otherwse generate cash saes nvoce-receve cash
For wak-n customer
Check avaabty of the tem (product) the customer
requests.
If on cash receve cash and cash saes nvoce.
If on credt check credtworthness. If worthy
generate credt saes nvoce.
Industrial project 2
"'
E-commerce
Fg 2.2. Data fow dagram for saes
Industrial project 2
"(
E-commerce
Shipment process
Based on the customer orders, further arrangement such as
packng of stocks, transportaton arrangement & etc. w
be arranged for the devery of stocks to the customers.
Devery of stocks together wth the devery orders and the
saes nvoces to the customers.
Fg 2.3. Data fow dagram for shpment
Industrial project 2
")
E-commerce
"roduct handlin( process
Deduct the quantty of the specfed tem from the stock card
form based on the actua quantty of stock-out.
Add the quantty of the specfed tem from the stock card
form based on the actua quantty of stock-n.

Fg 2.4. Data fow dagram for product handng
Industrial project 2
*,
E-commerce
2.3 'eports (enerated in the e-istin(
system
Inventory stoc2 status report
Lsts the quantty on hand, mnmum stockng eve, and reorder
quantty for a nventory tems. Ths report s used to determne
what tems need to be reordered.
Inventory unit activity report
Ths report s used to anayze unt purchases and saes for the
current perod or a seected date range.
Inventory profitability report
Lsts each tem wth the foowng nformaton for a specfed date
range: unts sod, cost, gross proft, ad|ustments, and percent of
tota proft.
Cost of products sold
Lsts the cost of saes for each tem at the tme that they are sod.
Use Ths report s used to verfy genera edger postngs for cost of
products transactons.
Inventory valuation report
Shows the vaue and average cost for a tems that are n stock.
Item costin( report
Lsts each nventory tem wth costng nformaton for quanttes
receved and sod.
Industrial project 2
*1
E-commerce
Item list
Lsts each tem ID, descrpton, cass, type, and quantty on hand.
Item price list
Lsts each tem wth quantty on hand and each avaabe saes prce.
"hysical inventory list
Use ths worksheet to check the actua number of tems on hand (as reveaed
n a physca nventory) vs. what the record reports on hand.
2., Forms@ documents used in the e-istin(
system
The foowng are common types of documents ssued when there
are saes transactons.
'nvoices
Normay you receve these when you purchase physca
products. Same functon as bs, nvoces ask the recpents to
pay by a specfed date.
(elivery Or"ers
You get these when you receve the products that you have
ordered prevousy. However, devery order s dfferent from
nvoce, ts functon s to record the descrptons and quantty of
the products concern, whereas, nvoce w state the unt prce
and aso the terms of payments.
)sto!er rders
Customer orders are used for the customers to f up n
Industrial project 2
*2
E-commerce
orderng the products.
)re"it sales for!
Credt saes forms are used by credt customer to f up
nformaton about the products they take on credt.
Ship!ent infor!ation for!
Shpment nformaton form s a form whch s fed by the
customer that states how Packng of stocks, transportaton
arrangement & etc. w be handed.
Stoc& )ar"s * Stoc& +e"ger
Stock cards are used to montor physca movement of stocks.
For better contro purposes, stock cards are normay kept and
recorded by storekeepers, and ony quantty of stocks, stock
codes and descrpton of stocks are recorded on the stock
cards wth out the unt costs ndcated. Ths s because t s not
necessary for storekeepers to know the unt costs of stock (n
a way to reduce the rsk of pferage of more expensve stock
tems). Stock cards are updated based on the evdence of
stock-n (products receved notes and devery orders from
suppers f no products receved notes system practced) and
stock-out (devery orders to customers) In addton to stock
cards, some busness enttes aso mantan another type of
Stock record - stock edger. Stock edger s updated wth a
the detas of stocks ncudng the stock code, descrptons,
quantty and the tota vaue of each type of stock based on
supper nvoces receved. At every fxed nterva e.g. month
Industrial project 2
*3
E-commerce
end, the quanttes of stocks refected n the stock cards coud
then be checked and reconced to the quanttes of stocks
recorded n the stock edger and any varances to be
nvestgated and foowed-up.
2.0 "roblems of e-istin( system
The expanaton of probem of the exstng system s gven beow
usng a PIECES framework
2.,.1-erfor!ance
.hroghpt
A saes person competes 50 saes transactons wthn a day
whe he shoud process 100.
Poor tme management.
Often paper work s sow, whch resuts n ag on cents
servces
%esponse ti!e
Deay n the preparaton and dstrbuton of customer fes.
For nstance, preparaton and dstrbuton of seng
documents of the customer takes mnmum of about 1 day.
Ths s because transferrng of customer fes from one offce
to another takes tme.
Information
Output
Incompete database.
Athough some organzatons have computerzed seng and
Industrial project 2
*"
E-commerce
orderng process, t s not suffcent for screenng reevant
nformaton.
Poor communcaton and coordnaton wth work unts snce
the exstng system s manua.
Informaton s not tmey to ts subsequent use.
When a decson of some knd s needed, nformaton on whch
to base that decson may take onger tme to obtan.
Redundant nformaton.
Customer and product nformaton s stored n many paces.
The system produces nconsstent resuts.
Inconsstency n decson makng wth regard to customers
reated matters of smar nature.
Input
In the current manua system much process has to be
performed to make data usefu.
Data may not be accuratey captured.
Data s captured redundanty.
Inaccuracy n updatng reevant nformaton snce manua
processng s error prone.
Stored data
Data s stored redundanty n mutpe fes. Those customer
nformaton found n appcaton forms are aso repeated n
Industrial project 2
**
E-commerce
other forms.
Snce some data are not accuratey captured they are not
accuratey stored.
Data s not securey stored. As the resut, customer
nformaton s exposed to unauthorzed agents.
Due to the arge number of manua fes, organzaton of data
s dffcut and s not easy to meet new nformaton needs from
stored data.
Economy
To fgure out a way to get peope come to busness
paces(markets) most busnesses use sendng out a ma order
cataogue, advertsng and aso ocatng a busness pace n a busy
shoppng center resuts n wastage of money.
Materas wastage
Effort and materas requred for tasks s excessve.
Durng the seng and orderng process, materas and
suppes are often wasted because of redundant nput of
nformaton or erroneous data.
Control/security
Control
Redundanty stored data s nconsstent n dfferent fes.
Processng errors are occurrng.
Decson makng errors due to ack of credbty of reports.
Snce staff members have the possbty to access the data,
Industrial project 2
*$
E-commerce
prvacy of data s beng voated.
The system produces naccurate resuts.
Once an error occurs n the nput process ths error can affect
a eves of the dvson.
Security
Unauthorzed person can aso access customers nformaton
easy whch voates the prvacy of customers.
Efficiency
Tme wastage
Ineffcency due to poor tme management.
Redundancy n the fow of customer nformaton.
At certan occasons, data s redundanty coped whch creates
repeated nformaton at the cost of tme.
As data s redundanty coped, the nformaton generated s
aso redundant.
Service
As beng a manua system t s not easy to use, easy to earn,
awkward to use, nfexbe to new stuaton and changes.
2./ "ractices to be preserved
o There st remans need to physcay dever products.
Industrial project 2
*'
E-commerce
o The basc prncpes of tradtona commerce-that s, buyers
and seers come together to exchange products for money
must be there .
o Returnng products whch are aready sod.
2.. "layers of the e-istin( system
These are staff members n the tradtona commerce:
Sales person
Regster new customer
Regster new order
Hep customers fnd the products they need, ncudng exporng
the cataog, comparng products.
7ar2etin( 7ana(er
Dever promotons.
Prepare awareness advertsements
+uyer8Customer
Order avaabe product
Buy avaabe product
"roduct 7ana(er
Checks f products have reached ther mnmum order eve
Update product record
manage the returned products
Cassfy products based on categores
Manage order
Manage product reports
Industrial project 2
*(
E-commerce
"roposed system
Due to the probems of tradtona commerce stated above the
team proposes to deveop an e-commerce system n order to
aevate those probems. Payment process s handed usng oca
card that the customer buys before she/he makes order or buy
products on ne. In order to decde the type of payment that the
customer has to made when orderng or buyng (prepayment when
orderng or fu payment when buyng) the suppers must provde a
st that contans customers nformaton wth credt worthness.

2.A. Essential modelin(
Essenta modeng s ntended to capture the essence of probems
through technoogy free, deazed and abstract descrptons. They
are more robust as they are more key to reman vad n the face
of both changng requrements and changes n the technoogy of
mpementaton. In short essenta modes are dea to capture the
requrements for the new system (Amber, 2001).
The artfacts of essenta use case mode are essenta use case
modes, essenta user nterface prototype and doman modes
wth Cass Responsbty Coaborator (CRC).
2.A.1 Essential )se Case 7odelin(
Essenta use case modes refect the behavora requrements of
the system to be deveoped (Amber, 2001).
/. /ctor '"entification
Industrial project 2
*)
E-commerce
An actor represents anythng or anyone that nterfaces wth a
system. Ths may ncude peope, externa systems, and other
organzatons and they are aways externa to the system beng
modeed (Amber, 2001).
<ame3 - Customer
5escription3 - Cent to whom the product s offered
<ame3 -Product Manager
5escription3 - s a person who s responsbe to manage products.
<ame3 - Marketng Manger
5escription: - s a person who s responsbe to dever promotons.
<ame3 - Saes Person
5escription: A person who s responsbe for the regstraton of the
forms and who assst the customer n the seng process.
0. 1se )ase '"entification.
A use case descrbes a sequence of actons that provde a
measurabe vaue to an actor. In other words, t shows a way n
whch a rea word actor nteracts wth the system (Amber, 2001).
An essenta use case s a smpfed, abstract, generazed use case
that captures the ntentons of the user n a technoogy and
mpementaton ndependent manner (Constantne and Lockwood,
1999).
The team dentfed the foowng use cases for each actor.
Industrial project 2
$,
E-commerce
Buy product
Order product
Generate report
Manage product
Dever promoton
Regster customer
Manage order
Mange returns
). 0siness %le '"entification.
A busness rue s effectvey an operaton prncpe or pocy
software must satsfy. The busness rues of the system are
documented n essenta use case modeng.
+'.1 Vadate Order
+'1.1 Vadate persona nformaton of the customer i.e. Frst
name, Last name, date of order, devery date shoud be fed
+'1.2 for (non reguar) customer prepayment s requred
(25% of the actua prces)
+'1.3 Devery date shoud not be any ess than a week from
the date of order
+'1., Unpad debts shoud be setted before any further saes
or order s made.
+'. 2. 9alidate Sales
+'2.1: Saes s made wth or wth out pror order.
Industrial project 2
$1
E-commerce
+'2.2: Product ordered shoud be taken wth n a specfed
number of days after devery date.
+'2.2.1 Credt perod - shoud not exceed 15 days.
+'2.2.2 Credt mt - (amount n brr) a customer can
take a product on
credt should not exceed 20,000.
+'2.3: Saes on credt shoud not be made wthout checkng
the credt worthness of the customer (by good w, fnanca
statements of the customer)
+'.3. Vadate Product
+'3.1 Vadate product nformaton i.e. Product (artce)
name, Product Id, Category, Date- In, Ouantty, Prce, Supper
shoud be fed.
+'3.23 Product shoud be ordered whenever mnmum order
eve set by the company.
Industrial project 2
$2
E-commerce
(. 1se )ase (iagra!.
Fg 2.5. Use Case Dagram of the exstng system
2. (escriptions of 1se )ases.
<ame3 'e(ister Customer
Industrial project 2
$3
E-commerce
1ctor3 Saes Person, Customer
Identifier: UC1
5escription3 regster the customer nformaton.
"recondition3
"ost condition3 the customer nformaton s recorded
+asic course of action3
1. The saes person wants to regster customer.
2. The saes person fs nformaton on the form
3. The saes person verfes the entered nformaton based on the
busness rue "+'1.1 Vadate persona nformaton of the
customer i.e. Frst name, Last name, address shoud be fed."
4. Use case ends
1lternate course 1: The entered nformaton s ncorrect:
A.3 The saes person detects the error
A.4 The saes person retres to correct the error
A.5 the use case resumes from basc course of acton abeed 3.
<ame3 rder "roduct
1ctor3 Saes Person, customer
Identifier: UC2
5escription3 order avaabe product
"recondition3 the product to be ordered shoud be avaabe
"ost condition3 the customer order the product he wants
+asic course of action3
Industrial project 2
$"
E-commerce
1. The customer wants to order product.
2. The saes person shows the avaabe products.
3. The customer s checked for unpad debt based on "BR1.4 unpad
debts shoud be setted before any further saes or order s
made."
4. The saes person fs the order form.
5. The saes person verfes the entered nformaton based on
"BR1.1 Vadate order nformaton .e. order-date, devery-date,
quantty-ordered shoud be fed."
6. The saes person checks type of customer based on "BR1.2 for
(non reguar) customer prepayment s requred".
7. Customer makes prepayment.
8. The saes person conforms the customer order s competed
successfuy.
9. The use case ends.
1lternate course 1: The entered nformaton s ncorrect
A.5 The saes person detects the error
A.6 The saes person retres to correct the error
A.7 the use case resumes from basc course of acton abeed 4.
1lternate course +3 the customer has not pad hs debt.
B.3. the saes person detects the customer has not pad hs debt.
B.4. the saes person notfes the customer to pay debts.
B.5 Use case ends.
1lternate course C3 the customer s reguar.
Industrial project 2
$*
E-commerce
C.6. the saes person detects the customer s reguar.
C.7. the use case resumes from basc course of acton abeed 8.
<ame3 +uy "roduct
1ctor3 Customer/Saes Person
Identifiers: UC3
5escription: buy avaabe product.
"recondition3 The product seected shoud be avaabe n the
store
"ost condition3 the customer buys the seected product.
+asic course of action3
1. The customer wants to buy a product
2. The saes person checks f order has aready been made before
based on "+'2.1:
Saes s made wth or wth out pror order".
3. The saes person shows the customer the avaabe product
4. The customer s checked for unpad debt based on "BR1.4
unpad debts shoud be
setted before any further saes or order s made."
6. The saes person requests the type of payment (credt or cash).
7. Cash saes nvoce s gven to the customer.
8. The saes person saes the seected product.
9. The use case ends
1lternate course A: Saes s on credt
Industrial project 2
$$
E-commerce
A.6. The saes person detects saes s on credt.
A.7. Check credt worthness based on "+'2.3: Saes on credt
shoud not be made wthout checkng the credt worthness of the
customer (by good w, fnanca statements of the customer)".
A.8 Credt saes nvoce s gven to the customer.
A.9 the use case resumes from basc course of acton abeed 8.
1lternate course +3 order has aready made
B.2 The saes person detects that order has been made before.
B.3 the use case resumes from basc course of acton abeed 4.
1lternate course C3 the customer has not pad hs debt.
C.4. the saes person detects the customer has not pad hs debt.
C.5. the saes person notfes the customer to pay debts.
C.6. use case ends.
<ame3 7ana(e product
1ctor3 Product Manager
Identifiers3 UC4
5escription3 updates product record, cassfy products based on
ther category.
"recondition3
"ost condition3 The product record s updated.
+asic course of action3
1. The manager wants to manage product.
Industrial project 2
$'
E-commerce
2. The manager vews the product st.
3. The manger updates product record based on the actua
quantty n or out (ssued) and cassfy products based on
category.
4. The manager checks f products have reached ther mnmum
order eve based on BR3.2: Product shoud be ordered
whenever the avaabe quantty reaches ts mnmum order
eve set by the company.
5. The use case ends.
1lternate course 13 products have reached ther mnmum order
eve
A4. Manager detects products have reached ther mnmum order
eve
A5 Generatng order for the products
A6 Use case ends.
<ame3 5eliver promotion
1ctor3 Marketng Manager
Identifiers3 UC5
5escription3 dever promotons or advertse products.
"recondition3 the Marketng manager shoud have the marketng
sk.
"ost condition: goods are advertsed.
+asic course of action3
Industrial project 2
$(
E-commerce
1. The marketng manager wants to promote products.
2. Dever promoton usng e-ma, posta ma, and teephone
3. The use case ends.
<ame3 7ana(e returns.
Actor: Product Manager
Identifier3 UC6
5escription3 manage the returned products
"recondition3 Prevous agreement on the return of goods
"ostcondition3 return products are managed
+asic course of action3
1. The Product manager wants to manage the returned products.
2. Investgates why the products are returned
3. Return product.
4. Reuse use case abeed UC4.
5. Use case ends.
<ame3 7ana(e order
1ctor3 Product Manager
Identifier: UC7
5escription3 st, edt, and cance customer orders.
"recondition3
"ost condition: orders are managed
Industrial project 2
$)
E-commerce
+asic course of action3
1. The Product manager wants to manage the orders.
2. The Product manager vews the orders.
3. The Product manager update order attrbutes (order-date,
devery-date, quantty-ordered) or cances order.
4. Use case ends.
<ame3 Generate report
1ctor3 Product Manager/marketng manager
Identifiers3 UC8
5escription3 Generate a report
"recondition3 The person shoud be a manager.
"ostcondition3 A partcuar Report s generated.
+asic course of action3
1. The Manager wants to generate report.
2. The Manager seects type of report to be generated.
3. The Manager generates the report.
4. The use case ends.
2.: Essential )ser Interface "rototypin(
The user nterface (UI) s a porton of software wth whch the user
Industrial project 2
',
E-commerce
drecty nteracts. An essenta user nterface prototype s a ow
fdety mode, or prototype of the UI for the system. It represents
the genera dea behnd the UI requrements n a technoogy
ndependent manner (Amber, 2001). An essenta user nterface
heps the team to mode the ma|or UI eements ke screens, reports
and mnor UI eements such as, nput feds and sts.
Fg 2.6. User nterface prototypng for Customer Regstraton
Customer 'e(istration
Industrial project 2
'1
Customer full name3
Input fed:-ncudes
customer frst, mdde
and ast name.
Customer telephone:
Input fed: - ncudes
customers mobe,
offce and resdent
teephone numbers
Customer 1ddress3
Input fed:-ncudes
country, kebee,
substy , posta /zp
code and woreda.
E-commerce
rder information(Reguar customer)
Industrial project 2
'2
Customer full name3
Input fed:-ncudes
customer frst, mdde
and ast name.
"roduct name:
Input fed:-ncudes
the name of the
product to be
ordered.
6uantity3
Input fed:-ncudes
the number of tems
needed per product.
"roduct cate(ory:
Input fed: - ncudes
the genera
descrpton of the
tem.
rder number3
Input fed:-assgned
unque dentfcaton
to each order.
5elivery date:
Input fed: - ncudes
the date product s to
be devered.
E-commerce
Fg 2.7. User nterface prototypng for Order nformaton (Reguar customer)
Industrial project 2
'3
rdered date:
Input fed:-ncudes
the date the order s
made.
E-commerce
rder information(Non Reguar customer)
rder number3
Input fed:- assgned
unque dentfcaton
to each order.
"roduct name:
Input fed:-ncudes
the name of the
product to be
ordered.
Industrial project 2
'"
Customer full name3
Input fed:-ncudes
customer frst, mdde
and ast name.
"roduct cate(ory:
Input fed: - ncudes
the genera
descrpton of the
tem.
6uantity3
Input fed:-ncudes
the number of tems
needed per product.
E-commerce
Fg 2.8. User nterface prototypng for Order nformaton (Non Reguar
customer)
Fg 2.9. User nterface prototypng for Cash Saes Invoce / Credt Saes Invoce
Industrial project 2
'*
rdered date:
Input fed:-ncudes
the date the order s
made.
5elivery date:
Input fed: - ncudes
the date product s to
be devered.
"repayment3
Input fed:-contans
vaue
that the customer
must pay when pacng
order
E-commerce
Industrial project 2
Cash Sales Invoice 8 Credit Sales Invoice
5ate3
Input fed: - assgns
the date the nvoce
made.
'$
Invoice number3
Input fed: - assgned
unque dentfcaton to
each nvoce.
"rice3
Input fed:-ncudes the
prce to be pad for
each tem.
6uantity3
Input fed:-ncudes the
number of tems
needed per product.
1mount3
Input fed: - contans
the quantty of product
needed and the
approprate prce.
"roduct name:
Input fed:-ncudes
the name of the
product to be
ordered.
"roduct cate(ory:
Input fed: - ncudes
the genera
descrpton of the
tem.
4otal 1mount3
Input fed:-assgned
vaue of tota amount
to be pad
E-commerce
Industrial project 2
''
E-commerce
Industrial project 2
7ana(e "roduct
'(
"roduct number3
ncudes unque
dentfcaton to each
product.
In3 ncudes quantty of
product receved.
"roduct name:
Input fed:-ncudes
the name of the
product to be
ordered.
5ate3 ncudes the
date the stock s
updated.
ut3 ncudes the
quantty of product
ssued.
"roduct cate(ory:
Input fed: - ncudes
the genera
descrpton of the
tem.
+alance : ncudes
remanng quantty n
stock
E-commerce
Fg 2.10. User nterface prototypng for Manage product
Industrial project 2
')
E-commerce
Industrial project 2
"roduct 'eport
"roduct number3
ncudes unque
dentfcaton to each
product.
In3 ncudes quantty of
product receved.
(,
5ate3 ncudes the
date the stock s
updated.
+alance : ncudes
remanng quantty n
stock
ut3 ncudes the
quantty of product
ssued.
"roduct name:
Input fed:-ncudes
the name of the
product to be
ordered.
E-commerce
Fig 2.11. User interface prototping for !roduct Report
Industrial project 2
(1
E-commerce
Fi( 2.12. )ser interface prototypin( for 'eturned product
Industrial project 2
(2
E-commerce
Industrial project 2
'eturned "roduct
"roduct number3
assgned unque
dentfcaton to each
product.
"roduct name:
Input fed:-ncudes the
name of the product to
be ordered.
rder 'eport
rder number3
Assgned unque
dentfcaton to each
order.
5elivery date:
Input fed: - ncudes
the date product s to
be devered.
(3
5ate3 ncudes the
date the product s
returned.
5escription3 ncudes
the product
descrpton.
6uantity3 ncudes the
quantty of product to
be returned.
'eason3
Input fed:-ncudes the
reason of product
returned.
Invoice number3
Input fed: - unque
number that the
product was sod.
Customer full name3
Input fed: - ncudes
customer frst, mdde
and ast name.
rder 5ate3 the date
the order s made.
"roduct number3
assgned unque
dentfcaton to each
product.
"roduct name:
Input fed:-ncudes the
name of the product to
be ordered.
6uantity3 ncudes the
quantty of product to
be ordered.
E-commerce
Fi( 2.13. )ser interface prototypin( for rder 'eport
Industrial project 2
("
E-commerce
2.1B )ser Interface Flo# 5ia(ram
UI flo0 diagram is used to model the interactions users ha&e 0ith a sstem. 5he ena1le to gain a
high le&el of o&er&ie0 @architectural &ie0A of the UI of the application 1eing de&eloped @+m1ler8
2,,1A.

Fg 2.14. User Interface Fow Dagram
Industrial project 2
: 2ain 2enu
: 9rder !roduct
#creen
#creen
: /eport
#creen : 2anage !roduct
: -u
!roduct
: .ustomer
/egistration
#creen






: /egular
customer
#creen
: :on regular
customer
#creen



re%uester



re%uester : 9rder
/eport
#creen
: !roduct
/eport
screen



re%uester



re%uester
:.ashBcredit
#ale
#creen
(*
E-commerce
2.11. 5omain modelin( #ith Class
'esponsibility Collaborator $C'C&
cards
Doman modeng s the task of dscoverng the casses that
represent the thngs and concepts pertnent to a probem doman
(Rosenberg and Scot, 1999).

Industrial project 2
Customer<<actor>>
Order product
Buy product
Regster
Order
Product
Invoce
Saes Person<<actor>>
Sae product
Accept Order
Regster
Customer
Order
Product
Customer
($
E-commerce
Industrial project 2
Product Manager <<actor>>
Categorze
product
Generate
report
Manage
product
Manage
order
Manage
return
Customer
Product
Sod Item
Returned Item
('
E-commerce
Industrial project 2
Marketng Manager<<actor>>
Identfy the target
audence.
Seect
communcaton
meda.
Dever Promoton
Product
((
E-commerce
Industrial project 2
Order
Order d
Order date
Devery date
Product Number
Product Name
Ouantty
Pace Order
Manage Order
Product
Customer
Product
Manager
Saes
Person
Customer
Fu Name
Address
Teephone
Regster
customer
nformaton
Pace order
Buy Product
Order
Product
Invoce
()
E-commerce
Industrial project 2
Product
product Id
product name
quantty
Category
Manage
Product
Product
Order
Product Manager
Saes Manager
Customer
),
E-commerce
Industrial project 2
Invoce
Invoce number
nvoce date
quantty
amount
prce
Customer Name
cacuate tota prce
product
custom
er
order
Supper
Supper Name
Supper Address
Record
supper
nformaton
Product
)1
E-commerce
Industrial project 2
Sod Product
Product Id
Product Name
Date Sod
Ouantty
Manage
Product
Customer
Product
Invoce
)2
E-commerce
Industrial project 2
Returned Product
Product Id
Product Name
Date Returned
Ouantty
Reason
Manage
Product
Customer
Product
Invoce
Promoton
Promoton Date
Means Of Promoton
Payment
Dever
Promoton
Product
)3
E-commerce
Industrial project 2
Manage Product <<UI>>
Manage Product
Vadate entered
nformaton
.
product
Returned
Product
Sod Product
)"
E-commerce
Industrial project 2
Manage Order<<UI>>
Manage order
Dspay order
Customer
Order
Customer regstraton<<UI>>
Enabes
Regstraton of
Customer customer
)*
E-commerce
Industrial project 2
Report <<UI>>
Dspay Report Customer
Product
Order
Invoce
Returned
Product
Sod Product
)$
E-commerce
Fg 2.15. Cass Responsbty Coaborator for e-commerce system
Industrial project 2
Order <<UI>>
Enabes Pacng of
order product
order
customer
)'
E-commerce
Chapter 4hree
b!ect riented 1nalysis
3.1. Introduction
Ob|ect orented anayss s the process of defnng the
probem n terms of ob|ects: rea word ob|ects wth wtch the system
must nteract, and canddate software ob|ects used to expore varous
soutons aternatves. The purpose of ob|ect orented anayss s to
understand what w be but and to ceary understand the probem
doman for the system to be deveoped (Amber, 2001).It reduces the
gap between the probem and the machne by dentfyng ob|ects
representng user-vsbe concepts. It descrbes the system n terms of
externa behavor, such as ts functonaty (use case) mode, the
appcaton doman concepts t manpuates (cass mode) and ts
behavor (|acobson, 1992).
Ob|ect orented anayss artfacts ncude use case modeng,
sequence dagrammng, cass modeng and actvty dagrammng and
user nterface prototypng.
3.2 System use case
A system use case mode consttutes a sequence of actons that
provde a measure to an actor. The man dfference between an
Industrial project 2
)(
E-commerce
essenta use case and a system use case s a hgh eve of
mpementaton decson s ncuded n the system use case (Amber,
2001).
3.2.1 )ser interfaces
5he follo0ing user interfaces 0ere identified:
UI_1 Man page
UI_2 ogn page
UI_3 Manage product page
UI_4 Pace order page
UI_5 Regster new customer page
UI_6 Shoppng cart page
UI_7 Seect report page.
UI_8 Report generaton page
UI_9 Manage account page.
UI_10 Manage Return page.
UI_11 Confrmaton screen.
UI_12 Invad nformaton screen.
UI _13 Invad Logn screen
UI _14 Buy Product Page
UI_15 Type of Customer
UI_16 Notfcaton screen
UI_17 Menu page
Industrial project 2
))
E-commerce
3.2.2 ;ist of actors
An actor s a person, organzaton, or externa system that pays
a ro n one or more nteractons wth the system (Scott
W.Amber, 2001)
The actors of the system dentfed are:
Customer
Web shop manager
Admnstrator
3.2.3 ;ist of use cases3
Vadate user
Pace order
Regster new product
Update Product
Regster new customer
vew order status
Vew own order status
Cance order
Buy product
Generate report
Manage account
Industrial project 2
1,,
E-commerce
3.2., ;ist of +usiness rules
+'., Determne vadty to access the system
4.1 User shoud have vad user name.
4.2 User shoud have vad password
+'.0 To order and buy a product a customer shoud have a vad
Loca Card No. $Ths
rue s ony appcabe for cash and non reguar)
+'./ Average nventory costng method (movng average) shoud
be used
+'.. Loca card must have suffcent baance.
+'.A Vadate Customer nformaton i.e. Frst name, Mdde Name,
Last Name,
Address, Gender ,Teephone, Ema Address, Password,
reenter the password.
+'.:: Saes on credt shoud not be made wthout checkng the
credt worthness of the customer (based on the st of credt worthy
customers provded by the suppers)
Industrial project 2
1,1
E-commerce

3.2.0 )se case 5ia(ram
Industrial project 2
1,2
E-commerce
fig 3-1 #stem Use case diagram.
3.2./ 5escription of use cases
Industrial project 2
1,3
E-commerce
<ame3 vadate user
Identifier3 )CC1
1ctor3 Web shop manager, Customer, Admnstrator
"recondition3 -the user shoud have vad user name and password
"ost conditionA-a user s aowed to enter nto the system.
Incude:-
Extend:-
+asic course of action
1. User needs to access the system
2. The system shows ogn screen.
3. The user enters user name and password through UI_2 ogn
screen.
4. The system vadates the nformaton entered based on BR.1.
5. The use case ends.
1lternate course of action3 user name or password or both are not
correct.
A4. The system detects the nformaton entered s ncorrect.
A5. The system nforms the user to reenter the correct nformaton
through "UI_13
Invad Logn screen.
A6. The use case resumes from basc course of acton abeed 3.
A7. Use case ends.
Industrial project 2
1,"
E-commerce
<ame3 Pace Order
1ctor3 Customer
Identifier3-UC_2
"recondition3 The customer has added products n the shoppng
cart and he/she must be regstered before.
"ost condition: a products n the shoppng cart have been booked
(abeed) as ordered.
Incude:-UC_1
Extend:-
+asic course of action3
1. The customer wants to pace an order
2. The customer ogged n to the system.
3. The customer s checked for unpad debt based on "BR2.4 unpad
debts shoud be setted before any further saes or order s made."
4. The customer type s checked based on BR1.2.
5. The customer enters order nformaton va UI_4 pace order page.
6. The system verfes the entered nformaton based on BR5
7. Payment w be cacuated based on BR1.2.
8. The system checks oca card baance based on BR7.
9. Notfcaton usng e-ma contanng the product he/she ordered,
the payment made, and other nformaton w be send.
10. Use case ends
1lternate course 13 the customer s reguar.
Industrial project 2
1,*
E-commerce
A.4. the system detects the customer s reguar.
A.5 the use case resumes from basc course of acton abeed 9.
1lternate course of action +3 The entered nformaton s Incorrect.
B6. The system detects the nformaton entered s ncorrect.
B7. The system prompts to reenter the correct oca card number
"UI_12 Invad Informaton screen".
B8. the use case resumes from basc course of acton abeed 5.
B9. Use case ends.
1lternate course of action C3 Baance on the oca card snt
suffcent.
C8. The system detects the oca card baance snt suffcent.
C9. The system prompts to update the baance of oca card.
C10. The use case resumes from basc course of acton abeed 8.
C11. Use case ends
1lternate course 53 the customer has not pad hs debt.
D3. The system detects the customer has not pad hs debt.
D4. The system notfes the customer to pay debts va "UI_16
Notfcaton screen"
D5. Use case ends.
<ame3 Regster New Product
Industrial project 2
1,$
E-commerce
Identifier3-UC_3
1ctor3 Web shop manager
"recondition3 The web shop manager must have vad user name
and password.
"ost condition3 A new product s entered wth a reevant data fed
n.
Include3 - U.C1
E-tend3-
Basc course of acton
1. The web shop manager needs to regster product.
2. The customer ogged n to the system.
3. The web shop manager fs n a reevant data to create a new
product n the database va UI_3 Manage Product page
4. The system verfes the entered nformaton based on the
busness rue BR3.1
5. The web shop Manager submts regstered data.
6. Use case ends
1lternate course 1: The entered nformaton s ncorrect
A.4 The system detects the entered nformaton s ncorrect.
A.5 The system nforms the user to reenter the correct nformaton
va "UI_12 Invad nformaton screen".
A.6 the use case resumes from basc course of acton abeed 3.
Industrial project 2
1,'
E-commerce
<ame Case3 Update Product
Identifier3-UC_4
1ctor3 Web shop manager
"recondition3 The web shop manager must have vad user name
and password.
"ost condition3 the product nformaton s updated.
Incude:-UC_1
Extend:-
+asic course of action
1. The web shop manager needs to update exstng nformaton
about products
2. The customer ogged n to the system.
3. The web shop manager seects a product va UI_3 Manage
Product page.
4. The web shop manager fs n updated nformaton va UI_3
Manage
5. The web shop manager submts the Updated data.
6. The system Informs the web shop manager that the product
nformaton s updated va UI_11 confrmaton screen.
7. Use case ends
<ame3 vew order status
Identifier3-UC_5
Industrial project 2
1,(
E-commerce
1ctor3 Web shop manager
"recondition3 The Web shop manager must have vad user name
and password.
"ost condition3 The ordered product status s vewed.
Include3-UC_1
E-tends3-
+asic course of action
1. The web shop manager needs to vew orders paced by the
customers
2. The WebShop manager ogged n to the system
3. Dspay order status va UI_8 Report generaton page
4. Use case ends.
<ame3 vew own order status
Identifier3-UC_6
1ctor3 customer
"recondition3 The customer must have customer password.
"ost condition3 Order s dspayed to the customer.
Include3-UC_1
E-tends3-
+asic course of action
1. The customer needs to vew her/hs order status
2. The customer ogged n to the system.
3. Dspay own order status via UIC( /eport generation page
Industrial project 2
1,)
E-commerce
4. use case ends
<ame3 Regster New customer
Identifier:-UC_7
1ctor3 customer
"recondition3
"ost condition3 A customer s entered to the database wth a
reevant persona data fed n.
Include3-
E-tends3-)CC1
+asic course of action
1. The customer needs to regster.
2. The customer fs n a reevant persona data to regster
hersef/hmsef n the
Database va UI_5 Regster new customer page
3 The system verfes the entered nformaton based on the
busness rue BR 8
4 The customer submts the regstered data.
5. Notfcaton usng e-ma contanng user name and password w
be send to the
customer on the e ma that he/she provdes.
Industrial project 2
11,
E-commerce
5. Use case ends
Aternate course of acton: the nformaton entered s ncorrect

A3. The system detects the nformaton entered s ncorrect
A4. The system prompts the customer to re-enter the correct
nformaton "UI_12
Invad nformaton screen".
A5. The use case resumes at basc course of acton step 2.
A6. Use case ends
<ame3 Cance order
Identifier3-UC_8
1ctor3 Customer/Web shop manager
"recondition3 The customer must have vad user name and
password.
"ost condition3 the seected order s canceed from the database.
Include3-UC_1
E-tends3-
+asic course of action
1. The user needs to cance exstng order.
2. The user ogged n to the system.
3. The user w be gven access concernng the seected order
and gven the possbty to cance the order va "UI_8 Report
generaton page".
Industrial project 2
111
E-commerce
". The system Inform the user order has been canceed va "UI_11
confirmation screen.
5. use case ends
<ame3 Buy Product
Identifiers3 UC_9
1ctor3 Customer
"recondition3 The customer has added products n the shoppng
cart and he/she must be regstered before.
"ost condition3 The customer buys the seected product.
Include3-UC_1
E-tends3-
+asic course of action3
1. The customer wants to buy a product.
2. The customer ogged n to the system.
3. The system checks pror order based on BR.2.1.
". The customer s checked for unpad debt based on BR1.4.
5. The system prompts the customer to seect from type of
payment (credt/ cash) va
"UI_ 14 Buy product page"
6. The system vadates Customer based on busness rue BR 9.
7. Credt nformaton w be recorded.
8. The system generates Credt Sae Invoce through "UI_15 Credt
Saes nvoce".
Industrial project 2
112
E-commerce
9. The system updates product record.
10. The use case ends
1lternate course of action 13 order has aready been made.
A3.The system detects the customer has made order before.
+". The use case resumes from basc course of acton 5
A5. Use case ends.
1lternate course +3 the customer has not pad hs debt.
B4. The system detects the customer has not pad hs debt.
B5. The system notfes the customer to pay debts va "UI_16
Notfcaton screen"

1lternate course of action C3 The customer s Cash Customer.
C6. The system detects the customer s cash customer
C7. The system prompts the customer to enter a oca card number
va
"UI_ 14 Buy product page".
C8. The system verfes the entered nformaton based on BR5
C9. The system checks oca card baance based on BR8.
C10. The system generates Cash Sae Invoce through "UI_15 Cash
Saes nvoce".
1lternate course of action C.13 The entered nformaton s Incorrect.
C.1... The system detects the nformaton entered s ncorrect.
Industrial project 2
113
E-commerce
C.1.A. The system prompts to reenter the correct oca card
number.
C.1.:. the use case resumes at step 4.
1lternate course of action C.+3 Baance on the oca card snt
suffcent.
C.B.8. The system detects the oca card baance snt suffcent.
C.B.9. The system prompts to update the baance of oca card.
C.B.10. Use case ends
<ame3 Generate report
Identifier3-UC_10
1ctor3 Web shop manager
"recondition3 The person shoud have a vad user name and
password.
!ost condition: - Report s generated
IncludesA-UC_1
EDtends:
+asic course of action
1. Web shop manager needs to generate a report.
2. The Web shop manager ogged n to the system.
4. The Web shop manager seects types of report through UI_7
Seect report page.
Industrial project 2
11"
E-commerce
5. The system generates the report va UI_8 Report Generaton
page.
6. The use case ends.
<ame3 Manage account
Identifier3-UC_11
1ctor3 Admnstrator
"recondition3 The person shoud have a vad user name and
password.
!ost condition: - user account s generated.
IncludesA-UC_1
EDtends:
+asic course of action
1. The admnstrator needs to create an account.
2. The admnstrator ogged n to the system.
3. The admnstrator enters the new username, password and
prveges through UI_9
2anage account page.
". 5he sstem creates user account.
5 .The system nforms her/hm the account has been created va
"UI_11 Confrmaton
Screen".
6. The use case ends.
Industrial project 2
11*
E-commerce
.
0.2.. Se*uential 5ia(ram
Sequence dagrams are used to mode the ogc of usage scenaros or
the descrpton of the potenta way the system used. Sequence
dagrams are a great way to vadate and fesh out the ogc of use case
scenaros and to document the desgn of the system (Amber, 2001).
Industrial project 2
11$
E-commerce
fig 3-2 se%uence diagram for <alidate User
Industrial project 2
11'
E-commerce
Fig.3.3. #e%uence diagram for &alidate user alternate course action.
Industrial project 2
11(
E-commerce
Fig 3-" se%uence diagram for place order
Industrial project 2
11)
E-commerce
Fig 3-* #e%uence diagram for place order alternate course action+.
Industrial project 2
12,
E-commerce
Fg 3-6 #e%uence diagram for place order alternate course action-.
Industrial project 2
121
E-commerce
Fg 3-7 #e%uence diagram for place order alternate course action..
Industrial project 2
122
E-commerce
Fig 3-( sequence dagram for pace order aternate course of actonD.
Industrial project 2
123
E-commerce
Fig 3-) se%uence diagram for /egister ne0 product
Industrial project 2
12"
E-commerce
Fig 3-1, se%uence diagram for /egister ne0 product +lternate course of action +.
Industrial project 2
12*
E-commerce
Fig 3-11se%uence diagram for /egister ne0 customer
Industrial project 2
12$
E-commerce
Fig 3-12se%uence diagram for of /egister ne0 customer +lternate course of action +
Industrial project 2
12'
E-commerce
Fig 3-13se%uence diagram for update product
Industrial project 2
12(
E-commerce
Fig 3-1"se%uence diagram for &ie0 order status
Industrial project 2
12)
E-commerce
Fig 3-1* se%uence diagram for &ie0 o0n order
Industrial project 2
13,
E-commerce
Fig 3-1$ se%uence diagram for cancel order
Industrial project 2
131
E-commerce
Fig 3-1' se%uence diagram for 1u product
Industrial project 2
132
E-commerce
Fig 3-1( se%uence diagram for 1u product alternate course of action +
Industrial project 2
133
E-commerce
Fig 3-1) se%uence diagram for 1u product alternate course of action -
Industrial project 2
13"
E-commerce
Fig 3-2, se%uence diagram for 1u product alternate course of action .
Industrial project 2
13*
E-commerce
Fig 3-21se%uence diagram for 1u product alternate course of action . +
Industrial project 2
13$
E-commerce
Fig 3-22se%uence diagram for 1u product alternate course of action . -
Industrial project 2
13'
E-commerce
Fig 3-23 se%uence diagram for 2anage account
3.2.. 1ctivity dia(ram
Actvty dagram s used to document the ogc of a snge
Industrial project 2
13(
E-commerce
operaton/method, a snge use case and the fow of a busness
process. In many ways UML actvty dagrams are the ob|ect
orented equvaent of fowchart and data fow dagram(DFD) from
structured deveopment (Amber, 2001).
Industrial project 2
13)
E-commerce

Industrial project 2
1",
E-commerce
Fig 3-2" +cti&it 3iagram for 1u product
3.2.A Conceptual modelin(3 Class 5ia(ram
.onceptual models are used to depict the detailed understanding of the pro1lem space for the
sstem. .lass models sho0 the classes of the sstem8 their interrelationship and the operations and
attri1utes of the classes @+m1ler8 2,,1A.
5he easiest 0a to 1egin conceptual modeling is to use the domain model as a 1ase. 5o do that8 the
team has ta6en the .lass /esponsi1ilit .olla1orator @./.A model that has 1een done during
re%uirement definition and con&erts it directl into a U24 class diagram. In addition to that the
classes 0ere identified 1 considering nouns from the eDisting forms of the sstem.
(ig ?-7> )nre1ined Class Diagram
Industrial project 2
1"1
E-commerce
Industrial project 2
1"2
E-commerce
Snce there are two types of product that shat nformaton from the cass product,
the team forms two sub casses to contan nformaton pertnent to the specfc
product type.
There are two types of nvoce that retreve nformaton from the cass Invoce.
Ths reatonshp can be ndcated by creatng two dfferent sub casses to
contan nformaton reevant to the specfc nvoce type.
Industrial project 2
1"3
E-commerce
(ig ?:7! Decomposed class diagram
Industrial project 2
1""
E-commerce
(ig ?:75 %e1ined classes
Industrial project 2
1"*
E-commerce
3.2.A )ser Interface "rototype
User Interface !rototping is an iterati&e analsis techni%ue in 0hich users are acti&el in&ol&ed in
identifing the user interfaces of the sstem. It helps to eDplore the pro1lem space as 0ell as the
solution space of the sstem at least from the point of &ie0 of users @+m1ler8 2,,1A.
Man Page
Fg 3.28 Man page
Descrpton: - ths page w appear when the user enters the enters the URL of
our web ste (www.Ethowebshop.com)
Logn Screen (page)
Industrial project 2
1"$
E-commerce
Fg. 3.29 Logn
Descrpton: - Ths form (screen) appears at the top rght part of the man page.
After the user enters the correct username and password and ccks the
proceed button. He/She w then be abe to order products and n the case of
admnstrators admnstratve capabtes w be gven such as addng
products, deetng products.
Create Account Screen (page)
Fg. 3.30 Create an account
5escription3 - Ths Page w appear ony for Admnstrators and s used to
create a new account for managers.
Regster Customer
Industrial project 2
1"'
E-commerce
Fg. 3.31 Regster New Customer Page
5escription3 - when the user ccks on the regster button from the man page
the above form w appear. If the user enters the correct data and ccks
Regster button he/she w then be abe to order
products.
Shoppng cart Page
Fg 3.32 Shoppng cart page
5escription3 - Shows the quantty and type of product a customer adds to a
shoppng cart. If a customers ccks on the compete Shoppng nk he/she
Industrial project 2
1"(
E-commerce
Menu

Fg3.33 menu screen
Descrpton: - ths screen w appear for web shop managers to
enabe manpuaton of the Web after he ogs successfuy.
Industrial project 2
1")
E-commerce
Manage Product
Industrial project 2
1*,
E-commerce
a The Frst ook of the screen a After the Add
Button s ccked
Fig 3.3" 2anage product
5escription3 - Ths page (screen) w appear for web shop manger when
he/she ccks on the manage product nk from the menu page. Frst t appears
wth data and the manager can navgate through a avaabe products usng
the navgaton button at the upper rght corner (Frst, Next). When the Add
button ccked a the feds w appear bank and the add button w change to
"Save". After the manager enters the correct data and ccks on "Save"
Products w be regstered. The "Deete" button w deete the current Product
Vsbe and "Search" Button w provde a prompt box to type the name of the
product to be searched.
Seect Type of Report Screen
Fg. 3.35 Knd of Report
Industrial project 2
1*1
E-commerce
5escription3 - Ths Page w redrect to a specfc type of report based on the
seecton of report (ony for Web shop Manager).
Lst Order
Fg.3.36 Lst Orders of Report
5escription3 - Ths Page sts the orders ftered by a specfc date gven by
the web shop manager.
Regster Returned Product
Industrial project 2
1*2
E-commerce
Fg 3.37 returned product
Descrpton:- Ths screen(page) s used to regster the returned tems
Fg 3.38 2anage +ccount !age
3escription:- .ontains menu for managing +ccount @for administrator onlA
Industrial project 2
1*3
E-commerce
Fg. 3.39 Create an account
5escription3 - Ths Page w appear when the Admnstrator seects the
"create new account"
Fg 3.40 /eturn !roduct
Descrpton:- Ths screen(page) s used to regster the returned tems
Industrial project 2
1*"
E-commerce
Fg 3.41 9rder product page
3escription: - Ena1les ordering of product for non regular customer
3escription: - Ena1les ordering of product for regular customer
Industrial project 2
1**
E-commerce
Fg 3.42 -u product page
3escription: - First appearance of the page it !ro&ides a selection of tpe of pament.
3escription: - this screen 0ill appear for onl cash customers. @7hen the tpe of pament is cashA
Industrial project 2
1*$
E-commerce
Fig 3."3 In&alid 4ogin #creen
3escription:- appears 0hen the user enters Incorrect user name or pass0ord
Fig 3."" .onfirmation #creen
3escription: - appears 0hen an transaction completed successfull.
Fig 3."* In&alid information #creen
3escription: - appears 0hen the customer tries to su1mit a form that contains an incorrect data.
Industrial project 2
1*'
E-commerce
Fig 3."$ In&alid information #creen
3escription: - appears 0hen the customer tries to su1mit a form that contains an incorrect data.
Supplementary specification
A suppementary specfcaton, aso caed suppementary busness
specfcaton s an artfact where a requrements not contaned n
use case mode, user nterface mode, or doman mode are
documented. In many ways t s a catch-a for requrements that
don't ft esewhere. These requrements ncude busness rues, non-
functona requrements, constrants and change cases (Amber,
2001).
7:?:7:<: .usiness rules
A busness rue s effectvey an operaton prncpe or pocy
software must satsfy. The busness rues of the system are
documented n essenta use case modeng.
7:?:7:7: "on-1unctional reFuirements
A non-functona requrement aso referred to as technca requrement
pertans to the technca aspects the system must fuf, such as performance
reated ssues, reabty ssues, and avaabty ssues (Amber, 2001).
1: The system shoud be fuy operatona 24 hours per day 7 days a week
365 days a year.
2: The system shoud generate report n ess than 10 seconds 95% of the
tme.
3: There shoud be two computers wth 512 MB DDR SDRAM, Seagate 80GB
hard dsk, 3.2 GHZ CPU.
Industrial project 2
1*(
E-commerce
4: There shoud be 2 prnters for prntng reports-HP Laser|et 1300.
5: There shoud be 1 scanner for scannng products.
6: Network Interface Cards (NIC) for connectng computers.
7: Modem to connect to nternet
8: Battery (UPS) to have unnterruptbe power suppy.
9: Use username and password for authentcaton.
10: Vrus protecton factes.
11: Effcent backup every week.
12: The system shoud be rentazed to ts status when there s a faure.
7:?:7:?: Constraints
A constrant s a restrcton on the degree of freedom n provdng a souton
(Leffngwe and Wdrg, 2000).
Constrants are effectvey goba requrements. They can be economc,
potca, technca, or envronmenta and pertans to the pro|ect resources,
schedue, and target envronment or to the system (Amber, 2001).
C1: The system w work on SOL servers.
C2: The system w be devered before |uy30, 2008.
C3: The system w run on wndows patform.
C4: The system w be deveoped by software professonas.
C5: The system w be deveoped usng reatona database.
2.3.2.,. Chan(e cases
Change cases are used to descrbe new potenta requrements for a system or
modfcatons to exstng requrements. They descrbe a potenta requrement
the system may need to support n the future. The change cases for a system
are a we-documented rsk assessment for changng requrements.
CC1: Database w be deveoped by Ob|ect Orented Database
Management System (OODBMS).
Industrial project 2
1*)
E-commerce
CC2: Front-end appcaton w be deveoped by patform ndependent
software.
CC3: There w be a payment by usng credt card or vsa card

.>+!5E/ F9U/
EDecuti&e #ummar
4: EDecuti@e Summary o1 $nalysis Document
5he first phase of the project8 0hich is prepared for the sstem analsis part of e-commerce8
is focused on the follo0ing areas: -
In the first chapter of the analsis document 0e introduced ecommerce8 0e tried to sa
something a1out ecommerce in Ethiopia8 statement of the pro1lem of the traditional sstem in
the ee of the seller and the 1uer8 o1jecti&e and scope of the project8 data collection and
sstem de&elopment methodolog that is used to analEe8 design8 and implement the ne0
sstem8 significant of the project and finall 0e inspect the time schedule to pro&ide the
deli&era1les of the project.
In the statement of the pro1lem part8 0e identified the follo0ing major pro1lems of the
traditional sstem.
For the seller
>igh operation cost.
4arge amount of unnecessar paper 0or6
4imited to ser&ing the customers in its local geographical location so there is inconsistenc
0ith the regular procedure.
Industrial project 2
1$,
E-commerce
:eed to 1uild8 staff8 or maintain a store8 print and distri1ute mail order catalog.
4ess opportunit to impro&e their products 1ecause of fe0er customers feed 1ac6.
For the 1uer
-ecause man people are eDtremel 1us8 the ma not find it simpler to shop in their
leisure hours at home 1 using catalogs
#earching for an item in the real 0orld ta6es &alua1le time and energ.
5he time and hassle @distur1A in&ol&ed in running from store to store.

In the sstem de&elopment part 0e chose o1ject oriented analsis and design approach to
analEe8 design and implement the ne0 sstem 1ased on the analsis of the traditional sstem.
In the second chapter of the analsis document 0e 1riefl analEed and descri1ed the
traditional ecommerce8 functional and non functional re%uirements of the traditional ecommerce8
1usiness rules of the traditional ecommerce8 pro1lems that eDist in the ecommerce 0e are going to
de&elop8 plaers of the traditional ecommerce8 strength and 0ea6ness of the traditional ecommerce8
and alternati&e options to address pro1lems of the traditional ecommerce.
In the 1usiness rule part of the analsis document 0e 1riefl recogniEed the 1usiness rules
for &alidate order8 &alidate sales8 &alidate product .In the functional re%uirement part8 0e identif
the follo0ing functional re%uirements of traditional ecommerce.
>andle -u management
!repare 3ifferent 4e&el of 2anagerial /eport
2anage product
3eli&er promotion
/egistering customer
2anage order
2ange returns
Industrial project 2
1$1
E-commerce
In the plaers of the eDisting sstem section8 0e identified users of the traditional ecommerce.
Users of the traditional ecommerce are #ales person8 2ar6eting 2anager8 -uerB.ustomer8 !roduct
2anager. +lso pro1lems of the traditional ecommerce are identified using the !IE.E# !ro1lem-
#ol&ing Frame0or6 mechanism.
In the last chapter of the analsis document8 0e model the traditional and the ne0 sstem
using unified modeling language @U24A8 0hich contains essential use case diagram 0ith its
description8 sstem use case diagram 0ith its description8 se%uence diagram modeling8 class
diagram8 and user interface prototping. In the sstem use case modeling8 0e identif ele&en use
cases
3alidate System )sersA this use case &alidates the user to enter to the sstem. 5he 7e1
shop manager8 .ustomer8 +dministrator are actors of this use case.
#lace orderA 5his use case allo0s the customers to place an order. .ustomer is actor of this
use case.
%egister ne; customerA 5his use case allo0s registering customer. 5he customer is actor
of this use case.
%egister ne; #roductA 5his use case allo0s registering !roducts. 5he 7e1 shop manager
is actor of this use case.
)pdate productA &his use case allo0s updating product information. 5he 7e1 shop
manager is the actor of this use case.
3ie; order status: 5his use case allo0s the 0e1 shop manger to &ie0 order status of the
different customers. 5he 0e1 shop manger is the actor of this use case.
3ie; o;n order status: 5his use case allo0s the customers to &ie0 their o0n order status.
5he customer is the actor of this use case.
Cancel order: 5his use case allo0s the .ustomerB7e1 shop manager to cancel order
information. 5he .ustomerB7e1 shop managers are the actors of this use case.
Industrial project 2
1$2
E-commerce
.uy product: 5his use case allo0s the .ustomer to 1u product. 5he .ustomer is the actor
of this use case.
-enerate reportsA ena1le the 0e1 shop manger to prepare different le&el of managerial
report. 5he 0e1 shop manger is actor of this use case.
*anage $ccountA ena1le the administrator to manage pass0ord and username of the
sstem users. 5he administrator is actor of this use case.
In the se%uence diagram modeling 0e model for e&er sstem use case including alternate
course of actions.
In the class diagram modeling8 0e identified the 1usiness classes 0ith their properties8
methods and association 1et0een them.
In the last part of chapter three8 0e prepared analsis le&el user interface design

.>+!5E/ FI<E
*. /e%uirement /e&ie0 and &alidation
*.1. Introduction
5his section descri1es list of re%uirements of the sstem 1oth functional and non-functional.
+dditionall it descri1es a&aila1le chec6 lists in the sstem

*.2. .hec6 list of functional re%uirements
1. <alidate #stem User
5he user should ha&e a user name and pass0ord.
5he user can 1e an administrator8 0e1 shop manager and customer.
5he sstem prompts the users to enter their user name and pass0ord.
5he sstem chec6s 0hether the username and pass0ord is &alid or not.
Industrial project 2
1$3
E-commerce
7hen users enter 0rong input this function chec6s and ma6es the users to enter or correct the
data again.
5he sstem displas the specified page.
2. /egister
5he sstem should register ne0 product 8 customer8 supplier
5he sstem should register the customer 0hen heBshe fills first name8 middle name8
last name8 and other information on the registration form and clic6 register 1utton.
5he sstem should register the products 0hen product name8 product id8 price8 and
%uantit and so on are filled.
5he sstem then &alidates the information entered .If the information is correct the
sstem should put the information entered in the data1ase and if it is not correct then
the sstem notifies to reenter the information again.
3. !lace order
5he customer selects the product heBshe 0ants
5he products selected are added to the shopping cart
5he customer clic6s the order 1utton
5he sstem chec6s the user name entered alread eDists in the data1ase or not.
If not registered .ustomer registration form 0ill appear after the customer clic6s the
order 1utton and the customer fills the re%uired information and clic6s the register
1utton
5he sstem 0ill prompt the customer to enter the local card num1er
4. <ie0 o0n order
5he sstem 0ill displa the products ordered 0ith eDit 8cancel and 1u 1uttons.
Industrial project 2
1$"
E-commerce
5. Generate report
5he sstem 0ill generate different tpe of reports

>:? ChecE list o1 "on-1unctional reFuirements
+ non-functional re%uirement also referred to as technical re%uirement pertains to the technical
aspects the sstem must fulfill8 such as performance related issues8 relia1ilit issues8 and
a&aila1ilit issues @+m1ler8 2,,1A.
1: 5he sstem should 1e full operational 2" hours per da ' das a 0ee6 3$* das a ear.
2: 5he sstem should generate report in less than 1, seconds )*F of the time.
3: 5here should 1e one computer 0ith *12 2- 33/ #3/+28 #eagate (,G- hard dis68 3.2
G>G .!U.
": 5here should 1e 2 printers for printing reports->! 4aser;et 13,, one color and one 1lac6.
*: 5here should 1e 1 scanner for scanning products.
$: 2odem to connect to internet to gather different 6inds or resources.
': -atter @U!#A to ha&e uninterrupti1le po0er suppl.
(: 5he sstem should 1e reinitialiEed to its status 0hen there is a failure.
Industrial project 2
1$*
E-commerce
.hapter #iD
91ject 9riented 3esign
$.1. Introduction
5he purpose of design is to determine ho0 to 1uild the sstem and to o1tain information needed to
dri&e the actual implementation of the sstem. 5he focus is particularl on the solution domain
rather than on the pro1lem domain @+m1ler8 2,,1A.
91ject oriented design consists of transforming the analsis model into the design model.
$.2. .lass 5pe +rchitecture
.lass tpe architecture pro&ides a strateg for laering the classes of the soft0are to distri1ute the
functionalit of the soft0are among classes. It pro&ides guidance as to 0hat other tpes of classes a
gi&en tpe of class 0ill interact 0ith and ho0 the interface 0ill occur .5his increases the
eDtensi1ilit8 maintaina1ilit8 and porta1ilit of the sstem
@+m1ler8 2,,1A.
Industrial project 2
1$$
E-commerce
Industrial project 2
4ogin !age.
2enu !age.
/egister :e0 .ustomer !age.
2anage +ccount !age
2ain !age
2anage !roduct !age
/egister :e0 !roduct !age.
.asual #hopping .art !age
-u !roduct !age
5pe of .ustomer !age
/eport Generation !age


System
Classes
9rder .lass
In&oice .lass
4ocal .ard .lass
!roduct .lass
.ustomer .lass
+ccount .lass
#upplier class
+ddress class
.ategor class
+ccount8 .ustomer
+ddress8 !roduct8
!roduct #upplier8 In&oice8
In&oice !roduct8 9rder 3etail8
.9rder8 4ocal.ard8 .ategor8
and supplier
<alidate entr controller
9rder controller
!roduct controller
.ustomer registration controller
9rder #tatus controller
.ancel 9rder controller
-u product controller
2anage account controller
.ontroller class
-usiness class
!ersistence class
User interface class
Fig $.1 class tpe
architecture
1$'
E-commerce
<: )ser inter1ace class
+ user interface class implements a major UI element in our sstem @+m1ler8 2,,1A.
5his contains the code for the user interface part of the application. - separating the user
interface classes from the 1usinessBdomain classes8 0e are in a position to change the user
interface in an 0a 0e choose.
+s it is sho0n in the a1o&e figure our sstem user interface class consists:-
4ogin !age.
2enu !age.
/egister :e0 .ustomer !age.
2anage +ccount !age
2ain !age
2anage !roduct !age
/egister :e0 !roduct !age.
#hopping .art !age
-u !roduct !age
5pe of .ustomer !age
/eport Generation !age

7: &he Controller=#rocess 'ayer
5he second laer represents controllerBprocess class that implement 1usiness logic that
in&ol&es colla1orating 0ith se&eral 1usinessBdomain classes or e&en other controllerBprocess
classes.
+s it is sho0n in the a1o&e figure our sstem controllerBprocess class consists:-
<alidate entr controller
9rder controller
!roduct controller
.ustomer registration controller
9rder #tatus controller
.ancel 9rder controller
-u product controller
2anage account controller
?: &he .usiness=Domain layer
Industrial project 2
1$(
E-commerce
5he third laer represents 1usinessBdomain classes that implement the concepts pertinent to
1usiness domain focusing on the data aspect of the 1usiness o1ject plus 1eha&iors specific to
indi&idual o1jects.
+ 1usinessBdomain class also called an analsis or entit class @;aco1son8 -ooch8 and
/um1augh8 1)))A is a class that is usuall identified during analsis. 5he 1usiness laer ena1les
to encapsulate the 1asic 1usiness functionalit 0ithout ha&ing to 1e concerned 0ith user
interface8 data management8 or sstem management issues.
+s it is sho0n in the a1o&e figure our sstem -usinessB3omain class consists:-
9rder .lass
In&oice .lass
4ocal .ard .lass
!roduct .lass
.ustomer .lass
+ccount .lass
#upplier class
+ddress class
.ategor class
4: &he #ersistence 'ayer
5he neDt laer represents persistent class. It encapsulate the capacit to store8 retrie&e and
delete o1jects permanentl 0ithout re&eling details of the under laing storage technolog. 5his
helps to isolate our application from changes to permanent approach. 5he 1usiness o1jects
should not 1e affected 1 the changes in the persistence strateg. /egardless of ho0 our
persistence strateg changes our applications should not 1e affected. 5he persistence laer
encapsulates access to permanent storage8 1ut it is not the storage mechanism 1 itself. 5he goal
of the persistence laer is to reduce the maintenance effort that is re%uired 0hene&er changes
are made to a data1ase@+m1ler 2,,1A.
+s it is sho0n in the a1o&e figure our sstem !ersistence class consists
+ccount class
.ustomer class
+ddress class
Industrial project 2
1$)
E-commerce
!roduct class
!roduct #upplier class
In&oice class
In&oice !roduct class
9rder detail class
.9rder class
4ocal.ard class
.ategor class
#upplier class
>: &he System 'ayer
5he last laer represents sstem class that pro&ides operating sstem specific functionalit for the
applications8 isolating the soft0are from the operating sstem @9#A 1 0rapping 9# specific
features.
E&er operating sstem offers functionalit that 0e 0ant to 1e a1le to access in our application-file
handling8 multitas6ing and net0or6 access. In other 0ords the sstem laer pro&ides access to the
operating sstem and none o1ject-oriented resources. 7e need to create classes that 0rap specific
features of the operating sstem. 7e need to consider 0rapping sstem functionalit for the reason
that operating sstems constantl get upgraded. E&er time an upgrade occurs8 there are al0as
changes to the 0a that functionalit is currentl 1eing offered @+m1ler 2,,1A.
$.3 91ject 9riented .lass 2odeling
5he purpose of design-class modeling is to model the static structure of ho0 soft0are 0ill 1e 1uilt
@+m1ler 2,,1A. It focuses on the solution domain instead of the pro1lem domain. +nd it introduces
changes to analsis class model 1ased on implementation technologies.
Industrial project 2
1',
E-commerce
Industrial project 2
1'1
E-commerce
fig $.2 class modeling
.
Industrial project 2
1'2
E-commerce
!:?:< Documentation o1 attributes and methods o1 classes
$ccount class attributes
$ccount class methods
*ethod
name
3isibilit
y
#seudo code %eturn
&ype
Description
.reate
account@unam
e8!ass0ordA
!u1lic -Enter username8 pass0ord
-.hec6 the username8 pass0ord
- If username doesnHt eDist
I Insert username8 pass0ord
in the +ccount ta1le
- If username eDists
IInform the user
91ject It is called 0hen
account is created
Update
account@A
!u1lic -Enters user name8 pass0ord -oolean It is used to update
the account of the
user
5a1le $.1 +ccount class
Order class $ttributes
Industrial project 2
$ttribute Data &ype 3isibility Description
SIJE
User:ame <archar
!ri&ate User name of the customer
3,
!ass0ord &archar
!ri&ate !ass0ord of the customer
2,
5pe <archar
!ri&ate 5pe of user
2,
1'3
E-commerce
Order class methods
Industrial project 2
$ttribute Data &ype 3isibility Description
SIJE
9rderId <archar
!ri&ate + uni%ue id for order
3,
9rder3ate 3ate
!ri&ate 3ate of the order made
!repament Float
!ri&ate !ament made 1 the non regular
customers
95otal Float
!ri&ate 5he amount of total order
9U!rice Float
!ri&ate 5he unit price of the product ordered
9Juantit Int
!ri&ate 5he %uantit of the ordered product
*ethod
name
3isibility #seudo code %eturn &ype Description
!laceorder@9r
did8.Id89rder
3ate89Juanti
t89U!riceA
!u1lic -#elect product
-+dd to shopping cart
-If registered
IEnter username8 pass0ord
-If not register
I3ispla registration page.
-If username found
I.hec6 tpe
-If regular
I.onfirm order.
-If nonregular
IEnter local card num1er.
I.onfirm 1alance8 order.

91ject It is called 0hen the
customer 0ants to
place an order.
.ancleorder@A !u1lic -<ie0 order
-.ancel order
-oolean It is used to cancel
ordered
1'"
E-commerce
5a1le $.2 9rder class
Customer class attributes
Customer class methods
5a1le $.3 .ustomer class
Industrial project 2
$ttribute Data &ype 3isibility Description
SIJE
.id <archar
!ri&ate + uni%ue id for customers
3,
F:ame <archar
!ri&ate First name of the customer
2*
4:ame <archar
!ri&ate 4ast name of the customer
2*
2:ame <archar
!ri&ate 2iddle name of the customer
2*
Gender <archar
!ri&ate Gender of the customer
1,
.ust5pe <archar
!ri&ate 5he tpe of customer@regular or non
regularA
2,
*ethod
name
3isibilit
y
#seudo code %eturn
&ype
Description
/egistercusto
mer@.id8First
name84astna
me82iddlena
me8genderA
!u1lic -Enter cid 8first name 8last name8 middle
name8 gender
91ject It is used to
/egister a ne0
customer
Updatecustom
er@customer
custo1jA
!u1lic -Enter updated &alue -oolean It is used to update
customer
1'*
E-commerce
In@oice class attributes
In@oice class methods
5a1le $." In&oice class
Industrial project 2
$ttribute Data &ype 3isibility Description
SIJE
In&Id <archar
!ri&ate + uni%ue id for In&oice
3,
In&3ate 3ate
!ri&ate 3ate of the in&oice made
5pe <archar
!ri&ate 5he 6ind of in&oice generated @credit or
cashA
1,
IJuantit Int
pri&ate 5he %uantit of the product sold
*ethod
name
3isibility #seudo code %eturn &ype Description
.alculateamo
unt@!id8Juant
itA
!u1lic - Enter !id8%uantit8unitprice
- calculate total amount
91ject It is used to calculate
the total amount
sold.
Generate
credit sales
in&oice@A
!u1lic -Generate credit sales in&oice. 91ject +n in&oice that
contain products that
are 1ought Bordered
on credit and total
pament.
Generate cash
sales
in&oice@A
!u1lic - Generate cash sales in&oice. 91ject +n in&oice that
contain products that
are 1ought Bordered
on cash and total
pament.
1'$
E-commerce
$ddress class attributes
1ddress class methods
Industrial project 2
$ttribute Data &ype 3isibility Description
SIJE
>:o <archar
!ri&ate >ouse num1er
*
Ke1ele Int
!ri&ate Ke1ele
7ereda Int
!ri&ate 7oreda
#u1.it <archar
!ri&ate #u1cit
2,
5elephone <archar
!ri&ate 5elephone num1er
3,
Email <archar
!ri&ate Email address
3,
.ountr <archar
!ri&ate .ountr
3,
1''
E-commerce
Tabe 6.5 Address cass
'ocal card class attributes
;ocal card methods
Industrial project 2
*ethod name 3isibility #seudo code %eturn
&ype
Description
/egister+ddress@
>:o8Ke1ele87er
eda88#u1.it85el
ephone8 Email 8
.ountrA
!u1lic -If customer
IEnter email8hno8Ke1ele8 7oreda8
#u1cit8telephone8countr
-If supplier
IEnter email8hno8Ke1ele8 7oreda8
#u1cit8telephone8countr8compan
name
91ject It is used to
register +ddress
information
Update+ddress@A !u1lic -Enter updated &alue -oolean It is used to update
+ddress
information
$ttribute Data &ype 3isibility Description
SIJE
4.: Int
!ri&ate + uni%ue id for 4ocal card
-alance Float
!ri&ate +mount remained on the local card
1'(
E-commerce
5a1le $.$ 4ocal card class
#roduct class attributes
Industrial project 2
*ethod
name
3isibilit
y
#seudo code %eturn &ype Description
.alculate1ala
nce@A
!u1lic -Enters localcardnum1er
-If &alid
I.alculate 1alance
-if not &alid
I.onfirm
It is used to calculate
the 1alance of the
local card
1')
E-commerce
Industrial project 2
$ttribute
Data &ype 3isibility Description
SIJE
!id
<archar
!ri&ate + uni%ue id for product
3,
!name
<archar
!ri&ate :ame of the product
",
UIn#toc6 Int
!ri&ate +&aila1le productst in stoc6
U9n9rder Int
!ri&ate +lread ordered products
/e4e&el Int
!ri&ate /eorder le&el
!U!rice Float
!ri&ate !rice of the product per unit
Image <archar
!icture of the product
2,
!3escription <archar
!ri&ate 5he description of the product
2,,
1(,
E-commerce
#roduct class methods
5a1le $.' !roduct class
Category class attributes
Category class methods
Industrial project 2
*ethod name 3isibilit
y
#seudo code %eturn &ype Description
/egisterproduct@!n
ame8Unitinstoc68Un
itprice8Image8/eord
erle&elA
!u1lic -Enter
!name8Unitinstoc68Unitprice8
Image8/eorderle&el.
It is used to register
ne0l added
products.
3isplaproduct@A !u1lic -3ispla a&aila1le product It is used to displa
product information
Updateproduct@A !u1lic -Enter updated &alue 91ject It is used to update
products information
$ttribute Data &ype 3isibility Description
SIJE
.atId <archar
!ri&ate + uni%ue id for categories
3,
.at:ame <archar
!ri&ate .ategor name
3,
.at3esc <archar
!ri&ate .ategor description
2,,
*ethod
name
3isibilit
y
#seudo code %eturn &ype Description
/egistercateg
or@A
!u1lic -Enter catid8catname8catdescription It is used to register
ne0l added
categories.
Updatecatego
r@A
!u1lic -Enter updated &alue It is used to update
categor.
1(1
E-commerce
5a1le $.( .ategor class
Suppliers class attributes
Supplier class methods
Industrial project 2
$ttribute Data &ype 3isibility Description
SIJE
.ompan:ame <archar
!ri&ate + uni%ue :ame for supplier
3,
.ontact:ame <archar
!ri&ate 5he person 0ho 0ill 1e contacted
0hene&er necessar
3,
!osted3ate 3ate
!ri&ate 3ate of the product ad&ertised
EDp3ate 3ate
!ri&ate EDpired date of the ad&ertising
*ethod name 3isibil
ity
#seudo code %eturn &ype Description
/egistersupplier
@.ontactname8
.ompannameA
!u1lic - Enter contactname8 compan
name
It is used to register
ne0l added
supplier.
Update@A !u1lic -Enter updated &alue 91ject It is used to update
suppliers
information
1(2
E-commerce
5a1le $.) #upplier class
6.3.2. Documentation of Associations
1. >a&e: - +ssociates +ccount and customer class. 9ne customer can ha&e one account and an
account can 1elong to one customer onl.
2. Uses:-+ssociates customer class 0ith local card. .ustomer should ha&e , or more local cards
and local card can 1e used 1 , or one customer.
3. >as: - +ssociates +ddress class 0ith customer. +n +ddress can 1elong to one or more customers
and one customer can has one or more address.
". 9rder - +ssociates customer class 0ith product class and order class 0ill 1e generated. +
customer can order , or more products and a product can 1e ordered 1 , or more customers.
*. -u: - +ssociates customer class 0ith product class and in&oice class 0ill 1e generated. +
customer can 1u , or more products and a product can 1e 1ought 1 , or more customers.
$. #upplies: - +ssociates product class 0ith supplier class. + product can 1e supplied 1 one or
more supplier and a supplier supplies one or more products.
'. -elongs to:-+ssociates !roduct class 0ith the categor class. + !roduct can 1elong to one
categor and one categor can ha&e , or more products.
6.4 State Chart o!elin"
#tate chart diagram is used to depict the &arious states that an o1ject ma 1e in and the
transitions 1et0een those states. 5his modeling techni%ue ena1les us to o1ser&e the state of
compleD o1ject 0hich simplifies implementation. 7hen an e&ent occurs8 some acti&it 0ill ta6e
place8 depending on the current state of the o1ject.
5he team has done the state chart diagram of the product class 1ased on compleDit of the
class..
+ state has se&eral parts.
Industrial project 2
1(3
E-commerce
1. :ame + teDtual string that distinguishes the state from other statesL a
state ma 1e anonmous8 meaning that it has no name
2. EntrBEDit actions +ctions eDecuted on entering and eDiting the state
respecti&el
3. Internal transitions 5ransitions that are handled 0ith out causing a change in state
". #u1 states the nested structure of a state8 in&ol&ing disjoint @se%uentiall
acti&eA or concurrent @concurrentl acti&eA su1 states @+m1ler
2,,1A.
#tate chart diagram for !roduct class from the stoc6 of the supplier to the not a&aila1le state of the
product.
7hen the product is registered8 the o1ject changes its state to a&aila1le for sale state.
7hen the registered product is ordered it changes its state to on order product
7hen the on order product is sold it 0ill change its state to the sold product state 1ut also a
product 0hich is for sale can directl 1e sold 0ith out ordering and this changes the
a&aila1le for sale product state directl to sold product.
7hen the sold product state reaches to the minimum order le&el it 0ill change to pending
for reordering state.
7hen the product is out of stac6 then it changes to the not a&aila1le for sale state.
Industrial project 2
1("
E-commerce
Fig $.3 #tate chart diagram for product
Industrial project 2
1(*
E-commerce
6.#. Collaboration !ia"ram
+ colla1oration diagram is an interaction diagram that emphasiEes the structural organiEation of the
o1jects that send and recei&e messages. + colla1oration diagram sho0s a set of o1jects8 lin6s
among those o1jects8 and messages sent and recei&ed 1 those o1jects. 5he o1jects are tpicall
named or anonmous instances of classes8 1ut ma also represent instances of other things8 such as
colla1orations8 components8 and nodes. 7e use colla1oration diagrams to illustrate the dnamic
&ie0 of a sstem. .olla1oration diagrams ha&e t0o features that distinguish them from se%uence
diagrams. First8 there is a path. #econd8 there is the se%uence num1er @+m1ler 2,,1A.
Fig $." .olla1oration diagram for &alidate user
Industrial project 2
1($
E-commerce
Fig $.* .olla1oration diagram for register ne0 customer
Fig $.$ .olla1oration diagram for register ne0 product
Industrial project 2
1('
E-commerce
Fig $.' .olla1oration diagram for place order
Fig $.( .olla1oration diagram for update product information
Industrial project 2
1((
E-commerce
Fig $.) .olla1oration diagram for cancel order
Industrial project 2
1()
E-commerce
Fig $.1, .olla1oration diagram for &ie0 order status
Industrial project 2
1),
E-commerce
Fig $.11 .olla1oration diagram for &ie0 o0n order status
Industrial project 2
1)1
E-commerce
Fig $.12 .olla1oration diagram for 1u product
Industrial project 2
1)2
E-commerce
Fig $.13 .olla1oration diagram for manage account
Industrial project 2
1)3
E-commerce
!:!: Component *odeling
5he goal of component modeling is to distri1ute the classes of the sstem into the larger scale8
cohesi&e components. + component diagram sho0s dependencies among components @+m1ler8
2,,1A. + component is a phsical and replacea1le part of a sstem that conforms to and pro&ides
the realiEation of a set of interfaces. Graphicall8 a component is rendered as a rectangle 0ith ta1s
@+m1ler 2,,1A.
Industrial project 2
1)"
E-commerce
Fig $.1" .omponent diagram for Ethio 0e1 shop
Industrial project 2
1)*
E-commerce
6.$. Deployment o!elin"
+ U24 deploment diagram depicts a static &ie0 of run time configuration of processing nodes
and the components that run on those nodes. In other 0ords deploment diagrams sho0 the
hard0are for the sstem8 the soft0are that is installed on that hard0are8 and the middle0are used to
connect separate machines on one another @+m1ler8 2,,1A. 7e 0ant to create a deploment model
for applications that are deploed to se&eral machines. 3eploment models are also needed for the
design of em1edded sstems8 sho0ing ho0 the hard0are and soft0are components 0or6 together.
3eploment models are tpicall de&eloped in parallel 0ith component models.
5he deploment diagrams ta6es a three-tier clientBser&er approach telling that the sstem 0ill ha&e
a user interface tier8 an application ser&er tier and a data1ase ser&er tier. It also sho0s ho0 each of
these tiers 0ill 1e implemented8 in this case8 in a 1ro0ser8 on a 0indo0s 1ased ser&er and on a
2#J4 3ata1ase 1ased ser&er respecti&el @+m1ler 2,,1A.
Industrial project 2
1)$
E-commerce
Fig $.1* 3eploment diagram for order management application
Industrial project 2
1)'
E-commerce
Fig $.1$ 3eploment for product management application
Fig $.1' 3eploment for customer management application
Industrial project 2
1)(
E-commerce
Fig $.1( 3eploment for administrator application
Fig $.1) 3eploment for report generation management application
Industrial project 2
1))
E-commerce
Fig $.2, 3eploment for #upplier management application
6.%. &ersistence o!elin"
/elational data1ases are often used as a mechanism to ma6e the o1jects of the 0e1site persistent.
-ecause relational data1ases do not completel support o1ject-oriented concepts8 the design of the
data1ase for the 0e1site is often different from the design of the class diagrams of the 0e1site.
!ersistence models- also called data models are used to communicate the design of a data1ase8
usuall a relational data1ase8 to 1oth user and to other de&elopers. !ersistence models are used to
design the schema of the data1ase. 5he strength of persistence models is data entities are
conceptuall the same as the ta1les of a relational data1ase and attri1utes are the sane as ta1le
columns.
7e use relational data1ase management sstem to 0or6 on persistent modeling.
/elational data1ases do not completel support o1ject-oriented concepts8 so the design of our
data1ase is different from the design of our class diagram. !ersistent models ena1le us to design the
Industrial project 2
2,,
E-commerce
schema of our data1ase.
7e descri1e t0o fundamental techni%ues to model persistent /elational data1ases
1. 2aps o1ject classes to relations
2. :ormaliEe a relational data1ase @0hich is mapped from o1jectA
1: *ap objects to relational database
+. 2apping attri1utes to columns and Entities to ta1les

7e map attri1ute of a class to Eero or more columns in a relational data1ase.
+ll the classes are mapped to the corresponding entit li6e product Entit to product ta1le8
categor Entit to categor ta1le and so on.
-. 2apping association
7e implement associations in relational data1ase using primar 6e and foreign 6e relationship.
5he primar 6e of the +ccount class@User:ameA is mapped to .ustomer class as
.Id @foreign 6eA.
5he primar 6e of the customer class@.IdA is mapped to the address class as
Email@foreign 6eA8product class as .id@foreign 6eA84ocal.ard class as .id@foreign
6eA8in&oice class as .id@foreign 6eA8order class as .id @foreign 6eA.
5he primar 6e of categor class is mapped to product class as .atId @foreign 6eA.
5he primar 6e of the !roduct class is mapped to the order class as !Id@foreign
6eA and to in&oice class as !Id@foreign 6eA.
5he primar 6e of the supplier class is mapped to the product class as compan
name@foreign 6eA and primar 6e
.
2: "ormali/e a relational database
:ormaliEation is often performed as a series of test on a relation to determine 0hether it satisfies or
Industrial project 2
2,1
E-commerce
&iolate the re%uirement of normaliEation rule.
:ormaliEation rule is as follo0s
(irst "ormal (orm (<"()
+ ta1le is in its 1:F if
o Each cell @ro0 Mcolumn intersectionA is single &alued
o Entries of a column are of the same 6ind
o 5here are no duplicated ro0s @there is a p6A.
$ccount
Industrial project 2
)ser"ame #ass;ord &ype
.1Nahoo.com tt 7e1 shop
manager
.1Nahoo.com tt 7e1 shop
manager
.2Nahoo.com tt1 +dministrator
2,2
E-commerce
Order
Customer
Industrial project 2
OrderId 9rder3ate !repament 95otal 9U!rice 9Juantit CId #Id
91 2,,(-,"-
,2
1*, 2,, 1, 2, .1Nah
oo.com
!1
91 2,,(-,"-
,2
1*, 2,, 2, * .1Nah
oo.com
!2
91 2,,(-,"-
,2
1*, 2,, 1, 2, .1Nah
oo.com
!1
Cid F:ame 4:ame 2:ame
Gender .ust5pe
.1Nahoo.com Uu /r Ee
Female regular
.1Nahoo.com Uu /r Ee
female regular
.2Nahoo.com Uu1 /r1 Ee1
male nonregular
2,3
E-commerce
In@oice
#roduct
Category
CatId Cat"ame CatDesc
cto1 ?D2 5he product is
in the categor
.at,1
.t,2 ?D3 5he product is
in the categor
cat,2
Industrial project 2
In@Id .id #Id In&3ate
5pe IJuantit
,,1 .1Nahoo.com !1 3B(B,(
credit 2,
,,1 .1Nahoo.com !1 3B(B,(
credit 2,
,,2 .2Nahoo.com !2 "B(B,(
credit $,
Company
"ame
#Id !:ame UIn#toc
6
U9n9rder /e4e&el !U!ric
e
Image !3escription .atId
compD ,,1 ? 2,
2 * 11.* DD.jpg !roduct ,,1 ct,1
.omp ,,1 ? 3,
3 $ 12.$ ?D1.jpg !roduct ,,1 ct,1
compD ,,* G $,
$ ' 1".2* ?D2.jpg !roduct ,,* ct,2
2,"
E-commerce
.t,1 ?D2 5he product is
in the categor
cat,1
'ocal card
'C" .alance Cid
,,1 2*.,, .1Nahoo.com
,,2 *,.,, .2Nahoo.com
,,1 2*.,, .1Nahoo.com
$ddress
>:o Ke1ele 7oreda #u1.it 5elephone Email .ountr .Id .ompan:ame
,,1 ,2 12 ++ O2*1,11**
*""12
.1Nahoo.co
m
Ethiopia .1Naho
o.com
compD
,,1 ,2 12 ++ O2*1)1133
"*$'
.1Nahoo.co
m
Ethiopia .1Naho
o.com
.ompD
,,2 ,) 13 california O2*1,13"*
23'(
.2Nahoo.co
m
+merica
n
.2Naho
o.com
comp
Supplier
Industrial project 2
2,*
E-commerce
Company"ame .ontact:ame !osted3ate EDp3ate
.ompD ?DD 2B*B,( *B3B,(
.ompD ?DD "B*B,( 2B$B,'
.omp 2B"B,( *B3B,,(
Second "ormal (orm (7"()
+ relation is in second :ormal form @2:FA if it is in 1:F8 and all the non primar 6e attri1utes
are full functionall dependent on the primar 6e. 2:F affects onl those relations that ha&e
composite 6es. If there is partial dependenc on the primar 6e it creates a ne0 ta1le for the
attri1utes 0ith partial dependenc 0here the partial determinant 0ill 1e of the ne0 ta1le.
#o in our sstem 0e ha&e three entities 0ith composite 6es 0hich result in the occurrence of
partial dependenc8 the entities are in&oice and order and !roduct.
In&oice
5he primar 6e for in&oice entit are in&id@in&oice idA8!id@!roduct idA and the non primar
6es are 8In&3ate85pe8IJuantit..
(D<@functional dependenc 1A:Pin&idQ-R.Id8in&date and 5pe
IJuantit do not ha&e an partial dependenc -ecause of this there are t0o ta1les created this
are in&oice product ta1le 0ith in&id8!Id@primar 6eA8IJuantit attri1ute.
In&oice ta1le 0ith in&id8 .Id8 In&3ate85pe attri1utes.
9rder
5he primar 6e for order entit are 9rderId8!id@!roduct idA and the non primar 6es are
.id89rder3ate8 9U!rice 6 9Juantit8!repament895otal.
(D< @functional dependenc 1A :PorderidQ-R.id8 9rder3ate 8 !repament895otal.
Industrial project 2
2,$
E-commerce
9U!rice and 9Juantit do not ha&e an partial dependenc .-ecause of this there 0ill 1e t0o
ne0 ta1les created these are order ta1le 0ith 9rderId@primar 6esA89rder3ate 8.Id 8
!repament895otal attri1utes.
9rder3etail ta1le 0ith order id8 !Id @ primar 6esA 8 9U!rice 8 9Juantit attri1utes.
&hird "ormal (orm (?"()
+ relation is in third normal form @3:FA if it is in 2:F and in 0hich no non-primar 6e
attri1ute is transiti&el dependent on the primar 6e.
+&oid an dependenc 1Bn a non primar 6e attri1ute and the primar 6e.
>a&ing dependenc 1et0een non primar 6e attri1utes is just indication of transiti&e
dependenc and not conclusi&e.
In the sstem8 there is no transiti&e dependenc among the non-primar 6e attri1utes
5his indicates that all the ta1les are on the third normal form. @3:FA.
$ccount
Industrial project 2
0E2 $&&%I.)&E D$&$&2#E SIJE %E(E%E"CES
!K User:ame <archar 3,
!ass0ord &archar 2,
5pe <archar 2,
2,'
E-commerce
Customer
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
FK8 !K .Id <archar 3, +ccount
F:ame <archar 2*
4:ame <archar 2*
2:ame <archar 2*
Gender <archar 1,
.ust5pe <archar 2,
$ddress
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
>:o &archar *
Ke1ele Int
7ereda Int
#u1.it <archar 2,
5elephone &archar 3,
!K8FK Email <archar 3, .ustomer
.ountr <archar 3,
FK .ompan:ame &archar 3, #upplier
Industrial project 2
2,(
E-commerce
'ocalCard
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
!K 4.: Int
-alance Float
FK .Id &archar 3, .ustomer
Category
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
!K .atId <archar 3,
.at:ame <archar 3,
.at3esc <archar 2,,
Order
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
!K 9rderId <archar 3,
FK .Id <archar 3, .ustomer
9rder3ate 3ate
!repament Float
95otal Float
OrderDetail
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
Industrial project 2
2,)
E-commerce
!K 9rderId <archar 3,
FK8 !K !Id <archar 3, !roduct
9U!rice Float
9Juantit Int
In@oice
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
!K In&Id <archar 3,
FK .Id <archar 3, .ustomer
In&3ate 3ate
5pe <archar 1,
In@oice#roduct
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
!K In&Id <archar 3,
FK8 !K !Id <archar 3, !roduct
IJuantit Int
Industrial project 2
21,
E-commerce
#roduct
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
!K !Id <archar 3,
!:ame <archar ",
FK .atId &archar 3, .ategor
#roductSupplier
0E2 $&&%I.)&ES D$&$&2#E SIJE
!K8FK .ompan:ame <archar 3,
!K8FK !Id <archar 3,
UIn#toc6 Int
U9n9rder Int
/e4e&el Int
!U!rice Float
Image <archar 2,
!3escription <archar 2,,
!osted3ate 3ate
EDp3ate 3ate
Supplier
0E2 $&&%I.)&ES D$&$&2#E SIJE %E(E%E"CES
!K .ompan:ame <archar 3,
.ontact:ame <archar 3,
Industrial project 2
211
E-commerce
Industrial project 2
212
E-commerce

Fg 6.21 Reatona Persstent modeng dagram
Industrial project 2
213
E-commerce
6.'. (ser Interface Desi"n
3uring design8 0e continue our user interface prototping efforts and at the same time8 Sclean upT
the o&erall design of the user interface. 5his clean up effort focuses on appling common user
interface design principles and techni%ues. 5o start 0ith the fundamentals of ser interface design8
.onstantine and 4oc60ood @1)))A descri1e a collection of principles for impro&ing the %ualit of
user interface design. 5herefore8 in the design of the user interface for the 0e1site the team
considered the follo0ing design principles to come up 0ith an interface that is user friendl and
accepta1le to the interest of the organiEation.
<: &he structure principle: >ere 0e tr to organiEe the user interface purposefull8 in a
meaningful and useful 0as 1ased on clear8 consistent models that are apparent and
recogniEa1le to users8 putting related things together and separating unrelated things8
differentiating dissimilar things8 and ma6ing similar things resem1le one another. 5he
structure principle is concerned 0ith the o&erall user interface architecture.
7: &he simplicity principle: 5he user interface is to 1e simple8 communicating clearl and
simpl in the userHs o0n language8 and pro&iding good shortcuts that are meaningfull
related to longer procedures.
?: &he @isibility principle: 9ur user interfaces design it to 6eep all needed options and
materials for a gi&en tas6 &isi1le 0ithout distracting the user 0ith redundant
information.
4: &he 1eedbacE principle: the user interfaces of the 0e1site is to 6eep users informed of
actions or interpretations changes of state or condition8 and errors or eDceptions that are
rele&ant and interest to the user through clear8 concise8 and unam1iguous language.
>: &he tolerance principle: the design for the user interface is to 1e fleDi1le and tolerant8
reducing the cost of mista6es and misuse 1 allo0ing undoing and redoing.
Industrial project 2
21"
E-commerce
$.).1 User Interface Flo0 3iagramming
3esign user interface flo0 diagram sho0s the design information 1eing captured in the user
interface prototpe and se%uence diagrams .It also reflects the user interface implementation
choices @+m1ler8 2,,1A.
Fig $.22 User Interface flo0 diagram
Industrial project 2
>ome !age
4og in

3ispla
!roduct page
#earch
!age
.hec6
9ut
+dmin. !age
/egister
customer page
/eport
generation
page
2anage
+ccount
!age
2anage
9rder
page
2anage
!roduct
page
/eg.
@/egularA.usto
mer page
.ustomer page
<ie0 o0n
order !age
+dd to cart
!age
!rod.detail
!age
#hopping
cart content
page
.omplete
order page
/egister
.ust.!age
!ament
info.!age
9rder
3etail
!age
.ustomer
3etail !age
!roduct
3etail !age
7e1#hop
2anager
!age
21*
E-commerce
C+$#&E% SE3E"
5:< I"&%OD)C&IO"
5his chapter deals 0ith the implementation of the 0e1site. -efore the 0e1site is to 1e posted on a
ser&er and put to use8 it needs to 1e tested using different mechanisms. For this purpose8 unit
testing8 integration testing and sstem testing 0ill 1e performed using different input data. 5o
de&elop the code for the 0e1site8 0e 0ill create algorithms that can guide us through the different
steps of the code. 5he algorithms help us to facilitate coding8 to ma6e easier de1ugging process and
to control the sstem flo0. 5he algorithms 0ill 1e supplemented 1 flo0charts.
5his chapter also co&ers the actual coding of the 0e1site. 5he coding 0ill 1e done using !>!8
0hich pro&ides o1ject-oriented facilities for the ser&er side scripting and data1ase connection. 5he
client side scripting 0ill 1e done using ja&a scripting for client side &alidation to reduce the load on
the ser&er. 5he static pages that 0ill 1e displaed on the 0e1site are created using >524.
+t the end of the chapter8 hard0are and soft0are ac%uisition issues 0ill 1e co&ered.
5:7 $lgorithm Design and (lo;chart
7e design algorithm for controller class mem1er function. 5his design ena1les us to see e&er
steps and flo0 of logic in each function. 5his design part is important in the coding part of
implementation.
7e dra0 flo0chart for the follo0ing process.
1 4ogin process
2 9rder process
3 -u processes
'.2.1 Flo0 .hart
Industrial project 2
21$
E-commerce

Fig'.1 Flo0 chart for log in to the 0e1 site
Industrial project 2
21'
E-commerce
Fig '.2 Flo0 chart for order process
Industrial project 2
21(
E-commerce
Fig '.3 Flo0 chart for 1u process
'.3. 5esting !rocedures
Industrial project 2
21)
E-commerce
#oft0are testing plas a fundamental role in determining the success or failure of the entire effort
of soft0are engineering. 5here are t0o major categories of testing8 0hich are functional testing
@often referred as -lac6 -oD 5estingA and structural testing @7hite -oD 5estingA.
7.3.1 Black Box Testing
It is a soft0are testing techni%ue 0here1 the tester does not 6no0 the internal 0or6ings of the
items 1eing tested. For eDample8 in a 1lac6 1oD test on soft0are design the tester onl 6no0s the
inputs and 0hat the eDpected outcomes should 1e and ho0 the program arri&es at the outputs. 5he
tester does not eDamine the programming code and does not need an 6no0ledge of the program
other than its specification. -lac6 testing methods focus on the functional re%uirements of the
soft0are. 5hat is8 1lac6 1oD testing ena1les the soft0are engineer to deri&e set of input conditions
that 0ill full eDercise all functional re%uirements for the program.
5his method of testing attempts to find errors in the follo0ing categories:
1 Incorrect or missing functions
2 Interface errors
3 Errors in data structures @or eDternal data1ase accessA
4 !erformance errors
5 InitialiEation and termination errors
System Testing
#stem testing made to ensure that the sstem fulfills user re%uirements. + sstem testing insures a
full-fledged implementation scenario of the soft0are de&elopment. 5his is a phase8 0hich
highlights on the operational 1ugs and the soft0are chec6list8 0hich are remo&ed through the
process of de1ugging. #oft0are de1ugging is the process 1 0hich de&elopers attempt to remo&e
coding defects from a computer program. In order to remo&e 1ugs from the soft0are8 first it must
1e disco&ered that a pro1lem eDists8 then classif the error8 locate 0here the pro1lem actuall lies in
Industrial project 2
22,
E-commerce
the code8 and finall create a solution that 0ill remed the situation.
7e tried to sho0 our sstem to our colleagues and other indi&iduals 0ho do not ha&e an
programming 6no0ledge. +mong the comments that 0e ha&e 1een gi&en is
.omment
5he sstem does not introduce or gi&e information on 0here to get the local card and ho0
to use it.
.orrection
In order to alle&iate this 0e ha&e added information to the sstem on 0here to get the local
card and ho0 to use it.
7.3.2 White Box Testing
#tructured testing uses mathematical analsis of control flo0 graphs: to guide the testing process.
#tructured testing is more theoreticall precise and more effecti&e at detecting errors in practice
than other common test co&erage criteria such as statement and 1ranch co&erage. #tructured testing
is therefore suita1le 0hen relia1ilit is an important consideration for soft0are. It is not intended as
a su1stitute for re%uirements-1ased S1lac6 1oDT testing techni%ues8 1ut as a supplement to them.
#tructured testing forms the S0hite 1oDT8 or code 1ased8 part of a comprehensi&e testing program8
0hich 0hen %ualit is critical 0ill also include re%uirement-1ased testing8 testing in a simulated
production en&ironment.
Unit Testing
Unit testing allo0s us to focus on smaller units of the sstem. It ma6es easier to pinpoint and
correct faults. In unit testing called components @or communicating componentsA are replaced 0ith
stu1s8 simulators8 or trusted components. .alling components are replaced 0ith dri&ers or trusted
super-components. 5he unit is tested in isolation.
Industrial project 2
221
E-commerce
.omponent: + unit is a component. 5he integration of one or more components is a component.
Unit testing is important for maintaining application %ualit assurance. Unit tests 0ill almost li6el
1e defined at the method le&el8 so the art is to define the unit test on the methods that cannot 1e
chec6ed 1 inspection. 5he primar goal of unit testing is to ta6e the smallest piece of testa1le
soft0are in the application8 isolate it from the remainder of the code8 and determine 0hether it
1eha&es eDactl as it is eDpected. Each unit test is tested separatel 1efore integrating them into
modules to test the interfaces 1et0een modules. Unit testing has pro&en its &alue in that a large
percentage of defects are identified during its use.
Comment
7e ha&e tried to test login and customer registration as a sample of untie testing and 0e encounter
that the sstem doesnHt chec6 the data 0ith the data 1ase for login and also it doesnHt register some
of the data that are going to 1e inserted in the address ta1le.
Correction
4ogin chec6s if the user name entered eDists in the data 1ase or not. +nd in the case of customer
registration the data that are entered in the customer registration form are inserted to the customer
and address ta1le.
Integration Testing
Integration testing is done for detecting faults that are not detected during unit testing 1 focusing
on small groups of components. 50o or more components are integrated and tested. 5he idea is to
test com1ination of units ta6e a 1ottom top approach from units to modules 0ith those of other
groups. Integration testing identifies pro1lems that occur 0hen units are com1ined.
Comment
+fter the customer selects a product and ma6e an order the customer 0ill 1e as6ed to register or
Industrial project 2
222
E-commerce
sign in. +fter the customer registers there 0as no 0a that the customer resumes 0hat customer has
left off
Correction
+fter selecting a product and ma6e an order8 the customer 0ill 1e as6ed to register or sign in.
+fter registering the sstem resumes from the page customer has left off .
Acceptance Testing
+cceptance testing is a test performed 1 the customer 1ased on usa1ilit8 functional and
performance tests in the de&elopment en&ironment against acceptance criteria @from !roject
agreementA @Grad -ooch8 1))'A since8 the sstem is not designed for specific organiEationL
acceptance testing is not conducted 1 the customer. E&en though8 the sstem fulfils the 1asic
re%uirements identified during the analsis phase.
5he common errors that a sstem de&eloper encounters are categoriEed and descri1ed as follo0s:
Syntax errors
+ sntaD error occurs if ou mistpe a 6e 0ordL forget to close a multi line command or introduce
a similar sntaD error. If a script includes a sntaD error8 the script 0ill not eDecute and an error
message is displaed as soon as the 1ro0ser or ser&er processes the page.
Rn!time error
+ run-time error occurs 0hen a command attempts to perform an action that is in&alid. If it occurs8
the script either stops or performs an eDception routine.
"ogical error
Industrial project 2
223
E-commerce
+ logic error occurs 0hen a script eDecutes 0ithout sntaD or run-time errors8 1ut the results are not
0hat ou intended. For eDample8 a script might prompt the user for a pass0ord8 1ut then allo0s
access to the application e&en if the pass0ord is 0rong.
5herefore8 our sstem 0ill 1e tested to find out the eDistence of the a1o&e errors so that it can
perform as per the specifications and re%uirements.
$:4: &est case speci1ication
'.".1 4og in
'.".1.1 5est cases for 4og in component testing
5est Identifier 4ogin form
5est location 7e1site home page
Feature to 1e tested 5o login in to the 0e1site
Feature passBfail
5est passes if correct username and
pass0ord is entered.
2eans of control Input data and output
5est procedure
1. Insert username
2. insert pass0ord
3. clic6 S4oginT
Data !ro&ided on the sample data sheet
5a1le '.1 5est cases for 4og in component testing
7.# Sign p
5:>:< &est cases 1or customer create account component testing
Industrial project 2
22"
E-commerce
5est Identifier +ccount for customer registration form
5est location 7e1site pages
Feature to 1e tested 5o appl for mem1ership
Feature passBfail
5est passes if correct username8 pass0ord
and other fields are entered
2eans of control Input data and output
5est procedure
1. Insert First :ame
2. Insert 2iddle :ame
3. Insert 4ast :ame
". select gender
*. insert >:o
$. insert Ke1ele
'. insert 0oreda
(. Insert #u1cit
). insert 5el
1,. select countr
11. Insert Username
12. Insert !ass0ord
13. Insert /e-5pe !ass0ord
3ata !ro&ided on the sample data sheet
5a1le '.2 5est cases for create account component testing
Industrial project 2
22*
E-commerce
5:>:7 Entering Data to the System
5:>:7:< &est cases 1or adding customer in1ormation on Customer entry component
Test case identifier .ustomer information entr process
Test location 2ain 0indo0 -R sign up-Renter .ustomer
information 9/
2ain 0indo0 -R #elect !roduct-R9rderB-u-
Renter user name-Rno user name-Rdata entr
0iEard-Renter .ustomer information
*eature to be tested -5o add ne0 .ustomer information to data1ase.
*eature pass criteria 5he test passes if
- :e0 .ustomer record is inserted through the
customer information entr process and successful
message sho0n
-5he sstem doesnHt allo0 entering the alread
eDist user name and a message is loaded
/ata .ustomer information on the data1ase
5a1le '.3 5est cases for customer entr component testing
5:>:7:7 &est cases 1or canceling Order in1ormation component
Industrial project 2
22$
E-commerce
Test case identifier 9rder information cancel process
Test location 2ain 0indo0 -R 4ogin page -R <ie0 9rder
information - Rcancel 9rder information
*eature to be tested -searching 9rder information to 1e canceled
-searching 9rder information to 1e canceled
0hich does not eDists in the sstem
-deleting 9rder information
*eature pass criteria 5he test passes if
- displa 9rder information if it is found in
sstem
-displa S9rder information is not foundsT
message if 9rder does not eDist
/ata -update information for !roduct
5a1le '." 5est cases for order component testing
.
5:>:7:? testing on preparing a report
Test case identifier
preparing 9rder report
process
Industrial project 2
22'
E-commerce
Test location >ome page -R login -R/eport.
*eature to be tested -5o prepare a report for the 9rder information 1ased on
different criteria
*eature pass criteria 5he test passes
-If a 7e1 shop manager prepare report
-If a sstem doesnHt prepare report8 displa message
/ata
3ispla report information
5a1le '.* 5est cases for report generation component testing
7.$. %ar&'are an& so(t'are ac)isition
%ar&'are ac)isition* - one computer 0ith the minimum specification of:
1 !rocessor tpe Intel !entium I<.
2 !rocessor speed 2.$$ 2>G and a1o&e.
3 >ard dis6 ", G- and a1o&eL
4 Input de&ices-Ke1oard and mouse supporting 2icrosoft 0indo0s 9#L
5 >igh-speed printer @>! classes).
So(t'are ac)isition* 5he follo0ing 9perating sstems are recommended: -
1 7indo0s 2,,,B?!.
2 <ertrigo #er&er.
7.7. User Inter(ace
Industrial project 2
22(
E-commerce
Fg 7.4 Man page
Descrpton: - ths page w appear when the user enters the enters the URL of
our web ste (www.Ethowebshop.com)
Fg. 7.5 Logn
Descrpton: - Ths form (screen) appears at the top rght part of the man page.
After the user enters the correct username and password and ccks the
proceed button. He/She w then be abe to order products and n the case of
admnstrators admnstratve capabtes w be gven such as addng
Industrial project 2
22)
E-commerce
products, deetng products.
Fg 7.6 Shoppng cart page
5escription3 - Shows the quantty and type of product a customer adds to a
shoppng cart.
Industrial project 2
23,
E-commerce

Fg 7.7 menu screen
Descrpton: - ths screen w appear for web shop managers to
enabe manpuaton of the Web after he ogs successfuy.
Industrial project 2
231
E-commerce
Fg 7.8 Product regstraton
5escription3 - Ths page aows the web shop manager to regster products
Industrial project 2
232
E-commerce
Fg 7.9Lst Order
5escription3 - Ths Page sts the orders ftered by specfc crtera gven by
the web shop manager.
Fg 7.10 2anage +ccount !age
3escription:- .ontains menu for managing +ccount @for administrator onlA
Industrial project 2
233
E-commerce
Fg 7.11-u product page
3escription: - +llo0 pament tpe selection
Fig '.12 +ccept 4ocal card
3escription: - this screen 0ill appear for onl cash customers. @7hen the tpe of pament is cashA
Industrial project 2
23"
E-commerce
7.7 %iring an& Training
5he person to manipulate the sstem should ha&e the %ualifications and eDperience 0ith
computer science or information sstems or other related fields. 5he project team fulfills all the
re%uirements re%uested to manage ethio0e1shop8 so the project team do not hire an additional
man po0er.
7.+. Site preparation
5he site for Installation of our sstem should ha&e:
1 Enough space to accommodate the sstem and its accessories.
2 5he room should 1e secured against damage and loss of hard 0are and soft 0are.
7., Installation
5he computers and accessories 0ith appropriate soft0are specification should 1e purchased from
&enders. 5he organiEation should get an internet ser&ice from the ser&ice pro&ider8 Ethiopian
5elecommunication. 5his includes also ha&ing a ser&er and I! address 0here the 0e1site folders
are to 1e posted. 5hen the sstem is installed onto the ser&er and the administratorHs computer
connected 0ith the ser&er 0here administration 0ill 1e effected.
7.1- Start!p
5he 0e1 site 0ill 1e functional 0hen all the re%uired folders of the 0e1site and the data1ase are
loaded on the ser&er8 0hich is pro&ided 1 the Internet #er&ice !ro&ider.
Industrial project 2
23*
E-commerce
C+$#&E% EI-+&
9:< Conclusions and 'ecommendation
A.1.1 Conclusion
An effort has been made to std! e-commerce as "artia# f#fi##ment of $%& de'ree in
com"ter science. In doin' the std! the team has tried to fo##o( ob)ect oriented s!stem
ana#!sis and desi'n methodo#o'!.
%ince the sccess and fai#re of an! s!stem de"ends on 'atherin' the ri'ht information
thro'h different fact-findin' techni*es and ser invo#vements+ the team has made the
best effort to 'ather re*irements. After a detai# revie( and std! of the traditiona# e-
commerce s!stem mode#s have been desi'ned to ref#ect the ne( s!stem that are s""ose
to so#ve "rob#ems.
Desi'nin' e-commerce s!stem he#"s to maintain on#ine se##in' and b!in' "rocess.
It faci#itates activities sch as ,ana'in' order+ "rodct+ re'istration of cstomer+
re"ort 'eneration+ and avoids some of the "rob#ems (hich are re#ated to the above
activities.
In order to so#ve different "rob#ems e-isted the team has tried to "ro"ose a so#tion that at
#east redce the e-isted "rob#ems and mode# the "ro"osed s!stem sin' different too#s
and methodo#o'ies. .he team be#ieve that the different too#s and techni*es has he#"ed a
#ot in ca"trin' rea# ser re*irements and mode# the ri'ht s!stem for the sers for their
da! to da! transactions.
Industrial project 2
23$
E-commerce
A.1.2 'ecommendation
$ased on findin's+ conc#sions and other mentioned factors+ the fo##o(in'
recommendations are for(arded to im"rove the "erformance of the s!stem:
1 If there is a means to se credit card in or s!stem it can overcome the different
"rob#ems faced sin' the #oca#card.
2 .he desi'ned s!stem sho#d be o"en for ftre techno#o'! chan'es.
.rst and confidence is crcia# to an! transaction+ more so for transactions carried ot
virta##! thro'h e#ectronic means. .he team recommends that in deve#o"in' sch an
/-&ommerce s!stem+ it is crcia# that efforts be ta0en b! the "rivate and "b#ic
sectors to bi#d confidence and trst in /-&ommerce. .he team a#so recommends an!
cstomer (ho needs to "rchase "rodcts to ma0e se of this s!stem and save
his1her va#ab#e time and mone!.
.herefore+ it is be#ieved that if an attem"t made to deve#o" sch a s!stem+ this docment
(i## he#" as a 'ood reference materia#.
Industrial project 2
23'
E-commerce
Glossary
1vera(e inventory costin( method8movin( avera(e The
weghted average unt cost s determned by dvdng the tota cost
of the dentca unts of each commodty avaabe for sae durng
the perod by the reated number of unts of that commodty
Credit #orthiness An assessment of the credt worthness of
ndvduas and corporatons. It s based upon the hstory of
borrowng and repayment, as we as the avaabty of assets and
extent of abtes.
Shoppin( cart referred to as a carrage or shoppng carrage s
used to accommodate customers seected products for order or
purchase
%eb shop mana(er s a person seng and managng the web
shop.
Credit limit The maxmum aowed amount a person s aowed
to purchase on
Credit period The maxmum aowed perod a person s aowed to
sette hs/her debts.
7inimum order level The mnmum eve of stocks t can toerate,
and then re-orders before the stocks reach ths eve
%eb shop s a user-frendy e-commerce shoppng appcaton for
Industrial project 2
23(
E-commerce
the web.
;ist of abbreviations
E5I- Eectronc data nterchange
G5"- Gross Domestc Product
+'- Busness Rue
;C5- Least Deveoped Country
5 - Ob|ect Orented Deveopment
)7;- Unfed Modeng Language
"IECES- Performance Informaton Economcs Contro Effcency Servce
+'- Busness Rues
)I- User Interface
S- Operatng System
Industrial project 2
23)
E-commerce
)C- Use case
S6;- Structura Ouery Language
C'C- Cass Responsbty coaborator
C- .onstraint
CC- .hange .ase
<IC- :et0or6 Interface .ards
)"S- Uninterrupti1le po0er suppl

'eference3
1. |effrey A. Hoffer, |oey F. George; 1998 Modern Systems anayss
and Desgn Second edton
2. Amber, Scott, W.2001.Ob|ect prmer 2nd ed. Cambrdge:
Cambrdge unversty press.
3. Accountng prncpes 16th edton fesswarren
4. WWW.googe.com
5. Varous onne shoppng stes (www.Ethogft.com,
www.vctorasecret.com)
6. Encarta Encycopeda 2007
7. Ob|ect prmer 2nd edton. Cambrdge Amber, Scott, W.2001:
Industrial project 2
2",
E-commerce
Cambrdge unversty press.
8. Essentas of Systems Anayss & Desgn, Second Edton: |oseph
S. Vaacch, |oey . George and |effry A. Hoffer
9. WEB DESIGN IN A NUTSHELL A Desktop Ouck Reference by
|ennfer Nederst, |anuary 1999, Frst Edton.
10. |ames Rumbaugh, Ivan |acobson, Grady Booch; The Unfed
Modeng Language Reference Manua
$ppendiD
Coding
Code 1or cart class
UVphp
class .art P
&ar WitemsL
BB&ar WcountX,L
function .art@A
P
Q
pu1lic function addCitems@WproductCid8 W%tA
P
Industrial project 2
2"1
E-commerce
if @isset@Wthis-RitemsYWproductCidZAA
Wthis-RitemsYWproductCidZOXW%tL
else
Wthis-RitemsYWproductCidZXW%tL

BBWthis-RitemsXarra@WproductCid8W%tAL
Q
pu1lic function sho0Ccart@A
P
return Wthis-RitemsL
Q
pu1lic function updateCcart@WproductCid8W%tA P
if @isset@Wthis-RitemsYWproductCidZAA
Wthis-RitemsYWproductCidZXW%tL
BBQ else P
BB Wthis-RitemsYWitemZ X 1L
BBQ
Q
pu1lic function deleteFrom.art@WitemA P
if@isset@Wthis-RitemsYWitemZAA
BB Wthis-RitemsYWitemZ--L
BB if@Wthis-RitemsYWitemZ XX ,A P
unset@Wthis-RitemsYWitemZAL
BBQ
Q
function getJuantit@WpidA
P
return Wthis-RitemsYWpidZL
Q
Industrial project 2
2"2
E-commerce
function displa.art@A
P
WnoX1L
WsumX,L
WcaXWthis-Rsho0Ccart@AL
echo [Uta1le 1ordercolorX\33$$)) alignXcenter 1orderX3
classXsearchR
UtrR
UthR:o.UBthR
UthR!roduct :ameUBthR
UthRJuantitUBthR
UthRUnit !riceUBthR
UthR5otal !riceUBthRUBtrR[L
foreach@Wca as W6e XR W&alueA
P
WprXget!roduct@W6eAL
WpriXsprintf@[F,.2f[8Wpr-Rget!!rice@AAL
WnmXWpr-Rget!:ame@AL
WamXsprintf@[F,.2f[8WpriIW&alueAL
W&alXW&alueL
echo [UtrRUtdRWnoUBtdRUtdRWnmUBtdRUtd alignX centerRUform
actionX]updatecart.php] methodX]post]RUinput
nameXW6e classX]search] siEeX*
&alueXW&alRUBtdRUtdRWpriUBtdRUtdRWamUBtdR
UtdRUa hrefX^[deleteitem.phpV
!IdXW6e^[R3eleteUBaRUBtdRUBtrR[L
BB]tDt%ua]
echo [Uinput nameX]tDtpre&%ua] tpeX]hidden]
&alueXW&alueR[L
WnoOOL
WsumXWsumOWamL
Industrial project 2
2"3
E-commerce
Q
WsumXsprintf@[F,.2f[8WsumAL
echo [UtrRUtd colspanX" alignXright
tdXheightX",RU1RGrand 5otalUBtdR
Utd RWsumUBtdRUBtrR[L
echo [UBta1leR[L
echo[ Up alignXcenterRUinput nameX]1tnre&ie0]
classX]search] siEeX* tpeXsu1mit &alueX]/e&ie0 .art]RUBformRUBpRUBaR[L
Q
Q
Code 1or product registration page
UVphp
include @]header.inc]AL
date!ic6er@AL
BBinclude @]Ecomclass.php]AL
VR
U53 &+lignXtop 0idthX[1,,F[R
UV
echo WC#E##I9:Y]logintpe]ZL
BBif @isset@WC#E##I9:Y]login]ZA__ WC#E##I9:Y]logintpe]ZXX]7e1 #hop 2anager]AP
if @chec6!roductEDistence@WtDtpidAXX1A
P
echo [Uh3RU1rRU1rR5his !roduct alread EDists``UBh3R[L
Industrial project 2
2""
E-commerce
Q
else
P
BBecho WCFI4E#Y[testCfile[ZY[tmpCname[Z.[U1rR[L
WmfileXWCFI4E#Y[testCfile[ZY[tmpCname[ZL
Wmfile1XWCFI4E#Y[testCfile[ZY[name[ZL
BBecho Wmfile1 L
BBWfileDX[...^^homeCfiles^^[.Wmfile1L
BBWfileDX[..BBhomeCfilesBB[.Wmfile1L
WfileDX[.:^^!rogram Files^^<ertrigo#er&^^Chtdocs^^ecommerceprojectfinal22^^homeCfiles^^[.
Wmfile1L
BBWfileDX[.:^^!rogram Files^^<ertrigo#er&^^Chtdocs^^ecommerceprojectfinal1^^homeCfiles^^[.
Wmfile1L
if @`cop@Wmfile8WfileDAA P
print @[failed to cop Wfile...U1rR^n[ALQ

WpidXtrim@WC!9#5Y]tDtpid]ZAL
WpnameXtrim@WC!9#5Y]tDtpname]ZAL
WcatnXtrim@WC!9#5Y]cm1categor]ZAL
W%uaXtrim@WC!9#5Y]tDt%uantit]ZAL
Wrele&elXtrim@WC!9#5Y]tDtrele&el]ZAL
WimageX[homeCfilesB[.Wmfile1 LBBtrim@WC!9#5Y]tDtimage]ZAL
WpriceXtrim@WC!9#5Y]tDtprice]ZAL
WdescXtrim@WC!9#5Y]tDtdesc]ZAL
WcomnameXtrim@WC!9#5Y]tDtcompanname]ZAL
WconnameXtrim@WC!9#5Y]tDtcontactname]ZAL
WeDpdateXdate@trim@WC!9#5Y]tDteDpdate]ZAAL
foreach @Wmm as W6eXRW&alueA
P
if @W&alueXXWcm1monthAP
WmnXW6eL
Industrial project 2
2"*
E-commerce
1rea6LQ
Q
BBecho WmnL
BBWpostXWcm1ear.[-[.Wmn.[-[.Wcm1dateL
WeDpdateXdate@WeDpdateAL
WpostXdate@]-m-d]AL
BBecho WeDpdateL
WhX,L

0hile @Wh U WcatnumA
P
if @WcatnameYWhZXXWcm1categorA
PWcatiXWcatidYWhZL
1rea6LQ
else
WhOOL
Q

Wsu X ne0 #upplier@Wcomname8Wconname8Wpost8WeDpdate8WtDthno8WtDt6e1ele8WtDt0ereda8
WtDtsu1cit8WtDttel8WtDtemail8Wcm1countrAL
Wpr X ne0 !roduct@Wpid8Wpname8Wcati8W%ua8,8Wrele&el8Wimage8Wprice8Wdesc8WcomnameAL
WrXWsu-Rregister#upplier@AL
WrXWpr-Rregister!roduct@AL
if @`WrA
echo [!roduct not registered`[L
elseP
echo [!roduct /egistered[L
Q
Q
Industrial project 2
2"$
E-commerce
echo [UulRUliR[L
echo [Up alignXcenterRUa hrefXproduct.phpR-ac6 to register !roductUBaRUBliRU1rRU1rR[L
echo [UliRUp alignXcenterRUa hrefX0e1home.phpR-ac6 to 2enuUBaRUBliR[L
echo[UBulR[L
VR
UB53R
UV
BBQ
BBelse
BB echo [+ccess 3enied[L
include @]ne0s.inc]AL
VR
#roduct class
UVphp
class !roductP
pri&ate WpidL
pri&ate WpnameL
pri&ate WpcatidL
pri&ate Wpinstoc6L
pri&ate WponorderL
pri&ate Wprele&elL
pri&ate WpimageL
pri&ate WppriceL
pri&ate WpdescL
pri&ate WpsupplierL
function !roduct@Wpid8Wpname8Wcatid8Wpinstoc68Wponorder8Wprele&el8Wimg8Wprice8Wdesc8WpsupplierA
P
Wthis-RpidXWpidL
Industrial project 2
2"'
E-commerce
Wthis-RpnameXWpnameL
Wthis-RpcatidXWcatidL
Wthis-Rpinstoc6XWpinstoc6L
Wthis-RponorderX WponorderL
Wthis-Rprele&elXWprele&elL
Wthis-RpimageXWimgL
Wthis-RppriceXWpriceL
Wthis-RpdescXWdescL
Wthis-RpsupplierXWpsupplierL
Q
BBBBBBBBBBBBBBBBBBBsetBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
function set!Id@WpidA
P
Wthis-RpidXWpidL
Q
function set!:ame@WpnameA
P
Wthis-RpnameXWpnameL
Q
function set!.atId@WcatidA
P
Wthis-RpcatidXWcatidL
Q
function set!In#toc6@W%uaA
P
Wthis-Rpinstoc6XW%uaL
Q
function set!9n9rder@W%uaA
P
Wthis-RponorderXW%uaL
Q
Industrial project 2
2"(
E-commerce
function set!/e4e&el@W%uaA
P
Wthis-Rprele&elXW%uaL
Q
function set!Image@WimageA
P
Wthis-RpimageXWimageL
Q
function set!!rice@WpriceA
P
Wthis-RppriceXWpriceL
Q
function set!3esc@WdescA
P
Wthis-RpdescXWdescL
Q
BBBBBBBBBBBBBBBBBBBBBBget BBBBBBBBBBBBBB
function get!Id@A
P
return Wthis-RpidL
Q
function get!:ame@A
P
return Wthis-RpnameL
Q
function get!.atId@A
P
return Wthis-RpcatidL
Q
function get!In#toc6@A
P
Industrial project 2
2")
E-commerce
return Wthis-Rpinstoc6L
Q
function get!9n9rder@A
P
return Wthis-RponorderL
Q
function get!/e4e&el@A
P
return Wthis-Rprele&elL
Q
function get!Image@A
P
return Wthis-RpimageL
Q
function get!!rice@A
P
return Wthis-RppriceL
Q
function get!3esc@A
P
return Wthis-RpdescL
Q
function get!#upplier@A
P
return Wthis-RpsupplierL
Q
function register!roduct@A
P
include@]d1Cconnection1.php]AL
Wta1leCnameX[!roduct[L
insert%uer@Wta1leCname8Wthis-Rpid8Wthis-Rpcatid8Wthis-RpnameAL
Industrial project 2
2*,
E-commerce

Wta1leCnameX[!roduct#upplier[L
WrXinsert%uer@Wta1leCname8Wthis-Rpsupplier8Wthis-Rpid8Wthis-Rpinstoc68Wthis-Rponorder8Wthis-
Rprele&el8Wthis-Rpprice8Wthis-Rpimage8Wthis-RpdescAL
return WrL
Q
Q
.uy product code
UV
sessionCstart@AL
include@]d1Cconnection1.php]AL
if@isset@WC#E##I9:Y]login]ZAA
P
include@]!ament9ption.php]AL
Q
else P
VR
Ufont faceX[<erdana8 +rial8 >el&etica[RUB1rRUB1rRUB1rR
Uhr alignX[center[ colorX[\33..FF[ siEeX[2,[RUB1rRUB1rR
Uta1le alignX[center[R
Uh*R:e0 .ustomers and GuestsUB1rR.lic6 here to registerUBh*R
Uform methodX[post[ actionX[/EGI#5E/.php[R
Uinput tpeX[su1mit[ &alueX[/egister[RUB1rRUB1rRUB1rRUB1rRUB1rRUB1rR
UBformR
UBta1leR
Uhr alignX[center[ colorX[\33..FF[ siEeX[2,[R
Uh* alignX[center[R/egistered .ustomersUB1rR#ign in and proceed 0ith chec6outUBh*R
Uta1le alignX[center[R

Industrial project 2
2*1
E-commerce
Uform methodX[post[ actionX[<alidate+ccount#.php[R
UtrR
Utd 0idthX["3F[RU`--mstheme--R
User:ame@Email +ddressAUBtdR
Utd 0idthX[*'F[ 1ordercolorX[\))))))[RUpR
Uinput tpeX[teDt[ nameX[tDtemail[ siEeX[3*[R
UBtdR
UBtrR
UtrR
Utd 0idthX["3F[RU`--mstheme--R
Up alignX[center[R !ass0ordUBtdR
Utd 0idthX[*'F[ 1ordercolorX[\))))))[RUBpR
Uinput tpeX[pass0ord[ nameX[tDtp0ord[ siEeX[3*[RUB1rRUB1rRUB1rR
UBtdR
UBtrR
UtrR
Utd alignX[center[R
Uinput tpeX[su1mit[ &alueX[!roceed 0ith chec6out[RUB1rRUB1rRUB1rRUB1rRUB1rRUB1rR
UBtdR
UBtrR
UBformR
UBta1leR

UBfontR
UV Q VR
Sa@e buy
UV
sessionCstart@AL
o1Cstart@AL
include@]header.inc]AL
echo [U53 &+lignXtop 0idthX]1,,F]R[L
Industrial project 2
2*2
E-commerce
if@W#el!roductXX[cash[A
P
echo [cash[L
include@]+ccept4.:.php]AL
Q
else if@W#el!roductXX[credit[A
P
WunXWC#E##I9:Y]loginname]ZL
include@]d1Cconnection1.php]AL
Ws%l.ustX[select I from .ustomer 0here .IdX^[Wun^[[L
Ws%l.ust/esXms%lC%uer@Ws%l.ust8Wlin6AL
Wro0.ustXms%lCfetchCarra@Ws%l.ust/esAL
W.5peXWro0.ustY[.ust5pe[ZL
if@W.5peXX[regular[A
P
Wca X unserialiEe@WC#E##I9:Y]cart]ZAL
WcartCitems X Wca-Rsho0Ccart@AL
WdXdate@[-m-d[AL
insert%uer@[In&oice[8[[8Wun8Wd8[credit[AL
Ws%lXselect%uer@[select I from In&oice order 1 In&Id +#.[AL
0hile @Wro0Xms%lCfetchCarra@Ws%lAA
P
Win&idXWro0Y,ZL
Q
foreach@WcartCitems as W6e XR W&alueA
P
WprXget!roduct@W6eAL
WpriXsprintf@[F,.2f[8Wpr-Rget!!rice@AAL
insert%uer@[In&oice!roduct[8Win&id8W6e8W&alueAL

Industrial project 2
2*3
E-commerce
Q
WDXWC#E##I9:Y]loginname]ZL
echo [Uh2R.onfirmatin mail is sent &ia =our email WDUBh2R[L

Q
else
echo [=ou are not allo0ed to ta6e on credit[L
Q
else
BBinclude@]!ament9ption.php]AL
Pheader@[location:pamentoption.php[AL
o1Cflush@ALQ
VR
UV
include@]ne0s.inc]AL
VR
4a@a script @alidation 1unctions
BB&alidation for registrationBBBBBBBBBBBBBBBBBBBBBBBBBB
function reg<alidator@regA
P

&ar passXreg.tDtp0ord.&alueL
&ar unameXreg.tDtemail.&alueL
&ar repassXreg.tDtrp0ord.&alueL
&ar fnameXreg.tDtfname.&alueL
&ar mnameXreg.tDtmname.&alueL
Industrial project 2
2*"
E-commerce
&ar lnameXreg.tDtlname.&alueL
&ar residence!honeXreg.tDttel.&alueL

&ar 6e1eleXreg.tDt6e1ele.&alueL
&ar 0eredaXreg.tDt0ereda.&alueL
&ar hnum1erXreg.tDthno.&alueL
&ar su1citXreg.tDtsu1sit.&alueL
&ar characterX[.aracters onl[L
&ar numX[:um1ers onl please[L
&ar alphaEDp X BaYa-E+-GZOWBL
&ar telEDpression X BaY,-)^-^BZOWBL
&ar numericEDpression X BaY,-)ZOWBL
&ar emailEDp X BaY^0^-^.^OZO^NYa-E+-G,-)^.^-ZO^.Ya-E+-E,-)ZP28"QWBL
if@@fnameXX]]Abb@mnameXX]]Abb@lnameXX]]Abb@residence!honeXX]]Abb@6e1eleXX]]Abb@0eredaXX]]Abb
@hnum1erXX]]Abb@su1citXX]]Abb@unameXX]]Abb@passXX]]Abb@repassXX]]AA
P
alert@[Fill all re%uired fields[AL
if@unameXX]]A
reg.tDtemail.focus@AL
else if @passXX]]A
reg.tDtp0ord.focus@AL
else if@repassXX]]A
reg.tDtrp0ord.focus@AL
else if@fnameXX]]A
reg.tDtfname.focus@AL
else if@mnameXX]]A
reg.tDtmname.focus@AL
else if@lnameXX]]A
reg.tDtlname.focus@AL
else if@residence!honeXX]]A
reg.tDttel.focus@AL
Industrial project 2
2**
E-commerce
else if@6e1eleXX]]A
reg.tDt6e1ele.focus@AL
else if@0eredaXX]]A
reg.tDt0ereda.focus@AL
else if@hnum1erXX]]A
reg.tDthnum1er.focus@AL
else
reg.tDtsu1cit.focus@AL
return falseL
Q
elseP
if@`fname.match@alphaEDpAA
P
alert@[First name should 1e characters onl [ AL
return falseL
Q
if@`mname.match@alphaEDpAA
P
alert@[2iddle name should 1e characters onl [ AL
return falseL
Q
if@`lname.match@alphaEDpAA
P
alert@[4ast name should 1e characters onl [ AL
return falseL
Q
Industrial project 2
2*$
E-commerce
if@`residence!hone.match@telEDpressionAA
P
alert@[=ou can onl use num1ers8 - or B on telephone[AL
return falseL
Q
if@`6e1ele.match@numericEDpressionAAP
alert@[6e1ele should 1e num1er[AL
return falseL
Q
if@`0ereda.match@numericEDpressionAAP
alert@[7oreda should 1e num1er[AL
return falseL
Q
if@`su1cit.match@alphaEDpAA
P
alert@[su1cit should 1e character[AL
return falseL
Q
if@`uname.match@emailEDpAA
P
alert@[:ot a &alid e-mail[AL
return falseL
Q
if@pass.lengthU$A
P
alert@[!ass0ored length should 1e greater than *.[AL
return falseL
Q
if@pass.lengthR2,A
Industrial project 2
2*'
E-commerce
P
alert@[!ass0ored length should not eDceed 2,.[AL
return falseL
Q
if@repass.lengthU$A
P
alert@[!ass0ored length should 1e greater than *.[AL
return falseL
Q
if@pass`XrepassA
P
alert@[5he re-entered pass0ord should 1e the same[AL
return falseL
Q
return trueL
Q
Q
function !&alidator@productregA
P
&ar alphaEDp X BaYa-E+-GZOWBL
&ar numericEDpression X BaY,-)ZOWBL
&ar emailEDp X BaY^0^-^.^OZO^NYa-E+-G,-)^.^-ZO^.Ya-E+-E,-)ZP28"QWBL
&ar dateEDpression X BaY,-)^B-ZOWBL
&ar priceEDpression X BaY,-)^.ZOWBL
&ar pidXproductreg.tDtpid.&alueL
&ar pnameXproductreg.tDtpname.&alueL
&ar %uantitXproductreg.tDt%uantit.&alueL
&ar rele&elXproductreg.tDtrele&el.&alueL
Industrial project 2
2*(
E-commerce
&ar priceXproductreg.tDtprice.&alueL
&ar compannameXproductreg.tDtcompanname.&alueL
&ar contactnameXproductreg.tDtcontactname.&alueL
&ar 0eredaXproductreg.tDt0ereda.&alueL
&ar hnoXproductreg.tDthno.&alueL
&ar 6e1eleXproductreg.tDt6e1ele.&alueL
&ar emailXproductreg.tDtemail.&alueL
&ar eDpdateXproductreg.tDteDpdate.&alueL

&ar su1citXproductreg.tDtsu1cit.&alueL
&ar characterX[.aracters onl[L
&ar numX[:um1ers onl please[L
if@@pidXX]]Abb@pnameXX]]Abb@%uantitXX]]Abb@rele&elXX]]Abb@priceXX]]Abb@compannameXX]]Abb
@contactnameXX]]Abb@0eredaXX]]Abb@hnoXX]]Abb@6e1eleXX]]Abb@emailXX]]Abb@eDpdateXX]]Abb@su1citXX]]AA
P
alert@[Fill all re%uired fields[AL
if@pidXX]]A
productreg.tDtpid.focus@AL
else if @pnameXX]]A
productreg.tDtpname.focus@AL
else if@%uantitXX]]A
productreg.tDt%uantit.focus@AL
else if@rele&elXX]]A
productreg.tDtrele&el.focus@AL
else if@priceXX]]A
productreg.tDtprice.focus@AL
else if@compannameXX]]A
productreg.tDtcompanname.focus@AL
else if@contactnameXX]]A
productreg.tDtcontactname.focus@AL
else if@0eredaXX]]A
Industrial project 2
2*)
E-commerce
productreg.tDt0ereda.focus@AL
else if@6e1eleXX]]A
productreg.tDt6e1ele.focus@AL
else if@hnoXX]]A
productreg.tDthno.focus@AL
else if@emailXX]]A
productreg.tDtemail.focus@AL
else if@eDpdateXX]]A
productreg.tDteDpdate.focus@AL
else if@posteddateXX]]A
productreg.tDtposteddate.focus@AL
return falseL
Q
elseP
if@`pname.match@alphaEDpAA
P
alert@characterAL
return falseL
Q
if@`%uantit.match@numericEDpressionAAP
alert@numAL
return falseL
Q
if@`rele&el.match@numericEDpressionAAP
alert@numAL
return falseL
Q
if@`price.match@priceEDpressionAAP
alert@numAL
return falseL
Q
Industrial project 2
2$,
E-commerce
if@`contactname.match@alphaEDpAA
P
alert@characterAL
return falseL
Q
if@`0ereda.match@numericEDpressionAAP
alert@numAL
return falseL
Q
if@`6e1ele.match@numericEDpressionAAP
alert@numAL
return falseL
Q
if@`email.match@emailEDpAA
P
alert@[:ot a &alid e-mail[AL
return falseL
Q
if@`eDpdate.match@dateEDpressionAA
P
alert@[=ou can onl use num1ers or B[AL
return falseL
Q
if@`su1cit.match@alphaEDpAA
P
alert@characterAL
return falseL
Q
return trueL

Q
Q
Industrial project 2
2$1
E-commerce
%eport on Order
UV
sessionCstart@AL
o1Cstart@AL
include @]header.inc]AL
VR
U`-- center 1od--R
U53 0idthX[1,,F[ &+lignXtop 1ordercolorX[\FF,,,,[R
Up alignX[left[R Uimg srcX[..Becommerceproject11BhomeCfilesBorderlisting.gif[ 0idthX[2''[
heightX[2,[ R
Uimg srcX[..Becommerceproject11BhomeCfilesB1ar2.gif[ altX[1ar[ 0idthX["),[ heightX['[
alignX[center[RUform nameX[form3[ methodX[post[ actionX[listorders.php[R
Uta1le 0idthX[3)"[ heightX[)'[ 1orderX[3[ alignX[left[ 1ordercolorX[\33$$))[R
UtrR
Utd 0idthX[)1[ heightX[")[ &alignX[top[R9rders From UBtdR
Utd 0idthX[13,[ &alignX[top[R
UpR
Uinput nameX[tDtordfr[ tpeX[teDt[ siEeX[12[ &alueX[UV echo getdate@AVR[R
UBpR UBtdR
Utd 0idthX[1"'[ &alignX[top[R9rders 5ill
Uinput nameX[tDtordtill[ tpeX[teDt[ siEeX[12[RUBtdR
UBtrR
UtrR
Utd colspanX[3[ &alignX[top[R

#earch
Industrial project 2
2$2
E-commerce
Uinput nameX[tDtsearch[ tpeX[teDt[ siEeX[1*[R
Uselect nameX[cm1tpe[R
UoptionR9rder IdUBoptionR
UoptionR:ameUBoptionR
UBselectR
Ua hrefX[listall.php[R4ist +ll 9rdersUBaRUBtdR
UBtrR
UBta1leR
UpRUa hrefX[0e1home.php[R-ac6 5o 2enuUBaR UBpR
UpR
Uinput nameX[toda2[ tpeX[su1mit[ classX[search[ &alueX[pre&ie0[ alignX[center[R
U1rR
UBpR
Up alignX[center[R_n1spLUBpR
UBformR



Uta1le 1orderX2R
UtrR
Utd 0idthX[11F[ heightX[1)[ 1ordercolorX[\,,))FF[ classX[caption[R9rder 3ateUBtdR
Utd 0idthX[11F[ heightX[1)[ classX[caption[R9rder Id UBtdR
Utd 0idthX[11F[ heightX[1)[ classX[caption[R!roduct :ameUBtdR
Utd 0idthX[13F[ heightX[1)[ classX[caption[RUnit !riceUBtdR
Utd 0idthX[1*F[ heightX[1)[ classX[caption[R9rder JuantitUBtdR
Utd 0idthX[12F[ heightX[1)[ classX[caption[R5otal 9rderUBtdR
Utd 0idthX[1$F[ heightX[1)[ classX[caption[R!repament UBtdR
UBtrR
UV
Industrial project 2
2$3
E-commerce
if@tDtordtill`X[[ __ tDtordfr`X[[ __ tDtsearch`X[[A
P
WstX date@WtDtordfrAL
echo WstL
WsXselect%uer@[selectI from .9rder I::E/ ;9I: 9rder3etail 9: .9rder.9rderId X
9rder3etail.9rderId
;oin !roduct 9: !roduct.!IdX9rder3etail.!Id
;oin .ustomer 9: .ustomer..IdX.9rder..Id
0here .ustomer..IdX]WtDtsearch] +nd .9rder.9rder3ateX][.
Wst.[][ALBB +:3 9rder3ateUX
BB]Wordtill][ AL
echo ms%lCnumCro0s@WsAL
if @ms%lCnumCro0s@WsAXX,A
echo [UBta1leRU1rR:9 9rder Information FoundUBta1leR[ L
else
P
echo ms%lCnumCro0s@WsAL
0hile@WrecXms%lCfetchCarra@WsAA
P
Wr1XWrecY]9rder3ate]ZL
Wr2 XWrecY]9rderId]ZL
Wr3 XWrecY]!:ame]ZL
Wr" XWrecY]9U!rice]ZL
Wr* XWrecY]9Juantit]ZL
Wr$ XWrecY]95otal]ZL
Wr' XWrecY]!repament]ZL
echo [UtrRUtdRWr1UBtdR
UtdRWr2UBtdR
UtdRWr3UBtdR
UtdRWr"UBtdR
UtdRWr*UBtdR
UtdRWr$UBtdR
Industrial project 2
2$"
E-commerce
UtdRWr'UBtdRUBtrR[L
Q
echo [UBta1leR[L
Q Q
BBinclude@]module.php]AL
if @WtDtsearch`X[[A
P
WsXselect%uer@[selectI from .9rder I::E/ ;9I: 9rder3etail 9: .9rder.9rderId X
9rder3etail.9rderId
;oin !roduct 9: !roduct.!IdX9rder3etail.!Id
;oin .ustomer 9: .ustomer..IdX.9rder..Id
0here .ustomer..IdX]Wcid][AL
if @ms%lCnumCro0s@WsAXX,A
echo [UBta1leRU1rR:9 9rder Information FoundUBta1leR[ L
else
P
BBecho ms%lCnumCro0s@WsAL
0hile@WrecXms%lCfetchCarra@WsAA
P
Wr1XWrecY]9rder3ate]ZL
Wr2 XWrecY]9rderId]ZL
Wr3 XWrecY]!:ame]ZL
Wr" XWrecY]9U!rice]ZL
Wr* XWrecY]9Juantit]ZL
Wr$ XWrecY]95otal]ZL
Wr' XWrecY]!repament]ZL
echo [UtrRUtdRWr1UBtdR
UtdRWr2UBtdR
UtdRWr3UBtdR
UtdRWr"UBtdR
UtdRWr*UBtdR
Industrial project 2
2$*
E-commerce
UtdRWr$UBtdR
UtdRWr'UBtdRUBtrR[L
Q
echo [UBta1leR[L
Q
Q
else
P
BBecho [Wcm1tpe[L
if@Wcm1tpeXX[:ame[A
P
WsXselect%uer@[selectI from .9rder I::E/ ;9I: 9rder3etail 9: .9rder.9rderId X
9rder3etail.9rderId
;oin !roduct 9: !roduct.!IdX9rder3etail.!Id
;oin .ustomer 9: .ustomer..IdX.9rder..Id
0here .ustomer.F:ameX]WtDtsearch][AL
BBecho ms%lCnumCro0s@WsAL
if @ms%lCnumCro0s@WsAXX,A
echo [UBta1leRU1rR:o 9rder Information Found[ L
else
P
0hile@WrecXms%lCfetchCarra@WsAA
P
Wr1XWrecY]9rder3ate]ZL
Wr2 XWrecY]9rderId]ZL
Wr3 XWrecY]!:ame]ZL
Wr" XWrecY]9U!rice]ZL
Wr* XWrecY]9Juantit]ZL
Wr$ XWrecY]95otal]ZL
Wr' XWrecY]!repament]ZL
echo [UtrRUtdRWr1UBtdR
Industrial project 2
2$$
E-commerce
UtdRWr2UBtdR
UtdRWr3UBtdR
UtdRWr"UBtdR
UtdRWr*UBtdR
UtdRWr$UBtdR
UtdRWr'UBtdRUBtrR[L
Q
echo [UBta1leR[L
Q
Q
else if@Wcm1tpeXX[9rder Id[A
P
WsXselect%uer@[selectI from .9rder I::E/ ;9I: 9rder3etail 9: .9rder.9rderId X
9rder3etail.9rderId
;oin !roduct 9: !roduct.!IdX9rder3etail.!Id
;oin .ustomer 9: .ustomer..IdX.9rder..Id
0here .9rder.9rderIdX]WtDtsearch][AL
BBecho ms%lCnumCro0s@WsAL
if @ms%lCnumCro0s@WsAXX,A
echo [UBta1leRU1rR:9 2atching 9rder Information found[ L
else
P
0hile@WrecXms%lCfetchCarra@WsAA
P
Wr1XWrecY]9rder3ate]ZL
Wr2 XWrecY]9rderId]ZL
Wr3 XWrecY]!:ame]ZL
Wr" XWrecY]9U!rice]ZL
Wr* XWrecY]9Juantit]ZL
Wr$ XWrecY]95otal]ZL
Wr' XWrecY]!repament]ZL
echo [UtrRUtdRWr1UBtdR
Industrial project 2
2$'
E-commerce
UtdRWr2UBtdR
UtdRWr3UBtdR
UtdRWr"UBtdR
UtdRWr*UBtdR
UtdRWr$UBtdR
UtdRWr'UBtdR
UtdRUa hrefX^[cancelorder.phpV
9IdXWr2^[R.ancelUBaRUBtdRUBtrR[L
Q

Q
echo [UBta1leR[L
Q
BBinclude @]ne0s.inc]AL
VR
Industrial project 2
2$(

Вам также может понравиться