backbone v05092011_

Upload: giang-le-ngoc

Post on 05-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Backbone v05092011_

    1/84

    Trng i Hc Bch Khoa H Ni

    Vin Cng Ngh Thng Tin & Truyn Thng

    ------------ ------------

    Xy dng H thng chia s Ti liu hc tptheo m hnh phn tn

    Ging Vin Hng Dn: Ts. Cao Tun Dng

    Nhm 03:Phm Vit H 20070963H Vn Hin 20071071L Th Bch Thun 20073837Nguyn Minh Tuyn 20073251

    inh Anh Tun 20073132Lp: CNPM-K52

    H Ni, 04-2011

  • 8/2/2019 Backbone v05092011_

    2/84

    Chia s Ti liu hc tp phn tn

    Mc lc

    Mc lc ................................................................................................................................... 2M hnh Thng i p publish/subscribe ................................................................. 51

    M hnh ci t JMS API ....................................................................................... 52

    I. t vn

    1. Gii thiu bi ton

    Xy dng H thng chia s ti liu hc tp phn tn. H thng gm

    mt trung tm iu khin-Server, v cc ng dng trn my ca Sinh vin-

    Client.

    Client: ng l ln Server cc th mc, file mun chia s

    Client c th xem danh sch cc th mc c chia s, mi th mc

    bit c ai ang download, ai ang chia s

    Client c th download cc file, th mc m ngi khc chia s trn

    server. Khi , client s lin h vi tt c cc client c d liu tng ng

    trao i

    Nhm 03- Lp Cng ngh Phn mm K52Page 2

  • 8/2/2019 Backbone v05092011_

    3/84

    Chia s Ti liu hc tp phn tn

    Server qun l thng tin cc client, cc file chia s

    2. L do chn ti

    Khi bn g mt t kha tm kim vo Google, s c rt rt nhiu ktqu tm thy. Vy kt qu no trong s l th m bn cn? Trong hc tp,

    c bit bao Ti liu bn mun tham kho. C bit bao kin thc bn mun

    tm kim. V cng c khng t Ti liu bn c m mun chia s. Bn gp rc

    ri khi khng bit s chn Ti liu no? Vy gii php cho bn l g?

    S c ngi cho rng s lp mt din n, hay mng x hi chia s Ti

    liu. cng l mt cch hay. Mi ngi, ai cng c th tm kim Ti liumt cch chn lc hn, c hng dn, c chia s.

    Ring vi nhm em, chn ti Chia s Ti liu hc tp. Bi ti

    ny c ng dng thc t, gii quyt mt vn cng rt thc t: ngi c

    Ti liu mun chia s cho ngi khc mt cch thoi mi, ngi tm kim

    Ti liu cng nh hng c rng mnh mun tm kim ci g.

    ti Chia s Ti liu hc tp c li ch hng ti cng ng, nhng

    cng hng ti bn thn mi ngi c Ti liu chia s. Bi l, Ti liu hc

    tp l vn rt quan trng. Mi chng ta trong cuc i u khng ngng

    hc tp. Mt vn s c nhiu cch gii quyt. Thay v c hng ngn, thm

    ch l hng triu kt qu truy vn khi bn dng Google. Nhng n vi ng

    dng Chia s Ti liu hc tp, con s c thu ngn li, v nhiu khi, kt

    qu m chng ta tm c l duy nht. Khng ch download c Ti liu

    cn thit, chng ta c th bit thm c mt s thng tin hu ch do ch

    nhn ca Ti liu m t, gip chng ta nh hnh tt hn trong vic xem xt

    c nn s dng Ti liu ny hay khng.

    Nhm 03- Lp Cng ngh Phn mm K52Page 3

  • 8/2/2019 Backbone v05092011_

    4/84

    Chia s Ti liu hc tp phn tn

    Trc vn thit thc nh vy, nhm 03 chng em quyt nh chn

    ti Chia s Ti liu hc tp phn tn.

    3. Cng ngh s dng

    Nhm s dng cng ngh JMS (c m t chi tit mc di y)

    II. Bng t in thut ng v t vit tt

    STT T vit tt,

    thut ng

    M t

    1

    .

    H thng Cc thao tc ca Client v Server, trong sut i vi User

    2

    .

    TT Vit tt ca t Thng tin

    3

    .

    CSDL Vit tt ca t C s D liu

    4

    .

    User Cc thnh vin tham gia vo H thng

    5

    .

    Admin Ngi qun l H thng, c cc quyn thm, sa, xa

    thnh vin, qun l thng tin cc thnh vin

    6

    .

    Ngi s dng Ngi dng H thng, bao gm Admin v User

    7 Member Ngi s dng H thng nhng ng nhp vo H

    Nhm 03- Lp Cng ngh Phn mm K52Page 4

  • 8/2/2019 Backbone v05092011_

    5/84

    Chia s Ti liu hc tp phn tn

    thng thnh cng

    III. M t H thng

    1. Yu cu chc nng

    1.1. ng k thnh vin

    - ngha: cung cp chc nng ng k thnh vin H thng

    - Quy trnh hot ng:

    Ngi s dng in thng tin vo form ng k thnh vin.

    H thng tin hnh kim tra thng tin ng k. Nu thng tin hp

    l, H thng lu thng tin ng k v thng bo ng k thnh

    cng; nu khng thng bo ng k b li

    1.2. ng nhp H thng

    - ngha: Cho php thnh vin ng k ng nhp vo H thng

    - Quy trnh hot ng:

    Ngi s dng nhp Account v ting hnh ng nhp vo H

    thng

    H thng kim tra tnh hp l ca account. Nu account hp l tin

    hnh ng nhp, nu khng th t chi vic ng nhp

    1.3. Chia s d liu

    - ngha: L mt trong hai chc nng quan trng nht ca H thng.

    Chc nng ny cho php ngi s dng chia s Ti liu.

    - Quy trnh hot ng:

    Nhm 03- Lp Cng ngh Phn mm K52Page 5

  • 8/2/2019 Backbone v05092011_

    6/84

    Chia s Ti liu hc tp phn tn

    Ngi s dng la chn ng dn n file cn chia s.

    Ngi s dng vit m t ngn gn cho file mun chia s.

    Ngi s dng c th hy b chia s file.

    Khi 1 file c nh du chia s: Client t ng lu 1 bn sao

    ca file cn chia s v gi Thng ip cha thng tin ca file v

    Server. Server tin hnh x l (cp cho file 1 ID) v a thng

    tin ca file vo CSDL

    Khi 1 file b hy chia s: Client t ng xa file trong th mc

    lu tr file ca H thng (my ca users) v gi Thng ip hy

    b chia s vi file tng ng v Server. Server tin hnh x l v

    xa thng tin v file khi CSDL

    1.4. Download d liu

    - ngha: l mt trong hai chc nng quan trng nht ca H thng.

    Chc nng ny gip ngi s dng download file.

    - Quy trnh hot ng:

    Ngi s dng dng danh sch cc file ang c chia s do

    Server cung cp hoc tin hnh tm kim Ti liu mun download.

    Ngi s dng tin hnh download.

    File download v my s c Client t ng lu trong th

    mc c nh. Ngi s dng c th ty chnh th mc c nh ny

    theo mun.

    1.5. Qun l thng tin

    Nhm 03- Lp Cng ngh Phn mm K52Page 6

  • 8/2/2019 Backbone v05092011_

    7/84

    Chia s Ti liu hc tp phn tn

    - Pha client: H thng hin th cho ngi dung thy danh sch nhng

    file ang c chia s, mi file s i km nhng thng tin c th: file

    do ai chia s, ai ang download file .

    - Pha server:

    Qun l danh sch thnh vin (client), mi thnh vin u phi c

    nhng thng tin: ID, files chia s, file download

    Qun l danh sch cc file c chia s, cc file ang c

    download, mi file u bao gm cc thng tin: file do ai chia s, ai

    ang download

    2. Yu cu phi chc nng

    2.1. Yu cu v tnh kh chuyn

    - Khi mang Phn mm sang ci t mi trng khc (H iu

    hnh khc, server khc, phn cng khc), th Phn mm phi c kh

    nng thch nghi c vi mi trng , c kh nng ci t c

    trn mi trng .

    2.2. Tnh trong sut ca H thng

    o Trong sut truy cp (che giu s khc bit v cch biu din v

    cch truy cp ti nguyn)

    o Trong sut v v tr (che giu v tr ca ti nguyn.)

    o Trong sut di tr (che giu kh nng chuyn v tr ca ti

    nguyn)

    Nhm 03- Lp Cng ngh Phn mm K52Page 7

  • 8/2/2019 Backbone v05092011_

    8/84

    Chia s Ti liu hc tp phn tn

    o Trong sut v vic nh v li (che giu vic di chuyn ca ti

    nguyn khi ang c s dng)

    o Trong sut trong nhn bn (che giu tnh trng s dng bn sao

    ca ti nguyn)

    o Che giu s chia s ti nguyn tng tranh ()

    o Trong sut s c (che giu li H thng nu c)

    o Trong sut kh nng gi chuyn ti nguyn (che giu vic di

    chuyn ti nguyn t b nh ngoi vo b nh trong v ngc li)

    2.3. Yu cu v hiu nng

    - Ngi dng khi s dng ng dng thy cc thao tc c thc hin

    gn nh ngay lp tc, nu phi ch th khng qu 4s.Thi gian

    download th ty thuc kch thc file

    2.4. Yu cu v tnh tin cy

    - Kh nng xy ra li nh.

    - Thi gian phc hi sau li nh

    2.5. Yu cu s dng

    - Phn mm d s dng, d hiu, d thao tc

    - Khng c qu nhiu thao tc khin ngi s dng phi thc hin

    2.6. Yu cu chuyn giao

    - Khi chuyn giao n ngi s dng, Phn mm c ng gi.

    Nhm 03- Lp Cng ngh Phn mm K52Page 8

  • 8/2/2019 Backbone v05092011_

    9/84

    Chia s Ti liu hc tp phn tn

    2.7. Yu cu ci t

    - Phn mm c ng gi, ngi s dng khng phi thc hin cc

    thao tc qu phc tp.

    - Ngi s dng ch vic thc hin ci t Phn mm nh i vi bt k

    Phn mm no khc.

    2.8. Yu cu ring t

    - Mi thng tin v ngi s dng c bo m, v ngi ngoi khng

    th c hnh ng g sa i nhng thng tin ny.

    - Ngi s dng khng b lm phin bi cc hot ng chia s hay

    download Ti liu.

    2.9. Yu cu an ton

    - H thng m bo rng mi thng tin ca ngi s dng u c an

    ton.

    - Cc d liu m ngi s dng chia s u khng b xm phm, khng

    b mt (tr khi do chnh tay ngi s dng xa Ti liu ).

    2.10. Yu cu hp qui tc

    - Phn mm c xy dng ng qui tc, t khu c t yu cu, n

    khu phn tch thit k H thng, khu ci t, kim th v bo tr.

    - Phn mm c xy dng mt cch hp l, khng o code hay Copy

    t bt k H thng c sn no.

    Nhm 03- Lp Cng ngh Phn mm K52Page 9

  • 8/2/2019 Backbone v05092011_

    10/84

    Chia s Ti liu hc tp phn tn

    3. Giao din v chc nng m t trn giao din

    3.1. Giao din pha ngi dng

    3.1.1. Giao din ng nhp

    Nhm 03- Lp Cng ngh Phn mm K52Page 10

  • 8/2/2019 Backbone v05092011_

    11/84

    Chia s Ti liu hc tp phn tn

    3.1.2. Giao din ng k thnh vin:

    Nhm 03- Lp Cng ngh Phn mm K52Page 11

  • 8/2/2019 Backbone v05092011_

    12/84

    Chia s Ti liu hc tp phn tn

    3.1.3. Giao din chia s file

    Nhm 03- Lp Cng ngh Phn mm K52Page 12

  • 8/2/2019 Backbone v05092011_

    13/84

    Chia s Ti liu hc tp phn tn

    Giao din chia s file gm nhng thnh phn chnh sau:

    - Danh sch cc file c chia s bi ngi s dng: l mt bng

    bao gm ID, tn, nh dng, kch thc v s ln c download ca

    cc file ang c ngi s dng chia s.

    - Danh sch Whos dowloading: khi click vo mt file trong danh

    sch cc file ang c chia s, tn ca nhng user ang download

    file s hin ln trong khung Whos downloading.

    - Button Browse: dng chn ng dn n file mun chia s.

    Button Share: Click thc hin chia s file chn.

    Nhm 03- Lp Cng ngh Phn mm K52Page 13

  • 8/2/2019 Backbone v05092011_

    14/84

    Chia s Ti liu hc tp phn tn

    - Name, Category, Description: sau khi chn file mun chia s, ngi

    dng bt buc phi vit tn ca file vo khung Name, chn danh

    mc cho file khung Category v vit m t ngn gn cho file vo

    khung Description.

    - Label Count pha di danh sch cc file ang c share: th hin

    tng s file ang c chia s bi ngi dng.

    - Label Count pha di khung Whos downloading: th hin tng s

    user ang download file c chn.

    - Button Signout: click thc hin ng xut khi h thng.

    3.1.4. Giao din download file.

    Nhm 03- Lp Cng ngh Phn mm K52Page 14

  • 8/2/2019 Backbone v05092011_

    15/84

    Chia s Ti liu hc tp phn tn

    Giao din download file gm nhng thnh phn chnh sau:

    - Danh sch cc file ang c tt c nhng ngi dng khc chia s: l

    mt bng gm ID, tn, nh dng, kch thc, s ln c download

    v tn user chia s file .

    - Danh sch Whos downloading: khi chn mt file trong danh schnhng file ang c chia s trn, tn nhng ngi download file

    s hin ln trong khung Whos downloading.

    - Name, Description: khi chn mt file trong danh sch cc file ang

    c chia s, tn v m t ngn gn ca file s hin ln trong

    khung Name v Description.

    - Button Download: ngi dng click thc hin vic download file

    mnh mun. Khi n Download, h thng s cho ngi dng chn

    ng dn lu file.

    - Label Count pha di danh sch cc file ang c chia s: th hin

    tng s file ang c chia s.

    - Label Count pha di khung Whos downloading: th hin tng sngi ang download file c chn.

    - Button Signout: click ng xut khi h thng.

    Nhm 03- Lp Cng ngh Phn mm K52Page 15

  • 8/2/2019 Backbone v05092011_

    16/84

    Chia s Ti liu hc tp phn tn

    3.2. Giao din pha ngi qun tr h thng

    3.2.1. Giao din ng nhp h thng qun tr

    Nhm 03- Lp Cng ngh Phn mm K52Page 16

  • 8/2/2019 Backbone v05092011_

    17/84

    Chia s Ti liu hc tp phn tn

    Nhm 03- Lp Cng ngh Phn mm K52Page 17

  • 8/2/2019 Backbone v05092011_

    18/84

    Chia s Ti liu hc tp phn tn

    3.2.2. Giao din qun l thnh vin

    Giao din qun l Thnh vin gm nhng thnh phn chnh sau:

    - Danh sch cc Thnh vin ca H thng: l mt bng gm Username,

    Password, s Ti liu chia s v s Ti liu download.

    Nhm 03- Lp Cng ngh Phn mm K52Page 18

  • 8/2/2019 Backbone v05092011_

    19/84

    Chia s Ti liu hc tp phn tn

    - mc count:3, l ni Admin qun l vic thm, sa, xa Thnh vin.

    Button New l thm mi thnh vin. Button Delete l xa

    Thnh vin. Button Refresh l Refresh. Button Save l ghi li

    thng tin mi thao tc.

    - Button Signout: click ng xut khi h thng.

    3.2.3. Giao din qun l danh mc file

    Giao din Qun l danh mc file gm nhng thnh phn chnh sau:

    Nhm 03- Lp Cng ngh Phn mm K52Page 19

  • 8/2/2019 Backbone v05092011_

    20/84

    Chia s Ti liu hc tp phn tn

    - Danh sch cc file c trong H thng m c ngi s dng ng

    k chia s: l mt bng gm ID, tn Th loi danh mc.

    - Category: c cc chc nng thm, sa, xa

    - Button New: thm mi file/folder vo Category.

    - Button Delete: xa file/folder trong Category

    - Button Save: ghi li thao tc va thc hin

    - Button Signout: click ng xut khi h thng.

    3.2.4. Giao din qun l Download

    Nhm 03- Lp Cng ngh Phn mm K52Page 20

  • 8/2/2019 Backbone v05092011_

    21/84

    Chia s Ti liu hc tp phn tn

    Giao din Qun l download file gm nhng thnh phn chnh sau:

    - Danh sch cc user ang Download, v danh sch file ang c

    ngi dng khc Download: l mt bng gm tn ngi s dng

    mun download file, ID ca Ti liu, Tn Ti liu.

    - Button Signout: click ng xut khi h thng.

    3.2.5. Giao din qun l File

    Nhm 03- Lp Cng ngh Phn mm K52Page 21

  • 8/2/2019 Backbone v05092011_

    22/84

    Chia s Ti liu hc tp phn tn

    Giao din Qun l file gm nhng thnh phn chnh sau:

    - Danh sch cc file c trong H thng c ng k ln bi ngi

    s dng: l mt bng gm ID, tn File, nh dng File, kch thc

    File,danh mc cha File, m t File, tn ngi ch ca File v t l

    Download.

    - Count: 6, l ni Admin c th thm, hay xa cc thng tin v

    File. Gm:

    o Document Name: tn ca Ti liu

    o Document Type: nh dng ca Ti liu (.doc, pdf, txt)

    o Danh mc cha Ti liu

    o Description: m t cho Ti liu

    Nhm 03- Lp Cng ngh Phn mm K52Page 22

  • 8/2/2019 Backbone v05092011_

    23/84

    Chia s Ti liu hc tp phn tn

    - Button New: ngi dng click thc hin vic thm mi Ti liu.

    - Button Signout: click ng xut khi h thng.

    4. Use case

    Actor ca H thng: Admin, User

    Nhm 03- Lp Cng ngh Phn mm K52Page 23

  • 8/2/2019 Backbone v05092011_

    24/84

    Chia s Ti liu hc tp phn tn

    4.1. ng k thnh vin

    4.1.1. Biu hot ng

    4.1.2. Biu giao tip

    Nhm 03- Lp Cng ngh Phn mm K52Page 24

  • 8/2/2019 Backbone v05092011_

    25/84

    Chia s Ti liu hc tp phn tn

    4.1.3. M t chi tit

    User System

    1. Ngi s dng

    tin hnh ng k

    2. H thng Hin th mc Gii thiu v cc

    iu l. Ch khi ngi s dng ng vi cc

    iu l ny th mi c tip tc thc hin cng

    vic ng k thnh vin

    3. Ngi s dng

    sau khi chp nhn

    iu l, bt u in

    thng tin cn thit m

    H thng yu cu

    4. H thng tin hnh vic kim tra tnh hp l

    ca Thng tin m ngi s dng nhp vo

    4.1.Nu thng tin ngi s dng nhp

    vo khng hp l, H thng s a ra

    thng bo ngi s dng bit. ngthi yu cu ngi s dng nhp li thng

    tin nhng ni cha hp l.

    4.2.Nu thng tin ngi s dng nhp

    vo hp l. H thng s a ra thng bo

    Nhm 03- Lp Cng ngh Phn mm K52Page 25

  • 8/2/2019 Backbone v05092011_

    26/84

    Chia s Ti liu hc tp phn tn

    Vic ng k thnh cng

    5. Khi ngi s dng ng k thnh cng,

    H thng cp nht ngi s dng lm thnh

    vin mi

    4.1.4. Alternative FLow (Lung pht sinh ngoi l)

    - Ngi dng nhp k t khng hp l vo trong Form ng k:

    o Nhp k t *, ,&,! trong password.

    o Nhp hai hoc nhiu hn hai k t @ trong E-mail

    o Password nhp vo t hn 6 k t

    o B trng, khng nhp vo c k hiu bt buc phi

    nhp thng tin (v d: username, pasword).

    H thng s nhc nh ngi s dng, v d: in thng tin cn thiuvo, hay username, password cha hp l.

    - Lc ng k, ngi s dng chn username tn ti:

    H thng s check v nhc nh ngi s dng, ng thi yu cu

    ngi s dng chn username khc

    4.2. Sa Thng tin thnh vin

    4.2.1. Biu hot ng

    Nhm 03- Lp Cng ngh Phn mm K52Page 26

  • 8/2/2019 Backbone v05092011_

    27/84

    Chia s Ti liu hc tp phn tn

    4.2.2. Biu giao tip

    Nhm 03- Lp Cng ngh Phn mm K52Page 27

  • 8/2/2019 Backbone v05092011_

    28/84

    Chia s Ti liu hc tp phn tn

    4.2.3. M t chi tit

    User System

    1. Ngi s dng ng

    nhp vo H thng, chn

    chc nng Sa thng tin

    thnh vin

    2. H thng hin th Thng tin hin ti

    ca ngi s dng (Member) .

    3. Member nhp cc

    thng tin chnh sa vo

    4. H thng tin hnh vic kim tra tnh

    hp l ca Thng tin m Member mi

    chnh sa

    4.1. Nu thng tin m Member nhp vo

    khng hp l, H thng s a ra

    thng bo li, ng thi yu cu

    Member nhp li thng tin nhng

    Nhm 03- Lp Cng ngh Phn mm K52Page 28

  • 8/2/2019 Backbone v05092011_

    29/84

    Chia s Ti liu hc tp phn tn

    ni cha hp l.

    4.2. Nu thng tin m Member nhp vo

    hp l, H thng s tin hnh cp

    nht Thng tin m Member mi

    chnh sa vo CSDL

    4.2.4. Alternative FLow (Lung pht sinh ngoi l)

    - Member nhp k t khng hp l:

    o Nhp k t *, ,&,! trong password.

    o Nhp hai hoc nhiu hn hai k t @ trong E-mail

    o Password nhp vo t hn 6 k t

    o B trng, khng nhp vo c k hiu bt buc phi

    nhp thng tin (v d: pasword).

    H thng s nhc nh ngi s dng, v d: in thng tin

    cn thiu vo, hay password cha hp l.

    - H thng khng cho php Member sa username

    Nhm 03- Lp Cng ngh Phn mm K52Page 29

  • 8/2/2019 Backbone v05092011_

    30/84

    Chia s Ti liu hc tp phn tn

    4.3. Chia s Ti liu

    4.3.1. Biu hot ng

    4.3.2. Biu giao tip

    Nhm 03- Lp Cng ngh Phn mm K52Page 30

  • 8/2/2019 Backbone v05092011_

    31/84

    Chia s Ti liu hc tp phn tn

    4.3.3. M t chi tit

    User System

    1. Ngi s dng

    phi ng nhp vo

    H thng mi c

    quyn chia s Ti

    liu. Sau khi ng

    nhp thnh cng,

    Member chn

    File/Folder mun

    chia s

    2. H thng tin hnh kim tra tnh hp l

    ca File/Folder

    2.1. Nu File/Folder khng hp l, Hthng a ra thng bo cho Member

    bit.

    2.2. Nu File/Folder hp l

    3. Member vit M

    t cho Ti liu m

    mnh mun chia s.

    Ch rng cng vic

    ny l khng bt

    4. H thng tin hnh cp nht Thng tin m

    Member mi chia s

    5. H thng thng bo cho ngi dng bit

    rng vic chia s thnh cng

    Nhm 03- Lp Cng ngh Phn mm K52Page 31

  • 8/2/2019 Backbone v05092011_

    32/84

    Chia s Ti liu hc tp phn tn

    buc

    4.3.4. Alternative FLow (Lung pht sinh ngoi l)

    - Member chn Ti liu khng phi l Ti liu hc tp, m l

    phim nh, ca nhc, v thm ch c th l nhng tc phm i try

    - Folder ban u khi ng k chia s l hp l, nhng sau c

    Member thay i ni dung bn trong thnh Ti liu khng hp l

    (phim nh, ca nhc)

    - Member i ph bng cch vit nhng M t khng ng vi

    ni dung m mnh mun chia s (v d: ajshgeh, aghuhag) hoc

    vit nhng thng tin rt chung chung (v d: Ti liu ny rt b

    ch, Ti liu ny rt hay, mnh rt thch Ti liu ny)

    - ang kim tra tnh hp l ca File/Folder m Member mun

    chia s th kt ni b ngt.

    - File/Folder m Member chia s c tn trng vi tn File/Folder

    c trong CSDL ca H thng.

    4.4. Xem danh sch chia s

    4.4.1. Biu hot ng

    Nhm 03- Lp Cng ngh Phn mm K52Page 32

  • 8/2/2019 Backbone v05092011_

    33/84

    Chia s Ti liu hc tp phn tn

    4.4.2. Biu giao tip

    4.4.3. M t chi tit

    User System

    1. iu kin tin

    quyt: ngi s dng

    Nhm 03- Lp Cng ngh Phn mm K52Page 33

  • 8/2/2019 Backbone v05092011_

    34/84

    Chia s Ti liu hc tp phn tn

    ng nhp thnh

    cng vo H thng

    2. Ngi s dng

    tin hnh vic xemdanh sch chia s

    3. H thng hin th danh sch chia s

    4.4.4. Alternative FLow (Lung pht sinh ngoi l)

    - Tn ti File trong danh sch File chia s m File thc cht

    b ngi s dng xa i, hay di chuyn i ni khc

    4.5. Tm kim Ti liu

    4.5.1. Biu hot ng

    4.5.2. Biu giao tip

    Nhm 03- Lp Cng ngh Phn mm K52Page 34

  • 8/2/2019 Backbone v05092011_

    35/84

    Chia s Ti liu hc tp phn tn

    4.5.3. M t chi tit

    User System

    1. iu kin tin

    quyt: ngi s dng

    ng nhp thnh

    cng vo H thng

    2. Member tin

    hnh vic tm kim

    Ti liu: nhp thngtin tm kim

    3. H thng tin hnh vic kim tra tnh hp

    l ca Thng tin tm kim

    3.1. Nu Thng tin tm kim khng hp l,

    H thng bo li cho Member

    3.2. Nu thng tin tm kim hp l

    4. H thng tin hnh vic tm kim Thng

    Nhm 03- Lp Cng ngh Phn mm K52Page 35

  • 8/2/2019 Backbone v05092011_

    36/84

    Chia s Ti liu hc tp phn tn

    tin

    4.1. Nu khng tm thy Thng tin, H

    thng hin th Thng bo khng tm

    thy Thng tin cho Member

    4.2. Nu tm thy Thng tin, H thng hin

    th kt qu tm c cho Member

    4.5.4. Alternative FLow (Lung pht sinh ngoi l)

    - Member nhp Thng tin tm kim khng hp l (v d: hoctap,eebook)

    4.6. Download Ti liu

    4.6.1. Biu hot ng

    Nhm 03- Lp Cng ngh Phn mm K52Page 36

  • 8/2/2019 Backbone v05092011_

    37/84

    Chia s Ti liu hc tp phn tn

    4.6.2. Biu giao tip

    Nhm 03- Lp Cng ngh Phn mm K52Page 37

  • 8/2/2019 Backbone v05092011_

    38/84

    Chia s Ti liu hc tp phn tn

    4.6.3. M t chi tit

    User system1. iu kin tin

    quyt: ngi s dng

    ng nhp thnh

    cng vo H thng

    2. Member khi

    tm kim thnh cng

    Ti liu

    3. H thng hin th danh sch Ti liu hin

    c

    4. Member chn Ti

    liu cn Download

    5. Nu vic Download khng thnh cng,

    H thng hin th Thng bo cho Member

    rng vic Download tht bi

    6. Nu vic Download thnh cng, H thng

    hin th Thng bo cho Member bit rng

    vic Download thnh cng.

    4.6.4. Alternative Flow (Lung pht sinh ngoi l)

    - Nu ng dn ca file chia s b thay i hoc b xa, H

    thng s a ra thng bo File khng tn ti hay ng dn

    khng tn ti

    - ang Download d liu v th ng truyn b ngt (c th do

    rt mng), sau khi s c ngt c phc hi

    Nhm 03- Lp Cng ngh Phn mm K52Page 38

  • 8/2/2019 Backbone v05092011_

    39/84

    Chia s Ti liu hc tp phn tn

    o Kh nng 1: H thng thng bo cho Member c mun

    tip tc thc hin cng vic ang dang d hay khng.

    o Kh nng 2: Member s phi thc hin vic Download

    li t u.

    - Vi thao tc Download, iu g s xy ra khi th mc c nh

    my Client b xa? Bi l ta bit, H thng thng default mt th

    mc c nh, khi Download, cc file d liu s c lu ,

    v mi ty chnh sau ny l ngi s dng (di di sang th mc

    khc)

    - Member 1 mun Download d liu c my ca Member 2,

    nhng thi im my ca Member 2 cha bt, hoc Member

    2 c s dng my, nhng li khng bt phn mm chia s d liu?

    5. Design constraint

    - C chn bt cc ngoi l pht sinh v c cc ng x ph hp vi

    ngoi l

    - C s d liu c thit k m bo hiu nng

    - p dng mu kin trc phn tng, tng kh nng ti s dng v gip

    vic bo tr nng cp c d dng

    - m bo c truyn thng Thng ip bn vng v khng ng b

    - Dng MOM

    IV. Kin trc H thng

    1. S kin trc Logic

    Nhm 03- Lp Cng ngh Phn mm K52Page 39

  • 8/2/2019 Backbone v05092011_

    40/84

    Chia s Ti liu hc tp phn tn

    - H thng c xy dng theo mu kin trc phn tng v hng

    thnh phn gip d ti s dng

    - Application client gi n cc session bean yu cu cc dch v x

    l nh ng nhp, ng xut, tm kim

    - Cc session bean gi n cc entity bean yu cu cc m hnh d

    liu

    Cc entity bean c nh x ORM vi c s d liu quan h

    2. S kin trc Vt l

    Nhm 03- Lp Cng ngh Phn mm K52Page 40

  • 8/2/2019 Backbone v05092011_

    41/84

    Chia s Ti liu hc tp phn tn

    - H thng c trin khai trn nhiu my trong mng cc b

    - My trung tm cha Oracle Glassfish Application Server c h tr

    EJB, JMS.

    - C s d liu MySQL cng c t trn my trung tm

    - Cc my client cha cc ng dng chy trn JVM

    - Cc client gi n EJB qua giao thc RMI-IIOP

    - Cc client giao tip vi nhau qua JMS

    Nhm 03- Lp Cng ngh Phn mm K52Page 41

  • 8/2/2019 Backbone v05092011_

    42/84

    Chia s Ti liu hc tp phn tn

    V. M hnh, giao thc v thut ton truyn thng

    H thng chia s ti liu phn tn ca chng em p dng 2 m hnh truyn

    thng.

    - Triu gi phng thc t xa: cc client tng tc vi EJB (trong my

    trung tm) qua giao thc RMI-IIOP.

    - Trao i thng ip: s dng JMS trao i thng ip gia cc

    my client.

    1. M hnh triu gi phng thc t xa

    1.1. u im

    - D lp trnh

    1.2. Nhc im

    - Hnh thc truyn thng l ng b lm gii hn kh nng m

    rng ca h thng, cc my mun gi thng ip t xa phi bit khundng phng thc ca ng dng t xa

    2. M hnh trao i thng ip

    2.1. u im

    - Thng ip c kh nng lu tr, iu hng v bin i

    - Truyn thng ip cho php truyn thng phn tn. Mt thnh

    phn c th gi mt thng ip cho mt ch (destination), v bn

    nhn c th thu c thng ip ny t ch. Tuy nhin, bn gi v

    bn nhn khng cn sn sng cng lc truyn thng. Thc t, bn

    gi khng cn bit bt k iu g v bn nhn; hay bn nhn khng cn

    bit bt k iu g v bn gi. Bn gi v bn nhn ch cn bit khun

    Nhm 03- Lp Cng ngh Phn mm K52Page 42

  • 8/2/2019 Backbone v05092011_

    43/84

    Chia s Ti liu hc tp phn tn

    dng thng ip v ch (destination) s dng. Theo kha cnh ny,

    truyn thng ip khc vi cc cng ngh khc, nh Remote Method

    Invocation (RMI), RMI yu cu ng dng phi bit r cc phng

    thc ca ng dng xa.- Cho php truyn thng khng ng b

    - Cho php tr hon hoc t timeout, u tin cho cc thng

    ip

    2.2. Nhc im: lp trnh khng t nhin

    3. L do la chn

    - Nhm chng em chn phng php trao i bng thng ip linlc gia cc client vi nhau gip cho h thng d dng m rng, da

    vo s linh hot ca thng ip

    - Ring giao tip gia client v server chng em vn chn cch tip cn

    l RMI-IIOP ( chng em dng EJB) bi v u im d lp trnh ca n

    4. Thut ton s dng xy dng H thng

    Thut ton thc hin Download File

    Bc 1: My download gi Thng ip bao gm userID v

    documentID ca ngi dng v ti liu tng ng cn download cho my

    chia s ti liu , thng qua mt RequestQueue.Truyn thng y l

    khng ng b, bn vng.L do:

    - Khng ng b: khng bt ngi dng phi i my chia shot ng.

    - Bn vng: cho php ngi dng a ra yu cu download m

    khng cn phi bn tm xem my chia s c ang hot ng hay

    khng.Thng ip yu cu cui cng cng vn s n my chia s.

    Nhm 03- Lp Cng ngh Phn mm K52Page 43

  • 8/2/2019 Backbone v05092011_

    44/84

    Chia s Ti liu hc tp phn tn

    - Ghi ch: tuy nhin, nhm chng em cng xem xt gi tr

    TimeOut hy thng ip nu khng RequestQueue c th s b qu

    ti.

    Bc 2: My c chia s gi file c ng gi vo message gi licho my download qua mt FileQueue. Khi nhn c message s c

    chuyn thnh file. Tng t nh trn to s thun tin cho ngi dng

    cng nh s thch hp vi bi ton chia s ti liu gia cc my trong

    tnh trng hot ng bt tt c n l t do, nhm chng em chn cch truyn

    thng y l truyn thng khng ng b, bn vng.

    ng thi my chia s cng mang userID v documenntID m my

    download gi cho n qung b n cc my qua 1 Topic. Thng tin qung

    b y ch cho mt my ang hot ng c th bit c tnh hnh

    download ca cc my khc. V vy, nhm chng em chn cch truyn

    thng y l nht thi v khng ng b.

    Bc 3: Khi file c download xong, my chia s li qung b n

    tt c cc my cho bit vic download ca my download kt thc.

    Nhm chng em chn cch truyn thng nht thi v khng ng b (Tng

    t nh trn)

    Thut ton x l ng , tng tranh:

    trnh khi download, xy ra nhng s c v d nh ngi dng thay

    i v tr file, sa fille, xa file v.v Nhm chng em tm n gii php lto bn sao. File c download s c to 1 bn sao trnh vic ngi

    trn my chia s lm nh hng n vic download .

    Nhm 03- Lp Cng ngh Phn mm K52Page 44

  • 8/2/2019 Backbone v05092011_

    45/84

    Chia s Ti liu hc tp phn tn

    VI. Xy dng H thng

    1. Cng ngh s dng

    1.1. Truyn Thng ip l g

    Truyn Thng ip (messaging) l cch thc giao tip gia cc

    thnh phn phn mm hoc cc ng dng. Mt H thng truyn Thng

    ip l mt phng tin thng tin ngang hng (peer-to-peer): Mt my

    khch c th gi Thng ip i v nhn Thng ip v t bt k my

    khch no. Tng my khch kt ni ti mt i l (agent) cung cp cng

    c truyn thng to, gi, nhn v c Thng ip.

    Nhm 03- Lp Cng ngh Phn mm K52Page 45

  • 8/2/2019 Backbone v05092011_

    46/84

    Chia s Ti liu hc tp phn tn

    Minh ha: H thng truyn Thng ip

    Truyn Thng ip cho php truyn thng phn tn. Mt thnh phn c

    th gi mt Thng ip cho mt ch (destination), v bn nhn c th thu

    c Thng ip ny t ch. Tuy nhin, bn gi v bn nhn khng cn sn

    sng cng lc truyn thng. Thc t, bn gi khng cn bit bt k iu g

    v bn nhn; hay bn nhn khng cn bit bt k iu g v bn gi. Bn gi

    v bn nhn ch cn bit khun dng Thng ip v ch(destination) s

    dng. Theo kha cnh ny, truyn Thng ip khc vi cc cng ngh khc,

    nh Remote Method Invocation (RMI), RMI yu cu ng dng phi bit r

    cc phng thc ca ng dng xa.

    Nhm 03- Lp Cng ngh Phn mm K52Page 46

  • 8/2/2019 Backbone v05092011_

    47/84

    Chia s Ti liu hc tp phn tn

    Minh ha: Tnh c kt cht ca RMI

    1.2. JMS API

    - JMS cho php cc ng dng to, gi, nhn v c cc Thng ip,

    JMS API nh ngha mt tp nhng giao din v cc ng ngha lin

    quan chung cho php cc chng trnh vit bng Java truyn thng

    c vi nhau.

    - JMS API ti thiu ha cc khi nim m lp trnh vin phi hc c

    th s dng c cc sn phm truyn Thng ip nhng cung cp

    tnh nng h tr cc ng dng truyn Thng ip phc tp.

    - JMS API cho php truyn thng khng ch lin kt lng lo (loosely

    coupled) m cn:

    Nhm 03- Lp Cng ngh Phn mm K52Page 47

  • 8/2/2019 Backbone v05092011_

    48/84

    Chia s Ti liu hc tp phn tn

    - Khngngb: nh cung cp JMS c th phn pht Thng ip cho

    my khch khi c Thng ip; my khch khng cn yu cu cc

    Thng ip mi nhn c chng.

    - Tin cy: JMS API c th m bo mt Thng ip c phn pht

    mt v ch mt ln.

    1.3. Khi no s dng JMS API

    Nh cung cp ng dng s chn JMS thay v RPC trong cc trng hp

    sau:

    - Nh cung cp mun cc thnh phn khng ph thuc vo thng

    tin v giao din ca thnh phn khc, do vy cc thnh phn c th

    c thay th d dng.

    - Nh cung cp mun ng dng c th chy m khng cn mi

    thnh phn phi hot ng cng lc.

    - M hnh nghip v ng dng cho php mt thnh phn c thgi thng tin ti thnh phn khc v tip tc x l khng cn nhn

    phn hi ngay lp tc.

    1.4. Kin trc JMS API

    - JMS provider: l H thng truyn Thng ip ci t cc giao

    din JMS v cung cp cc tnh nng kimsotv quntr.

    - JMS clients: l cc chng trnh hoc cc thnh phn tora v

    xlcc Thng ip.

    Nhm 03- Lp Cng ngh Phn mm K52Page 48

  • 8/2/2019 Backbone v05092011_

    49/84

    Chia s Ti liu hc tp phn tn

    - Cc Thng ip (messages): l cc i tng mang thng tin

    trao i gia cc JMS clients.

    - Cc i tng c qun tr (administered objects) c cu

    hnh t ban u. l cc i tng JMS c to bi qun tr H

    thng cho clients s dng. C 2 loi i tng c qun tr l ch

    (destinations) v connection factories.

    - Native clients: khng s dng JMS API v c chnh sa

    tng thch vi JMS

    Minh ha: Kin trc JMS

    Minh ha 2.1 m t cch m cc b phn tng tc. Cc cng c qun

    tr cho php bn kt ni (bind) vi cc ch (destinations) v connection

    factories bn trong khng gian tn JNDI (Java Naming and DirectoryInterface) API. Mt JMS client c th tra cu (lookup) cc i tng

    qun l trong khng gian tn ri sau thit lp kt ni logic ti cc i

    tng ny thng qua JMS provider.

    Nhm 03- Lp Cng ngh Phn mm K52Page 49

  • 8/2/2019 Backbone v05092011_

    50/84

    Chia s Ti liu hc tp phn tn

    1.5. M hnh Thng ip

    1.5.1. M hnh Thng ip Point-to-Point

    Cc ng dng point-to-point xy dng quanh khi nim hng i,ngi gi, v ngi nhn. Tng Thng ip c nh a ch ti 1 hng

    i c th v cc khch nhn (receiving clients) ly cc Thng ip t

    hng i c to ra gi cc Thng ip ca ring n. Cc hng i s

    gi mi Thng ip c gi ti chng ti khi no cc Thng ip c

    x l hoc qu hn.

    Minh ha 2.2 truyn Thng ip point-to-point

    - Mi Thng ip ch c mt ngi nhn.

    - Ngi gi v ngi nhn Thng ip khng ph thuc thi

    im. Ngi nhn c th ly Thng ip d n c hot ng khi

    Thng ip c gi hay khng.

    - Ngi nhn xc nhn (ackowledges) x l thnh cng Thng

    ip.

    Nhm 03- Lp Cng ngh Phn mm K52Page 50

  • 8/2/2019 Backbone v05092011_

    51/84

    Chia s Ti liu hc tp phn tn

    o S dng PTP truyn Thng ip khi mi Thng ip bn gi i

    phi c x l thnh cng bi ngi nhn.

    M hnh Thng ip publish/subscribe

    y, cc clients nh a ch cc Thng ip ti mt topic. H thng

    quan tm ti vic phn pht cc Thng ip n t rt nhiu publishers

    v subscribers ca mt topic. Cc topics duy tr cc Thng ip ch ti

    khi Thng ip ti c vi subscribers.

    Truyn Thng ip pub/ sub c nhng c im sau:

    - Tng Thng ip c th c nhiu bn nhn.

    - Publisher v subscribers c ph thuc vo thi im (timing

    dependency). Subscribers ch c th x l cc Thng ip sau khi n

    ng k vi topic v subscribers phi tip tc hot ng khi ang x l

    Thng ip.

    Minh ha: m hnh pub/sub

    Nhm 03- Lp Cng ngh Phn mm K52Page 51

  • 8/2/2019 Backbone v05092011_

    52/84

    Chia s Ti liu hc tp phn tn

    M hnh ci t JMS API

    Cc thnh phn c bn ca mt ng dng JMS bo gm:

    Cc i tng c qun tr: connection factories v cc

    ch(destinations)

    - Sessions (Cc phin)

    - Message producers (gi Thng ip)

    - Message consumers(nhn Thng ip)

    - Messages (cc Thng ip)

    Minh ha: Cc thnh phn trong 1 ng dng JMS

    Nhm 03- Lp Cng ngh Phn mm K52Page 52

  • 8/2/2019 Backbone v05092011_

    53/84

    Chia s Ti liu hc tp phn tn

    1.5.2. Administered objects

    C 2 b phn ca mt ng dng JMS l cc ch v connection

    factories phi lun c duy tr kim sot. Vic qun l nhng i tng

    ny thc v nhng tc v qun tr khc nhau thay i t ngi provider

    ny ti provider khc.

    JMS clients truy cp vo nhng i tng ny thng qua giao din.

    Connection factories

    - Mt connection factory l mt i tng c client s dng

    to mt kt ni ti provider. Mt connectionfactory ng gi mt tp

    cc tham s cu hnh kt ni c nh ngha bi tn qun tr. Mi

    connection factory l mt th hin ca giao din

    QueueConnectionFactory hoc TopicConnectionFactory.

    - Bt u ca 1 ng dng JMS client, bn thng tin hnh tm

    kim connection factory.

    Destination

    - Mt ch l mt i tng c client s dng nh ni n ca

    Thng ip n to ra v ngun ca cc Thng ip n x l. Vi m

    hnh PTP, cc ch c gi l cc hng i cn trong m hnh

    pub/sub, cc ch c gi l topics.

    - Mt ng dng JMS c th s dng nhiu queues v topics.

    V d sau: Cc dng code sau biu din vic tra cu topic c to ra

    t trc l MyTopic v gn n cho mt i tng Topic.

    Nhm 03- Lp Cng ngh Phn mm K52Page 53

  • 8/2/2019 Backbone v05092011_

    54/84

    Chia s Ti liu hc tp phn tn

    Topic myTopic = (Topic) ctx.lookup("MyTopic");

    Dng code sau tra cu mt hng i c tn MyQueue v gn cho i

    tng Queue.

    Queue myQueue = (Queue) ctx.lookup("MyQueue");

    1.5.3. Connection

    Mt i tng connection ng gi trong n mt kt ni o ti mt

    JMS provider. Mt kt ni c th m t mt socket TCP/IP c m

    gia client v mt provider. Bn s dng session to ra mt hocnhiu sessions.

    Connections c 2 dng, ci t giao din QueueConnection hoc

    TopicConnection. V d khi bn c QueueConnectionFactory hoc

    TopicConnectionFactory, bn c th dng n to kt ni:

    QueueConnection queueConnection =

    queueConnectionFactory.createQueueConnection();

    TopicConnection topicConnection =

    topicConnectionFactory.createTopicConnection();

    Khi ng dng hon thnh, bn cn ng kt ni bn va to.

    Khng ng kt ni th s gy lng ph ti nguyn. ng kt ni cng

    ng sessions ca n v nhng bn gi v nhn Thng ip trong

    sessions

    queueConnection.close();

    topicConnection.close();

    Nhm 03- Lp Cng ngh Phn mm K52Page 54

  • 8/2/2019 Backbone v05092011_

    55/84

    Chia s Ti liu hc tp phn tn

    Trc khi ng dng c th x l Thng ip, bn phi gi phng thc

    start.

    Nu bn mun tm ngng phn pht Thng ip m khng cn

    ng kt ni bn c th gi phng thcstop.

    1.5.4. Session

    Mt session l mt bi cnh (context) n lung gi v nhn cc

    Thng ip. Bn s dng session to: ngi gi Thng ip, ngi

    nhn Thng ip, v Thng ip.

    Session ging nh connection c 2 dng, ci t giao din

    QueueSession hoc TopicSession .

    V d: nu bn to ra 1 i tng TopicConnection, hy dng n

    to ra TopicSession:

    TopicSession topicSession =

    topicConnection.createTopicSession(false,

    Session.AUTO_ACKNOWLEDGE);

    Tng t, bn dng mt QueueConnection to QueueSession

    QueueSession queueSession = queueConnection.createQueueSession(true, 0);

    1.5.5. Topic Publisher

    Mt bn pht Thng ip (message producer) l mt i tng c tora bi session v c dng gi cc Thng ip ti ch. Dng PTP ca

    mt bn gi Thng ip ci t giao din QueueSender. Dng pub/sub ci

    t giao din TopicPublisher.

    Nhm 03- Lp Cng ngh Phn mm K52Page 55

  • 8/2/2019 Backbone v05092011_

    56/84

    Chia s Ti liu hc tp phn tn

    V d: S dng QueueSession to mt bn gi cho hng i

    myQueue, v dng TopicSession to ra publisher cho topic myTopic:

    QueueSender queueSender = queueSession.createSender(myQueue);

    TopicPublisher topicPublisher =

    topicSession.createPublisher(myTopic);

    Sau khi to ra bn pht Thng ip, bn c th dng n gi cc

    Thng ip. Vi QueueSender, dng phng thcsend:

    queueSender.send(message);

    Vi TopicPublisher, bn dng phng thcpublish:

    topicPublisher.publish(message);

    1.5.6. Topic Consumer

    Mt bn x l thng tin (message consumer) l mt i tng c to

    ra bi mt session v c s dng nhn cc Thng ip c gi ti

    ch. Mt bn x l Thng ip cho php mt client JMS ng k ch m

    n quan tm vi mt JMS provider. JMS provider qun l vic phn phi

    Thng ip t ch ti mt bn x l ca ch .

    V d:

    QueueReceiver queueReceiver =

    queueSession.createReceiver(myQueue);

    TopicSubscriber topicSubscriber =

    topicSession.createSubscriber(myTopic);

    Bn x l Thng ip dng PTP ci t giao din QueueReceiver. Dngpub/sub ci t giao din TopicSubscriber.

    Nhm 03- Lp Cng ngh Phn mm K52Page 56

  • 8/2/2019 Backbone v05092011_

    57/84

    Chia s Ti liu hc tp phn tn

    Vi c QueueReceiver v TopicSubscriber bn c th dng phng

    thc receiver nhn Thng ip mt cch ng b. Bn c th dng

    phng thc ny bt c khi no sau khi gi phng thcstart.

    queueConnection.start();

    Message m = queueReceiver.receive();

    topicConnection.start();

    Message m = topicSubscriber.receive(1000); //time out after a

    second

    1.5.7. Messages

    Cc Thng ip gm 3 phn

    - Tiu

    - Thuc tnh (ty chn)

    - Thn (ty chn)

    a. Tiu

    Nhm 03- Lp Cng ngh Phn mm K52Page 57

  • 8/2/2019 Backbone v05092011_

    58/84

    Chia s Ti liu hc tp phn tn

    Minh ha: cch thc ci t cc thnh phn tiu

    Nhm 03- Lp Cng ngh Phn mm K52Page 58

  • 8/2/2019 Backbone v05092011_

    59/84

    Chia s Ti liu hc tp phn tn

    b. Ni dung Thng ip

    V d to ra Thng ip v giTextMessage ti mt hng i,

    bn c th dng:

    TextMessage message =

    queueSession.createTextMessage();

    message.setText(msg_text); // msg_text is a StringqueueSender.send(message);

    bn nhn Thng ip s c kiuMessagev phi c p thnh

    kiu chnh xc ca n.

    Message m = queueReceiver.receive();

    if (m instanceof TextMessage) {

    TextMessage message = (TextMessage) m;

    System.out.println("Reading message: " +

    message.getText());

    } else {

    // Handle error

    }

    Nhm 03- Lp Cng ngh Phn mm K52Page 59

  • 8/2/2019 Backbone v05092011_

    60/84

    Chia s Ti liu hc tp phn tn

    2. S thit k cc lp

    2.1. S thit k lp Entity

    Mi lp thc th tng ng vi mi bng trong c s d liu, thc

    hin cc truy vn d liu trn cc bng tng ng

    2.2. S thit k lp da trn mu thit k FacadeCc lp ny ng vai tr l gi cc lp entity thc hin truy vn c

    s d liu phc v cho cc chc nng ca ngi dng v admin

    Nhm 03- Lp Cng ngh Phn mm K52Page 60

  • 8/2/2019 Backbone v05092011_

    61/84

    Chia s Ti liu hc tp phn tn

    2.3. S thit k lp Session

    Cc lp ny ng gi cc chc nng ca Admin v User, chng c

    gi khi ngi s dng thc hin mt chc nng no

    Nhm 03- Lp Cng ngh Phn mm K52Page 61

  • 8/2/2019 Backbone v05092011_

    62/84

    Chia s Ti liu hc tp phn tn

    2.4. S thit k lp System

    ng dng EJB bao gm hai ng dng client l

    BKShareAdmiinControlPanel (cho Admin) v BKShareUserConsole

    ( cho User).

    Nhm 03- Lp Cng ngh Phn mm K52Page 62

  • 8/2/2019 Backbone v05092011_

    63/84

    Chia s Ti liu hc tp phn tn

    Nhm 03- Lp Cng ngh Phn mm K52Page 63

  • 8/2/2019 Backbone v05092011_

    64/84

    Chia s Ti liu hc tp phn tn

    VII. Thit k C s D liu

    1. M hnh ha trc quan C s D liu

    2. Thit k chi tit C s D liu

    2.1. Bng D liu Admin

    Nhm 03- Lp Cng ngh Phn mm K52Page 64

  • 8/2/2019 Backbone v05092011_

    65/84

    Chia s Ti liu hc tp phn tn

    TT Tn Kiu D liu M t

    1. AdminID Int(11) ID ca admin (kha chnh)

    2. AdminName varchar(45) Tn ng nhp ca Amin

    3. AdminPassword varchar(45) Mt khu ng nhp ca Admin

    2.2. Bng d liu Account

    STT Tn Kiu D liu M t

    Nhm 03- Lp Cng ngh Phn mm K52Page 65

  • 8/2/2019 Backbone v05092011_

    66/84

    Chia s Ti liu hc tp phn tn

    1.

    AccountID Int(11) ID ca Ngi s dng (khachnh)

    2

    .

    UserName varchar(45) Tn ng nhp ca Ngi s dng

    3.

    Password varchar(45) Mt khu ng nhp ca ngi sdng

    4.

    NumDocShare Int(10) S lng Ti liu m ngi sdng chia s

    5.

    NumDocDown Int(10) S lng Ti liu m ngi sdng Download

    6.

    IsBanned TINYINT(1) Kim tra xem ngi s dng bxa cha

    2.3. Bng d liu Category

    STT Tn Kiu D liu M t

    1.

    CategoryID Int(11) ID ca Danh mc (kha chnh)

    Nhm 03- Lp Cng ngh Phn mm K52Page 66

  • 8/2/2019 Backbone v05092011_

    67/84

    Chia s Ti liu hc tp phn tn

    2.

    CategoryName varchar(45) Tn Danh mc

    3.

    NumOfDoc Int(10) S lng Ti liu trong Danh mc

    2.4. Bng d liu Document

    STT Tn Kiu D liu M t

    1.

    DocumentID Int(11) ID ca Ti liu (kha chnh)

    2.

    DocName varchar(225) Tn Ti liu

    Nhm 03- Lp Cng ngh Phn mm K52Page 67

  • 8/2/2019 Backbone v05092011_

    68/84

    Chia s Ti liu hc tp phn tn

    3.

    DocType Varchar (45) nh dng ca Ti liu (pdf, doc)

    4.

    DocSize Double Kch thc Ti liu

    5.

    SharerID Int(11) M chia s

    6.

    CategoryID Int(11) Danh mc cha Ti liu

    7.

    Location Varchar(500) V tr Share ca Ti liu

    8

    .

    DownloadRate Int(10) S lt Download Ti liu

    9.

    DocDescription Text M t ca Ti liu

    10

    .

    IsBad Tinyint(1) Xem cht lng Ti liu (ti haykhng)

    2.5. Bng d liu Download

    Nhm 03- Lp Cng ngh Phn mm K52Page 68

  • 8/2/2019 Backbone v05092011_

    69/84

  • 8/2/2019 Backbone v05092011_

    70/84

    Chia s Ti liu hc tp phn tn

    1.1. Yu cu chung

    - Giao din y cc thnh phn, ph hp, thn thin.

    - Hn ch cc thao tc sai ca ngi s dng

    - Chc nng nhp liu yu cu thao tc t, thun tin.

    1.2. Kim tra cc thnh phn giao din

    Cc thnh phn chnh giao din ngi dng bao gm:

    - H thng Menu chnh

    - Thanh cng c chnh

    - Cc giao din lm vic: Giao din Qun tr, giao din Qun l,

    Giao din tm kim, Giao din tra cu

    - Logo/hnh n

    - Thanh trng thi

    Nhm 03- Lp Cng ngh Phn mm K52Page 70

  • 8/2/2019 Backbone v05092011_

    71/84

    Chia s Ti liu hc tp phn tn

    STT TestCase Kt qu mongmun

    Kt qu thc t Kt lun

    1.

    B cc, tng mu ng chun, hp l B cc cn i,mu sc thch hp,ng vi chunTng tc ngimy.

    t

    2.

    Kh nng thay i tngmu

    C Khng Thiu

    Nhm 03- Lp Cng ngh Phn mm K52Page 71

  • 8/2/2019 Backbone v05092011_

    72/84

    Chia s Ti liu hc tp phn tn

    3.

    y cc thnh phngiao din lit k trn

    C C t

    4.

    Thit lp thanh cng c Thun tin chongi s dng,m bo thao tcnhanh v chnh xc

    Thun tin chongi s dng,m bo thao tcnhanh v chnhxc

    t

    5.

    B cc cn i C C t

    6.

    Font ch thng nht C C t

    7.

    Mu ch d c, khnggy la mt, nhc mt

    C C t

    1.3. Kim tra giao din lm vic

    Cc giao din lm vic gm:

    - Giao din Admin:

    o Qun l cp nht d liu upload, download

    o Qun l cp nht thnh vin H thng

    o Qun l nht k s dng

    o Qun l sao lu, phc hi CSDL

    o ng nhp

    - Giao din Client

    o ng nhp

    Nhm 03- Lp Cng ngh Phn mm K52Page 72

  • 8/2/2019 Backbone v05092011_

    73/84

    Chia s Ti liu hc tp phn tn

    o Chia s d liu

    o Tm kim d liu

    - Giao din khc

    o Ca s hng dn s dng

    o Tr gip

    Kt qu mong i Kt qu thc t Kt lun

    y cc giao din lm vic Yes Thnh cng

    t tn ca s, b tr cc phn t trn giaodin hp l

    Yes Thnh cng

    Phi mu, chn font cho cc nhn, li chthch sng sa

    Yes Thnh cng

    Biu tng ca s lm vic v mt s ntlnh trn ca s ph hp

    Yes Thnh cng

    t phm Tab cho cc hp nhp d liu vnt lnh ng Logic

    Yes Thnh cng

    Hin th kch thc v v tr ca s nhp dliu trn mn hnh thch hp

    Yes Thnh cng

    Giao din ng nhp hp l Yes Thnh cng

    2. Kim th chc nng

    2.1. Phn Front-end

    2.1.1. Qun l thnh vin

    2.1.1.1. ng k

    Nhm 03- Lp Cng ngh Phn mm K52Page 73

  • 8/2/2019 Backbone v05092011_

    74/84

    Chia s Ti liu hc tp phn tn

    STT Test Case D liu Test Kt qumong i

    Kt quthc t

    Ktlun

    1.

    Ngi dngnhp ngthng tin voForm ng k

    Username: shmily

    Password: 31415926

    Retype Password:31415926

    HT thng bovic ng k thnh cng(hoc yu cucheck mail kch hot)

    H thngthng boregistered

    Thnhcng

    2.

    Ngi dng

    trng username

    Username: trng HT hin th

    thng bo yucu ngidng nhp vousername

    H thng

    thng boinvalid

    Thng

    bo lichac th

    3.

    Ngi dngnhp vousername tn ti

    Username: thuanmap

    //username ny tn ti

    HT hin ththng bo yucu ngidng nhpusername

    khc

    Thng boinvalid

    Thngbo licharrng.

    4.

    Ngi dngnhp k tc bit password

    Username: thuanmap

    Pass: *#00#

    HT hin ththng bo yucu ngidng nhpng nhdng capassword

    Thng boinvalid

    Thngbo lichac th.

    5.

    Ngi dngnhp ngnh dngcapassword,song

    Username: thuanmap

    Pass: 123a

    HT hin ththng bo yucu ngidng nhpng nhdng ca

    Thng boinvalid

    Thngbo lichac th.

    Nhm 03- Lp Cng ngh Phn mm K52Page 74

  • 8/2/2019 Backbone v05092011_

    75/84

    Chia s Ti liu hc tp phn tn

    password thn 6 k t

    password, sk t t nhtphi l 6 k t

    2.1.1.2. ng nhp

    STT Test Case D liu Test Kt qumong i

    Kt quthc t

    Ktlun

    1.

    Kch pchut vo

    biu tngca Phnmm trn mnhnh

    Giao dinng nhp

    vo H thng yu cungi dngnhp tn vmt khung nhp

    ng vimong i

    Thnhcng

    2.

    Ngi dngng nhpvo HT ngqui cch(username vpassword hpl), ri nhpchut vo

    Username: shmily

    Password: 31415926

    Ngi dnglogin cvo HT

    ng nhpthnh cng

    Thnhcng

    Nhm 03- Lp Cng ngh Phn mm K52Page 75

  • 8/2/2019 Backbone v05092011_

    76/84

    Chia s Ti liu hc tp phn tn

    button Login

    3.

    Ngi dngch nhpusername,

    khng nhppassword rinhp chutvo nt Login

    Username: thuanmap

    Password:

    HT hin ththng bo li,yu cu ngi

    dng nhppassword

    Thng boinvalid

    Thnhcng

    4.

    Ngi dngkhng nhpusername, chnhp

    password, rinhp chutvo Login

    Username:

    Password: 31415926

    HT hin ththng bo li,yu cu ngidng nhp

    username

    Thng boinvalid

    Thnhcng

    5.

    Ngi dngkhng nhpusername vpassword, rinhp chutvo Login

    HT hin ththng bo li,yu cu ngidng nhpusername vpassword

    Thng boinvalid

    Thnhcng

    6.

    Ngi dngc nhp saiusernamehocpassword, rinhp chutvo Login

    Username: shmilyH

    Password: 314159265

    HT hin ththng bo liSai usernamehocpassword, ngh ngidng nhp li

    Thng boinvalid

    Thnhcng

    7.

    Ngi dngng nhpvo HT ngqui cch(username vpassword hp

    Username: shmily

    Password: 31415926

    Ngi dnglogin cvo HT

    ng mongi

    Thnhcng

    Nhm 03- Lp Cng ngh Phn mm K52Page 76

  • 8/2/2019 Backbone v05092011_

    77/84

  • 8/2/2019 Backbone v05092011_

    78/84

    Chia s Ti liu hc tp phn tn

    phi mn hnh thot

    munthot/savekhng

    1

    4.

    Khi H thng

    hin th hpthoi xem cmunthot/savekhng

    Thot/save

    thnh cng

    ng nh

    mong i

    Thnh

    cng

    2.1.2. Qun l d liu

    2.1.2.1. Chia s d liu

    2.1.2.2. Download d liu (ch dng mc Kch bn kimth)

    STT Test Case D liu Test Kt qumong i

    Kt quthc t

    Ktlun

    Nhm 03- Lp Cng ngh Phn mm K52Page 78

    STT Test Case D liu Test Kt qu mongi

    Kt quthc t

    Ktlun

    1.

    Ngi sdng chn

    File/Folder chia s

    Client t nglu 1 bn sao

    ca file cnchia s v githng ipcha thng tinca file vServer.

    Ch githng ip

    ln Server,khng lu libn sao

    Thtbi

  • 8/2/2019 Backbone v05092011_

    79/84

    Chia s Ti liu hc tp phn tn

    1.

    Ngi sdngDownload dliu hp l

    HT thng boDownloadthnh cng

    2.

    Ngi sdngDownload dliu, nhngng dnkhng tn ti

    HT a rathng bong dnkhng tn ti

    3.

    Ngi sdng s dng

    chc nng tmkim

    Search: Lp trnhnhng

    HT hin th ktqu tm kim

    HT hin thkt qu tm

    kim

    Thnhcng

    2.2. Phn back-end

    2.2.1. Qun l thng tin thnh vin

    STT Test Case D liu Test Kt qumong i

    Kt quthc t

    Ktlun

    1.

    Admin xaTT thnh vin

    HT hin ththng boBn c chcchn munxa?

    HT hin ththng boBn c chcchn munxa?

    Thnhcng

    2.

    Admin khngvit g rinhp vo mcthm TTthnh vin

    HT hin ththng bo yucu Adminnhp y

    Thng boInvalid!

    Thnhcng

    3.

    Admin thmthnh vin tn ti

    Username: shmily

    Password: 31415926

    HT hin ththng bokhng ththm thnh

    Thng boInvalid!

    Thnhcng

    Nhm 03- Lp Cng ngh Phn mm K52Page 79

  • 8/2/2019 Backbone v05092011_

    80/84

    Chia s Ti liu hc tp phn tn

    vin

    2.2.2. Qun l danh sch File chia s

    STT Test Case D liu Test Kt qumong i

    Kt quthc t

    Ktlun

    1

    .

    Admin xa

    TT File chias

    HT hin th

    thng boBn c chcmun xa?

    Chc nng

    ny b m i

    Tht

    bi

    2.

    Admin khngnhp g rinhp vo mcThm TT Filechia s

    HT hin ththng bo yucu Adminnhp y

    Chc nng bm i

    Thtbi

    3. Yu cu phi chc nng

    Yu cu chung

    - Chy n nh, khng xy ra treo

    - Kim tra v cnh bo d liu nhp sai

    - C tr gip ngay trn Phn mm

    STT Test Case D liu Test Kt qu Kt qu Kt

    Nhm 03- Lp Cng ngh Phn mm K52Page 80

  • 8/2/2019 Backbone v05092011_

    81/84

    Chia s Ti liu hc tp phn tn

    mong i thc t lun

    1.

    Admin angsa TT thnhvin th kt

    ni b ngt,sau kt niphc hi

    Vic Adminsa TT thnhvin khng

    nh hng gn vic HT cngt haykhng, Clientkhng nhnthy s thayi ny

    Kt nikhng nnh, nu kt

    ni b ngt,li phi ngnhp li tu

    Thtbi

    2

    .

    Admin ang

    lu thay iTT thnh vinth kt ni bngt

    Khi kt ni

    phc hi, viclu c tiptc

    Kt ni

    khng nnh, nu ktni b ngt,li phi ngnhp li tu

    Tht

    bi

    3.

    Admin angtin hnh saTT File chias th kt nib ngt

    Client khngnhn thy sthay i ny(do File thayi cha cSave)

    Kt nikhng nnh, nu ktni b ngt,li phi ngnhp li tu

    Thtbi

    IX. Kt lun v Hng pht trin

    1. Nhn xt

    H thng chia s ti liu hc tp phn tn ca nhm hon thnh

    c mt s chc nng c bn: ng k thnh vin, kim tra tnh hp l ca

    vic ng nhp, ng k chia s File vi Server

    Nhm 03- Lp Cng ngh Phn mm K52Page 81

  • 8/2/2019 Backbone v05092011_

    82/84

    Chia s Ti liu hc tp phn tn

    Tuy nhin, nhm cng cha hon thin c ht cc chc nng. Chc

    nng Download vn ang gp trc trc. Tt nhin, nhm s hon thin trong

    thi gian sm nht.

    Vic bt s kin vi Enter cho vic ng k hay ng nhp cng cha

    thnh cng. Hay vic cha x l c vi tnh hung khi kt ni b ngt

    lm gim hiu nng ca H thng.

    Vi vic thit k cc trng hp kim th song song vi qu trnh xy

    dng H thng. Mc d nh hnh c cc li, hay cc tht bi c th

    xy ra. Song, do thi gian c hn, nhm vn cha th sa c cc li, hay

    ti u c cc chc nng.

    Tt nhin mt vn cn phi bn ti, l H thng mi nhn dng

    c nh dng ca File (pdf, doc hay ppt), nhng li cha c c ch kim

    sot c cc File . H thng cha c c ch bo v trc cc File c

    ni dung xu, hay cha cc thng tin khng lnh mnh.

    2. Hng pht trin

    - Cho php ngi s dng chia s mi loi File, ch khng ring g ti

    liu hc tp.

    - Tm c c ch gip H thng t bo v trc cc File c ni dung

    xu, khng lnh mnh.

    - Xy dng H thng theo kiu Peer-to-Peer

    3. ng gp ca tng thnh vin vo Bi tp ln

    Nhm 03- Lp Cng ngh Phn mm K52Page 82

  • 8/2/2019 Backbone v05092011_

    83/84

    Chia s Ti liu hc tp phn tn

    Nhm em thng hp nhm lm chung.

    - Code: c nhm cng lm, trong H code chnh

    - Lm prototype: Tuyn, H

    - Phn tch yu cu: c nhm

    - Biu hot ng, usecase, biu giao tip: Thun, Hin, H

    - Qun l bo co: Thun

    - Lm video: Tuyn

    Nhm 03- Lp Cng ngh Phn mm K52Page 83

  • 8/2/2019 Backbone v05092011_

    84/84

    Chia s Ti liu hc tp phn tn

    TI LIU THAM KHO

    - Slide bi ging Pht trin Phn mm Phn tn V Th Hng Giang.

    - Pht trin H thng hng i tng vi UML 2.0 v C++ - Nguyn Vn

    Ba

    - Slide bi ging m bo cht lng Phn mm Thc Bnh Cng

    - Tng tc Ngi my Lng Mnh B

    - Phn Help ca NetBean 6.9.1

    - Hng dn dng Glassfish

    - MacGraw Hill - JavaServer Faces 2.0_ The Complete Reference_ Feb 2010