Các công cụ mô hình hóa

Một phần của tài liệu xây dựng chương trình quản lí hợp đồng xây dựng (Trang 34 - 49)

Các yêu cầu của người sử dụng thường được viết bằng ngôn ngữ tự nhiên để những người không có kiến thức về mặt kĩ thuật có thể hiểu được nó. Tuy nhiên, những yêu cầu hệ thống chi tiết phải được mô hình hóa. Mô hình hóa hệ thống giúp người phân tích hiểu rõ các chức năng của hệ thống.

Một số công cụ chính dùng để mô hình hóa và xây dựng tài liệu cho hệ thống là : sơ đồ chức năng kinh doanh BFD (Business Function Diagram), sơ đồ luồng thông tin IFD(Information Flow Diagram) và sơ đồ luồng dữ liệu DFD(Data Flow Diagram)

a, Sơ đồ chức năng kinh doanh BFD

Sơ đồ chức năng kinh doanh BFD là sơ đồ mô tả các chức năng nghiệp vụ của một tổ chức và những mối quan hệ bên trong giữa các chức năng đó cũng như các mối quan hệ của chúng với môi trường bên ngoài.

Mô hình được xây dựng dần cùng với tiến trình khảo sát chi tiết giúp cho việc định hướng hoạt động khảo sát.

Nó cho phép xác định phạm vi các chức năng hay miền cần nghiên cứu của tổ chức.

Nó cho thấy vị trí của mỗi công việc trong toàn hệ thống, tránh trùng lặp, giúp phát hiện các chức năng còn thiếu.

Là cơ sở để thiết kế cấu trúc hệ thống chương trình của hệ thống sau này.

 Mục đính: xác định một cách chính xác và cụ thể các chức năng của hệ thống thông tin quản lý.

 Một sơ đồ đầy đủ gồm:

o Tên chức năng.

o Mô tả chức năng.

o Đầu vào của chức năng(dữ liệu).

o Đầu ra chức năng(dữ liệu).  Các bước lập sơ đồ chức năng:

o Bước 1: Liệt kê các chức năng.

o Bước 2: Cấu trúc nhóm, đặt tên nhóm.

o Bước 3: vẽ sơ đồ chức năng.  Vai trò BFD:

o Hiểu rõ hoạt động tổ chức.

o Sắp xếp bố trí cần sự hỗ trợ tin học.

o Xác định công việc câầ sự hỗ trợ tin học.  Phân cấp của sơ đồ BFD.

Việc phân cấp sơ đồ chức năng kinh doanh cho phép phân tích viên hệ thống có thể đi từ tổng hợp đến cụ thể, từ tổng quát đến chi tiết. Trên cơ sở đó phân tích viên hệ thống có thể tiến hành theo một trình tự khoa học, có sự phân công mỗi nhóm phụ trách phân tích một mức nào đó.

 Qui tắc lập sơ đồ BFD

- Tuần tự: ghi chức năng của từng cấp theo thứ tự xuất hiện của chúng. - Lựa chọn: khi có sự lựa chọn giữa những gì xảy ra thì phải chỉ ra cách

lựa chọn và đánh dấu “0” ở phía trên, góc phải của khối chức năng đó. - Phép lặp: nếu một quá trình được thực hiện hơn một lần thì đánh dấu

- Nếu một quá trình nào đó bị loại khỏi đề án do chưa hợp lí hoặc không đem lại lợi ích thì nên đánh dấu bằng một dòng đậm vào khối chức năng đó.

- Khi các chức năng phụ thuộc vào các sự kiện bên ngoài thi có thể đánh dấu bằng một mũi tên bên lề bên phải. Tên gọi của sơ đồ chức năng cần được đặt một cách đầy đủ, rõ ràng để người đọc dễ hiểu và dễ dàng phân biệt giữa tên gọi của các chức năng khác nhau

Phương pháp xây dựng BFD - Phân mức các chức năng

• BFD được xây dựng theo mô hình phân mức, mỗi một chức năng có thể gồm một hoặc nhiều chức năng con trong sơ đồ (nhìn sơ đồ B dễ thấy chức năng A bao gồm chức năng B và C; chức năng C lại bao gồm D và E).

• Chú ý là với một sơ đồ, không nên có quá 6 mức, thông thường thì 3 mức là phù hợp với các hệ thống trung bình.

• Với mỗi chức năng không nên có quá 6 chức năng con vì như vậy sẽ làm sơ đồ trở nên phức tạp và khó kiểm soát. Nếu gặp trường hợp có quá nhiều chức năng con thì có thể giải quyết bằng cách tạo thêm mức trung gian để nhóm các chức năng con lại.

• Cần đảm bảo tính cân bằng của sơ đồ, nghĩa là các chức năng thuộc cùng một mức nên có sự tương đương nhau về kích thước và độ phức tạp ( dụ sơ đồ B thể hiện cân bằng hơn sơ đồ A). (adsbygoogle = window.adsbygoogle || []).push({});

• Mỗi chức năng phải mang một tên duy nhất, không trùng lặp với chức năng khác; tên phải thể hiện khái quát các chức năng con của nó, phản ánh được thực tế nghiệp vụ mà nó thực hiện.

Tên của chức năng phải bắt đầu bằng động từ, ví dụ như “lập đơn hàng”Tuân thủ những nguyên tắc trên sẽ giúp cho việc xây dựng các mô hình dữ liệu tiếp theo được rõ ràng.

Mức A B 0 1 Quản lí hợp đồng Quản lí danh mục Quản lí danh mục Quản lí hợp đồng …

Quản lí danh mục nhà thầu Quản lí danh mục chủ đầu tư …

Hình 2.1: Minh họa cấu trúc sơ đồ phân mức chức năng.

- Xác định các chức năng.

Ở mức cao nhất của nghiệp vụ, chức năng chính có thể là một trong các loại sau:

o Sản xuất sản phẩm.

o Cung cấp dịch vụ (bán hàng, bảo dưỡng).

o Quản lý tài nguyên (tài sản, nguồn nhân lực, con người…).

Khi đã xác định được loại mà nó thuộc vào thì sẽ đặt tên cho chức năng cao nhất này.

Tiếp theo, để xác định các chức năng con thì từ chức năng chính, ta đặt nó trong chu kỳ sống gồm các giai đoạn:

o Xác định nhu cầu. o Mua bán.

o Bảo hành, bảo dưỡng.

o Thanh lý hoặc chuyển nhượng.

Mỗi giai đoạn có thể có một hoặc nhiều chức năng con. Ví dụ, với chức năng Bán hàng thì ở giai đoạn xác định nhu cầu có thể có chức năng con là Quản lý thông tin khách hàng, ở giai đoạn mua bán thì có thể là Cập nhật đơn hàng… Người phân tích phải xác định được mức nào là thấp nhất, khi đó sẽ dừng việc phân tích chức năng. Để nhận biết một chức năng mức thấp nhất bằng cách xét xem có phải chức năng đó chỉ có một nhiệm vụ hoặc một nhóm các nhiệm vụ nhỏ.

Khi xây dựng BFD cần đảm bảo tính đơn giản, rõ ràng và chính xác của sơ đồ. Với các hệ thống lớn, có thể trình bày BFD trên nhiều trang, trang 1 là BFD mức cao nhất (mức 0), tiếp theo ứng với mỗi chức năng sẽ được phân tích ở các trang sau tới chức năng mức thấp nhất thì dừng.

Ví dụ :

b, Sơ đồ luồng dữ liệu DFD

Một sơ đồ luồng dữ liệu (Data Flow Diagram – DFD) là một công cụ đồ họa để mô tả luồng dữ liệu luân chuyển trong một hệ thống và những hoạt động xử lý được thực hiện bởi hệ thống đó. Sơ đồ luồng dữ liệu còn có các tên gọi khác là biểu đồ bọt, biểu đồ biến đổimô hình chức năng

Thanh toán, thanh lí hợp đồng Xử lí thanh toán Xử lí thanh lí Kiểm tra hợp đồng Quản lí hợp đồng xây dựng Xác định yêu cầu Đánh giá khả năng thực hiện Dự toán chi phí Kí kết hợp đồng Kí kết hợp đồng Kí kết hợp đồng liên quan Kí kết hợp đồng vật tư, máy móc Phân tích nhu cầu

DFD tài liệu hóa một thao tác/hoạt động/chức năng nghiệp vụ của một hệ thống thành một quá trình. DFD mô tả cách thức dữ liệu được xử lý trong và tại biên giới của hệ thống. DFD thể hiện chi tiết sự phụ thuộc lẫn nhau giữa các quá trình của hệ thống, các sự dịch chuyển dữ liệu hoặc thông tin giữa các quá trình.

DFD lôgíc mô tả luồng thông tin của một hệ thống.

DFD vật lý mô tả cách thức một hệ thống thông tin được cài đặt vật lý (ai làm, bằng cách nào, bằng công cụ nào).

Mô tả cách thức một hệ thống thông tin được cài đặt vật lý (ai làm, bằng cách nào, bằng công cụ nào).

Các qui tắc xây dựng DFD:

Qui tắc 1: mỗi biểu tượng có riêng một nhãn duy nhất để tránh gây hiểu nhầm.

Qui tắc 2: Sử dụng một ĐỘNG TỪ để gán nhãn cho một quá trình (vì một quá trình là một hành động!!!).

Qui tắc 3: Mỗi luồng dữ liệu phải được liên kết với ít nhất một quá trình . Qui tắc 4: Phải có một góc tô đậm trong tất cả các thể hiện của một biểu tượng lặp trong cùng một biểu đồ .

Qui tắc 5: Một quá trình phải luôn có luồng dữ liệu vào và ra. (adsbygoogle = window.adsbygoogle || []).push({});

Qui tắc 6: Không cần có một luồng dữ liệu (mà không có sự biến đổi) liên kết với một quá trình (vì hoạt động như vậy là vô giá trị).

Qui tắc 7: Các quá trình cha và các quá trình con tương ứng của nó phải có các luồng dữ liệu vào ra giống nhau (nhưng các quá trình con có thể có luồng dữ liệu của riêng nó).

Qui tắc 8: Các luồng dữ liệu không thể tự phân tách được

Qui tắc 9: Một gói dữ liệu có thể gồm nhiều phần tử dữ liệu được truyền đi đồng thời tới cũng một đích.

Qui tắc 10: Không được sử dụng mũi tên hai chiều vì luồng vào (cập nhật) và luồng ra (trích thông tin) của một kho dữ liệu mang nội dung thông tin khác nhau.

Các kí pháp sử dụng

Quá trình hoặc chức năng.

Dòng dữ liệu.

Bản báo giá nguyên vật liệu

Kho dữ liệu. CSDL hệ thống Tác nhân. Tạo đơn đặt hàng Phòng Mar keting

c, Sơ đồ luồng thông tin IFD và các phích xử lí.

Sơ đồ luồng thông tin được dùng để mô tả hệ thống thông tin theo cách thức động. Tức là mô tả sự di chuyển của dữ liệu, việc xử lý, việc lưu trữ trong thế giới vật lý bằng các sơ đồ.

Các ký pháp của sơ đồ luồng thông tin:

- Xử lý: - Kho lưu trữ dữ liệu:

Thủ công

Thủ công Giao tác người - máy

Tin học hóa hoàn toàn Tin học hóa

- Dòng thông tin. - Điều khiển

Lưu ý: Dòng thông tin vào ra với kho dữ liệu không cần phải có mũi tên chỉ hướng. Có thể dùng thêm một số ký tự khác như màn hình, đĩa từ.

Tài liệu

Các phích vật lý là những mô tả chi tiết hơn bằng lời cho các đối tượng được biểu diễn trên sơ đồ. Có 3 loại phích: phích luồng thông tin, phích kho chứa dữ liệu, phích xử lý.

Phích luồng thông tin Phích kho chứa dữ liệu Phích xử lý

d, Mô hình hóa dữ liệu logic.

Các bước mô hình hóa dữ liệu logic. 1. Mô hình dữ liệu ngữ cảnh.

Để thiết lập phạm vi dự án.

2. Mô hình dữ liệu dựa trên khoá . Loại bỏ các quan hệ không cụ thể. Thêm các thực thể có liên quan. Bao gồm các khoá chính.

Xác định chính xác số yếu tố.

3. Mô hình dữ liệu với thuộc tính đầy đủ . Tất cả các thuộc tính còn lại. (adsbygoogle = window.adsbygoogle || []).push({});

Các tiêu chuẩn nhóm con.

4. Mô hình dữ liệu được chuẩn hoá Thế nào là một mô hình dữ liệu tốt? Đơn giản.

Các thuộc tính dữ liệu mô tả bất cứ thực thể đã cho nào thì chỉ nên mô tả thực thể đó thôi.

Mỗi thuộc tính của một thể hiện của thực thể chỉ có thể có một giá trị. Không dư thừa.

Tên tài liệu: Mô tả:

Tên IFD có liên quan:

Vật mang: Hình dạng: Nguồn: Đích:

Tên kho dữ liệu: Mô tả:

Tên IFD có liên quan: Vật mang;

Chương trình hoặc người truy nhập:

Tên xử lý: Mô tả:

Tên IFD có liên quan: Phân ra thành các IFD con:

Phương tiện thực hiện: Sự kiện khởi sinh: Chu kỳ:

Mỗi thuộc tính dữ liệu, không phải là khoá ngoại, mô tả tối đa một thực thể Tìm cùng một thuộc tính được ghi lại nhiều lần dưới các tên khác nhau Linh động và dễ điều chỉnh cho những nhu cầu phát sinh trong tương lai.

Thiết kế CSDL suy diễn từ các thông tin đầu ra

Bước 1: xác định các đầu ra

Liệt kê toàn bộ thông tin đầu ra

Nội dung, khối lượng , tần xuất và nơi nhận chúng

Áp dụng : các thông tin đầu ra của hệ thống : hợp đồng, phụ lục hợp đồng, bản thanh toán …

Bước 2: Xác định tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra

(II) detail :

Liệt kê các mục tiêu t.tin

Xác định thuộc tính định danh(ID) Xác định thuộc tính lặp (R)

Xác định thuộc tính thứ sinh (S) và những thuộc tính không quan trọng Chuẩn hóa 1NF, 2NF, 3NF

Vẽ sơ đồ DSD

Ví dụ: thiết kế và chuẩn hóa dữ liệu đầu ra từ “đơn đặt hàng” được lập bởi các thuộc tính. Số đơn đặt hàng Mã NCC địa chỉ NCC số tài khoản Liệt kê các thông tin đầu ra (I) Thiết kế CSDL cho từng đầu ra (II) Tích hợp CSDL trong bước 2 (III) Vẽ lại các CSDL ở bước 3 (IV)

phương thức thanh toán ngày thuế VAT tổng số tiền số thứ tự mã NVL tên NVL đơn vị tính đơn giá số lượng thành tiền cộng thành tiền tổng số tiền bằng chữ

1. Loại bỏ các thuộc tính không cần thiết : số thứ tự, tổng số tiền bằng chữ các thuộc tính thứ sinh S : thành tiền

2. Chuẩn hóa

Chuẩn hóa mức 1 (First Nomalized Format) Yêu cầu: (adsbygoogle = window.adsbygoogle || []).push({});

Trong danh sách không có thuộc tính lặp Khi có thuộc tính lặp, giải quyết theo hai cách: Thêm thuộc tính

Tách danh sách:

Tách các R theo nhóm có ý nghĩa. Đặt têm cho nhóm

chuẩn hóa 1NF Số đơn hàng ……….. 7. số thứ tự ………. 13. thành tiền ………… Chuẩn hóa mức 2NF

Thuộc tính trong danh sách phụ thuộc hàm vào toàn bộ khóa chính (Primary key)

Vd: Mã NVL  Tên NVL

 tên NVL phụ thuộc vào hàm mã NVL ( vì tênNVL chỉ có một Mã NVL duy nhất)

Trong trường hợp không thỏa mãn điều kiện trên.

 Tách danh sách:tách những thuộc tính phụ thuộc hàm vào bộ phận của khóa thành một danh sách con mới.

Lấy bộ phận khóa đó làm khóa cho danh sách mới. Đặt cho danh sách một cái tên riêng phù hợp với nội dung các thuộc tính trong danh sách.

Ví dụ: chuẩn hóa mức 2NF

Đơn mua hàng Detail

Hàng mua Detail

[ơ=

o Chú ý: tính phụ thuộc hàm tùy thuộc vào quá trình HĐ từng đơn vị.

 Chuẩn hóa mức 3NF

o Trong một danh sách không được phép có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu thuộc tính Z phụ thuộc vào hàm thuộc tính Y và Y phụ thuộc vào hàm thuộc tính X thì phải tách chúng thành hai danh sách chứa quan hệ Z, Y và danh sách chứa quan hệ Y với X.

o Xác định khóa cho tên cho mỗi danh sách mới. Ví dụ: Đơn đặt hàng Số hóa đơn detail Đơn đặt hàng Số hóa đơn detail Hàng mua Số đơn đặt hàng Mã NVL Tên NVL Đơn vị tính Đơn giá Số lượng Hàng mua Số đơn đặt hàng NVL Số lượng NVL Mã NVL Tên NVL Đơn vị tính Đơn giá NCC Mã NCC Địa chỉ Số tài khoản Đơn đặt hàng Số đơn đặt hàng Mã NCC P.thức t.toán Ngày Đơn đặt hàng Số đơn đặt hàng Mã NCC Địa chỉ Số tài khoản P.thức t.toán Ngày

 giải pháp

Tách mỗi cầu  1danh sách con như ví dụ trên.

• Mô tả các tệp : mỗi danh sách xác định được sau bước chuẩn hóa mức 3 sẽ là một tệp CSDL. Biểu diễn các tệp theo ngôn ngữ của CSDL về tệp.

Số đơn đặt hàng Mã NCC Phương thức thanh toán Ngày

Bước 3: tích hợp các tệp chỉ tạo ra một CSDL

Từ mỗi đầu ra theo cách thực hiện của bước 2 sẽ tạo ra rất nhiều danh sách và mỗi danh sách là liên quan tới một đối tượng quản lý, có sự tồn tại riêng tương đối độc lập. Những danh sách nào cũng mô tả về một thực thể thì phải tích hợp lại, nghĩa là tạo thành một danh sách chung bằng cách phối hợp tất cả các thuộc tính chung và riêng của danh sách đó.

Bước 4: xác định khối lượng DL cho từng tệp và toàn bộ sơ đồ.

• Xác định số bản ghi từng tệp.

• Xác định độ dài cho một thuộc tính. Tính độ dài cho bản ghi

Đối với mỗi tệp CSDL( gọi là R) ta sử dụng những số đo kinh điển cho việc tính toán khối lượng dữ liệu:

• L(R): là độ dài của một bản ghi tính theo số lượng ký tự.

• N(R): Là số lượng trung bình của các bản ghi của R. (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu xây dựng chương trình quản lí hợp đồng xây dựng (Trang 34 - 49)