se lecturenotes full

874
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN -------------- Slide bài giảng NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Giảng viên: Lương Trần Hy Hiến Email: [email protected] version 2.1 TP.HCM – 09/2012

Upload: anh4khia2004

Post on 26-Nov-2015

116 views

Category:

Documents


1 download

TRANSCRIPT

  • B GIO DC V O TO

    TRNG I HC S PHM TP.HCM KHOA CNG NGH THNG TIN

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

    Slide bi ging

    NHP MN CNG NGH PHN MM

    Ging vin: Lng Trn Hy Hin Email: [email protected]

    version 2.1 TP.HCM 09/2012

  • COMP1026 Introduction to Software Engneering HIENLTH - 1

    NHP MN CNG NGH PHN MM

  • COMP1026 Introduction to Software Engneering HIENLTH - 2

    Gii thiu mn hc

    Ging vin: Lng Trn Hy Hin (HIENLTH)

    Khoa CNTT, H S phm TpHCM (FIT HCMUP)

    Cc mn dy: NM Cng ngh Phn mm, Kim th phn mm,

    Cng ngh NET, Bo mt v An ninh mng

    Hng nghin cu: Software Testing, Semantic Web, Network Security

    Email: [email protected]

    Web mn hc: http://fit.hcmup.edu.vn/~hienlth/SE

  • COMP1026 Introduction to Software Engneering HIENLTH - 3

    Thng tin lp hc

    Tn mn: Nhp mn Cng ngh Phn mm

    M s: COMP1026

    S tn ch: 3 (36LT + 18TH)

    L thuyt: 36t (12 tun x 3t/tun)

    Thc hnh: 18t (9 tun x 2t/tun)

    Mn hc trc:

    CSDL, LT Hng i tng, LT Windows

    Gi hc:

    L thuyt: Sng th 5, tit 1 3, phng

    Thc hnh: Chiu th 4, tit 9 10, phng I.202

  • COMP1026 Introduction to Software Engneering HIENLTH - 4

    Minh ha Web App

  • COMP1026 Introduction to Software Engneering HIENLTH - 5

    Minh ha WinForm App

  • COMP1026 Introduction to Software Engneering HIENLTH - 6

    Mc tiu mn hc

    Cung cp cc kin thc c s lin quan n cc i tng chnh trong CNPM: phn mm, cng ngh phn mm, c trng ca phn mm, tin trnh, cc phng php k thut thc hin, cc phng php t chc qun l, cng c v mi trng trin khai phn mm.

    Gip sinh vin hiu bit cc kin thc nn tng hc tip cc mn chuyn ngnh CNPM.

    Phn thc hnh gip SV hiu v bit tin hnh xy dng phn mm (n gin) mt cch c h thng v c phng php.

  • COMP1026 Introduction to Software Engneering HIENLTH - 7

    Cng ngh phn mm?

    Cng ngh phn mm l ngnh khoa hc nghin cu v vic xy dng nhng phn mm c cht lng, c gi thnh hp l trong khong thi gian hp l.

    i tng nghin cu:

    Quy trnh cng ngh

    Phng php xy dng phn mm

    Cng c h tr pht trin phn mm

    Cng ngh phn mm Software Engineering

  • COMP1026 Introduction to Software Engneering HIENLTH - 8

    Quy trnh cng ngh phn mm

    Xy dng phn mm cn thc hin theo trnh t no?

    Cn bao nhiu ngi tham gia? Vai trtng ngi? T chc qun l cc thnh vin?

    Giao tip gia cc thnh vin?

    Quy trnh cng ngh phn mm Software Development Process

  • COMP1026 Introduction to Software Engneering HIENLTH - 9

    Mt s phng php xy dng PM

    Phng php hng cu trc

    Phng php ta Merise

    Phng php hng i tng

    Phng php OMT

    Phng php UML

  • COMP1026 Introduction to Software Engneering HIENLTH - 10

    UML Unified Modeling Language

  • COMP1026 Introduction to Software Engneering HIENLTH - 11

    Lc trong UML

  • COMP1026 Introduction to Software Engneering HIENLTH - 12

    Cng c h tr pht trin PM

    Rational Rose

    Power Designer 12.x/15.x/16

    Microsoft Visio

    Microsoft Studio .NET 2008/2010/2012

    Microsoft SQL Server 2005/2008/2012

    Oracle 8i/9i/10i/11i

    Microsoft Visual Team System 2008/2010/2012

    CASE Tool Computer Aided Software Engineering

  • COMP1026 Introduction to Software Engneering HIENLTH - 13

    Cng c h tr pht trin PM

    Crystal Report

    Component One Enterprise

    Infragistics

    Intersoft Webgrid

    Data Dynamic

    Install Shield/Wise Install

    eHelp/Robohelp/HTML Help workshop

    CASE Tool Computer Aided Software Engineering

  • COMP1026 Introduction to Software Engneering HIENLTH - 14

    Cc ch

    Ch 1: Tng quan v CNPM

    Ch 2 (*):Kho st hin trng v xc nh yu cu

    Ch 3 (*): Phn tch phn mm

    Ch 4 (*): Thit k phn mm

    Ch 5: Ci t phn mm

    Ch 6 (*): Kim chng phn mm

    Ch 7: Trin khai v bo tr

  • COMP1026 Introduction to Software Engneering HIENLTH - 15

    nh gi mn hc

    Lm bi tp ti lp & np theo yu cu thc hnh: im cng

    Thi gia k: 20%

    n: 20%

    Thi cui k (vit): 60%

    Bi lm ging nhau: 0 im (hc li)

  • COMP1026 Introduction to Software Engneering HIENLTH - 16

    Ti liu tham kho

    Ian Sommerville, Software Engineering, 9th edition, 2011.

    Roger S. Pressman, Software Engineering: A Practitioner's Approach, 2005.

    ng Th Bch Thy, Trn an Th, Hong V Qunh H, M Hnh CMMI Mt Cch Tip Cn Ci Tin Quy Trnh Phn Mm, 2007.

    Roger S. Pressman, K ngh phn mm, Tp 01, 02, 03, bn dch ca Ng Trung Vit, 1999.

  • COMP1026 Introduction to Software Engneering HIENLTH - 17

    Thank you!!!

  • COMP1026 Introduction to Software Engneering Chapter 01 - 1 HIENLTH

    Ch 1: Tng quan v CNPM

  • COMP1026 Introduction to Software Engneering Chapter 01 - 2 HIENLTH

    Mc tiu

    Bit c nhng khi nim thit yu

    trong CNPM.

    Bit c v mt qui trnh phn mm c

    bn

    Bit c t chc nhn s v vai tr ca

    tng thnh vin trong h thng.

    Bit c cc loi ti liu k thut.

  • COMP1026 Introduction to Software Engneering Chapter 01 - 3 HIENLTH

    Ni dung

    Khi nim v Phn mm

    Khi nim v Cht lng phn mm

    Khi nim v Cng ngh phn mm

    Khi nim v Quy trnh phn mm

  • COMP1026 Introduction to Software Engneering Chapter 01 - 4 HIENLTH

    Khi nim v phn mm

    V d: xt mt s phn mm sau

    Phn mm qun l hc sinh cp 3.

    Phn mm qun l th vin.

    Phn mm qun l nh sch.

    Phn mm qun l khch sn.

    Phn mm qun l phng mch t.

    Phn mm qun l s tit kim.

    Phn mm qun l gii v ch bng .

    Phn mm qun l bn v chuyn bay.

    Phn mm qun l cc i l.

    Phn mm xp thi kha biu

  • COMP1026 Introduction to Software Engneering Chapter 01 - 5 HIENLTH

    Khi nim v phn mm

    Phn mm di gc nhn ca ngi s dng:

    Chng trnh thc thi c trn my tnhhoc cc thit b chuyn dng khc, nhm htr cho cc nh chuyn mn trong tng lnhvc chuyn ngnh thc hin tt hn cc thaotc nghip v ca mnh.

  • COMP1026 Introduction to Software Engneering Chapter 01 - 6 HIENLTH

    Khi nim v phn mm

    Mi trng trin khai phn mm

    My tnh: Desktop, Laptop,

    Thit b chuyn dng: Thit b di ng: PDA, Pocket PC, in thoi di ng

    Cc thit b chuyn dng khc: set-top box, router, firewall(phn cng)

    H tr lm tt hn cc thao tc nghip v: Tin hc ha nghip v hin ang lm th cng,

    Ci tin chc nng nghip v hin ang c thc hin trn my tnh,

    ra, xy dng v trin khai chc nng nghip v mi

  • COMP1026 Introduction to Software Engneering Chapter 01 - 7 HIENLTH

    Khi nim v phn mm

    Phn mm di gc nhn ca chuyn vinTin hc: y l mt h thng bao gm 3 thnh phn

    c bn:

    Thnh phn giao tip

    Thnh phn x l

    Thnh phn lu tr

    cn c xy dng thc hin theo yu cuca ngi s dng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 8 HIENLTH

    Khi nim v phn mm

    Thnh phn giao tip (Giao din):

    Cho php tip nhn cc yu cu v vic s dng phn mm tngi s dng (chn cng vic mun thc hin v cung cp ccd liu ngun lin quan n cng vic ), t cc thit b thuthp d liu (cn, nhit k, t bo quang in), hoc t ccphn mm khc.

    Cho php trnh by cc kt qu ca vic thc hin cc yu cucho ngi dng (kt qu ca cng vic khi thc hin trn mytnh) hoc iu khin hot ng cc thit b iu khin(ng/m ca, dng hay cho chuyn ng)

    Mt cch tng qut, thnh phn giao tip cho php nhp/xutthng tin cng vi hnh thc trnh by/giao tip tng ng.

    Mc tiu chnh ca thnh phn ny l a thng tin t th giibn ngoi phn mm (ngi s dng, cc thit b, phn mmkhc) v bn trong, hoc ngc li.

  • COMP1026 Introduction to Software Engneering Chapter 01 - 9 HIENLTH

    Khi nim v phn mm

    Thnh phn x l:

    Kim tra tnh hp l ca thng tin ngun c cungcp t ngi dng theo cc quy nh rng buc trongth gii thc

    V d: ch cho mn ti a 3 quyn sch, mi lp hc khngqu 50 hc sinh

    Tin hnh x l cho ra kt qu mong i theo quynh tnh ton c sn trong th gii thc

    V d: quy tc tnh tin pht khi tr sch v, quy nh tnhtin in, tr gp khi mua nh

    Hoc tin hnh x l theo thut gii t xut V d: xp thi kha biu t ng, nn nh, pht sinh nc

    c ca my tnh

  • COMP1026 Introduction to Software Engneering Chapter 01 - 10 HIENLTH

    Khi nim v phn mm

    Thnh phn x l: Vic x l da trn thng tin ngun t ngi s dng

    cung cp V d: tnh nghim phng trnh bc 2 da trn cc h s

    nhp vo

    hoc d liu lu tr c sn V d: tnh tn kho da trn cc phiu nhp xut lu tr

    hoc c hai V d: tnh tin pht da trn ngy tr sch c nhp vo

    v thng tin v loi sch c lu tr

    Vic x l cho ra kt qu c th dng xut chongi dng xem qua thnh phn giao din, hay lutr li qua thnh phn lu tr, hoc c hai

  • COMP1026 Introduction to Software Engneering Chapter 01 - 11 HIENLTH

    Khi nim v phn mm

    Mt cch tng qut, thnh phn x l l h thngchuyn x l tnh ton, bin i d liu,

    dng thng tin ngun t cc thnh phn giao din(chc nng nhp) hay thnh phn d liu (chc nngc);

    Kim tra tnh hp l (chc nng kim tra) v sau tin hnh x l (chc nng x l) nu cn thit

    cho ra kt qu s c trnh by thng qua thnhphn giao din (chc nng xut) hoc lu tr litrong thnh phn d liu (chc nng ghi)

  • COMP1026 Introduction to Software Engneering Chapter 01 - 12 HIENLTH

    Khi nim v phn mm

    Thnh phn lu tr (thnh phn d liu)

    Cho php lu tr li (chc nng ghi) cc kt qu x l

    V d: Vic mn sch c kim tra hp l, bng lngthng c tnh

    trn b nh ph vi t chc lu tr c xc nh trc

    V d: tp tin c cu trc, tp tin nh phn, c s d liu

    Cho php truy xut li (chc nng c) cc d liu lu trphc v cho cc hm x l tng ng

    Mt cch tng qut thnh phn d liu l h thng chuyn cghi d liu cng vi m hnh t chc lu tr d liu tng ng.Mc tiu chnh ca thnh phn ny l chuyn i d liu gia bnh chnh v b nh ph

  • COMP1026 Introduction to Software Engneering Chapter 01 - 13 HIENLTH

    Khi nim lp phn mm

    Lp phn mm:

    Lp phn mm l h thng cc phn mm trn cngmt lnh vc hot ng no

    Do cng lnh vc hot ng nn cc phn mm cnglp thng c cu trc v chc nng tng t nhau

    Mc tiu ca ngnh Cng ngh Phn mm

    Xy dng c phn mm c cht lng

    D dng xy dng phn mm mi t cc phn mmc sn cng lp

  • COMP1026 Introduction to Software Engneering Chapter 01 - 14 HIENLTH

    Cht lng phn mm

    Phn mm

    Con ngi

    Phn cng

    Phn mm khc

    Tnh ng n

    Tnh ng n:

    - y

    - Chnh xc

    Di gc nhn ca Ngi s dng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 15 HIENLTH

    Cht lng phn mm

    Phn mm

    Con ngi

    Phn cng

    Phn mm khc

    Tnh tin dng

    Tnh tin dng:

    - D hc

    - D s dng

    - Giao din trc quan

    - T nhin

    Tnh ng n

    Di gc nhn ca Ngi s dng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 16 HIENLTH

    Cht lng phn mm

    Phn mm

    Con ngi

    Phn cng

    Phn mm khcTnh hiu qu

    Tnh hiu qu:

    - Ti u s dng CPU*

    - Ti u s dng b nh*

    - Ti u s dng thit b

    Tnh ng nTnh tin dng

    Di gc nhn ca Ngi s dng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 17 HIENLTH

    Cht lng phn mm

    Phn mm

    Con ngi

    Phn cng

    Phn mm khc

    Tnh tng thch

    Tnh tng thch:

    - Import/Export d liu

    - Tng tc

    Tnh ng nTnh tin dngTnh hiu qu

    Di gc nhn ca Ngi s dng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 18 HIENLTH

    Cht lng phn mm

    Phn mm

    Con ngi

    Phn cng

    Phn mm khc

    Tnh tin ha

    Tnh tin ha: mt trong cc tnh cht quan trng nht c quan tm xem xt trong ngnh Cng ngh Phn mm

    Tnh ng nTnh tin dngTnh hiu quTnh tng thch

    Di gc nhn ca Ngi s dng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 19 HIENLTH

    Cht lng phn mm

    Phn mm

    Con ngi

    Phn cng

    Phn mm khc

    Tnh tin haTnh ng nTnh tin dngTnh hiu quTnh tng thch

    Di gc nhn ca Ngi s dng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 20 HIENLTH

    Cht lng phn mm

    Tnh d kim tra: vic kim tra cc thnh phn ph hp viyu cu phn mm l d dng nht c th c

    Tnh d sa li: khi c s khng ph hp (so vi yu cu)trong qu trnh kim tra mt thnh phn, vic pht hiu chnhxc v tr li v sa li l nhanh nht c th c.

    Tnh d bo tr: khi cn nng cp, ci tin mt thnh phn(theo yu cu mi), vic cp nht phn mm l nhanh, chnhxc nht c th c v c bit l c gng hn ch nhhng n cc thnh phn khc

    Tnh ti s dng: cc thnh phn thc hin c th dngli trong cc phn mm cng lp (hoc cng lnh vc) vithi gian v cng sc t nht c th c

    Di gc nhn ca chuyn vin Tin hc

  • COMP1026 Introduction to Software Engneering Chapter 01 - 21 HIENLTH

    Pht trin ca Cng ngh phn mm

    Giai on 1 (1950 gia 1960)

    X l theo l, x l tp trung, t x l phn tn, t sa i phn mm

    Giai on 2 (t gia 1960 n gia 1970)

    H thng a chng trnh v a ngui dng

    Bt u cuc khng hong phn mm

    Giai on 3 (t gia 1970 n gia 1980)

    S pht trin v s dng rng ri my tnh c nhn

    S pht trin ca cc cng ty phn mm

    Giai on 4 (t gia 1980 n nay)

    Phn cng ngy cng pht trin

    H thng phn mm ngy cng a dng, phong ph, x l ngy cng phc tp, cng ngh ngy cng pht trin

  • COMP1026 Introduction to Software Engneering Chapter 01 - 22 HIENLTH

    Cuc khng hong phn mm

    S lng cc phn mm tng vt (do s pht trin ca phn cng: tng kh nng, gi thnh h)

    C qu nhiu khuyt im trong cc phn mm c dng trong x hi:

    Thc hin khng ng yu cu (tnh ton sai, khng n nh)

    Thi gian bo tr nng cp qu lu, chi ph cao, hiu qu thp

    Kh s dng

    Thc hin chm

    Khng chuyn i d liu gia cc phn mm

  • COMP1026 Introduction to Software Engneering Chapter 01 - 23 HIENLTH

    Cuc khng hong phn mm

    Mt s kt lun:

    Vic tng vt s lng phn mm l iu hp l v scn tip din

    Cc khuyt im ca phn mm c ngun gc chnht phng php, cch thc v quy trnh tin hnh xydng phn mm:

    Cm tnh: mi ngi theo mt phng php ring

    Th s, n gin: ch tp trung vo vic lp trnhm t quan tm n cc cng vic cn lm khc(kho st hin trng, phn tch yu cu, thit k)

    Th cng: cn thiu cc cng c h tr quy trnhpht trin

  • COMP1026 Introduction to Software Engneering Chapter 01 - 24 HIENLTH

    Cc nh ngha v CNPM

    Bauer [1969]: SE l vic thit lp v s dng cc nguyn l cng ngh ng n thu c phn mm 1 cch kinh t va tin cy va lm vic hiu qu trn cc my thc.

    Parnas [1987]: SE l vic xy dng phn mm nhiu phin bn bi nhiu ngi.

    Sommerville [1995]: SE l mt nguyn l k ngh lin quan n tt c cc mt (l thuyt, phng php v cng c) ca sn phn mm

  • COMP1026 Introduction to Software Engneering Chapter 01 - 25 HIENLTH

    Cc nh ngha v CNPM

    IEEE [1993]:

    1. vic p dng phng php tip cn c h thng, bi bn v c lng ha trong pht trin, vn hnh v bo tr phn mm;

    2. nghin cu cc phng php tip cn c dng trong (1)

    Pressman [1995]: SE l b mn tch hp c quy trnh, cc phng php, cc cng c pht trin phn mm my tnh

  • COMP1026 Introduction to Software Engneering Chapter 01 - 26 HIENLTH

    Cng ngh phn mm

    Khi nim: Cng ngh phn mm l ngnh khoa hc nghin cu v vic xy

    dng cc phn mm c cht lng vi chi ph hp l trongkhong thi gian hp l

    i tng nghin cu: Quy trnh cng ngh

    Phng php xy dng phn mm

    Cng c h tr pht trin phn mm

    Cng ngh phn mm

    Phng php Cng c Quy trnh

  • COMP1026 Introduction to Software Engneering Chapter 01 - 27 HIENLTH

    Cng ngh phn mm

    Cc i tng nghin cu ca Cng ngh phn mm : Quy trnh phn mm:

    H thng cc giai on m qu trnh pht trin phn mm phi triqua,

    vi mi giai on cn xc nh r:

    Mc tiu, kt qu nhn t giai on trc , Kt qu chuyn giao cho giai on k tip

    Phng php pht trin phn mm: H thng cc hng dn cho php tng bc thc hin mt giai

    on no trong quy trnh phn mm

    Cng c v Mi trng pht trin phn mm: H thng cc phn mm tr gip trong lnh vc xy dng phn

    mm H tr cc chuyn vin tin hc trong cc bc xy dng phn mm

    theo mt phng php no vi mt quy trnh c chn trc

  • COMP1026 Introduction to Software Engneering Chapter 01 - 28 HIENLTH

    Quy trnh Cng ngh Phn mm

    Xy dng phn mm cn phi thc hin theo trnh t no?

    Cn bao nhiu ngi tham gia? vai tr ca tng thnh vin? t chc qun l cc thnh vin?

    Giao tip gia cc thnh vin trong h thng?

    Quy trnh Cng ngh Phn mm Software Development Process

  • COMP1026 Introduction to Software Engneering Chapter 01 - 29 HIENLTH

    Quy trnh Cng ngh Phn mm

  • COMP1026 Introduction to Software Engneering Chapter 01 - 30 HIENLTH

    Quy trnh Cng ngh Phn mm

    B phn tip nhnyu cu ca khch hng

    Business Analyst

    Lm th no tip nhn chnh xc yu cu ca khch hng?

    Lm th no c t ng yu cu ca khch hng?

    Lm th no giao tip, tng tc vi b phn pht trin h thng?

    Lm th no kim tra h thng pht trin ng theo yu cu trc khi thc hin trin khai n khch hng?

  • COMP1026 Introduction to Software Engneering Chapter 01 - 31 HIENLTH

    Quy trnh Cng ngh Phn mm

    B phn pht trinphn mm

    Developer

    Lm th no thit k h thng ng vi yu cu ca ngi dng?

    Lm th no giao tip, tng tc vi cc thnh vin trong b phn pht trin phn mm?

    Lm th no qun l, theo di tin trnh thc hin phn mm?

  • COMP1026 Introduction to Software Engneering Chapter 01 - 32 HIENLTH

    Quy trnh Cng ngh Phn mm

    Development

    Business Analyst

    B phn pht trin phn mm

    B phn tip nhn yu cu ca

    khch hng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 33 HIENLTH

    Quy trnh Cng ngh Phn mm

  • COMP1026 Introduction to Software Engneering Chapter 01 - 34 HIENLTH

    M hnh thc ncKho st

    Phn tch

    Thit k

    Ci t

    Kim tra

    Trin khai

    Bo tr

  • COMP1026 Introduction to Software Engneering Chapter 01 - 35 HIENLTH

    Giai on kho st

    Kho st

    Kt qu:

    Ni dung: Xc nh quy trnh x l nghip v

    Thu thp biu mu thng k

    Ti liu c t kin trc h thng:

    Yu cu chc nng

    Yu cu phi chc nng

    Kin trc h thng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 36 HIENLTH

    Giai on kho st (tt)

    Xt H thng qun l gio v ti trng i hc Qui trnh x l nghip v

    X l nhp hc X l nhp im X l sinh vin tt nghip Qun l ging vin

    Bo biu thng k H s sinh vin H s ging vin Bng im sinh vin Bng im theo lp Danh sch lp .

  • COMP1026 Introduction to Software Engneering Chapter 01 - 37 HIENLTH

    Giai on kho st (tt)

    Kt qu Yu cu chc nng:

    Lu tr nhng thng tin g ? Tra cu theo tiu chun no ? X l tnh ton theo cng thc no ? Kt xut, thng k ?

    Yu cu phi chc nng: Ci t trn mi trng no ? Windows ? Web ? S dng h qun tr c s d liu no ?

    Access/SQL Server/Oracle/DB2

    S dng cng ngh g ? Java/.NET/Delphi/PHP/

  • COMP1026 Introduction to Software Engneering Chapter 01 - 38 HIENLTH

    Giai on kho st (tt)

    Xt h thng qun l gio v trng i hc:

    Kin trc h thng:

    Windows Application

    Database Server

  • COMP1026 Introduction to Software Engneering Chapter 01 - 39 HIENLTH

    Giai on kho st (tt)

    Xt h thng qun l gio v trng i hc:

    Kin trc h thng:

    Web Server

    Database Server

    Client

  • COMP1026 Introduction to Software Engneering Chapter 01 - 40 HIENLTH

    Giai on phn tch

    Phn tch

    Kt qu:

    Ni dung:

    Phn tch kh thi

    Xy dng m hnh d liu mc quan nim

    Xy dng m hnh x l

    H s phn tch:

    M hnh ERD (CDM)

    M hnh DFD

    Phng n trin khai h thng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 41 HIENLTH

    Giai on phn tch (tt)

    Xt h thng qun l gio v trng i hc:

    Phng n trin khai - PA1

  • COMP1026 Introduction to Software Engneering Chapter 01 - 42 HIENLTH

    Giai on phn tch (tt)

    Xt h thng qun l gio v trng i hc:

    Phng n trin khai PA2

  • COMP1026 Introduction to Software Engneering Chapter 01 - 43 HIENLTH

    Giai on phn tch (tt)

    Xt h thng qun l gio v trng i hc:

    Phng n trin khai PA3

    Database ServerModule Sinh vin(NV B ph trch) Printer Server

    Module Ging vin(NV A ph trch)

  • COMP1026 Introduction to Software Engneering Chapter 01 - 44 HIENLTH

    Giai on phn tch (tt)

    Xt h thng qun l gio v ti trng i hc:

    M hnh thc th kt hp (ERD)

    0,n

    0,n

    0,n

    0,n

    SinhVien

    MaSV

    HoTenSV

    NgaySinh

    NoiSInh

    MonHoc

    MaMon

    TenMon

    Nganh

    MaNganh

    TenNganh

    Khoa

    MaKhoa

    TenKhoa

    Mon hoc nganh

    SoTinChi

    Dang Ky Hoc Mon

    Lan

    HocKy

    NienKhoa

    Diem...

    Quan Huyen

    MaQuan

    TenQuan

    Tinh Thanh

    MaTinh

    TenTinh

    CDM Conceptual Data Model

    ERD Entity Relationship Diagram

  • COMP1026 Introduction to Software Engneering Chapter 01 - 45 HIENLTH

    Giai on phn tch (tt)

    Xt h thng qun l gio v ti trng i hc:

    M hnh x l DFD

    H s

    s

    inh v

    in

  • COMP1026 Introduction to Software Engneering Chapter 01 - 46 HIENLTH

    Thit k

    Kt qu:

    Ni dung: Thit k d liu

    Thit k x l

    Thit k giao din

    H s thit k:

    M hnh PDM

    Kin trc Module

    H thng chc nng

    H thng giao din

    Giai on thit k

  • COMP1026 Introduction to Software Engneering Chapter 01 - 47 HIENLTH

    Giai on thit k (tt)

    Xt h thng qun l gio v ti trng i hc:

    M hnh vt l (PDM)

    PDM Physical Data Model

    SinhVien

    MaSV

    MaQuan

    MaKhoa

    MaNganh

    HoTenSV

    NgaySinh

    NoiSInh

    MonHoc

    MaMon

    TenMon

    Nganh

    MaNganh

    MaKhoa

    TenNganh

    Khoa

    MaKhoa

    TenKhoa

    Mon hoc nganh

    MaMon

    MaNganh

    SoTinChi

    Dang Ky Hoc Mon

    MaSV

    MaMon

    Lan

    HocKy

    NienKhoa

    Diem

    Quan Huyen

    MaQuan

    MaTinh

    TenQuan

    Tinh Thanh

    MaTinh

    TenTinh

  • COMP1026 Introduction to Software Engneering Chapter 01 - 48 HIENLTH

    Giai on thit k (tt)

    Kin trc phn h - Module

  • COMP1026 Introduction to Software Engneering Chapter 01 - 49 HIENLTH

    Giai on thit k (tt)

    H thng chc nng Module Qun l Sinh vin

    Qun l sinh vin

    Danh sch SV Qun l kha hc

    Qun l ng k hc phn

    Qun l hc ph

  • COMP1026 Introduction to Software Engneering Chapter 01 - 50 HIENLTH

    Giai on thit k (tt)

    H thng giao din phn h sinh vin:

  • COMP1026 Introduction to Software Engneering Chapter 01 - 51 HIENLTH

    Giai on thit k (tt)

    H thng giao din phn h sinh vin:

  • COMP1026 Introduction to Software Engneering Chapter 01 - 52 HIENLTH

    Giai on thit k (tt)

    Module qun l sinh vin:

  • COMP1026 Introduction to Software Engneering Chapter 01 - 53 HIENLTH

    Giai on thit k (tt)

    H thng giao din phn h Ging vin:

  • COMP1026 Introduction to Software Engneering Chapter 01 - 54 HIENLTH

    Giai on thit k (tt)

    H thng giao din phn h Ging vin:

  • COMP1026 Introduction to Software Engneering Chapter 01 - 55 HIENLTH

    Ci t

    Kt qu:

    Ni dung: To CSDL

    To giao din

    Ci t cc x l

    Source code:

    Giao din

    DLL

    ActiveX Control

    Sample Database

    Chng trnh: EXE, Web App

    Giai on ci t

  • COMP1026 Introduction to Software Engneering Chapter 01 - 56 HIENLTH

    Kim tra

    Kt qu:

    Ni dung: Kim li

    Kim li phn h

    Kim li h thng

    Roadmap

    Test plan

    Test case

    Bug

    Test report

    Giai on kim tra

  • COMP1026 Introduction to Software Engneering Chapter 01 - 57 HIENLTH

    Trin khai

    Kt qu:

    Ni dung: ng gi sn phm

    Ci t th nghim vi d liu tht ca khch hng

    Hng dn s dng

    Chng trnh ci t

    Ti liu hng dn ci t

    Ti liu hng dn cu hnh h thng

    Giai on trin khai

  • COMP1026 Introduction to Software Engneering Chapter 01 - 58 HIENLTH

    Su liu/Ti liu lin quan

    Ti liu k thut Ti liu kho st Ti liu phn tch Ti liu thit k Ti liu hng dn lp trnh Ti liu hng dn ng gi chng trnh

    Ti liu hng dn ngi dng Broche Installation guide User Manual Release Notes Upgrade or Hot fixing guide (Version History)

  • COMP1026 Introduction to Software Engneering Chapter 01 - 59 HIENLTH

    Bo tr

    Kt qu:

    Ni dung: H tr sa li

    Theo di thay i yu cu

    Nng cp

    Ti liu hng dn gii quyt s c

    Ti liu hng dn nng cp

    Hostfix / Service Pack

    Giai on bo tr

  • COMP1026 Introduction to Software Engneering Chapter 01 - 60 HIENLTH

    M hnh thc nc m rng

    Kho st

    Phn tch

    Thit k

    Ci t

    Kim tra

    Trin khai

    Bo tr

  • COMP1026 Introduction to Software Engneering Chapter 01 - 61 HIENLTH

    Quy trnh Prototype

    Xc nh yu cu

    Thit k nhanh

    Xy dngPrototype

    nh gi v xc nh r yu cu

    Pht trin phn mm

  • COMP1026 Introduction to Software Engneering Chapter 01 - 62 HIENLTH

    Quy trnh xon c

    Tip xcKhch hng

    Lp k hoch

    Phn tch ri ro

    Phn tch, thit k

    Xy dng v trin khai

    nh gica khch hng

  • COMP1026 Introduction to Software Engneering Chapter 01 - 63 HIENLTH

    Quy trnh xon c

    Qui trnh c biu din dng xon c thay v mt dy cc hot ng vi quay lui.

    Mi ln lp trong xon c biu din mt pha trong qui trnh.

    Khng c cc pha c nh nh c t hay thit k - s ln lp trong xon c c chn ph thuc vo nhu cu.

    Cc ri ro c nh gi v gii ta mt cch r rng xuyn sut qui trnh.

  • COMP1026 Introduction to Software Engneering Chapter 01 - 64 HIENLTH

    CASE

    Computer-aided software engineering (CASE) l cc cng c phn mm c chun ha h tr cc qui trnh pht trin v tin ha phn mm.

    T ng ha cc hot ng Trnh san tho ha cho pht trin m hnh phn

    mm; Th vin d liu qun l cc thc th thit k; Trnh xy dng GUI cho vic xy dng giao din

    ngi dng; Trnh g li h tr tm li; Trnh dch t ng to phin bn mi ca mt

    chng trnh.

  • COMP1026 Introduction to Software Engneering Chapter 01 - 65 HIENLTH

    Phn loi CASE

    Phn loi gip chng ta hiu c cc kiu cng c CASE khc nhau v s h tr ca chng cho cc hot ng trong qui trnh.

    Gc nhn chc nng

    Cc cng c c phn loi theo chc nng c th ca chng.

    Gc nhn qui trnh

    Cc cng c c phn loi theo cc hot ng ca qui trnh m n h tr.

    Gc nhn kt hp

    Cc cng c c phn loi theo t chc ca chng thnh cc n v kt hp.

  • COMP1026 Introduction to Software Engneering Chapter 01 - 66 HIENLTH

    Cu hi

    1. Phn bit khoa hc my tnh vi Cng ngh Phn mm?

    2. Phn bit Cng ngh H thng vi Cng ngh Phn mm?

    3. Quy trnh phn mm l g?

    4. M hnh Quy trnh pht trin phn mm l g?

  • COMP1026 Introduction to Software Engneering Chapter 01 - 67 HIENLTH

    Cu hi (tt)

    5. Xy dng mt sn phm phn mm phi u t nhng chi ph no ?

  • COMP1026 Introduction to Software Engneering Chapter 2a - 1 HIENLTH

    Ch 2:

    Kho st hin trng & Xc nh yu cu

  • COMP1026 Introduction to Software Engneering Chapter 2a - 2 HIENLTH

    Ni dung

    Tng quan v Yu cu PM

    Xc nh yu cu

    c t yu cu

    Thm nh yu cu

    c t h thng v lm bn mu

  • COMP1026 Introduction to Software Engneering Chapter 2a - 3 HIENLTH

    KHO ST HIN TRNG

    Phn 1

  • COMP1026 Introduction to Software Engneering Chapter 2a - 4 HIENLTH

    Ni dung

    Giai on kho st hin trng v xc nh yu cu Hin trng t chc Hin trng nghip v Hin trng Tin hc (phn cng, phn mm, con

    ngi) Xc nh v thu thp yu cu:

    Phn loi yu cu: Yu cu chc nng: Lu tr, tra cu, tnh ton, kt xut Yu cu phi chc nng

    K thut thu thp yu cu: Phng vn Bng cu hi Nghin cu cc ti liu Quan st thc t

  • COMP1026 Introduction to Software Engneering Chapter 2a - 5 HIENLTH

    Ni dung

    Ti liu kho st hin trng yu cu

    S dng Power Designer m t yu cu

    Use Case Diagram

    Business Process Model

    Data Flow Diagram

  • COMP1026 Introduction to Software Engneering Chapter 2a - 6 HIENLTH

    Giai on kho st

    Kho st

    Phn tch

    Thit k

    Ci t

    Kim tra

    Trin khai

    Bo tr

    Kt qu:

    Ni dung:

    Xc nh quy trnh x l nghip v

    Thu thp biu mu thng k

    Ti liu c t kin trc h thng:

    Yu cu chc nng

    Yu cu phi chc nng

    Kin trc h thng

  • COMP1026 Introduction to Software Engneering Chapter 2a - 7 HIENLTH

    Giai on kho st (tt)

    Xt H thng qun l gio v ti trng i hc

    Qui trnh x l nghip v

    X l nhp hc

    X l nhp im

    X l sinh vin tt nghip

    Qun l ging vin

    Bo biu thng k

    H s sinh vin

    H s ging vin

    Bng im sinh vin

    Bng im theo lp

    Danh sch lp

  • COMP1026 Introduction to Software Engneering Chapter 2a - 8 HIENLTH

    Giai on kho st (tt)

    Kt qu Yu cu chc nng:

    Lu tr nhng thng tin g? Tra cu theo tiu chun no? X l tnh ton theo cng thc no? Kt xut, thng k?

    Yu cu phi chc nng: Ci t trn mi trng no? Windows hay Web? S dng h qun tr c s d liu no?

    Access/SQL Server/Oracle/DB2

    S dng cng ngh g? Java/.NET/Delphi/PHP/

  • COMP1026 Introduction to Software Engneering Chapter 2a - 9 HIENLTH

    Giai on kho st (tt)

    Xt h thng qun l gio v trng i hc:

    Kin trc h thng:

    Windows Application

    Database Server

  • COMP1026 Introduction to Software Engneering Chapter 2a - 10 HIENLTH

    Giai on kho st (tt)

    Xt h thng qun l gio v trng i hc:

    Kin trc h thng:

    Web Server

    Database Server

    Client

  • COMP1026 Introduction to Software Engneering Chapter 2a - 11 HIENLTH

    YU CU CA NGI DNG

  • COMP1026 Introduction to Software Engneering Chapter 2a - 12 HIENLTH

    Yu cu phn mm

    Yu cu ngi s dng (user requirements): Nhng pht biu bng ngn ng t nhin, biu m t cc

    dch v m h thng cung cp v cc rng buc.

    Yu cu h thng (system requirements):nu ra cc dch v ca h thng v chi tit cc rng buc. Ti liu

    ny (c th c gi l c t chc nng) cn r rng, chnh xc.

    N c dng lm c s cho hp ng gia khch hng v ngi

    pht trin h thng.

    c t phn mm: l m t khi qut cc chc nng phn mm tr gip hot ng nghip v lm c s thit k v trin

    khai phn mm sau ny. Ti liu c t phn mm c b sung

    thm cc chi tit tr thnh ti liu c t yu cu h thng.

  • COMP1026 Introduction to Software Engneering Chapter 2a - 13 HIENLTH

    Xc nh yu cu

    Khi no thc hin xc nh yu cu?

    Quy trnh thc hin xc nh yu cu ?

    c t yu cu ngi dng nh th no ?

  • COMP1026 Introduction to Software Engneering Chapter 2a - 14 HIENLTH

    Xc nh yu cu (tt)

    Xc nh yu cu c thc hin trong cc trng hp sau:

    C yu cu t pha khch hng

    K hoch thc hin d n c chp nhn (Project proposed)

  • COMP1026 Introduction to Software Engneering Chapter 2a - 15 HIENLTH

    Su liu hin trng v yu cu

    Su liu m t hin trng, yu cu bao gm:

    Qui trnh x l nghip v

    Yu cu chc nng v phi chc nng

    Danh sch mu biu thng k

    Kin trc h thng

    Phng n trin khai h thng

    K hoch s b thc hin, trin khai d n

  • COMP1026 Introduction to Software Engneering Chapter 2a - 16 HIENLTH

    Danh sch biu mu thng k

    Bo co, thng k gm cc loi sau:

    Bo co c in trn biu mu in sn

    Bo co c in trn giy trng

    V d: danh sch mu biu thng k h thng qun l nhn s:

    H s nhn vin

    Hp ng lao ng (biu mu)

    Danh sch nhn vin thuc phng ban

    Danh sch nhn vin c tng lng

    Danh sch nhn vin c b nhim chc v mi

    .

  • COMP1026 Introduction to Software Engneering Chapter 2a - 17 HIENLTH

    Kho st hin trng

    Hin trng t chc

    Hin trng nghip v

    Hin trng Tin hc (phn cng, phn mm, con ngi)

  • COMP1026 Introduction to Software Engneering Chapter 2a - 18 HIENLTH

    Kho st hin trng

    Hin trng t chc

    i ni: C cu t chc ni b

    Bn thn t chc l mt h thng, c c cu t chc

    S c cu t chc ni b

    Cch nhn tng th v 1 t chc

    i ngoi: T chc Mi trng ca t chc

  • COMP1026 Introduction to Software Engneering Chapter 2a - 19 HIENLTH

    Kho st hin trng

    Hin trng nghip v

    Hiu c quy trnh nghip v: mc tiu quantrng nht ca kho st hin trng

    C bao nhiu nghip v, bao nhiu quy trnh?

    Di gc nhn ca ngi lm qun l, khng phica chuyn vin Tin hc

    Nghip v c thc hin nh th no?

    Cc cng on, b phn lin quan

    Tn sut? Thi im thc hin

  • COMP1026 Introduction to Software Engneering Chapter 2a - 20 HIENLTH

    Kho st hin trng

    Hin trng nghip v (tt)

    Khi lng tc v/quyt nh?

    nh gi nghip v hin ti

    Cn c nhng nhn xt ca nhng ngi chuynmn trong gung my cng tc hin ti

    C vn /kh khn g hin ti hay khng?Nguyn nhn?

    Vn /kh khn c lp vi cng ngh, ch linquan n chuyn mn nghip v th cn gii quytngay

  • COMP1026 Introduction to Software Engneering Chapter 2a - 21 HIENLTH

    Kho st hin trng

    Hin trng Tin hc

    Phn cng:

    Cc thit b hin ti,

    S lng,

    Cu hnh,

    V tr (vt l),

    Tnh hnh kt ni mng,

    Loi kt ni

  • COMP1026 Introduction to Software Engneering Chapter 2a - 22 HIENLTH

    Kho st hin trng

    Hin trng Tin hc (tt)

    Phn mm:

    H iu hnh

    H qun tr CSDL

    Cc phn mm tin ch khc

    Con ngi:

    Trnh chuyn mn Tin hc

  • COMP1026 Introduction to Software Engneering Chapter 2a - 23 HIENLTH

    Xc nh v thu thp yu cu

    Phn loi yu cu: C 2 loi yu cu chnh:

    Yu cu chc nng (functional requirements):

    L danh sch cc cng vic s c thc hin trn my tnh cng vi cc thng tin m t tng ng.

    Yu cu phi chc nng (non--functional requirements) L cc yu cu lin quan n cht lng phn

    mm. (Yu cu v cht lng PM)

    L s rng buc trn cch thc thc hin yu cu chc nng.

  • COMP1026 Introduction to Software Engneering Chapter 2a - 24 HIENLTH

    V d Phn loi yu cu

    Yu cu Loi

    Thng k doanh thu bn hng Chc nng

    Tra cu sch Chc nng

    X l v phn hi nhanh Phi chc nng

    Bo mt mt khu Phi chc nng

  • COMP1026 Introduction to Software Engneering Chapter 2a - 25 HIENLTH

    Yu cu chc nng

    c chia lm 2 loi:

    Yu cu chc nng nghip v.

    Yu cu chc nng h thng.

  • COMP1026 Introduction to Software Engneering Chapter 2a - 26 HIENLTH

    Yu cu chc nng nghip v

    Cc chc nng ca PM

    tng ng vi cng vic c tht trong th gii thc.

    C 4 loi chc nng chnh ng vi 4 loi nghip v thng dng trong cc lnh vc:

    Chc nng Lu tr

    Chc nng Tra cu

    Chc nng Tnh ton

    Chc nng Kt xut

  • COMP1026 Introduction to Software Engneering Chapter 2a - 27 HIENLTH

    Yu cu chc nng nghip v (tt)

    Chc nng lu tr: Tng ng vi cc cng vic ghi chp thng tin s sch.

    VD: ghi nhn im thi kt thc hc phn ca sinh vin vi qui nh im s (t 0 n 10)

    Chc nng tra cu: Tng ng vi cc cng vic tm kim v xem thng tin tng ng.

    VD: tm sch v xem tnh trng sch

    Chc nng tnh ton: Tng ng vi cc cng vic tnh ton (theo qui nh, cng thc cho trc)

    VD: tnh tin pht tr sch tr hn theo qui nh pht

    Chc nng kt xut: Tng ng vi cc cng vic lp cc bo co (theo biu mu cho trc)

    VD: Lp bo co thng k v s lt mn sch theo tng th loi trong nm

  • COMP1026 Introduction to Software Engneering Chapter 2a - 28 HIENLTH

    Yu cu chc nng h thng

    L cc chc nng PM phi pht sinh thm khi tin hnh cc cng vic trn my tnh thay v trong th gii thc.

    L cc chc nng khng tng ng vi bt k cng vic no trong th gii thc (c nhu cu nhng khng th thc hin th cng).

    Mt s chc nng h thng thng dng sau: Phn quyn s dng gia cc loi ngi dng.

    Sao lu, backup, phc hi thng tin.

    nh cu hnh thit b, ngy gi lm vic.

    M phng hot ng th gii thc.

    Bo ng, nhc nh ngi dng.

  • COMP1026 Introduction to Software Engneering Chapter 2a - 29 HIENLTH

    Yu cu chc nng h thng (tt)

    Phn quyn s dng gia cc loi ngi dng.

    VD: Phn quyn cho 3 loi ngi dng trong phn mm qun l th vin. Qun tr h thng: c quyn s dng tt c cc

    chc nng.

    Th th: ch s dng cc chc nng lin quan n vic mn tr sch.

    c gi: ch s dng chc nng tra cu.

    Sao lu, backup, phc hi thng tin.

    VD: Sao lu thng tin cc hc sinh ra trng v ch phc hi khi cn thit.

  • COMP1026 Introduction to Software Engneering Chapter 2a - 30 HIENLTH

    Phn quyn s dng

    STT Chc nng c gi Th thQun trH thng

    1 Lp th c gi X X

    2 Tip nhn sch mi X X

    3 Tra cu sch X X X

    4 Cho mn sch X X

    5 Nhn tr sch X X

    6 Lp bo co X X

    7 Thay i qui nh X

    8 Sao lu, phc hi X

    9 X

    Th th v Qun tr phi ng nhp trc khi s dng

  • COMP1026 Introduction to Software Engneering Chapter 2a - 31 HIENLTH

    Yu cu chc nng h thng (tt)

    nh cu hnh thit b, ngy gi lm vic.

    Chn loi my in, kch thc giy, nin kho hin hnh, thng lm vic hin ti

    Bo ng, nhc nh ngi dng.

    Nhc nh th th gi giy bo i sch khi c c gi mn sch qu hn.

    Bo ng khi c khch hng thiu n qu lu hay s tin qu ln.

  • COMP1026 Introduction to Software Engneering Chapter 2a - 32 HIENLTH

    Yu cu phi chc nng

    Yu cu v sn phm: Yu cu kh dng Yu cu hiu qu (v hiu nng, v khng gian), tc x l Yu cu v tin cy Yu cu kh chuyn

    Yu cu v t chc: Yu cu chuyn giao Yu cu trin khai Yu cu v chun

    Yu cu m rng: Yu cu hot ng bn trong Yu cu o c Yu cu php l Yu cu v c nhn Yu cu an ton

  • COMP1026 Introduction to Software Engneering Chapter 2a - 33 HIENLTH

    Xc nh v thu thp yu cu

    Khi nim:

    Qu trnh nm bt yu cu

    Lm r yu cu

    Gi m yu cu

    K thut thu thp yu cu:

    Phng vn

    Bng cu hi

    Nghin cu cc ti liu

    Quan st thc t

    Lp kch bn (scenarios)

    Phn tch thit k nhm (JAD)

  • COMP1026 Introduction to Software Engneering Chapter 2a - 34 HIENLTH

    Phng vn

    Phng vn c nhn/phng vn nhm? Phng vn c nhn Phng vn nhm

    Phng vn t do/phng vn c nh hng? Phng vn t do

    Ngi c hi c cm gic thoi mi, cung cp nhiu thng tin su sc

    Nguy c: khng c c nhng thng tin cn thit, thng tin kh h thng c

    Phng vn c nh hng Ngi c hi c th cm thy khng thoi mi, t c kh nng ghi

    nhn c nhn xt, kin, suy ngh ring ca ngi c phngvn, t cm nhn c thi ca h i vi hin trng.

    C th nh hng ni dung cn tm hiu, c th h thng ha cc vn ghi nhn c

  • COMP1026 Introduction to Software Engneering Chapter 2a - 35 HIENLTH

    Phng vn (tt)

    Lm vic vi cp lnh o nm mc tiu ca h thng phn mm cn xy dng, nhng i tng cn phng vn

    Yu cu cp lnh o thng bo xung cc phng ban, n v hp tc

    Phn tch xc nh ng v nhng i tng cn phng vn

    Hn lch lm vic Xc nh trc v tr/trch nhim ca ngi

    sp phng vn

  • COMP1026 Introduction to Software Engneering Chapter 2a - 36 HIENLTH

    Phng vn (tt)

    Khi tm hiu, cn ghi nhn cc thng tin:

    Ni dung: ci g?

    Bao gi c: thi gian + thi hn

    Bng cch no c ni dung thng tin

    Ni dung dng g?

    nh gi ca ngi c phng vn v tnh hnh hin ti thc hin nghip v

    Khng nn:

    a nhn xt c nhn ca ngi phng vn

    Dng thut ng/ngn ng Tin hc

  • COMP1026 Introduction to Software Engneering Chapter 2a - 37 HIENLTH

    S dng bng cu hi

    Phi trnh by r: Mc ch ca bng cu hi,

    Mc ch s dng nhng thng tin trong bng cu hi,

    Tnh bo mt thng tin tr li (khng tit l ai l ngi cung cp thng tin, khng l ra ngoi t chc)

    Hng dn cch in: rt cn thit, cn lu trnh hiu nhm

    Thi hn tr v Cn nhc khi gn n thi hn

    Cu hi trnh by r rng

    Hnh thc bng cu hi phi d dng x l t ng

    Cn dnh ch ghi cu tr li. Thm ch cho li bnh

    Khng phi ch cui trang, hay cui bng cu hi,

    Nn d kin nhng cu hi no s c kin thm th nn c sn ch ghi li bnh ngay di cu hi )

  • COMP1026 Introduction to Software Engneering Chapter 2a - 38 HIENLTH

    Nghin cu cc ti liu

    Cc ti liu (c th tm hiu nhng vn bn chung)

    Nhng quy nh ni b

    Cc bo co lin quan

    Nhng quy nh v quy trnh nghip v Rt kh c y vn bn quy nh v quy trnh nghip v

    n v t chun ISO?

    Nhng quy nh bt thnh vn !!!

    Thng d tin hnh hn k thut phng vn hay bng cu hi

    Thng c tin hnh trc lm c s chun b cho vic phng vn hay dng bng cu hi

  • COMP1026 Introduction to Software Engneering Chapter 2a - 39 HIENLTH

    Quan st thc t

    Tin hnh sau cng (nu cn thit)

    Kim tra li:

    hiu ng nghip v hin ti?

    C nhng ngoi l?

    Pht hin nhng kh khn, l hng trong quy trnh nghip v

  • COMP1026 Introduction to Software Engneering Chapter 2a - 40 HIENLTH

    Phng php lp kch bn

    tng:

    Xem phn mm nh mt v kch

    Phn chc nng thnh nhng tnh hung s dng

    Mi tnh hung s dng cho mt kch bn din

    u im:

    Yu cu c gom nhm v c cu trc

    Yu cu c m t chi tit v r rng

  • COMP1026 Introduction to Software Engneering Chapter 2a - 41 HIENLTH

    Phng php lp kch bn (tt)

    Chc nng(mn din)

    Tnh hung(cnh din)

    M t (kch bn)

    ng nhp Ngi dng ng nhp thnh cng

    H thng: yu cu tn ng nhp v mt khu Ngi dng: cung cp thng tin ri ngh ng nhp H thng: Chuyn ti mn hnh chnh

    Ngi dng ng nhp thnh cng

    H thng: yu cu tn ng nhp v mt khu Ngi dng: cung cp thng tin ri ngh ng nhp H thng: thng bo sai v ngh cung cp li

    Qun tr ng nhp thnh cng

    H thng: yu cu tn ng nhp, mt khu v cu hi b mt

    Ngi dng: cung cp thng tin ri ngh ng nhp H thng: Chuyn ti mn hnh chnh

    Qun tr ng nhp thnh cng

    H thng: yu cu tn ng nhp, mt khu v cu hi b mt

    Ngi dng: cung cp thng tin ri ngh ng nhp H thng: thng bo sai v ngh cung cp li

  • COMP1026 Introduction to Software Engneering Chapter 2a - 42 HIENLTH

    Phn tch thit k nhm - JAD

    JAD Joint Application Design K thut p dng cho cc giai on phn tch

    yu cu v c t Cc nh pht trin v khch hng lm vic nh

    mt nhm chung v c trch nhim chung ivi kt qu u ra.

    Nhm lm vic s tho lun cc yu cu cn c,thit k cc mn hnh v bo co, xy dng mhnh nh khung nhanh, rt ra cc c t

    Ch yu da trn s ng thun (consensus)

  • COMP1026 Introduction to Software Engneering Chapter 2a - 43 HIENLTH

    References

    Slide bi ging CNPM, H KHTN, TpHCM.

    Trn Ngc Bo, Slide bi ging CNPM, H S phm TpHCM.

  • COMP1026 Introduction to Software Engneering Chapter 2a - 44 HIENLTH

    Q & A

    44

  • COMP1026 Introduction to Software Engneering Chapter 2a - 45 HIENLTH

    THE END

  • COMP1026 Introduction to Software Engneering Chapter 2b - 1 HIENLTH

    Ch 2:

    Kho st hin trng & Xc nh yu cu

  • COMP1026 Introduction to Software Engneering Chapter 2b - 2 HIENLTH

    C T YU CU

    Phn 2

  • COMP1026 Introduction to Software Engneering Chapter 2b - 3 HIENLTH

    c t yu cu

    c t yu cu l qu trnh b sung cc thng tin vo ti liu xc nh yu cu v pht trin cc m hnh phn tch

    Quan trng v chi ph sa i cao nu gp sai st

  • COMP1026 Introduction to Software Engneering Chapter 2b - 4 HIENLTH

    c t yu cu

    C th s dng cc m hnh/lc sau m t yu cu ca khch hng

    Use-case diagram (OOM)

    Activity diagram (OOM)

    Business Process Model (BPM)

    Requirement Model (RM)

    Data Flow Diagram (DFD)

  • COMP1026 Introduction to Software Engneering Chapter 2b - 5 HIENLTH

    M hnh ho yu cu

    Vn : Cc m t v yu cu trong giai on xc nh yu cu:

    Ch m t cc thng tin lin quan n vic thc hin cc nghip v trong th gii thc.

    Cha th hin r nt vic thc hin cc nghip v ny trn my tnh.

    M t thng qua cc vn bn d gy ra nhm ln v khng trc quan.

  • COMP1026 Introduction to Software Engneering Chapter 2b - 6 HIENLTH

    M hnh ho yu cu

    Mc tiu: M hnh ha th gii thc vi cc yu cu

    xc nh, gii quyt cc vn trn.

    Kt qu: S lung d liu ca tng cng vic

    S phi hp gia cc cng vic

    S lung d liu: L s biu th cc thng tin lin quan n

    vic thc hin cc nghip v trong th gii thc bn trong my tnh.

  • COMP1026 Introduction to Software Engneering Chapter 2b - 7 HIENLTH

    Ni dung

    M hnh ha yu cu:

    Lc Use-case

    Khi nim Actor v Usecase

    V d

    M hnh ha cc dng d liu ca mi Use-case

    Gii thiu M hnh DFD

    S dng m hnh DFD m hnh ha yu cu lu tr, tra cu, tnh ton, kt xut

  • COMP1026 Introduction to Software Engneering Chapter 2b - 8 HIENLTH

    M u

    t vn :

    Cc m t v yu cu trong giai on xcnh yu cu:

    Ch m t ch yu cc thng tin lin quan n victhc hin cc nghip v trong th gii thc, chath hin r nt vic thc hin cc nghip v trnmy tnh

    M t thng qu cc vn bn d gy ra nhm lnv khng trc quan

    M hnh ha yu cu

  • COMP1026 Introduction to Software Engneering Chapter 2b - 9 HIENLTH

    Use Case Diagram

    Ghi nhn chc nng h thng di gc nhn ca ngi s dng

    c xy dng trong giai on u ca quy trnh

    Mc tiu: c t ng cnh ca 01 h thng Nm bt cc yu cu ca h thng Xc nhn tnh hp l ca kin trc h thng nh hng qu trnh ci t v pht sinh cc trng

    hp test

    c dng bi nh phn tch

  • COMP1026 Introduction to Software Engneering Chapter 2b - 10 HIENLTH

    Tn Actor

    Khi nim Actor

    Tc nhn BN NGOI h thng

    C tng tc vi h thng

    Phn mm

    Con ngi

    Phn cng

    Phn mm khc

  • COMP1026 Introduction to Software Engneering Chapter 2b - 11 HIENLTH

    Tn Actor

    Actor Nhm ngi s dng

    Phn mm

    Con ngi

    Phn cng

    Phn mm khc

    Tc nhn BN NGOI h thng

    C tng tc vi h thng

  • COMP1026 Introduction to Software Engneering Chapter 2b - 12 HIENLTH

    V d

    STT Yu cu

    1 Tip nhn hc sinh

    2 Lp danh sch lp

    3 Tra cu hc sinh

    4 Nhn bng im mn

    5 Xem bo co tng kt

    6 Thay i quy nh

    Nhm ngi dng

    Gio v?

    Gio v?

    Mi ngi? Ph huynh? Hc sinh?

    Gio vin? Gio v?

    Ban gim hiu?

    Ban gim hiu? Qun tr h thng?

    Xt phn mm Qun l hc sinh cp III

    Mt nhm ngi dng tng ng vi mt Actor Mi Nhm ngi dng (Actor) c quyn s dng mt hay nhiu

    chc nng trong h thng Mt chc nng c th cho php nhiu Nhm ngi dng s dng Nhiu nhm ngi dng c cng cc quyn hn ging nhau Nn xt l 1 Actor hay nhiu Actor? Vic xc nh Actor ph thuc ng cnh v quy trnh thc t

  • COMP1026 Introduction to Software Engneering Chapter 2b - 13 HIENLTH

    V d

    STT Yu cu

    1 Lp th c gi

    2 Nhn sch mi

    3 Tra cu sch

    4 Lp phiu mn

    5 Nhn tr sch

    6 Thay i quy nh

    Nhm ngi dng

    Th th

    Th th

    Th th? c gi? Khch bt k?

    Th th

    Th th

    Th th? Qun tr h thng?

    Xt phn mm Qun l th vin

  • COMP1026 Introduction to Software Engneering Chapter 2b - 14 HIENLTH

    Tn Actor

    Actor Phn cng ngoi vi

    Tc nhn BN NGOI h thng

    C tng tc vi h thng

    Phn mm

    Con ngi

    Phn cng

    Phn mm khc

  • COMP1026 Introduction to Software Engneering Chapter 2b - 15 HIENLTH

    V d

    V d: Phn mm qun l Siu th:

    c thng tin t thit b c m vch

    Phn mm qun l ca t ng:

    c thng tin t camera

    Pht lnh iu khin m ca

    Phn mm qun l ra vo cc phng trong cng s

    c tn hiu t u c th t

    Pht lnh iu khin m ca

    Phn mm chng trm

    c tn hiu t camera, sensor

    Pht lnh iu khin ra loa, n, in thoi

    Cc thit b ngoi vim phn mm cn tng tc

    C cn lit k tt c thit b ngoi vi?

  • COMP1026 Introduction to Software Engneering Chapter 2b - 16 HIENLTH

    Tn Actor

    Actor Phn mm khc

    Tc nhn BN NGOI h thng

    C tng tc vi h thng

    Phn mm

    Con ngi

    Phn cng

    Phn mm khc

  • COMP1026 Introduction to Software Engneering Chapter 2b - 17 HIENLTH

    V d

    Kt xut/np d liu t Excel

    Kt xut d liu bo co ra phn mm gi email (Microsoft Outlook, Outlook Express)

    Phn mm trung gian kt ni chuyn i email t dng Web-based sang POP3 (v d Yahoo!Pop)

  • COMP1026 Introduction to Software Engneering Chapter 2b - 18 HIENLTH

    Nhn din cc Actor

    Tr li mt s cu hi nh: Ai l ngi s dng chc nng chnh ca h thng? Ai cn s h tr t h thng thc hin cng vic

    thng nht ca h? Ai phi thc hin cng vic bo dng, qun tr v gi

    cho h thng hot ng? H thng s kim sot thit b phn cng no? H thng ang xy dng cn tng tc vi nhng h

    thng khc hay khng ? Ai hoc vt th no quan tm n hay chu nh hng

    bi kt qu m h thng phn mm to ra?

  • COMP1026 Introduction to Software Engneering Chapter 2b - 19 HIENLTH

    Use-Case

    Khi nim Use-Case

    Mt Use-Case l mt chui cc hnh ng mh thng thc hin mang li mt kt qu quanst c i vi actor. C th hiu mt Use-Case l mt chc nngca h thng, mang mt ngha nht nh ivi ngi dng

  • COMP1026 Introduction to Software Engneering Chapter 2b - 20 HIENLTH

    Use-Case

    Khi nim Use-Case

    Mi use case c cc thuc tnh sau: Action Steps Extension Points Exceptions Pre-Conditions Post-Conditions

  • COMP1026 Introduction to Software Engneering Chapter 2b - 21 HIENLTH

    Use-Case

    Khi nim Use-Case

    Action Steps: M t cc bc thng thng tng tc

    gia ngi dng v h thng khi thc hinUse case ny

  • COMP1026 Introduction to Software Engneering Chapter 2b - 22 HIENLTH

    Khi nim Use-Case

    Action Steps: Chn chc nng xem thi kha biu Hin th mn hnh cho php ngi dng chn thng

    tin cn xem g Chn nin kha t danh sch hin c trong h

    thng Chn hc k t danh sch hin c trong h thng Chn lp hoc tn ging vin cn xem trong danh

    sch lp v ging vin hin c trong h thng Hin th thng tin chi tit thi kha biu lp hoc

    thi kha biu ca ging vin

  • COMP1026 Introduction to Software Engneering Chapter 2b - 23 HIENLTH

    Use-Case

    Khi nim Use-Case

    Extension Points: M t cc trng hp ngoi l khi s dng

    Use case ny

  • COMP1026 Introduction to Software Engneering Chapter 2b - 24 HIENLTH

    Khi nim Use-Case

    Extension Points: Nu ngi dng hy b chc nng xem thi kha

    biu th h thng quay tr li mn hnh trc khingi dng chn chc nng xem thi kha biu

    Nu ngi dng chn xem thi kha biu ca tt ccc lp th hin th TKB ca tt c cc lp cc lp

    Ngi dng c th chn xem thi kha biu ca ttc cc ging vin

    Ngi dng c th in thi kha biu ca tng lp Ngi dng c th in thi kha biu ca tng ging

    vin

  • COMP1026 Introduction to Software Engneering Chapter 2b - 25 HIENLTH

    Use-Case

    Khi nim Use-Case

    Exceptions X l li xy ra trong qu trnh ngi dng

    s dng chc nng ny

  • COMP1026 Introduction to Software Engneering Chapter 2b - 26 HIENLTH

    Khi nim Use-Case

    Exceptions Ngi dng chn lp cha c thng tin, h

    thng bo li v yu cu ngi dng chnlp khc

    Ngi dng chn ging vin cha c thngtin, h thng bo li v yu cu ngi dngchn ging vin khc

    Trnh duyt khng hin th c do lijavascript, h thng bo li v yu cungi dng chn trnh duyt khc (v dFireFox, Mozila,..)

  • COMP1026 Introduction to Software Engneering Chapter 2b - 27 HIENLTH

    Khi nim Use-Case

    Exceptions Trnh duyt khng hin th c do li

    ng truyn mng (Request timeout) hthng yu cu ngi dng refresh li chcnng ny

    Trnh duyt khng hin th c do li ktni CSDL (Connection) h thng yu cungi dng refresh li chc nng ny

  • COMP1026 Introduction to Software Engneering Chapter 2b - 28 HIENLTH

    Use-Case

    Khi nim Use-Case

    Pre-Conditions iu kin cn thc hin hnh ng

  • COMP1026 Introduction to Software Engneering Chapter 2b - 29 HIENLTH

    Use-Case

    Khi nim Use-Case

    Post-Conditions iu kin cn kt thc hnh ng

  • COMP1026 Introduction to Software Engneering Chapter 2b - 30 HIENLTH

    V d

    STT Yu cu

    1 Tip nhn hc sinh

    2 Lp danh sch lp

    3 Tra cu hc sinh

    4 Nhn bng im mn

    5 Xem bo co tng kt

    6 Thay i quy nh

    Xt phn mm Qun l hc sinh cp III

    C bao nhiu Use-case trong v d ny?

    Bao gm c tnh nng Thm mi, Xa, v Sa

  • COMP1026 Introduction to Software Engneering Chapter 2b - 31 HIENLTH

    V d

    STT Yu cu

    1 Tip nhn hc sinh

    2 Lp danh sch lp

    3 Tra cu hc sinh

    4 Nhn bng im mn

    5 Xem bo co tng kt

    6 Thay i quy nh

    Xt phn mm Qun l hc sinh cp III

    C bao nhiu Use-case trong v d ny?

    Bao gm c tnh nng Thm mi, Xa, v Sa

  • COMP1026 Introduction to Software Engneering Chapter 2b - 32 HIENLTH

    V d

    STT Yu cu

    1 Lp th c gi

    2 Nhn sch mi

    3 Tra cu hc sinh

    4 Lp phiu mn

    5 Nhn tr sch

    6 Thay i quy nh

    Xt phn mm Qun l th vin

    C bao nhiu Use-case trong v d ny?

  • COMP1026 Introduction to Software Engneering Chapter 2b - 33 HIENLTH

    V d

    STT Yu cu

    1 Sp t mch in

    2 Cung cp ngun in

    3 Thay i thng s

    4 Lu bi th nghim

    5 Ly li th nghim

    6 Thay i quy nh

    Phn mm th nghim mch in

    C bao nhiu Use-case trong v d ny?

  • COMP1026 Introduction to Software Engneering Chapter 2b - 34 HIENLTH

    Tm kim Use Case

    Tr li mt s cu hi nh:

    Actor yu cu chc nng g ca h thng?

    Actor cn phi c, to, xo, sa i hoc lu tr thng tin no ca h thng khng?

    Actor cn thit phi c cnh bo v nhng s kin trong h thng, hay actor cn phi bo hiu cho h thng v vn no khng?

    H thng c th h tr mt s cng vic thng nht ca actor no hay khng?

  • COMP1026 Introduction to Software Engneering Chapter 2b - 35 HIENLTH

    Tm kim Use Case (tt)

    Mt s cu hi khc cn ch :

    H thng cn d liu input/ouput no? D liu n t u?

    Nhng kh khn no lin quan n hin thc ca h thng hin ti (chng hn h thng qun l bng giy t nn c thay th bng h thng qun l trn my tnh)?

  • COMP1026 Introduction to Software Engneering Chapter 2b - 36 HIENLTH

    S Use-case

    Rt tin

    Khch hngKim tra ti khon

    S tng tc gia Actor v Use-caseChiu ca mi tn th hin vai tr ch ng trong s tng tc

  • COMP1026 Introduction to Software Engneering Chapter 2b - 37 HIENLTH

    Tng qut ha gia cc Actor

    Ngi s dng

    Gio vin Gio v

  • COMP1026 Introduction to Software Engneering Chapter 2b - 38 HIENLTH

    Quan h gia cc Use Case

    Use case Use case

    Dependency: Ph thuc

    Nhap TKB

    Dang Nhap

    Giao vu

  • COMP1026 Introduction to Software Engneering Chapter 2b - 39 HIENLTH

    Quan h gia cc Use Case

    Use case Use case

    Generalization: K thaXem TKB

    Xem TKB Giang vien Xem TKB Sinh vien

    Giang vien Sinh vien

  • COMP1026 Introduction to Software Engneering Chapter 2b - 40 HIENLTH

    V d minh ha

    Use case diagrams m t h thng qun l thi kha biu:

    Actor: Gio v khoa

    Ging vin

    Sinh vin

    Use case: Xem thi kha biu

    Nhp thi kha biu

    Sa thi kha biu

    Xa thi kha biu

    ng nhp

  • COMP1026 Introduction to Software Engneering Chapter 2b - 41 HIENLTH

    V d minh ha

    Use case diagram m t h thng qun l thi kha biu

  • COMP1026 Introduction to Software Engneering Chapter 2b - 42 HIENLTH

    To Use case diagram trong Power Designer

    To mi Use Case Diagram ?

    To actor

    To Use case

    M t thuc tnh cho Use case

    To mi quan h gia cc Use case/actor, use case/use case

    Pht sinh report

  • COMP1026 Introduction to Software Engneering Chapter 2b - 43 HIENLTH

    V d: H thng ATM

    Mt khch hng c th mun gi tin vo, rt tin rahoc n gin kim tra li s tin trong ti khon ca anhta qua my t ng rt tin (ATM). Khi a tin vo hocrt tin ra, cn phi ghi ra giy kt qu nhng chuyn dch thc hin v trao t giy ny cho khch hng.

    Quan st cc chc nng cn bn v cc thnh phntham gia, ta thy c hai tc nhn d nhn ra nht l khchhng v ATM. Qua , c th nhn dng cc Use Case sau: Gi tin vo. Rt tin ra. Kim tra mc tin trong ti khon Thc hin cc chuyn dch ni b h thng In kt qu cc chuyn dch thc hin.

  • COMP1026 Introduction to Software Engneering Chapter 2b - 44 HIENLTH

    V d: H thng ATM (tt)

    Cc Use case trong h thng ATM

  • COMP1026 Introduction to Software Engneering Chapter 2b - 45 HIENLTH

    M t hot ng rt tin t ATM

    1. Use-Case bt u khi khch hng a th tn dng vo. H thng c v kim tra thng tin ca th.

    2. H thng nhc nhp s PIN. H thng kim tra s PIN.

    3. H thng hi tc v no khch hng mun thc hin. Khch hng chn Rt tin.

    4. H thng hi s lng. Khch hng nhp s lng.5. H thng yu cu nhp kiu ti khon. Khch hng

    chn Ti khon th.6. H thng lin lc vi ATM network . . .Yu cu: V s Use Case Diagram m t hot ng

    rt tin ca khch hng.

  • COMP1026 Introduction to Software Engneering Chapter 2b - 46 HIENLTH

    V d v c t phn mm

    M t qui trnh x l nhp hc trong ng dng qun l sinh vin ?

    i tng, b phn, phng ban no tham gia vo quy trnh ? Sinh vin Phng o to Vn phng khoa Phng ti chnh (nu cn)

    Thc hin nhng cng vic g ? Chun b h s nhp hc Np h s Nhp h s .

  • COMP1026 Introduction to Software Engneering Chapter 2b - 47 HIENLTH

    V d v c t phn mm

    Dng BPM m t quy trnh x l nhp hc.

  • COMP1026 Introduction to Software Engneering Chapter 2b - 48 HIENLTH

    V d v c t phn mm

    Dng BPM m t quy trnh x l nhp hc.

  • COMP1026 Introduction to Software Engneering Chapter 2b - 49 HIENLTH

    V d v c t phn mm

    Dng BPM m t quy trnh x l nhp hc.

  • COMP1026 Introduction to Software Engneering Chapter 2b - 50 HIENLTH

    Cc thnh phn trong s BPM

    Organization Unit

    Process

    Resource

    Decision

    Flow/Resource Flow

    Start/End/Synchronization

    CSDL QLSV : 2

    Tiep nhan TKB

    Kiem tra hop le

    TKB lopXep TKBCSDL TKB

    SInh Vien

  • COMP1026 Introduction to Software Engneering Chapter 2b - 51 HIENLTH

    S lung d liu (DFD)

    Cc k hiu

    Tc nhn/thit b (Ngi s dng, thit b pht sinh hay tip nhn d liu)

    Khi x l

    Lung d liu (thng tin)

    B nh ph (H s, S sch, tp tin, csdl)

  • COMP1026 Introduction to Software Engneering Chapter 2b - 52 HIENLTH

    Cc cp s

    Cc cp s Cp 0: Ton b phn mm l mt khi x l Cp 1: S cp 0 c th phn r thnh

    nhiu s cp 1, cc s cp 1 ny phi m bo th hin y ngha s cp 0 (tc nhn, thit b, lung d liu, x l, b nh ph)

    Cp 2: Mi s cp 1 li c th phn r thnh nhiu s cp 2 tng t nh vic phn r ca s cp 0

  • COMP1026 Introduction to Software Engneering Chapter 2b - 53 HIENLTH

    V d: s cp 0

    Bang Bao Cao

    Hop Dong

    Ket Qua Yeu Cau

    Yeu Cau Lap Dat

    Yeu Cau Vat Tu Cap

    Yeu Cau Vat Tu Tong Dai

    Thong Tin Thi Truong

    1

    Quan Ly Lap Dat

    Thue Bao

    +

    Khach Hang

    Bo Phan

    Nghien Cuu

    Thi Truong

    Ban Giam Doc

  • COMP1026 Introduction to Software Engneering Chapter 2b - 54 HIENLTH

    Tinh Trang Yeu Cau Khach Hang

    [Yeu Cau Lap Dat]

    [Ket Qua Yeu Cau]

    [Thong Tin Thi Truong]

    [Hop Dong]

    [Bang Bao Cao]

    [Yeu Cau Vat Tu Tong Dai]

    [Yeu Cau Vat Tu Cap]

    Cac Yeu Cau Co The Dap UngBang Tai Nguyen

    Bang Ke Hoach

    Yeu Cau Mo Rong

    Thong tin Yeu Cau chua duoc dap ung

    Bang Tai Nguyen

    Thong Tin Tong Dai va Tuyen Cap

    Thong Tin Thue Bao

    Thong Tin Cap _ Thue Bao

    Du Lieu Yeu Cau

    Du Lieu Yeu Cau

    Bo Phan

    Nghien

    Cuu Thi

    Truong

    Ban Giam

    Doc

    Khach

    Hang

    1.1

    Xu Ly Yeu

    Cau

    +

    1.3

    Lap Dat

    Thue Bao

    +

    1.4

    Lap Ke

    Hoach

    +

    1.5Lap Dat He

    Thong va

    Quan Ly

    Mang+

    1.2Xu Ly Yeu

    Cau Mo

    Rong

    CSDL Yeu Cau Khach Hang

    V d: s cp 1

  • COMP1026 Introduction to Software Engneering Chapter 2b - 55 HIENLTH

    S tng qut

    Ngi dng

    Thit b nhp Thit b xutX l

    D1 D2

    D3 D4

    D5

    D6

    ngha tng dng d liuD1:.D2:.D3:.D4:.D5:.D6:.

    Thut ton x l:-Bc 1:-Bc 2:-Bc 3:-..

    D liu nhp

    D liu xut

    D liu c D liu ghi

  • COMP1026 Introduction to Software Engneering Chapter 2b - 56 HIENLTH

    S tng qut cho Yu cu lu tr

    D1: Thng tin cn lu tr (da vo biu mu lin quan)

    D5: Thng tin cn lu tr (ch c trong mt s yu cu c bit)

    D3: Cc danh mc chn la D liu cn thit cho vic kim

    tra tnh hp l (da vo quy nh)

    D2: Cc danh mc chn la Kt qu thnh cng/tht bi

    D4: D liu c lu tr (da vo biu mu). Ghi ch: Thng thngD4 = D1 (+ D5) (+ ID t pht sinh)

    D6: D liu kt xut (ch c trong mt s yu cu c bit)

    Ngi dng

    Thit b nhp Thit b xutX l LT

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 57 HIENLTH

    S tng qut cho Yu cu lu tr

    X l lu tr

    c D3 ly cc tham s, quy nh v danh mc

    Hin th D2 (cc danh mc)

    Nhn thng tin D1, D5 (nu cn)

    Kim tra cc thng tin D1, D5 c tha quy nh lin quan hay khng (da vo D3 nu cn thit)

    Nu tha quy nh, ghi D4, thng bo kt qu D2 (nu cn) v xut D6 (nu cn thit)

    Ngi dng

    Thit b nhp Thit b xutX l LT

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 58 HIENLTH

    S tng qut cho Yu cu lu tr

    Ghi ch:

    D1 khng nht thit cha ton b thng tin trong biu mu lin quan

    Ty theo quy nh c th c hay khng c D5

    D4 hoc D6 khng nht thit phi trng vi D1 hoc D5

    D2 khng nht thit phi trng vi D3

    Ngi dng

    Thit b nhp Thit b xutX l LT

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 59 HIENLTH

    S tng qut cho Yu cu tra cu

    D1: Thng tin v i tng mun tm kim (da vo biu mu lin quan n i tng cn tm kim)

    D5: Thng tin v i tng mun tm kim (ch c trong mt s yu cu c bit)

    D3: Cc danh mc chn la D liu v i tng khi tm thy

    (da vo biu mu lin quan n i tng cn tm kim)

    D2: Cc danh mc chn la D liu v i tng khi tm thy

    (da vo biu mu lin quan n i tng cn tm kim)

    D6: D liu kt xut (thng thng l cn thit)

    D4: D liu cn lu tr li Thng thng khng cn thit Cn thit khi no???

    Ngi dng

    Thit b nhp Thit b xutX l TC

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 60 HIENLTH

    S tng qut cho Yu cu tra cu

    X l tra cu

    c ly cc danh mc (D3)

    Hin th D2 (cc danh mc)

    Nhn thng tin v tiu ch tmkim D1, D5 (nu cn)

    Tm kim theo cc tiu ch D1,D5, nhn c danh sch cci tng tm c (D3)

    Hin th thng tin kt qu (D2)v kt xut D6 (nu cn)

    Ngi dng

    Thit b nhp Thit b xutX l TC

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 61 HIENLTH

    S tng qut cho Yu cu tra cu

    Ghi ch: C rt nhiu mc khc nhau t

    rt n gin n rt phc tp xc nh D1

    D1 chc nhiu thng tin th vic tmkim s d dng cho ngi dng vngc li s kh khn cho phnthit k v ci t chc nng ny

    D3 thng thng l danh sch cci tng tm thy cng vi thngtin lin quan.

    D3 cng c rt nhiu mc khcnhau xc nh cc thng tin cai tng tm thy

    D2 v D6 thng trng vi D3(nhng khng nht thit)

    Ngi dng

    Thit b nhp Thit b xutX l TC

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 62 HIENLTH

    S tng qut cho Yu cu tnh ton

    D1: Thng tin v i tng cn thchin vic x l tnh ton (da vo ccbiu mu lin quan)

    D5: Thng tin v i tng cn thchin vic x l tnh ton (ch c trongmt s yu cu c bit)

    D3: D liu cn thit cho vic x l

    tnh ton (da vo biu mu vquy nh lin quan)

    Cc tham s tnh ton D4: Kt qu ca x l tnh ton D2: Kt qu ca x l tnh ton

    (thng gm c D3 v D4) D6: D liu kt xut (thng gm c

    D3 v D4)

    Ngi dng

    Thit b nhp Thit b xutX l TT

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 63 HIENLTH

    S tng qut cho Yu cu tnh ton

    X l tnh ton

    Nhn thng tin D1, D5 (nucn)

    c D3 ly cc d liu cnthit cho vic tnh ton (k ccc tham s)

    S dng D1, D3, D5 v quynh lin quan tnh kt quD4

    Ghi kt qu D4

    Hin th thng tin kt qu D2v kt xut D6

    Ngi dng

    Thit b nhp Thit b xutX l TT

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 64 HIENLTH

    S tng qut cho Yu cu tnh ton

    Ghi ch:

    D1 thng c cha yu t thigian thc hin x l tnh ton

    C nhiu mc khc nhauxc nh D1 trong x l tnhton ( tng tnh tin dng)

    D1 c th rng (tnh ton chomi i tng trong tt c ctmc thi gian lin quan)

    D4 c th c hay khng c

    => Khi no cn D4?

    Thng thng D2 v D6 baogm D3 v D4

    Ngi dng

    Thit b nhp Thit b xutX l TT

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 65 HIENLTH

    S tng qut cho Yu cu bo biu

    D1: Thng tin v bo biu mun thchin (da vo biu mu lin quan)

    D5: Thng tin v bo biu mun thchin (ch c trong mt s yu cu cbit)

    D3: D liu cn thit cho vic tc hinbo biu (da vo biu mu v quynh lin quan)

    D4: Thng tin c trong bo biu linquan (cn thit phi lu li) nhngcha c x l v ghi nhn li (yucu x l tnh ton)

    D2: Thng tin v bo biu c lp(biu mu lin quan)

    D6: D liu kt xut (thng ging D2)

    Ngi dng

    Thit b nhp Thit b xutX l BB

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 66 HIENLTH

    S tng qut cho Yu cu bo biu

    X l bo biu

    Nhn thng tin D1, D5 (nucn)

    c D3 ly cc d liu cnthit cho vic lp bo biu

    Nu c D4 th tnh ton theoquy nh v Ghi kt qu D4

    Hin th thng tin bo biu D2v kt xut D6

    Ngi dng

    Thit b nhp Thit b xutX l BB

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 67 HIENLTH

    S tng qut cho Yu cu bo biu

    Ghi ch:

    D1 thng c cha yu t thigian ca bo biu

    C nhiu mc khc nhauxc nh D1 trong x l tnhton ( tng tnh tin dng)

    D4 c th c hay khng c

    => Khi no cn D4?

    Thng thng D2 v D6 baogm D3 v D4

    Ngi dng

    Thit b nhp Thit b xutX l BB

    D1 D2

    D3 D4

    D5

    D6

  • COMP1026 Introduction to Software Engneering Chapter 2b - 68 HIENLTH

    Bi tp

    c t yu cu v xy dng Use case diagram cho cc ng dng sau: Qun l gii bng v ch quc gia

    Qun l bnh chn bi ht hay Ln sng xanh

    Qun l gio v trng i hc

    Qun l gio v trng ph thng

    Qun l bn hng

    Qun l hc vin trung tm tin hc, ngoi ng

    Qun l nhn s -tin lng

    Qun l bn hng trc tuyn

    Qun l nh tr

  • COMP1026 Introduction to Software Engneering Chapter 2b - 69 HIENLTH

    References

    Bi ging ny tham kho:

    Slide bi ging Nhp mn Cng ngh Phn mm, Trn Ngc Bo, H S phm TpHCM.

    Slide bi ging Xy dng phn mm hng i tng, Trn Minh Trit, H KHTN TpHCM.

    Gio trnh Nhp mn Cng ngh Phn mm, Nguyn Tin Huy, H KHTN TpHCM

  • COMP1026 Introduction to Software Engneering Chapter 2b - 70 HIENLTH

    Q & A

    70

  • COMP1026 Introduction to Software Engneering Chapter 2b - 71 HIENLTH

    Cu hi v tho lun

    ?

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 1 HIENLTH

    Ch 3 (tt): Phn tch Phn mm

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 2 HIENLTH

    Phn tch Hng i tng

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 3 HIENLTH

    Ni dung

    S lp mc phn tch Xc nh cc lp i tng chnh

    Xc nh cc thng tin v hnh ng/trch nhim ca mi lp

    i tng chnh

    Xc nh cc quan h chnh

    Xc nh cc lp i tng ph, cc danh mc

    S lp v Kh nng tin ha ca h thng

    S trng thi Khi nim v cc k hiu

    Trng thi

    Bin c, iu kin

    Trng thi u, trng thi cui

    Superstate

    p dng

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 4 HIENLTH

    Mt s khi nim m u

    Vn : M t li bng mt ngn ng no (thng l cc s ) nhm din t trc quan v vn

    Phn tch: xy dng m hnh Th gii thc

    Phn tch theo hng i tng: xy dng cc m hnh v cc i tng ca Th gii thc

    Mt s loi S : S lp i tng: M t h thng cc lp i

    tng (thuc tnh, hnh ng) cng vi cc quan hgia chng

    S trng thi: M t chu trnh sng ca i tng

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 5 HIENLTH

    Nhc li v hng i tng

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 6 HIENLTH

    Nhc li v hng i tng

    Tn class Tn class

    (Cc) phng thc

    (Cc) thuc tnh

    Mt s k hiu

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 7 HIENLTH

    Public/Protected/Private

    + Thuc tnh/Phng thc public

    - Thuc tnh/Phng thc private# Thuc tnh/Phng thc protected

    Phng thc Public

    Phng thc Protected

    Phng thcPrivate

    Class

    - privateAttribute# protectedAttribute

    +publicOp()# protectedOp()

    - privateOp()

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 8 HIENLTH

    Class

    - classifierScopeAttribute

    classifierScopeOperation()

    - instanceScopeAttribute

    instanceScopeOperation()

    Tm vc

    Xc nh s lng th hin ca thuc tnh / phng thc

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 9 HIENLTH

    V d

    CSinhVien

    - name- address

    - nextAvailID : int

    + addSchedule(theSchedule : Schedule, forSemester : Semester)+ getSchedule(forSemester : Semester) : Schedule+ hasPrerequisites(forCourseOffering : CourseOffering) : boolean# passed(theCourseOffering : CourseOffering) : boolean+ getNextAvailID() : int

    - studentID

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 10 HIENLTH

    Nhn xt

    Tn class

    (Cc) phng thc

    (Cc) thuc tnh

    Bnh thng: Class bnh thngIn nghing: Class thun oGch di: Object (khng phi class)

    Bnh thng: Thuc tnh bnh thngIn nghing: khng s dngGch di: Thuc tnh static

    Bnh thng: Phng thc bnh thngIn nghing: Phng thc virtualGch di: Phng thc static

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 11 HIENLTH

    V d

    CTamGiac

    # CDiem P1# CDiem P2# CDiem P3

    + CTamGiac()+ float DienTich()+ float ChuVi()+ void Ve()+ ...

    CTuGiac

    # CDiem P1# CDiem P2# CDiem P3# CDiem P4

    + CTuGiac()+ float DienTich()+ float ChuVi()+ void Ve()+ ...

    CEllipse

    # CDiem Tam# float A# float B

    + CEllipse()+ float DienTich()+ float ChuVi()+ void Ve()+ ...

    CHinhVe

    # int MaLoaiHinhVe

    + float DienTich()+ float ChuVi()+ void Ve()+ ...

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 12 HIENLTH

    Quan h gia cc lp i tng

    Quan h k tha

    ClassB k tha t ClassA

    ClassB l mt trng hp c bit ca ClassA

    ClassA l trng hp tng qut ca ClassB

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 13 HIENLTH

    Quan h gia cc lp i tng

    Quan h Association

    Hoc

    Trong ClassA c thuc tnh c kiu l ClassB

    Hoc

    Trong ClassB c thuc tnh c kiu l ClassA

    Nhn xt: V mt lp trnh, thuc tnh c thc lu tr dng bin n, bin mng, haybin con tr

    V d: ?

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 14 HIENLTH

    Quan h gia cc lp i tng

    Quan h Aggregation

    xc nh c ClassA v ClassB c quan h Association vi nhau Xc nh r hn:

    Trong object ca ClassA c cha (trong phnthuc tnh) object ca ClassB

    ObjectX ca ClassA b hy th ObjectY ca ClassB(bn trong ObjectX) vn c th cn tn ti

    V d: ?

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 15 HIENLTH

    Quan h gia cc lp i tng

    Quan h Composition

    xc nh c ClassA v ClassB c quan h Association vi nhau Xc nh r hn:

    Trong object ca ClassA c cha (trong phnthuc tnh) object ca ClassB

    ObjectX ca ClassA b hy th ObjectY ca ClassB(bn trong ObjectX) khng th cn tn ti

    V d: ?

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 16 HIENLTH

    Quan h gia cc lp i tng

    Chiu ca quan h (Association, Aggregation, Composition)

    Nu quan h l 1 chiu: a s cc li gi hm c gi theo ng chiu ca quan h

    Nu quan h l 2 chiu: khng v mi tn

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 17 HIENLTH

    Quan h gia cc lp i tng

    Bn s - Multiplicity (Association, Aggregation, Composition)

    ngha

    V d: 1

    2

    1..*

    0..*

    *

    1, 3, 5..9

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 18 HIENLTH

    Quan h gia cc lp i tng

    Quan h Dependency

    ClassA v ClassB khng c quan h Association

    ClassA ph thuc vo ClassB

    class A{

    void F(B x){}

    };

    class A{

    B F(){}

    };

    class A{

    void F(){

    B x;}

    };

    Trong ClassA cs dng bin toncc (kiu B), hocs dng phngthc/thuc tnhstatic ca ClassB

    Tham s truyn vo Kt qu tr ra Bin cc b

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 19 HIENLTH

    Xy dng s lp mc phn tch

    CLASS DIAGRAM

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 20 HIENLTH

    Class Diagram

    c xy dng v hiu chnh trong sut qu trnh pht trin

    Mc tiu: t tn v lp m hnh cc khi nim trong

    h thng

    c t s cng tc

    c t s CSDL

    c pht trin bi phn tch vin, thit k vin, lp trnh vin

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 21 HIENLTH

    Lp danh sch cc i tng

    Tiu chun nhn dng i tng nh danh: i tng phi c tn (thng l danh t/ng danh

    t)

    Chu trnh sng: c thi im sinh ra, c khong thi gian hotng, c thi im chm dt

    S c lp tng i vi cc i tng khc

    ngh: Con ngi

    Vt th

    T chc

    Vt l

    Khng gian

    Thi gian

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 22 HIENLTH

    Lp danh sch cc i tng

    Lp danh sch cc i tng lin quan n h thngi tng ngh

    Khng l i tng L i tng

    c quan tmKhng c quan tm

    i tng chnhi tng ph

    Tiu chun nhn dng i tng: c rt nhiu trng phi

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 23 HIENLTH

    V d

    V d: Xt ng cnh l 1 trng PTTH vi phnmm qun l trng cp 3:

    Danh sch ngh:

    Hc sinh T B mn S tit

    Gio vin BGH TKB

    Mn hc Khi Bng im

    Lp Ph huynh Phng

    Hc k TB Hc ph

    Nm hc Din HS

    i tng/Khng phi i tng?

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 24 HIENLTH

    V d

    c quan tm?

    Phn mm qun l hc sinh:

    Hc sinh, Gio vin, Mn hc, Lp, Khi, Ph huynh, Hc k, Nm hc

    Phn mm qun l gio vin:

    Gio vin, T b mn, Mn hc, Khi, Lp, Hc k, Nm hc

    Phn mm xp thi kha biu:

    Gio vin, Mn hc, Lp, Phng, Hc k,Nm hc

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 25 HIENLTH

    V d

    i tng chnh?i tng ph

    Phn mm qun l hc sinh:

    Hc sinh, Gio vin, Mn hc, Lp, Khi, Ph huynh, Hc k, Nm hc

    Phn mm qun l gio vin:

    Gio vin, T b mn, Mn hc, Khi, Lp, Hc k, Nm hc

    Phn mm xp thi kha biu:

    Gio vin, Mn hc, Lp, Phng, Hc k,Nm hc

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 26 HIENLTH

    Lp danh sch cc quan h

    Tiu ch nh gi: ng t S ph thuc gia cc i tng (ch yu xt cc i tng

    chnh)

    ngh: Quan h theo thi gian

    t bin ng: sau 1 thi gian di mi thay i (thng lmv mt t chc)

    Bin ng: quan h xy ra vo lc no, trong thng tin cthuc tnh v thi gian, thay i theo thi gian (thng quantm nhiu n loi quan h ny)

    Quan h v t chc (thng lin quan n i tng ph) Quan h v khng gian (thng lin quan n i tng ph Quan h theo vai tr: Ch ng/B ng

    V d:?

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 27 HIENLTH

    Nhn dng thuc tnh

    S ph thuc (khng c ngha r rng khi ng c lp) Ph thuc mt i tng Thuc tnh ca i tng

    Ph thuc nhiu i tng Thuc tnh ca quan h

    Cc loi thuc tnh nh danh (thng ca i tng)

    Phn loi

    Thi gian

    Khng gian

    nh lng

    V d: ?

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 28 HIENLTH

    Cc bc xy dng s lp mc phn tch

    Bc 1: Xc nh cc lp i tng, quan h v thuc tnh trc tip t yu cu ca h thng

    Xt ln lt tng biu mu v quy nh

    Nu trong s lp hin ti cha c th lu tr c thng tin cn thit:

    Cn b sung thuc tnh vo lp i tng c?

    Cn b sung thuc tnh vo quan h c?

    Cn b sung thm quan h gia cc lp i tng c?

    Cn b sung thm lp i tng mi?

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 29 HIENLTH

    Cc bc xy dng s lp mc phn tch

    Bc 2:

    Nu mt lp i tng c thuc tnh c cutrc phc tp hoc c cc thuc tnh c linh cht ch vi nhau v c ng ngha c thth nn tch ra thnh lp i tng ph

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 30 HIENLTH

    Cc bc xy dng s lp mc phn tch

    Bc 3:

    3.1. Nhiu lp i tng c nhiu c im chung

    Xy dng lp i tng tng qut chung cho cclp i tng c th ny

    3.2. Mt lp i tng c thuc tnh phn loi vcch x l trong cc phng thc ca i tngthuc lp ny ph thuc vo gi tr ca thuc tnhphn loi

    Tch lp i tng ny thnh nhiu lp i tngcon tng ng vi mi (nhm) gi tr ca thuc tnhphn loi

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 31 HIENLTH

    Cc bc xy dng s lp mc phn tch

    Bc 4:

    Hiu chnh cc quan h c ph hp vi cc lp i tng va c iu chnh

    Bc 5:

    Kim tra li s lp v hiu chnh (theo kinhnghim)

    Bc 6:

    B sung cc trch nhim (phng thc) vocc lp i tng mc phn tch

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 32 HIENLTH

    Kt qu

    S lp Danh sch cc lp i tng v quan h

    M t chi tit tng lp i tng v quan h Vi mi lp i tng:

    M t cc thuc tnh

    Danh sch cc trch nhim chnh

    Vi mi quan h:

    STT Tn lp/quan h Loi ngha/ghi ch

    STT Tn thuc tnh Kiu Rng buc ngha/ghi ch

    STT Tn thuc tnh Kiu Rng buc ngha/ghi ch

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 33 HIENLTH

    p dng

    p dng thc t vo cc bi tp

    Xc nh cc lp i tng chnh

    Xc nh cc thng tin v hnh ng/trch nhim ca mi lp i tng chnh

    Xc nh cc quan h chnh

    Xc nh cc lp i tng ph, cc danh mc

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 34 HIENLTH

    V d

    0..1Co

    0..*Thuoc

    0..1

    0..*

    0..1

    0..*

    CGiangVien

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    GVID

    MaGV

    HocVi

    ChucDanh

    TenVT

    Ho

    Ten

    DiaChi

    DienThoai

    Email

    : long

    : string

    : string

    : string

    : string

    : string

    : string

    : string

    : string

    : string

    CKhoa

    #+

    -

    KhoaIDMaKhoa

    TenKhoa

    : int: string

    : string

    CBoMon

    +

    +

    +

    BMID

    MaBM

    TenBM

    : long

    : string

    : string

    + Insert () : int

    0..1

    0..*

    CNganh

    +

    +

    +

    +

    NganhID

    MaNganh

    TenNganh

    TenVT

    : long

    : string

    : string

    : string

    CKhoa

    #

    +

    -

    KhoaID

    MaKhoa

    TenKhoa

    : int

    : string

    : string

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 35 HIENLTH

    V d

    0..1Co

    0..*Thuoc

    0..1

    0..*

    0..1

    0..*

    0..1

    0..*

    0..1

    0..*

    0..10..*

    0..10..*

    0..10..*

    1..1

    0..*

    1..1 0..*

    1..1

    0..*

    CBoMon

    +

    +

    +

    BMID

    MaBM

    TenBM

    : long

    : string

    : string

    + Insert () : int

    CGiangVien

    +

    +

    +

    +

    +

    +

    +

    +

    +

    +

    GVID

    MaGV

    HocVi

    ChucDanh

    TenVT

    Ho

    Ten

    DiaChi

    DienThoai

    Email

    : long

    : string

    : string

    : string

    : string

    : string

    : string

    : string

    : string

    : string

    CKhoa

    #

    +

    -

    KhoaID

    MaKhoa

    TenKhoa

    : int

    : string

    : string

    CLOP

    +

    +

    +

    +

    +

    LOPID

    MALOP

    TENLOP

    NAMTS

    TenVT

    : long

    : string

    : string

    : short

    : string

    CLOPNK

    +

    +

    +

    LOPNKID

    NAM

    NAMHOC

    : long

    : short

    : short

    CMONHOC

    +

    +

    +

    +

    +

    +

    +

    MonID

    MaMon

    TenMon

    TinChi

    SoTietLT

    SoTietBT

    TenVT

    : long

    : string

    : string

    : short

    : short

    : short

    : string

    +

    +

    +

    +

    Them ()

    Xoa ()

    Sua ()

    LayDL ()

    : void

    : void

    : void

    : void

    CNganh

    +

    +

    +

    +

    NganhID

    MaNganh

    TenNganh

    TenVT

    : long

    : string

    : string

    : string

    CTKB

    +

    +

    +

    +

    +

    +

    TKBID

    TKB

    HOCKY

    NAMHOC

    NGAYBD

    NGAYKT

    : long

    : string

    : short

    : short

    : DateTime

    : DateTime

    CTKBLOP

    + TKBLOPID : long

    CTKBLOP_CHITIET

    ++

    +

    +

    +

    THUTIETBD

    TIETKT

    LYTHUYET

    PHONG

    : short: short

    : short

    : short

    : string

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 36 HIENLTH

    S trng thi

    STATECHART DIAGRAM

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 37 HIENLTH

    Statechart Diagram

    Ghi nhn cc hnh vi ng (even oriented)

    Mc tiu:

    M hnh ha chu k sng ca i tng

    M hnh ha cc i tng phn hi (user interfaces, devices, )

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 38 HIENLTH

    Cc khi nim

    S trng thi

    M t chu trnh sng ca cc i tng chnh t khi sinh ra, hot ng & mt i

    Mi i tng c th c nhiu s trng thi theo cc gc nhn khc nhau

    Trng thi & bin c

    Trng thi ca i tng din t tnh trng hin c ca i tng (c ngha trong mt on thi gian)

    Bin c l cc s kin xy ra lm cho i tng chuyn trng thi.

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 39 HIENLTH

    State Diagram Bn c

    Khi to bn c

    Qun trng iQun en i

    Qun trng thng Ha Qun en thng

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 40 HIENLTH

    V d: Xt ng dng qun l TKB

    H thng cho php b phn gio v Khoa nhp thi kha biu, cp nht thi kha biu ca tt c cc lp

    H thng cho php sinh vin tra cu thi kha biu theo tng hc k ca lp

    H thng cho php ging vin tra cu thi kha biu ging dy trong hc k

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 41 HIENLTH

    V d minh ha State Diagram m t trng thi TKB

    [Bt u hc k mi]

    [Kt thc hc k]

    [Tt c cc lp c phn phng]

    [Mt s lp cha c phn phng]

    C lp mi c phn [Cn lp cha c phn phng]

    [Tt c cc lp c phn phng]

    Yu cu tra cu TKB

    Khi to

    do / Khoi tao TKBCh phn phng

    C lp mi c phn() / Cap nhat Phong

    ang s dng

    Yu cu tra cu TKB(Lop) / TKB Lop

    Yu cu tra cu TKB(GV) / TKB Ging vin

    ng

    do / Ket thuc hoc ky

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 42 HIENLTH

    Cc thnh phn trong State diagram

    Trng thi State

    S kin Event

    Hnh ng Action

    Mi lin h gia cc trng thi

    State1

    entry / Action_1

    do / Action_2

    exit / Action_3

    Event_1 [Condition]/ Action 11State1

    entry / Action_1

    do / Action_2

    exit / Action_3

    State2

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 43 HIENLTH

    Mt s k hiu

    Tn trng thi

    Tn trng thi

    stateVar : type = value

    entry/ entry actiondo/ activityexit/ exit action

    Tn bin c (tham s)Tn hnh ng (tham s)

    [iu kin]

    Trng thi

    Chuyn i trng thi

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 44 HIENLTH

    Trang thi bt u L trng thi khi mi c khi to ca object

    Bt buc phi c

    Ch c th c 1 trng thi bt u

    Trang thi kt thc Ch v tr kt thc i sng ca object

    Khng nht thit phi th hin

    C th c nhiu

    Tr/thi bt u

    Tr/thi kt thc

    Cc trng thi c bit

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 45 HIENLTH

    Tn trng thi

    stateVar : type = value

    entry/ entry actiondo/ activityexit/ exit action

    Bin c(tham s) [Biu thc iu kin]/ Hnh ng (tham s)

    Trng thi Bin c

    Chuyn i trng thi

    Hnh ng

    Hnh ng

    S trng thi

    L th c hng vi cc node l cc trng thi ni vi nhau bi cc cung m t vic chuyn i trng thi

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 46 HIENLTH

    Cc thnh phn trong State diagram

    S kin Event

    Event

    Entry: s kin pht sinh khi i tng bt u nhn trng thi

    Exit: s kin pht sinh khi i tng kt thc trng thi thc trng thi

    Do: s kin pht sinh khi user thc hin mt hnh ng thng qua bn phm/chut.

    State1

    entry / Action_1

    do / Action_2

    exit / Action_3

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 47 HIENLTH

    Cc thnh phn trong State diagram

    Trng thi State

    Action

    Entry: hnh ng c thc hin khi i tng bt u trng thi

    Do: tp cc hnh ng c th thc hin vi trng thi

    Exit: hnh ng c thc hin khi i tng kt thc trng thi

    State1

    entry / Action_1

    do / Action_2

    exit / Action_3

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 48 HIENLTH

    Cc thnh phn trong State diagram

    Mi lin h gia cc trng thi Transition

    Event

    Action

    Condition: iu kin cho php chuyn t trng thi ny sang trng thi khc

    Event_1 [Condition]/ Action 11State1

    entry / Action_1

    do / Action_2

    exit / Action_3

    State2

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 49 HIENLTH

    Cc thnh phn trong State diagram

    State Event Action Transition

    Huy Huy

    Huy

    / SoLuong = 10

    Them Sinh Vien/ SoLuong = 0

    Them Sinh Vien [SoLuong

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 50 HIENLTH

    V d minh ha State Diagram m t trng thi TKB

    [Bt u hc k mi]

    [Kt thc hc k]

    [Tt c cc lp c phn phng]

    [Mt s lp cha c phn phng]

    C lp mi c phn [Cn lp cha c phn phng]

    [Tt c cc lp c phn phng]

    Yu cu tra cu TKB

    Khi to

    do / Khoi tao TKBCh phn phng

    C lp mi c phn() / Cap nhat Phong

    ang s dng

    Yu cu tra cu TKB(Lop) / TKB Lop

    Yu cu tra cu TKB(GV) / TKB Ging vin

    ng

    do / Ket thuc hoc ky

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 51 HIENLTH

    V d minh ha

    State Diagram m t trng thi mn hnh qun l danh mc ngi dng

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 52 HIENLTH

    V d minh ha

    State Diagram m t trng thi mn hnh qun l danh mc ngi dng

    ThoatThm ND Sa ND [ chn ND]

    Kt thc sa NDKt thc Thm ND

    Khi to mn hnh

    entry / Load

    entry / Show

    do / Thm ND

    do / Sa ND

    do / Xa ND

    do / Thot

    ang thm Ngi dng

    entry / Thm ND

    do / Lu ND

    do / Khng lu

    exit / Xc lp trng thi

    Kt thc MH Ngi dng

    entry / Unloadang sa Ngi dng

    entry / Sa ND

    do / Lu

    do / Khng lu

    exit / Xc lp trng thi

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 53 HIENLTH

    S trng thi

    S1

    S4

    S2

    S3

    S5

    S6

    B1

    B2

    B3B4

    B5

    B6

    B7

    B8

    B9

    B1, B2: bin c sinhB4, B8, B9: bin c mtB3, B5, B6, B7: bin c hot ng

  • COMP1026 Introduction to Software Engneering CH3 Part 2 - 54 HIENLTH

    S trng thi

    Mi s trng thi s nh x thnh mt thuc tnh ca i tng

    Cc trng thi ca i tng trong 1 s trng thi khng giao nhau v gi tr ca thuc tnh tng ng ch mang 1 trong cc gi tr tng ng

    S trng thi cng chi tit s phc v: C nhng x l thch hp trong