Phõn tớch thiết kế

Một phần của tài liệu Nghiên cứu và phát triển các ứng dụng với cơ sở dữ liệu hướng đối tượng (Trang 85)

Bước phỏt triển đầu tiờn nhất được bắt đầu với tiến trỡnh phõn tớch và thiết kế. Rational Rose từ Rational Software Corp cũn gọi là cụng cụ CASE cho phộp chỳng ta mụ hỡnh hoỏ cỏc mụ hỡnh dữ liệu và cỏc lớp bằng việc sử dụng UML. Phần mềm tớch hợp FastObjects™ Rose Link cho Java™ tớch hợp trực tiếp FastObjects với Rational Rose cho phộp mụ hỡnh hoỏ một cỏch trực quan cỏc ứng dụng Java sử dụng cơ sở dữ liệu FastObject. Với cụng nghệ FastObject chỳng ta cú thể làm bền vững mụ hỡnh dữ liệu đối tượng mà khụng cần chuyển nú sang lược đồ quan hệ. Do vậy khụng cần thiết nghĩ đến mụ hỡnh cơ sở dữ liệu trong suốt quỏ trỡnh thiết kế.

Bằng việc sử dụng FastObjects™ Rose Link cho Java™ chỳng ta cú thể định nghĩa ở thời điểm thiết kế cỏc lớp nào sẽ là bền vững. Sau đú Rose cú thể tự động phỏt sinh mó nguồn Java với thi hành bộ khung của cỏc lớp trong mụ hỡnh thiết kế. Mó bộ khung được phỏt sinh bởi Rose sau đú cú thể được sử dụng để cung cấp cỏc thi hành cụ thể của cỏc lớp.

Lợi ớch của tiếp cận này: Người thiết kế cú thể tập trung hoàn toàn vào lụ gớch ứng dụng và khụng cần xem xột cỏc chi tiết như:

 Cỏc đối tượng nghiệp vụ và cỏc web client tương tỏc với nhau như thế nào ? Đõy sẽ là một lợi thế khụng chỉ trong suốt giai đoạn thiết kế mà cũn ở một giai đoạn sau đú của tiến trỡnh phỏt triển, bởi vỡ cỏc đối tượng Java và cỏc Java Servlet hiểu lẫn nhau trong bất cứ hoàn cảnh nào.

Đõy cũng sẽ là một lợi thế khụng chỉ trong suốt giai đoạn thiết kế mà cũn ở một giai đoạn sau đú của tiến trỡnh phỏt triển, bởi vỡ cơ sở dữ liệu FastObjects sẽ lưu trữ tất cả cỏc đối tượng nghiệp vụ trong mụ hỡnh ban đầu.

Use Case

Chỳng ta bắt đầu bằng việc định nghĩa cỏc use case cho cửa hàng.

Mụ hỡnh use case của cửa hàng gồm 4 use case. Hai use case chỉ ra cỏch một khỏch hàng làm việc với cửa hàng, hai use case khỏc minh hoạ việc quản lý cửa hàng:

Mua hàng (Khỏch hàng)

Vào web site

Chọn hạng mục sản phẩm hoặc tỡm kiếm theo từ khoỏ

Xem danh sỏch sản phẩm Xem chi tiết một sản phẩm Thờm sản phẩm vào giỏ hàng Xem giỏ hàng

Bỏ sản phẩm ra khỏi giỏ hàng Mua

Thoỏt khỏi

Xem hiện trạng giao hàng (Khỏch hàng)

Đăng nhập với e-mail và password Xem tất cả cỏc đơn hàng của khỏch hàng

Xem một kỹ một đơn hàng Thoỏt khỏi

Quyết định giao hàng (Người quản lý cửa hàng)

Đăng nhập với e-mail và password Xem tất cả hoặc những đơn hàng chưa giao

Xem chi tiết một đơn hàng

Quyết định giao hàng hoặc từ chối đơn hàng

Thoỏt khỏi

Tỡm kiếm/Cập nhật sản phẩm (Người quản lý cửa hàng)

Đăng nhập với e-mail và password Chọn hạng mục sản phẩm hoặc tỡm kiếm theo từ khoỏ

Xem danh sỏch sản phẩm Xem chi tiết một sản phẩm

Sửa đổi/ thờm/ loại bỏ sản phẩm khỏi cửa hàng

Thoỏt khỏi

Hỡnh 31. Cỏc use case khỏch hàng mua hàng và người quản lý cập nhật hàng

Hỡnh 32. Cỏc use case khỏch hàng xem hiện trạng giao hàng và người quản lý quyết định giao hàng

Cỏc use case giỳp cho việc thiết kế một mụ hỡnh đối tượng nghiệp vụ và việc thi hành của một ứng dụng.

Mụ hỡnh nghiệp vụ (adsbygoogle = window.adsbygoogle || []).push({});

Tiếp theo, một mụ hỡnh đối tượng đó được rỳt ra từ những use case này và cỏc lớp sau đõy được mụ hỡnh hoỏ:

Session Cỏc đối tượng của lớp này bao chứa thụng tin về những người “sở hữu” một phiờn làm việc (người quản lý cửa hàng, khỏch hàng), về nội dung của giỏ hàng hoặc đơn hàng, cũng như thụng tin về trạng thỏi

Person Lớp này là lớp cơ sở cho Customer và ShopManager và bao chứa cỏc thụng tin đặc trưng cho khỏch hàng (tờn, tờn thỏnh, địa chỉ…)

Purchase Cỏc đối tượng của lớp này cú thể là ShoppingCart, Order hoặc DeliveredOrder

Item Cỏc đối tượng của lớp này bao chứa một danh sỏch đơn giản cỏc sản phẩm theo chủng loại. í tưởng là để cung cấp cỏc danh sỏch cỏc đơn vị sẵn cú khỏc nhau, chẳng hạn cỏc gúi hàng với cỏc khối lượng nào đú hoặc với số lượng cỏc thành phần nào đú Customer,

ShopManager

Cỏc lớp này nhận được từ Person và bao chứa một danh sỏch cỏc đơn hàng hoặc một danh sỏch cỏc đơn giao hàng

Thing Hỡnh thành cỏc lớp cơ sở cho Product, Category và Unit. Bao chứa cỏc trường mụ tả (name, shortDescription, longDescription) cũng như cỏc tham chiếu tới cỏc hỡnh ảnh Product, Category,

Unit

Hỡnh thành thụng tin sản phẩm

Hỡnh 33. Cỏc mụ hỡnh lớp trong Rational Rose

Một phần của tài liệu Nghiên cứu và phát triển các ứng dụng với cơ sở dữ liệu hướng đối tượng (Trang 85)