Bài giảng Công nghệ phần mềm: Chương 2 Phân tích và đặc tả yêu cầu cung cấp cho người học những kiến thức như: Tổng quan; Quá rình phân tích; Xác định yêu cầu; Mô hình hóa yêu cầu hệ thống. Mời các bạn cùng tham khảo!
Trang 1Jens Martensson
Insert or Drag and Drop your Image
PHÂN TÍCH VÀ ĐẶC TẢ YÊU
CẦU
Trang 3• Được phối hợp giữa nhóm phát triển phần mềm và khách hàng
• Yêu cầu của khách hàng được thu thập đầy đủ và chi tiết
• Công cụ: các loại sơ đồ biểu diễn được các khái niệm và mô hình hóa được mối quan hệ giữa các đối
tượng trong hệ thống.
3
2.1 Tổng quan và đặc tả yêu cầu
Trang 4Jens Martensson
ü Phân tích phạm vi dự án
ü Phân tích mở rộng yêu cầu nghiệp vụ
ü Phân tích yêu cầu bảo mật
ü Phân tích yêu cầu tốc độ
ü Phân tích yêu cầu vận hành
ü Phân tích khả năng mở rộng yêu cầu
ü Phân tích yêu cầu sẵn dùng
ü Phân tích yếu tố con người
ü Phân tích yêu cầu tích hợp
ü Phân tích thực tiễn nghiệp vụ tồn tại
ü Phân tích yêu cầu khả năng và quy mô
4
2.2 Quá trình phân tích
Bao gồm các bước phân tích:
Trang 5Jens Martensson 5
2.2 Quá trình phân tích
Trang 7Jens Martensson
• Mục đích của việc chia giải pháp nghiệp vụ thành 2 phần là:
• Chia trách nhiệm thành những nhiệm vụ con tương ứng với việc chia chương trình thành các module
• Xác định bao nhiêu vùng địa lý liên quan (chi nhánh văn phòng),
• Ước lượng số người dùng phần mềm, thời gian phần mềm được duy trì,
• Biết được tính chính xác của yêu cầu phần mềm,
• Hiểu khách hàng mong đợi dự án được triển khai
• Xác định được phạm vi của dự án, dự đoán ngân sách, thời gian và nguồn nhân lực.
7
2.2.1 Phân tích phạm vi dự án
Trang 8Jens Martensson
• Xác định yêu cầu nghiệp vụ:
• Mỗi dự án sẽ có một hay nhiều yêu cầu nghiệp vụ (tác vụ) liên quan đến việc mô tả công việc cụ thể trong nghiệp vụ
• Một tác vụ có thể được chia nhỏ thành nhiều phần đủ để mô tả công việc chính xác nhất
8
2.2.2 Phân tích mở rộng yêu cầu nghiệp vụ
Trang 9Jens Martensson 9
2.2.2 Phân tích mở rộng yêu cầu nghiệp vụ
Trang 10Jens Martensson
• Xác định yêu cầu chất lượng :
• Mỗi dự án có các yêu cầu liên quan đến khả năng đáp ứng nhanh, bảo mật, phụ thuộc, dễ dùng …
• Chất lượng của dự án là trên mức độ chấp nhận, và sự thỏa mãn nhu cầu của khách hàng.
10
2.2.2 Phân tích mở rộng yêu cầu nghiệp vụ
Trang 11Jens Martensson
• Phân tích cơ sở hạ tầng hiện hành :
• Giải pháp PM đưa vào, nếu phù hợp với cơ sở hạ tầng thì sẽ tốt hơn là thay thế hệ thống hiện hành
• Sự tương thích với cơ sở hạ tầng hiện hành sẽ đảm bảo khả thi, vì dự án cần làm việc trên phần cứng và phần mềm hiện có
• Nếu biết được HĐH, loại mạng đang sử dụng, thông tin cấu hình của máy chủ, và những phần mềm không tương thích với
chương trình mới thì sẽ giúp việc phân tích chính xác và hiệu quả hơn
11
2.2.2 Phân tích mở rộng yêu cầu nghiệp vụ
Trang 12Jens Martensson
• Phân tích ảnh hưởng kỹ thuật:
• Nâng cấp, mở rộng chức năng cho hệ thống hiện hành hoặc thay mới Tuy nhiên, cải thiện hệ thống cũ và tích hợp dễ dàng
hơn hệ thống mới
• Ví dụ: hệ thống kế toán cũ lưu trữ dữ liệu trên MS Access Khi nâng cấp hệ thống, có thể chuyển toàn
bộ dữ liệu sang SQL Server.
12
2.2.2 Phân tích mở rộng yêu cầu nghiệp vụ
Trang 13Jens Martensson
• Phân tích ảnh hưởng kỹ thuật:
• Nên tìm hiểu sự khác biệt về giao tác, bảo mật, và những chức năng khác
• Nên tìm hiểu thủ tục chuyển đổi dữ liệu từ hệ thống cũ sang hệ thống mới, có kế hoạch bảo lưu khi việc thực hiện này bị lỗi
• Cần có biện pháp đảm bảo an toàn những dữ liệu
13
2.2.2 Phân tích mở rộng yêu cầu nghiệp vụ
Trang 14Jens Martensson
• Xác định các vai trò người dùng của hệ thống: Một hệ thống phần mềm có nhiều mức độ bảo mật
• Người dùng cuối: chỉ cần quyền truy xuất giới hạn
• Quản trị hệ thống: có quyền cao nhất
• Xử lý bảo mật phần mềm là kỹ thuật dùng để cấp quyền sử dụng với mức độ bảo mật khác nhau
14
2.2.3 Phân tích yêu cầu bảo mật
Trang 15Jens Martensson
• Xác định môi trường bảo mật phần mềm
• Người dùng phải đăng nhập vào hệ thống để thực hiện các chức năng theo quyền được cấp, nhằm để kiểm soát quyền truy
cập các tài nguyên được chia sẽ như tập tin, dịch vụ hệ thống, CSDL
• Mức độ kiểm soát của phần mềm được gọi là ngữ cảnh bảo mật
• Độ bảo mật của phần mềm không bị giới hạn bởi người dùng
15
2.2.3 Phân tích yêu cầu bảo mật
Trang 16Jens Martensson
• Xác định ảnh hưởng bảo mật:
• Nếu hệ thống cũ có sẵn cơ chế bảo mật, thì hệ thống mới nên điều chỉnh cho phù hợp với cơ chế đã có
• Nếu đang thực hiện hệ thống bảo mật mới, cần phân tích tác động của hệ thống trên hệ thống hiện tại:
• Hệ thống mới có làm hỏng chức năng của phần mềm hiện tại?
• Hệ thống mới có đòi hỏi phải hỗ trợ thêm đăng nhập mở rộng?
• Hệ thống mới có hạn chế một số người dùng những tài nguyên mà họ
được quyền truy cập trước đây?
16
2.2.3 Phân tích yêu cầu bảo mật
Trang 17Jens Martensson
• Kế hoạch vận hành :
• Khi tổ chức của khách hàng thay đổi nhân sự Những thao tác này đòi hỏi hiệu chỉnh bảo mật CSDL
• Nếu người dùng có nhiều vị trí khác nhau, cần lên kế hoạch tái tạo bảo mật CSDL đã được lưu giữ ở các vị trí khác nhau, nhằm
tạo thuận lợi cho người dùng là có thể đăng nhập bằng thông tin được lưu ở vị trí gần hơn so với vị trí gốc
17
2.2.3 Phân tích yêu cầu bảo mật
Trang 18Jens Martensson
• Kế hoạch kiểm soát và đăng nhập:
• File nhật ký giao dịch trợ giúp kiểm soát hoạt động cho vấn đề bảo mật, ghi lại tất cả các giao dịch trên hệ thống
• Phải lập kế hoạch kiểm soát nhật ký để phát hiện các giao dịch bất thường, và có đề nghị xử lý
18
2.2.3 Phân tích yêu cầu bảo mật
Trang 19Jens Martensson
• Xác định mức độ yêu cầu bảo mật
• Việc triển khai mức độ bảo mật cho phần mềm cần được cân nhắc dựa trên tính hiệu quả và chi phí
• Nếu hệ thống không lưu trữ dữ liệu có tính nhạy cảm cao, thì chỉ cần lưu trữ thông tin về “sự xác thực của người dùng”
• Nếu hệ thống có lưu trữ các thông tin cần bảo mật, thì cần có chi phí cho chức năng bảo mật và cần phải được kiểm chứng
19
2.2.3 Phân tích yêu cầu bảo mật
Trang 20Jens Martensson
• Yêu cầu về tốc độ xử lý của phần mềm: là một yêu cầu khó đối với nhóm phát triển phần mềm
• Tốc độ xử lý của phần mềm là sự đáp trả của hệ thống đối với thao tác của người dùng
• Tốc độ của phần mềm phụ thuộc vào việc thiết kế hệ thống.
• Đối với phần mềm phân tán, tốc độ xử lý của phần mềm còn tùy thuộc vào số người truy cập vào hệ thống tại cùng một thời điểm.
20
2.2.4 Phân tích yêu cầu tốc độ
Trang 21Jens Martensson
• Các yếu tố ảnh hưởng đến tốc độ của phần mềm
có thể thực hiện bằng công cụ báo cáo hệ thống Windows NT Performance Monitor
21
2.2.4 Phân tích yêu cầu tốc độ
Trang 23Jens Martensson
• Theo thời gian, những yêu cầu của giải pháp ban đầu sẽ thay đổi Nhu cầu của người dùng cũng
thay đổi Do đó đòi hỏi phần mềm cũng phải được mở rộng và cập nhật theo các yêu cầu thay đổi.
• Phần mềm thiết kế tốt là phần mềm có khả năng mở rộng được và có thể uyển chuyển cải thiện mà
không phải xây dựng lại hoàn toàn
23
2.2.6 Phân tích khả năng mở rộng yêu cầu
Trang 24Jens Martensson
• Cách đạt đến những khả năng hạn định :
• Lưu trữ thông tin và quy tắc nghiệp vụ vào cơ sở dữ liệu
• Khi chức năng hay thủ tục của phần mềm cần thay đổi, thì thay đổi trong cơ sở dữ liệu mà không cần thay đổi mã nguồn
chương trình
• Đặt mã nguồn vào trong đoạn mã kịch bản (script) được làm rõ hơn khi biên dịch chương trình; đoạn script có thể bị thay đổi
một cách dễ dàng không đòi hỏi bất kỳ biên dịch hay cài đặt lại tập tin nhị phân
• Chia phần mềm thành những đối tượng thành phần với nhiệm vụ riêng lẻ
• Nếu yêu cầu của các nhiệm vụ thay đổi, thì chỉ đối tượng tương ứng bị thay đổi và biên dịch lại mà không ảnh hưởng đến các
thành phần khác
24
2.2.6 Phân tích khả năng mở rộng yêu cầu
Trang 25Jens Martensson
• Phần mềm có tính sẵn sàng cao là những phần mềm không lỗi, không phát sinh các hỏng hóc Khi
một thành phần nào bị hỏng thì chỉ cần khởi động lại sẽ hoạt động bình thường.
• Việc bảo trì có kế hoạch cũng tác động đến tính sẵn sàng của phần mềm
• Một máy chủ chứa các phần mềm lý tưởng luôn có bản sao lưu có thể khởi động khi máy chủ bảo trì
• Phần mềm có độ sẵn sàng cao cần có cách luân phiên để kết nối mạng trong trường hợp mạng WAN, LAN ngưng hoạt động
25
2.2.7 Phân tích yêu cầu sẵn dùng
Trang 26Jens Martensson
• Yếu tố con người đóng vai trò rất quan trọng trong thiết kế phần mềm, khi thiết kế phần mềm cần
phải:
• Xác định mục tiêu của người dùng, từ đó xác định được các dạng người dùng và những nhu cầu đặc biệt liên quan, nhằm thiết
kế phần mềm thích hợp với yêu cầu của người dùng
• Xác định những kinh nghiệm sử dụng phần mềm của người dùng
26
2.2.8 Phân tích yếu tố con người
Trang 27Jens Martensson
• Nếu nâng cấp từ một hệ thống cũ , yêu cầu chuyển đổi dữ liệu từ hệ thống cũ sang hệ thống mới thì
cần phải có kế hoạch tích hợp từ công cụ có sẵn hoặc xây dựng các tiện ích chuyển đổi.
• Nếu nhu cầu lưu trữ dữ liệu lớn thì có thể phải xây dựng lại CSDL dựa trên cấu trúc của CSDL hiện tại
để tránh phá vỡ mã nguồn của CSDL hiện tại.
27
2.2.9 Phân tích yêu cầu tích hợp
Trang 28Jens Martensson
• Phân tích thực tiễn nghiệp vụ giúp nhóm dự án hiểu được những nghiệp vụ của doanh nghiệp, xây
dựng chức năng phần mềm chính xác hơn, tránh được sai sót
• Hiểu được cấu trúc tổ chức và sơ đồ nghiệp vụ của doanh nghiệp là yếu tố quyết định sự thành công của bước phân tích yêu
Trang 29Jens Martensson
• Quy mô của phần mềm : là khả năng phục vụ người dùng
• Để nâng cao khả năng phục vụ, là nâng cấp cơ sở hạ tầng (CPU nhanh, nhiều RAM, ) cả phía người dùng và phía hệ thống
(máy chủ)
• Giải pháp khác là phát triển phần mềm phân tán để có thể hoạt động trên nhiều máy chủ cùng lúc, giúp kiểm soát và đáp ứng
việc phân phối tài nguyên và thời gian xử lý
29
2.2.11 Phân tích yêu cầu khả năng và quy mô
Trang 30Jens Martensson
• Mục tiêu của việc xác định yêu cầu:
Xác định chính xác và đầy đủ các yêu cầu của phần mềm sẽ được xây dựng Kết quả của giai đoạn xác
định yêu cầu:
• Danh sách các công việc (liên quan đến những chức năng của phần mềm) sẽ được thực hiện trên máy tính
• Những mô tả chi tiết về các công việc này khi được triển khai vận hành trong thế giới thực
• Thông tin khái quát về các hoạt động trong thế giới thực.
30
2.3 Xác định yêu cầu
Trang 31Jens Martensson
• Yêu cầu: Là công việc mà phần mềm phải thực hiện, xuất phát từ yêu cầu của khách hàng.
• Mô tả yêu cầu :
• Mô tả đầy đủ, rõ ràng và chi tiết các thông tin liên quan đến công việc tương ứng mà phần mềm phải thực hiện, mô tả này
phải được nhóm phần mềm và khách hàng hiểu rõ và thống nhất.
• Bảng mô tả yêu cầu được dùng làm cơ sở để nghiệm thu và đánh giá phần mềm khi được chuyển giao.
31
2.3.1 Yêu cầu và mô tả yêu cầu
Trang 32Jens Martensson
• Các thông tin trong bảng xác định yêu cầu phần mềm
• Tên công việc ứng với từng yêu cầu: Cần xác định cụ thể, tránh dùng các tên chung chung, mơ hồ (như “Quản lý độc giả” là
chung chung, nên cụ thể hơn như “Đăng ký mượn sách”, “Gia hạn thẻ độc giả”, “Trả sách”)
• Xác định chính xác người dùng: Những người dùng có vai trò và công việc tương tự nhau sẽ được xếp vào cùng loại Cùng
một công việc có thể có nhiều loại người dùng khác nhau; một loại người dùng có thể thực hiện nhiều công việc khác nhau
32
2.3.1 Yêu cầu và mô tả yêu cầu
Trang 33Jens Martensson
• Các thông tin trong bảng xác định yêu cầu phần mềm
• Xác định chính xác địa điểm, thời điểm tiến hành công việc
• Quy trình thực hiện công việc và các quy tắc liên quan, cần phải kiểm tra khi thực hiện công việc
• Ví dụ: chương trình quản lý thư viện
• Chỉ cho những độc giả có thẻ độc giả còn hạn mượn sách, số sách tối đa là 1 và không có sách mượn quá hạn.
• Mỗi ngày trả trễ phạt 1500 đồng/ngày Từ ngày trả trễ thứ 10 trở đi sẽ phạt 5000 đồng/ngày, thu hồi thẻ độc giả 2 tuần
33
2.3.1 Yêu cầu và mô tả yêu cầu
Trang 34Jens Martensson 34
2.3.2 Phân loại yêu cầu
Trang 35Jens Martensson
• Yêu cầu chức năng: Danh sách công việc được thực hiện trên máy tính và các thông tin mô tả
• Yêu cầu chức năng nghiệp vụ: Các chức năng phần mềm tương ứng với nghiệp vụ của doanh nghiệp
• Chức năng lưu trữ: Tương ứng với công việc ghi chép Ví dụ: Ghi nhận
việc cho mượn sách của một thư viện theo quy định mượn.
• Chức năng tra cứu: tìm kiếm, theo dõi hoạt động và xem thông tin về
một đối tượng
• Chức năng tính toán: thống kê, tính toán
• Chức năng kết xuất: lập báo cáo (theo biểu mẫu).
35
2.3.2 Phân loại yêu cầu
Trang 36Jens Martensson
• Yêu cầu chức năng hệ thống: Các chức năng phần mềm phát sinh thêm khi thực hiện công việc của phần mềm.
• Chức năng môi trường: Định cấu hình thiết bị, thời gian, nhân sự…(Số
nhân công, loại máy in, …)
• Chức năng mô phỏng: Mô phỏng hoạt động của thế giới thực
• Chức năng tự động: Tự động thông báo, nhắc nhở người dùng
• Chức năng phân quyền: Phân quyền sử dụng cho các loại người dùng
• Quản trị hệ thống: phân quyền người dùng
• Chức năng sao lưu: Sao lưu, phục hồi dữ liệu.
36
2.3.2 Phân loại yêu cầu
Trang 37Jens Martensson
• Yêu cầu phi chức năng: Các yêu cầu liên quan đến chất lượng phần mềm, các ràng buộc cách thực
hiện các yêu cầu chức năng.
• Liên quan đến người dùng cuối
năng
nguyên hệ thống như sử dụng tối ưu các không gian.
phần mềm đang xét và các phần mềm khác, sự nhất quán giữa các màn hình
trong hệ thống
37
2.3.2 Phân loại yêu cầu
Trang 38Jens Martensson
• Tính tái sử dụng: khả năng sử dụng lại các thành phần của hệ thống
phần mềm cho các hệ thống khác tương đương.
• Tính bảo trì: dễ bảo trì, dễ nâng cấp, khi bảo trì sẽ không ảnh hưởng
đến dữ liệu trong hệ thống.
38
2.3.2 Phân loại yêu cầu
Trang 39Jens Martensson
• Bước 1:
• Thực hiện: Khảo sát hiện trạng
• Kết quả: bảng báo cáo hiện trạng.
• Bước 2 :
• Thực hiện: Lập danh sách các yêu cầu
• Kết quả: danh sách các yêu cầu sẽ được thực hiện trên máy tính.
39
2.3.3 Các bước xác định yêu cầu
Trang 40Jens Martensson
• Đối tượng tham gia xác định yêu cầu :
• Chuyên viên tin học: Là những người hiểu rõ về khả năng của máy tính, có kiến thức về tin học Họ lắng nghe chuyên gia để
hiểu rõ về nghiệp vụ của hệ thống
• Chuyên gia: Là những người có kiến thức chuyên môn và nghiệp vụ của doanh nghiệp Họ cần lắng nghe ý kiến của các
chuyên viên tin học để đảm bảo các yêu cầu của họ là có thể thực hiện được trên phần mềm với chi phí và thời gian hợp lý
40
2.3.3 Các bước xác định yêu cầu
Trang 41Jens Martensson
• Các hình thức thực hiện phổ biến:
• Quan sát: Theo dõi các hoạt động diễn ra ở thế giới thực có liên quan, có thể ghi âm, ghi hình đối với những tình huống mang
tính phức tạp, quan trọng, cần sự chính xác cao
• Phỏng vấn trực tiếp: Tổ chức phỏng vấn bắt đầu từ cấp lãnh đạo dần xuống các vị trí công việc Có thể sử dụng các bảng câu
hỏi có sẵn các câu trả lời cho đối tượng được phỏng vấn lựa chọn
• Thu thập thông tin, tài liệu: Các công thức tính toán, quy định; các bảng biểu, mẫu giấy tờ có ít nhiều liên quan Ví dụ: Phiếu
mượn sách tại thư viện
41
2.3.3.1 Khảo sát hiện trạng
Trang 42Jens Martensson
• Quy trình thực hiện:
• Tìm hiểu tổng quan về thế giới thực: Quy mô hoạt động và các hoạt động mà đơn vị có tham gia
• Tìm hiểu hiện trạng cơ cấu tổ chức: Tiến hành khảo sát cơ cấu tổ chức các bộ phận, trách nhiệm và quyền hạn giúp xác
định đối tượng sử dụng phần mềm
• Tìm hiểu hiện trạng nghiệp vụ: chọn người hoặc bộ phận để thực hiện khảo sát, lập danh sách các công việc mà bộ phận này
phụ trách, sau đó tìm hiểu các thông tin chi tiết của từng công việc, bao gồm: Thông tin đầu vào, Quá trình xử lý, Thông tin kết
xuất lưu trữ, tra cứu, tính toán, tổng hợp/thống kê.
42
2.3.3.1 Khảo sát hiện trạng