Giáo trình mô đun Công nghệ phần mềm (Nghề: Tin học ứng dụng - Trình độ: Trung cấp) - Trường CĐ Kinh tế - Kỹ thuật Bạc Liêu

49 0 0
Giáo trình mô đun Công nghệ phần mềm (Nghề: Tin học ứng dụng - Trình độ: Trung cấp) - Trường CĐ Kinh tế - Kỹ thuật Bạc Liêu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giáo trình mô đun Công nghệ phần mềm (Nghề: Tin học ứng dụng - Trình độ: Trung cấp) - Trường CĐ Kinh tế - Kỹ thuật Bạc Liêu sẽ giới thiệu chi tiết hơn nữa là các nội dung về vòng đời phần mềm, các mô hình phát triển phần mềm và các pha cần thực hiện trong quá trình xây dựng một hệ thống phần mềm, bao gồm: lập kế hoạch, khảo sát, phân tích, thiết kế, cài đặt, kiểm thử, tích hợp, bảo trì … Để từ đó, giúp học sinh có được những khái niệm căn bản về Công nghệ phần mềm và có khả năng áp dụng để xây dựng một hệ thống phần mềm cụ thể.

UỶ BAN NHÂN DÂN TỈNH BẠC LIÊU TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT Ý ẢNH BẰNG PHOTOSHOP NGÀNH/NGHỀ: TIN HỌC ỨNG DỤNG TRÌNH ĐỘ: GIÁO TRÌNH MƠN HỌC/MƠ ĐUN: CÔNG NGHỆ PHẦN MỀM NGÀNH/NGHỀ: TIN HỌC ỨNG DỤNG TRÌNH ĐỘ: TRUNG CẤP Ban hành kèm theo Quyết định số: /QĐ-… ngày…….tháng….năm ………… của……………………………… BẠC LIÊU, NĂM 2021 LỜI NĨI ĐẦU Cơng nghệ phần mềm ngành thiếu lĩnh vực Cơng nghệ thơng tin Ngày nay, sản xuất hệ thống phần mềm lớn hữu ích nhờ phần lớn vào phát triển Công nghệ phần mềm Môn học giúp học sinh hiểu u cầu cơng việc cần phải làm giai đoạn quy trình, để đảm trách cơng việc giai đoạn làm phần mềm Trong phạm vi đề cương giảng môn Công nghệ phần mềm giới thiệu chi tiết nội dung vịng đời phần mềm, mơ hình phát triển phần mềm pha cần thực trình xây dựng hệ thống phần mềm, bao gồm: lập kế hoạch, khảo sát, phân tích, thiết kế, cài đặt, kiểm thử, tích hợp, bảo trì … Để từ đó, giúp học sinh có khái niệm Cơng nghệ phần mềm có khả áp dụng để xây dựng hệ thống phần mềm cụ thể Mặc dầu có cố gắng đề cương giảng cịn nhiều hạn chế nên đề cương khơng tránh khỏi thiếu sót, mong nhận đóng góp ý kiến người đọc Bạc Liêu, ngày 06 tháng 10 năm 2021 Trang MỤC LỤC BÀI BÀI MỞ ĐẦU Một số khái niệm 1.1 Phần mềm 1.3 Công nghệ Phần mềm 1.4 Khoa học Máy tính Cơng nghệ hệ thống Các đặc tính phần mềm Tiêu chí phần mềm tốt Bài 11 QUY TRÌNH XÂY DỰNG PHẦN MỀM 11 Một số quy trình xây dựng phần mềm 11 1.1 Mơ hình thác nước 11 1.2 Mô hình mẫu 12 1.3 Mơ hình phát triển lặp lại, tăng dần 12 1.4 Mơ hình xoắn ốc 13 Các hoạt động quy trình xây dựng phần mềm 14 2.1 Đặc tả phần mềm 14 2.2 Thiết kế cài đặt 15 2.3 Đánh giá phần mềm 16 2.4 Cải tiến phần mềm 16 Bài 18 PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU 18 Xác định yêu cầu 18 1.1 Yêu cầu 18 1.2 Phân loại yêu cầu 18 Quy trình xác định yêu cầu 21 2.1 Phân tích khả thi 21 2.2 Phát phân tích yêu cầu 22 Đánh giá yêu cầu 25 3.1 Khái niệm đặc tả 26 3.2 Tại phải đặc tả 27 3.3 Phân loại kỹ thuật đặc tả 27 Bài 29 THIẾT KẾ PHẦN MỀM 29 Qui trình thiết kế 29 1.1 Khái niệm thiết kế 29 1.2 Vai Trò 29 1.3 Nguyên lý thiết kế 30 1.4 Cấu trúc thiết kế 30 1.5 Phân rã hệ thống 30 1.6 Các đặc điểm thiết kế phần mềm 31 Thiết kế kiến trúc 33 2.1 Các vấn đề thiết kế kiến trúc 33 2.2 Các đặc điểm kiến trúc hệ thống 33 Thiết kế giao diện người dùng 34 Bài 36 KIỂM THỬ PHẦN MỀM 36 Một số khái niệm 36 Quy trình kiểm thử phần mềm 37 Trang 3 Các phương pháp kiểm thử phần mềm 40 Nguyên lý kiểm thử phần mề 42 4.1 Kiểm thử đưa lỗi 43 4.2 Kiểm thử cạn kiệt 43 4.3 Kiểm thử sớm tốt 43 4.4 Sự tập trung lỗi 43 4.5 Nghịch lý thuốc trừ sâu 44 4.6 Kiểm thử phụ thuộc vào ngữ cảnh 44 4.7 Khơng có lỗi – Sai lầm 44 BÀI 45 TRIỂN KHAI VÀ BẢO TRÌ 45 Khái niệm 45 Các hình thái bảo trì 45 Trình tự nghiệp vụ bảo trì 46 Những khó khăn bảo trì 48 TÀI LIỆU THAM KHẢO 48 Trang BÀI BÀI MỞ ĐẦU Giới thiệu: MỤC TIÊU: + Trình bày khái niệm công nghệ phần mềm phân loại phần mềm + Nêu đặc tính tiêu chí phần mềm + Phân loại phần mềm ứng dụng thực tế + Nhận định quy trình hoạt động cơng nghệ phầm mềm + Sau học nội dung học sinh ứng dụng phần mềm phù hợp thị trường công nghệ Một số khái niệm 1.1 Phần mềm 1.1.1 Khái niệm Phần mềm Chương trình máy tính tài liệu liên quan đến như: u cầu, mơ hình thiết kế, tài liệu hướng dẫn sử dụng… Do đó, thấy đặc điểm phần mềm trừu tượng Trong cách nhìn này, người ta tiếp cận theo quan điểm hệ thống Mức nhất, phần mềm hệ thống phức tạp, hệ thống Và hệ thống Chương trình mô đun thủ tục Hệ thống Hệ thống Hệ thống Các tệp Job unit  Bài trình Bài trình Jobstep unit Tệp trung gian  Mô đun Đối số Mô đun Đối số Thủ tục Member unit Common Module Hình 1.1 Kiến trúc phân cấp phần mềm Trang Phần mềm (software): tập hợp câu lệnh viết nhiều ngơn ngữ lập trình, nhằm tự động thực số chức giải tốn 1.1.2 Các sản phẩm phần mềm Chia thành loại: - Sản phẩm đại trà Ví dụ: Hình 1.2: Sản phẩm đại trà phần mềm kế toán - Sản phẩm theo đơn đặt hàng Ví dụ: Phần mềm quản lý nhà trường; Phần mềm kiểm định chất lượng vắc xin, sinh phẩm; Phần mềm quản lý thi trắc nghiệm; Hệ thống nhận gửi cơng văn qua mạng - Một phần mềm tạo cách phát triển Chương trình mới, thay đổi điều chỉnh hệ thống phần mềm đại trà tái sử dụng lại phần mềm tồn - Phần mềm sản phẩm dùng cho tính tốn, tạo, quản lý, thu nhận, biến đổi, thể truyền thông tin - Phần mềm phương tiện tạo sản phẩm - Hỗ trợ hay cung cấp trực tiếp chức hệ thống - Điều khiển Chương trình khác (hệ điều hành) - Thực truyền thông (phần mềm mạng) 1.2 Phân loại phần mềm Phân loại phần mềm định nghĩa định hướng công việc ứng dụng, ví dụ theo kiểu hướng giao dịch, hỏi đáp, trợ giúp định 1.2.1 Phần mềm hệ thống Phần mềm với chức cung cấp môi trường thao tác dễ dàng cho người sử dụng nhằm tăng hiệu xử lý phần cứng, quản lý tiến trình, tài nguyên Trang hệ thống, ví dụ Hệ điều hành máy tính, Hệ điều hành mạng, … Rõ ràng với loại phần mềm yêu cầu quan trọng tính xác, độ ổn định cao tính dung lỗi 1.2.2 Phần mềm ứng dụng Dùng để xử lý nghiệp vụ thích hợp quản lý, kế toán, , đáp ứng yêu cầu nghiệp vụ người dùng Người ta nói phần mềm phần mềm làm sản phẩm thông tin Một cách phân loại khác: - Phần mềm hệ thống; - Phần mềm thời gian thực; - Phần mềm nghiệp vụ; - Phần mềm tính tốn Khoa học Kỹ thuật; - Phần mềm nhúng 1.3 Công nghệ Phần mềm Khái niệm Công nghệ phần mềm đưa lần vào năm 1968 hội nghị thảo luận khủng hoảng phần mềm Công nghệ phần mềm đề cập tới lý thuyết, phương pháp công cụ để xây dựng phần mềm chuyên nghiệp, mang lại lợi nhuận cao Hoạt động từ thủ công đến công nghệ: Từ thủ cơng Chương trình nhỏ Khơng chun nghiệp người làm Người sử dụng - người phát triển Tiến trình phát triển đơn giản Cơng nghệ Dự án lớn Chuyên nghiệp Nhiều người làm Khách hàng nhà cung cấp Tiến trình phát triển phức tạp Như vậy, “Cơng nghệ phần mềm lĩnh vực khoa học phương pháp luận, kỹ thuật cơng cụ tích hợp quy trình sản xuất vận hành phần mềm nhằm tạo phần mềm với chất lượng mong muốn” tầng (Hình 1.3): tầng chất lượng, tầng quy trình, tầng phương pháp tầng cơng cụ Cơng cụ Phương pháp Qui trình Tiêu điểm chất lượng Hình 1.3: Các tầng Công nghệ phần mềm Trang - Công cụ phần mềm nhằm cung cấp hỗ trợ tự động, bán tự động cho quy trình phương pháp phần mềm Khi cơng cụ tích hợp, thơng tin tạo cơng cụ sử dụng cơng cụ khác, ví dụ thiết kế có hỗ trợ - Phương pháp phần mềm nhằm cung cấp kỹ thuật để chế tác phần mềm bao gồm: + Phân tích yêu cầu người dùng; + Thiết kế hệ thống; + Lập trình; + Kiểm thử; + Khai thác; + Bảo trì - Là quy trình kỷ luật có định lượng áp dụng cho phát triển, thực thi bảo trì hệ thống thiên phần mềm Tập trung vào quy trình, đo lường, sản phẩm, tính thời gian chất lượng * Gồm giai đoạn lớn: - Giai đoạn xác định: Phân tích hệ thống, hoạch định đề tài, phân tích yêu cầu - Giai đoạn phát triển: Thiết kế phần mềm, sinh mã, kiểm tra phần mềm - Giai đoạn bảo trì: Sửa lỗi, thay đổi môi trường thực thi, tăng cường 1.4 Khoa học Máy tính Cơng nghệ hệ thống - Khoa học máy tính đề cập tới lý thuyết vấn đề bản; cịn cơng nghệ phần mềm đề cập tới hoạt động xây dựng đưa phần mềm hữu ích - Khi phát triển phần mềm trở lên mạnh mẽ lý thuyết khoa học máy tính khơng đủ để đóng vai trị tảng hồn thiện cho công nghệ phần mềm - Công nghệ hệ thống (hay gọi Kỹ nghệ hệ thống) liên quan tới tất khía cạnh q trình phát triển hệ thống dựa vào máy tính bao gồm: phần cứng, phần mềm, công nghệ xử lý Công nghệ phần mềm phần quy trình này, có liên quan tới việc phát triển hạ tầng phần mềm, điều khiển, ứng dụng sở liệu hệ thống Các đặc tính phần mềm Phần mềm loại sản phẩm có đặc thù riêng Người ta thường lưu tâm đến đặc tính sau: - Là hàng hóa vơ hình, khơng nhìn thấy - Chất lượng phần mềm: khơng mịn mà có xu hướng tốt lên sau lần có lỗi phát sửa chữa Trang - Phần mềm vốn chứa lỗi tiềm tàng, theo quy mơ lớn khả chứa lỗi cao - Lỗi phần mềm dễ phát người - Chức phần mềm thường biến hóa, thay đổi theo thời gian theo nơi sử dụng - Hiệu ứng sóng thay đổi phần mềm - Phần mềm vốn chứa ý tưởng sáng tạo tác giả/nhóm tác giả làm - Cần khả “tư nhị phân” xây dựng, phát triển phần mềm - Phần mềm chép đơn giản Tiêu chí phần mềm tốt - Để đánh giá chất lượng phần mềm, người ta đưa tiêu chí hình 1.4 Tính dễ hiểu Các tiêu Thời gian (Phần cứng phát triển) Hình 1.4: Tiêu chí phần mềm tốt Trang Câu hỏi 1: Khái niệm phần mềm gì? Phân loại phần mềm? Khái niệm công nghệ phần mềm? Phân biệt khác công nghệ phần mềm, khoa học máy tính cơng nghệ hệ thống Nêu đặc tính phần mềm Tiêu chí phần mềm tốt gì? Trang 10 + Tiện ích tương tác đa dạng Câu hỏi Bài 4: Câu 1: Trình bày khái niệm thiết kế phần mềm? Nêu loại thiết kế phần mềm Câu 2: Trình bày vai trị thiết kế phần mềm Câu 3: Trình bày nguyên lý thiết kế phần mềm Câu 4: Trình bày nguyên tắc thiết kế giao diện người dùng Câu 5: Mơ tả hoạt động quy trình thiết kế phần mềm kết đầu hoạt động hoạt động Sử dụng sơ đồ, hiển thị mối quan hệ có đầu kết hoạt động Câu 6: Kiến trúc phần mềm (software architecture) gì? Câu 7: Thế thiết kế kiến trúc phần mềm(Architectural design) Câu 8: Khi mô tả hệ thống phần mềm, phải thiết kế kiến trúc hệ thống trước hoàn tất đặc tả yêu cầu? Trang 35 Bài KIỂM THỬ PHẦN MỀM Giới thiệu: Để tạo trải nghiệm tốt cho khách hàng, chất lượng sản phẩm cần phải đặt lên hàng đầu Và vậy, việc kiểm thử sản phẩm để tìm lỗi điều gần bắt buộc Doanh nghiệp mang đến giá trị cho khách hàng sản phẩm cung cấp coi lý tưởng Và để đạt điều đó, cơng ty phải đảm bảo ngFFười dùng không gặp phải vấn đề sử dụng sản phẩm MỤC TIÊU: + Trình bày quy trình kiểm thử phần mềm + Trình bày cách tích hợp module + Thực quy trình kiểm thử phần mềm + Thực quy trình kiểm thử module tích hợp Chương trình + Sau học xong học học sinh biết cách xem phần mềm thực tốt yêu cầu khách hàng chưa Một số khái niệm - Một thử nghiệm làm cho chạy hay thực Chương trình từ liệu lựa chọn đặc biệt, nhằm để xác minh kết nhận sau chạy đắn - Một tập liệu thử tập hợp hữu hạn liệu liệu phục vụ cho thử nghiệm - Mỗi phép thử nghiệm hoạt động từ việc thiết kế tập liệu thử, tiến hành thử nghiệm đánh giá kết đến giai đoạn khác chu kỳ sống phần mềm - Người thử nghiệm (hay nhóm thử nghiệm) có kiến thức chun mơn tin học có nhiệm vụ tiến hành phép thử nghiệm - Một khiếm khuyết xảy Chương trình thực cho kết không tương hợp với đặc tả Chương trình - Một lỗi sai phần Chương trình (lệnh) gây khiếm khuyết Người thử nghiệm có nhiệm vụ: + Tạo tập liệu thử + Triển khai phép thử + Lập báo cáo kết thử nghiệm lưu giữ Mục đích thử nghiệm để: Trang 36 Quy trình kiểm thử phần mềm Ở môi trường khác hoạt động kiểm thử diễn với bước khác nhiên hoạt động kiểm thử mục đích cuối để đảm bảo phần mềm tạo chạy mượt mà Bước 1: Lập kế hoạch kiểm sốt việc kiểm thử Mục đích: Nhằm định mô tả loại kiểm tra triển khai thực Được chia làm hoạt động: Thứ nhất: Lập kế hoạch kiểm thử: - Xác định phạm vi, rủi ro mục đích hoạt động kiểm thử - Xác định cách tiếp cận kiểm thử - Xác định chiến lược kiểm thử Chiến lược kiểm thử mô tả thành phần kiểm thử cần có chu kỳ phát triển phần mềm chẳng hạn như: mục tiêu kiểm thử, phương pháp kiểm thử, tổng thời gian nguồn lực yêu cầu cho dự án môi trường test (Lưu ý: Chiến lược kiểm thử thường tạo PM, TL) - Xác định nguồn lực cần có cho kiểm thử như: nhân lực, phần cứng, phần mềm, môi trường test v.v - Lên lịch cho hoạt động phân tích thiết kế trường hợp kiểm thử, thực thi kiểm thử đánh giá kết kiểm thử - Xác định tiêu chí kết thúc việc kiểm thử (exit criteria) chẳng hạn tỉ lệ độ bao phủ test case, số lượng bug tìm được, độ nghiêm trọng bug tìm Bên ví dụ cho tiêu chí kết thúc kiểm thử: - 100% độ bao phủ statement (statement coverage) - 100% độ bao phủ yêu cầu (requirement coverage) - 100% trường hợp kiểm thử thực thi - 100% lỗi nghiêm trọng fixed - 80% lỗi nghiêm trọng (low-medium) fixed - Hết hạn kiểm thử - Hết budget Thứ hai: Kiểm soát kiểm thử: - Đo lường phân tích kết hoạt động kiểm thử - Theo dõi ghi lại tiến độ, độ bao phủ tiêu chí kết thúc kiểm thử - Cung cấp thông tin kiểm thử - Tiến hành hành động khắc phục cần thiết - Đưa định Bước 2: Phân tích Thiết kế Trang 37 Mục đích: Nhằm định test case bước kiểm tra chi tiết cho phiên PM Hoạt động phân tích thiết kế kiểm thử có nhiệm vụ chủ yếu sau đây: - Rà soát yêu cầu cần thiết trước tiến hành kiểm thử tài liệu đặc tả, tài liệu thiết kế, tài liệu giao diện, v.v - Xác định điều kiện kiểm thử - Thiết kế test case - Đánh giá tính khả thi việc kiểm thử yêu cầu hệ thống - Chuẩn bị môi trường test xác định yêu cầu sở hạ tầng công cụ kiểm thử tương ứng Giai đoạn thiết kế test quan trọng, đảm bảo tất tình kiểm tra hết tất yêu cầu Bước 3: Thực thi test Mục đích: Thực bước kiểm tra thiết kế ghi nhận kết Chia thành hoạt động là: thực test chạy test Thứ nhất: Việc thực test có nhiệm vụ chủ yếu sau đây: - Chuẩn bị test data - Thiết kế phân loại trường hợp kiểm thử dựa theo độ ưu tiên trường hợp kiểm thử - Tự động hóa cho trường hợp kiểm thử thấy cần thiết Thứ hai: Hoạt động chạy test có nhiệm vụ chủ yếu sau đây: Trang 38 - Chạy test case theo bước định trước - Chạy lại case bị failed trước để xác nhận case sửa - So sách kết ghi nhận thực thi với kết mong đợi - Đánh giá kết kiểm thử (Passed/Failed) cho trường hợp kiểm thử - Viết báo cáo lỗi cho trường hợp kết ghi nhận kết mong đợi không giống Bước thường không bắt buộc loại mức kiểm tra, yêu cầu trường hợp đặc thù cần thiết kế, tạo test script có khả chạy máy tính giúp tự động hố việc thực thi bước kiểm tra định nghĩa bước thiết kế test Bước 4: Đánh giá kết thực thi báo cáo kết Mục đích: Đánh giá tồn q trình kiểm tra bao gồm xem xét đánh giá kết kiểm tra lỗi, định u cầu thay đổi tính tốn số liệu liên quan, đến trình kiểm tra Các tiêu chí đánh giá kết thực thi bao gồm: - Số lượng test case tối đa thực thi Passed - Tỷ lệ lỗi giảm xuống mức định - Khi đến deadline Việc kiểm thử kết thúc khi: - Đối chiếu kết thực thi test case so với tiêu chí kết thúc kiểm thử định lúc lập kế hoạch kiểm thử - Từ đó, đánh giá xem liệu có cần phải test thêm hay điều chỉnh tiêu chí kết thúc kiểm thử kế hoạch - Viết báo cáo tóm tắt hoạt động kiểm thử kết kiểm thử cho bên liên quan Bước 5: Đóng hoạt động kiểm thử Mục đích: Kết thúc hoạt động kiểm thử phần mềm sẵn sàng giao cho khách hàng Ngoài ra, thường kết thúc kiểm thử với lí sau: - Khi tất thông tin thu thập đầy đủ cho hoạt động kiểm thử - Khi dự án bị hủy bỏ - Khi mục tiêu đạt - Khi hoạt động bao trì hay cập nhật hệ thống hồn tất Hoạt động đóng kiểm thử bao gồm: - Kiểm tra lại giao đầy đủ cho khách hàng phần cam kết từ đầu - Kiểm tra lại lỗi nghiêm trọng fix tương ứng Trang 39 - Đóng gói tài liệu kiểm thử, kịch kiểm thử, môi trường test v.v để dùng cho mục đích /dự án sau - Đánh giá trình kiểm thử rút học kinh nghiệm cho dự án tương lại Trên chi tiết bước kiểm thử phần mềm để bạn tham khảo Chúc bạn thành công! Bạn nên xem thêm bài: Các phương pháp kiểm thử phần mềm White box testing (Kiểm tra hộp màu trắng) kỹ thuật kiểm tra cấu trúc bên phần mềm lấy liệu thử nghiệm từ logic / mã chương trình Là phương pháp kiểm thử mà chuyên gia tester tập trung vào liệu đầu vào ra, truy cập thẳng vào bên source code Các tên khác thử nghiệm hộp trắng thử nghiệm hộp mở, kiểm tra theo hướng logic thử nghiệm điều khiển đường dẫn thử nghiệm cấu trúc Phương pháp kiểm thử phần mềm White box testing Các loại white box testing: – API testing (application programming interface) – Kiểm thử ứng dụng cách sử dụng hàm API public private – Code coverage – Là việc tạo trường hợp test để thỏa mãn số điều kiện bao phủ code – code coverage (ví dụ như, người thiết kế test tạo trường hợp test cho tất câu lệnh chương trình thực thi lần) – Fault injection methods – cải tiến bao phủ trường hợp cách đưa số lỗi vào để test đường dẫn code – Mutation testing methods Trang 40 – Static testing – White box testing bao gồm tất phương pháp kiểm thử tĩnh (ví dụ review code) Với phương pháp kiểm thử này, kiểm thử viên không cần hiểu biết mã lệnh để xử lý chức Các kiểm thử viên vào tài liệu đặc tả, prototype phần mềm dựa testcase viết để kiểm tra chức Cả hai hình thức đề trả cách đo độ bao phủ code, đo lường tính phần trăm % Ưu điểm:  Dễ dàng tự động hóa Cung cấp quy tắc dựa kỹ thuật rõ ràng cho thời điểm ngừng thử nghiệm  Buộc chuyên gia thử nghiệm phải suy luận cẩn thận việc test lỗi lỗi triệt để  Nhược điểm:  Khá tốn thời gian công sức  Vẫn tồn lỗi Để kiểm tra phương pháp cần có kinh nghiệm trình độ chuyên sâu kiểm thử  - Grey box testing Phương pháp Gray box testing phương pháp test phần mềm phổ biến Có thể nói phương pháp Gray Box testing phương pháp kết hợp White box testing Black box testing Kiểm tra hộp màu xám cho khả kiểm tra hai mặt ứng dụng, lớp trình bày phần mã Nó chủ yếu hữu ích kiểm thử tích hợp kiểm tra thâm nhập Trong Kiểm thử Hộp xám, cấu trúc bên sản phẩm biết phần, Tester truy cập vào cấu trúc liệu bên thuật tốn chương trình với mục đích để thiết kế test case, test test người dùng cuối mức hộp đen Trang 41 Grey box testing Kỹ thuật kiểm tra hộp xám: – Kiểm tra ma trận: báo cáo trạng thái dự án – Kiểm tra hồi quy : ngụ ý chạy lại trường hợp thử nghiệm thay đổi thực – Kiểm tra mẫu: xác minh ứng dụng tốt cho thiết kế kiến trúc mẫu – Kiểm tra mảng trực giao : sử dụng làm tập hợp tất kết hợp Ưu điểm: – Là kết hợp kiểm thử hộp đen hộp trắng nên tối ưu – Kiểm tra phương pháp hộp màu xám thiết kế kịch thử nghiệm phức tạp cách thông minh Nhược điểm: – Rất khó để liên kết lỗi thực kiểm tra hộp xám cho ứng dụng có hệ thống phân tán Trên phương pháp kiểm thử phần mềm mà lập trình viên cần nắm Việc lựa chọn phương pháp phụ thuộc vào khả dự án mà bạn thực Nguyên lý kiểm thử phần mềm Để đạt kết kiểm thử tối ưu tiến hành kiểm thử phần mềm mà khơng lệch khỏi mục tiêu điều quan trọng, làm để xác định Trang 42 bạn theo chiến lược kiểm thử? Để làm điều đó, bạn cần tuân thủ số nguyên lý kiểm thử Dưới bảy nguyên lý kiểm thử phổ biến áp dụng rộng rãi ngành công nghiệp phần mềm Gồm nguyên lý kiểm thử phần mềm 4.1 Kiểm thử đưa lỗi Kiểm thử cho thấy phần mềm có lỗi, khơng thể chứng minh phần mềm khơng có lỗi Kiểm thử thực kĩ thuật khác Kiểm thử làm giảm xác suất lỗi chưa tìm thấy cịn phần mềm, kiểm thử nghiêm ngặt phần mềm cịn lỗi Vì phải tìm nhiều lỗi tốt 4.2 Kiểm thử cạn kiệt khơng thể Ngun lý nói rằng, kiểm tra thứ phần mềm cách trọn vẹn Kiểm thử với tất kết hợp đầu vào đầu ra, với tất kịch khơng thể bao gồm trường hợp kiểm thử tồn Thay kiểm thử tồn bộ, việc phân tích rủi ro dựa mức độ ưu tiên tập trung việc kiểm thử vào số điểm cần thiết, có nguy lỗi cao 4.3 Kiểm thử sớm tốt Nguyên lý yêu cầu bắt đầu thử nghiệm phần mềm giai đoạn đầu vòng đời phát triển phần mềm Các hoạt động kiểm thử phần mềm từ giai đoạn đầu giúp phát bug sớm Nó cho phép chuyển giao phần mềm theo yêu cầu thời gian với chất lượng dự kiến 4.4 Sự tập trung lỗi Trang 43 Thông thường, lỗi tập trung vào module, thành phần chức hệ thống Nếu xác định điều bạn tập trung vào tìm kiếm lỗi quanh khu vực xác định Nó coi cách hiệu để thực kiểm tra hiệu 4.5 Nghịch lý thuốc trừ sâu Nếu bạn sử dụng tập hợp trường hợp kiểm thử liên tục, sau thời gian trường hợp kiểm thử khơng tìm thấy lỗi Hiệu trường hợp kiểm thử bắt đầu giảm xuống sau số lần thực hiện, ln ln phải xem xét sửa đổi trường hợp kiểm thử khoảng thời gian thường xuyên 4.6 Kiểm thử phụ thuộc vào ngữ cảnh Theo nguyên tắc việc kiểm thử phụ thuộc vào ngữ cảnh phải tiếp cận kiểm thử theo nhiều ngữ cảnh khác Nếu bạn kiểm thử ứng dụng web ứng dụng di động cách sử dụng chiến lược kiểm thử giống nhau, sai Chiến lược để kiểm thử ứng dụng web khác với kiểm thử ứng dụng cho thiết bị di động Android 4.7 Khơng có lỗi – Sai lầm Việc khơng tìm thấy lỗi sản phẩm khơng đồng nghĩa với việc sản phẩm sẵn sàng để tung thị trường Việc khơng tìm thấy lỗi trường hợp kiểm thử tạo nhằm kiểm tra tính làm theo yêu cầu thay nhằm tìm kiếm lỗi Bài viết hy vọng giúp bạn hiểu “Phương pháp kiểm thử phần mềm” “Nguyên lý kiểm thử phần mềm” Bạn cần tìm hiểu thêm để hiểu sâu phương pháp nguyên lý áp dụng hiệu vào cơng việc bạn Câu hỏi Bài 5: Câu 1: kiểm thử ? Câu 2: Nêu qui trình kiểm thử phần mềm Câu 3: Nêu phương pháp kiểm thử phần mềm Câu 4: Trình bày nguyên lý kiểm thử phần mềm Trang 44 BÀI TRIỂN KHAI VÀ BẢO TRÌ Giới thiệu Bảo trì phần mềm phần khơng thể thiếu vòng đời phần mềm Trong lịch sử, phát triển phần mềm đánh giá cao nhiều so với bảo trì phần mềm hầu hết tổ chức Điều thay đổi, tổ chức đầu tư vào khâu phát triển phần mềm họ cách giữ cho phần mềm họ hoạt động lâu tốt Mục tiêu - Kiểm tra bảo trì lỗi nâng cấp phần mềm - Mơ tả cách hướng dẫn sử dụng phần mềm - Trình bày cách đóng gói phần mềm - Thực qui trình đóng gói phần mềm Khái niệm Theo IEEE (1993), bảo trì phần mềm định nghĩa việc sửa đổi phần mềm sau bàn giao để chỉnh lại lỗi phát sinh, cải thiện hiệu phần mềm thuộc tính khác, làm cho phần mềm thích ứng mơi trường bị thay đổi Năm 1995, tiêu chuẩn ISO/IEC 12207 định nghĩa: Bảo trì phần mềm thay đổi mã nguồn tài liệu liên quan vấn đề cần thiết phải phát triển Mục đích biến đổi phần mềm có giữ ngun tính tồn vẹn Các hình thái bảo trì Bảo trì phần mềm thành loại: - Bảo trì để tu chỉnh: Là bảo trì khắc phục khiếm khuyết có phần mềm Một số nguyên nhân điển hình: + Kỹ sư phần mềm khách hiểu nhầm + Lỗi tiềm ẩn phần mềm sơ ý lập trình kiểm thử chưa bao quát hết + Vấn đề tính phần mềm: khơng đáp ứng yêu cầu nhớ, tệp, Thiết kế sai, biên tập sai + Thiếu chuẩn hóa phát triển phần mềm trước - Bảo trì để thích hợp: Là tu chỉnh phần mềm theo thay đổi mơi trường bên ngồi nhằm trì quản lý phần mềm theo vịng đời Thay đổi phần mềm thích nghi với mơi trường: công nghệ phần cứng, môi trường phần mềm Những nguyên nhân chính: + Thay đổi phần cứng (ngoại vi, máy chủ, .) + Thay đổi phần mềm (mơi trường): ví dụ hệ điều hành Trang 45 + Thay đổi cấu trúc tệp mở rộng sở liệu - Bảo trì để cải tiến: Là việc tu chỉnh hệ phần mềm theo yêu cầu ngày hoàn thiện hơn, đầy đủ hơn, hợp lý Những nguyên nhân chính: + Do muốn nâng cao hiệu suất nên thường hay cải tiến phương thức truy cập tệp + Mở rộng thêm chức cho hệ thống + Cải tiến quản lý kéo theo cải tiến tư liệu vận hành trình tự cơng việc + Thay đổi người dùng thay đổi thao tác - Bảo trì để phịng ngừa: Là cơng việc tu chỉnh Chương trình có tính đến tương lai phần mềm mở rộng thay đổi Thực thiết kế phần mềm phải tính đến tính mở rộng nó, nên thực tế ta gặp bảo trì phịng ngừa phần mềm thiết kế tốt Quy trình: + Hiểu hoạt động bên Chương trình + Thực thay đổi thiết kế không tường minh + Thiết kế, lập trình lại + Sử dụng cơng cụ CASE Trình tự nghiệp vụ bảo trì Bảo trì q trình vịng đời phần mềm, tuân theo pha phân tích, thiết kế, phát triển kiểm thử từ phát sinh vấn đề giải xong Theo tiêu chuẩn quốc tế bảo trì phần mềm ISO/IEC14764, bảo trì phần mềm gồm có hai nhóm bảo trì để Chỉnh sửa bảo trì nâng cao Bảo trì chỉnh sửa bao gồm bảo trì tu chỉnh bảo trì phịng ngừa Bảo trì nâng cao gồm bảo trì cải tiến bảo trì thích hợp Do vậy, ta chia làm nhóm: - Loại 1: Tu chỉnh có - Loại 2: Thêm Hiểu phần mềm có Loại bảo trì? Chỉnh phần mềm có Kiểm thử tính qn Kiểm thử sau bảo trì Trang 46 Tạo biểu quản lý bảo trì Phát triển phần mềm Hình 5.5: Quy trình bảo trì - Hiểu phần mềm có: + Theo tài liệu nắm chức + Theo tài liệu chi tiết nắm vững đặc tả chi tiết, điều kiện kiểm thử + Dị đọc Chương trình nguồn, hiểu trình tự xử lý chi tiết hệ thống - Chỉnh phần mềm có: + Bảo trì Chương trình nguồn, tạo mơ đun dịch lại + Thực kiểm thử unit tu chỉnh mục liên quan có tư liệu đặc tả + Chú ý theo sát tác động mô đun sửa đến thành phần khác hệ thống - Phát triển phần mềm mới: + Khi thêm chức phải phát triển Chương trình cho phù hợp với yêu cầu + Cần tiến hành từ thiết kế, lập trình, gỡ lỗi kiểm thử unit + Phản ảnh vào giao diện phần mềm (thông báo, phiên bản, ) - Kiểm chứng tính quán: + Đưa đơn vị (unit) dược kiểm thử vào hoạt động hệ thống + Điều chỉnh tương tích mơ đun + Dùng liệu trước kiểm thử để kiểm thử lại tính quán + Chú ý hiệu ứng sóng chỉnh sửa - Kiểm tra hồn thành bảo trì: Kiểm tra nội dung mơ tả có tư liệu đặc tả xem cách ghi tư liệu có phù hợp với mô tả môi trường phần mềm hay không? điểm cần lưu ý hay thay đổi mơ tả chưa,… - Lập biểu quản lý bảo trì bao gồm thông tin: + Ngày tháng, + Nguyên nhân + Tóm tắt cách khắc phục + Chi tiết khắc phục, hiệu ứng sóng + Người làm bảo trì + Số cơng Trang 47 Những khó khăn bảo trì Phần lớn vấn đề có liên quan đến việc bảo trì phần mềm quy khiếm khuyết cách vạch định kế hoạch xây dựng phần mềm Trong số nhiều vấn đề cổ điển liên quan đến việc bảo trì phần mềm, có vấn đề sau: - Thường khó hay khơng thể theo dõi tiến hoá phần mềm qua nhiều phiên hay lần phát hành Những thay đổi không chứng minh tư liệu cách đầy đủ - Khó hay khơng thể theo dõi tiến trình qua tạo phần mềm - Thường đặc biệt khó để hiểu Chương trình Cái khó tăng lên số phần tử cấu hình phần mềm giảm Nếu có mã Chương trình khơng có tư liệu chắn có nhiều vấn đề nghiêm trọng - Thường khơng bên cạnh để giải thích Tính động nhân viên phần mềm cao Chúng ta dựa vào giải thích cá nhân người phát triển phần mềm cần bảo trì - Tài liệu khơng có có tồi Việc thừa nhận phần mềm phải tư liệu hóa bước đầu tiên, tư liệu hố phải để hiểu quán với Chương trình gốc giá - Phần lớn phần mềm không thiết kế cho thay đổi Chừng mà phương pháp thiết kế chưa phù hợp với thay đổi thông qua khái niệm phụ thuộc hàm hay lớp vật, việc thay đổi phần mềm cịn khó khăn sinh lỗi - Tất vấn đề mô tả trên, phần số Chương trình tồn phát triển mà khơng có cân nhắc cơng nghệ phần mềm Câu hỏi Bài 6: Câu 1: Bảo trì ? Câu 2: Nêu hình thái bảo trì Câu 3: Nêu trình tự nghiệp vụ bảo trì Câu 4: Nêu khó khăn bảo trì TÀI LIỆU THAM KHẢO Đoàn Văn Ban (năm 1996), Phân tích thiết kế lập trình hướng đối tượng, Trung tâm Khoa học Tự nhiên Công nghệ Quốc gia Lê Đức Trung (năm 2002), Công nghệ phần mềm, nhà xuất Khoa học Kỹ thuật Lương Mạnh Bá, BM Công nghệ phần mềm, ĐHBK Hà- nội Trang 48 Ngô Trung Việt (năm 1999), Kỹ nghệ phần mềm - dịch, nhà xuất Giáo dục Nguyễn Văn Vy, Nguyễn Việt Hà, (năm 2008), giáo trình Kỹ nghệ phần mềm, nhà xuất Đại học Quốc gia Hà Nội Nguyễn Năm, trường Đại Học Công Nghiệp tp.HCM Khoa Công nghệ Thông tin - Đại học Khoa học Tự nhiên Hà Nội (năm 1997), Bài giảng nhập mơn cơng trình học phần mềm, Hà Nội Các trang Web như: http://elib.ictu.edu.vn, http://www.pcworld.com.vn, http://voer.edu.vn Trang 49 ... loại khác: - Phần mềm hệ thống; - Phần mềm thời gian thực; - Phần mềm nghiệp vụ; - Phần mềm tính tốn Khoa học Kỹ thuật; - Phần mềm nhúng 1.3 Công nghệ Phần mềm Khái niệm Công nghệ phần mềm đưa lần... Đức Trung (năm 2002), Công nghệ phần mềm, nhà xuất Khoa học Kỹ thuật Lương Mạnh Bá, BM Công nghệ phần mềm, ĐHBK H? ?- nội Trang 48 Ngô Trung Việt (năm 1999), Kỹ nghệ phần mềm - dịch, nhà xuất Giáo. .. phần mềm phân loại phần mềm + Nêu đặc tính tiêu chí phần mềm + Phân loại phần mềm ứng dụng thực tế + Nhận định quy trình hoạt động cơng nghệ phầm mềm + Sau học nội dung học sinh ứng dụng phần mềm

Ngày đăng: 25/12/2022, 00:02

Tài liệu cùng người dùng

Tài liệu liên quan