10
9/4/2011 1 Nhập môn Công nghệ học Phần mềm Introduction to Software Engineering Department of Software Engineering Faculty of Information Technology Hanoi University of Technology TEL: 04-8682595 FAX: 04-8692906 Email: cnpm@it-hut.edu.vn HUT, Falt. of IT Dept. of SE, 2001 SE-IV.1 Phần IV Thiết kế Lập trình Design and Programming Chương 6: Phương pháp thiết kế hệ thống 6.1. Thiết kế hệ thống là gì? 6.2. Phương pháp thiết kế hệ thống HUT, Falt. of IT Dept. of SE, 2001 SE-IV.2 6.1. Thiết kế hệ thống là gì? thiết kế cấu hình phần cứng cấu trúc phần mềm (gồm cả chức năng dữ liệu) để được hệ thống thỏa mãn các yêu cầu đề ra thể xem như Thiết kế cấu trúc (WHAT), chứ không phải Thiết kế Logic (HOW) HUT, Falt. of IT Dept. of SE, 2001 SE-IV.3 Quy trình thiết kế hệ thống Phân chia mô hình phân tích ra các hệ con Tìm ra sự tương tranh (concurrency) trong hệ thống Phân bố các hệ con cho các bộ xử hoặc các nhiệm vụ (tasks) Phát triển thiết kế giao diện Chọn chiến lược cài đặt quản trị dữ liệu HUT, Falt. of IT Dept. of SE, 2001 SE-IV.4 Quy trình thiết kế hệ thống (tiếp) Tìm ra nguồn tài nguyên chung và cơ chế điều khiển truy nhập chúng Thiết kế cơ chế điều khiển thích hợp cho hệ thống, kể cả quản nhiệm vụ Xem xét các điều kiện biên được xử như thế nào Xét duyệt và xem xét các thỏa hiệp (trade-offs) HUT, Falt. of IT Dept. of SE, 2001 SE-IV.5 Các điểm lưu ý khi thiết kế hệ thống (1) thể trích được luồng dữ liệu từ hệ thống: đó phần nội dung đặc tả yêu cầu và giao diện (2) Xem xét tối ưu tài nguyên kiến trúc lên hệ thống rồi quyết định kiến trúc (3) Theo quá trình biến đổi dữ liệu, hãy xem những chức năng được kiến trúc như thế nào HUT, Falt. of IT Dept. of SE, 2001 SE-IV.6

Cong nghe phan mem c4

Embed Size (px)

DESCRIPTION

Cong nghe phan mem c4

Citation preview

  • 9/4/2011

    1

    Nhpmn

    Cng ngh hc Phn mmIntroduction to Software Engineering

    Department of Software Engineering

    Faculty of Information Technology

    Hanoi University of TechnologyTEL: 04-8682595 FAX: 04-8692906

    Email: [email protected]

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.1

    Phn IV

    Thit k v Lp trnh

    Design and Programming

    Chng 6:

    Phng php thit k h thng

    6.1. Thit k h thng l g?

    6.2. Phng php thit k h thng

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.2

    6.1.Thit k h thng l g?

    L thit k cu hnh phn cng v cu trcphn mm (gm c chc nng v d liu) cc h thng tha mn cc yu cu ra

    C th xem nh Thit k cu trc (WHAT), chkhng phi l Thit k Logic (HOW)

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.3

    Quy trnh thit k h thng

    Phn chia m hnh phn tch ra cc h con

    Tm ra s tng tranh (concurrency) trong hthng

    Phn b cc h con cho cc b x l hoc ccnhim v (tasks)

    Pht trin thit k giao din

    Chn chin lc ci t qun tr d liu

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.4

    Quy trnh thit k h thng (tip) Tm ra ngun ti nguyn chung v c ch iukhin truy nhp chng

    Thit k c ch iu khin thch hp cho hthng, k c qun l nhim v

    Xem xt cc iu kin bin c x l nh thno

    Xt duyt v xem xt cc tha hip (trade-offs)

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.5

    Cc im lu khi thit k h thng

    (1) C th trch c lung d liu t h thng: l phn ni dung c t yu cu v giaodin

    (2) Xem xt ti u ti nguyn kin trc ln hthng ri quyt nh kin trc

    (3) Theo qu trnh bin i d liu, hy xemnhng chc nng c kin trc nh th no

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.6

  • 9/4/2011

    2

    Cc im lu (tip)(4) T kin trc cc chc nng theo (3), hy xem xt

    v chnh li, t chuyn sang kin trc chngtrnh v thit k chi tit

    (5) Quyt nh cc n v chng trnh theo ccchc nng ca h phn mm c da theo lungd liu v phn chia ra cc thnh phn

    (6) Khi cu trc chng trnh ln qu, phi phn chianhhn thnh cc mun

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.7

    Cc im lu (tip)

    (7) Xem xt d liu vo-ra v cc tp dng chungca chng trnh. Truy cp tp ti u

    (8) Hy ngh xem c c nhng thit k trnth nn dng phng php lun v nhng k

    thut g ?

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.8

    Thit k h thng Thit k h thng

    Thit k h thng phn cng [(1), (2)]

    Thit k h thng phn mm [(3)-(7)]

    Thit k h thng phn mm

    Thit k tp (file design) [(7)]

    Thit k chc nng h thng [(3)-(6)]

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.9

    6.2 Phng php thit k h thng

    Phng php thit k cu trc ha (StructuredDesign) ca Constantine

    Ngoi ra cn cc phng php khc, nhPhng php thit k tng hp (CompositeDesign) caMyers

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.10

    Thit k cu trc ha

    Bt ngun t modularity, top-down design, structured programming

    Cn xem nh Phng php thit k hnglung d liu (Data flow-oriented design)

    Quy trnh 6 bc: (1) to kiu lung thng tin; (2) ch ra bin ca lung; (3) nh x DFD sang cu trcchng trnh; (4) xc nh phn cp iu khin; (5) tinh lc cu trc; (6) chn m t kin trc

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.11 HUT, Falt. of IT Dept. of SE, 2001 SE-IV.12

    Thit k cu trc ha

    (1) Mun v tham s

    (2) Lu bong bng v cu trc phn cp

    Lu bong bng (Bubble chart)

    Cu trc phn cp (Hierarchical structured chart)

    (3) Phng php phn chia STS

    (Source/Transform/Sink) v TR (Transaction)

    (4) Phn tch cu trc ha

    (5) Chun phn chia mun

  • 9/4/2011

    3

    (1) Mun

    Dy cc lnh nhm thc hin chc nng(function) no

    C th c bin dch c lp

    Mun c dch c th c mun khcgi ti

    Giao din gia cc mun thng qua cc bintham s (arguments)

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.13

    (2a) Lu bong bng (Bubble chart)

    Biu th lung x l d liu

    K php

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.14

    Tn

    chc nng

    Tn d liu Tn d liu

    (D liu vo) (D liu ra)(Bong bng)

    (2b) Cu trc phn cp(Hierarchical structured chart)

    L phn cp biu th quan h ph thuc gia ccmun v giao din (interface) gia chng

    Cc quy c:

    Khng lin quan n trnh t gi cc mun, nhng ngmnh l t tri qua phi

    Mi mun xut hin trong cu trc 1 ln, c th c ginhiu ln

    Quan h trn di: khng cn nu s ln gi

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.15

    Hierarchical structured chart

    Cc quy c (tip): Tnmun biu th chc nng (lm g), t tn sao chocc mun pha di tng hp li s biu th chc nngcamun tng ng pha trn

    Bin s (arguments) biu th giao din gia cc mun, bins cc mun gi/bgi c th khc nhau

    Mi tn vi ui trn trng biu th d liu, ui trn en(hng) biu th flag

    Chiu ca mi tn l hng truyn tham s

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.16

    Hierarchical structured chart

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.17

    Module A

    Module B Module C Module D

    Module E

    1

    Lung d liu

    Lung flag

    (3) Phng php phn chia STS, TR

    Thit k cu trc:

    Phng php phn chia STS(Source/Transform/Sink: Ngun/Bini/Hpth)

    Phng php phn chia TR (Transaction)

    Minh ha phn chia chc nng theo bong bngcaDFD (biu lung d liu)

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.18

  • 9/4/2011

    4

    (3a) Phng php phn chia STS

    1) Chia i tng bi ton thnh cc chc nngthnh phn

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.19

    Bi ton

    Problem

    F1

    F2

    F3

    F4F5

    Quyt nh lung d liu chnh

    2) Tm ra lung d liu chnh i qua cc chc nng: tu vo (Input) ti u ra (Output)

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.20

    F1

    F2

    F3

    F4

    F5

    INPUT

    OUTPUT

    Lung d

    liu chnh

    Quyt nh bong bng v d liu3) Theo lung d liu chnh: thay tng chc nngbi bong bng v lm r d liu gia cc bong

    bng

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.21

    F2 F3 F4 F5F1Data1 Data2 Data3 Data4 Data5 Data6

    INPUT OUTPUT

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.22

    T s bong bng sang

    s phn cp

    4) Xc nh v tr tru tng ha ti a u

    vo v u ra

    F2 F3 F4 F5F1Data1 Data2 Data3 Data4 Data5 Data6

    INPUT OUTPUTTru tng hati a u vo

    Tru tng hati a u ra

    Source Module Transform Module Sink Module

    5) Chuyn sang s phn cp

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.23

    F2 F3 F4 F5F1Data1 Data2 Data3 Data4 Data5 Data6INPUT OUTPUT

    Tru t-ng hati a u vo

    Tru t-ng hati a u ra

    Source Module Transform Module Sink Module

    Control

    Module

    Source

    Module

    Transform

    Module

    Sink

    Module

    0

    1 2 3

    6) Xc nh cc tham s gia cc mun da theoquan h ph thuc

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.24

    Module 0

    Module 1 Module 2 Module 3

    0

    1 2 3

    3

    3 5 5

  • 9/4/2011

    5

    7) Vi tng mun (Source, Transform, Sink) li pdng cch phn chia STS lp li cc bc t 1) n6). i khi c trng hp khng chia thnh 3 mun nh m thnh 2 hoc 1

    8) Tip tc chia n mc cu trc lgic khi muntng ng vi thut ton bit th dng. Tnghp li ta c cu trc phn cp: mi nt l 1 mun vi s nhnh pha di khng nhiu hn 3

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.25

    (3b) Phng php phn chia TR

    Khi khng tn ti lung d liu chnh, m d liuvo c c th khc nhau nh nhng ngun khc

    nhau xem nh cc Giao dch khc nhau

    Mi giao dch ng vi 1 mun x l n

    Phn chia mun c th: theo kinh nghim; theotnh c lp mun; theo s bc ti a trong 1 mun (v d < 50) v theo chun

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.26

    (4) Phn tch cu trc ha

    Xc nh lung d liu

    Lung tuyn tnh th theo phn chia STS

    Lung phn nhnh th theo phn chia TR

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.27

    (5) Chun phn chiamun

    Tnh c lp: kt hp (coupling) v bnvng (strength)

    5 tiu chun caMyers Decomposability

    Composability

    Understandability

    Continuity

    Protection

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.28

    c trng ca thit k cu trc ha

    D thch ng vi m hnh vng i thcnc do tnh thn thin cao

    Thit k theo tin trnh, khng hp vi thitk x l theo l (batch system)

    Dng phn chia - kt hp gii quyt tnhphc tp ca h thng

    Topdown trong phn chiamun

    K thut lp trnh hiu qu

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.29

    Chng 7:K thut thit k chng trnh

    7.1 Thit k chng trnh l g ?

    7.2 Phng php thit k chng trnh

    7.3 Cng c thit k

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.30

  • 9/4/2011

    6

    7.1 Thit k chng trnh l g ? L thit k chi tit cu trc bn trong ca phnmm: thit k tnh nng tng mun v giaodin tng ng

    Cu trc ngoi ca phn mm: thit k hthng

    Trnh t x l bn trong: Thut ton (gii thut, Algorithm); Logic

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.31

    7.2 Phng php thit k chng trnh

    Khng c trng thi m (fuzzy), m bothit k cu trc trong ng n

    Ngn ng lp trnh ph hp

    Trin khai ng n c t chc nng ccmun v chng trnh nh phng php lunthit k chi tit

    Dng quy trnh thit k d chun ha tngbc

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.32

    K thut thit k chng trnh

    K thut thit k m hnh h phn mm

    Hng tin trnh (process) : K thut thit k cutrc iu khin

    Hng cu trc d liu (data): K thut thit k cutrc d liu

    Hng s vt / i tng (object): K thut thit khng i tng

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.33

    7.2.1 Lp trnh cu trc ha

    Khi nim c bn: tun t, nhnh (chn), lp; cutrcm rng, tin x l, hu x l

    Nhng im li khi thit k thut ton

    Tnh c lp ca mun: ch quan tm vo-ra

    Lm cho chng trnh d hiu

    D theo di chng trnh thc hin

    H phc tp s d hiu nh tip cn phn cp

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.34

    Loi b GOTO

    GOTO dng lm g?

    Cho php thc hin cc bc nhy n mt nhn nht

    nh

    Ti sao cn loi b GOTO ?

    Ph v tnh cu trc ca lp trnh cu trc ha

    Phng php loi b GOTO

    C th loi b GOTO trong mi trng hp?

    Th no l k nng lp trnh cu trc

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.35

    Lu khi thit k chng trnh

    Ph thuc vo k nng v kinh nghim cangi thit k

    Cn chun ha ti liu c t thit k chi tit

    Khi thit k cu trc iu khin ca gii thut, v theo cc quy c cu trc ha nn i khitnh sng to ca ngi thit k b hn ch, bbuc theo khunmu c

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.36

  • 9/4/2011

    7

    7.2.2 Lu cu trc ha

    Tc dng ca lu (flow chart)

    Quy phm (discipline)

    Tru tng ha th tc

    Lu cu trc ha

    Cu trc iu khin c bn

    Chi tit ha tng bc gii thut

    Th hin c trnh t iu khin thc hin

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.37

    Lu Nassi-Shneiderman(NS chart by IBM)

    a- Ni (concatination) b- Chn (selection)

    c- a nhnh (CASE) d- Lp (repetition)

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.38

    X l 1

    X l 2

    Iu kinY N

    X l 1 X l 2

    Iu kin

    X l 1

    X l 2Xl 3

    TT1

    TT2 TT3

    DO WHILE (kin)

    X lREPEAT UNTIL (kin)

    X l

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.39

    Lu Phn tch bi ton

    (PAD chart by Hitachi)

    a- Ni (concatination) b- Chn (selection)

    c- a nhnh (CASE) d- Lp (repetition)

    WHILEkin X l

    X l 1

    X l 2

    X l 1

    X l 2

    iu kin

    X l1

    X l2

    X l3

    X l4

    TT1

    TT2

    TT3

    TT4

    Iu

    k

    in

    UNTILkin X l

    Trcchnh

    7.2.3 V Phng phpGic-sn(Jacksonsmethod)

    JSP: Jackson Structured Programming

    Cc k php:

    C s (elementary)

    Tun t (sequence)

    Lp

    R nhnh

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.40

    Trnh t thit k chung

    Thit k cu trc d liu (Data step)

    Thit k cu trc chng trnh (Program step)

    Thit k th tc (Operation step)

    Thit k c t chng trnh (Text step)

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.41

    7.2.4 V Phng phpWa-ny(Warniers method)

    Khi nim chung

    Trnh t thit k Thit k d liu ra

    Thit k d liu vo

    Thit k cu trc chng trnh

    Thit k lu

    Thit k lnh th tc

    Thit k c t chi tit

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.42

  • 9/4/2011

    8

    Chng 8:K thut lp trnh

    8.1 Lch s pht trin ca ngn ng lp trnh

    8.2 Cu trc chng trnh

    - Cu trc d liu d hiu

    - Cu trc thut ton d hiu

    8.3 Cc cng c lp trnh

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.43

    8.1 Lch s ngn ng lp trnh Cc ngn ng th h th nht:

    Ngn ng lp trnh m my (machine code) Ngn ng lp trnh assembly

    Cc ngn ng th th th hai: FOTRAN, COBOL, ALGOL, BASIC Pht trin 1950-1970

    Cc ngn ng th h th ba Ngn ng lp trnh cp cao vn nng (cu trc) Lp trnh hng i tng Lp trnh hng suy din logic

    Cc ngn ng th h th t Truy vn Cc ngn ng h tr quyt nh

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.44

    8.2 Cu trc d liu d hiu

    Nn xc nh tt c cc cu trc d liu v ccthao tc cn thc hin trn tng cu trc d liu

    Vic biu din/khai bo cc cu trc d liu chnn thc hin nhngm un s dng trctip d liu

    Nn thit lp v s dng t in d liu khithit d liu

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.45

    Cu trc thut ton d hiu

    Algorithm

    Structured coding v 9 im lu : Tun theo quy cch lp trnh

    Mt u vo, mt u ra

    Trnh GOTO, tr khi phi ra khi lp v dng

    Dng comments hp l

    Dng tn bin c ngha, gi nh

    Cu trc lng r rng

    Trnh dng CASE / switch nhiu hoc lng nhau

    M ngun 1 chng trnh / mun nn vit trn 1 trang

    Trnh vit nhiu lnh trn 1 dng

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.46

    IF THEN / IF THEN ELSE

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.47

    K Cng vic1

    Cng vic 2

    =0

    0PASCAL

    if iu kin then

    begin

    cng vic 1

    end;

    else

    begin

    cng vic 2

    end

    Ngn ng C

    if (iu kin)

    { cng vic 1}

    else

    {cng vic 2}

    CASE / switch

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.48

    Ngn ng C

    switch ()

    {

    case : ;[break;]

    case : ; [break;]

    case : ; [break;]

    [default : ; [break;] ]

    }

    PASCAL

    CASE

    OF

    gtr1: ;

    gtr2: ;

    ...........

    gtrN: ;

    ELSE

    ;

    END;

  • 9/4/2011

    9

    FOR TO / DOWNTO

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.49

    Bt u

    KThc

    Bin iu khin = Gi tr u

    Bin iu khin > Gi tr cui

    Thc hin

    Bin iu khin = gi tr tip theo ca bin iu khin)

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.50

    PASCAL

    FOR binkhin := GTu TO GTCui DO

    begin

    end;

    Ngn ng C

    for ( [biuthc1] ; [biuthcK]; [biuthc2] )

    { ; }

    c bit: c cc lnh thot break; continue;

    exit

    DOWHILE

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.51

    Bt u

    KThc

    Cng vic

    Biu thc LogicSai

    ng

    Kim tra iu kin trc khi thc hin

    Li thng gp: Lp v hn

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.52

    PASCAL

    While BiuthcBoolean DO

    begin

    end;

    Ngn ng C

    while ()

    { ; }

    REPEAT UNTIL

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.53

    Bt u

    Kthc

    Cng vic

    Biu thc LogicSai

    ng C s khc nhau gia hai ngn ng?

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.54

    PASCAL

    Repeat

    until Biu_thc_Boolean;

    Ngn ng C

    do {

    ;

    } while ();

  • 9/4/2011

    10

    Ch thch trong chng trnh Ti sao cn t cc ch thch trong chng trnh ?

    V tr t cc ch thch trong chng trnh Thnh phn/ Module

    Lp

    Hm/th tc

    Cc v tr c bit khc

    Mt s quy nh khi t ch thch: Ngn gn

    Gi nh

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.55

    8.3 Cc cng c lp trnh Environments: DOS, WINDOWS, UNIX/LINUX

    Editors, Compilers, Linkers, Debuggers

    TURBO C, PASCAL

    MSC, Visual Basic, Visual C++, ASP

    UNIX/LINUX: C/C++, gcc (Gnu C Compiler)

    JAVA, CGI, perl

    C#, .NET

    HUT, Falt. of IT Dept. of SE, 2001 SE-IV.56