66
Thiết kế hệ thống Chương 6 1

Thiết kế hệ thống

Embed Size (px)

DESCRIPTION

Ch ươn g 6. Thiết kế hệ thống. Thiết kế hệ thống. Phân chia hệ thống thành các hệ thống con Xây dựng mô hình thiết kế xử lý hệ thống Thiết kế chức n ă ng phần mềm hệ thống. Phân chia hệ thống thành hệ thống con. Mục tiêu: Giảm thiểu sự phức tạp, sự cồng kềnh của một hệ thống lớn - PowerPoint PPT Presentation

Citation preview

Page 1: Thiết kế hệ thống

Thiết kế hệ thống

Chương 6

1

Page 2: Thiết kế hệ thống

Thiết kế hệ thống Phân chia hệ thống thành các hệ thống con

Xây dựng mô hình thiết kế xử lý hệ thống

Thiết kế chức năng phần mềm hệ thống

2

Page 3: Thiết kế hệ thống

Phân chia hệ thống thành hệ thống con Mục tiêu:

• Giảm thiểu sự phức tạp, sự cồng kềnh của một hệ thống lớn

• Tạo thuận lợi cho công việc thiết kế: bởi vì phải chi tiết hoá các nội dung đặt được ở phần tích tích

• Dễ dàng hơn cho quá trình bảo dưỡng hệ thống sau này

3

Page 4: Thiết kế hệ thống

Phân chia hệ thống thành hệ thống con Tiêu chí phân chia:

• Tính cố kết (cohesion): sự gắn bó về luận lý hoặc mục đích của các xử lý trong một hệ thống con. Tính cố kết càng cao thì càng tốt

• Tính liên kết (coupling): sự trao đối thông tin và tác động lẫn nhau giữa các hệ thống con. Sự liên kết này càng lỏng lẻo, càng đơn giản càng tốt

4

Page 5: Thiết kế hệ thống

Phân chia hệ thống thành hệ thống con

5

Xử lý

Xử lý

Xử lý

Xử lý

Xử lý

Xử lý

Xử lý

Dữ liệuDữ liệu

Hệ thống con 1 Hệ thống con 2

Hệ thống con 1Hệ thống con 2

Page 6: Thiết kế hệ thống

Phân chia hệ thống thành hệ thống con Các yếu tố gợi ý phân chia:

• Gom theo thực thể: các xử lý liên quan đến một hoặc một số đối tượng thực thể

- Hệ Khách hàng (gồm các chức năng liên quan đến khách hàng như xử lý đơn đặt hàng, làm hóa đơn, thanh toán, giao hàng, …)

- Hệ Kho vật tư (xử lý xuất, nhập hàng, tồn kho, …)

• Gom theo sự kiện giao tác: các xử lý đáp ứng cho một sự kiện xảy ra.

- Hệ Xử lý đơn hàng (khi đơn đặt hàng đến thì xử lý ghi nhận đơn hàng, kiểm tra khả năng đáp ứng đơn hàng, …)

• Gom theo vai trò thực hiện hoặc ví trí tổ chức

- Ví dụ: các hoạt động liên quan đến một phòng, một con người,…

6

Page 7: Thiết kế hệ thống

Phân chia hệ thống thành hệ thống con Ví dụ: hệ thống quản lý tồn kho

7

BPSX

Lưu hoá đơn

1-2

Hoá đơn NKý tồn kho

Xác định NVL tồn

3

Đối chiếu và cập nhật số

tồn, số sử dụng

4

Xác định NVL tồn dưới mức tối thiểu

5Lập

phiếu đặt mua NVL

6

Xử lý thanh

toán hoá đơn

7

(1)

(2)

(3)

(4)

Hoá đơn

Hoá đơn chưa thanh toán

HĐ đã thanh toán

Tồn kho + tồn tối thiểu

Số sử dụng, số tồn

Tồn kiểm kê

NVL cần đặt

NCC

Thống kê tỉ lệ hao hụt

9

Phiếu xuất:1

Xử lý xuất NVL

8

Phiếu xuất:2

Thủ kho

Yêu vầu về NVL

Thông tin xuất NVL

Thông tin xuất NVL

Thông tin báo cáo hao hụt

Thông tin NVL nhập

Thông tin NVL xuất

Hệ thống con quản lý nhập NVL

Hệ thống con quản lý tồn kho NVL

Hệ thống con quản lý tồn kho NVL

Hệ thống con quản lý xuất NVL

Hệ thống con quản lý nhập NVL

Hệ thống con quản lý thanh toán

Page 8: Thiết kế hệ thống

Phân chia hệ thống thành hệ thống con Mô tả hệ thống con:

Hệ thống: ABC

Dòng dữ liệu vào:

Dòng dữ liệu ra:

STT Hệ thống con Xử lý Kho dữ liệu

8

Hệ thống

Hệ thống con 1 Hệ thống con 2 Hệ thống con 3

Page 9: Thiết kế hệ thống

Phân chia hệ thống thành hệ thống con Ví dụ: hệ thống quản lý tồn kho và các hệ

thống con

9

Quản lý nhập NVL

Hệ quản lý tồn kho

Quản lý thanh toán Quản lý tồn kho Quản lý xuất NVL

Các hệ thống con

Page 10: Thiết kế hệ thống

Phân chia hệ thống thành hệ thống con

Hệ thống: ABC

Dòng dữ liệu vào:

Dòng dữ liệu ra:

STT Hệ thống con Xử lý Kho dữ liệu

1 Quản lý nhập NVL - Lưu hoá đơn

- Xác định NVL tồn dưới mức tối thiểu

- Lập phiếu đặt mua NVL

-Hoá đơn-NKý tồn kho

2 Quản lý thanh toán - Xử lý thanh toán hoá đơn -Hoá đơn

3 Quản lý tồn kho -Xác định NVL tồn-Đối chiếu và cập nhập số tồn, số sử dụng-Thống kê tỉ lệ hao hụt

-Hoá đơn, phiếu xuất-NKý tồn kho

-Phiếu xuất, Nký tồn kho

4 Quản lý xuất NVL -Xử lý xuất NVL -Phiếu xuất

10

Page 11: Thiết kế hệ thống

Thiết kế hệ thống Phân chia hệ thống thành các hệ thống con

Xây dựng mô hình thiết kế xử lý hệ thống

Thiết kế chức năng phần mềm hệ thống

11

Page 12: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Phân chia hoạt động thủ công và tự động

Xác định thừa tác viên sử dụng hệ thống

Thiết kế xử lý trực tuyến – theo lô

Mô hình hoá xử lý ở mức thiết kế

12

Page 13: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Phân chia giữa hoạt động thủ công - tự

động

13

HTTT tự động hoáHTTT tự động hoá

Hệ thống tổ Hệ thống tổ chức nghiệp chức nghiệp vụvụ

HTTTMôi trường

Yêu cầu tự động hoá (phần mềm)

Yêu cầu tự động hoá (phần mềm)

Page 14: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Phân chia giữa hoạt động thủ công - tự

động

14

Xử lý mức quan niệmXử lý mức quan niệm

Tinh chế thành các hoạt động chi tiết

Tinh chế thành các hoạt động chi tiết

Xử lý được phân chiaXử lý được phân chia

Xác định chức năng tự động hoá

Xác định chức năng tự động hoá

Yêu cầu tự

động hoá

Xử lý

Xử lý Xử lý

Tự độngThủ công

Page 15: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Phân chia giữa hoạt động thủ công - tự

động

• Nguyên tắc phân chia:- Các xử lý sau khi phân chia sẽ hòan tòan thủ công

hoặc hòan tòan tự động

- Sự phân chia chấp nhận việc trùng lắp nội dung giữa tự động và thủ công

15

Kiểm tra và lưu đơn

hàng

Kiểm tra công nợ

khách hàng

Lưu đơn hàng vào máy tính

Lưu đơn hàng

Tự động Tự động Thủ công

Page 16: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Phân chia giữa hoạt động thủ công - tự

động

• Ví dụ:

16

Quản lý xuất NVL

Quản lý xuất NVL

Phiếu xuất

BPSX

Yêu cầu NVL

Thông tin xuất NVL

Thông tin xuất NVL

BPSX

Kiểm tra yêu cầu

NVL

1

Kiểm tra tồn kho

2

Lập và in phiếu xuất

3

Phiếu xuất

Duyệt phiếu xuất

4

Yêu cầu NVL

Phiếu xuất

NKý tồn kho

Yêu cầu NVL

NVL cần xuất

Phiếu xuất

Quan niệm Vật lý

Tự động Thủ công

Page 17: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Phân chia giữa hoạt động thủ công - tự động

• Ví dụ:

17

Quản lý nhập NVL

Quan niệm Vật lý

Tự động Thủ công

Hóa đơn

NCC

Tìm đơn hàng tương

ứng

1.1

So khớp hóa đơn

1.2

Hóa đơn

Lưu hóa đơn

1.3

Đơn hàngLưu hóa

đơn

1

Hóa đơn

NCC

NKý tồn kho

Xác định NVL dưới mức tối

thiểu

5

Lập phiếu đặt NVL

6

Hóa đơn

Phiếu đặt

Xác định NVL dưới mức tối

thiểu

5

NKý tồn kho

Lập và in phiếu đặt

6.1

Xác nhận phiếu đặt

6.2

Phiếu đặt

Phiếu đặt

Thông tin phiếu đặt

Lưu hóa đơn gốc

1.4

Hóa đơn gốc

Page 18: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Phân chia giữa hoạt động thủ công - tự động

• Ví dụ:

18

Quản lý tồn kho

Quan niệm Vật lý

Tự động Thủ công

Xác định tồn kho

NVL

3

Hóa đơn

BPSX

NKý tồn kho

Đối chiếu và cập nhật số tồn, số sử

dụng

4

Lập thống kê tỉ lệ hao

hụt

9 Số tồnBcáo hao hụt

Phiếu xuất

Sử dụng

Xác định tồn kho

NVL

3

Hóa đơn

Phiếu xuấtBPSX

Cập nhật số tồn, số sử

dụng

4.2

Đối chiếu số tồn, số sử

dụng

4.1

NKý tồn kho

Lập thống kê tỉ lệ hao

hụt

9

Bcáo hao hụt

Sử dụng

Số tồn

Số tồn, sử dụng

Page 19: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Thiết kế các vai trò

19

HTTT tự động hoáHTTT tự động hoá

Hệ thống tổ Hệ thống tổ chức nghiệp chức nghiệp vụvụ

HTTTMôi trường

Nhân viên tổ chức

Thừa tác viên HTTT

User (người dùng phần mềm)

Page 20: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Thiết kế các vai trò – các hệ thống

eCommerce

20

Môi trường

Hệ thống tổ chức nghiệp vụ

HTTT tự động hóa

Page 21: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Thiết kế các vai trò – người dùng hệ thống

21

Môi trường

Môi trường

Môi trường

Page 22: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Thiết kế các vai trò – ví dụ: quản lý nhập NVL

Tự động Thủ công

NV nhập Thủ kho NV nhập Thủ kho

22

Hóa đơn

NCC

Tìm đơn hàng tương

ứng

1.1

So khớp hóa đơn

1.2

Hóa đơn

Lưu hóa đơn

1.3

Đơn hàng Lưu hóa đơn gốc

1.4

Hóa đơn gốcXác định NVL dưới mức tối

thiểu

5

NKý tồn khoLập và in phiếu đặt

6.1

Xác nhận phiếu đặt

6.2

Phiếu đặt

Phiếu đặt

Thông tin phiếu đặt

Gởi phiếu đặt

6.3

Thông tin đặt hàng tương ứng

Hóa đơn

Hóa đơn

Phiếu đặt đã xác nhận

Page 23: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Thiết kế các hình thức khác

• Thiết kế phân bố vị trí tổ chức (không gian hệ thống)

• Thiết kế thời gian xử lý hệ thống

• Thiết kế hình thức: hình thức và phương tiện xử lý, hình thức trình bày thông tin (form, report,…),…

23

Page 24: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Thiết kế xử lý theo lô – trực tuyến

• Xử lý trực tuyến (on-line processing): là các xử lý thu thập và phân phối thông tin mới nhất về hệ thống thông qua một trạm làm việc trực tuyến

• Xử lý trực tuyến thường được thiết kế theo các điều kiện sau:

- Truy cập và nắm bắt những thông tin xãy ra một cách ngẫu nhiên

- Định dạng và kiểu thông tin là không nhất quán (vd: truy vấn đặc biệt)

- Thông tin đang tiếp tục thay đổi và thông tin mới nhất là cần thiết cho xử lý hiện tại và hỗ trợ ra quyết định

- Người dùng ở vị trí dễ dàng truy cập tời HTTT

24

Page 25: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Thiết kế xử lý theo lô – trực tuyến

• Xử lý theo lô (batch processing): được xem như việc xử lý đầu vào và đầu ra hệ thống theo một thời điểm xác định hoặc đã định trước.

• Xử lý theo lô thường được thiết kế theo những điều kiện sau:- Truy cập thông tin có định kỳ

- Định dạng và lọai thông tin là nhất quán

- Thông tin ổn định trong khỏang thời gian/ hoặc nhu cầu thông tin của người dùng không cần thiết phải mới nhất

- Người dùng không ở vị trí có thể truy cập HTTT một cách trực tuyến

• Ví dụ: Tạo báo cáo doanh thu hàng tháng, cuối tháng tính lương, kiểm tra tồn kho cuối ngày,…

25

Page 26: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Thiết kế xử lý theo lô – trực tuyến

• Ví dụ: quản lý yêu cầu sách NKH

26

Thủ công Tự động

NKH

Nhận và lưu PYC

1

PYC

Kiểm tra PYC

3

Lưu PYC vào CSDL

2

CSDL PYC

Thông báo các PYC

không hợp lệ

4

PYC

PYC không hợp lệ

Thiết kế xử lý theo lô

Page 27: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Thiết kế xử lý theo lô – trực tuyến

• Ví dụ: quản lý yêu cầu sách NKH

27

Thủ công Tự động

NKH

Nhận và lưu PYC

1

PYC

Kiểm tra PYC

3

Lưu PYC vào CSDL

2

CSDL PYC

Thông báo các PYC

không hợp lệ

3

PYC

PYC không hợp lệ

Thiết kế xử lý trực tuyến

Ngân sách

Page 28: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Mô hình hóa xử lý mức thiết kế

• Mục tiêu:

- Biểu diễn xử lý hệ thống trong một môi trường cụ thể

- Làm nổi bật các yếu tố vật lý của hệ thống mới sẽ được triển khai trong mô hình như: hình thức, không gian, thời gian, tổ chức, thủ công – tự động,…

- Biểu diễn các yêu cầu tự động hóa hệ thống

• Các mô hình: có thể dùng một số mô hình sau

- Mô hình DFD (mức vật lý)

- Flowchart

- Mô hình xử lý tựa Merise

28

Page 29: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Flowchart (Quản lý nhập NVL)

29

NV nhập Thủ kho Nhà CC

Hóa đơnTìm đơn hàng tương ứng

So khớp đơn hàng

Đơn hàng

Lưu hóa đơn

Đơn hàng

Hóa đơnHóa đơn (đã KT)

HĐ gốc

Xác định NVL tồn dưới mức tối thiểu

NKý tồn

NVL tồn dưới mức tối

thiểu

Lập và in phiếu đặt

Đơn hàng

Xác định phiếu đặt

Đơn hàng (đã xác nhận)

Gởi phiếu đặt

Đơn hàng

Page 30: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Mô hình xử lý tựa Merise

30

Ký hiệu Tên gọi

Biến cố.Mỗi biến cố có đặc tính là nó thuộc biến cố ngoài môi trường hay biến cố trong hệ thống, có đặc tính là biến cố vào hay biến cố ra. Đối với biến cố vào được phân ra làm hai dạng: loại biến cố phát động và biến cố điều kiện

Tập các biến cốTập biến cố gồm hai loại: tập biến cố vào và tập biến cố ra

Điều kiện phát động biến cố

Nguyên tắc quản lý (NTQL)

Page 31: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Mô hình xử lý tựa Merise

31

Ký hiệu Tên gọi

Nguyên tắc quản lý có điều kiện ra

Dữ liệu. Gồm có hai loại: dữ liệu vào và dữ liệu ra cho của qui tắc xử lý

Phương tiện biểu diễn dữ liệu trên giấy

ĐK1 ĐK2 …

Page 32: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Mô hình xử lý tựa Merise

32

Đối tượng X môi trường

Vị trí 1 Vị trí 2 … Vị trí n Đối tượng Y

ngoài môi trường

Page 33: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Mô hình xử lý tựa Merise

• Bảng mô tả chức năng

STT Nguồn gốc

NTQL (1)

Thủ tục chức

năng(2)

Bản chất (3)

Vị trí(4) Thời gian thực hiện

(5)

33

(1): Các thủ tục chức năng được lấy từ nguồn gốc NTQL nào(2): Là thứ tự các công việc cho qui trình xử lý(3): Bản chất công việc được thực hiện là thủ công hay tự động(4): Thủ tục chức năng đó được thực hiện ở vị trí nào.(5): Bao giờ thì thực hiện công việc đó (thực hiện ngay, cuối ngày,….)

Page 34: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Mô hình xử lý tựa Merise – Ví dụ:

34

Hóa đơn

Nhà CC Thủ kho NV nhập

Giao NVLKiểm tra đơn hàng Đơn hàng

HĐ hợp lệ

Có Không

HĐ không hợp lệ

Lưu hóa đơn

Hóa đơn

Cuối ngày

Xác định NVL tồn dưới mức tối thiểu

Đ SNKý tồn

Có NVL cần đặt

Không có NVL cần

đặtLập đặt NVL

Đơn hàngĐH đã lập

Xác định phiếu đặt

Đơn hàngĐơn hàng

34

Page 35: Thiết kế hệ thống

Xây dựng mô hình thiết kế xử lý Mô hình xử lý tựa Merise – Ví dụ:

• Bảng mô tả thủ tục chức năng

35

STT Nguồn gốc NTQL Thủ tục chức năng Bản chất VỊ trí Thời gian thực hiện

1 Kiểm tra đơn hàng Xác định đơn hàng của HĐ

Tự động NVnhập Thực hiện ngay

2 Kiểm tra đơn hàng So khớp với NVL nhập Thủ công NVNhập Thực hiện ngay

3 Lưu hóa đơn Lưu hóa đơn Tự động NVNhập Thực hiện ngay

4 Xác định NVL tồn dưới mức tối thiểu

Xác định NVL tồn dưới mức tối thiểu

Tự động Thủ kho Cuối ngày

5 Lập đặt mua NVL Lập đặt mua NVL Tự động NVNhập Cuối ngày

6 Lập đặt mua NVL In phiếu đặt Tự động NVNhập Cuối ngày

7 Xác định phiếu đặt Xác định phiếu đặt Thủ công Thủ kho

Page 36: Thiết kế hệ thống

Thiết kế hệ thống Phân chia hệ thống thành các hệ thống con

Xây dựng mô hình thiết kế xử lý hệ thống

Thiết kế chức năng phần mềm hệ thống

36

Page 37: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xác định các chức năng phần mềm

Kiến trúc phần mềm 3 lớp (three-layers)

Thiết kế biểu đồ cấu trúc phần mềm

Thiết kế thuật giải

37

Page 38: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xác định các chức năng phần mềm

• Từ các xử lý tự động hóa: các xử lý được quyết định là tự động hóa trong sơ đồ vật lý sẽ là ứng viên của chức năng phần mềm

- 1 xử lý 1 chức năng phần mềm

- 1 xử lý n chức năng phần mềm

- N xử lý 1 chức năng phần mềm

• Ví dụ: Quản lý nhập NVLTự động Thủ công

Hóa đơn

NCC

Tìm đơn hàng tương

ứng

1.1

So khớp hóa đơn

1.2

Hóa đơn

Lưu hóa đơn

1.3

Đơn hàng

Hóa đơn

NCC

Tìm đơn hàng tương

ứng

1.1

Tìm đơn hàng tương

ứng

1.1

So khớp hóa đơn

1.2

So khớp hóa đơn

1.2

Hóa đơnHóa đơn

Lưu hóa đơn

1.3

Lưu hóa đơn

1.3

Đơn hàngĐơn hàng

Xác định NVL dưới mức tối

thiểu

5

NKý tồn kho

Lập và in phiếu đặt

6.1

Xác nhận phiếu đặt

6.2

Phiếu đặt

Phiếu đặt

Thông tin phiếu đặtXác định NVL dưới mức tối

thiểu

5

NKý tồn kho

Lập và in phiếu đặt

6.1

Xác nhận phiếu đặt

6.2

Phiếu đặt

Phiếu đặt

Thông tin phiếu đặtXác định NVL dưới mức tối

thiểu

5

Xác định NVL dưới mức tối

thiểu

5

NKý tồn khoNKý tồn kho

Lập và in phiếu đặt

6.1

Lập và in phiếu đặt

6.1

Xác nhận phiếu đặt

6.2

Xác nhận phiếu đặt

6.2

Phiếu đặt

Phiếu đặt

Thông tin phiếu đặt

Lưu hóa đơn gốc

1.4

Lưu hóa đơn gốc

1.4

Hóa đơn gốcHóa đơn gốc

38

Tìm đơn hàng

Lưu hóa đơn

Lập và in phiếu đặt

Xác định NVL tồn dưới mức tt

Page 39: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xác định các chức năng phần mềm

• Từ các xử lý tự động hóa – ví dụ: Quản lý tồn kho

Tự động Thủ công

Xác định tồn kho

NVL

3

Hóa đơn

Phiếu xuấtBPSX

Cập nhật số tồn, số sử

dụng

4.2

Đối chiếu số tồn, số sử

dụng

4.1

NKý tồn kho

Lập thống kê tỉ lệ hao

hụt

9

Bcáo hao hụt

Sử dụng

Số tồn

Số tồn, sử dụng

Xác định tồn kho

NVL

3

Xác định tồn kho

NVL

3

Hóa đơnHóa đơn

Phiếu xuấtPhiếu xuấtBPSX

Cập nhật số tồn, số sử

dụng

4.2

Cập nhật số tồn, số sử

dụng

4.2

Đối chiếu số tồn, số sử

dụng

4.1

Đối chiếu số tồn, số sử

dụng

4.1

NKý tồn khoNKý tồn kho

Lập thống kê tỉ lệ hao

hụt

9

Lập thống kê tỉ lệ hao

hụt

9

Bcáo hao hụt

Sử dụng

Số tồn

Số tồn, sử dụng

39

Xác định tồn kho NVL

Cập nhật số tồn, số sử dụng

Lập thống kê tỉ lệ hao hụt

Page 40: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xác định các chức năng phần mềm

• Từ các xử lý tự động hóa – ví dụ: Quản lý xuất NVL

BPSX

Kiểm tra yêu cầu

NVL

1

Kiểm tra yêu cầu

NVL

1

Kiểm tra tồn kho

2

Kiểm tra tồn kho

2

Lập và in phiếu xuất

3

Lập và in phiếu xuất

3

Phiếu xuấtPhiếu xuất

Duyệt phiếu xuất

4

Duyệt phiếu xuất

4

Yêu cầu NVL

Phiếu xuất

NKý tồn khoNKý tồn kho

Yêu cầu NVL

NVL cần xuất

Phiếu xuất

Tự động Thủ công

40

Lập và in phiếu xuất

Kiểm tra tồn kho

Page 41: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xác định các chức năng phần mềm

• Từ các xử lý tự động hóa – ví dụ: Hệ quản lý tồn kho NVL

41

Lập và in phiếu xuất

Kiểm tra tồn kho

Tìm đơn hàng

Lưu hóa đơn

Lập và in phiếu đặt

Xác định NVL tồn dưới mức tt

Xác định tồn kho NVL

Cập nhật số tồn số sử dụng

Lập thống kê tỉ lệ hao hụt

Page 42: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thốngXác định các chức năng phần mềm

• Các chức năng quản trị danh mục số liệu

• Các chức năng hệ thống

-An toàn

Quản lý người dùng

Đăng nhậpĐăng xuấtQuản trị người dùng – nhóm người dùng…

Backup/ restore CSDL

Mã hóa

-Thông số hệ thống:

Ví dụ: các thông số thư mục, ngày hệ thống, biến hệ thống,…

42

Nhà cung cấp Nguyên vật liệu

Page 43: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xác định các chức năng phần mềm

• Các chức năng khai thác dữ liệu bổ sung

Tìm kiếm

Thống kê, báo cáo,…

• Các tiện ích

Máy tính, lịch, forum

Game

• Hướng dẫn sử dụng

43

Page 44: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xây dựng cấu trúc chức năng phần mềm

44

HT quản trị tồn kho

Nghiệp vụ

Tìm đơn hàng

Nhập hóa đơn

Lập & in phiếu đặt NVL

NVL tồn dưới mức tối thiểu

Nhập NVL

Xuất NVLLập và in phiếu

xuất

Quản lý tồn NVL

Xác định tồn kho

Cập nhật số tồn, số sử dụng

Danh mục Nguyên vật liệu

Nhà cung cấp

Hệ thốngĐăng nhập

Đăng xuất

Quản trị người dùng

Page 45: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xây dựng cấu trúc chức năng phần mềm

45

HT quản trị tồn kho

Hệ thốngĐăng nhập

Đăng xuất

Quản trị người dùng

Báo cáo – thống kê

Báo cáo tỉ lệ hao hụt NVL

Báo cáo nhập NVL

Báo cáo xuất NVL

Backup

Restore

Hướng dẫn sử dụng

Page 46: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Giới thiệu về kiến trúc phần mềm

• Kiến trúc client-server

- Client: giao diện và chương trình xử lý được viết trực tiếp trong giao diện

- Server: quản trị cơ sở dữ liệu

• Hạn chế: Cơ sở dữ liệu phụ thuộc rất lớn vào giao diện khó cải tiến, bảo trì và tái sử dụng

46

Workstation

CSDL

Client Server

Page 47: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Giới thiệu về kiến trúc phần mềm

• Kiến trúc client-server: một số mô hình client-server

47

CSDL

Giao diện

Xử lý

message

CSDL

Xử lý

Giao diện

message

Page 48: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Giới thiệu về kiến trúc phần mềm

• Kiến trúc 3 tầng (three-layers):

48

Data layer

CSDLCSDL

Business layer

User interface layer

System software

Middleware

Data layer

Business layer

User interface layer

Trả lời tương tác người dùng:chuyển dịch những hành động của người dùng tới một tình huống xử lý phù hợp Hiển thị các đối tượng tác nghiệp : trình bày một hình ảnh tốt nhất các đối tượng tác nghiệp tới người dùng trong một giao diện

Thực hiện các giao tác xử lý liên quan đến nghiệp vụ mà không quan tâm đến hiển thị chúng như thế nào? Và CSDL được lấy ở đâu?

Chuyển dịch yêu cầu: chuyển dịch tất cả các yêu cầu liên quan đến dữ liệu từ tầng tác nghiệp đến một phương thức truy cập dữ liệu thích hợp (dạng SQL, truy xuất file,…) Chuyển dịch kết quả

Page 49: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Giới thiệu về kiến

trúc phần mềm

• Kiến trúc 3 tầng (three-layers):

- Sự phân tầng tạo ra sự độc lập dể tiến hóa, nâng cấp, cải tíến,….

49

Tạo ra một module trung gian sẽ làm cho các tầng độc lập lẫn nhau tốt hơn

Page 50: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Phân chia thành các module

• Module: là một đơn vị của hệ thống được xác định bởi chức năng của nó, tất cả các lệnh trong module đều nhằm thực hiện chức năng đó.

• Module có thể là một đoạn chương trình, một thủ tục, hàm, một method,…

• Module có thể là một form, menu,….

50

Page 51: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Biểu đồ cấu trúc (structured chart)

• Module

51

Module gọi

Module thi hành

AB

Module

Module

Module nhúngA: giá trị tham số truyền: dữ liệu, cờ hiệu, mẫu tinB: giá trị kết quả nhậnC: Cờ hiệu

C

Page 52: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống

Biểu đồ cấu trúc (structured chart)

52

Module

Module Module Module

A B B C C

Thứ tụ thực hiện

Page 53: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Biểu diễn cấu trúc chức năng phần mềm dùng

biểu đồ cấu trúc

53

Module

Module Module Module

Module Module

Module điều phối: gọi phối hợp các thực thi của các module khác

Module thực thi: thực thi một đọan mã chương trình

Page 54: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Biểu diễn cấu trúc chức năng phần mềm dùng

biểu đồ cấu trúc

54

Main

Hiển thị form f_DangNhap

Menu của user Menu hệ thống

Lập và in hóa đơn

Lập và in phiếu đặt NVL

NVL tồn dưới mức tối thiểu

Lập và in phiếu xuất

UserID UserID UserID

Cập nhật số sử dụng

Tồn kho NVL

Danh mục Hệ thốngBáo cáo – thống kê

Hương dẫn sử dụng

Page 55: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Thiết kế chức năng phần mềm (theo kiến trúc 3

tầng)

55

Lập và in hóa đơn

Hiển thị f_HoaDon

Nhập HĐơn

Lưu HĐơn

In HĐơnThông báo

HoaDon

HoaDon

Kqua Kqua

XóaHĐ

HoaDon

Kqua

Them_HĐ Them_CTHĐ

Mẫu tin HoaDon

Kqua

Mẫu tin CTHĐ

Kqua

Xóa_HĐ và CTHĐ

HoaDon

Kqua

Giao diện

Nghiệp vụ

Truy cập CSDL

T_Hóa đơn T_CTHĐCSDL

Page 56: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thốngThiết kế chức năng phần mềm (theo kiến trúc 3 tầng)

56

Xác định DL in HĐ

In HĐơn

Chọn HĐơn

Đọc_Dliệu_HĐ

HoaDon

Giao diện

Nghiệp vụ

Truy cập CSDL

CSDL

In hóa đơnChọn kết xuất

Lọai kết xuất

Dliệu hóa đơn in

Số HĐ

Dliệu hóa đơn in

Lọai kết xuất

Số HĐ

Dliệu hóa đơn in

Page 57: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thốngThiết kế chức năng phần mềm (theo kiến trúc 3 tầng)

57

Tồn kho NVL

Chọn ngày

Ngày

Giao diện

Nghiệp vụ

Truy cập CSDL

CSDL

Tính tồn kho

Ngày

Hiển thị tồn kho

DL tồn kho

DL tồn kho

NVL tồn dưới mức tối thiểu

Tồn_kho

Ngày DL tồn kho

Ngày

Ngày

NVL tồn dưới mức tới thiểu

Hiển thị NVL tồn dưới mức t thiểu

Xác định NVL tồn dưới mức tthiểu

Xđịnh_mức_tối_thiểu

Ngày Mức tối thiểu

DL tồn kho

NVL tồn dưới mức tới thiểu

Page 58: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Các mục tiêu trong thiết kế hệ thống

• Hệ thống nên được tổ chức thành một cấu trúc phân cấp thành các module

• Mỗi module nên điều khiển các chức năng của một số lượng hợp lý các module mức dưới

• Mỗi module nên độc lập với những cái khác trên ý nghĩa là không can thiệp vào họat động những module khác, do đó, số lượng thông tin trao đổi giữa các module nên giữ ở mức tối thiểu

• Mỗi module nên có một kích thước vừa phải

• Mỗi module chỉ nên đảm nhận một chức năng

58

Page 59: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Với các mục tiêu trên có các hướng dẫn tương ứng sau

• Sự phân chia: phân chia hệ thống thành những phần nhỏ hơn

• Điều khiển module: mỗi module không nên điều khiển nhiều hơn 7 module

• Tính liên kết (coupling): giảm tối đa sự phụ thuộc của module này vào module khác giảm lượng truyền thông giữa các module

• Kích thước module: mỗi module nên giới hạn từ 50 đến 100 dòng lệnh

• Tính cố kết (cohesion): các lệnh trong một module nên gắn liền cùng một chức năng

• Tái sử dụng: các module ở mức thấp nên được sử dụng bởi nhiều module ở mức trên

59

Page 60: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Năm loại coupling

• Liên kết dữ liệu (data coupling): các module trao đổi dữ liệu với nhau thông qua cờ dữ liệu đơn hoặc cờ hiệu thông tin

• Liên kết nhãn (stamp coupling): dữ liệu trao đổi giữa các module là một phần của cấu trúc hoặc toàn bộ cấu trúc

60

Lập gởi tiền

Thêm phiếu gởiCập nhật số dư

Tkhỏan

Số Tkhỏan

Số tiền

Số Tkhỏan

Số tiền

Số dư

Tình trạng

Dữ liệu trao đổi giữa các module

Xác định NVL tồn dưới mức t thiểu

Tính_tồn_khoXác định mức tối

thiểu

Ngày Dữ liệu tồn kho Mức tồn tối thiểu

Cấu trúc

Page 61: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Năm loại liên kết (coupling)

• Liên kết điều khiển (control coupling): module này chuyển thông tin điều khiển đến module khác

Thông tin điều khiển: cờ hiệu thông báo cho module nhận hành động nào nên thực hiện

• Liên kết chung (common coupling): hai module cùng tham chiếu đến một cấu trúc toàn cục

• Liên kết nội dung (content coupling): module này có thể tham khảo đến nội dung của một module khác

61

Kiểm tra công nợ khách hàng

Tính công nợ khách hàng

Hiển thị công nợ

Công nợ

Ghi “công nợ không quá 30 ngày”Công nợ

Thông tin điều khiển

Tên khách hàng

Page 62: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xếp loại coupling

Tên coupling Xếp hạng phụ thuộc

Data couplingStamp couplingControl couplingCommon couplingContent coupling

Rất thấpThấpTrung bìnhCaoRất cao

62

Page 63: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Bảy loại cohesion

• Cố kết chức năng (functional cohesion): các lệnh trong module gắn liền với một chức năng hoặc một nhiệm vụ

• Cố kết tuần tự (sequential cohesion): các lệnh trong module thực hiện tuần tự sao cho đầu ra của lệnh này chính là đầu vào của lệnh kế tiếp.

63

Lệnh 1

Lệnh 2

Lệnh 3

Lệnh 4

Module

Đầu vào

Đầu ra

Page 64: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Bảy loại cohesion

• Cố kết trao đổi (communicational cohesion): các lệnh trong module liên quan với nhau thông qua việc sử dụng cùng dữ liệu vào hoặc liên quan đến cùng dữ liệu ra

64

Lệnh 1

Lệnh 2

Lệnh 3

Đầu vào

Đầu ra

Module

Page 65: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Bảy loại cohesion

• Cố kết thủ tục (procedural cohesion): các lệnh trong module thực hiện chuỗi các hành động không liên quan với nhau liên kết với nhau thông qua dòng điều khiển.

• Cố kết thời gian (temporal cohesion): các lệnh trong module thực hiện chuỗi các hành động có liên quan với nhau về thời gian.

• Cố kết luận lý (logical cohesion): bao gồm các lệnh thực hiện các hành động có liên quan về mặt nào đó, nhưng hành động được xác định từ module gọi.

• Cố kết ngẫu nhiên (coincidental cohesion): tất cả các lệnh trong module không liên quan đến nhau

65

Page 66: Thiết kế hệ thống

Thiết kế chức năng phần mềm hệ thống Xếp hạng cohesion

66

Tên cohesion Xếp hạng gắn kết logic

Cố kết chức năng Cao, mong muốn đạt được

Cố kết tuần tựCố kết trao đổiCố kết thủ tục

Trung bình, chấp nhận được

Cố kết thời gianCố kết luận lýCố kết ngẫu nhiên

Thấp, cần loại bỏ