2Xá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 5 Lập phiếu đặt mua NVL 6 Xử lý thanh toán hoá đơn 7 thanh toán HĐ đã thanh toán
Trang 1Chương 4
PHÂN TÍCH THIẾT KẾ THÀNH PHẦN XỬ LÝ
THIẾT KẾ HỆ THỐNG
Trang 4Tạ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
Trang 5Phân chia hệ thống thành hệ thống con
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 yếu càng tốt
Trang 6Phân chia hệ thống thành hệ thống con
Trang 7Phâ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 đối tượng thực thể
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,…
Trang 82
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
5 Lập phiếu
đặt mua NVL 6
Xử lý thanh toán hoá đơn 7
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
Trang 111 Quản lý nhập NVL - Lưu hoá đơn
- Xác định NVL tồn dưới mức tối thiểu
- 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
Trang 12Thiết kế hệ thống
Xây dựng mô hình thiết kế xử lý hệ thống
Trang 13Xây dựng mô hình thiết kế xử lý
Trang 14Xây dựng mô hình thiết kế xử lý
HTTT tự động hoá
Hệ thống tổ chức nghiệp vụ
HTTT Mô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)
Trang 15Xây dựng mô hình thiết kế xử lý
Xử 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 chia
Trang 16Xây dựng mô hình thiết kế xử lý
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
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
Trang 17Xây dựng mô hình thiết kế xử lý
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
Tự động Thủ công
Trang 18Xây dựng mô hình thiết kế xử lý
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
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
Trang 19Xây dựng mô hình thiết kế xử lý
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
Trang 20HTTT Mô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)
Trang 21Xây dựng mô hình thiết kế xử lý
Môi trường
Hệ thống
tổ chức nghiệp vụ
HTTT tự động hóa
Trang 22Xây dựng mô hình thiết kế xử lý
Môi trường
Môi trường
Môi trường
Trang 23Xâ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
NVL dưới mức tối thiểu
Trang 24Xâ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,…),…
Trang 25Xâ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:
Đị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
Trang 26Xâ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:
Đị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
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,…
Trang 27Xâ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
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ệ
Trang 28Xâ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
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ệ
Trang 29Xâ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:
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,…
Các mô hình: có thể dùng một số mô hình sau
Trang 30Xây dựng mô hình thiết kế xử lý
Mô hình hóa xử lý mức thiết kế
Flowchart (Quản lý nhập NVL)
Hóa đơn Tìm đơn hàng
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
Trang 31Xây dựng mô hình thiết kế xử lý
Mô hình hóa xử lý mức thiết kế
Mô hình xử lý tựa Merise
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ố
Qui tắc quản lý (QTQL)
Trang 32Xây dựng mô hình thiết kế xử lý
Mô hình hóa xử lý mức thiết kế
Mô hình xử lý tựa Merise
Qui 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
Trang 33Xây dựng mô hình thiết kế xử lý
Mô hình hóa xử lý mức thiết kế
Mô hình xử lý tựa Merise
Đố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
Trang 34Xây dựng mô hình thiết kế xử lý
Mô hình hóa xử lý mức thiết kế
Mô hình xử lý tựa Merise
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)
(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,….)
Trang 35Hóa đơn
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ô hình xử lý tựa Merise – ví dụ:
Hóa đơn
Cuối ngày
Xác định NVL tồn dưới mức tối thiểu
Đ S NKý tồn
Có NVL cần đặt
Không có NVL cần đặt
Trang 36Xây dựng mô hình thiết kế xử lý
Mô hình hóa xử lý mức thiết kế
Mô hình xử lý tựa Merise – ví dụ:
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
Trang 37Thiế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
Trang 38So khớp hóa đơn
1.2
Hóa đơn
Lưu hóa đơn
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 đơn
Lưu hóa đơn
1.3
Lưu hóa đơn
1.3
Đơ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
5
NKý tồn kho
Lập và in phiếu đặt
6.1
Xác nhận phiếu đặt
5
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
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ốc
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
Trang 39Cập nhật số tồn số sử dụng
Lập thống kê tỉ
lệ hao hụt
Tự động Thủ công
Xác định tồn kho NVL
4.2
Đối chiếu số tồn, số sử dụng
3
Xác định tồn kho NVL
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
Trang 40Kiể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ấ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 kho
Yêu cầu NVL NVL cần xuất
Phiếu xuất
Tự động Thủ công
Trang 41Tì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
Trang 42 Ví dụ: các thông số thư mục, ngày hệ thống, biến hệ thống,…
Nhà cung cấp Nguyên vật liệu
Trang 44Thiế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
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 NVL
Lậ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
Nhà cung cấp
Hệ thống
Đăng nhập Đăng xuất Quản trị người dùng
Trang 45Thiế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
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
Trang 46 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
Workstation
CSDL
Client Server
Trang 47Thiế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
CSDL
Giao diện
Xử lý message
CSDL
Xử lý
Giao diện
message
Trang 48System 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ả
Trang 49(three- 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,….
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
Trang 50Thiế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,…
Trang 53Module thực thi: thực thi một đọan mã chương trình
Trang 54NVL 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ống Báo cáo – thống kê Hương dẫn sử dụng
Trang 55Lưu HĐơn
In HĐơn Thô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
Trang 57DL 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
Trang 58Thiế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
Trang 59Thiế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
Coupling: giảm tối đa sự phụ thuộc của các module 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
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
Trang 60Thiết kế chức năng phần mềm hệ thống
Năm loại coupling
Data coupling: các module trao đổi với nhau thông qua
cờ dữ liệu đơn hoặc cờ hiệu thông tin
Stamp coupling: dữ liệu trao đổi giữa các module là một cấu trúc hoặc tòan bộ mẫu tin
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_kho Xá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
Trang 61Thiết kế chức năng phần mềm hệ thống
Năm loại coupling
Control coupling: module này chuyển thông tin điều khiển đến module khác
động nào nên thực hiện
Common coupling: hai module cùng tham khảo đến một
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
Trang 62Rất thấpThấpTrung bìnhCao
Rất cao
Trang 63Thiết kế chức năng phần mềm hệ thống
Bảy loại cohesion
Cohesion về chức năng: các lệnh trong một module gắn liền tới một chức năng hoặc một nhiệm vụ
Cohesion tuần tự: tuần tự đầu ra của lệnh này chính là đầu vào của lệnh khác trong một module
Lệnh 1
Lệnh 2
Lệnh 3 Lệnh 4 Module
Đầu vào
Đầu ra
Trang 64Thiết kế chức năng phần mềm hệ thống
Bảy loại cohesion
Cohesion trao đổi: 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
Trang 65Thiết kế chức năng phần mềm hệ thống
Bảy loại cohesion
Cohesion thủ tục: các lệnh trong module liên kết với nhau thông quan dòng điều khiển
Các lệnh trong module liên quan với nhau thông qua việc thực hiện cùng thời điểm hoặc gần thời điểm với nhau
Cohesion luận lý: bao gồm tập các lệnh nhưng được xác định từ bên ngòai module chồng lắp các phần chức năng khó bảo trì
Cohesion ngẫu nhiên: tất cả các lệnh không liên quan đến những cái khác