Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Bài giảng về Java
PREMIUM
Số trang
151
Kích thước
1.3 MB
Định dạng
PDF
Lượt xem
1565

Bài giảng về Java

Nội dung xem thử

Mô tả chi tiết

M C L C Ụ Ụ

M C L C Ụ Ụ ........................................................................................................................................ 1

Đ tài 0. Gi i thi u v Java ề ớ ệ ề ............................................................................................................ 6

I. L ch s hình thành và phát tri n ngôn ng l p trình Java ị ử ể ữ ậ ....................................................... 6

I.1. Gi i thi u v Java ớ ệ ề ............................................................................................................. 6

I.2 Tóm t t l ch s hình thành c a Java ắ ị ử ủ ................................................................................. 6

II. Các đ c tr ng c a Java ặ ư ủ ........................................................................................................... 7

II.1. Tính đ n gi n ơ ả ................................................................................................................... 7

II.2. Tính h ng đ i t ng ướ ố ượ ..................................................................................................... 7

II.3. Tính phân tán .................................................................................................................... 7

II.4. Tính m nh m ạ ẽ .................................................................................................................. 7

II.5. Tính an toàn ...................................................................................................................... 7

II.6. Tính trung l pậ ................................................................................................................... 8

II.7. Tính di đ ng ộ ..................................................................................................................... 8

II.8. Tính thông d ch ị ................................................................................................................. 9

II.9. Tính th c thi cao ự ............................................................................................................... 9

II.10. Tính đa lu ng ồ .................................................................................................................. 9

II.11. Tính đ ng ộ ....................................................................................................................... 9

III. Các lo i ng d ng c a Java ạ ứ ụ ủ .................................................................................................. 9

IV. Công c và môi tr ng l p trình Java ụ ườ ậ .................................................................................. 9

V. Cài đ t Java ặ .......................................................................................................................... 10

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

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

I.1 Các khái ni m căn b n c a công ngh h ng đ i t ng ệ ả ủ ệ ướ ố ượ .............................................. 13

I.2 Quy trình chung phát tri n h th ng ph n m m ể ệ ố ầ ề ............................................................. 14

I.3 Nh ng thách th c c a ngành công nghi p ph n m m hi n nay ữ ứ ủ ệ ầ ề ệ .................................... 14

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

II.1. Tóm t t l ch s UML ắ ị ử ..................................................................................................... 14

II.2. Khái ni m v UML ệ ề ........................................................................................................ 15

II.3 Đ c tr ng c a UML ặ ư ủ ........................................................................................................ 15

III. Ngôn ng UML ữ .................................................................................................................... 16

III.1. Các thành ph n c a UML ầ ủ ............................................................................................. 16

III.2. Các h ng nhìn (view) ướ .................................................................................................. 17

III.3 ng d ng UML trong quy trình làm ph n m m Ứ ụ ầ ề .......................................................... 24

IV. Quy trình Rational Unified Process (RUP) phát tri n ph n m m d a trên UML ể ầ ề ự .............. 26

IV.1. Gi i thi u v RUP ớ ệ ề ........................................................................................................ 26

IV.2. Các nguyên t c chính c a RUP: ắ ủ ................................................................................... 26

IV.3. Vòng đ i c a ph n m m theo quy trình RUP ờ ủ ầ ề ............................................................. 26

IV.4. Các công c c a RUP ụ ủ ................................................................................................... 28

Bài t pậ ........................................................................................................................................ 28

Đ tài 2. Nh p môn Java ề ậ ............................................................................................................... 29

I. Vi t và th c hi n m t ch ng trình Java ế ự ệ ộ ươ ............................................................................ 29

I.1 Tìm hi u mã ngu n m t ch ng trình đ n gi n ể ồ ộ ươ ơ ả ............................................................ 29

I.2. Th c hi n ch ng trình Java. ự ệ ươ ......................................................................................... 29

I.3. M t s chú ý khi l p trình Java ộ ố ậ ....................................................................................... 30

1

I.4. C u trúc m t ch ng trình Java ấ ộ ươ ..................................................................................... 30

II. Các ki u d li u trong Java ể ữ ệ .................................................................................................. 31

II.1 Các ki u d li u s nguyên ể ữ ệ ố ............................................................................................ 31

II.2 Các ki u s th c ể ố ự ............................................................................................................. 32

II.3 Ki u ký t (character) ể ự ..................................................................................................... 32

II.4 Ki u logic (boolean) ể ........................................................................................................ 32

II.5 Ki u chu i ể ỗ ....................................................................................................................... 32

II.6 Chuy n đ i gi a các ki u s ể ổ ữ ể ố .......................................................................................... 32

III. Khai báo bi n và h ng trong Java ế ằ ....................................................................................... 33

III.1 Quy t c đ t tên bi n ắ ặ ế ...................................................................................................... 33

III.2 Khai báo bi nế ................................................................................................................. 33

III.3 Bi n ki u m ng ế ể ả ............................................................................................................. 34

III.4 H ng s (literal) ằ ố ............................................................................................................. 35

III.5 Ph m vi ho t đ ng c a h ng và bi n: ạ ạ ộ ủ ằ ế ......................................................................... 36

IV. Các toán t và bi u th c ử ể ứ ..................................................................................................... 36

IV.1 Các toán t và th t u tiên ử ứ ự ư ......................................................................................... 36

IV.2 Bi u th c ể ứ ....................................................................................................................... 37

V. Các l nh đi u khi n r nhánh ệ ề ể ẽ .............................................................................................. 38

V.1 L nh if ệ ............................................................................................................................. 38

V.2. L nh switch …case ệ ........................................................................................................ 38

VI. Các l nh l p ệ ặ ......................................................................................................................... 39

VI.1. Vòng l p for ặ .................................................................................................................. 39

VI.2. Vòng l p while ặ .............................................................................................................. 40

VI.3. Vòng l p do... while ặ ...................................................................................................... 41

VI.4. Phép nh yả ...................................................................................................................... 41

VII. Vào d li u t bàn phím và xu t d li u ra màn hình ữ ệ ừ ấ ữ ệ ..................................................... 42

VII.1. L y giá tr nh p vào t bàn phím ấ ị ậ ừ ............................................................................... 42

VII.2 K t xu t d li u ra màn hình ế ấ ữ ệ ..................................................................................... 43

Bài t pậ ........................................................................................................................................ 44

Đ tài 3. L p trình h ng đ i t ng trong Java ề ậ ướ ố ượ .......................................................................... 46

I. Khái ni m l p trình h ng đ i t ng (Object-Oriented Programming - OOP) ệ ậ ướ ố ượ ................... 46

I.1. Khái ni m OOP ệ ............................................................................................................... 46

I.2 C s lý lu n c a OOP ơ ở ậ ủ .................................................................................................... 46

I.3 Tr u t ng hóa ừ ượ ................................................................................................................. 46

II. Tính đóng gói trong Java ....................................................................................................... 48

II.1 Khái ni m tính đóng gói ệ .................................................................................................. 48

II.2 M i quan h gi a các class ố ệ ữ ............................................................................................. 48

II.3 M t s g i ý khi thi t k class ộ ố ợ ế ế ....................................................................................... 48

IV. S d ng các Class xây d ng s n trong th vi n ử ụ ự ẵ ư ệ ................................................................ 49

V. Xây d ng Class trong Java ự .................................................................................................... 50

V.1 C u trúc c a class ấ ủ ........................................................................................................... 50

V.2 Các thu c tính thành ph n: ộ ầ ............................................................................................. 51

V.3 Các ph ng th c thành ph n ươ ứ ầ ......................................................................................... 52

V.4 G i và truy n tham s cho ph ng th c ọ ề ố ươ ứ ....................................................................... 53

V.6 Các hàm và ph ng th c đ c bi t ươ ứ ặ ệ ................................................................................. 53

V.7 Khai báo ch ng các ph ng th c ồ ươ ứ ................................................................................... 54

V.8 L p l ng nhau – l p n i ớ ồ ớ ộ ................................................................................................. 55

2

VI. Tính k th a trong Java ế ừ ....................................................................................................... 56

VI.1 S k th a các thu c tính và ph ng th c ự ế ừ ộ ươ ứ .................................................................. 56

VI.2 S k th a đ i v i các constructor ự ế ừ ố ớ ............................................................................... 59

VII. Tính đa hình trong Java ....................................................................................................... 60

VII.1 S ép ki u và gán tham chi u đ i t ng ự ể ế ố ượ .................................................................... 60

VII.2 S ràng bu c đ ng –Dynamic Binding ự ộ ộ ....................................................................... 61

VIII. L p Object ớ ......................................................................................................................... 62

IX. Giao di nệ .............................................................................................................................. 62

IX.1 C u trúc c a giao di n ấ ủ ệ .................................................................................................. 62

IX.2 Các tính ch t c a giao di n ấ ủ ệ ........................................................................................... 64

X. Package .................................................................................................................................. 64

X.1 S d ng các package trong th vi n Java ử ụ ư ệ ...................................................................... 64

X.2 Đ t l p vào package ặ ớ ....................................................................................................... 65

Bài t pậ ........................................................................................................................................ 65

Đ tài 4. L p và ph ng th c tr u t ng ề ớ ươ ứ ừ ượ .................................................................................... 67

I. Khái ni m l p tr u t ng ệ ớ ừ ượ ...................................................................................................... 67

II. Cài đ t l p và ph ng th c tr u t ng trong Java ặ ớ ươ ứ ừ ượ ............................................................. 67

Bài t pậ ........................................................................................................................................ 68

Đ tài 5. L u tr và x lý đ i t ng ề ư ữ ử ố ượ ............................................................................................ 69

I. L p Vector và giao di n Enumeration ớ ệ ................................................................................... 69

I.1 L p Vector ớ ........................................................................................................................ 69

I.2 Giao di n Enumeration ệ ..................................................................................................... 70

II. M ng trong Java và l p ArrayList ả ớ ........................................................................................ 72

II.1 M ng trong Java ả .............................................................................................................. 72

II.2. Các thu t toán c b n trên m ng ậ ơ ả ả .................................................................................. 73

II.3 Class Arrays ..................................................................................................................... 74

III Danh sách trong java và giao di n Lists ệ .............................................................................. 76

Bài t pậ ........................................................................................................................................ 77

Đ tài 6. Các lu ng vào ra d li u v i file ề ồ ữ ệ ớ ................................................................................... 78

I. Khái ni m lu ng vào ra (I/O stream) ệ ồ ..................................................................................... 78

II. L p InputStream: ớ ................................................................................................................... 79

III. L p OutputStream ớ ................................................................................................................ 80

IV. L p FileInputStream ớ ............................................................................................................ 80

V. L p FileOutputStream ớ ........................................................................................................... 80

VI. L p File ớ ................................................................................................................................ 80

VII. Nh p xu t l c ậ ấ ọ ................................................................................................................... 82

VII.1 L p FilterInputStream: ớ ................................................................................................ 82

VII.2 L p FilterOutputStream ớ ................................................................................................ 82

VIII. Vào/ra có s d ng b đ m ử ụ ộ ệ .............................................................................................. 82

VIII.1 L p BufferedInputStream: ớ .......................................................................................... 82

VIII.2 L p BufferedOutputStream ớ ......................................................................................... 82

IX. L p RandomAccessFile ớ ...................................................................................................... 85

X. Đ i t ng System.in ố ượ ............................................................................................................. 85

XI. Truy c p file ch đ tu n t ậ ở ế ộ ầ ự ........................................................................................... 85

XII. Truy c p file nh phân ậ ị ........................................................................................................ 89

Bài t p ậ ....................................................................................................................................... 90

Đ tài 7. X lý ngo i l ề ử ạ ệ ................................................................................................................ 91

3

I. Các tình hu ng s d ng ngo i l ố ử ụ ạ ệ .......................................................................................... 91

II. C s qu n lý ngo i l trong Java ơ ở ả ạ ệ ....................................................................................... 91

III. C u trúc cây k th a các x lý ngo i l ấ ế ừ ử ạ ệ ............................................................................ 92

IV. S d ng ngo i l đ c ki m soát ử ụ ạ ệ ượ ể ...................................................................................... 93

V. Xây d ng m t ngo i l ự ộ ạ ệ ........................................................................................................ 94

VI. Bài t pậ .................................................................................................................................. 95

Đ tài 8. X lý các s ki n trong Java ề ử ự ệ .......................................................................................... 96

I. Khái ni m và c s x lý s ki n ệ ơ ở ử ự ệ ......................................................................................... 96

II. Truy c p thông tin s ki n ậ ự ệ ................................................................................................. 102

III. X lý các s ki n trên window ử ự ệ ......................................................................................... 103

IV. Các l p thích nghi ớ .............................................................................................................. 104

V. X lý các s ki n chu t ử ự ệ ộ .................................................................................................. 106

Bài t pậ ...................................................................................................................................... 107

Đ tài 9. Applet ề ............................................................................................................................ 108

I. Xây d ng m t Applet đ n gi n ự ộ ơ ả ........................................................................................... 108

II. C u trúc c b n và vòng đ i c a m t Applet ấ ơ ả ờ ủ ộ ................................................................... 108

III. An ninh và kh năng c a Applet ả ủ ....................................................................................... 110

IV. ng d ng Applet v i c a s Popup Ứ ụ ớ ủ ổ ................................................................................. 110

V. Các th HTML c a Applet ẻ ủ ................................................................................................. 111

VI. Các ph ng th c, l p trình đ h a và b t s ki n c a applet ươ ứ ậ ồ ọ ắ ự ệ ủ ........................................ 112

Đ tài 10. L p trình giao di n đ h a GUI ề ậ ệ ồ ọ ................................................................................ 114

I. Gi i thi u AWT ớ ệ .................................................................................................................. 114

II. V t ch a (Container) ậ ứ .......................................................................................................... 115

II.1 JFrame ............................................................................................................................ 115

II.2 JPanel ............................................................................................................................. 115

II.3 JDialog ........................................................................................................................... 116

II.4 JScrollPane ..................................................................................................................... 118

III. Gi i thi u v các thành ph n GUI c b n ớ ệ ề ầ ơ ả ....................................................................... 118

III.1 Nút nh n ấ ...................................................................................................................... 118

III.2 Nhãn (Label) ................................................................................................................. 118

III.3 Nút đánh d u (checkbox) ấ ............................................................................................. 120

III.4 Nút ch n (radio button) ọ ................................................................................................ 122

III.5 H p tho i Combo ộ ạ ....................................................................................................... 122

III.6 Danh sách (Lists) .......................................................................................................... 123

III.7 Ô văn b n (text field) và vùng văn b n (text areas) ả ả .................................................... 125

III.8 Thanh tr t (Scrollbar) ượ ................................................................................................ 128

IV. Thành ph n Menu ầ .............................................................................................................. 129

V. B qu n lý cách trình bày (Layout Manager) ộ ả ..................................................................... 132

V.1 Cách trình bày FlowLayout: .......................................................................................... 133

V.2 Cách trình bày GridLayout: ........................................................................................... 133

V.3 Cách trình bày BorderLayout ........................................................................................ 133

VI. Các h p tho i ộ ạ ..................................................................................................................... 133

VI.1 H p tho i thông báo ộ ạ .................................................................................................... 133

VI.2 H p tho i ch n File ộ ạ ọ ..................................................................................................... 134

VI.3 H p tho i ch n màu ộ ạ ọ .................................................................................................... 135

Bài t pậ ...................................................................................................................................... 135

Đ tài 11. Threading ề .................................................................................................................... 137

4

I. Khái ni m thread ệ .................................................................................................................. 137

I.1 Khái ni m: ệ ...................................................................................................................... 137

I.2. L p Thread ớ ..................................................................................................................... 137

I.3 Các b c đ t o m t thread ướ ể ạ ộ .......................................................................................... 138

II. Các tr ng thái c a thread. ạ ủ ................................................................................................... 138

III. Các thu c tính c a thread ộ ủ .................................................................................................. 139

III.1 Đ u tiên c a thread ộ ư ủ .................................................................................................. 139

III.2 Nhóm thread ................................................................................................................. 140

III.3 Qu n lý các ngo i l c a thread ả ạ ệ ủ ................................................................................. 140

IV. Đi u khi n các thread ề ể ........................................................................................................ 141

IV.1 Interrupt m t thread ộ ..................................................................................................... 141

IV.2 D ng m t thread ừ ộ .......................................................................................................... 142

IV.3 T m d ng và ph c h i m t thread ạ ừ ụ ồ ộ ............................................................................. 143

IV.4 Gi i phóng th i gian cho CPU ả ờ .................................................................................... 143

IV.5 Đ i m t thread k t thúc công vi c ợ ộ ế ệ ............................................................................. 143

V. Đ ng b thread ồ ộ ................................................................................................................... 144

V.1 Tình tr ng “đua tranh” ạ .................................................................................................. 144

V.2 Khóa đ i t ng ố ượ ............................................................................................................. 145

V.3 Đ i t ng đi u ki n ố ượ ề ệ ..................................................................................................... 146

Bài t pậ ...................................................................................................................................... 148

Ph l c A. Các t khóa c a Java ụ ụ ừ ủ ................................................................................................ 149

Ph l c B M t s hàm hay s d ng ụ ụ ộ ố ử ụ ........................................................................................... 150

Tài li u tham kh o ệ ả ....................................................................................................................... 151

5

Đ tài 0. Gi i thi u v Java ề ớ ệ ề

I. L ch s hình thành và phát tri n ngôn ng l p trình Java ị ử ể ữ ậ

I.1. Gi i thi u v Java ớ ệ ề

Java là m t ngôn ng l p trình m nh đang đ c s d ng r t r ng rãi hi n nay trên toàn ộ ữ ậ ạ ượ ử ụ ấ ộ ệ

th gi i. Trên th c t , Java đ c bi t đ n không ch là m t ngôn ng l p trình mà là m t ế ớ ự ế ượ ế ế ỉ ộ ữ ậ ộ

platform – m t môi tr ng và công ngh phát tri n – riêng bi t. Khi làm vi c v i Java, ng i ộ ườ ệ ể ệ ệ ớ ườ

l p trình đ c s h u m t th vi n l n, có tính m v i m t l ng mã ngu n tái s d ng ậ ượ ở ữ ộ ư ệ ớ ở ớ ộ ượ ồ ử ụ

kh ng l luôn có trên internet. Ngoài ra, các ch ng trình vi t b ng Java có môi tr ng th c ổ ồ ươ ế ằ ườ ự

thi riêng v i các tính năng b o m t, kh năng tri n khai trên nhi u h đi u hành khác nhau và ớ ả ậ ả ể ề ệ ề

nhi u tính năng u vi t khác chúng ta s xem xét trong ph n sau. ề ư ệ ẽ ầ

I.2 Tóm t t l ch s hình thành c a Java ắ ị ử ủ

Năm 1991, m t nhóm k s c a hãng SUN bao g m Patrick Naughton, Sun Fellow và ộ ỹ ư ủ ồ

James Gosling có ý t ng phát minh ra m t ngôn ng l p trình nh g n có th th c thi đ c ưở ộ ữ ậ ỏ ọ ể ự ượ

trên các thi t b d ng nh b chuy n kênh c a truy n hình cáp vì các thi t b ki u này có b ế ị ạ ư ộ ể ủ ề ế ị ể ộ

nh nh . Bên c nh đó, do các hãng khác nhau s d ng các chíp x lý (CPUs) khác nhau nên ớ ỏ ạ ử ụ ử

m t đ c tính quan tr ng mà ngôn ng này ph i có là đ c l p v i các dòng CPUs khác nhau – ộ ặ ọ ữ ả ộ ậ ớ

g i là đ c tính di đ ng. Nhóm đã m m t d án có tên là Green đ hi n th c hóa ý t ng này. ọ ặ ộ ở ộ ự ể ệ ự ưở

Đ gi i quy t v n đ di đ ng, nhóm đã s d ng ý t ng c a k s Niklaus Wirth – ể ả ế ấ ề ộ ử ụ ưở ủ ỹ ư

ng i sáng l p ngôn ng Pascal – v vi c s d ng c ch thông d ch và máy o (virtual ườ ậ ữ ề ệ ử ụ ơ ế ị ả

machine).

V n n t ng ngôn ng , do hãng SUN phát tri n trên n n UNIX nên h s d ng ngôn ề ề ả ữ ể ề ọ ử ụ

ng l p trình C++ là ch y u. Do đó, ngôn ng m i thiên v h ng đ i t ng (Object ữ ậ ủ ế ữ ớ ề ướ ố ượ

Oriented) c a C++ h n là h ng th t c nh Pascal. ủ ơ ướ ủ ụ ư

Ban đ u nhóm đ t tên cho ngôn ng m i là “Oak” nh ng sau đó đ c chuy n thành ầ ặ ữ ớ ư ượ ể

Java do Oak cũng đã là tên m t ngôn ng l p trình khác. ộ ữ ậ

Năm 1992, d án Green cho ra đ i s n ph m đ u tiên có tên là “*7” nh ng đã không ự ờ ả ẩ ầ ư

đ c chào đón nh mong đ i. Sau đó nhóm đã ph i m t c năm 1993 và n a đ u 1994 đ đi ượ ư ợ ả ấ ả ử ầ ể

ti p th công ngh c a mình. T năm 1994, s phát tri n c a Internet đã t o c h i đ Java ế ị ệ ủ ừ ự ể ủ ạ ơ ộ ể

phát tri n nhanh chóng. Nhóm đã phát tri n m t trình duy t có tên là HotJava cho phép các ể ể ộ ệ

ch ng trình Java nhúng đ c trong đó (applet). Đây chính là minh ch ng rõ ràng v s c m nh ươ ượ ứ ề ứ ạ

c a Java đã nhanh chóng đ c c ng đ ng ng i s d ng internet bi t đ n và là ti n đ đ ủ ượ ộ ồ ườ ử ụ ế ế ề ề ể

Java phát tri n r c r nh ngày hôm nay. ể ự ỡ ư

Phiên b n đ u tiên 1.0 c a Java ra đ i vào năm 1996, sau đó là phiên b n 1.1 m c dù ả ầ ủ ờ ả ặ

khá m nh nh ng cũng còn nhi u h n ch . ạ ư ề ạ ế

Năm 1998 đánh đ u b c chuy n mình m nh m c a Java v i s ra đ i c a phiên b n ấ ướ ể ạ ẽ ủ ớ ự ờ ủ ả

1.2 làm cho Java ti n g n t i m c tiêu “vi t m t l n, ch y kh p n i” (Write once, Run ế ầ ớ ụ ế ộ ầ ạ ắ ơ

Anywhere). Các nhân viên ti p th c a Java g i đây là phiên b n “Java 2 Standard Edition ế ị ủ ọ ả

Software Development Kit Version 1.2” ý nói t i s có m t đ ng th i c a 2 phiên b n ớ ự ặ ồ ờ ủ ả

“Standard Edition” là Micro Edition và Enterprise Edition trong Java.

Các phiên b n 1.3, 1.4 là s phát tri n m r ng ti p theo c a phiên b n 1.2. Phiên b n ả ự ể ở ộ ế ủ ả ả

1.5 (chuy n sang g i là phiên b n 5.0) đánh d u s tích h p đ y đ nh t các công ngh Java. ể ọ ả ấ ự ợ ầ ủ ấ ệ

B ng sau cho th y s phát tri n th vi n Java qua các phiên b n: ả ấ ự ể ư ệ ả

6

Phiên

b nả

S các Class và Interface ố

1.0 211

1.1 477

1.2 1524

1.3 1840

1.4 2723

5.0 3270

Hi n t i, Java đã phát tri n t i phiên b n 1.6. ệ ạ ể ớ ả

II. Các đ c tr ng c a Java ặ ư ủ

Java đ c bi t đ n v i các đ c tr ng sau: ượ ế ế ớ ặ ư

II.1. Tính đ n gi n ơ ả

Java đ c phát tri n d a trên C++ nh ng l c b t đi ho c thay th các khái ni m khó ượ ể ự ư ượ ớ ặ ế ệ

hi u nh header file, con tr , structures, union, operator overloading, virtual base class. Trong ể ư ỏ

Java ch có th a k đ n mà không có tính đa th a k nh c a C++. Tuy nhiên tính đa th a k ỉ ừ ế ơ ừ ế ư ủ ừ ế

đ c bi u hi n thông qua vi c s d ng các Interface. ượ ể ệ ệ ử ụ

II.2. Tính h ng đ i t ng ướ ố ượ

Nh đã trình bày trên, Java đ c phát tri n t C++ nên nó là ngôn ng l p trình ư ở ượ ể ừ ữ ậ

h ng đ i t ng. ướ ố ượ

II.3. Tính phân tán

Java cho phép l p trình truy c p các đ i t ng t xa thông qua các giao th c HTTP, ậ ậ ố ượ ừ ứ

FTP b ng các ph ng th c nh RMI hay Socket. ằ ươ ứ ư

Java hoàn toàn thích h p cho các ng d ng Internet. Các công ngh JSP, Servlet cho ợ ứ ụ ệ

phép xây d ng các website t ng tác v i các tính năng th c thi t i u ự ươ ớ ự ố ư

II.4. Tính m nh m ạ ẽ

Vi c lo i b con tr làm tăng đ tin c y c a ch ng trình. L p trình viên không c n ệ ạ ỏ ỏ ộ ậ ủ ươ ậ ầ

quan tâm đ n thao tác c p phát ế ấ và gi i phóng b nh . V i Java, b nh đ c gi i phóng t ả ộ ớ ớ ộ ớ ượ ả ự

đ ng. ộ

II.5. Tính an toàn

Ngôn ng Java đ c thi t k đ tránh các s c : ữ ượ ế ế ể ự ố

• N p ch ng stack lúc runtime. ạ ồ

• Ả ưở ớ ộ ớ ằ ạ ượ ấ nh h ng t i b nh n m ngoài ph m vi đ c c p phát.

• Đ c và ghi file t do ọ ự

7

II.6. Tính trung l pậ

Các ch ng trình vi t b ng Java không b ph thu c vào h đi u hành. Đi u này có ươ ế ằ ị ụ ộ ệ ề ề

đ c là do mã ngu n ch ng trình không đ c biên d ch thành mã máy ngay mà thành mã ượ ồ ươ ượ ị

Bytecode. Khi đem mã Bytecode này ch y trên h máy tính nào thì m t trình thông d ch virtual ạ ệ ộ ị

machine (Java Vitual Machine-JVM) s thông d ch chúng sang mã máy t ng ng đ th c thi. ẽ ị ươ ứ ể ự

Mã ngu n -> ByteCodes -> machine code. ồ

T mã ngu n -> Bytecodes: Trình biên d ch Java. ừ ồ ị

T Bytecodes -> machine code: Trình thông d ch Virtual machine. ừ ị

Java Virtual Machine – JVM

Máy o là m t ph n m m d a trên c s máy tính o. Nó có t p h p các l nh logic đ ả ộ ầ ề ự ơ ở ả ậ ợ ệ ể

xác đ nh các ho t đ ng c a máy tính. Ng i ta có th xem nó nh m t h đi u hành thu nh . ị ạ ộ ủ ườ ể ư ộ ệ ề ỏ

JVM thi t l p các l p tr u t ng cho ph n c ng bên d i, h đi u hành, mã đã biên d ch. ế ậ ớ ừ ượ ầ ứ ướ ệ ề ị

Trình biên d ch chuy n mã ngu n thành t p các l nh c a máy o mà không ph thu c ị ể ồ ậ ệ ủ ả ụ ộ

vào ph n c ng c th . Trình thông d ch trên m i máy s chuy n t p l nh này thành ch ng ầ ứ ụ ể ị ỗ ẽ ể ậ ệ ươ

trình th c thi. Máy o t o ra m t môi tr ng bên trong đ th c thi các l nh b ng cách: ự ả ạ ộ ườ ể ự ệ ằ

• N p các file .class ạ

• Qu n lý b nh ả ộ ớ

• D n “rác”, thu h i b nh c p cho các bi n không còn đ c s d ng. ọ ồ ộ ớ ấ ế ượ ử ụ

Vi c không nh t quán c a ph n c ng làm cho máy o ph i s d ng ngăn x p đ l u ệ ấ ủ ầ ứ ả ả ử ụ ế ể ư

tr các thông tin sau: ữ

• Các “Frame” ch a các tr ng thái c a các ph ng th c. ứ ạ ủ ươ ứ

• Các toán h ng c a mã bytecode. ạ ủ

• Các tham s truy n cho ph ng th c. ố ề ươ ứ

• Các bi n c c b . ế ụ ộ

II.7. Tính di đ ng ộ

Không gi ng C++ và C, các ki u d li u nguyên th y c a Java đ c c p phát m t ố ể ữ ệ ủ ủ ượ ấ ộ

l ng b nh c đ nh. Ch ng h n ki u d li u int c a Java luôn là 4 byte (32 bit) trong khi ượ ộ ớ ố ị ẳ ạ ể ữ ệ ủ

ki u int c a C++ có th hi u là 2 byte ho c 4 byte. Thi t k này giúp cho trình biên d ch luôn ể ủ ể ể ặ ế ế ị

có s bytecode nh nhau trên m i h máy và sau đó phát sinh mã máy theo khuôn d ng c ố ư ọ ệ ạ ố

đ nh. ị

Trong các phiên b n đ u c a Java, v n đ giao di n đ h a cho ng i s d ng (GUI) ả ầ ủ ấ ề ệ ồ ọ ườ ử ụ

ch a đ c x lý tri t đ và ph thu c vào h máy. Ngày nay, th vi n GUI c a Java đã đ c ư ượ ử ệ ể ụ ộ ệ ư ệ ủ ượ

Macintosh

Trình

biên

d ch ị

Bytecode

Trình

thông

d ch ị

Java

(Java

Interpreter)

IBM

Sparc

8

vi t l i hoàn toàn và có tính đ c l p cao giúp cho ch ng trình Java có giao di n gi ng nhau ế ạ ộ ậ ươ ệ ố

trên m i h máy. ọ ệ

II.8. Tính thông d ch ị

Trình thông d ch Java s thông d ch mã bytecode sang mã máy n i mà nó đ c cài đ t. ị ẽ ị ơ ượ ặ

Quá trình này cũng làm các ch ng trình Java ch y ch m h n. Tuy nhiên đây l i là gi i pháp ươ ạ ậ ơ ạ ả

cho tính di đ ng. ộ

II.9. Tính th c thi cao ự

Java s d ng công ngh Just-In-Time (JIT) giúp quá trình thông d ch th c hi n nhanh ử ụ ệ ị ự ệ

h n. V i công ngh này, nh ng mã bytecode gi ng nhau s ch c n thông d ch m t l n. Ngày ơ ớ ệ ữ ố ẽ ỉ ầ ị ộ ầ

nay, công ngh này liên t c đ c c i ti n và cho k t qu v t tr i so v i các trình thông d ch ệ ụ ượ ả ế ế ả ượ ộ ớ ị

truy n th ng. Ví d nh JIT có th qu n lý các đo n mã đ c s d ng th ng xuyên trong ề ố ụ ư ể ả ạ ượ ử ụ ườ

ch ng trình, t i u chúng đ nâng cao t c đ c th c hi n. ươ ố ư ể ố ộ ự ệ

II.10. Tính đa lu ng ồ

V i ch ng trình Java, l p trình viên có th cùng lúc qu n lý nhi u ti n trình khác ớ ươ ậ ể ả ề ế

nhau. Đi u này giúp cho vi c cài đ t các thu t toán song song b ng Java trên các máy tính ề ệ ặ ậ ằ

nhi u CPU đ c d dàng h n, đ c bi t trong các ng d ng th i gian ề ượ ễ ơ ặ ệ ứ ụ ờ th c. ự

II.11. Tính đ ng ộ

Các ch ng trình Java có th đ c nâng c p mà không nh h ng t i ng i s d ng. ươ ể ượ ấ ả ưở ớ ườ ử ụ

Các ph ng th c m i có th đ c cài đ t thêm vào các l p đ i t ng hay các giao di n trong ươ ứ ớ ể ượ ặ ớ ố ượ ệ

th vi n c a ch ng trình đang ch y. ư ệ ủ ươ ạ

III. Các lo i ng d ng c a Java ạ ứ ụ ủ

• Ứ ụ ệ ng d ng console: Không có giao di n GUI.

• Ứ ụ ồ ạ ệ ng d ng đ ho : Có giao di n GUI.

• Applet: Nhúng trong các trang Web.

• Servlet: Các class th c thi phía ự web server.

• JSP: Các file nhúng mã Java và HTML.

• Ứ ụ ự ứ ụ ở ề ầ ạ ng d ng EJB, RMI, JMS: Xây d ng ng d ng b i nhi u thành ph n ghép l i,

giao ti p t xa. ế ừ

IV. Công c và môi tr ng l p trình Java ụ ườ ậ

Hi n nay có r t nhi u môi tr ng phát tri n Java (Integrated Development Environment ệ ấ ề ườ ể

- IDE). M i môi tr ng cung c p cho l p trình viên nh ng ti n ích l p trình m c đ khác ỗ ườ ấ ậ ữ ệ ậ ở ứ ộ

nhau. M t s IDE thông d ng là: ộ ố ụ

• Netbeans (mi n phí t i http:// ễ ạ www.netbeans.org).

• Jcreator (th ng m i). ươ ạ

• Jbuilder (th ng m i). ươ ạ

• Eclipse (mi n phí ễ http://www.eclipse.org/).

9

V. Cài đ t Java ặ

Java phiên b n Java m i nh t có th download t i đ a ch http://java.sun.com/j2se. Sau ả ớ ấ ể ạ ị ỉ

đó cài đ t nh ng d ng bình th ng. ặ ư ứ ụ ườ

Th m c cài đ t m c đ nh c a Java trên ư ụ ặ ặ ị ủ Windows là C:\Program Files\Java\jdk1.6.0_02

(n u phiên b n cài là jdk1.6.0_02). Trong đó có ch a các th m c v i ý nghĩa sau: ế ả ứ ư ụ ớ

bin Ch a các công c và trình biên d ch Java ứ ụ ị

demo Ch a các ch ng trình Java Demo ứ ươ

docs Ch a các tài li u mô t th vi n c a Java ứ ệ ả ư ệ ủ

includes Ch a các file dùng đ biên d ch các đo n mã ngu n vi t b ng ngôn ng khác ứ ể ị ạ ồ ế ằ ữ

(native).

jre Ch a các file l u thông tin môi tr ng lúc th c thi ứ ư ườ ự

lib Ch a các file th vi n ứ ư ệ

src Ch a mã ngu n java ứ ồ

Trong th m c \bin có ch a các công c chính c a Java: ư ụ ữ ụ ủ

Trình biên d ch, 'javac' ị

Cú pháp:javac [options] sourcecodename.java

Trình thông d ch, 'java' ị

Cú pháp:java [options] classname

Trình d ch ng c, 'ja ị ượ vap'

javap d ch ng c bytecode và in ra thông tin v các thu c tính (các tr ng), các ph ng ị ượ ề ộ ườ ươ

th c c a m t l p. ứ ủ ộ ớ

Cú pháp:javap [options] classname

Công c sinh tài li u, 'javadoc' ụ ệ

Ti n ích này cho phép ta t o ra t p HTML d a trên các l i gi i thích trong mã ch ng ệ ạ ệ ự ờ ả ươ

trình (ph n n m trong c p d u /*.... */). ầ ằ ặ ấ

Cú pháp:javadoc [options] sourcecodename.java

Ch ng trình tìm l i - Debug, 'jdb‘ ươ ỗ

Cú pháp:jdb [options] sourcecodename.java

hay

jdb -host -password [options] sourcecodename.java

Cài đ t đ ng d n m c đ nh. ặ ườ ẫ ặ ị

1. M Control Panel ở

2. Ch n System ọ

10

3. Ch n Tab Advanced ọ

4. Ch n Environment Variables ọ

5. Thêm đ ng d n C:\Program Files\Java\jdk1.6.0_02\bin vào bi n môi tr ườ ẫ ế ường Path

- Ch n Variable Path ọ

11

- Ch n Edit ọ

12

Đ 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 ự ệ ố ầ ề ướ ố ượ

I.1 Các khái ni m căn b n c a công ngh 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

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. ượ ẩ ơ ữ

I.2 Quy trình chung phát tri n h th ng ph n m m ể ệ ố ầ ề

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,… ể ứ ụ ư ướ ứ

I.3 Nh ng thách th c c a ngành công nghi p ph n m m hi n nay ữ ứ ủ ệ ầ ề ệ

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 ị ử ể ữ

II.1. Tóm t t l ch s 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

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. ả

II.2. Khái ni m v UML ệ ề

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. ắ ế ặ ẽ ệ ộ ạ ủ ệ ố

II.3 Đ c tr ng c a UML ặ ư ủ

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

Tải ngay đi em, còn do dự, trời tối mất!