1. Trang chủ
  2. » Thể loại khác

TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM. Giảng viên: ThS. Trần Mạnh Thắng

65 2 0

Đ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

BÀI TỔNG QUAN Giảng viên: ThS Trần Mạnh Thắng v1.1013109225 TÌNH HUỐNG DẪN NHẬP • Cơng ty STT công ty phần mềm lớn chuyên sản xuất phần mềm thương mại phần mềm theo đơn đặt hàng Việc sản xuất phần mềm có tính đặc thù riêng khác so với trình sản xuất thơng thường khác; • Để sản xuất sản phẩm phần mềm phải có nhiều người tham gia phải trải qua nhiều giai đoạn sử dụng nhiều tiện ích khác q trình sản xuất; • Có nhiều q trình sản xuất phần mềm cơng ty STT áp dụng theo quy trình kiểm tra giám sát đáp ứng tiêu chuẩn công nhận  v1.1013109225 Có mơ hình để cơng ty STT thực cơng việc quản lý kiểm tra trình sản xuất phần mềm cách có hiệu quả? MỤC TIÊU Nắm tổng quan cơng nghệ phần mềm; Trình bày mơ hình vịng đời phần mềm tiêu biểu; Trình bày vai trò kiểm thử đảm bảo chất lượng phần mềm; Trình bày cơng đoạn kiểm thử phần mềm; Xây dựng ví dụ đơn giản xử dụng mơ hình vịng đời phần mềm có tương quan với cơng đoạn kiểm thử bảo đảm chất lượng phần mềm v1.1013109225 NỘI DUNG Các định nghĩa Các mơ hình vịng đời phần mềm Sự tương quan công đoạn xây dựng kiểm thử phần mềm Giới thiệu kỹ thuật công đoạn kiểm thử v1.1013109225 CÁC ĐỊNH NGHĨA 1.1 Tổng quan công nghệ phần mềm 1.2 Tại phải kiểm thử quản lý chất lượng phần mềm? v1.1013109225 1.1 TỔNG QUAN VỀ CƠNG NGHỆ PHẦN MỀM • Chương trình (Program):  Chương trình = phần mềm;  Phần cài đặt máy tính để chạy chương trình • Phần mềm (Software):  Các chương trình chứa dịng lệnh thị cho máy tính thực cơng việc đó;  Là tập hợp chương trình liệu phục vụ cho cơng việc tin học hóa như:  Phần mềm quản lý dịch vụ bay;  Phần mềm điều khiển lò phản ứng hạt nhân;  Phần mềm điều khiển dịch vụ mobile phone  Trong công nghệ phần mềm: Phần mềm = Các chương trình + liệu + tài liệu liên quan v1.1013109225 ĐẶC TRƯNG VÀ VAI TRÒ CỦA PHẦN MỀM Đặc trưng phần mềm: • Khơng mịn, cũ thối hố theo thời gian; • Khơng tạo từ mẫu có sẵn; • Phức tạp, khó hiểu vơ hình; • Là mơ hình giới thực thay đổi để thích ứng theo thời gian điều kiện vận hành; • Cần phát triển theo nhóm Vai trị phần mềm • Phần mềm linh hồn hệ thống máy tính; • Có vai trị tảng hoạt động xã hội sản xuất, dịch vụ, giải trí, điều hành hội nhập; • Các kinh tế phụ thuộc lớn vào phần mềm; • Việc sử dụng phần mềm tổ chức khác làm cho phong cách, suất lao động tổ chức khác Do vậy, yếu tố tạo nên khác biệt tổ chức; • Các hệ thống sử dụng phần mềm để điều khiển, trợ giúp ngày nhiều nên phụ thuộc vào phần mềm nhiều v1.1013109225 CÁC LOẠI PHẦN MỀM • Các hệ điều hành: Các Driver (chương trình điều khiển), Monitor, hệ quản lý tệp, hệ thống quản lý thư viện chương trình chương trình dịch, hệ thống quản lý mạng máy tính, ngơn ngữ lập trình PASCAL, C, C++, Visual Basic, FORTRAN, ADA • Các phần mềm hệ thống như: Các chương trình soạn thảo văn bản, chương trình điều khiển thiết bị ngoại vi, chương trình mở rộng chức quản lý tệp: Sắp xếp, chép, cập nhật, chương trình đồ hoạ, giao diện thân thiện người sử dụng hệ điều hành; • Hệ quản trị sở liệu, quản lý tri thức chương trình mở rộng tương ứng; • Các phần mềm ứng dụng như: Các hệ tự động hoá quản lý chương trình, hệ tự động hố thiết kế, hệ thống dạy học, hệ thống tự học,…; • Các chương trình tiện ích – Utilities trị chơi Games: Các chương trình xử lý bảng tính điện tử, chương trình chuyển đổi (tiền dịch) ngơn ngữ, dịch chéo, khơi phục chương trình chống diệt virus máy tính, chương trình trị chơi giải trí,… v1.1013109225 CƠNG NGHỆ PHẦN MỀM • Cơng nghệ phần mềm (Software Engineering): Là cách sử dụng phối hợp công nghệ cần thiết để tạo sản phẩm phần mềm • Các cơng việc để xây dựng phần mềm:  Đặc tả;  Thiết kế;  Lập trình;  Kiểm thử;  Sửa sai;  Cài đặt;  Ứng dụng;  Bảo trì;  Lập hồ sơ v1.1013109225 ĐẶC TRƯNG CỦA CÔNG NGHỆ PHẦN MỀM • Công nghệ phần mềm (Software Engineer) đặc trưng tập hợp phương pháp để phát triển phần mềm hay cịn gọi tiến trình phần mềm (Software Process); • Cơng nghệ phần mềm khơng việc lập trình để có sản phẩm phần mềm mà tập hợp việc triển khai nhiều giai đoạn để dẫn tới việc lập trình; • Với dự án phần mềm phải phân bổ cơng việc, kiểm tra q trình phát triển, thử nghiệm đảm bảo chất lượng phần mềm hoàn tất v1.1013109225 10 ƯU NHƯỢC ĐIỂM CỦA MƠ HÌNH RAD • Ưu điểm:  Cho phép giảm thời gian phát triển ứng dụng CSDL có nhiều giao diện người dùng hay tích hợp thành phần có sẵn;  Người sử dụng tham gia vào hoạt động kiểm thử • Nhược điểm:  Khó có quán thành phần phát triển nhóm khác nhau;  Khơng phù hợp cho ứng dụng địi hỏi hiệu suất thường phụ thuộc vào hỗ trợ môi trường phát triển ngôn ngữ cấp cao v1.1013109225 51 ỨNG DỤNG CỦA MƠ HÌNH RAD • Hệ thống quản lý thơng tin kiểu ứng dụng dựa GUI CSDL; • Có hỗ trợ công cụ hay sử dụng ngôn ngữ cấp cao; • Hệ thống khơng u cầu khắt khe hiệu suất v1.1013109225 52 2.3.7 MƠ HÌNH TĂNG TRƯỞNG Phân tích Thiết kế Mã hóa Kiểm thử Chuyển giao Phân tích Thiết kế Phân tích Mã hóa Thiết kế sản phẩm Kiểm thử Mã hóa Kiểm thử Các tầng Phân tích Thiết kế Mã hóa Kiểm thử Thời gian • Chuyển giao phần hệ thống; • Cho sản phẩm dùng thời gian ngắn; • Cơng ty phải có tiềm lực cao v1.1013109225 53 Chọn hoạt động chính, tổng qt q trình xây dựng phần mềm? a Giao tiếp, lập kế hoạch, mơ hình hóa, xây dựng, triển khai b Phân tích, thiết kế, lập trình, gỡ lỗi, bảo trì c Giao tiếp, quản lý rủi ro, ước lượng, sản xuất, kiểm tra lại d Khơng có mục Chọn đặc điểm sử dụng để đánh giá thiết kế tốt? a Thể tất yêu cầu pha phân tích b Chứa trường hợp kiểm thử tất thành phần c Cung cấp mơ tả hồn thiện phần mềm d Thể tất yêu cầu pha phân tích cung cấp mơ tả hồn thiện phần mềm Mơ hình phát triển phần mềm dựa mẫu thử là…? a Một mơ hình rủi ro, khó đưa sản phẩm tốt b Phương pháp tốt sử dụng dự án có nhiều thành viên c Một phương pháp hữu ích khách hàng xác định yêu cầu cách rõ ràng d Một phương pháp thích hợp sử dụng yêu cầu xác định rõ ràng Chọn phát biểu với mơ hình thác nước “WaterFall Model”? a Mỗi ứng dụng chia thành phần nhỏ (sub-unit), sau đó, đơn vị thiết kế lập trình cách tuần tự, sau b Việc phát triển hệ thống làm theo thứ tự tiến trình, không kết công việc gửi ngược lên tiến trình mức cao c Một hệ thống thực nghiệm khai thác khởi tạo việc kiểm tra đặc tả, đánh giá yêu cầu người dùng làm giai đoạn trước d Thời gian phát triển rút ngắn lại tham gia người dùng, nhà phát triển, số 54 kỹ sư việc áp dụng có hiệu cơng cụ v1.1013109225 SỰ TƯƠNG QUAN GIỮA CÁC CÔNG ĐOẠN XÂY DỰNG VÀ KIỂM THỬ PHẦN MỀM Kiểm tra phần mềm Phát triển phần mềm Yêu cầu khách hàng (Requirements) Lập kế hoạch cho Thiết kế cấp cao (High-level design) Lập kế hoạch cho Thiết kế chi tiết (Detailed design) Lập trình (Coding) v1.1013109225 Lập kế hoạch cho Lập kế hoạch cho Chấp nhận sản phẩm (Acceptance) Tồn hệ thống (System) Tích hợp hệ thống (Integration) Đơn vị lập trình (Unit) 55 SỰ TƯƠNG QUAN GiỮA CÁC CÔNG ĐOẠN XÂY DỰNG VÀ KIỂM THỬ PHẦN MỀM (tiếp theo) • Nhóm bảo đảm chất lượng phần mềm phải bảo đảm phần mềm hoạt động tốt đáp ứng yêu cầu khách hàng; • Nhóm bảo đảm chất lượng phần mềm bắt đầu làm việc từ pha xác định yêu cầu; • Pha xác định yêu cầu: Thực kiểm thử phiên cuối xác định yêu cầu xem thực yêu cầu mà khách hàng cần hay chưa? • Pha đặc tả hay phân tích:  Kiểm thử tính đắn đặc tả;  Kiểm thử mâu thuẫn, mơ hồ tính đầy đủ đặc tả;  Kiểm thử tính khả thi đặc tả;  Tính kiểm thử tài liệu đặc tả;  Kiểm tra ước lượng thời gian thực hiện;  Kiểm tra chi phí dự án v1.1013109225 56 SỰ TƯƠNG QUAN GIỮA CÁC CÔNG ĐOẠN XÂY DỰNG VÀ KIỂM THỬ PHẦN MỀM (tiếp theo) • Pha thiết kế: Bản thiết kế phải tiếp nối báo cáo đặc tả.Tuy nhiên, khác với báo cáo yêu cầu báo cáo đặc tả, thiết kế mang tính chuyên nghiệp Kiểm thử pha thiết kế để kiểm tra:  Lỗi logic;  Lỗi giao tiếp;  Thiếu phần xử lý trường hợp ngoại lệ;  Sự không tương hợp với báo cáo đặc tả;  Lỗi pha trước chưa phát • Pha cài đặt: Lập trình viên viết chương trình cho module theo thiết kế chi tiết  Mỗi module cần kiểm thử thực sau hoàn thành (desk checking) Các module chạy thử với số liệu thử (test case);  Kiểm soát mã nguồn v1.1013109225 57 SỰ TƯƠNG QUAN GIỮA CÁC CÔNG ĐOẠN XÂY DỰNG VÀ KIỂM THỬ PHẦN MỀM (tiếp theo) • Pha tích hợp:  Mục đích kiểm thử pha kiểm tra xem module có kết hợp cách xác để tạo nên phần mềm thưc yêu cầu nêu báo cáo đặc tả hay không Cần ý đến phần giao tiếp module;  Sau kiểm thử phần mềm (Product Testing) Các chức phần mềm kiểm tra theo ràng buộc nêu báo cáo đặc tả;  Kiểm thử tính ổn định;  Kiểm thử chấp nhận;  Kiểm thử phía khách hàng • Pha bảo trì: Kiểm thử pha bảo trì gồm hai phần:  Thứ cần kiểm tra xem phần mềm sửa theo yêu cầu đặt chưa;  Thứ hai sau sửa đổi lại phần phần mềm phần cịn lại có bị ảnh hưởng khơng v1.1013109225 58 GIỚI THIỆU CÁC KỸ THUẬT VÀ CÁC CÔNG ĐOẠN KIỂM THỬ Kiểm thử đơn vị Kiểm thử mô đun Kiểm thử hệ Kiểm thử hệ thống chấp nhận Lập trình viên Chuyên viên v1.1013109225 Kiểm thử Người dùng 59 GIỚI THIỆU CÁC KỸ THUẬT VÀ CÁC CÔNG ĐOẠN KIỂM THỬ (tiếp theo) Yêu cầu kiểm thử • Tính lặp lại:  Kiểm thử phải lặp lại (kiểm tra xem lỗi sửa hay chưa);  Dữ liệu/trạng thái phải mơ tả • Tính hệ thống: Đảm bảo kiểm tra hết trường hợp; • Được lập tài liệu: Kiểm sốt tiến trình/kết v1.1013109225 60 CÁC LOẠI KIỂM THỬ • Kiểm thử tầm hẹp:  Kiểm thử hộp trắng;  Kiểm thử hộp đen • Kiểm thử tầm rộng:  Kiểm thử đơn vị;  Kiểm thử tích hợp;  Kiểm thử hệ thống;  Kiểm thử chấp nhận v1.1013109225 61 CÁC GIAI ĐOẠN KIỂM THỬ • Trong mơi trường phía phát triển:  Kiểm thử đơn vị;  Kiểm thử tích hợp;  Kiểm thử hệ thống phần mềm;  Kiểm thử chấp nhận • Trong mơi trường phía khách hàng:  Kiểm thử alpha;  Kiểm thử beta;  Kiểm thử hệ thống thông tin v1.1013109225 62 CÁC GIAI ĐOẠN KIỂM THỬ PHÍA PHÁT TRIỂN • Kiểm thử đơn vị (Unit test/Module test):  Dựa vào TL thiết kế chi tiết;  Test module (hàm, thủ tục, đoạn code, component… • Kiểm thử tích hợp (Integration test ):  Dựa vào TL thiết kế tổng thể;  Kiểm tra tương tác module • Kiểm thử hệ thống phần mềm(System test):  Dựa vào TL đặc tả yêu cầu phần mềm;  Kiểm tra toàn hệ thống • Kiểm thử chấp nhận (Acceptance test): Dựa vào yêu cầu nghiệp vụ khách hàng v1.1013109225 63 CÁC GIAI ĐOẠN KIỂM THỬ PHÍA KHÁCH HÀNG • Kiểm thử alpha: Là kiểm thử chấp nhận tiến hành mơi trường khách hàng • Kiểm thử beta:  Mở rộng alpha testing;  Được tiến hành với lượng lớn users;  User tiến hành kiểm thử khơng có hướng dẫn người phát triển;  Thông báo lại kết cho người phát triển • Kiểm thử hệ thống thông tin: Mở rộng phạm vi kiểm thử, nhìn nhận phần mềm yếu tố HTTT phức tạp; • Kiểm tra yếu tố:  Khả phục hồi sau lỗi;  Độ an toàn;  Hiệu giới hạn phần mềm v1.1013109225 64 TĨM LƯỢC CUỐI BÀI • Nắm khái niệm phầm mềm đặc trưng phần mềm; • Năm khái niệm cơng nghệ phần mềm mục đích cơng nghệ phần mềm lý cần phải kiểm thử bảo đảm chất lượng phần mềm; • Nắm khái niệm tiến trình phát triển phần mềm, pha tiến trình phát triển phần mềm; • Nắm khái niệm mơ hình vịng đời phần mềm, mơ hình xây dựng phần mềm tiêu biểu, ưu nhược điểm ứng dụng mơ hình; • Nắm khái niệm, yêu cầu kiểm thử loại kiểm thử v1.1013109225 65

Ngày đăng: 09/03/2022, 23:21

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w