Đồ án tốt nghiệp: " Tiếp cận và xây dựng ứng dụng J2EE với Rational Rose và UML " - Pdf 19

TRƯỜNG………………………
KHOA…………………… ĐỒ ÁN TỐT NGHIỆP:
" Tiếp cận và xây dựng ứng dụng J2EE với
Rational Rose và UML "
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 1

Sinh viên thực hiện:
Lê Quang Dung Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 2 PHẦN I
GIỚI THIỆU CÔNG NGHỆ

CHƯƠNG 1
GIỚI THIỆU VỀ PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG VỚI
UML

Mô hình hóa và thiết kế hướng đối tượng là một cách suy nghĩ về vấn đề sử dụng các
mô hình được tổ chức xung quanh các khái niệm thế giới thực. Cấu trúc nền tảng là đối
tượng, nó kết hợp cả cấu trúc dữ liệu và hành vi vào trong một thực thể đơn. Các mô hình
hướng đối tượng là có ích cho việc hiểu vấn đề, việc trao đổi với người dùng, mô hình hố
các tổ chức kinh doanh, chuẩn bị tài liệu và thiết kế chương trình cùng cơ sở dữ liệu.


Trang 3
giống nhau mà không dư thừa. Việc phân chia mã sử dụng kế thừa là một trong những tiến
bộ chính của ngôn ngữ hướng đối tượng.
Phát triển hướng đối tượng không chỉ cho phép chia sẻ thông tin trong ứng dụng mà
còn đưa ra triển vọng của việc sử dụng lại các thiết kế và mã trong các đề án tượng lai.
Phát triển hướng đối tượng cung cấp các công cụ như là trừu tượng bọc kín, kế thừa để xây
dựng các thư viện của các thành phần có thể dùng lại được.
1.2. Các khái niệm cơ bản của hướng đối tượng
Khi nói về hướng đối tượng, các khái niệm cơ bản sau đây cần được hiểu rõ:
 Đối tượng (Object)
 Lớp (Class)
 Thuộc tính (Atribute)
 Thao tác (Operation)
 Giao tiếp – đa hình (Interface - Polymorphism)
 Thành phần (Component)
 Đóng gói (Package)
 Hệ thống con (Subsystem)
 Quan hệ (Relationship)
Tất cả các khái niệm này được trình bày trong phần “tổng quan về UML” ở phần
sau.
1.3. Phát triển hướng đối tượng là gì?
Phát triển hướng đối tượng là một cách suy nghĩ mới về phần mềm đặt cơ sở trên
những khái niệm trừu tượng đang tồn tại trong thế giới thực. Bản chất của việc phát triển
hướng đối tượng là nhận biết và tổ chức các khái niệm thuộc lĩnh vực ứng dụng.
1.3.1. Các khái niệm mô hình hố
Các ngôn ngữ lập trình hướng đối tượng là có ích trong việc loại bỏ các hạn chế do
tính không mềm dẻo của các ngôn ngữ lập trình truyền thống.
Phát triển hướng đối tượng là quá trình nhận thức độc lập với ngôn ngữ lập trình cho
đến các bước cuối cùng. Phát triển hướng đối tượng là hướng suy nghĩ mới và không là kỹ

trở nên rắc rối. Hơn nữa, khi ta thay đổi cấu trúc dữ liệu, dẫn đến ta phải thay đổi tất cả các
chức năng liên quan đến cấu trúc này. Hệ thống được phát triển theo phương pháp này trở
nên có tính ổn định kém. Một chút thay đổi sẽ gây nên hậu quả nghiêm trọng.
Một vấn đề khác đối với phương pháp hướng chức năng là chúng ta thường không có
những tư duy một cách tự nhiên về cấu trúc của vấn đề nó được cấu tạo như thế nào. Do
vậy việc xây dựng hệ thống trở nên khó khăn hơn.
Một nguyên nhân khác đối với phương pháp hướng chức năng là hệ thống rất khó để
sửa đổi, tính khả chuyển kém, nhạy cảm với sự thay đổi, vì dữ liệu và hành vi bị tách riêng.
 Cách tiếp cận hướng đối tượng
Việc phát triển hệ thống theo cách tiếp cận hướng đối tượng sẽ mang lại cho ta nhiều
lợi ích, tiêu biểu là:
- Giảm chi phí bảo trì: bởi vì hầu hết các xử lý trong hệ thống được bọc kín - dữ liệu
và hành vi được gom chung lại, các hành vi có thể được sử dụng lại và kết hợp thành các
hành vi mới.
- Mô hình thế giới thực: hệ thống hướng đối tượng là định hướng để mô hình thế giới
thực. Các đối tượng được tổ chức thành các lớp đối tượng, và các đối tượng được kết hợp
với các hành vi. Mô hình dựa trên đối tượng hơn là dựa trên dữ liệu và xử lý. Cách thức
này gần gũi với tư duy con người, do vậy việc xây dựng dễ dàng hơn.
- Tính tin cậy cao: bởi vì các hành vi mới được xây dựng từ các đối tượng đã có sẵn.
- Khả năng sử dụng lại mã nguồn cao: bởi cơ chế kết hợp dữ liệu với hành vi vào một
đối tượng riêng biệt, cơ chế đóng gói, cơ chế bọc kín. Do vậy, dễ dàng cho việc kế thừa,
hay sử dụng lại.
1.5. Tổng quan về UML
UML được viết tắt của cụm từ Unified Modeling Language, tạm dịch là ngôn ngữ mô
hình hợp nhất.
UML là thế hệ kế vị của làn sóng phân tích và thiết kế hướng đối tượng (OOA & D)
xuất hiện trong những năm đầu 80 và cuối những năm 90. UML phát triển trên sự hợp nhất
trong các phương pháp của tác giả Booch, Rumbaugh (OMT) và Jacopson, và đã được
chuẩn hóa bởi OGM.


Lớp (Classes) là bảng thiết kế cho các đối tượng. Lớp bao gồm các thuộc tính (dữ liệu)
và các hành vi (phương thức hoặc hàm) trong một thực thể riêng biệt đơn giản. Các đối
tượng là các thể hiện (instance) của các lớp.
1.5.1. Các đặc điểm của UML
Bốn đặc điểm chính của UML để có thể phân biệt với các ngôn ngữ mô hình khác :
Hình 1.1: sự hợp nhất của UML
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 6
 Đa năng (general-purpose)
 Khả năng ứng dụng rộng rãi (broadly applicable)
 Được hỗ trợ bởi các công cụ (tool- supported)
 Là một chuẩn công nghiệp (industrial standerdized)
1.5.2 Kiến trúc tổng quát của UML
a)Các mô hình .
Xét về đặc điểm tĩnh, các mô hình nắm bắt một số đặc điểm và hành vi của hệ thống.
Xét về đặc điểm động, nắm bắt các đặc điểm của hệ thống, về cơ bản chúng lưu trữ
các tri thức về mặt ngữ nghĩa.
b) Cấu trúc View
Ngày nay các hệ thống phần mềm càng trở nên phức tạp, khó khăn do vậy ta không thể
mô hình hóa chúng chỉ bằng một lược đồ hay mô hình. Hệ thống phải được phân tích dưới
nhiều góc độ khác nhau. UML đưa ra định nghĩa về cấu trúc View. Mỗi View là một thể
hiện của hệ thống dưới một khía cạnh nào đó. Mỗi View có thể bao gồm nhiều loại lược đồ
khác nhau (xem hình 1.2)
 Use Case View hay còn gọi là Use model view thể hiện các vấn đề về giải
pháp liên quan đến chức năng tổng quát của hệ thống.
 Logical View hay còn gọi là Structure Model view hoặc Static view: thể hiện
các vấn đề liên quan đến cấu trúc thiết kế hệ thống.

Hình 1.2 : cấu trúc View trong UML

Lược đồ hoạt động (Activity Diagram) : mô tả sự hoạt động của các thành phần trong
hệ thống.
 Implementation View
Lược đồ thành phần (Component) : mô tả tổ chức của các thành phần thực thi trong hệ
thống.
 Invironmen View
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 8
Lược đồ triển khai (Deployment Diagram) : mô tả cấu hình của các thành phần môi
trường và trình tự của các thành phần thực thi trên đó.
1.5.3. Các lược đồ trong UML
Trọng tâm của việc giải quyết vấn đề hướng đối tượng là xây dựng một mô hình. Mô
hình trừu tượng hóa các chi tiết cần thiết của vấn đề cơ bản về thế giới thực. Trọng tâm
của UML được thể hiện qua 8 loại lược đồ khác nhau :
 Use case diagrams (Lược đồ Use case)
 Class diagrams (Lược đồ lớp)
 Sequence diagrams (Lược đồ tuần tự)
 Collaboration diagrams (Lược đồ cộng tác)
 Statechart diagrams (Lược đồ trạng thái)
 Activity diagrams (Lược đồ hoạt động)
 Component diagrams (Lược đồ thành phần)
 Deployment diagrams (Lược đồ triển khai)
1.5.3.1. Use case diagrams (Lược đồ use case)
Use case diagrams mô tả hệ thống làm gì từ quan điểm của người quan sát tổng quan.
Điều quan trọng là nhấn mạnh hệ thống làm gì hơn là làm như thế nào.
Lược đồ Use case quan hệ gần gũi đến các sự kiện. Sự kiện (scenario) là những gì xảy
ra khi ai đó tương tác với hệ thống. Đây là sự kiện về một khoa y học: một bệnh nhân gọi
phòng khám để hẹn gặp cho việc kiểm tra hàng năm. Người tiếp tân tìm thời gian trống
gần nhất trong sổ hẹn gặp và lịch hẹn gặp cho thời qian đó.

thêm vào để hiển thị thông tin hơn (hình 1.6).
Các đặc trưng của lược đồ Use case
 system boundaries (kết hợp hệ thống)
 generalizations (tổng quát hố)
 includes (bao hàm)
 extensions (mở rộng)
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 10

Hình 1.6: lược đồ use case mở rộng
Lược đồ Use case mở rộng lược đồ với các đặc trưng thêm vào.
Hình chữ nhật kết hợp hệ thống ( system boundary ) phân chia hệ thống từ các actor
mở rộng.
Tổng quát hố (generalization) use case biểu diễn rằng một use case là một loại đặc biệt
đơn giản khác.Pay Bill là use case cha và Bill Insurance là use case con .Use case con
được thay thế bởi use case cha bất cứ khi nào cần thiết. Sự tổng quát hố xuất hiện như một
dòng với mũi tên hình tam giác ở đầu hướng về use case cha.
Quan hệ bao hàm ( Include ) quản lý use case thành use case thêm vào.Quan hệ bao
hàm hữu ích khi cùng use case được phân chia thành hai use case khác nhau. Cả Make
Appointment và Request Medication quan hệ bao hàm với như công việc con. Trong
lược đồ, kí hiệu bao hàm là đường gạch đứt, bắt đầu ở use case cơ sở và kết thúc với mũi
tên đến use case bao hàm. Đường gạch đứt được gán nhãn <<include>>.
Quan hệ mở rộng (extend) chỉ ra một use case là một biến đổi của use case khác. Kí
hiệu quan hệ mở rộng là đường gạch đứt, có nhãn là <<extend>> và một mũi tên hướng về
use case cơ sở. Điểm mở rộng (extension point) được xác định khi use case mở rộng là
thích hợp và được viết bên trong use case cơ sở.
1.5.3.2. Class diagrams (Lược đồ lớp)
Class diagram đưa ra tổng quan hệ thống bằng cách hiển thị các lớp và quan hệ giữa
chúng.


Bản số Giải thích
0 1

0 hoặc 1 thể hiện.
0 * hoặc * Không giới hạn số thể hiện
1
Chính xác 1 thể hiện
1 *

Ít nhất 1 thể hiện
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 12

Hình 1.7: bản số trong lược đồ lớp
Mỗi lược đồ lớp có các lớp, các quan hệ, và các bản số. Tính định hướng và các vai trò
là các mẫu tuỳ chọn đặt trong lược đồ để làm sáng tỏ.
Chi tiết lược đồ lớp Lược đồ lớp gồm các lớp, các liên kết, các bản số. Lược đồ lớp có thể
biểu diễn nhiều thông tin.
 compositions (thành phần)
 class member visibility and scope (phạm vi và tầm vực của lớp thành viên)
 dependencies and constraints (phụ thuộc và ràng buộc)
 interfaces (giao diện)
Composition and aggregation (Thành phần và thu nạp)
Quan hệ kết hợp trong đối tượng là phần mở rộng của quan hệ thu nạp. Thành phần
(Composition ) là quan hệ kết hợp với phần (part) thuộc về tồn bộ (whole), phần không
tồn tại nếu không có tồn bộ. Thành phần được hiển thị bởi hình thoi đặc ở phía cuối tồn
bộ.
Trong lược đồ này biểu diễn rằng, một BoxOffice thuộc về một MovieTheater.Nếu


Interfaces (Giao diện) và stereotypes (Khuôn mẫu)
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 14
Giao diện (interface) là một tập hợp các kí hiệu hoạt động. Trong C++, giao diện được
thực hiện như các lớp trừu tượng với các thành viên ảo. Trong Java chúng được thực hiện
trực tiếp.
Lược đồ lớp dưới đây là một mô hình về hội nghị nghề nghiệp. Lớp liên quan đến hội
nghị là SessionTalk (một bảng trình bày đơn giản) và Session (tập hợp liên quan đến
SessionTalk). ShuttleSchedule với danh sách các ShuttleStop là phần quan trọng để đăng
kí ở tại khách sạn. Trong lược đồ có một ràng buộc, ShuttleStop được phân cấp.
Có ba giao diện trong lược đồ : IDated, ILocatable, và ITimed. Tên của giao diện bắt
đầu bằng kí tự I và đi kèm với các phương thức trừu tượng được viết bằng chữ nghiêng.
Một lớp như lớp ShuttleStop, với các phương thức kết hợp trong giao diện như
ILocatable, là implementation ( hoặc realization ) của giao diện.
Lớp ShuttleStop có kiểu mẫu ( stereotype ) << place>>. Kiểu mẫu qui định phương
pháp mở rộng UML, là thành phần mô hình mới được tạo từ các kiểu tồn tại. Tên kiểu mẫu
được viết trên tên lớp. Giao diện là một loại đặc biệt của kiểu mẫu.
Có hai cách kí hiệu giao diện trong UML : một là kí hiệu như trên, hai là kí hiệu hình
que hoặc hình tròn.
Trong hình tròn chú thích, giao diện là hình tròn với đường thẳng kết nối đến lớp thi
hành.

Hình 1.11:các lớp giao diện trong lược đồ. Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 15

Hình 1.15: lược đồ đốI tượng
Mỗi hình chữ nhật trong lược đồ tương ứng với một thể hiện. Tên thể hiện được gạch
dưới trong lược đồ UML. Tên lớp hoặc tên thể hiện có thể được loại bỏ từ lược đồ đối
tượng nhưng ý nghĩa lược đồ vẫn rõ.
1.5.3.4. Sequence diagrams (Lược đồ tuần tự)
Lược đồ lớp và lược đồ đối tượng là các cấu trúc (view) mô hình tĩnh. Lược đồ tương
tác (Interaction diagrams) là cấu trúc động, mô tả các đối tượng cộng tác như thế nào.
Lược đồ tuần tự (sequence diagram ) là lược đồ tương tác diễn tả các phương thức
(operations ) hoạt động như thế nào, thông điệp nào được gởi đến và khi nào. Lược đồ tuần
tự được tổ chức theo thời gian. Các đối tượng liên quan đến phương thức được liệt kê từ
trái sang phải khi chúng tham gia vào thông điệp tuần tự.
Dưới đây là lược đồ tuần tự cho việc đặt chổ khách sạn. Đối tượng bắt đầu các thông
điệp tuần tự là Reservation window. Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 17

Hình 1.16: lược đồ tuần tự

Reservation window gởi một thông điệp makeReservation()đến HotelChain. Sau đó
HotelChain gởi một thông điệp makeReservation() đến Hotel. Nếu Hotel có phòng, thì nó
sẽ đặt chỗ (Reservation) thừa nhận việc đặt chổ này (Confirmation ).
Đường nét đứt gọi là lifeline, biểu diễn thời gian mà đối tượng đang tồn tại. Mỗi mũi
tên là một thông điệp gọi. Mũi tên đi từ người gởi đến đỉnh activation bar của thông điệp
trong lifeline của người nhận. Activation bar biểu diễn khoảng thời gian thực thi thông
điệp.
Trong lược đồ ví dụ, Hotel sử dụng selfcall để quyết định nếu có phòng. Khi đó Hotel
tạo công việc đặt chổ (Reservation) và thừ nhận việc đặt chổ này (Confirmation). Dấu
Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 19

Hình 1.18: lược đồ trạng thái
Các trạng thái được khoanh tròn trong hình chữ nhật. Các chuyển tiếp theo hướng mũi
tên từ trạng thái này đến trạng thái khác. Các sự kiện hoặc các điều kiện được viết bên
cạnh mũi tên.
Trạng thái ban đầu (hình tròn đen) là một động tác giả để bắt đầu hoạt động. Trạng thái
cuối cùng cũng là trạng thái giả để kết thúc hoạt động.
Hoạt động diễn ra khi kết quả của một sự kiện hoặc điều kiện được nhấn mạnh trong
phần trình bày hay trong hành động. Trong khi ở trạng thái hợp lệ (), đối tượng không chờ
một sự kiện bên ngồi đến một trigger chuyển đổi thay vì trình bày một hoạt động. Kết quả
của hoạt động được xác định ở trạng thái kế tiếp.
Tiến trình không đồng bộ hoặc trùng lắp
Lược đồ tuần tự, lược đồ cộng tác, lược đồ hoạt động, lược đồ trạng thái là các cấu trúc
mô hình động. Chúng cho ta thấy được cấu trúc bên trong mô hình. Lược đồ tuần tự và
lược đồ cộng tác tập trung vào các thông điệp liên quan đến việc hồn tất một tiến trình đơn
lẻ. Lược đồ trạng thái tập trung vào một đối tượng đơn lẻ. Lược đồ hoạt động tập trung vào
luồng hoạt động trong công việc đơn lẻ. Sau đây là phần trình bày về các hoạt động không
đồng bộ hoặc trùng lắp của lược đồ tuần tự và lược đồ trạng thái .
Lược đồ tuần tự với thông điệp không đồng bộ
Thông điệp gọi là không đồng bộ (asynchronous ) nếu nó cho phép gởi thêm các
thông điệp trong khi thông điệp ban đầu vẫn còn đang xử lý. Thời gian của một thông điệp
không đồng bộ độc lập với thời gian các thông điệp xen vào.

Thông điệp không đồng bộ

Hình 1.20: các qui ước thông điệp của UML
Trùng lắp và không đồng bộ trong lược đồ trạng thái
Các trạng thái trong lược đồ trạng thái có thể lồng nhau. Quan hệ các trạng thái có thể
nhóm cùng trong một trạng thái hồn chỉnh (composite state) đơn lẻ. Các trạng thái lồng
nhau thì cần thiết khi một hoạt động liện quan đến các hoạt động con trùng lắp hoặc không
đồng bộ.
Lược đồ trạng thái dưới đây có hai tiểu trình trùng lắp dẫn vào hai trạng thái con của
trạng thái hồn chỉnh Auction: Bidding và Authorizing Credit. Bidding là trạng thái hồn
chỉnh với ba trạng thái con.Authorizing Credit có hai trạng thái con. Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 21
Auction yêu cầu phân nhánh ở đầu vào thành hai tiểu trình riêng biệt. Trừ khi có một
tồn tại khác thường (như Cancelled hoặc Rejected), sự tồn tại từ trạng thái hồn chỉnh
Auction diễn ra khi cả các trạng thái con đang tồn tại. Hình 1.21: trùng lắp và không đồng bộ trong lược đồ trạng thái
1.5.3.7. Activity diagrams (Lược đồ hoạt động)
activity diagram là một biểu đồ tiến trình (flowchart). Lược đồ hoạt động và lược đồ
trạng thái có quan hệ với nhau. Khi lược đồ trạng thái tập trung vào một đối tượng thông
qua một quá trình, lược đồ hoạt động tập trung vào luồng hoạt động liên quan đến một tiến
trình đơn. Lược đồ hoạt động biểu diễn có nhiều hoạt động này phụ thuộc vào nhiều hoạt
động khác.
Ví dụ chúng ta sử dụng theo tiến tình:"Rút tiền ra khỏi ngân hàng thông qua ATM "
Ba lớp liên quan đến hoạt động Customer, ATM, và Bank.Tiến trình bắt đầu ở hình

Đồ án tốt nghiệp - Xây dựng ứng dụng J2EE với Rational Rose và UML

Trang 23
CHƯƠNG 2
GIỚI THIỆU VỀ J2EE
(Java 2 Platform Enterprise Edition)
2.1. Giới thiệu sơ lược về J2EE System
J2EE là nền để phát triển các ứng dụng phần mềm phân tán của hãng. Từ lúc bắt đầu
của ngôn ngữ java, nó đã thích nghi và phát triển tốt. Ngày càng nhiều công nghệ đã trở
thành một phần của nền Java, các API và các chuẩn mới được phát triển đến nhiều địa chỉ
cần thiết. Sau cùng, Sun và 1 nhóm nhà lãnh đạo công nghiệp, dưới sự bảo trợ của open
Java Community Process(JCP) hợp nhất tất cả các chuẩn liên quan đến hãng vào nền J2EE
Một hệ thống J2EE về tổng quát có thể bao gồm 3 máy logic như sau: máy dùng cho
Client, máy J2EE Server, máy dùng cho Database Server. Xét về các lớp để xây dựng ứng
dụng thì bao gồm 4 lớp chính: client tier, web tier, business tier và EIS tier.(hình 2.1)

Hình 2.1:tổng quát các máy logic của J2EE
Client tier:
Application clients: là ứng dụng client thực thi trên máy client (logic) và chuẩn bị
trước một số cách thức để cho user có thể giao tiếp hệ thống J2EE để thực hiện một công
việc nào đó. Cách thức giao tiếp có thể là thông qua giao diện đồ họa hoặc dòng lệnh.
Application client có thể truy xuất trực tiếp đến các EJB của lớp Business hoặc có thể
thể thiết lập một kết nối HTTP đến các servlet của lớp Web.
Web Browsers: là môi trường để thực thi các ứng dụng trên web của máy logic client


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status