ĐỀ CƯƠNG MÔN CÔNG NGHỆ PHẦN MỀM

17 331 0
ĐỀ CƯƠNG MÔN CÔNG NGHỆ PHẦN MỀM

Đ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

Câu 1: Khái niệm phần mềm. Phân biệt phần mềm và phần cứng. Phân loại phần mềm.  Khái niệm phần mềm: phần mềm gồm 3 phần: Chương trình máy tính: mã nguồn, mã máy Cấu trúc DL: cấu trúc làm việc (bộ nhớ trong), cấu trúc lưu trữ (bộ nhớ ngoài) Các tài liệu liên quan: hướng dẫn người sử dụng (người dung), tham khảo kĩ thuật (người bảo trì), tà liệu phát triển (nhà phát triển).  Phân loại phần mềm: 3 cách Theo mức độ hoàn thiện Theo chức năng thực hiện Theo lĩnh vực ứng dụng 1. Phân loại theo mức độ hoàn thiện Chương trình • Một người viết, một người dùng (người viết ≡ người dùng) • Mục đích thu thập, xử lý số liệu (dùng 1 lần) • Không tài liệu, không kiểm thử triệt để Sản phẩm phần mềm • Nhiều người viết, nhiều người dùng, độ phức tạp cao, đồng bộ, an toàn, an ninh • Kinh nghiệm viết chương trình nhỏ không áp dụng cho sản phẩm lớn 2. Phân loại theo chức năng thực hiện Phần mềm hệ thống • Điều hành hoạt động máy tính, thiết bị và chương trình • Trợ giúp các tiện ích (tổ chức tệp, nén, dọn đĩa) Phần mềm nghiệp vụ • Trợ giúp các hoạt động nghiệp vụ khác nhau • Có số lượng lớn, đa dạng • Phân làm hai loại theo cách làm:  Sản phẩm đặt hàng o Sản xuất theo đơn đặt hàng o Đơn chiếc, yêu cầu đặc thù  Sản phẩm chung o Bán rộng rãi o Thỏa mãn yêu cầu chung số lớn người dùng o Mỗi loại có cách thức tiếp cận riêng, nhất là ở một số các bước > chi phí, thời gian khác nhau Phần mềm công cụ • Trợ giúp cho quá trình phát triển phần mềm • Các ngôn ngữ lập trình (soạn thảo, dịch, gỡ rối,…) • Công cụ trợ giúp 1, nhiều giai đoạn phát triển (phân tích, thiết kế, quản lý dự án, kiểm thử, … 3. Phân loại theo lĩnh vực ứng dụng Phần mềm hệ thống • Phục vụ cho các chương trình khác nhau • Tương tác trực tiếp với phần cứng • Phục vụ nhiều người dùng Phần mềm thời gian thực • Thu thập, xử lí các dữ kiện thế giới thực • Đáp ứng yêu cầu chặt chẽ về thời gian Phần mềm nghiệp vụ • Xử lí thông tin nghiệp vụ, gắn với CSDL • Xử lý các giao tác mạng • Các lĩnh vực ứng dụng rất lớn (như các hệ điều khiển vũ trụ) Phần mềm khoa học kỹ thuật • Dùng thuật toán phức tạp (vật lí, mô phỏng) • Năng lực tính toán cao

ĐỀ CƯƠNG MÔN CÔNG NGHỆ PHẦN MỀM CHƯƠNG 1: TỔNG QUAN VỀ CNPM Câu 1: Khái niệm phần mềm Phân biệt phần mềm phần cứng Phân loại phần mềm  Khái niệm phần mềm: phần mềm gồm phần: - Chương trình máy tính: mã nguồn, mã máy - Cấu trúc DL: cấu trúc làm việc (bộ nhớ trong), cấu trúc lưu trữ (bộ nhớ ngoài) - Các tài liệu liên quan: hướng dẫn người sử dụng (người dung), tham khảo kĩ thuật (người bảo trì), tà liệu phát triển (nhà phát triển)  Phân loại phần mềm: cách - Theo mức độ hoàn thiện - Theo chức thực - Theo lĩnh vực ứng dụng Phân loại theo mức độ hoàn thiện - Chương trình • Một người viết, người dùng (người viết ≡ người dùng) • Mục đích thu thập, xử lý số liệu (dùng lần) • Không tài liệu, không kiểm thử triệt để - Sản phẩm phần mềm • Nhiều người viết, nhiều người dùng, độ phức tạp cao, đồng bộ, an toàn, an ninh • Kinh nghiệm viết chương trình nhỏ không áp dụng cho sản phẩm lớn Phân loại theo chức thực - Phần mềm hệ thống • Điều hành hoạt động máy tính, thiết bị chương trình • Trợ giúp tiện ích (tổ chức tệp, nén, dọn đĩa) - Phần mềm nghiệp vụ • Trợ giúp hoạt động nghiệp vụ khác • Có số lượng lớn, đa dạng • Phân làm hai loại theo cách làm:  Sản phẩm đặt hàng o Sản xuất theo đơn đặt hàng o Đơn chiếc, yêu cầu đặc thù  Sản phẩm chung o Bán rộng rãi o Thỏa mãn yêu cầu chung số lớn người dùng o Mỗi loại có cách thức tiếp cận riêng, số bước -> chi phí, thời gian khác - Phần mềm công cụ 1 Trợ giúp cho trình phát triển phần mềm Các ngôn ngữ lập trình (soạn thảo, dịch, gỡ rối,…) Công cụ trợ giúp 1, nhiều giai đoạn phát triển (phân tích, thiết kế, quản lý dự án, kiểm thử, … Phân loại theo lĩnh vực ứng dụng - Phần mềm hệ thống • Phục vụ cho chương trình khác • Tương tác trực tiếp với phần cứng • Phục vụ nhiều người dùng - Phần mềm thời gian thực • Thu thập, xử lí kiện giới thực • Đáp ứng yêu cầu chặt chẽ thời gian - Phần mềm nghiệp vụ • Xử lí thông tin nghiệp vụ, gắn với CSDL • Xử lý giao tác mạng • Các lĩnh vực ứng dụng lớn (như hệ điều khiển vũ trụ) - Phần mềm khoa học kỹ thuật • Dùng thuật toán phức tạp (vật lí, mô phỏng) • Năng lực tính toán cao • • • Câu 2: Kiến trúc phần mềm gì? Thế phần mềm tốt - - Kiến trúc phần mềm cấu trúc thành phần hệ thống Kiến trúc phần mềm bao gồm phần tử phần mềm, thuộc tính mối quan hệ chúng Tiêu chí đánh giá phần mềm tốt nay: • Người dùng:  Đủ chức nghiệp vụ  Dễ sử dụng, tinh vi (tính thông minh)  Tin cậy, an toàn • Nhà phát triển: dễ bảo trì Câu 3: Khái niệm phần mềm? Vai trò đặc trưng phần mềm?  Vai trò phần mềm - Là linh hồn hệ thống máy tính - Có vai trò tảng hoạt động xã hội tổ chức - Mọi kinh tế phụ thuộc lớn vào phần mềm - Phần mềm sai hỏng, kinh tế tổn thất lớn  Đặc trưng phần mềm - Không mòn cũ thoái hóa theo thời gian • Môi trường sử dụng, nhu cầu thay đổi 2 • Lỗi phát sinh tăng nâng cấp Không lắp ráp từ mẫu có sẵn Phức tạp, khó hiểu, vô hình • Phần mềm hệ thống logic khó hiểu  Nhiều khái niệm khác  Mối liên kết logic (không nhìn thấy)  Để hiểu phải tư trừu tượng • Không nhìn thấy Không phải vật thể vật lý Mỗi biểu diễn khía cạnh, hệ thống tổng thể - Thay đổi chất • Là mô hình TG thực thay đổi theo thời gian • Thay đổi thích ứng với môi trường vận hành - Cần phát triển phần mềm theo nhóm • Quy mô ngày lớn yêu cầu kĩ khác • Nhu cầu bàn giao nhanh • Năng suất nhóm không tỉ lệ với số thành viên Câu 4: Khái niệm phần mềm? Nêu vắn tắt giai đoạn phát triển phần mềm?  Các giai đoạn phát triển phần mềm • Giai đoạn 1: 1950-1960 - Chương trình nhỏ, tính toán chuyên dụng - Ngôn ngữ máy, hợp ngữ, đặc thù cho máy - Tiêu chí đánh giá: • Tính nhanh • Giải toán • Công nghệ: bóng điện tử (chậm, nhớ nhỏ) • Giai đoạn 2: Giữa thập kỉ 70 - Sản phẩm: đa dạng, đa người sử dụng - Xử lí số, kí tự, theo lô, thời gian thực - Xuất lưu trữ trực tuyến - Ngôn ngữ: Algol, Fortan - Tiêu chí đánh giá: • Nhanh • Giải toán • Nhiều người sử dụng - Công nghệ: • Bán dẫn (nhanh hơn, nhớ hơn), CSDL • Yêu cầu bảo trì (sửa lỗi, thích nghi) • Giai đoạn 3: Đầu năm 1990 - Phần mềm cá nhân, mạng, hệ lớn, chia sẻ - Ra đời phần mềm nhúng - Xử lí số, kí tự, âm thanh, hình ảnh, theo lô, thời gian thực, phân tán, song song - Truy nhập liệu phát triển, từ xa - 3 Ngôn ngữ bậc cao, hướng đối tượng, logic Tiêu chí: tiện dụng, tin cậy, dễ bảo trì Công nghệ: mạch tích hợp, vi mạch, cấu hình, mạng internet, CSDL quan hệ… • Giai đoạn 4: Từ 1990 đến - Phần mềm lớn,tinh vi, tin cậy, hướng người dùng - Hệ chuyên gia, trí tuệ nhân tạo, phần mềm nhúng, web service sử dụng rộng rãi, intrenet mở rộng - CSDL hướng đối tượng, kho DL phát triển - Ngôn ngữ: hướng đối tượng, hệ thứ 4, visual - Tiêu chí: tiện dụng, tinh vi, tin cậy dễ bảo trì - Công nghệ: vi mạch siêu tích hợp, internet, mạng không dây,tốc độ cao, hướng đối tượng, web - Câu 5: Nêu sơ lược lịch sử phát triển phần mềm? Tiêu chí để đánh giá phần mềm tốt gì?  Tiêu chí đánh giá phần mềm tốt • Người dùng:  Đủ chức nghiệp vụ  Dễ sử dụng, tinh vi (tính thông minh)  Tin cậy, an toàn • Nhà phát triển: dễ bảo trì CHƯƠNG 2: TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM Câu 6: Vòng đời phần mềm? Mô hình vòng đời phần mềm Boehm? - Vòng đời phần mềm: thời kì tính từ phần mềm tạo chết (từ lúc hình thành đáp ứng yêu cầu, vận hành, bảo dưỡng loại bỏ không đâu dùng) - Mô hình vòng đời phần mềm Boehm Suy nghĩ vòng đời phần mềm • Pha xác định yêu cầu thiết kế có vai trò định chất lượng phần mềm, chiếm phần lớn công sức so với lập trình, kiểm thử chuyển giao sản phẩm • Pha cụ thể hóa cấu trúc phần mềm phụ thuộc vào nhiều suy nghĩ xuống trừu tượng hóa chi tiết hóa • Pha thiết kế chế tạo theo xuống, pha kiểm thử từ lên • Trước chuyển sang pha phải đảm bảo pha kiểm thử không lỗi • Cần có chế kiểm tra chất lượng, xét duyệt pha nhằm đảm bảo không gây lỗi cho pha sau • Tư liệu pha không dùng cho pha sau mà đối tượng quan trọng cho kiểm tra đảm bảo chất lượng cho quy trình phần mềm • Cần chuẩn hóa mẫu biểu, cách ghi chép tạo tư liệu cho pha nhằm đảm bảo chất lượng phần mềm • Thao tác bảo trì phần mềm việc xử lý quay trở lại pha vòng đời phần mềm nhằm biến đổi, sửa chữa nâng cấp phần mềm Câu 7: Phân tích mô hình thác nước? Ưu nhược điểm mô hình? - 5  Phân tích mô hình thác nước Phân tích: tập trung vào việc thu thập phân tích thông tin cho phần mềm, chức phần mềm cần phải thực hiện, hiệu cần có chức năng, giao diện cho người sử dụng, ràng buộc mà phần mềm cần tuân thủ - Thiết kế:là trình chuyển hóa yêu cầu phần mềm thành mô tả thiết kế mà từ nhà phát triển lập trình lắp đặt hệ thống chuyển thiết kế thành chương trình vận hành - Mã hóa: dịch đặc tả thiết kế thành chương trình mã nguồn ngôn ngữ lập trình mà mã thực - Kiểm thử: phát lỗi sửa lỗi chương trình - Bảo trì: môi trường hoạt động thực tế, hệ thống có đáp ứng yêu cầu đặt ban đầu đề xuất thay đổi bổ sung để hoàn thiện hệ thống  Ưu nhược điểm mô hình - Ít dự án tuân theo dòng mô hình mà thường có lặp lại - Khách hàng tuyên bố rõ rang xong hết yêu cầu - Khách hàng phải có long kiên nhẫn chờ đợi thời gian định có sản phẩm Nếu phát lỗi nặng thảm họa Câu 8: Phân tích mô hình xoắn ốc? Ưu nhược điểm mô hình?  Phân tích mô hình xoắn ốc - 6 Giao tiếp khách hàng: người phát triển khách hàng để tìm hiểu yêu cầu, ý kiến - Lập kế hoạch: xác lập tài nguyên, thời hạn thông tin khác - Phân tích rủi ro: xem xét mạo hiểm kĩ thuật mạo hiểm quản lí - Thiết kế: xây dựng hay số biểu diễn ứng dụng - Xây dựng xuất xưởng: xây dựng, kiểm thử, cài đặt cung cấp hỗ trợ người dùng - Đánh giá khách hàng: nhận phản hồi người sử dụng, biểu diễn phần mềm giai đoạn kỹ nghệ cài đặt  Ưu nhược điểm mô hình - Tốt cho phần mềm quy mô lớn - Dễ kiểm soát mạo hiểm mức tiến hóa - Khó thuyết phục khách hàng phương pháp tiến hóa xoắn ốc kiểm soát - Chưa dùng rộng rãi mô hình tuyến tính chế thử - CHƯƠNG 3: PHÂN TÍCH ĐẶC TẢ YÊU CẦU Câu 9: Anh (chị) trình bày khái niệm yêu cầu phần mềm, phân loại yêu cầu phần mềm ? cho ví dụ minh họa?  Khái niệm yêu cầu phần mềm - Yêu cầu phần mềm sở xem xét: • Xem xét chất lượng • Yêu cầu thể đặc tả: đặc tả có chuẩn kiểm tra, đo đạc được: 7  Các chuẩn đặc tả tiêu chuẩn phát triển hướng dẫn cách thức làm phần mềm  Không tuân thủ tiêu chuẩn chắn chất lượng  Phân loại yêu cầu phần mềm - Các yêu cầu chức năng: phát biểu chức hay dịch vụ mà hệ thống cung cấp Yêu cầu chức chức mà hệ thống không nên thực - Các yêu cầu phi chức năng: ràng buộc lên dịch vụ, chức mà hệ thống cung cấp Nó bao gồm ràng buộc thời gian, ngân sách, ràng buộc trình phát triển hay ràng buộc chuẩn sử dụng… - Các yêu cầu miền lĩnh vực: yêu cầu xuất phát từ miền ứng dụng, phản ánh đặc trưng lĩnh vực ứng dụng (các quy tắc nghiệp vụ).Có thể chức hay phi chức Câu 12: Anh (Chị) trình bày kỹ thuật phân tích xác định yêu cầu?  Kỹ thuật xác định phân tích yêu cầu: - Tiếp cận định hướng cách nhìn • Ghi nhận cách nhìn khác người liên quan sử dụng vào tiến trình phát yêu cầu tổ chức yêu cầu • Các góc độ khác xem xét  Từ nguồn hay đích tới liệu  Từ khung làm việc  Từ tiếp nhận dịch vụ • Xác định yêu cầu định hướng cách nhìn gồm giai đoạn bản:  Xác định viewpoint  Cấu trúc viewpoint  Làm tài liệu viewpoint  Ánh xạ hệ thống viewpoint - Kỹ thuật phân tích yêu cầu dựa mô hình Được sử dụng rộng rãi để phân tích yêu cầu Kỹ thuật theo hướng tiếp cận Tiếp cận định hướng chức (Hướng cấu trúc dựa luồng liệu) Tiếp cận hướng đối tượng Tập trung hướng vào mô tả nghiệp vụ hệ thống thực, kết thu MÔ HÌNH NGHIỆP VỤ • Mô hình nghiệp vụ theo phương pháp gồm:  Mô hình ngữ cảnh: Mô tả hệ thống xét môi trường  Các mô hình cấu trúc chức mô tả cấu trúc chức hệ thống • •   • 8  Mô tả chi tiết chức năng: mức thấp  Mô tả đối tượng liệu: Theo hướng cấu trúc bao gồm tất hồ sơ mẫu, theo HĐT gồm đối tượng khái niệm giới thực  Mô tả mối liên kết liệu chức – cần thiết với cách tiếp cận hướng cấu trúc  Từ điển giải thích - Kỹ thuật phân tích hình thức hoá Dựa việc sử dụng khái niệm, ký pháp mô hình toán học để phân tích biểu diễn hệ thống • Phân tích không tách thành mô hình riêng Kết việc phân tích mô hình hóa cho ta đặc tả hệ thống Câu 13: Anh (Chị) trình bày Các kỹ thuật phương pháp hỗ trợ phân tích yêu cầu? - Các mô hình hệ thống: Phương pháp biểu diễn yêu cầu hệ thống cách có kỹ thuật (thay văn dạng text) - Use Case (UC) • UC chức hệ thống cách mô tả hành vi hệ thống (nghĩa tương tác người sử dụng hệ thống) • UC sử dụng để mô tả hành vi hệ thống phần mềm • Các khái niệm UC:  Actor: Nhân vật dụng hệ thống để đạt mục đích  Primary actor nhân vật khởi tạo UC  Hoạt cảnh (Scenario): Tập hợp hành động nhằm đạt mục đích - Data Flow Diagram (DFD) • DFD phổ biến phân tích toán • DFD thể dòng liệu hệ thống DFD coi hệ thống hàm chuyển liệu đầu vào thành liệu đầu • DFD biểu diễn di chuyển liệu tiến trình xử lý liệu • Ký hiệu DFD:  Tiến trình : Đường tròn  Dòng liệu đường cong có mũi tên  Hình chữ nhật nguồn sinh hay tiêu thụ liệu  Sự cần thiết nhiều dòng liệu biểu dễn “*” đặt hai dòng (AND) Nghĩa hai dòng cần thiết  Tương tự, kí hiệu “+” dùng cho phép toán OR - Các mô hình khác • Mô hình ER cho phân tích liệu • Mô hình đối tượng cho phân tích dự liệu • 9 Câu 14: Anh (Chị) trình khái niệm kiến trúc phần mềm, vai trò kiến trúc phần mềm, mô hình kiến trúc phần mềm ?  Khái niệm kiến trúc phần mềm: - Kiến trúc phần mềm (Software Architecture) cấu trúc phần mềm qua cung cấp tích hợp chặt mặt khái niệm hệ thống - Qui trình thiết kế hệ thống mô hình điều khiển/giao tiếp hệ thống architectural design Kết qui trình thiết kế software architecture - Kiến trúc phần mềm hệ thống bao gồm thành phần phần mềm, thuộc tính chúng mối quan hệ thành phần  Vai trò kiến trúc phần mềm: - Có vai trò quan trọng p/triển phần mềm (PM):  Công cụ giao tiếp người liên quan (understanding and communication): Tài liệu mô tả kiến trúc đựoc sử dụng nhiều thành viên liên quan tới dự án phần mềm  Để phân tích hệ thống/xây dựng hệ thống: Kiến trúc phần mềm sử dụng để ra/dự đoán thuộc tính hệ thống Ngoài kiến trúc phần mềm có phân hoạch tốt, việc sử dụng phân hoạch để phát triển chức dễ dàng  Sử dụng lại quy mô lớn: Chúng ta có xu hướng sử dụng lại phần phần mềm, đó, kiến trúc thông thông tin quan trọng việc hiểu biết phần phần mềm - Kiến trúc thành phần hoạt động có tác động sâu rộng đến trình phát triển PM, lọat mô tả PM mà cho phép kỹ sư PM thực công việc:  Tăng cường hiểu biết hệ thống cần xây dựng  Phân tích hiệu  Xem xét, sửa đổi kiến trúc từ sớm, giảm rủi ro  Các mô hình kiến trúc phần mềm: - Có nhiều mô hình khác nhau, thường nhìn nhận số mặt:  Mô hình kiến trúc tĩnh – hệ hay thành phần phát triển độc lập  Mô hình tiến trình động- hệ thống tổ chức thành tiến trình vận hành  Mô hình giao diện – xác định giao diện đưa dịch vụ  Mô hình liên kết – mối liên kết hệ hay thành phần  Mô hình phân tán - Cách nhìn khác  Module  Thành phần kết nối (Component & Connector – C&C)  Cấp phát (Allocation) 10 10 Câu 15: Anh (Chị ) trình bày khái niệm thiết kế vai trò thiết kế ?  Khái niệm - Thiết kế trình chuyển hóa đặc tả yêu cầu phần mềm thành biểu diễn thiết kế hệ thống phần mềm cần xây dựng cho người lập trình ánh xạ thành chương trình  Vai trò thiết kế - Là cách để chuyển hóa cách xác yêu cầu khách hàng thành mô hình thiết kế hệ thống phần mềm - Là công cụ giao tiếp nhóm tham gia phát triển phần mềm, quản lí rủi ro, đạt phần mềm hiệu - Là tài liệu cung cấp đầy đủ thông tin cần thiết để bảo trì hệ thống - Nếu thiết kế hệ thống không tin cậy dẫn đến nguy thất bại cao - Thiết kế tốt chìa khóa làm cho phần mềm hữu hiệu Câu 16: Anh (Chị) trình bày bước giai đoạn thiết kế, hình thức biểu diễn thiết kế ?  Các hình thức biểu diễn thiết kế - Các biểu đồ: biểu diễn mối quan hệ thành phần hệ thống, vừa mô hình mô tả tả giới thực - Ngôn ngữ mô tả chương trình: dùng để kiểm tra cấu trúc cấu thiết kế dựa cấu trúc ngôn ngữ lập trình - Dạng văn không hình thức hóa: mô tả thông tin hình thức hóa thông tin phi chức bên cạnh mô tả khác Câu 20: Anh (Chị) trình bày khái niệm mục đích thiết kế giao diện người dùng ?  Khái niệm UI: Là không gian nơi mà tương tác người sử dụng máy tính thực - UID thành phần quan trọng thiết kế phần mềm - Yếu tố người phải coi trọng đặc biệt (user-centric design)  Chúng ta có trí nhớ giới hạn  Chúng ta có sai lầm thao tác với phần mềm  Chúng ta có khả vật lý khác nhau: nghe nhìn, vv  Chúng ta có sở thích tương tác với phần mềm khác - Người sử dụng thông thường đánh giá phần mềm thông qua giao diện chức - Giao diện tồi nguyên nhân mà phần mềm không sử dụng - Phần lớn giao diện đồ họa  Các mô hình thiết kế giao diện: 11 11 • • • • - - Mô hình thiết kế kỹ sư phần mềm xây dựng: tổ hợp biểu diễn liệu, kiến trúc thủ tục phần mềm để thực chức Mô hình người dùng: kỹ sư phần mềm người chịu trách nhiệm làm việc với người sử dụng xây dựng, mô tả sơ lược hệ thống cho người dùng cuối Mô hình người dùng cảm nhận hệ thống người dùng cuối xây dựng Hình ảnh hệ thống người cài đặt hệ thống xây dựng, tổ hợp biểu lộ bên hệ thống dựa máy tính Tương tác người sử dụng: • Thao tác trực tiếp: • Lựa chọn menu • Nhập form • Sử dụng ngôn ngữ dòng lệnh • Sử dụng ngôn ngữ tự nhiên Trình bày thông tin: • Một số câu hỏi cần phải đặt để xác định kiểu trinhg bày thông tin • Người sử dụng quan tâm tới độ xác thông tin mối quan hệ giá trị liệu? • Tốc độ thay đổi thông tin? Và liệu người sử dụng có cần htông báo thay đổi này? • Liệu người sử dụng có bắt buộc phải tác động phản ứng lại thay đổi này? • Người sử dụng có phải tương tác với thông tin trình bày? • Kiểu liệu trình bày gi? • CHƯƠNG 5: LẬP TRÌNH HIỆU QUẢ Câu 21: Một ngôn ngữ lập trình có yếu tố đặc trưng gì? - Dễ dịch thiết kế sang chương trình - Từ khóa gần với ngôn ngữ tự nhiên - Có trình biên dịch hiểu - Khả chuyển chương trình gốc - Có sẵn công cụ phát triển - Dễ bảo trì Câu 22: Khi nói phong cách lập trình nói yếu tố nào? - Tính đơn giản dễ hiểu - Tài liệu bên - Phương pháp khai báo liệu - Cách tiếp cận đến việc xây dựng câu lệnh - Các kĩ thuật vào/ra 12 12 Câu 23: Lời thích mã nguồn chương trình thường đặt đâu? Nội dung mô tả gì? - Lời thích mã nguồn chương trình thường đặt đầu chương trình, đầu modun, đầu hàm, trước khối lệnh - Nội dung mô tả: • Truyền thông với đặc tả chương trình gốc • Mô tả hàm xử lý • Hỗ trợ diễn giải chương trình • Cách sử dụng chương trình • Cách truyền đối số cho hàm Câu 24: Khi lựa chọn ngôn ngữ lập trình để viết phần mềm thường dựa yếu tố? - Các đặc trưng ngôn ngữ lập trình định miền ứng dụng ngôn ngữ Miền ứng dụng yếu tố để lựa chọn ngôn ngữ lập trình cho dự án phần mềm Câu 25: Tính hiệu chương trình thể yếu tố nào? - Tốc độ - Bộ nhớ - Đầu vào/ra Câu 26: Để cải thiện hiệu xuất chương trình cần làm gì? - Cải thiện thuật toán - Lựa chọn cấu trúc liệu - Tinh chế mã, không gian liệu để đảm bảo tính đơn giản tính lại cần - Không nên lưu trữ không cần thiết - Nén liệu, sử dụng nguyên tắc cấp phát nhớ phù hợp - Giảm không gian chương trình gốc, lựa chọn phần cứng phù hợp Câu 27: Trình bày ngắn gọn hiểu biết anh/chị lập trình hướng thủ tục? - Lập trình hướng thủ tục phương pháp truyền thống phổ biến sử dụng thủ tục lập trình có cấu trúc, chia chương trình lớn thành chương trình nhỏ, giảm độ phức tạp, công cụ hỗ trợ đầy đủ, vùng liệu chung dẫn đến khó khan có thay đổi Câu 28: Trình bày ngắn gọn hiểu biết anh/chị lập trình hướng đối tượng? - Lập trình hướng đối tượng dựa đặc trưng bản: • Tính bao gói • Tính kế thừa • Tính đa hình CHƯƠNG 6: KIỂM THỬ 13 13 Câu 29: Kiểm thử phần mềm gì? - Là yếu tố đinh đảm bảo chất lượng phần mềm SQA (Software Quality Assuarance), khâu điển hình rà soát đặc tả, thiết kế, lập mã Kiểm thử theo Glen Myers: kiểm thử phần mềm trình vận hành chương trình để tìm lỗi Câu 30: Có loại kiểm thử nào? Kiểm thử đơn vị (unit testing - - Kiểm thử tích hợp (intergration testing) Kiểm thử hệ thống (system testing) + Kiểm thử chức (function testing) + Kiểm thử phục hồi (recovery testing) + Kiểm thử chịu tải (extra: stress load testing) + Kiểm thử thi hành (performance testing) + Kiểm thử an ninh (sercurity testing) + Kiểm thử chấp nhận (acceptance testing) Kiểm thử alpha (alpha testing) Kiểm thử beta (beta testing) Câu 31: Những hạn chế thường gặp kiểm thử phần mềm - Nâng cao chất lượng phần mềm không vượt chất lượng thiết kế, phát lỗi tiềm tàng sửa chúng Phát lỗi bị hạn chế thủ công Dễ bị ảnh hưởng tâm lí kiểm thử Khó bảo đảm tính đầy đủ kiểm thử Câu 32: Có mức kiểm thử phần mềm nào? - 14 Kiểm thử đơn vị (unit testing): kiểm thử đơn vị chương trình độc lập thủ tục, hàm, phương thức cách riêng rẽ Kiểm thử tích hợp (intergration testing): kiểm thử việc ghép nối đơn vị chương trình Kiểm thử hệ thống (system testing): bao gồm dải kiểm thử rộng chức năng, khả thi chịu tả,… Kiểm thử chấp nhận (acceptance testing): khách hàng kiểm tra kì vọng hệ thống + Có loại acceptance testing • UAT ( user acceptance testing): hệ thống đáp ứng tiêu chí hợp đồng • BAT (Business acceptance testing): hệ thống chưa đáp ứng user acceptance testing Kiểm thử thi hành (performance testing) 14 - + Có thể liên quan đến việc kiểm thử tính chất quan trọng hệ thống hiệu suất độ tin cậy + Các test hiệu suất thường liên quan đến việc lập kế hoạch cho loạt kiểm tra khả chịu tải tang dầ hệ thống thực Kiểm thử chịu tải ( stress testing): + Là thử nghiệm hệ thống vượt khả chịu tải Việc thử nghiệm tải thường giúp phát khuyết tật hệ thống + Tập trung vào vấn đề hư hại hệ thống Không có hệ thống không hỏng Stress testing chấp nhận giới hạn mát liệu dịch vụ Câu 33: Khi kiểm thử phần mềm tuân thủ nguyên tắc nào? - Nguyên tắc khách quan Nguyên tắc ngẫu nhiên Nguyên tắc “người dung kém” Nguyên tắc “kẻ phá hoại” Câu 34: Trình bày tóm tắt kiểm thử hộp trắng  Khái niệm: - Đối tượng: Mã nguồn - Mức: modun đơn vị - Nội dung khám xét: • Các chi tiết thủ tục (thuật toán) • Con đường logic (luồng điều khiển) • Các trạng thái chương trình (dữ liệu)  Nội dung kiểm thử hộp trắng - Kiểm thử gì? • Mọi lệnh (đầy đủ) • Mọi điều kiện logic (rẽ nhánh) • Mọi chu trình chương trình (lặp lại) • Mọi cấu trúc liệu dùng (dữ liệu) • Mọi tiến trình từ đầu – kết thúc(từng luồng điều khiển) - Yêu cầu đặt ra: • Mọi đường độc lập modun cần thực lần • Mọi ràng buộc logic thực hai phía phía sai • Tất vòng lặp biên biên vận hành phải thực • Mọi cấu trúc liệu nội dùng để đảm bảo hiệu lực thi hành 15 15 - - Lý kiểm thử hộp trắng • Các sai logic giả thiết không tỷ lệ nghịch với xác suất để đường logic thi hành • Thực tế: đường logic thi hành sở định • Có sai tả ngẫu nhiên đường ta không kiểm tra Các kĩ thuật sử dụng: • Đồ thị dòng (Tom MacCabe đưa đầu tiên) • Ma trận kiểm thử (số đường đi, trọng số) • Điều kiện logic (chiến lược miền BRO) • Điều khiển theo dòng liệu • Các cấu trúc chu trình – giá trị đặc trưng Câu 35: Trình bày tóm tắt hiểu biết anh/chị kiểm thử hộp đen  Khái niệm - Là kiểm thử yêu cầu chức - Đối tượng: modun, hệ con, toàn hệ thống - Đăc trưng: • Thuyết minh: chức đủ vận hành • Thực hiện: qua giao diện • Cơ sở: đặc tả, điều kiện vào/ra cấu trúc liệu • Ít ý đến cấu trúc logic nội  Mục đích kiểm thử hộp đen - Chức năng: đủ, đắn - Giao diện: vào/ra phải đủ, đúng, phù hợp, tiện lợi - Cấu trúc truy nhập liệu: thông suốt, đắn - Khởi đầu- kết thúc: tiến trình thông suốt  Các kĩ thuật kiểm thử hộp đen - Phân hoạch tương đương - Phân tích giá trị biên - Đồ thị nhân  Những hạn chế kiểm thử hộp đen - Khi hệ thống có nhiều loại liệu đầu vào khác nhau, điều dẫn tới bùng nổ ca kiểm thử - Do biết modun chương trình hay chưa kiểm thử, phải kiểm thử lại hay bỏ qua lỗi tiềm ẩn gói phần mềm - Nếu đặc tả rõ ràng súc tích khó thiết kế ca kiểm thử đắn 16 16 17 17

Ngày đăng: 09/10/2016, 14:47

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan