• Coi hệ thống là một đối tượng lớn: ranh giới của nó tách hệ thống thành 2 phần: bên trong và bên ngoài • Nhìn từ ngoài: đặc tả những gì hệ thống sẽ làm cho.. môi trường (usecase).[r]
(1)Phân tích & thiết kế H.T.T.T Phần 3: Phân tích hệ thống
Nguyễn Anh Hào
(2)2
Nội dung giảng Hành động phân tích hệ thống
2 Yêu cầu đ/v hệ thống từ môi trường Đặc tả hệ thống
• Coi hệ thống đối tượng lớn: ranh giới tách hệ thống thành phần: bên bên ngồi • Nhìn từ ngồi: đặc tả hệ thống làm cho
môi trường (usecase)
(3)3
SE: phân tích hệ thống • Trong SE, phân tích hệ thống:
– Là trình chuyễn đổi yêu cầu đ/v hệ thống thành đặc tả hệ thống Các đặc tả phải thực hệ
thống sau “cải tạo”
– Đặc tả hệ thống = cấu trúc logic hệ thống, nhìn từ phía người phát triễn hệ thống, đó:
• Có thành phần hợp thành hệ thống (các đối tượng)
• Có quan hệ nội thành phần, mà người phát triễn phải tìm sử dụng chúng
• u cầu hệ thống:
(4)4
Sự tương tác hệ thống Đề thực vai trị, hệ thống phải có tương tác với môi
trường để tạo / lấy thứ cần thiết cho / từ môi trường Sự tương tác hình thành yêu cầu chức hệ thống.
Hệ thống cổ máy biến inputs
(5)5
Quan hệ hệ thống - mơi trường
• Hệ thống lớn (môi trường) phải giải nhiều vấn đề để giúp tồn tại, gọi miền vấn đề (problem domain)
– Vd: Công ty phải làm để tồn ?
• Miền vấn đề chứa vấn đề có tính quy luật (khách quan, kết dính với theo cách đó)
– Vd: chuổi nghiệp vụ tổ chức xem “bất biến” (khách quan) người ta có lý để làm
– Domain Model: mơ hình cho miền vấn đề
(6)6
u cầu từ mơi trường
• Sự tương tác hệ thống với môi trường bên ngồi hình thành u cầu hệ thống (cái phải làm ra, phải chuyễn giao nào,…)
• Yêu cầu (từ tương tác) xác định đúng (giải chất vấn đề miền vấn đề) thì hệ thống hoạt động ổn định (ít bị thay đổi)
• Như vậy, khía cạnh việc phân tích yêu
cầu hiểu chất tương tác môi trường mà hệ thống vận hành
(7)7
Cách đặc tả hệ thống (1)
A Nhìn hệ thống từ bên (outside view – ‘what’):
1 Xác định phạm vi trách nhiệm (vai trị) hệ thống Mơ hình hóa quy luật cộng tác mơi trường
có hệ thống tham gia
– Tìm quy luật cộng tác mang tính chất
– Vẽ Workflow,Dataflow,Collaboration,Activity, …
3 Xác định tương tác nhất, định vai trò hệ thống môi trường (Usecases)
4 Đặc tả ứng xử hệ thống đ/v usecase
(8)8
Vai trị use-case
Nhìn vào bên trong: Những đối
tượng hệ thống hợp tác thực
hiện use-case ?
Nhìn từ bên ngồi: Hệ thống làm cho hệ thống lớn (qua cộng tác với actors)
Use case
(9)9
Lược đồ use case: nhìn từ ngồi
1 Với đối tượng có hệ thống lớn (môi trường):
– Đối tượng cần hệ thống phần mềm này, phần mềm cần đối tượng ?
2 Định nghĩa use-case
– Sự hợp tác có ý nghĩa hệ thống lớn ?
3 Định nghĩa actor
– Vai trò đối tượng hệ thống lớn (hoặc usecase) ?
(10)10
ví dụ 1: coffee drink
(11)11
(12)12
Coffee cup: use cases - external
Sitting Filling
Holding Drinking Pouring
(13)13
Ví dụ 2: Quản lý kho nhà hàng
Kho (lưu trữ)
Quầy phục vụ (bán) Nhà bếp (chế biến) Văn phòng (điều khiển) Nguyên liệu Thức ăn Nhà cung câp
(cung ứng)
Khách hàng (tiêu thụ)
Hàng hóa, Dịch vụ
Tiền trả Tiền thu
(14)14
Các tương tác liên quan đến kho
Kho (lưu trữ) Nhà bếp (chế biến) Văn phòng (điều khiển) Nhà cung câp
(cung ứng)
Thủ kho Giám đốc Người bán
Đầu bếp
“Tôi cần …” “Xuất … cho …” “Tôi đặt mua …”
“Tôi giao …”
“Đề nghị trả tiền …” “Trả tiền mua ….”
(15)15
Thơng điệp (message)
• Thơng điệp thông báo mang yêu cầu phản hồi, gửi từ đối tượng đến đối tượng
• Trong UML, thông điệp diễn tả là:
[điều kiện] <tên loại thông điệp> (thông sô)
– [điều kiện]: điều kiện để thông điệp xuất (biểu thức logic)
– <tên loại thông điệp>: tên thông điệp
– (thơng số): thuộc tính nhóm thơng điệp
• Ví dụ, sau login, khách đặt hàng website:
(16)16
Kho nhà hàng: Lược đồ cộng tác
Thủ kho
Đầu bếp
Giám đốc Người bán
y/c xuất(hàng,slg, pyc#) Xuất (hàng,slg, pyc#) Đặt mua(hàng,slg)
Giao(hàng,slg,hđ#)
y/c trả tiền (tiền, hđ#) Trả tiền (tiền, hđ#)
(17)17
Quản lý kho: use-cases (a)
Thủ kho
Đặt hàng
Nhập kho
Xuất kho y/c trả
tiền
PM quản lý kho
Người bán
Giám đốc
Đầu bếp
Phạm vi sử dụng phần mềm (a): giới
(18)18
Quản lý kho:use-cases (b)
Thủ kho
Đặt hàng
Nhập kho
Xuất kho y/c trả
tiền
PM quản lý kho
Người bán
Giám đốc
Đầu bếp
Phạm vi sử dụng phần mềm (b): có tương
(19)19
Ví dụ 3: hệ thống khóa cửa
• Hệ thống khóa cửa u cầu chìa khóa số pin để mở cửa Có tình huống: số pin số pin sai
(20)20