Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 4: Phân tích, đặc tả yêu cầu

?Khái niệm vàtầm quan trọng

?Phân loại các yêu cầu

?Phân tích vàxác định yêu cầu

?Đặc tả yêu cầu

?Định dạng tài liệu yêu cầu

pdf78 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2272 | Lượt tải: 4download
Tóm tắt nội dung Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 4: Phân tích, đặc tả yêu cầu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
FD hệ thống bán vé
Bộ mụn Cụng nghệ phần mềm – ĐHCN 47
NguyễnVănVỵ
Ví dụ: biểu đồ luồng dữ liệu mức 0
Bảng giờ tầu
Khách 
hμng
phân tich
yêu cầu
1.0
Kiểm tra
giờ tầu
2.0
đặt chỗ
3.0
Phát 
hμnh vé
4.0
DS đặt chỗ bảng giá
Khách 
hμng
yêu cầu
vé
Bộ mụn Cụng nghệ phần mềm – ĐHCN 48
NguyễnVănVỵ
Mô hình thực thể - mối quan hệ
(Entity - Relationships model)
Khái niêm. Các phần tử mô hình
thực thể
mối quan hệ
thuộc tính kế thừa
liên kết 
vμ bản 
số của 
thực thể
Bộ mụn Cụng nghệ phần mềm – ĐHCN 49
NguyễnVănVỵ
Khái niệm(t)
Thực thể: chỉ lớp các
ƒ đối t−ợng thế giới thực 
ƒ khái niệm độc lập 
Thuộc tính:
ƒ các đặc tr−ng 
ƒ của thực thể hay mối quan hệ
Quan hệ: chỉ mối quan hệ vốn có
ƒ t−ơng tác hoặc
ƒ phụ thuộc hay sở hữu 
Kế thừa:
ƒ sự thừa kế giữa 
các thực thể
 có đặc tr−ng chung
 ta muốn xử lý
giữa các 
thực thể
Bộ mụn Cụng nghệ phần mềm – ĐHCN 50
NguyễnVănVỵ
Ví dụ về mô hình E-R
sinh viên
mã sv tên
địa chỉ
thuộc
môn học
mãmôn
số học trình
tênmôn
học
của
tr−ờng ngành
têntr−ờng tênngμnhmã tr−ờng mãngμnh
Quan hệ phụ 
thuộc, sở hữu
Quan hệ
t−ơng tác
lớp vật 
thể
lớp khái 
niệm
Học kỳ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 51
NguyễnVănVỵ
Tầm quan trọng của mô hình E-R
„ Phân tích dữ liệu độc lập với việc l−u trữ vμ xử lý
„ Nghiên cứu phạm vi miền thông tin
„ Tạo ra mô hinh trừu t−ợng h−ớng khách hμng
(mô hình khái niệm), trực quan: lμm công cụ 
giao tiếp
„ Xác định mối quan hệ mang tính cấu trúc giữa 
các dữ liệu. Dễ dμng chuyển sang mô hình thiết 
kế
Bộ mụn Cụng nghệ phần mềm – ĐHCN 52
NguyễnVănVỵ
a. Đầu vào
 Các hồ sơ sử dụng (đã , sẽ dùng)
 Từ diển dữ liệu (mô tả chi tiết mỗi mục tin)
b. Các b−ớc
y Liệt kê, chính xác hóa, chọn mục tin từ hồ sơ
y Xác định các thực thể vμ thuộc tính
y Xác định các mối quan hệ vμ thuộc tính
y Vẽ biểu đổ mô hình
y Rút gọn, hoμn thiện mô hình
Các b−ớc xây d−ng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 53
NguyễnVănVỵ
Từ điển dữ liệu
„ Ph−ơng pháp (văn phạm) có tính hinh thức để mô tả
dữ liệu mμ hệ thống xử lý
„ Ký pháp để mô tả các dữ liệu điều khiển vμ miền giá
trị của chúng (vd. on/off)
„ Chứa đựng các thông tin về nơi (mô đun) vμ cách 
thức xử lý dữ liệu
„ Có các rμng buộc nghiệp vụ lên nó
„ Th−ờng đ−ợc tạo bằng các công cụ trợ giúp (CASE)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 54
NguyễnVănVỵ
Khoản mục từ điển dữ liệu
„ Tên (Name): tên dữ liệu
„ Biệt danh (Aliases): tên gọi khác
„ Vị trí (Where): nơi (môđun) xử lý/sử dụng
„ Cách thức (How): vai trò của dữ liệu, cách thức xử lý
„ Ký pháp (Description): ký pháp mô tả dữ liệu
„ Định dạng (format): kiểu, quy mô, giá trị mặc định...
„ Quy tắc nghiệp vụ (rules): rμng buộc liên quan đến dữ
liệu khác
Bộ mụn Cụng nghệ phần mềm – ĐHCN 55
NguyễnVănVỵ
Lμm bản mẫu trong phân tích
Trong nhiều tr−ờng hợp, mô hình chạy thử lμ
ph−ơng pháp duy nhất để xác định yêu cầu
phần mềm lớn, phức tạp
bản mẫu (= trực quan)
 bản mẫu phần mềm: phát triển yêu cầu
 bản mẫu phần cứng: kiểm tra thiết kế
Bộ mụn Cụng nghệ phần mềm – ĐHCN 56
NguyễnVănVỵ
Các b−ớc lμm bản mẫu
B−ớc 1: Đánh giá yêu cầu vμ xác định 
có nên lμm bản mẫu không
B−ớc 2: Biểu diễn vắn tắt yêu cầu
yêu cầu chức năng/yêu cầu phi chức năng
B−ớc 3: Thiết kế nhanh
kiến trúc, cấu trúc dữ liệu
độ phức tạp, chủng loại, khách hμng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 57
NguyễnVănVỵ
B−ớc 4: Phát triển, kiểm thử
B−ớc 5: Ng−ời dùng đánh giá
B−ớc 6: Lặp lại 2~5 cho đến khi đủ yêu cầu
- sử dụng các thμnh phần sẵn có
b−ớc quan trọng nhất???
- dùng các ngôn ngữ bậc cao
- các thuật toán dễ cμi đặt
Các b−ớc lμm bản mẫu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 58
NguyễnVănVỵ
 Loại bớt hiểu nhầm
 Phát hiện thiếu hụt chức năng
 Phát hiện các điểm yếu:
 Kiểm tra tính khả thi/hữu ích
vd: soạn thảo kéo theo kiểm tra chính tả
- khó sử dụng, 
- thao tác không an toμn
- có thể xây dựng đ−ợc không
- có thực sự cần không
Ưu điểm, nh−ợc lμm bản mẫu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 59
NguyễnVănVỵ
 Lμm cơ sở cho đặc tả
 Huấn luyện ng−ời sử dụng
 Hỗ trợ kiểm thử (so sánh kết quả)
lμm bản mẫu lμ kỹ thuật tránh rủi ro
lμm phần mềm giống nh− thế nμy, nh−ng tốt hơn
Ưu điểm, nh−ợc lμm bản mẫu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 60
NguyễnVănVỵ
 Lμm tăng chi phí: cần phải −ớc l−ợng chính xác
chi phí của bản mẫu
 Các yêu cầu phi chức năng th−ờng không đ−ợc 
thể hiện đầy đủ
 Các yêu cầu thay đổi quá nhanh khiến bản mẫu
trở nên vô nghĩa
 Ng−ời dùng không dùng bản mẫu theo cách 
thông th−ờng (kết quả đánh giá không có giá trị)
Ưu điểm, nh−ợc lμm bản mẫu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 61
NguyễnVănVỵ
Ngôn ngữ lμm bản mẫu
„ Java
„ Visual Basic
„ Prolog, Lisp, Python
„ Các ngôn ngữ script khác
„ Perl, php, shell script
Bộ mụn Cụng nghệ phần mềm – ĐHCN 62
NguyễnVănVỵ
Bản mẫu giao diện/mẫu trực quan
„ Sử dụng các ngôn ng−/công cụ trực quan
„ VB
„ Delphi, J Builder
„ FrontPage
„ Sử dụng lại một l−ợng lớn các th− viện có sẵn
„ Tính cấu trúc không cao, khó tích hợp kết quả
của nhiều nhóm, khó bảo tri
Bộ mụn Cụng nghệ phần mềm – ĐHCN 63
NguyễnVănVỵ
Các ph−ơng pháp đặc tả
Có nhiều ph−ơng pháp, phân lọai:
ƒ Đặc tả phi hình thức
ƒ Đặc tả bán hình thức
ƒ Đặc tả hình thức hoá
„ Đặc tả phi hình thức:
 Bằng ngôn ngữ tự nhiên
 Bằng bảng, sơ đồ, hình vẽ tùy chọn
ƒ không chặt chẽ, dễ hiểu nhầm
ƒ nhiều cách biểu diễn cho một khái niệm
ƒ khó phân hoạch, khó sửa đổi
Bộ mụn Cụng nghệ phần mềm – ĐHCN 64
NguyễnVănVỵ
Đặc tả bán hình thức
„ Đặc tả dựa trên mô hình 
 khái niệm
 ký pháp độ họa 
 quy tắc biểu diễn 
 các b−ớc xây dựng 
 giải thích 
™ Mức hình thức hóa khác nhau, tùy mức độ hình thức hóa các 
khái niệm & quy tắc biểu diễn
™ Xử lý mô hình cần sự tham gia của con ng−ời
™ Nhiều loại mô hình  ứng dụng rộng rãi
Bộ mụn Cụng nghệ phần mềm – ĐHCN 65
NguyễnVănVỵ
Ví dụ: đặc tả bán hình thức
  Mô hình luồng dữ liệu (DFD)
  Mô hình thực thể  mối quan hệ (E-R model)
  Mô hình dữ liệu quan hệ
  Các mô hình nghiệp vụ, mô hình phân tích 
h−ớng đối t−ợng với UML 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 66
NguyễnVănVỵ
Đặc tả hình thức hóa
„ Biểu diễn mô hình toán học 
ƒ khái niệm vμ ký pháp toán học
ƒ quy tắc khai báo vμ biểu diễn biểu thức
ƒ các luật biến đổi biểu thức
™ Có thể tự động hóa giải mô hình
™ Sử dụng mô hình cho chứng minh, kiểm chứng
™ Khó hiểu, khó sử dụng
"không ai biết chắc phải lμm gì khi ch−a có đặc tả"
Bộ mụn Cụng nghệ phần mềm – ĐHCN 67
NguyễnVănVỵ
Đặc tả hình thức: Ví dụ
Sort: Queue làm giàu từ List
Imports: INTEGER
Đặc tả này định nghĩa một hàng đợi cú cấu trỳc dữ liệu vào trước 
ra trước. Do đú nú cú thể được đặc tả như một danh sỏch với 
phương thức chốn là thờm một phần tử vào cuối của hàng đợi.
Mụ tả cỏc phương thức của hàng đợi được trỡnh bày ở hỡnh 10.12
Get (Queue) ặ (Elem, Queue)
Get (Create) = (Undefined, Create)
Get (Cons (Q, v)) = (Head (Q), Tail (Cons (Q, v )))
QUEUE (Elem: [Unefined ặ Elem] )
Đặc tả đại số kiểu hàng đợi Queue
Bộ mụn Cụng nghệ phần mềm – ĐHCN 68
NguyễnVănVỵ
digit
unsigned integer
digit. E
+
-
unsigned integerunsigned integer
unsigned number
Đặc tả hình thức: ví dụ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 69
NguyễnVănVỵ
đặc tả hinh thức hóa
 Ưu điểm
tính chính xác (duy nhất) của định nghĩa
 Nh−ợc điểm
- khó hiểu, tốn thời gian mô tả
- không áp dụng đ−ợc với mọi bμi toán
(các yêu cầu phi chức năng)
Cần phối hợp giữa đặc tả hình thức vμ
đặc tả phi hình thức
đúng đắn???
Bộ mụn Cụng nghệ phần mềm – ĐHCN 70
NguyễnVănVỵ
Ngôn ngữ đặc tả hình thức
Đặc tả yêu cầu:
ƒ Z: mô tả biến đổi trạng thái
ƒ L−ới Petri 
ƒ Đặc tả đại số
ƒ Phương pháp máy trạng thái
Đặc tả thiết kế:
ƒ RAISE
ƒ flowchart, pseudo co
Bộ mụn Cụng nghệ phần mềm – ĐHCN 71
NguyễnVănVỵ
Tài liệu yêu cầu
a. Yêu cầu tμI liệu
 Chỉ mô tả về chức năng, rμng buộc
 Không mô tả về ph−ơng thức cμi đặt
 Phải dễ thay đổi
- khó xác định đ−ợc đầy đủ chính xác ngay
- phải qua nhiều b−ớc xét duyệt lại
Bộ mụn Cụng nghệ phần mềm – ĐHCN 72
NguyễnVănVỵ
Định dạng của tμi liệu yêu cầu 
Chuẩn IEEE 830-1984
1. Giới thiệu
2. Mô tả chung
3. Yêu cầu chi tiết
1. Giới thiệu
1.1 Mục đích
1.2 Phạm vi 
1.3 Định nghĩa (định nghĩa, từ viết tắt)
1.4 Tμi liệu tham khảo
1.5 Mô tả cấu trúc tμi liệu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 73
NguyễnVănVỵ
2. Mô tả chung
2.1 Tổng quan về sản phẩm
2.2 Chức năng sản phẩm 
2.3 Đối t−ợng ng−ời dùng
2.4 Rμng buộc tổng thể
2.5 Giả thiết vμ sự lệ thuộc
Định dạng của tμi liệu yêu cầu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 74
NguyễnVănVỵ
3. Yêu cầu chi tiết
3.1 Yêu cầu chức năng
3.1.1 Yêu cầu chức năng 1
3.1.1.1 Giới thiệu
3.1.1.2 Dữ liệu vμo
3.1.1.3 Xử lí
3.1.1.4. Kết quả
3.1.2 Yêu cầu chức năng 2

3.1.n Yêu cầu chức năng n

Định dạng của tμi liệu yêu cầu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 75
NguyễnVănVỵ
3. Yêu cầu chi tiết
…
3.5 Thuộc tính
3.5.1 Tính bảo mật
3.5.2 Tính bảo trì
3.6 Các yêu cầu khác
Phụ lục
Định dạng của tμi liệu yêu cầu 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 76
NguyễnVănVỵ
1. Phân tích yêu cầu nghĩa lμ gì?
2. Mục tiêu của phân tích yêu cầu lμ gì?
3. Các công đoạn của tiến trình phân tích yêu cầu?
4. Nhứng khó khăn của phân tích yêu cầu?
5. Có những loại yêu cầu nμo?
6. Nêu những yêu cầu phi chức năng?
7. Nêu các nguyên lý của phân tích yêu cầu? 
8. Các ph−ơng pháp thu thập thông tin cho các yêu cầu lμ
những ph−ơng pháp nμo? 
9. Đặc tả yêu cầu cần có những tính chất gì?
Câu hỏi ôn tập
Bộ mụn Cụng nghệ phần mềm – ĐHCN 77
NguyễnVănVỵ
9. Nội dung thẩm định yêu cầu lμ gì?
10. Các ph−ơng pháp mô hình hoá để phân tích yêu cầu lμ
những ph−ơng pháp nμo? 
11. Nêu các b−ớc lμm mẫu để xác định yêu cầu? 
12. Ph−ơng pháp lμm mẫu để xác định yêu cầu có những −u vμ
nh−ợc điểm gi ? 
13. Những ngôn ngữ nμo đ−ợc dùng lμm mẫu? Có những loại 
ph−ơng pháp đặc tả nμo? Mô tả tóm tắt nội dung của nó? 
14. Trình bμy nội dung đặc tả yêu cầu theo chuẩn IEEE 843-
1984?
Câu hỏi ôn tập
Bộ mụn Cụng nghệ phần mềm – ĐHCN 78
NguyễnVănVỵ
Câu hỏi và thảo luận

File đính kèm:

  • pdfBài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 4 Phân tích, đặc tả yêu cầu.pdf