Tải bản đầy đủ (.pdf) (59 trang)

Phân tích thiết kế hướng đối tượng - Bài 1 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (448.58 KB, 59 trang )

PHÂN TÍCH THI T K
HƯ NG ð I TƯ NG


CH

ð

Ti n trình phát tri n ph n m m theo hư ng đ i tư ng
1. Gi i thi u Ngơn ng mơ hình hóa th ng nh t UML
3. Mơ hình hóa nghi p v
4. Mơ hình hóa trư ng h p s d ng
5. Mơ hình hóa tương tác đ i tư ng
6. Bi u đ l p và gói
7. Bi u đ chuy n tr ng thái và bi u đ ho t đ ng
8. Bi u đ ki n trúc v t lý và phát sinh mã trình
9. Mơ hình hóa d li u
10. Bài h c th c nghi m


Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 2/59


Tài li u tham kh o chính

1. ð ng Văn ð c, Phân tích thi t k hư ng đ i tư ng b ng

UML, Nhà xu t b n Giáo d c, 287 trang. 2002.
2. Zhiming Liu, Object-Oriented Software Development with



UML, UNU/IIST, 169 pp, 2002.
3. Ph n m m: Rational Rose Enterprise Edition 2002, IBM
Rational Software. 2002.



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 3/59


Bài 1

Ti n trình phát tri
ph n m m theo hư ng ñ

n
i tư ng


L ch s phương pháp hư ng ñ i tư ng
n

Kh ng ho ng ph n m m
n
n

NATO Software Engineering Conference, Germany, 1968
Th ng kê c a chính ph M v các d án SW c a B qu c phòng, 1970.


Project value $M

D án ph n m m c a US defence

(E. Balagurusamy)



3.5
3
2.5
2
1.5
1
0.5
0
Paid for but Delivered but Abandoned Used after
not received
not used or reworked change

Used as
delivered

Projects
Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 5/59



K ngh ph n m m
n

n

Khái ni m k ngh ph n m m (software engineering) xu t
hi n vào cu i 1960 – khi b t đ u có máy tính th h 3
Các đ c tính ch y u c a h th ng ph n m m hi n nay
n

Nó mơ hình hóa các ph n c a th gi i th c

n

R t l n và ph c t p

n

Nó là tr u tư ng

n

Ph i có tính đ c l p cao

n

Ph i d b o trì:
n

n


khi th gi i th c thay đ i, ph n m m ph i ñáp ng các yêu c u thay
ñ i

Ph i thân thi n v i ngư i s d ng
n

UI là ph n r t quan tr ng c a h th ng ph n m m



Phân tích thi t k hư ng đ i tư ng

Bài 1 - 6/59


K ngh ph n m m
n

Phát tri n ph n m m b kh ng ho ng vì khơng có phương pháp ñ t t
n

n
n

n
n

Th c t : Giá ph n c ng gi m nhanh, giá ph n m m tăng cao
ð đáp ng địi h i c a ph n m m c n có

n

n

n

K thu t áp d ng cho các h th ng nh trư c ñây không phù h p cho các
h th ng l n
Các d án l n thư ng b kéo dài hàng năm do v y làm tăng kinh phí
Ph n m m khơng tin c y, khó b o hành

Lý thuy t, k thu t, phương pháp, công c m i đ đi u khi n ti n trình
phát tri n h th ng ph n m m

K ngh ph n m m: Liên quan t i lý thuy t, phương pháp và cơng c
c n đ phát tri n ph n m m
M c tiêu: S n xu t ph n m m ñ c l p, ñúng h n, phù h p kinh phí và
đáp ng m i yêu c u ngư i s d ng



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 7/59


S n ph m ph n m m
n

K ngh ph n m m ñ s n xu t

n
n

H th ng ph n m m
Các tài li u
n
n

n

Thi t k h th ng
Tài li u s d ng: Cài ñ t? và S d ng ph n m m?

Các ñ c tính cơ b n c a ph n m m
n

Có th s d ng đư c
n

n

Tính d b o hành
n

n

D dàng m r ng ñ ñáp ng các yêu c u thay ñ i (ph n m m m m d o)

Tính đ c l p
n

n

n

C n có UI phù h p, tài li u rõ ràng

Các tính ch t cơ b n như tin c y, an tồn
Khơng gây tác h i v v t lý, kinh t ngay c khi h th ng h ng

Tính hi u qu
n

Khơng tiêu t n quá nhi u tài nguyên h th ng như b nh , th i gian CPU



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 8/59


S n ph m ph n m m
n

ð th a mãn đ ng th i m i tính ch t c a s n ph m ph n
m m như nói trên là r t khó khăn
n

n


Thí d gi a giá c v i tính năng

ð xây d ng h th ng ph n m m t t ta c n
n

Xác đ nh đúng đ n ti n trình phát tri n ph n m m
n
n

n

n

Các pha c a ho t ñ ng
S n ph m c a m i pha

Phương pháp và k thu t áp d ng trong t ng pha và mơ hình hóa
s n ph m c a chúng
Công c phát sinh ra s n ph m
S n ph m ph n m m ñư c xem như mơ hình c a th gi i th c.
Nó ph i đư c duy trì đ ln ln ph n ánh chính xác s thay đ i
trong th gi i th c



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 9/59



Ti n trình phát tri n ph n m m
n

n

n

n

M i k ngh (engineering) ñ u ñ c p ñ n s n xu t s n ph m theo
ti n trình
T ng quát thì ti n trình (process) xác ñ nh ai (Who) làm gì (What) và
làm khi nào (When) và làm như th nào (How) ñ ñ t t i m c đích
mong mu n.
Ti n trình phát tri n ph n m m (Software Development Process SDP) là ti n trình xây d ng s n ph m ph m m m hay nâng c p ph n
m m đang có.
Thí d ti n trình phát tri n ph n m m:
n

Rational Unified Process - RUP

New or changed
requirements



Software Development
Software Development
Process
Process

Phân tích thi t k hư ng đ i tư ng

New or changed
system

Bài 1 - 10/59


Ti n trình phát tri n ph n m m
n

n

Ti n trình phát tri n ph n m m mơ t t p các ho t
ñ ng c n thi t ñ chuy n ñ i t yêu c u ngư i s d ng
sang h th ng ph n m m
Yêu c u ngư i s d ng xác ñ nh m c tiêu phát tri n
ph n m m
n

n

Khách hàng và k sư tin h c xác ñ nh các d ch v mà h th ng
c n có (yêu c u ch c năng c a h th ng)

Yêu c u ch c năng mô t cái mà h th ng ph i làm
(What) không mô t h th ng làm như th nào (How)
n

Khách hàng cũng có các ràng bu c phi ch c năng: th i gian

đáp ng, chu n ngơn ng ...



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 11/59


Ti n trình phát tri n ph n m m
n

Thu th p và phân tích u c u là cơng vi c r t khó khăn
n
n

n

n

n

Yêu c u c a khách hàng thư ng đư c mơ t b ng khái ni m,
ñ i tư ng và các thu t ng khó hi u v i k sư tin h c
Các yêu c u c a khách hàng thư ng thi u c u trúc, thi u chính
xác, dư th a, ph ng ch ng, thi u nh t quán
Các yêu c u thi u tính kh thi

Do v y
n


n

Các u c u thư ng là khơng hồn ch nh

B t kỳ ti n trình phát tri n nào đ u b t ñ u t thu th p và phân
tích u c u

Các ho t đ ng trong SDP và các k t qu liên quan hình
thành pha đ u tiên c a ti n trình và g i nó là Phân tích
u c u



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 12/59


Thu th p và phân tích yêu c u
n

M c tiêu
n

n

Tài li u ñ c t yêu c u ñư c s d ng như
n


n
n

n

Hình thành tài li u đ c t yêu c u (Requirement Specification)
Cam k t gi a khách hàng và t ch c phát tri n h th ng v cái mà h
th ng có th làm (và cái mà h th ng không th làm)
Cơ s ñ ñ i ngũ phát tri n phát tri n h th ng
Mơ hình tương đ i đ y ñ v cái h th ng ñòi h i

Ti n trình phân tích u c u bao g m các ho t đ ng l p
Developer
Developer

Understanding
Understanding

Client
Client
Domain Expert
Domain Expert
User
User

Requirement
Requirement
Capture
Capture
Feasibility

Feasibility
Study
Study

Validation
Validation

Classification
Classification

Specification document


Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 13/59


Các ho t đ ng c a phân tích u c u
n

Hi u lĩnh v c v n ñ
n
n
n

n

Thu th p u c u
n


n

n

n
n
n

Phân tích viên trình bày hi u bi t v lĩnh v c v n ñ
Khám phá các quan ni m
Suy ra các yêu c u khách hàng
Phân tích viên c n có cách thu th p nhu c u khách hàng sao cho h có
th cùng tham gia vào d án
Phân tích viên, khách hàng, chuyên gia lĩnh v c ng d ng và ngư i s
d ng h th ng cùng phát hi n và thu th p yêu c u
K năng tr u tư ng là r t quan tr ng ñ thu th p nh ng cái chính, b
qua cái khơng c n thi t

Phân l p
ðánh giá
Nghiên c u kh thi



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 14/59



Các ho t đ ng c a phân tích u c u
n
n
n

Hi u lĩnh v c v n ñ
Thu th p yêu c u
Phân l p
n

n

n

ðánh giá
n
n

n

ð u vào c a ho t ñ ng này là t p h p phi c u trúc c a các yêu c u
thu th p ñư c trong pha trư c ñ t ch c chúng thành các nhóm dính
li n nhau
G n m c ưu tiên cho các yêu c u theo t m quan tr ng c a chúng ñ i
v i khách hàng và ngư i s d ng
Ki m tra xem các yêu c u có nh t quán và ñ y ñ
Gi i quy t các mâu thu n gi a các yêu c u

Nghiên c u kh thi
n


n

D báo kh năng th a mãn s d ng ph n c ng, ph n m m c a các
yêu c u ñã nh n ra
Quy t ñ nh các bư c ti p theo n u n u h th ng đ xu t có hi u qu



Phân tích thi t k hư ng đ i tư ng

Bài 1 - 15/59


Phân tích yêu c u
n

Khi nào k t thúc phân tích u c u?
n

n

Khơng có quy lu t nh t ñ nh

ð ti n t i bư c phát tri n ph n m m ti p theo hãy tr l i các câu h i
sau:
n

n


Khách hàng, ngư i s d ng cu i cùng và ngư i phát tri n đã hi u tr n v n
h th ng?
Mơ hình c a h th ng địi h i xây d ng đã đư c hình thành đ y đ ?
n
n
n

n
n

có đ y đ các ch c năng (d ch v )
có đ y đ đ u vào- đ u ra
c n lo i d li u nào

Chú ý: Chưa mơ t quy t đ nh cài đ t nào mơ hình này
ð c t u c u và mơ hình c a h th ng t i m c này c n ph i ñư c
hi u ch nh, b sung khi c n thi t trong các pha phát tri n ti p theo.



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 16/59


Phân tích yêu c u
n

ð c t yêu c u
n


n

n

là thơng báo chính th c cái địi h i h th ng ph i đư c phát
tri n
Nó khơng ph i là tài li u thi t k

Mơ t đ c t u c u
n
n

Ngơn ng đ c t
Ký pháp ñ h a

Pha thu th p và phân tích yêu c u r t quan tr ng.
Pha thu th p và phân tích yêu c u r t quan tr ng.
N u không phát hi n ra ll ii t ii pha này thì r t khó
N u khơng phát hi n ra
t pha này thì r t khó
và t n kém đ phát hi n ra nó pha ti p theo.
và t n kém ñ phát hi n ra nó pha ti p theo.



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 17/59



Thi t k h th ng
n

Sau khi có đ c t yêu c u, hai ti n trình thi t k h th ng ti p theo
n

Thi t k ki n trúc (logíc)
n
n

n

Thi t k chi ti t (v t lý)
n
n

n

Phân ho ch các yêu c u thành các thành ph n
Tài li u thi t k ki n trúc mô t m i thành ph n c n làm gì và chúng tương tác
v i nhau như th nào ñ hình thành các ch c năng h th ng
Thi t k t ng thành ph n
Tài li u thi t k chi ti t mô t m i thành ph n và c h th ng ph i làm cái nó
c n làm như th nào

Các ho t đ ng c a thi t k
H th ng c t lõi
là c th
ph thu c cài đ t


Mơ hình h th ng
ð c t yêu c u

Thi tt k logíc:
Thi k logíc:
Phân ho ch
Phân ho ch
Thành ph n làm cái gì?
Thành ph n làm cái gì?
Quan h các thành ph n
Quan h các thành ph n


Tr u tư ng
ð c l p cài ñ t
Ki n trúc t ng th

Thi tt k chi ti t:
Thi k chi ti t:
Làm m n
Làm m n
Thành ph n làm như th nào?
Thành ph n làm như th nào?
Thi tt k các quan h
Thi k các quan h

Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 18/59



Thi t k h th ng
n

Tài li u c a pha thi t k ki n trúc là mơ hình ki n trúc
n

n

n

n

Thi t k chi ti t th c hi n nhi u bư c làm m n mô hình
ki n trúc
Mơ hình thi t k chi ti t mô t :
n
n

n

ð c t thành ph n, mô t cái mà thành ph n ph i làm b ng
cách ch ra giao di n gi a các thành ph n
Mơ hình h th ng đây ch y u mơ t “what”, ít mơ t “how”

thi t k ch c năng c a m i thành ph n
thi t k giao di n c a m i thành ph n

Mô hình h th ng t i m c này đư c xem như h th ng

c t lõi
n
n
n

nó là c th
ph thu c cài đ t
xác đ nh “How”



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 19/59


L p trình và ki m th mun

n

n

M i thành ph n trong pha thi t k ñư c hi n
th c thành m t mun chương trình
Ki m ch ng hay ki m th m i mun chương
trình theo đ c t có t pha thi t k



Phân tích thi t k hư ng ñ i tư ng


Bài 1 - 20/59


Tích h p và ki m th h th ng
n
n

n

T h p các mun chương trình thành h th ng
Ki m th h th ng chương trình đ đ m b o ñáp
ng ñ y ñ yêu c u
Khi ngư i phát tri n th a mãn v i s n ph m
n

n

khách hàng ki m th h th ng

Pha này k t thúc khi khách hàng ch p nh n s n
ph m



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 21/59



B o trì h th ng
n

n

n

Pha này b t đ u khi h th ng ñư c cài ñ t s d ng
th c t , sau khi ñã c p phát s n ph m cho khách hàng
B o trì bao g m m i thay đ i s n ph m ñ khách hàng
ñ ng ý r ng h ñã th a mãn v i s n ph m.
B o trì bao g m
n

s a ph n m m
n

n

nâng c p ph n m m
n

n

n

lo i b các l i mà không phát hi n trong các pha trư c đó
Hi u năng: B sung ch c năng, tăng t c đ th c hi n chương
trình
Thích nghi: Các thay ñ i cho phù h p v i mơi trư ng ph n m m

ho t đ ng thay đ i, thí d u c u m i c a chính ph

Th i gian trung bình:
n

s a l i 17,5%, hi u năng 60%, thích nghi 18%.



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 22/59


Mơ hình thác nư c
n

n

Các ho t đ ng phát tri n ph n m m có th
bi u di n b ng mơ hình thác nư c
Vịng đ i (life cycle) ph n m m
n

Ti n trình phát tri n s n ph m ph n m m
Phân tích
Phân tích
yêu c u
yêu c u
Thi tt k

Thi k
Vi tt chương trình
Vi chương trình
Ki m th mun
Ki m th mun
Tích h p và ki m
Tích h p và ki m
th h th ng
th h th ng
Chuy n giao
Chuy n giao
và b o trì
và b o trì



Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 23/59


Mơ hình thác nư c
n

Nh n xét mơ hình thác nư c
n

Khó phân bi t rõ ràng gi i h n các pha, nhi u pha g i lên
nhau và cung c p thơng tin cho nhau
n

n
n

n

n

Ti n trình phát tri n khơng ph i là mơ hình tuy n tính mà là
trình t l p các ho t đ ng phát tri n
Ti n trình phát tri n bao g m các l p thư ng xuyên
n

n

n

Khi thi t k m i nh n ra các yêu c u m i
Khi vi t mã trình nh n th y m t vài thi t k có v n đ ...
Khi b o trì hi u năng, có th th c hi n l i m t vài hay toàn b
các bư c trư c đó

Khó nh n ra các ñi m m u ch t ñ l p k ho ch và báo cáo k t
qu
Do v y, sau m t vài l n l p thư ng ph i ñưa ra các v t ph m như
ñ c t ... ñ ti p t c các bư c sau.

ðơi khi r t khó phân ho ch các ho t ñ ng phát tri n trong d
án thành các bư c trong mơ hình.




Phân tích thi t k hư ng ñ i tư ng

Bài 1 - 24/59


Mơ hình thác nư c
Cost
8%

7%

Requirement

12%

Design
Implement
Integrate

6%

Maintain

67%

Effort to Correct

Source of Error
%

60

%

56

100

50
40
30
20
10

27
7

0

10

Incomplete requirements
Design
Coding
Others

82

80
60

40
20

13
1

4

0



Phân tích thi t k hư ng đ i tư ng

Bài 1 - 25/59


×