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

Đồ án xây dựng ứng dụng J2EE với Rational Rose và UML - 3 pptx

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

- Các tác động: kết hợp phải mô tả một đặc tính về cấu trúc của lĩnh vực ứng
dụng.
- Các kết hợp ba nhánh: các kết hợp ba nhánh nên được tách ra thành các kết
hợp hai nhánh.
- Các kết hợp dẫn xuất: các kết hợp được định nghĩa bằng các kết hợp khác.
Nhận diện các thao tác
Để nhận diện các thao tác, một công cụ thuận lợi là ta nhìn vào các hành vi của
các use case - luồng các sự kiện, sau đó phân bổ các hành vi này vào các lớp được
sử dụng bởi use case đó.
Nhận diện các thuộc tính
Các thuộc tính là đặc tính của đối tượng riêng lẻ. Thuộc tính thường tương ứng
với danh từ theo sau là nhóm từ sở hữu. Thuộc tính kém thích hợp để mô tả đầy đủ
một vấn đề. Thuộc tính ít ảnh hưởng đến cấu trúc cơ sở của vấn đề. Đầu tiên ta ghi
nhận các thuộc tính quan trọng trước, sau đó thêm dần các chi tiết vào sau.
3.4. Các lược đồ trong các gói
Sau khi tìm ra các lớp miền nghiệp vụ ta nhóm các lớp có quan hệ gần gũi vào
trong các gói. Trong mỗi gói có thể chứa gói con trong đó.
Ta có các gói sau:
+ sign in and off package: gói đăng nhập
+ shopping cart package: gói mua chọn hàng, có các gói con là: cart package
và catalog package
+ inventory package: gói thống kê số lượng hàng.

+ customer package: gói khách hàng, có các gói con là: account package,
customer package, order package.
Lược đồ quan hệ giữa các lớp nghiệp vụ và lớp giao diện:
3.4.1. các lược đồ trong gói sign in and off
Ở mô hình quan niệm phân tích, mô tả yêu cầu ứng dụng ta chỉ mô tả sơ lược
về các chức năng mà hệ thống sẽ làm. Đây là mô hình giao tiếp giữa nhà phát triển
với người dùng, nó là bản mẫu cho sự giao tiếp, chưa can thiệp vào cách thực hiện
như thế nào. Cái đó thuộc về pha thiết kế.


a) Các lược đồ trong sign in
Address
getStreetName1()
getStreetName2()
getCity()
getState()
getZipCode()
getCountry()
(from Utility)
MainForm
signin()
browsecat alog()
updateac count()
displaycatalog()
displayshoppingc art()
search()
signout()
createaccount()
ContactInformation
telephone
email
address
getEMail()
getAddress()
getTelephone()
(from Ut il ity)
SignInForm
signin()
create account()
enter user name and password()

display()
display user information()
display message()
0 10 1 0 10 1
Account
userId
password
status
Contac tInformation
create()
update()
get user info()
get email address()
find account ()
(from account)
Signon
username
password
getPassW ord()
updatePassWord()
create()
remove()
add signin()
SigninHandler
sign in user()
check password()
validate entered username and password()
(from P etsto reEJB)
1 *
1

1 *
1
0 1
0 *
0 1
0 *
retrieves userId
1
0 *
1
0 *

Hình 3.2 : lược đồ lớp sign in
Lược đồ tuần tự của sign in





: customer
: MainForm : SignInForm : SigninHandler : Signon : Account
1://sign in()
2://display()
3://enter user name and password( )
4://sign in user( )
5://validate entered username and password( )
6://find account( )
7://getPassWord( )
8://check password( )
9://add signin( )

10://display user information( )

Hình 3.3: lược đồ tuần tự của sign in
b) Các lược đồ trong sign off
Lược đồ lớp của sign off

Hình 3.4: lược đồ lớp của sign off
lược đồ tuần tự của sign off


Hình 3.5: lược đồ tuần tự của sign off

3.4.2. các lược đồ trong gói shopping cart
Lược đồ lớp shopping cart


Hình 3.6: lược đồ lớp của shopping cart
Lược đồ tuần tự shopping cart
Hình 3.7: lược đồ tuần tự của shopping cart như dưới đây
3.4.3. các lược đồ trong gói customer
Lược đồ lớp của create account

Hình 3.8: lược đồ lớp của create account
Lược đồ tuần tự của create account

Hình 3.9: lược đồ tuần tự của create account
Lược đồ lớp của update account

Hình 3.10: lược đồ lớp của update account


Lược đồ tuần tự của update account

Hình 3.11: Lược đồ tuần tự của update account
CHƯƠNG 4 THIẾT KẾ THÀNH PHẦN
Thiết kế là quá trình mở rộng của pha phân tích bằng việc ta thêm vào đó những
khía cạnh kỹ thuật. Mục đích của thiết kế là xác định một giải pháp để dễ dàng cho
việc mã hoá, cũng như những yêu cầu kỹ thuật, công nghệ đặc trưng cho ứng dụng.
Vì ở đây ứng dụng được xây dựng theo hướng thành phần (Component), theo đặc tả
J2EE. Trước tiên từ pha phân tích ta xây dựng nên các thành phần thuộc tầng
nghiệp vụ (business tier). Các thành phần này có chức năng lưu trữ dữ liệu, tính
toán, xử lý nghiệp vụ. Trong tầng này của ứng dụng này ta xây dựng các Entity
Bean, Session Bean. Với EJB phiên bản 1.x chưa đưa loại Message Driver Bean
vào. Dựa vào pha phân tích ta xác định thành phần nào là Entity Bean, thực hiện
việc lưu trữ dữ liệu, thành phần nào là Session Bean, thực hiện các thao tác tính
toán, xử lý, không liên quan đến việc lưu trữ dữ liệu.
Trước khi đi vào thiết kế chi tiết thành phần, ta phải thiết kế kiến trúc, đây là
giai đoạn thiết kế ở mức cao. Thiết kế kiến trúc ta sẽ chọn kiến trúc MVC- Model-
View-Controller. Kiến trúc tổng quát này được trình bày như hình dưới đây.

Hình 4.1: kiến trúc tổng quát của hệ thống - kiến trúc MVC.
Đây là kiến trúc được chọn lựa để xây dựng ứng dụng, đối với các ứng dụng
Web, kiến trúc này là lựa chọn tối ưu vì nó giảm tính phức tạp và dễ quản lý hơn.
Kiến trúc này tăng cường mức độ bảo trì và mở rộng. Bằng cách tách biệt logic
nghiệp vụ và logic điều khiển với sự trình diễn dữ liệu, kiến trúc này cung cấp tính
linh động để giải quyết các ứng dụng phức tạp.



4.1. Thiết kế các thành phần
Trong ứng dụng này các Bean thực thể (Entity Bean) đều thuộc loại BMP(Bean

Managed Persistent), Bean thực thể tự quản lý.
Ở tầng nghiệp vụ (business tier) các Entity Bean thao tác với dữ liệu thông qua
lớp DAO (Data Access Object), đây là một chiến lược thiết kế tối ưu. Nó độc lập
với các hệ quản trị cơ sở dữ liệu.
4.1.1. Thành phần sign in
Sign in là thành phần kiểu Entity Bean (BMP), được thể hiện như sau:

Hình 4.2: mô hình EJB của signin.

Sự giao tiếp giữa EJB với lớp DAO như sau

Hình 4.3: quan hệ giữa thành phần EJB với các lớp truy cập dữ liệu

4.1.2. Thành phần shopping cart
a) Thành phần catalog
Catalog là thành phần thuộc kiểu Session Bean- SB (là Stateless Session Bean),
là Bean thao tác phi trạng thái. Sơ đồ của nó được trình bày như sau:

Hình 4.4. sơ đồ thành phần EJB của catalog
Sự giao tiếp giữa catalogEJB với các lớp liên quan.

Hình 4.5: quan hệ giữa thành phần catalogEJB với các lớp ngiệp vụ liên quan


b) Thành phần shopping cart
Là thành phần thuộc kiểu Stateful Session Bean, là Bean lưu vết trạng thái,
được trình bày như sau:

Hình 4.6: sơ đồ EJB của shopping cart
Quan hệ giữa shoppingcartEJB với các lớp nghiệp vụ khác được trình bày như

sau:

Hình 4.7: quan hệ giữa shoppingcartEJB với các lớp nghiệp vụ liên quan
4.1.3. Thành phần inventory
Là thành phần thuộc loại Entity Bean, Bean thực thể. Sơ đồ của nó được thể
hiện như sau:

Hình 4.8: sơ đồ EJB của thành phần Inventory

Quan hệ giữa inventoryEJB với lớp DAO được thể hiện như sau:

Hình 4.9: quan hệ giữa inventoryEJB với lớp inventoryDAO, inventoryModel

4.1.4. Thành phần customer
a) Thành phần order: là thành phần thuộc loại Bean thực thể (Entity Bean). Nó được
trình bày như sau:

Hình 4.10: sơ đồ EJB của thành phần order
Quan hệ giữa orderEJB với các lớp DAO và các lớp nghiệp vụ như sau:

Hình 4.11: quan hệ giữa orderEJB với lớp DAO, Model và các lớp nghiệp vụ khác
b) Thành phần customer
Là thành phần thuộc loại Stateless Session Bean, Bean thao tác phi trạng thái.
Được trình bày như sau:

Hình 4.12: sơ đồ EJB của thành phần customer

b) Thành phần account
Là thành phần thuộc loại Entity Bean, Bean thực thể này được trình bày như sau:


Hình 4.13: sơ đồ EJB của thành phần account

Quan hệ giữa accountEJB với các lớp DAO và các lớp khác được trình bày như sau:

Hình 4.14: quan hệ giữa accountEJB với các lớp DAO, Model

4.2. Biểu đồ thành phần của các thành phần nghiệp vụ ở tầng business tier

Hình 4.15: biểu đồ thành phần của các thành phần nghiệp vụ
CHƯƠNG 5 THIẾT KẾ HIỆN THỰC HÓA CÁC USE CASE
Chương này chúng ta đi vào thiết kế toàn diện để hiện thực hóa các use case.
Trong phần thiết kế này chúng ta tuân theo giải pháp đã chọn ở chương 4, tức theo
kiến trúc MVC-Model-View-Controller. Trong đó Model là các thành phần (các
Enterprise Java Bean) thuộc tầng nghiệp vụ (business tier). View là các trang JSP và
các lớp JavaBean, cái này thuộc tầng Web (Web tier). Controller là các lớp điều
khiển và các EJB mà hoạt động như thành phần điều khiển. Nó tách giữa Web tier
và EJB tier và đứng giữa để làm cầu nối cho hai tầng này.
Theo kiến trúc MVC như hình 4.1 ở chương bốn, ta đi vào thiết kế cho các use
case của ứng dụng.
5.1. Thiết kế hiện thực hóa các use case
5.1.1. Thiết kế hiện thực hóa use case sign in

Hình 5.1: lược đồ lớp của Sign in


Hình 5.2: lược đồ tuần tự của sign in (phần 1)

: MainForm
: customer

: Template : ScreenDefinitions : ScreenFlowManager : SignInForm : SignInSuccessForm
1://signin( )
2://forward(req,resp)
3://include
4:// getSigninScreen( )
5://display( )
6://display

Hình 5.3: lược đồ tuần tự của sign in (phần 2).

5.1.2. Thiết kế hiện thực hóa use case create account

×