Tải bản đầy đủ (.pdf) (62 trang)

Bài 9,10: Công nghệ phần mềm- Pha phân tích_TS.Nguyễn Mạnh Hùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.11 MB, 62 trang )

Công nghệ phần mềm
Pha phân tích
Giảng viên: TS. Nguyễn Mạnh Hùng
Học viện Công nghệ Bưu chính Viễn thông (PTIT)
2
Nội dung tham khảo từ
Stephen R. Schach. Object-Oriented and Classical
Software Engineering. Seventh Edition,
WCB/McGraw-Hill, 2007
3
Pha phân tích (1)
Mục đích:

Giúp đội phát triển hiểu sâu hơn yêu cầu của
khách hàng

Đặc tả yêu cầu của khách hàng dưới dạng có
thể làm đầu vào cho thiết kế và cài đặt được
4
Pha phân tích (2)
Thực hiện:

Trích các lớp: lớp thực thể, lớp biên, lớp điều khiển

Xác định quan hệ (ban đầu giữa các lớp)
5
Pha phân tích (3)
Lớp thực thể (còn gọi là lớp model):

Dùng để biểu diễn dữ liệu để xử lí, trao đổi giữa các
đối tượng trong hệ thống



Thường chỉ có các thuộc tính và các phương thức
truy nhập get/set
Ví dụ (với hệ thống MGS):

Lớp Account (thông tin tài khoản của khách hàng)

Lớp Invesment (thông tin về từng khoản đầu tư)
6
Pha phân tích (4)
Lớp biên (còn gọi là lớp view):

Dùng để biểu diễn các dạng giao diện, giao tiếp giữa
người dùng và hệ thống

Mỗi lớp biên thường liên quan đến một thiết bị đầu
vào, hoặc đầu ra của hệ thống
Ví dụ (với hệ thống MGS):

Các báo cáo (về số dư quỹ, về lượng khách vay )

Các lớp để hiển thị kết quả lên màn hình

Các lớp hiện form lên màn hình để người dùng nhập
thông tin vào
7
Pha phân tích (5)
Lớp điều khiển (còn gọi là lớp control):

Dùng để mô hình các tính toán và thuật toán phức

tạp trong hệ thống

Có thể chỉ cần dùng một lớp điều khiển cho các hệ
thống đơn giản, mỗi phương thức là một hàm xử lí,
tình toán độc lập
Ví dụ (với hệ thống MGS) cần lớp điều khiển để:

Tính số dư của quỹ hàng tuần

Tính số tiền các cặp vợ chồng phải trả hàng tuần

Thao tác với CSDL để thêm, sửa, xóa các đối tượng
thực thể
8
Pha phân tích (6)
Biểu diễn các dạng lớp trong UML:
9
Trích các lớp
Lặp lại 3 bước chính sau:

B1: Mô hình hóa chức năng

B2: Mô hình hóa các lớp

B3: Mô hình hóa hoạt động
10
Mô hình hóa chức năng (1)
Thực hiện:

Với mỗi use case (kết quả từ pha yêu cầu), viết ít

nhất một scenario cho use case đấy

Một scenario là một kịch bản cụ thể khi người sử
dụng tương tác với hệ thống
11
Mô hình hóa chức năng (2)
Ví dụ với bài toán thang máy:

Người ta cần viết một phần mềm điều khiển n thang
máy trong tòa nhà có m tầng

Trong mỗi thanh máy có m nút nhất ứng với m tầng.
Khi bị nhấn, nút sẽ sáng lên cho đến khi thang máy
đi đến tầng đó

Tại mỗi tầng, có 2 nút nhấn lên và xuống (trừ tầng
thấp nhất và cao nhất). Khi bị nhấn, nút sẽ sáng lên
cho đến khi thang máy đi cùng chiều đến tầng đó

Khi không có yêu cầu, thang máy đứng yên tại chỗ
12
Mô hình hóa chức năng (3)
Chỉ có 2 use case:

Người dùng nhấn nút tại mỗi tầng

Người dùng nhấn nút bên trong thang máy
13
Mô hình hóa chức năng (4)
Scenario chuẩn:

1. Người A nhấn nút lên tại tầng 3. A muốn đi lên tầng 7
2. Nút lên tại tầng 3 bật sáng
3. Thang máy đi lên tầng 3. Trong đó có chứa người B
đang đi lên tầng 9.
4. Nút lên tại tầng 3 tắt.
5. Cửa thang máy mở ra
6. Bộ đếm thời gian mở cửa bắt đầu đếm
7. A đi vào thang máy và nhấn nút số 7
8. Nút số 7 sáng lên.
9. Cửa thang máy đóng lại sau khi đếm hết thời gian mở
14
Mô hình hóa chức năng (5)
Scenario chuẩn (tt):
10. Thang máy đi lên tầng 7
11. Nút số 7 trong thang máy tắt
12. Cửa thang máy mở ra.
13. Bộ đếm lại hoạt động.
14. A bước ra khỏi thang máy tại tầng 7
15. Cửa thang máy đóng lại sau khi đếm hết thời gian
16. Thang máy tiếp tục đi lên đến tầng 9 với người B
15
Mô hình hóa chức năng (6)
Scenario ngoại lệ:
1. Người A nhấn nút lên tại tầng 3. A muốn đi lên tầng 7
2. Nút lên tại tầng 3 bật sáng
3. Thang máy đi lên tầng 3. Trong đó có chứa người B
đang đi lên tầng 9.
4. Nút lên tại tầng 3 tắt.
5. Cửa thang máy mở ra
6. Bộ đếm thời gian mở cửa bắt đầu đếm

7. A đi vào thang máy và nhấn nút số 1
8. Nút số 1 sáng lên.
9. Cửa thang máy đóng lại sau khi đếm hết thời gian mở
16
Mô hình hóa chức năng (7)
Scenario ngoại lệ (tt):
10. Thang máy đi lên tầng 9
11. Nút số 9 trong thang máy tắt
12. Cửa thang máy mở ra.
13. Bộ đếm lại hoạt động.
14. B bước ra khỏi thang máy tại tầng 9
15. Cửa thang máy đóng lại sau khi đếm hết thời gian
16. Thang máy tiếp tục đi xuống tầng 1 với người A
17
Mô hình hóa chức năng (8)
Yêu cầu của một scenario:

Luôn phải nêu rõ ý định, mục đích của actor trước
khi bắt đầu scenario hoặc ngay trong bước 1

Các bước luôn đánh số thứ tự từ 1

Mỗi một bước chỉ có một hành động đơn. Nếu có
hai hành động trở lên thì các hành động đó phải
cùng một chủ thể

Hai bước liên tiếp mà có cùng một chủ thể thì nên
gộp lại thành một bước

Scenario kết thúc khi chủ thể ban đầu đạt được

mục đích ban đầu

Một scenario có thể có nhiều ngoại lệ, các ngoại lệ
cần được mô tả hết
18
Mô hình hóa chức năng (9)
Yêu cầu của một scenario:

Thông tin trong mỗi bước là phải cụ thể, không
được viết chung chung
Ví dụ viết thế này là không được:
1. Một người nhấn nút lên tại một tầng
2. Thang máy đi đến tầng đó
3. Nút lên tại tầng đó tắt
4. Cửa thang máy mở ra
5. Người đó đi vào và nhấn nút tầng muốn lên
6. Cửa thang máy đóng lại
19
Mô hình hóa các lớp (1)
Thực hiện:

Trích các lớp thực thể và các thuộc tính của
chúng

Xác định quan hệ và tương tác giữa các lớp này

Biểu diễn các thông tin này trên sơ đồ lớp (khởi
tạo)
20
Mô hình hóa các lớp (2)

Kĩ thuật trích danh từ để trích các lớp:

Mô tả hoạt động của ứng dụng trong một đoạn
văn

Trích các danh từ xuất hiện trong đoạn văn đó, coi
như là các ứng cử viên của lớp thực thể

Xét duyệt từng danh từ và đề xuất nó là lớp thực
thể hay là thuộc tính của lớp thực thể
Lưu ý:

Có thể thay đoạn văn trong bước 1 bằng cách tập
hợp các scenario đã viết trong bước trước
21
Mô hình hóa các lớp (3)
Ví dụ mô tả bài toán điều khiển thang máy:

Các nút nhấn tại mỗi tầng và các nút nhấn trong
thang máy sẽ điều khiển hoạt động của n thang
máy trong tòa nhà m tầng. Các nút sáng lên khi bị
nhấn để yêu cầu thang máy đi đến 1 tầng nào đó,
và tắt đi khi yêu cầu đã được đáp ứng xong. Khi
không có yêu cầu, thang máy đứng yên với cửa
đóng
22
Mô hình hóa các lớp (4)
Trích các danh từ:

Các nút nhấn tại mỗi tầng và các nút nhấn trong

thang máy sẽ điều khiển hoạt động của n thang
máy trong tòa nhà m tầng. Các nút sáng lên khi bị
nhấn để yêu cầu thang máy đi đến 1 tầng nào đó,
và tắt đi khi yêu cầu đã được đáp ứng xong. Khi
không có yêu cầu, thang máy đứng yên với cửa
đóng
23
Mô hình hóa các lớp (5)
Các danh từ:

Nút nhấn, nút nhấn tại tầng, nút nhất trong thang
máy, thang máy, tầng, hoạt động, tòa nhà, yêu
cầu, cửa
Đánh giá:

Tòa nhà, tầng, cửa nằm ngoài phạm vi của phần
mềm → loại

Hoạt động, yêu cầu là các danh từ trừu tượng →
loại
→ Chỉ còn lại lớp thang máy và nút nhấn (với hai lớp
con là nút nhấn trong thang máy và nút nhấn tầng)
24
Mô hình hóa các lớp (6)
Kết quả các lớp thực thể:
Vấn đề nảy sinh:

Nút nhất không tương tác trức tiếp với thang máy,
do đó cần thêm nút điều khiển thang máy
25

Mô hình hóa các lớp (7)
Kết quả các lớp thực thể:

×