1. Trang chủ
  2. » Công Nghệ Thông Tin

Ngôn ngữ mô hình hóa UML

16 676 5
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ngôn ngữ mô hình hóa UML
Trường học Đại học Bách khoa Hà Nội
Chuyên ngành Kỹ thuật phần mềm
Thể loại Đề tài
Thành phố Hà Nội
Định dạng
Số trang 16
Dung lượng 704,84 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngôn ng mô hình hóa UML ề ữI... Các tác nhân chính 5.

Trang 1

Đ tài 1 Ngôn ng mô hình hóa UML ề ữ

I Xây d ng h th ng ph n m m theo h ự ệ ố ầ ề ướ ng đ i t ố ượ ng

Hướng đ i tố ượng là m t công ngh đ s n sinh ra các mô hình ph n ánh m t cách tộ ệ ể ả ả ộ ự nhiên các nghi p v th c t Xét cho cùng thì m i quy trình nghi p v trong th c t đ u là sệ ụ ự ế ọ ệ ụ ự ế ề ự

tương tác c a các đ i tủ ố ượng theo m t trình t nh m đ t độ ự ằ ạ ược m t m c đích c th Nói cáchộ ụ ụ ể khác, các đ i tố ượng và m i quan h gi a chúng ph n ánh quy trình nghi p v Ví d nhố ệ ữ ả ệ ụ ụ ư nghi p v tuy n nhân s cho m t công ty có th đệ ụ ể ự ộ ể ược tóm t t qua m t chu i các tắ ộ ỗ ương tác

nh sau:ư

1 Công ty đ a ra thông báo tuy n nhân s t i các ng viên có nhu c uư ể ự ớ ứ ầ

2 Ứng viên g i h s d tuy n t i công tyử ồ ơ ự ể ớ

3 Công ty duy t h s và g i gi y h n ph ng v n t i ng viênệ ồ ơ ử ấ ẹ ỏ ấ ớ ứ

4 Công ty ph ng v n ng viênỏ ấ ứ

5 Công ty ký h p đ ng v i ng viên ho c t ch iợ ồ ớ ứ ặ ừ ố

Trong ví d trên có s tham gia c a hai đ i tụ ự ủ ố ượng “công ty” và “ ng viên” S trao đ iứ ự ổ thông tin gi a hai đ i tữ ố ượng này cho th y m i quan h ph thu c gi a chúng (dependence).ấ ố ệ ụ ộ ữ

M t ví d khác là trong h th ng qu n lý nhân s chúng ta có các đ i tộ ụ ệ ố ả ự ố ượng nh : nhânư viên, qu n lý,…cho th y m i quan h d ng khác: các nhân viên làm công vi c qu n lý t tả ấ ố ệ ạ ệ ả ấ nhiên cũng là nhân viên c a công ty nh ng có thêm các thu c tính riêng bi t – m t quan h kủ ư ộ ệ ộ ệ ế

th a (inheritance).ừ

Trong m t h th ng bán hàng, m i đ n hàng bao g m trong nó các thông tin v kháchộ ệ ố ỗ ơ ồ ề hàng, ngày gi , …và m t danh m c các m t hàng Khi này ta nói r ng gi a đ n hàng và m tờ ộ ụ ặ ằ ữ ơ ặ hàng t n t i m t quan h bao g m (aggregation) ồ ạ ộ ệ ồ

M c tiêu c a công ngh hụ ủ ệ ướng đ i tố ượng chính là th hi n để ệ ược các đ i tố ượng và

m i quan h gi a chúng vào trong các h th ng ph n m m Vì v y, các h th ng ph n m mố ệ ữ ệ ố ầ ề ậ ệ ố ầ ề theo công ngh hệ ướng đ i tố ượng ph n ánh m t cách t nhiên và trung th c nghi p v th c tả ộ ự ự ệ ụ ự ế

và có kh năng đáp ng các thay đ i d dàng.ả ứ ổ ễ

Phát tri n m t h th ng ph n m m theo hể ộ ệ ố ầ ề ướng đ i tố ượng d a trên 5 khái ni m cự ệ ơ

b n: L p (class), đ i tả ớ ố ượng (object), thông đi p (mesage), th a k (inheritance) và đa hìnhệ ừ ế (polymorphism)

L p là s tr u tớ ự ừ ượng hóa các đ i tố ượng th c t theo ph m vi nghi p v L y ví d vự ế ạ ệ ụ ấ ụ ề

h th ng qu n lý sinh viên c a trệ ố ả ủ ường ĐHBK Hà N i c n qu n lý r t nhi u đ i tộ ầ ả ấ ề ố ượng sinh viên khác nhau nh ng có th ch đư ể ỉ ược tr u từ ượng hóa thành m t l p đ i tộ ớ ố ượng có tên SinhVien ch ng h n S tr u tẳ ạ ự ừ ượng hóa m t l p đ i tộ ớ ố ượng cho ta k t qu m t t p các thu cế ả ộ ậ ộ tính (attributes) và các hành vi (operations) đ c tr ng cho b t kỳ đ i tặ ư ấ ố ượng nào thu c l p đó.ộ ớ

Đ i tố ượng th c t thì có vô s thu c tính và hành vi nh ng ch thu c tính và hành vi trongự ế ố ộ ư ỉ ộ

ph m vi nghi p v là đạ ệ ụ ược xét đ n S chi ti t ph thu c vào ph m vi nghi p v ế ự ế ụ ộ ạ ệ ụ

S tr u tự ừ ượng hóa di n ra nhi u c p đ L y ví d : l p đ ng v t có vú bao g m l pễ ở ề ấ ộ ấ ụ ớ ộ ậ ồ ớ

đ ng v t 4 chân, l p 4 chân l i bao g m các l p nh l p mèo, l p trâu,…ộ ậ ớ ạ ồ ớ ư ớ ớ

M i đ i tỗ ố ượng là m t bi u hi n th c t c a m t l p.ộ ể ệ ự ế ủ ộ ớ

object = name + attributes + operations

H th ng hệ ố ướng đ i tố ượng n u đế ược mô hình đúng s r t linh ho t, d hi u ch nh,ẽ ấ ạ ễ ệ ỉ

được cài đ t d dàng b ng các ngôn ng hặ ễ ằ ữ ướng đ i tố ượng Các h th ng ph n m m hệ ố ầ ề ướ ng

đ i tố ượng cũng được cài đ t b i các ngôn ng l p trình hặ ở ữ ậ ướng đ i tố ượng

13

Trang 2

Hướng đ i tố ượng không ch là m t lý thuy t mà đã đỉ ộ ế ược ch ng minh b ng nh ng ngứ ằ ữ ứ

d ng r t thành công trong th c t nhi u lĩnh v c khác nhau Tuy nhiên, lĩnh v c này v n c nụ ấ ự ế ở ề ự ự ẫ ầ

được chu n hóa h n n a.ẩ ơ ữ

Xây d ng m t h th ng ph n m m hự ộ ệ ố ầ ề ướng đ i tố ượng cũng tuân theo quy trình chung

nh m i công ngh khác:ư ọ ệ

1 Requirements : Thu th p yêu c uậ ầ

2 Analysis : Phân tích

3 Design: Thi t kế ế

4 Implementation: Cài đ tặ

5 Test: Ki m thể ử

6 Deployment: Tri n khaiể

Theo nguyên t c chung này, m i công ty l i ng d ng nh ng công ngh khác nhau đắ ỗ ạ ứ ụ ữ ệ ể phát tri n ng d ng nh các mô hình water fall, mô hình hể ứ ụ ư ướng ch c năng,…ứ

M c dù đã ng d ng các công ngh ti n ti n và quy trình phát tri n chu n hóa nh ngặ ứ ụ ệ ế ế ể ẩ ư ngành công nghi p ph n m m v n ph i đ i m t v i nh ng thách th c:ệ ầ ề ẫ ả ố ặ ớ ữ ứ

1 S gia tăng v quy mô t nh đ n l n c a ng d ngự ề ừ ỏ ế ớ ủ ứ ụ

2 S c ép v th i gian hoàn thànhứ ề ờ

3 S phân tán v không gian làm vi cự ề ệ

4 Đa d ng v n i dungạ ề ộ

5 S thay đ i các yêu c u c a ngự ổ ầ ủ ườ ử ụi s d ng

Nh ng thách th c này có th nói là g n li n v i m i công ty ph n m m đ c bi t là ữ ứ ể ắ ề ớ ọ ầ ề ặ ệ ở

Vi t Nam, n i mà vai trò c a quá trình kh o sát, phân tích còn b xem nh cũng nh các côngệ ơ ủ ả ị ẹ ư

ty còn đang b ng v i s m r ng v quy mô và thi u nhân l c chuyên môn v phân tíchỡ ỡ ớ ự ở ộ ề ế ự ề thi t k ế ế

II L ch s phát tri n ngôn ng mô hình hóa UML ị ử ể ữ

Nh ng năm 1980 là th i kỳ bùng n s lữ ờ ổ ố ượng các công ty ph n m m s d ng ngônầ ề ử ụ

ng l p trình hữ ậ ướng đ i tố ượng(Object Oriented Programming - OOP) đ xây d ng các ngể ự ứ

d ng Đi u này d n t i m t đòi h i ph i có m t quy trình làm ph n m m ti p c n theo hụ ề ẫ ớ ộ ỏ ả ộ ầ ề ế ậ ướ ng phân tích và thi t k hế ế ướng đ i tố ượng (Object Oriented Analyze and Design - OOAD) Nhi uề nhà nghiên c u phứ ương pháp trong đó có Booch, Rumbaugh và Jacobson đã làm vi c đ c l pệ ộ ậ

và đã đ xu t các quy trình th a mãn yêu c u này M i m t quy trình có m t t p ký hi u môề ấ ỏ ầ ỗ ộ ộ ậ ệ hình riêng đ truy n đ t và di n t các k t qu phân tích và thi t k ể ề ạ ễ ả ế ả ế ế

Vào đ u nh ng năm 1990, các công ty khác nhau, th m chí là các b ph n khác nhauầ ữ ậ ộ ậ

c a cùng m t công ty đã s d ng các quy trình khác nhau Thêm vào đó, các công ty này l iủ ộ ử ụ ạ

mu n s d ng các công c ph n m m h tr các quy trình c a h V i quá nhi u quy trìnhố ử ụ ụ ầ ề ỗ ợ ủ ọ ớ ề khác nhau, các công ty ph n m m đã r t khó khăn trong vi c cung c p các công c này Đi uầ ề ấ ệ ấ ụ ề này cho th y vi c c n thi t ph i có m t quy trình v i t p ký hi u th ng nh t.ấ ệ ầ ế ả ộ ớ ậ ệ ố ấ

Năm 1994, James Rumbaugh đã h p tác cùng Grady Booch t i công ty ph n m mợ ạ ầ ề Rational Software Corporation đ cùng xây d ng m t quy trình th ng nh t d a trên k t quể ự ộ ố ấ ự ế ả

14

Trang 3

c a t ng ngủ ừ ười Sau đó Ivar Jacobson cũng s m gia nh p nhóm này Năm 1996, nhóm đã choớ ậ

xu t b n phiên b n đ u tiên c a UML t i c ng đ ng phát tri n ph n m m và yêu c u ph nấ ả ả ầ ủ ớ ộ ồ ể ầ ề ầ ả

h i Cũng cùng th i gian đó, m t t ch c có tên Object Management Group (OMG) đã m iồ ờ ộ ổ ứ ờ nhóm đ trình m t ngôn ng mô hình OMG là m t t ch c phi l i nhu n chuyên xúc ti n vi cệ ộ ữ ộ ổ ứ ợ ậ ế ệ

s d ng công ngh hử ụ ệ ướng đ i tố ượng trong ngành công nghi p ph n m m thông qua vi c đ aệ ầ ề ệ ư

ra các hướng d n và đ c t OOP Các thành viên c a OMG ban đ u là 3Com Corporation;ẫ ặ ả ủ ầ American Airlines; Canon, Inc.; Data General; Hewlett-Packard; Philips Telecommunications N.V.; Sun Microsystems; và Unisys Corporation Các t p đoàn l n nh HP, IBM, Microsoft,ậ ớ ư Oracle và Rational Software đã nh n th y l i ích c a UML và đã nh n l i tài tr cho các d ánậ ấ ợ ủ ậ ờ ợ ự

v UML c a OMG Năm 1997, OMG ti p t c xem xét l i UML và đ n năm 2001 thì phiênề ủ ế ụ ạ ế

b n UML 1.4 ra đ i Hi n nay OMG đã phát hành t i phiên b n UML 2.0 và đang nghiên c uả ờ ệ ớ ả ứ phiên b n 2.1.ả

UML – Unified Modeling Language là m t ngôn ng dùng các s đ và mô hình th ngộ ữ ơ ồ ố

nh t đ mô hình các h th ng ph n m m.ấ ể ệ ố ầ ề

M c đích c a UML là:ụ ủ

• Tr thành ngôn ng mô hình mà t t c m i ngở ữ ấ ả ọ ười làm mô hình có th s d ngể ử ụ

• T p trung hậ ướng t i gi i quy t các v n đ t n t i trong phát tri n ph n m mớ ả ế ấ ề ồ ạ ể ầ ề

hi n nay.ệ

• Đ n gi n nh t có th trong khi v n mô hình đơ ả ấ ể ẫ ược ph n l n các ng d ng.ầ ớ ứ ụ

• Nâng cao tính tái s d ng các thành ph n c a m t h th ng ph n m mử ụ ầ ủ ộ ệ ố ầ ề

• UML là m t ngôn ng di n t , UML không ph i là m t quy trình ộ ữ ễ ả ả ộ

Thu t ng “Unified” đây có m t ý nghĩa quan tr ng, nó nói lên các nguyên t c c aậ ữ ở ộ ọ ắ ủ UML:

• Th ng nh t phố ấ ương th c, ký hi u, thu t ngứ ệ ậ ữ

• G n k t gi a các chu trình phát tri nắ ế ữ ể

• Không ph thu c vào lĩnh v c ng d ngụ ộ ự ứ ụ

• Không ph thu c vào ngôn ng l p trình và môi trụ ộ ữ ậ ường th c hi nự ệ

• Không ph thu c vào quy trình phát tri nụ ộ ể

• G n k t ch t ch các khái ni m n i t i c a h th ng.ắ ế ặ ẽ ệ ộ ạ ủ ệ ố

Hi n nay, UML là m t ngôn ng đã đệ ộ ữ ược OMG chu n hóa và đẩ ược đ c t rõ ràng T tặ ả ấ

c các mô hình, s đ c a UML đ u theo hả ơ ồ ủ ề ướng đ i tố ượng

Các đ c tính c a UML bao g m:ặ ủ ồ

• Mô hình class (class diagrams) mô t c u trúc tĩnh c a h th ng và m i quan hả ấ ủ ệ ố ố ệ

gi a các đ i tữ ố ượng

• Mô hình tương tác (interaction diagrams), mô hình tr ng thái (state diagrams), môạ hình ho t đ ng (activity diagrams) mô t các hành vi đ ng c a các đ i tạ ộ ả ộ ủ ố ượ ng trong h th ng cũng nh các thông đi p gi a chúng.ệ ố ư ệ ữ

• Mô hình Use-case và mô hình ho t đ ng mô t các yêu c u và các lu ng côngạ ộ ả ầ ồ

vi c trong h th ng.ệ ệ ố

• Các mô hình c u trúc h n h p (composite structure diagrams) mô t s h p tácấ ỗ ợ ả ự ợ cũng nh các đ c đi m v cài đ t.ư ặ ể ề ặ

15

Trang 4

• Mô hình tri n khai (deployment diagrams) mô t vi c tri n khai ph n m m trênể ả ệ ể ầ ề

m t môi trộ ường xác đ nh.ị

III Ngôn ng UML ữ

Xét trên khía c nh ngôn ng di n t , UML có đ y đ các mô hình và s đ đ thạ ữ ễ ả ầ ủ ơ ồ ể ể

hi n h u hêt các khía c nh c a h th ng ph n m m Các thành ph n c a ngôn ng UML baoệ ầ ạ ủ ệ ố ầ ề ầ ủ ữ

g m:ồ

• Các Views (các hướng nhìn): Các view th hi n các cách nhìn khác nhau t i hể ệ ớ ệ

th ng M t h th ng không th ch đố ộ ệ ố ể ỉ ược mô t b i m t s đ Nhi u hả ở ộ ơ ồ ề ướ ng nhìn khác nhau cho ta nhi u s đ mô t đ y đ v h th ng Các hề ơ ồ ả ầ ủ ề ệ ố ướng nhìn cũng liên k t ngôn ng mô hình v i các quy trình đế ữ ớ ược ch n cho vi c phát tri nọ ệ ể

h th ng.ệ ố

• Các Diagrams (các s đ ): Các s đ bao g m các ph n t hình v dùng đ môơ ồ ơ ồ ồ ầ ử ẽ ể

t nôi dung c a các View UML 2.0 bao g m 13 lo i s đ khác nhau.ả ủ ồ ạ ơ ồ

• Các Model Elements (các ph n t mô hình): Các khái ni m đầ ử ệ ượ ử ục s d ng trong các s đ và các ph n t c a s đ di n t các khái ni m ph bi n c a côngơ ồ ầ ử ủ ơ ồ ễ ả ệ ổ ế ủ ngh hệ ướng đ i tố ượng nh class, object, message (thông đi p) và m i quan hư ệ ố ệ

gi a chúng bao g m quan h dependence, inheritance và aggregation M t ph nữ ồ ệ ộ ầ

t mô hình có th đử ể ượ ử ục s d ng trong nhi u s đ nh ng chúng luôn có cùng ýề ơ ồ ư nghĩa và ký hi u gi ng nhau.ệ ố

16

Trang 5

• Cỏc General Mechanisms (cỏc đ c t chung m r ng): Mụ t cỏc thụng tin chỳặ ả ở ộ ả

thớch, ng nghĩa c a cỏc ph n t mụ hỡnh, thu t ng ữ ủ ầ ử ậ ữ

Use-case view: Đõy là hướng nhỡn v m t ch c năng c a h th ng đề ặ ứ ủ ệ ố ược th c hi n b iự ệ ở

cỏc tỏc nhõn bờn ngoài

ud Primary Use Cases                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

                                                                                                       

Hệ thống bán hàng qua mạng Interrnet Chọn hàng

Khách hàng

Đ ăng ký khách hàng

Quản trị hệ

thống

Nhân viên kinh

doanh

Lập đơn mua hàng

Gửi thông tin phản hồi

Xem chi tiết sản phẩm

Cập nhật giỏ hàng

Cập nhật thông tin mặt hàng

Quản lý danh mục hàng hóa

Trả lời khách hàng

Theo dõi

đơn hàng

Cỏc nguyờn t c cho vi c xõy d ng use-case view là:ắ ệ ự

• Cỏc use-case được hỡnh thành trờn c s nhỡn t bờn ngoài vào trong h th ngơ ở ừ ệ ố

(out-> in)

• Cỏc use-case ph i đ y đ , chỳng đả ầ ủ ượ ổc t ng h p theo phợ ương phỏp đi t t i đaừ ố

đ n t i thi u (ban đ u m r ng t i đa cỏc use-case cú th sau đú thu h p l iế ố ể ầ ở ộ ố ể ẹ ạ theo nhu c u khỏch hàng).ầ

• Cỏc use-case c n cú tớnh đ c l p tầ ộ ậ ương đ i đ d t ch c nhúm làm vi c và cúố ể ễ ổ ứ ệ

tớnh tỏi s d ng cao.ử ụ Bờn c nh s đ , ngạ ơ ồ ười làm mụ hỡnh cú th s d ng mụ t b ng văn b n chi ti t choể ử ụ ả ằ ả ế

m i use-case (text detail) M i mụ t c n đ m b o cỏc thụng tin sau:ỗ ỗ ả ầ ả ả

17

Trang 6

1 Tên use-case

2 M c tiêu c a use-caseụ ủ

3 Ph m vi c a use-caseạ ủ

4 Các tác nhân chính

5 Ti n đi u ki nề ề ệ

6 Dòng chính

7 Dòng phụ

8 Ngo i lạ ệ

9 H u đi u ki nậ ề ệ Sau đây là m t ví d v use-case text detail:ộ ụ ề

Dòng chính

1 Người đòi b i thồ ường g i đ n yêu c u v i các d li u b ng ch ng v tai n nử ơ ầ ớ ữ ệ ằ ứ ề ạ

2 Công ty b o hi m xác nh n ngả ể ậ ười vi t đ n có quy n l i b o hi m h p lế ơ ề ợ ả ể ợ ệ

3 Công ty b o hi m phân công cho m t đ i lý xác minh trả ể ộ ạ ường h p nàyợ

4 Đ i lý đ i chi u t t c các chi ti t trong đ n theo chính sách b o hi m c aạ ố ế ấ ả ế ơ ả ể ủ công ty

5 Công ty b o hi m tr ti n b o hi mả ể ả ề ả ể

Dòng phụ

1a B ng ch ng tai n n không đ y đằ ứ ạ ầ ủ

1a1 Công ty b o hi m yêu c u d li u thi uả ể ầ ữ ệ ế

1a2 Người đòi b i thồ ường g i l i các d li u thi uử ạ ữ ệ ế

2a Người đòi b i thồ ường không có chính sách b o hi m h p lả ể ợ ệ

2a1 Công ty b o hi m t ch i yêu c u, nh c nh , ghi l i và k t thúc x lý v vi cả ể ừ ố ầ ắ ở ạ ế ử ụ ệ 3a Không có đ i lý nào r nh r iạ ả ỗ

3a1 (Công ty b o hi m s làm gì trong trả ể ẽ ường h p này???)ợ

4a V tai n n vi ph m chính sách b o hi m c b nụ ạ ạ ả ể ơ ả

4a1 Công ty b o hi m t ch i yêu c u, nh c nh , ghi l i và k t thúc x lý v vi cả ể ừ ố ầ ắ ở ạ ế ử ụ ệ 4b V tai n n ch vi ph m chính sách b o hi m nhụ ạ ỉ ạ ả ể ỏ

4b1 Công ty b o hi m đi u đình v i ngả ể ề ớ ười đòi b o hi m và đ ng ý tr b o hi mả ể ồ ả ả ể

Trong trường h p các use-case quá ph c t p và ch a đợ ứ ạ ư ược mô t rõ ràng, chúng có thả ể

được tác ra thành các use-case nh h n theo hai d ng:ỏ ơ ạ

• Include: use-case m i đớ ược tách ra và được bao g m trong use-case chính m tồ ộ cách vô đi u ki nề ệ

18

Trang 7

uc Use Case Model

Use Case Principal

Use Case Include

«include»

• Extend: use-case m i x y ra khi m t đi u ki n x y ra trong use-case chính ớ ả ộ ề ệ ả

uc Use Case Model

Use Case Principal

Use Case Extend

«extend»

Nói chung, use-case view giúp ta tr l i câu h i WHAT? v h th ng.ả ờ ỏ ề ệ ố

Logical views

Đây là hướng nhìn cho bi t các ch c năng đế ứ ược thi t k vào trong h th ng nh thế ế ệ ố ư ế nào (HOW?) thông qua vi c mô t các c u trúc tĩnh và các hành vi đ ng c a h th ng Sau đâyệ ả ấ ộ ủ ệ ố

là m t s s đ quan tr ng thộ ố ơ ồ ọ ường đượ ử ục s d ng

Các c u trúc tĩnh (static structure):ấ C u trúc tĩnh đấ ược mô hình b ng UML chính là cácằ class diagrams Đây là s mô hình các khái ni m trong ng d ng, các đ c đi m n i t i cũngự ệ ứ ụ ặ ể ộ ạ

nh m i quan h gi a chúng.ư ố ệ ữ

19

Trang 8

Ví d v mô hình class:ụ ề

cd Jav a M odel

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

                                                                                                                                                           

Account

- billingAddress: String

- closed: boolean

- deliveryAddress: String

- emailAddress: String

- name: String

+ createNewAccount() : void

+ loadAccountDetails() : void

+ markAccountClosed() : void

+ retrieveAccountDetails() : void

+ submitNewAccountDetails() : void

+ validateUser(String, String)

property get

+ getBasket() : ShoppingBasket

+ getBillingAddress() : String

+ getClosed() : boolean

+ getDeliveryAddress() : String

+ getEmailAddress() : String

+ getName() : String

+ getOrder() : Order

property set

+ setBasket(ShoppingBasket) : void

+ setBillingAddress(String) : void

+ setClosed(boolean) : void

+ setDeliveryAddress(String) : void

+ setEmailAddress(String) : void

+ setName(String) : void

+ setOrder(Order) : void

LineItem

- quantity: int

property get

+ getItem() : StockItem + getQuantity() : int

property set

+ setItem(StockItem) : void + setQuantity(int) : void

Order

- date: Date

- deliveryInstructions: String

- orderNumber: String

+ checkForOutstandingOrders() : void

property get

+ getDate() : Date + getDeliveryInstructions() : String + getLineItem() : LineItem + getOrderNumber() : String + getStatus() : OrderStatus

property set

+ setDate(Date) : void + setDeliveryInstructions(String) : void + setLineItem(LineItem) : void + setOrderNumber(String) : void + setStatus(OrderStatus) : void

«enumeration»

OrderStatus

enum

- closed: int

- delivered: int

- dispatched: int

- new: int

- packed: int

ShoppingBasket

- shoppingBasketNumber: String

+ addLineItem() : void + createNewBasket() : void + deleteItem() : void + processOrder() : void

property get

+ getLineItem() : LineItem

property set

+ setLineItem(LineItem) : void

StockItem

- Author: string

- catalogNumber: string

- costPrice: number

- listPrice: number

- title: string

property get

+ getAuthor() : string + getCatalogNumber() : string + getCostPrice() : number + getListPrice() : number + getTitle() : string

property set

+ setAuthor(string) : void + setCatalogNumber(string) : void + setCostPrice(number) : void + setListPrice(number) : void + setTitle(string) : void

Transaction

- date: Date

- orderNumber: String

+ loadAccountHistory() : void + loadOpenOrders() : void

property get

+ getAccount() : Account + getDate() : Date + getLineItem() : LineItem + getOrderNumber() : String

property set

+ setAccount(Account) : void + setDate(Date) : void + setLineItem(LineItem) : void + setOrderNumber(String) : void

-history -account

-status

-item

-basket -account

Các hành vi đ ng:ộ

State machine:

Các khái ni m ệ Mô hình hóa Classes

Attributes Operations

Object

20

Trang 9

Đây là mô hình mô t vi c chuy n đ i tr ng thái c a đ i tả ệ ể ổ ạ ủ ố ượng trong quá trình tham gia các ho t đ ng nghi p v c a h th ng Tr ng thái c a đ i tạ ộ ệ ụ ủ ệ ố ạ ủ ố ượng b thay đ i b i m t hànhị ổ ở ộ

vi nào đó

S đ hành đ ng (activity diagrams):ơ ồ ộ Đây là s đ mô t lu ng nghi p v trong hơ ồ ả ồ ệ ụ ệ

th ng.ố

21

Trang 10

S đ tơ ồ ương tác (interaction diagram): Đây là s đ mô t s tơ ồ ả ự ương tác gi a các đ iữ ố

tượng theo trình t th i gian (còn g i là sequence diagram) Các s đ sequence có th đự ờ ọ ơ ồ ể ượ c

mô t m c h th ng (Sequence System – ch có user tả ở ứ ệ ố ỉ ương tác v i h th ng) ho c m c chiớ ệ ố ặ ứ

ti t (Sequence Detail – Các đ i tế ố ượng và thông đi p gi a chúng đã đệ ữ ược đ nh hìnhị ):

22

Ngày đăng: 30/09/2013, 09:20

TỪ KHÓA LIÊN QUAN

w