Mối quan hệ giữa nguồn và đích

Một phần của tài liệu Xây dựng hệ thống quản lý bán hàng cho công ty thông tin di động việt nam mobifone (Trang 46)

Hì 2.7 Các đặc tí của mố qua ệ g ữa guồ và đíc

Một số phƣơng pháp chuyển đổi bắt buộc t o ra một mô hình đích mới vốn cần phải đƣợc tách biệt khỏi nguồn (chẳng h n nhƣ [ DI]). Trong một số phƣơng pháp hác, nguồn và đích luôn là một mô hình, tức chúng chỉ hỗ trợ cập nhật t i chỗ (chẳng h n nhƣ phƣơng pháp VI TR , Gre T). ũng có các phƣơng pháp hác (chẳng h n nhƣ XDE) cho phép mô hình đích là một mô hình mới hay một mô hình sẵn có. Ngoài ra, một phƣơng pháp chuyển đổi có thể cho phép việc cập nhật mang tính phá hủy đích sẵn có hoặc cập nhật chỉ bởi phần mở rộng, tức ở những nơi hông thể lo i bỏ các phần tử mô hình sẵn có. ác phƣơng pháp chuyển đổi có sử dụng cơ cấu lựa chọn phi tất định và điều phối lặp điểm bất động h n chế việc cập nhật t i chỗ chỉ ở tác vụ mở rộng nhằm bảo đảm sự chấm dứt (chẳng h n nhƣ phƣơng pháp VIATRA).

2.2.4 Chiến lược áp dụng luật.

Hì 2.8 Các đặc tí của c ế ƣợc áp dụ g u t

Một luật cần đƣợc áp dụng cho một vị trí nằm bên trong ph m vi nguồn của nó. Bên trong một ph m vi nguồn cho trƣớc, một luật có thể có nhiều hơn một sự phù hợp, do vậy chúng ta cần có một chiến lƣợc áp dụng. Chiến lƣợc này có thể tất định, phi tất định hoặc thậm chí có tính tƣơng tác. hẳng h n, một chiến lƣợc tất định có thể hai thác một chiến lƣợc duyệt tiêu chuẩn (chẳng h n nhƣ theo chiều sâu) trong nguồn.. ác ví dụ về các chiến lƣợc phi tất định bao gồm ứng dụng một điểm, trong đó một luật đƣợc áp dụng cho một vị trí đã chọn một cách phi tất định, và ứng dụng đồng thời, trong đó một luật đƣợc áp dụng đồng thời cho tất cả các vị trí phù hợp trong nguồn (chẳng h n VI TR ). Đôi hi, việc áp dụng luật đƣợc xác định một cách tƣơng tác (chẳng h n XDE).

Vị trí đích cho một luật thƣờng là tất định. Trong trƣờng hợp cập nhật t i chỗ, vị trí nguồn trở thành vị trí đích (chẳng h n VIATRA hay GreAT). Trong một phƣơng pháp chuyển đổi có các mô hình đích và nguồn tách rời, các liên ết khả truy nguyên đƣợc có thể đƣợc sử dụng để xác định đích (chẳng h n [CDI]): Một luật có thể đi theo liên ết khả truy nguyên này đến một phần tử đích nào đó vốn đƣợc t o ra bởi một luật hác nào đó và sử dụng phần tử này nhƣ đích của riêng nó.

2.2.5 Điều phối luật.

có thể hác nhau ở bốn ph m vi chính [17]:

Hì 2.9 Các đặc tí của cơ c ế đ ều p ố u t

- Dạng thức: Khía c nh điều phối có thể đƣợc biểu diễn tƣờng minh hoặc

hông tƣờng minh. Việc điều phối hông tƣờng minh ngụ ý rằng ngƣời dùng hông có sự iểm soát tƣờng minh đối với thuật toán điều phối do công cụ định ngh a (nhƣ công cụ BOTL và OptimalJ). ách duy nhất mà ngƣời dùng có thể tác động đến thuật toán điều phối do hệ thống định ngh a là thiết ế các huôn mẫu và logic của các luật nhằm bảo đảm các thứ tự thực thi nào đó. Trong cơ chế điều phối tƣờng minh, có một sự tách b ch rõ rệt giữa các luật và logic điều phối.

- Lựa chọn luật: ác luật có thể đƣợc lựa chọn bởi một điều iện tƣờng minh

(chẳng h n công cụ Jamda). Một số phƣơng pháp cho phép sự lựa chọn phi tất định (chẳng h n công cụ BOLT). Ngoài ra, một cơ chế giải quyết xung đột dựa trên các mức ƣu tiên có thể đƣợc cung cấp (mặc dù hông có phƣơng

pháp nào mà chúng ta đang hảo sát có cài đặt cơ chế giải quyết xung đột). ơ chế lựa chọn luật tƣơng tác cũng là một hả n ng (chẳng h n XDE).

- Lặp luật: ác cơ chế lặp luật bao gồm đệ quy, vòng lặp và phép lặp điểm bất

động (tức ứng dụng đƣợc lặp l i cho đến hi hông phát hiện các thay đổi nào nữa).

- Chia pha: Tiến trình chuyển đổi có thể đƣợc tổ chức thành nhiều pha, trong

đó mỗi pha có một mục đích cụ thể và chỉ những luật nào đó mới có thể gọi một pha xác định.

2.2.6 Tổ chức luật.

Hì 2.10 Các đặc tí của v ệc tổ c ức u t

Việc tổ chức luật liên quan đến việc tổ hợp và lập cấu trúc nhiều luật chuyển đổi. húng ta xem xét ba miền biến thiên trong bối cảnh này:

- Cơ chế mô đun: Một số phƣơng pháp chuyển đổi cho phép đóng gói các luật

thành các mô đun ( ST+ và VI TR ). Một mô đun có thể import một mô đun hác để truy xuất nội dung của nó.

- Cơ chế tái sử dụng: ác cơ chế tái sử dụng cung cấp một cách thức để định ngh a một luật dựa trên một hoặc nhiều luật hác. Nói chung, các cơ chế điều phối có thể đƣợc dùng để định ngh a các luật chuyển đổi phức hợp; tuy nhiên, một số phƣơng pháp cung cấp các cơ chế tái sử dụng dành riêng chẳng h n nhƣ thừa ế giữa hai luật, dẫn xuất trong [IOPT], phần mở rộng trong [ DI], chuyên biệt hóa trong [QVTP], thừa ế giữa các mô đun (chẳng h n thừa ế đơn vị trong [ ST+]), và hợp thành logic (chẳng h n [QVTP]).

- Cấu trúc tổ chức: ác luật có thể đƣợc tổ chức theo cấu trúc của ngôn ngữ

nguồn hay ngôn ngữ đích, hoặc chúng có thể có riêng cách tổ chức độc lập của chúng. [IOPT] là một ví dụ về cách tổ chức theo cấu trúc của đích. Trong phƣơng pháp chuyển đổi này, có một luật dành cho mỗi iểu phần tử đích và các luật này đƣợc lồng nhau theo hệ phân cấp chứa trong siêu mô hình đích. hẳng h n, nếu ngôn ngữ đích có một ết cấu d ng gói trong đó các lớp có thể đƣợc lồng nhau, luật để t o các gói sẽ chứa luật để t o các lớp (mà trong đó sẽ chứa các luật để t o các tính chất và các phƣơng thức, v.v.).

2.2.7 Các liên kết khả truy nguyên.

Một số phƣơng pháp chuyển đổi có hỗ trợ khả n ng truy nguyên (chẳng h n [CDI], [IOPT], trong hi các phƣơng pháp hác giả sử ngƣời dùng mã hóa tính hả truy nguyên bằng cùng các cơ chế dùng để bổ sung thêm bất kỳ d ng liên ết nào hác vào các mô hình (chẳng h n VIATRA, GreAT). Một số phƣơng pháp có sự hỗ trợ dành riêng cho việc truy nguyên đòi hỏi ngƣời phát triển phải mã hóa thủ công việc t o ra các liên ết khả truy nguyên trong các luật chuyển đổi (chẳng h n [CDI], trong hi các phƣơng pháp hác tự động t o ra các liên ết khả truy nguyên (chẳng h n [IOPT]. Trong trƣờng hợp có sự hỗ trợ tự động, phƣơng pháp này có thể vẫn cung cấp một khả n ng iểm soát nào đó đối với cách thức t o các liên ết khả truy nguyên (nhằm h n chế khối lƣợng dữ liệu khả truy nguyên). Sau cùng, có sự lựa chọn về vị trí lƣu trữ các liên ết này, chẳng h n trong nguồn và hoặc đích, hoặc tách biệt. Phƣơng pháp hay hơn là lƣu giữ một GUID trong mỗi phần tử mô hình và lƣu giữ các thông tin truy nguyên tách b ch với nguồn và đích [17].

2.2.8 Tính định hướng.

Hì 2.12 Tí đị ƣớ g

ác phép chuyển đổi có thể là đơn hƣớng hoặc song hƣớng. ác phép chuyển đổi đơn hƣớng có thể đƣợc thực thi theo chỉ một chiều, trong trƣờng hợp đó mô hình đích đƣợc tính toán (hay cập nhật) dựa trên một mô hình nguồn. ác phép chuyển (adsbygoogle = window.adsbygoogle || []).push({});

đổi song hƣớng có thể đƣợc thực thi theo cả hai chiều, và điều này rất hữu ích trong bối cảnh đồng bộ hóa giữa các mô hình. ác phép chuyển đổi song hƣớng có thể thực hiện bằng cách sử dụng các luật song hƣớng hoặc bằng cách định ngh a hai luật đơn hƣớng bổ khuyết riêng biệt, mỗi luật dành cho mỗi hƣớng.

ác luật chuyển đổi thƣờng đƣợc thiết kế có một đặc điểm chức n ng: đƣa đầu vào nào đó vào mô hình nguồn, chúng sinh ra một kết quả cụ thể trong mô hình đích. Luật hai báo (tức luật chỉ sử dụng các logic và hoặc các pattern hai báo) thƣờng cũng có thể đƣợc áp dụng theo hƣớng ngƣợc l i. Tuy nhiên, các đầu vào hác nhau có thể dẫn đến các đầu ra giống hệt, do đó việc đảo ngƣợc một luật có thể hông là một chức n ng. Trong trƣờng hợp này, luật nghịch đảo có thể liệt ê một số lƣợng giải pháp hả d (trên lý thuyết con số này có thể vô h n), hoặc chỉ thiết lập một phần của kết quả theo một cách thức cụ thể (vì phần này có thể giống nhau đối với mọi giải pháp) và sử dụng các biến số, các xác lập mặc định hoặc các giá trị đã hiện diện sẵn trong đầu ra cho các phần hác. Tính hả nghịch của một phép chuyển đổi tùy thuộc hông chỉ vào tính hả nghịch của các luật chuyển đổi, mà còn vào tính khả nghịch của logic điều phối. Việc nghịch đảo một tập luật có thể hông mang l i bất kỳ kết quả nào do tình tr ng hông ết thúc [17].

2.3. Kết c ƣơ g.

Thực tế cho thấy, trong các hệ thống thông tin doanh nghiệp nói riêng và các hệ thống phần mềm nói chung, ơ sở dữ liệu luôn là phần quan trọng nhất. Bởi nó lƣu trữ mọi số liệu, thông tin inh doanh của doanh nghiệp. Hệ cơ sở dữ liệu giúp các bên liên quan, cập nhật đƣợc chi tiết mọi ho t động inh doanh hàng ngày, hàng giờ. Ngoài ra, cũng từ các dữ liệu này, ban điều hành doanh nghiệp có thể phân tích trích xuất các thông tin cần thiết cho việc định hƣớng các ho t động kinh doanh của doanh nghiệp. Do đó việc thiết kế, xây dựng và bảo trì ơ sở dữ liệu luôn là vấn đề đƣợc quan tâm hàng đầu trong quá trình xây dựng và vận hành hệ thống phần mềm. Sau hi đọc, tìm hiểu các tài liệu tham khảo ([8, 17]) tác giả luận v n nhận thấy, để ứng dụng MDA trong thiết kế CSDL cần trải qua ba bƣớc sau:

Bƣớc 1: Xây dựng mô hình độc lập tính toán CIM. Đây là một mô hình sơ đồ thực thể liên ết với mức độ trừu tƣợng cao nhất, và gần gũi nhất để hiểu đƣợc quy trình nghiệp vụ của hệ thống. Trong thiết kế ơ sở dữ liệu CIM cần thỏa mãn:

- CIM chỉ thể hiện các thực thể và mối quan hệ giữa chúng. - CIM giấu chi tiết iến trúc của hệ thống.

- CIM giấu các chi tiết về lo i dữ liệu, chƣa thể hiện các hóa chính và hóa ngo i.

Bƣớc 2: Sử dụng một trong các phƣơng pháp chuyển đổi mô hình hiện có, xây dựng và cài đặt một bộ quy tắc chuyển đổi từ mô hình sang mô hình, cụ thể là từ mô hình độc lập tính toán sang mô hình độc lập nền tảng. Mô hình độc lập nền tảng (PIM) cần phải thỏa mãn:

- Thể hiện các thực thể và mối quan hệ giữa các thực thể. - Thể hiện các hóa chính và hóa ngo i của các thực thể. - Thể hiện iểu dữ liệu của các thuộc tính của thực thể.

Bƣớc 3: n cứ vào nền tảng ơ sở dữ liệu hiện có, cần xây dựng và cài đặt một bộ quy tắc chuyển đổi từ mô hình độc lập nền tảng sang mô hình nền tảng xác định (PSM). Mô hình PSM sẽ thể hiện đầy đủ thông tin chi tiết của một sơ đồ thực thể liên ết trên hệ ơ sở dữ liệu đã xác định. Mô hình PSM ở đây chính là sản phẩm cuối cùng của quá trình thiết ế SDL.

CHƢƠNG 3. THỬ NGHIỆM ÁP DỤNG MDA VÀO THIẾT KẾ HỆ THỐNG QUẢN LÝ BÁN HÀNG

hƣơng này tác giả luận v n sẽ đi sâu vào thiết kế CSDL hệ thống Quản lý bán hàng ứng dụng lý thuyết MDA. Trƣớc tiên sẽ áp dụng thiết kế CSDL phân hệ Quản lý ho – phân hệ cốt lõi của các hệ thống Quản lý bán hàng. Nhƣ chƣơng 2 đã trình bày, để xây dựng đƣợc một hệ SDL hoàn chỉnh trên một nền tảng cụ thể cần làm hai công việc sau. Đầu tiên chúng ta cần xây dựng mô hình IM của hệ SDL đó, sau đó xây dựng các luật chuyển đổi mô hình, để từ mô hình IM ta sẽ sinh ra đƣợc mô hình PIM, và từ mô hình PIM sẽ sinh ra mô hình PSM.

3.1. Xây d g u t c uyể đổ g ữa các mô ì .

Hiện t i, trên thị trƣờng có nhiều công cụ hỗ trợ việc xây dựng các bộ chuyển đổi mô hình nhƣ TL, QVT, cceleo, v.v… Tuy nhiên do ngôn ngữ dễ hiểu, gần gũi với các ngôn ngữ lập trình đã biết, nên tác giả luận v n chọn công cụ QVT để xây dựng bộ chuyển đổi mô hình.

3.1.1. Công cụ QVT Operational – Plugin Eclipse [21].

Truy vấn/xem/chuyển đổi (Querry/View/Transfer - QVT) là một bộ ngôn ngữ chuẩn chuyển đổi từ mô hình sang mô hình, đƣợc định ngh a bởi Object Management Group. QVT chuẩn định ngh a ba ngôn ngữ chuyển đổi mô hình:

- QVT Operational là một ngôn ngữ đƣợc thiết kế cho việc chuyển đổi một chiều. QVT Operational là một công cụ giúp lập trình viên xây dựng các luật chuyển đổi, từ đó kết hợp với mô hình nguồn ta sẽ tự động sinh ra đƣợc mô hình đích.

- QVT Relations là một ngôn ngữ đƣợc thiết kế cho cả chuyển đổi một chiều và hai chiều. Ngôn ngữ QVT Relations có cả chế độ cú pháp đồ họa và v n bản.

- QVT ore đƣợc thiết kế đơn giản hóa nhƣng vẫn đảm bảo đƣợc việc chuyển đổi nhƣ QVT Relations.

3.1.2. Chuyển đổi từ mô hình CIM sang mô hình PIM.

Nhƣ đã tác giả luận v n đã trình bày trong chƣơng 2, mô hình IM có các tính chất sau:

 Chỉ thể hiện các thực thể và mối quan hệ giữa các thực thể

 Giấu chi tiết kiến trúc của hệ thống.

 IM giấu các chi tiết về lo i dữ liệu. Không thể hiện các hóa chính và hóa ngo i.

Tác giả luận v n đề xuất xây dựng mô hình IM là mô hình lớp UML, sử dụng các thành phần đƣợc định ngh a trong siêu mô hình UML sau.

Hì 3.1 S u mô ì UML

PIM có các tính chất sau:

 Thể hiện các hóa chính và hóa ngo i của các thực thể.  Thể hiện kiểu dữ liệu của các thuộc tính của thực thể.

Tác giả luận v n cũng đề xuất mô hình PIM sẽ là mô hình SDL, xây dựng dựa trên các thành phần đƣợc định ngh a trong siêu mô hình ơ sở dữ liệu liên ết sau:

Hì 3.2 S u mô ì Cơ sở dữ ệu kết (adsbygoogle = window.adsbygoogle || []).push({});

Vậy để chuyển đổi từ mô hình IM sang mô hình PIM ta phải xây dựng một bộ quy luật chuyển đổi, với IM là mô hình lớp UML, còn PIM là mô hình mô tả CSDL. Ta có bộ luật chuyển đổi nhƣ sau:

Các đố tƣợng trong CIM Các đố tƣợng trong PIM

Package Schema Classifier Partition Class Table Attribute Column ID Primary Key Association: Liên ết 1-N Liên ết N-1 Liên ết N-N Relationship:

-> Thêm Foreign ey cho table đích

-> Thêm Foreign ey cho table nguồn

Các đố tƣợng trong CIM Các đố tƣợng trong PIM

1 trƣờng là ID), thêm foreign ey cho cả bảng nguồn và bảng đích trỏ vào trƣờng ID của bảng trung gian. Tên thuộc tính:

End with “ID” End with “Time” End with “ mount”

End with “Status” Else

Kiểu dữ liệu của cột tƣơng ứng:

Integer

Date

Integer

Boolean

String

Bả g 3.1: Lu t c uyể đổ CIM sa g PIM

3.1.3. Chuyển đổi từ mô hình PIM sang mô hình PSM.

Mô hình PSM là mô hình dựa trên nền tảng xác định, ở đây tác giả đề xuất nền tảng cơ sở dữ liệu Oracle. Vấn đề đặt ra là map iểu dữ liệu trong PIM với kiểu dữ liệu trong PSM.

Kiểu trong PIM Kiểu trong PSM

Integer Number

String Varchar2

Boolean Varchar2 (1)

Datetime Date

3.2. T ết kế mô ì cơ sở dữ ệu p â ệ QL K o.

3.2.1. Xây dựng sơ đồ UseCase và xác định các thực thể phân hệ QL Kho.

Qua phân tích Quy trình nghiệp vụ phân hệ QL Kho ( hƣơng 1), và xác định các

Một phần của tài liệu Xây dựng hệ thống quản lý bán hàng cho công ty thông tin di động việt nam mobifone (Trang 46)