![Bai giang co so cnpm ch3](https://123docz.net/image/doc_normal.png)
Đang tải... (xem toàn văn)
Thông tin tài liệu
công nghệ phần mềm Hệ thống dựa vào máy tính Là tập hợp các phần tử được tổ chức để thực hiện nhiệm vụ thông qua việc xử lý thông tin bằng máy tính. Hệ thống dựa vào máy tính có các thành phần: Phần cứng: Gồm các thiết bị điện tử cung cấp năng lực tính toán, các thiết bị kết nối (thiết bị mạng),… Phần mềm. Cơ sở dữ liệu. Các thủ tục (về nghiệp vụ, về hệ thống,…). Con người. Tài liệu.
Trang 1Chuyên đề:
CƠ SỞ
CÔNG NGHỆ PHẦN MỀMTRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA CÔNG NGHỆ THÔNG TIN
THS Vũ Thị Thu HàEmail: vuha94@gmail.comMob: 0977962996
Trang 2 Nội dung trình bày:
3.1 Tổng quan về công nghệ hệ thống (3 tiết)3.2 Thu thập và phân tích yêu cầu (3 tiết)
3.3 Đặc tả yêu cầu (3 tiết)
3.4 Thẩm định yêu cầu và quản lý thay đổi (2 tiết)
Kiểm tra giữa kỳ (1 tiết)
Trang 3─ Quy trình Công nghệ hệ thống được gọi là Kỹ nghệ quy trình nghiệp vụ khi công việc chỉ tập trung vào hoạt động nghiệp vụ của một tổ chức hay doanh nghiệp Còn khi xây dựng một
sản phẩm thì quy trình này trở thành Kỹ nghệ sản phẩm.
─ Cả quy trình nghiệp vụ và kỹ nghệ sản phẩm đều nhằm thiết
Chương 3 TỔNG QUAN VỀ CÔNG NGHỆ HỆ THỐNG VÀ KỸ THUẬT YÊU CẦU PHẦN MỀM
Trang 4– Cùng hoạt động hướng tới một mục đích
– Có quan hệ với môi trường xung quanh.
Phần tử
Phần tử
Phần
n tửPhần
Trang 5– HT mạng máy tính: gồm
các Máy tính, các thiết bị mạng,… liên kết với
nhau bằng dây mạng
3.1 Tổng quan về công nghệ hệ thống
3.1.1 Hệ thống và hệ thống dựa vào máy tính (tiếp…)
Trang 6c) Kiến trúc phân cấp hệ thống
Khung nhìn hệ thốngKhung nhìn thành phần
Khung nhìn cụ thểKhung nhìn
chi tiết
Trang 7d) Hệ thống dựa vào máy tính
– Là tập hợp các phần tử được tổ chức để thực hiện
nhiệm vụ thông qua việc xử lý thông tin bằng máy tính.– Hệ thống dựa vào máy tính có các thành phần:
Phần cứng: Gồm các thiết bị điện tử cung cấp năng
lực tính toán, các thiết bị kết nối (thiết bị mạng),…
Trang 8thị, biểu đồ).
─ Mô hình được diễn tả:
Ở một mức độ trừu tượng hóa nào đó, Theo một góc nhìn nào đó
Bởi một hình thức hiểu nào đó (văn bản, hình vẽ, đồ thị, phương trình,…).
─ Kỹ nghệ hệ thống là quá trình mô hình hóa.
Trang 9─ Ví dụ 1: Mô hình hệ thống thông tin
Mô hình HTTT quản lý
3.1.1 Hệ thống và hệ thống dựa vào máy tính
e) Mô hình, thông tin, sản phẩm (tiếp…)
Trang 10Nhà cung cấp
Số hiệu NCC
Tên nhà cung cấpĐịa chỉ
Cung ứng
Mặt hàng
Mã hàngTên hàngQuy cáchĐơn giá
Địa điểm
Thời khóa biểu
PhòngTên mônMã lớpNgày giờ
Môn học
Mã lớp
Trang 11 Mô hình (tiếp…)
─ Trừu tượng hóa: Có 2 mức độ:
Mức logic (dùng cho giai đoạn phân tích HT):
Mô tả bản chất, mục đích hoạt động của HT,
Trả lời câu hỏi “là gì?”, như chức năng gì?, thông tin gì? Xử lý gì?
Mức vật lý (dùng cho giai đoạn thiết kế HT):
Quan tâm đến phương pháp, công cụ, tác nhân,… (Có yếu tố vật lý như Bộ phận thực hiện, trang thiết bị,…)
3.1.1 Hệ thống và hệ thống dựa vào máy tính
e) Mô hình, thông tin, sản phẩm (tiếp…)
Trang 12 Mô hình (tiếp…)
─ Ví dụ 1: Trừu tượng hóa mức logic
Trang 13 Mô hình (tiếp…)
─ Ví dụ 2: Trừu tượng hóa mức vật lý
3.1.1 Hệ thống và hệ thống dựa vào máy tính
e) Mô hình, thông tin, sản phẩm (tiếp…)
Trang 14 Thông tin
─ Thông tin dùng trong các hệ thống được phân làm 2 loại:
Thông tin tự nhiên: Là các thông tin sinh ra và
thu nhận bởi con người trực tiếp bằng các cơ quan biểu đạt hay cảm thụ tự nhiên của con người (tai, miệng, mắt).
Thông tin có cấu trúc (gọi là dữ liệu): Là các
thông tin chắt lọc từ thông tin tự nhiên và được cấu trúc lại cho ngắn gọn, chặt chẽ hơn Ví dụ các dãy số, bảng số liệu, hình vẽ, biểu đồ.
Trang 15 Sản phẩm
– Sản phẩm trong phạm vi của kỹ nghệ phần mềm chính là phần mềm được xây dựng bởi các nhà phát triển theo yêu cầu của khách hàng/người dùng.
─ Sản phẩm là cái đích cuối cùng mà nhà phát triển và khách hàng mong đợi và đáp ứng được các yêu cầu chất lượng.
─ Việc sản xuất các phần mềm tuân theo các quy trình chuẩn bởi các mô hình đã nêu trong Chương 1.
3.1.1 Hệ thống và hệ thống dựa vào máy tính
e) Mô hình, thông tin, sản phẩm (tiếp…)
Trang 16 Có 2 kỹ nghệ mô hình hóa:
Kỹ nghệ hướng nghiệp vụ Kỹ nghệ hướng sản phẩm.
a)Kỹ nghệ hướng nghiệp vụ
─Mục đích của kỹ nghệ hướng nghiệp vụ là định nghĩa các kiến trúc cho phép sử dụng thông tin hiệu quả trong công việc.
─Phân tích bài toán nghiệp vụ liên quan đến việc xác định chi tiết dữ liệu và các yêu cầu chức năng trong phạm vi nghiệp vụ đã chọn; xác định khả năng tương tác giữa chúng.
─Có 3 kiến trúc cần phân tích và thiết kế:
Trang 17 Kiến trúc dữ liệu:
─ Kiến trúc dữ liệu cung cấp một khung làm việc cho các nhu cầu thông tin của một công việc hoặc một chức năng nghiệp vụ.
─ Các phần tử của kiến trúc này chính là các đối tượng
dữ liệu được sử dụng bởi công việc.
─ Một đối tượng dữ liệu chứa một tập các thuộc tính xác định các khía cạnh, đặc tính, chất lượng hay mô tả về dữ liệu.
─ Ví dụ: Định nghĩa về đối tượng Khách hàng sẽ có các thuộc tính: Họ tên, địa chỉ, sản phẩm/hàng hóa quan
3.1 Tổng quan về công nghệ hệ thống
3.1.2 Kỹ nghệ mô hình hóa (tiếp…)
Trang 18 Kiến trúc ứng dụng:
─ Kiến trúc ứng dụng gồm các thành phần của hệ thống (phần mềm, chức năng) để biến đổi các thông tin, dữ liệu nhằm đạt được mục đích nào đó.
─ Trong ngữ cảnh rộng hơn, kiến trúc ứng dụng còn có vai trò của con người và các thủ tục nghiệp vụ chưa được tự động hóa.
Trang 20 Kiến trúc cơ sở hạ tầng kỹ thuật:
– Cơ sở hạ tầng kỹ thuật gồm phần cứng và phần mềm được sử dụng để hỗ trợ cho ứng dụng và dữ liệu hoạt động, bao gồm: Các máy tính, hệ điều hành, mạng máy tính, các kết nối viễn thông, các thiết bị lưu trữ,…
– Cơ sở hạ tầng kỹ thuật cung cấp nền tảng cho kiến trúc ứng dụng và dữ liệu.
Trang 21b) Kỹ nghệ hướng sản phẩm
─ Mục đích của Kỹ nghệ hướng sản phẩm là biến mong
muốn của khách hàng về các tính năng thành sản phẩm hiện hữu.
─ Các yêu cầu tổng thể về sản phẩm được phát hiện, thu thập từ khách hàng (người dùng), bao gồm các nhu cầu về thông tin, chức năng, hiệu năng của sản phẩm, các ràng buộc.
─ Khi các yêu cầu được làm rõ, sẽ thực hiện việc thiết kế và xây dựng sản phẩm theo quy trình công nghệ và các tiêu chuẩn được lựa chọn.
3.1 Tổng quan về công nghệ hệ thống
3.1.2 Kỹ nghệ mô hình hóa (tiếp…)
Trang 22[Khung nhìn cụ thể] Kỹ nghệ phần mềmXây dựng và
tích hợp
[Khung nhìn chi tiết]
Trang 23Chương 3 TỔNG QUAN VỀ CÔNG NGHỆ HỆ THỐNG VÀ KỸ THUẬT YÊU CẦU PHẦN MỀM
3.2 Thu thập và Phân tích yêu cầu
3.2.1 Phát hiện và thu thập yêu cầu
a) Khái niệm
– Yêu cầu phần mềm là các phát biểu của người dùng (bằng ngôn ngữ tự nhiên cộng với các sơ đồ) về các công việc hay dịch vụ mà phần mềm phải thực hiện và các ràng buộc về vận hành.
– Để xây dựng được một phần mềm cần hiểu được bản chất của vấn đề hay yêu cầu mà phần mềm đó phải giải quyết Do vậy cần phát hiện, thu thập các yêu cầu đó.
Trang 24a) Khái niệm (tiếp…)
- Theo IEEE (1997), Yêu cầu phần mềm là:
1)Điều kiện hay khả năng cần thiết để người dùng giải quyết được vấn đề hoặc mục tiêu của họ.
2)Điều kiện hay khả năng đáp ứng của hệ thống hay thành phần hệ thống (system component) thỏa mãn hợp đồng, tiêu chuẩn, đặc tả hoặc các tài liệu bắt buộc khác.
3)Văn bản thể hiện các điều kiện hoặc khả năng đã nêu ở (1) hoặc (2).
về yêu cầu từ người dùng (quan sát hành vi của hệ
thống từ bên ngoài) và từ người phát triển (quan sát hệ thống từ bên trong).
Trang 25a) Khái niệm (tiếp…)
─ Các hoạt động của kỹ thuật yêu cầu phần mềm gồm:
Kỹ thuật yêu cầu
Xác định yêu cầu
Phát hiện, thu thập yêu cầu
Phát hiện, thu thập yêu cầu
Quản lý thay đổi yêu cầu
Phân tích yêu cầu
Phân tích yêu cầu
Đặc tả yêu cầu
Đặc tả yêu cầu
Thẩm định yêu cầu
Thẩm định yêu cầu
3.2 Thu thập và phân tích yêu cầu
3.2.1 Phát hiện và thu thập yêu cầu
Trang 26a) Khái niệm (tiếp…)
─ Quy trình hoạt động xác đinh yêu cầu phần mềm:
Phát hiện, thu thập yêu cầu
Phát hiện, thu thập yêu cầu
Phân tích yêu cầu
Phân tích yêu cầu
Đặc tả yêu cầu
Đặc tả yêu cầu
Thẩm định yêu cầu
Thẩm định yêu cầu
Chỉnh sửa lạiĐánh giá lại
Làm rõ thêm
Chính xác hóa yêu cầu
Trang 27b) Phân loại yêu cầu phần mềm
– Có 2 loại yêu cầu: Yêu cầu chức năng và Yêu cầu phi
chức năng.
Yêu cầu chức năng: Mô tả các hoạt động hay chức năng
của phần mềm mà nó sẽ thực hiện.
Ví dụ:
3.2 Thu thập và phân tích yêu cầu
3.2.1 Phát hiện và thu thập yêu cầu (tiếp…)
Trang 28b) Phân loại yêu cầu phần mềm (tiếp…)
2 Yêu cầu phi chức năng: Là các yêu cầu liên quan đến
hiệu năng, độ tin cậy, các ràng buộc, Cụ thể gồm:
Trang 29c) Chỉ dẫn phát hiện và thu thập yêu cầu
─ Xác định các nhóm người có liên quan đến phần mềm (người sử dụng, chủ đầu tư, chuyên gia nghiệp vụ, người phân
3.2 Thu thập và phân tích yêu cầu
3.2.1 Phát hiện và thu thập yêu cầu (tiếp…)
Trang 30d) Một số phương pháp thu thập yêu cầu
Phương pháp thu thập và nghiên cứu tài liệu
─ Thu thập và nghiên cứu các hồ sơ, tài liệu, sổ sách, chứng từ, quy định quản lý của tổ chức/doanh nghiệp.─ Đây là phương pháp quan trọng.
─ Ví dụ: Quy định về mượn, trả sách, mẫu báo cáo về sách của thư viện, quy định về cách tính lương của một đơn vị,… (Xem mẫu ở slide sau).
Trang 313.2 Thu thập và phân tích yêu cầu
3.2.1 Phát hiện và thu thập yêu cầu (tiếp…)
Trang 32d) Một số phương pháp thu thập yêu cầu (tiếp…)
Phương pháp phỏng vấn
─ Là cách làm việc tay đôi hoặc theo nhóm.
─ Người phòng vấn chủ động nêu câu hỏi để hiểu rõ về các yêu cầu của người dùng
─ Có 2 loại câu hỏi:
Câu hỏi mở: Số khả năng trả lời nhiều.
Câu hỏi đóng: Các phương án trả lời có thể dự
kiến sẵn
─ Đây là phương pháp cơ bản nhất.
Trang 33d) Một số phương pháp thu thập yêu cầu (tiếp…)
Phương pháp quan sát
─ Theo dõi (bằng mắt) tại hiện trường.─ Thường kết hợp với phỏng vấn.
Phương pháp sử dụng phiếu điều tra
─ Là cách phỏng vấn gián tiếp (không gặp mặt).
─ Các câu hỏi được liệt kê trong một mẫu phiếu điều tra và người được điều tra ghi trả lời vào phiếu.
─ Ưu điểm: Mở rộng điều tra, ít tốn kém.
─ Hạn chế: Thiếu giao tiếp, không mở rộng được hiểu
3.2 Thu thập và phân tích yêu cầu
3.2.1 Phát hiện và thu thập yêu cầu
Trang 34─ Bước 2: Triển khai (thu thập từ trên xuống):
Thu thập yêu cầu mức quyết định (Ban Giám đốc,…). Thu thập yêu cầu mức điều phối (Trưởng phòng,…). Thu thập yêu cầu mức thực hiện (kế toán, thủ kho,…).
Quy trình thu thập yêu cầu phải được lặp lại:
Lần đầu thường có thông tin đại thể, sơ bộ. Những lần sau thông tin sẽ chi tiết dần.
Trang 35f) Các hoạt động thu thập yêu cầu
‒ Tìm hiểu miền ứng dụng: Gồm các hoạt động nghiệp vụ, quy tắc nghiệp vụ, sản phẩm và các lĩnh vực liên quan.
‒ Thu thập yêu cầu: Giao tiếp với những người liên quan để phát hiện và thu thập yêu cầu của họ.
‒ Phân loại các yêu cầu: Gồm tập hợp các yêu cầu đã thu thập và sắp xếp vào loại tương ứng.
‒ Kiểm tra yêu cầu: Kiểm tra yêu cầu theo nghiệp vụ để bảo đảm tính đầy đủ, nhất quán và phù hợp.
‒ Xử lý xung đột: Tìm ra các xung đột và giải quyết.
3.2 Thu thập và phân tích yêu cầu
3.2.1 Phát hiện và thu thập yêu cầu (tiếp…)
Trang 36f) Các hoạt động thu thập yêu cầu (tiếp…)
– Mô tả các hoạt động thu thập yêu cầu:
Đặc tả yêu cầu
Đặc tả yêu cầu
Tìm hiểu miền ứng dụng
Tìm hiểu miền ứng dụng
Kiểm tra yêu cầu
Kiểm tra yêu cầu
Sắp ưu tiên yêu cầu
Sắp ưu tiên yêu cầu
Thu thập yêu cầu
Thu thập yêu cầu
Phân loại yêu cầu
Phân loại yêu cầu
Xử lý xung đột
Xử lý xung đột
Tài liệu yêu cầu
Trang 37g) Sản phẩm của việc phát hiện, thu thập yêu cầu
─ Là tài liệu (tài liệu yêu cầu) bao gồm các nội dung chính sau:
Phát biểu về nhu cầu và tính khả thi. Phát biểu về phạm vi yêu cầu.
Danh sách các yêu cầu và các ràng buộc.
Danh sách người dùng và các cá nhân liên quan. Mô tả môi trường kỹ thuật.
Các mẫu thử nếu có để xác định rõ hơn các yêu cầu.
3.2 Thu thập và phân tích yêu cầu
3.2.1 Phát hiện và thu thập yêu cầu
Trang 38a) Khái niệm:
– Phân tích yêu cầu bao gồm việc làm mịn, phân tích ý tưởng và các phát biểu về yêu cầu đã thu thập được để bảo đảm rằng tất cả những người liên quan hiểu điều họ muốn nói, để tìm các lỗi, các thiếu sót.
– Phân tích cũng là việc tương tác với khách hàng để làm sáng tỏ các điểm còn chưa rõ và yêu cầu nào quan trọng hơn yêu cầu nào.
– Trong khi phân tích, nên biểu diễn các yêu cầu bằng nhiều hình thức khác nhau: Văn bản, bằng sơ đồ, mô hình để dễ nhìn, dễ hiểu.
Trang 39a) Khái niệm (tiếp…):
─ Quá trình phân tích, thương lượng yêu cầu sẽ thực hiện các công việc sau:
Phân loại các yêu cầu và tổ chức thành các nhóm. Khảo sát từng yêu cầu trong mối quan hệ với những
3.2 Thu thập và phân tích yêu cầu
3.2.2 Phân tích yêu cầu
Trang 40a) Khái niệm (tiếp…):
– Các câu hỏi thường đặt ra khi bắt đầu phân tích:
Yêu cầu có nhất quán với mục tiêu của sản phẩm không?
Yêu cầu có thật sự cần thiết không?
Mô tả yêu cầu đã đủ rõ chưa và có nhập nhằng không? Yêu cầu có mâu thuẫn với các yêu cầu khác không? Liệu yêu cầu có thể thực hiện được trong môi trường
kỹ thuật của hệ thống không?
─ Bằng cách lặp lại quá trình trên, các yêu cầu sẽ được loại bớt, kết hợp và sửa đổi để mỗi bên đều thỏa mãn.
Trang 41b) Các nguyên lý phân tích yêu cầu (5):
1) Nguyên lý mô hình hóa chức năng:
‒ Xác định các chức năng xử lý dữ liệu (xuất phát từ nhu
cầu xử lý thông tin, dữ liệu).
‒ Chỉ ra luồng dữ liệu đi qua hệ thống (các chức năng) như
thế nào và quy trình xử lý.
‒ Xác định các nguồn cung cấp, tiếp nhận thông tin.
2) Nguyên lý mô hình hóa dữ liệu.
‒ Xác định các đối tượng dữ liệu.
‒ Xác định đặc tính của các đối tượng dữ liệu.
3.2 Thu thập và phân tích yêu cầu
3.2.2 Phân tích yêu cầu (tiếp…)
Trang 423) Nguyên lý mô hình hóa hành vi:
‒ Chỉ ra các trạng thái khác nhau của hệ thống (VD: Đang xử
lý, đang in, đang đợi,…).
‒ Mô tả các sự kiện làm cho hệ thống thay đổi trạng thái.
Nhận xét: Mô hình trạng thái tạo nên tập các trạng thái và các sự kiện làm thay đổi các trạng thái này.
4) Nguyên lý phân rã (Top-down).
‒ Phân tích từng mô hình để biểu diễn các mức thấp hơn (Mô
hình chức năng, mô hình dữ liệu, mô hình hành vi).
‒ Số mức phân rã phụ thuộc vào độ phức tạp của bài toán, nhưng thường không quá 7 mức.
5) Nguyên lý dựa vào bản chất.
‒ Tập trung vào bản chất chứ không xem xét vấn đề cài đặt.
Trang 433.2 Thu thập và phân tích yêu cầu
3.2.2 Phân tích yêu cầu
c) Kỹ thuật phân tích hướng cấu trúc.
c1 Phân tích chức năng
– Phân tích, làm rõ các chức năng nghiệp vụ và gom nhóm
các chức năng có liên quan với nhau.
– Biểu diễn các chức năng bằng sơ đồ phân cấp có cấu trúc sau:
<Chức năng tổng quát>
<Chức năng chính 1> <Chức năng chính 2>
Trang 44c2 Phân tích luồng dữ liệu – DFD (Data Flow Diagram)
– Thành lập dần các DFD diễn tả chức năng ở các mức Mỗi mức là một tập hợp DFD, bắt đầu từ mức 0 (mức khung cảnh), mức 1 (mức đỉnh),…
– Với mỗi chức năng ở mức trên, ta lập một DFD ở mức dưới bằng cách:
Phân rã chức năng thành các chức năng con.
Vẽ lại luồng dữ liệu vào/ra chức năng trên nhưng vào/ra ở chức năng con thích hợp.
Bổ sung các luồng dữ liệu hoặc kho dữ liệu nội bộ.
Trang 45c2 Phân tích luồng dữ liệu (tiếp…)
– Sơ đồ phân rã minh họa như sau:
Mức 1 (đỉnh)
Mức 2 (dưới đỉnh)
3.2 Thu thập và phân tích yêu cầu
3.2.2 Phân tích yêu cầu (tiếp…)
Trang 46 Ví dụ: Hệ thống tín dụng.
– BLD mức ngữ cảnh:
0Quản lý tín dụng
Khách hàng
Đơn vay
Đơn vay được duyệtPhiếu trả nợ
Trang 47 Ví dụ: Hệ thống tín dụng (tiếp…).– BLD mức đỉnh:
Đơn vay được duyệt
Khách hàng
2Quản lý
Đơn vay
Phiếu trả nợ
1Cho vay
Sổ nợ
3.2 Thu thập và phân tích yêu cầu
3.2.2 Phân tích yêu cầu (tiếp…)
Trang 48Ví dụ: Hệ thống tín dụng (tiếp…).– BLD mức dưới đỉnh:
1.3Trả lời
đơnKhách hàng
Đơn đã kiểm tra
Đơn đã duyệtĐơn vay bị từ chối
1.1Nhận
Sổ nợ
1.2Duyệt
Đơn vay
Đơn vay được chấp nhận
Trang 49 Ví dụ: Hệ thống tín dụng (tiếp…).– BLD mức dưới đỉnh:
Khách hàng
2.3XL nợ
quá
Nợ trả trong kỳ
2.1Theo
2.2XL nợ
trong hạn
Nợ hoàn trả
Nợ trả ngoài hạn
3.2 Thu thập và phân tích yêu cầu
3.2.2 Phân tích yêu cầu (tiếp…)
Trang 50c3 Phân tích quy trình nghiệp vụ
– Sử dụng Lưu đồ hệ thống Ví dụ:
Trang 513.2 Thu thập và phân tích yêu cầu
3.2.2 Phân tích yêu cầu (tiếp…)
c4 Phân tích xử lý, tính toán
– Sử dụng Lưu đồ thuật toán Ví dụ:
Trang 52Dòng đơn hàng
Số lượng
Mặt hàng
Tên-HHQuy cáchĐV tínhĐơn giá
Đơn hàng
Ngày ĐH
Trang 533.2 Thu thập và phân tích yêu cầu
3.2.2 Phân tích yêu cầu (tiếp…)
c5 Phân tích về dữ liệu (tiếp…)
Ngày đăng: 29/05/2024, 11:26
Xem thêm:
Tài liệu cùng người dùng
Tài liệu liên quan