ĐỀ CƯƠNG ÔN TẬP MÔN CÔNG NGHỆ PHẦN MỀM(CTB)

12 449 0
ĐỀ CƯƠNG ÔN TẬP MÔN CÔNG NGHỆ PHẦN MỀM(CTB)

Đ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ƯƠNG ÔN TẬP MÔN CÔNG NGHỆ PHẦN MỀM(CTB) Câu 1: • 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 dữ liệu: 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 sử dụng, tham khảo kỹ thuật, tài liệu phát triển. • Phân biệt phần mềm và phần cứng: Phần cứng là các cơ phận (vật lý) cụ thể của máy tính hay hệ thống máy tính như màn hình, chuột, bàn phím, máy in, máy quét, CPU, loa,…. Phần mềm là 1 tập hợp những câu lệnh hoặc chỉ thị được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định, và các dữ liệu hay tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một vấn đề cụ thể nào đó. Phần mềm là một khái niệm trừu tượng, nó khác với phần cứng ở chỗ là phần mềm không thể sờ hay đụng vào, và nó cần phải có phần cứng mới có thể thực thi được. • Phân loại phần mềm: Theo mức độ hoàn thiện: + Chương trình + Sản phẩm phần mềm Theo chức năng thực hiện:+ Phần mềm hệ thống + Phần mềm nghiệp vụ + Phần mềm công cụ Theo lĩnh vực ứng dụng:+ 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 khoa học kỹ thuật +Phần mềm nhúng +Phần mềm máy tính cá nhân +Phần mềm trí tuệ nhân tạo +Phần mềm dựa trên nền web

ĐỀ CƯƠNG ÔN TẬP MÔN CÔNG NGHỆ PHẦN MỀM(CTB) Câu 1: • • • 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 liệu: cấu trúc làm việc ( nhớ ), cấu trúc lưu trữ (bộ nhớ ngoài) - Các tài liệu liên quan: Hướng dẫn sử dụng, tham khảo kỹ thuật, tài liệu phát triển Phân biệt phần mềm phần cứng: - Phần cứng phận (vật lý) cụ thể máy tính hay hệ thống máy tính hình, chuột, bàn phím, máy in, máy quét, CPU, loa,… - Phần mềm tập hợp câu lệnh thị viết nhiều ngôn ngữ lập trình theo trật tự xác định, liệu hay tài liệu liên quan nhằm tự động thực số nhiệm vụ hay chức giải vấn đề cụ thể Phần mềm khái niệm trừu tượng, khác với phần cứng chỗ "phần mềm sờ hay đụng vào", cần phải có phần cứng thực thi Phân loại phần mềm: - Theo mức độ hoàn thiện: + Chương trình + Sản phẩm phần mềm - Theo chức thực hiện:+ Phần mềm hệ thống + Phần mềm nghiệp vụ + Phần mềm công cụ - Theo lĩnh vực ứng dụng:+ 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 khoa học kỹ thuật +Phần mềm nhúng +Phần mềm máy tính cá nhân +Phần mềm trí tuệ nhân tạo +Phần mềm dựa web Câu 2: • Kiến trúc phần mềm: cấu trúc thành phần chương trình máy tính hay hệ thống tính toán 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 • • • Thế phần mềm tốt? Phần mềm phải đáp ứng chức theo yêu cầu, có hiệu tốt, có khả bảo trì, đáng tin cậy người sử dụng chấp nhận Câu 3: Vai trò phần mềm: - Là linh hồn hệ thống máy tính - Là 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 - Không lắp rắp từ mẫu có sẵn - Phức tạp, khó hiểu, vô hình - Thay đổi chất - Cần phát triển theo nhóm Câu 4: Vắn tắt 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 + Xử lý số, theo lô + 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 - 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, Fortran + Tiêu chí đánh giá: Nhanh, giải toán lớn, nhiều người dùng - Giai đoạn 3: Đầu năn 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 + 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ì - Giai đoạn 4: Từ năm 1990 đến nay: + 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, webserrvice sử dụng rộng rãi, internet mở rộng + CSDL hướng đối tượng, kho liệu 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âu 5: 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 6: Vòng đời phần mềm: thời kỳ tính từ phần mềm sinh (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 người dùng) Mô hình vòng đời phần mềm Boehm: • Câu 7: 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 cần 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ế: 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ã mãy 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 thác nước: - Thực tế dự án tuân theo dòng tuần tư mô hình, mà thường có lặp lại - Khách hàng tuyên bố rõ ràng xong hết yêu cầu - Khách hàng phải có lòng 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: Mô hình xoắn ốc: - • • 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ý - Kỹ nghệ: 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 (tư liệu, huấn luyện…) - Đá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 xoắn ốc: - Tốt cho hệ phần mềm quy mô lớn - Dễ kiểm soát mạo hiểm mức tiến hóa - Khóa 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ử Câu 9: - 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: +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:  Yêu cầu chức  Yêu cầu phi chức  Yêu cầu sản phẩm - • Yêu cầu tiếng trình phát triển Yêu cầu ngoại lại VD minh họa: ……… Câu 10: Các kỹ thuật đặc tả yêu cầu: Đặc tả ngôn ngữ hướng cấu trúc Đặc tả dựa biểu mẫu Đặc tả dựa biểu đồ trình tự Câu 11: Qui trình xác định yêu cầu:   - - • Câu 12: Kĩ thuật phân tích xác định yêu cầu: - Tiếp cận định hướng cách nhìn - Kĩ thuật phân tích yêu cầu dựa mô hình - Kĩ thuật phân tích hình thức hóa Câu 13: 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 - Use Case: chức hệ thống cách mô tả hành vi hệ thống - Data Flow Diagram (DFD): Thể dòng liệu hệ thống, biểu diễn di chuyển liệu tiến trình xử lý liệu - 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 liệu Câu 14: Kiến trúc phần mềm: cấu trúc thành phần chương trình máy tính hay hệ thống tính toán 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 • • Vai trò kiến trúc phần mềm: - Có vai trò quan trọng p/triển phần mềm: + Công cụ giao tiếp người liên quan + Để phân tích hệ thống + Sử dụng lại quy mô lớn - Cho phép kỹ sư phần mềm 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 Mô hình kiến trúc phần mềm: - Mô hình kiến trúc tĩnh - Mô hình tiến trình động - Mô hình giao diện - Mô hình liên kết - Mô hình phân tán Câu 15: - Khái niệm thiết kế: Thiết kế phần mềm trình chuyển đặ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 vận hà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 cuối cùng, làm sở cho việc triển khai chương trình phần mềm  Là công cụ giao tiếp nhóm tham gia vào việc phát triển sản phẩm, để quản lý rủi ro, đạt đến phần mềm hiệu  Là tài liệu cung cấp đầy đủ thông tin cần thiết cho người kỹ sư hệ thống để bảo trì hệ thống sau  Nếu ko có thiết kế hệ thống ko tin cậy  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: • Các bước giai đoạn thiết kế: • Hình thức biểu diễn thiết kế: - Các biểu đồ - Ngôn ngữ mô tả chương trình - Dạng văn không hình thức hóa Câu 17: Phương pháp thiết kế cấu trúc: - Phát biểu lại toán DFD( Data Flow Diagram) Chỉ thành phần liệu vào/ra Phân chia mức cao Phân chia mức chi tiết Câu 18: Phương pháp thiết kế hướng đối tượng: - Hệ thống nhìn nhận đối tượng tương tác với nhau, đối tượng gồm liệu vào thao tác lớp xác định thuộc tính phương thức, có tính kế thừa cao Các đối tượng liên lạc với thông điệp số công cụ hỗ trợ mạnh như: Jbuilder Câu 19: Sự khác thiết kế hướng chức thiết kế hướng đối tượng: Hướng chức Cách tiếp cận truyền thống Hướng đối tượng Cách tiếp cận đại Tập trung vào thông tin Tính tái sử dụng thấp Thiết kế ngân hàng liệu theo thông tin người dùng yêu cầu Tập trung vào thông tin cách hoạt động Tính tái sử dụng cao Ánh xạ thành phần toán vào đối tượng đời thực Câu 20: - Khái niệm UI(User Interface): Là không gian nơi mà tương tác người sử dụng máy tính thực Mục đích thiết kế giao diện người dùng:  Tương tác người sử dụng: thao tác trực tiếp, lựa chọn menu, nhập form,…  Trình bày thông tin: Một số câu hỏi để xác định kiểu trình 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? +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 gì? Câu 21: - - Một ngôn ngữ lập trình có yếu tố đặc trưng bản: 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ố: Tính đơn giản rõ ràng chương trình 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 Câu 23: Lời thích mã nguồn chương trình thường đặt đầu chương trình, đầu mô đun, đầu hàm trước khối lệnh - - - - - - - - Nội dung: truyền thông với độc giả chương trình gốc, mô tả hàm xử lý, hỗ trợ diễn giải chương trình, ngày tháng lịch sử phát triển 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 yếu tố ngôn ngữ lập trình định: miền ứng dụng ngôn ngữ lập trình Miền ứng dụng yếu tố để lựa chọn ngôn ngữ lập trình Dựa vào lực thói quen người lập trình Câu 25: Tính hiệu chương trình thể yếu tố: Hiệu tốc độ, nhớ hiệu vào Câu 26: Để cải thiện hiệu xuất chương trình cần làm: Cải thiện thuật toán Lựa chọn cấu trúc liệu, ko gian liệu Sử dụng nguyên tắc cấp phát nhớ phù hợp, lựa chọn phần cứng phù hợp Câu 27: Hiểu biết lập trình hướng thủ thục: Là 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 Nhược điểm: vùng liệu dùng chung  khó khăn có thay đổi Câu 28: Hiểu biết lập trình hướng đối tượng: Chương trình gồm đối tượng: Bao gói/che dấu thông tin, Kế thừa, Đa hình Vùng liệu dùng chung nhỏ, phù hợp với dự án lớn Câu 29: Kiểm thử phần mềm là: Kiểm tra xem phần mềm có đặc tả ko Kiểm tra xem phần mềm có đạp ứng nhu cầu người dùng ko Câu 30: Có loại kiểm thử: Kiểm thử tĩnh - - - - - - Kiểm thử động Kiểm thử thống kê … Câu 31: Những hạn chế thường gặp phải kiểm thử phần mềm: Ko thể khẳng định tính chương trình chất qui nạp toán học Nhiều trường hợp kiểm thử giai đoạn cuối lỗi phát sinh giai đoạn đầu Bộ liệu kiểm thử ko thay đổi Người kiểm thử lại người xây dựng phần mềm Phát lỗi bị hạn chế thủ công Dễ bị ảnh hưởng tâm lý kiểm thử Khó đảm bảo tính đầy đủ kiểm thử Câu 32: Có mức kiểm thử phần mềm: Kiểm thử đơn vị Kiểm thử mô đun Kiểm thử hệ thống Kiểm thử chấp nhận Kiểm thử tích hợp Câu 33: Khi kiểm thử phần mềm phải tuân thủ nguyên tắc: Nguyên tắc khách quan Nguyên tắc ngẫu nhiên Nguyên tắc “người dùng kém” Nguyên tắc “kẻ phá hoại” Câu 34: Hiểu biết kiểm thử hộp trắng: Xét duyệt thiết kế Xét duyệt yêu cầu Nghiên cứu mã nguồn Kiểm tra tính chương trình Có thể phát hết lỗi chương trình ko đánh giá tính hiệu chương trình, tốn thời gian công sức Câu 35: Hiểu biết kiểm thử hộp đen: Được tiến hành sau có chương trình Ưu: + nhanh, dễ tiến hành - + có nhiều công cụ hỗ trợ Nhược: phụ thuộc nhiều vào liệu Câu 36: Việc kiểm thử phần mềm nên làm giai đoạn trình phát triển phần mềm: Ở toàn trình phát triển, giai đoạn cần phải rà soát sửa đổi lỗi lỗi phát sớm tốt, đỡ tốn Nếu lỗi phát muộn chi phí sửa đổi lớn [...]... thử phần mềm: Ko thể khẳng định tính đúng của chương trình do bản chất qui nạp toán học Nhiều trường hợp kiểm thử ở giai đoạn cuối nhưng lỗi phát sinh ở giai đoạn đầu Bộ dữ liệu kiểm thử ko được thay đổi Người kiểm thử lại là người xây dựng phần mềm Phát hiện lỗi bị hạn chế do thủ công là chính Dễ bị ảnh hưởng tâm lý khi kiểm thử Khó đảm bảo tính đầy đủ khi kiểm thử Câu 32: Có những mức kiểm thử phần. .. và công sức Câu 35: Hiểu biết về kiểm thử hộp đen: Được tiến hành sau khi có chương trình Ưu: + nhanh, dễ tiến hành - + có nhiều công cụ hỗ trợ Nhược: phụ thuộc nhiều vào bộ dữ liệu Câu 36: Việc kiểm thử phần mềm nên được làm ở những giai đoạn nào của quá trình phát triển phần mềm: Ở toàn bộ quá trình phát triển, ở giai đoạn nào cũng cần phải rà soát sửa đổi các lỗi và lỗi được phát hiện càng sớm càng... thử phần mềm phải tuân thủ các nguyên tắc: Nguyên tắc khách quan Nguyên tắc ngẫu nhiên Nguyên tắc “người dùng kém” Nguyên tắc “kẻ phá hoại” Câu 34: Hiểu biết về kiểm thử hộp trắng: Xét duyệt thiết kế Xét duyệt yêu cầu Nghiên cứu mã nguồn Kiểm tra tính đúng của chương trình Có thể phát hiện hết các lỗi của chương trình nhưng ko đánh giá được tính hiệu quả của chương trình, tốn kém thời gian và công

Ngày đăng: 09/10/2016, 16:00

Từ khóa liên quan

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

Tài liệu liên quan