ĐỀ CƯƠNG CÔNG NGHỆ PHẦN MỀM CÓ ĐÁP ÁN CHI TIẾT

24 1.4K 4
ĐỀ CƯƠNG CÔNG NGHỆ PHẦN MỀM CÓ ĐÁP ÁN CHI TIẾT

Đ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

1. Định nghĩa phần mềm? Kể các loại hệ thống phần mềm ứng dụng? Giải thích nội dung? 2 2. Các đặc trưng của phần mềm? Các thuộc tính của phần mềm kỹ nghệ tốt? 3 3. Định nghĩa kỹ nghệ phần mềm? Các yếu tố: Phương pháp, công cụ và thủ tục trong quá trình kỹ nghệ được hiểu như thế nào? 5 4. Mô hình vòng đời cổ điển gồm những bước nào? Ưu và nhược điểm của mô hình này? 6 5. Mô hình làm bản mẫu hoạt động như thế nào? Ưu và nhược điểm của mô hình này? 7 6. Mô hình xoắn ốc hoạt động như thế nào? Ưu và nhược điểm của mô hình này? 9 7. Lý do phải quản lý dự án? Mục tiêu quản lý dự án là gì ? Nhiệm vụ của người quản lý là làm gì ? 11 8. Độ đo phần mềm là gì? Có những phương pháp phổ biến nào để đo kích cỡ phần mềm? 12 9. Giải thích nội dung hai chỉ tiêu: Số dòng lệnh (LOC), điểm chức năng (FP)? 13 10. Trình bày các phương trình cơ bản của mô hình COCOMO? 14 11. Các bước tiến hành mô hình COCOMO? 14 12. Trình bày nội dung của quản lý nhân sự? Các đặc trưng của nhóm và tổ chức làm việc theo nhóm? 15 13. Quản lý cấu hình là gì? Quản lý cấu hình gồm những công việc gì? 16 14. Nêu các đặc trưng của ngôn ngữ lập trình? Giải thích? 17 15. Tại sao kiểm thử lại là 1 phương pháp k thể thiếu trong việc đảm bảo chất lượng phần mềm.Nêu các loại hình (mức) kiểm thử phần mềm? Giải thích? 18 16. Liệt kê các kỹ thuật kiểm thử? So sánh giữa kiểm thử hộp đen và kiểm thử hộp trắng? Kiểm thử đơn vị (Unit test) là kiểm thử hộp đen hay kiểm thử hộp trắng? Tại sao? 20

1. Định nghĩa phần mềm? Kể các loại hệ thống phần mềm ứng dụng? Giải thích nội dung? - Định nghĩa phần mềm bao gồm các lệnh máy tính nhằm thực hiện các chức năng nhất định. Các cấu trúc dữ liệu cho phép chương trình thao tác với dữ liệu, các tài liệu giúp cho người dùng vận hành được phần mềm. có thể bảo trì được, đáng tin cậy, có hiệu quả và dễ sử dụng. PM là 1 tập hợp những câu lệnh đượ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 nhằm tự động thực hiện một số chức năng hoặc giải quyết một bài toán nào đó Phần mềm gồm 3 loại: chương trình máy(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 dữ liệu-bộ nhớ ngoài) và các tài liệu liên quan (hướng dẫn sử dụng cho người sử dụng, tài liệu tham khảo kỹ thuật cho nhà bảo trì, tài liệu phát triển cho người phát triển thiết kế) - Các loại hệ thống phần mềm ứng dụng : Phần mềm hệ thống: vd win xp…là một tập các chương trình đc viết để phục vụ cho các chương trình khác,đặc trưng bởi tương tác với phần cứng máy tính. Nó xử lý các chương trình phức tạp nhưng xđịnh ( trình biên dịch, trình soạn thảo ). Phần mềm thời gian thực: là phần mềm điểu phối, phát triển hoặc kiểm soát ở thế giới thực ngay khi chúng xuất hiện thì gọi là phần mềm thời gian thực. điển hình là các phần mềm điều khiển các thiết bị tự động. Nó bao gồm các thành tố: tp thu thập dữ liệu để thu và định dạng thông tin từ môi trường ngoài, tp để biến đổi thông tin theo yêu cầu của ứng dụng,tp kiểm soát hoặc đưa ra đáp ứng môi trường ngoài, tp điều phối để điều hòa các thành phần khác sao cho có thể duy trì và đáp ứng thời gian thực. Phần mềm nghiệp vụ: là các pm` xử lý thông tin nghiệp vụ gắn với CSDL Phần mềm KH và CN: đặc trưng bởi các thuật toán phức tạp, loại phần mềm này đòi hỏi năng lực tính toán cao. Phần mềm nhúng: là pm nằm trong bộ nhớ chỉ đọc và đc dùng để đkhien các sản phần và hệ thống cho người dùng và thị trường công nghiệp. Phần mềm máy tính cá nhân: gồm các bài toán nghiệp vụ nhỏ, học tập giải trí. Có yêu cầu về giao diện đồ họa phát triển và là phần mềm có nhu cầu lớn. Phần mềm trí tuệ nhân tạo: dùng các thuật toán phi sổ để giải quyết những vấn đề phức tạp(suy luận,lôgic ) vd: hệ chuyên gia, trò chơi, nhận dạng… Phần mềm dựa trên web: cung cấp các dịch vụ khai thác ứng dụng trên web.(browser) 2. Các đặc trưng của phần mềm? Các thuộc tính của phần mềm kỹ nghệ tốt? - Đặc trưng của phần mềm: +) PM ko chế tạo trên đĩa cổ điển: PM được thiêt kế phát triển như phần cứng nhưng nó ko được định hình trước, chỉ khi phát triển xong người ta có sản phẩm cụ thể mới hiểu được nó có hiểu quả hay ko. Tức là ở các bước trung gian chúng ta khó kiểm soát được pm + Phần mềm không mòn cũ nhưng thoái hóa theo thời gian, pm ko cảm ứng với những tác động môi trường vốn gây cho phần cứng bị mòn đi nhưng nó cũng bị thoái hoá theo time. Thực tế pm trải qua time sử dụng cần phải được thay đổi bảo trì để đáp ứng nhu cầu luôn thay đổi của ntổ chức của nó. + Phần lớn phần mềm đều đc xây dựng từ đầu, ít được rắp ráp từ mẫu có sẵn: không có danh mục thiết kế phần mềm cho trước, các phần mềm được thiết kế do đặt hàng và làm theo yêu cầu của khách hàng. + Giá thành của pm chủ yếu tập trung vào chi phí nhân công phát triển pm phụ thuộc vào con người, sự hiểu biết khả năng quản lý…môi trường đa dạng và con người thay đổi do đó rất khó ước lượng chi phí cũng như phát triển pm - Các thuộc tính của phần mềm kỹ nghệ tốt: +) Bảo trì được: “phần mềm luôn yêu cầu đc sửa đổi” Để sửa đổi được phần mềm cần: Thiết kế dễ hiểu, dễ sửa (thiết kế tốt), Cài đặt bằng ngôn ngữ bậc cao, Có đầy đủ tài liệu, Có tuổi thọ caophục vụ nhiều, Chi phí thấp cho hiệu quả +) Đáng tin cậy: phần mềm ít khiếm khuyết như:Lỗi lập trình, Lôi phân tich, thiết kế: sai, thiếu chức năng, Hoạt động không hiệu quả Đáp ứng được nhu cầu người sử dụng: Đảm bảo thời gian làm việc, ổn định, cho kết quả xác đáng +) Có hiệu quả: Không sử dụng lãng phí tài nguyên phần cứng: Đòi hỏi bộ nhớ lớn, Đòi hỏi tốc độ cao, Chiếm không gian đĩa lớn,…  cần tối ưu hợp lý  nhưng tối ưu hóa dễ dẫn tới khó khăn bảo trì, giá thành cao: dùng ngôn ngữ bậc thấp, truy cập trực tiếp đến thiết bị. +) Tiện dụng: Giao diện phù hợp với trình độ của users, Học nhanh nhớ lâu, Có đủ tài liệu và tiện ích trợ giúp  giao diện quyết định thành công của sản phẩm +) giá cả hợp lý: khó tối ưu đồng thời các thuộc tính. Hiệu quả<> dễ bảo trì, dễ sử dụng, chi phí cho tối ưu là không tuyến tính 3. Định nghĩa kỹ nghệ phần mềm? Các yếu tố: Phương pháp, công cụ và thủ tục trong quá trình kỹ nghệ được hiểu như thế nào? Kỹ nghệ phần mềm là thiết lập và sử dụng các nguyên lý công nghệ đúng đắn để được phần mềm một cách kinh tế, vừa tin cậy, vửa làm việc hiệu quả trên các máy thực. - Các yếu tố: Phương pháp: là cách làm cụ thể để xây dựng phần mềm. Được sử dụng các bước: Lập kế hoạch ; Ước lượng dự án ; Phân tích yêu cầu hệ thống ; Thiết kế cấu trúc dữ liệu, kiến trúc chương trình, thủ tục thuật toán, mã hóa, kiểm thử và bảo trì. Công cụ: trợ giúp tự động hoặc bán tự động phương pháp, nó gồm các công cụ khác nhau hỗ trợ trong quá trình thiết kể cũng như phát triển phần mềm, hầu như các công cụ là ngôn ngữ lập trình Thủ tục: xác định trình tự thực hiện công việc, phương pháp sẽ đc áp dụng cho mỗi dự án; Tạo các sản phẩm cần bàn giao như tài liệu báo cáo, bản mẫu cần cho việc kiểm soát để đảm bảo chất lượng và điều hòa thay đổi; định mức thời gian và sản phẩm đưa ra. 4. Mô hình vòng đời cổ điển gồm những bước nào? Ưu và nhược điểm của mô hình này? Mô hình này yêu cầu tiếp cận 1 cách hệ thống, tuần tự và chặt chẽ, xong bước này mới chuyển sang bước kia - Phân tích: phân tích hệ thống: xác định tính khả thi của pm, yêu cầu cũng như tính khả thi của PM. Ptich y/c PM là phân tích y/c tập trung ở việc thu tập và ptich các thông tin cần cho PM, các chức năng phải thực hiện (hiệu năng cần có và cả giao diện cho người sd - thiết kế: là quá trình chuyển hóa các yêy cầu PM thành các mô tả thiết kế gồm nhiều bước thông thường gồm: cấu trúc PM, cấu trúc tổng quan, Phân tích Thiết kế Mã hóa Kiểm thử Bảo trì thiết kế cấu trúc dữ liệu, thiết kê chi tiết các thủ tục, thiết kế giao diện và tương tác. - Mã hóa: biểu diễn thiết kế bằn 1 hay 1 số ngôn ngữ lập trình và dịch thành mã máy thực hiện được. - Kiểm thử: là xem PM có hđ như mong muốn hay không tức là phát hiện ra những lỗi, hay thiếu hụt, hay sai xót về chức năng, ktra xem PM có đảm bảo tính hiệu quả hay không. - Bảo trì: bào gồm các công việc sửa chữa các lõi phát sinh khi hđ chương trình hoặc yêu cầu bổ sung nâng câo hiệu năng cần có. Ưu điểm: có sớm và được sử dụng rộng rãi, thích hợp khi yêu cầu hiểu tốt, hệ lớn và phức tạp; dễ bảo trì. Nhược điểm: khó tuân thủ tuần tự (các dự án lớn thường phải quay lại), khó đáp ứng yêu cầu thường thay đổi của khách hàng, đòi hỏi khách hàng phải kiên nhẫn, sai sót phát hiện muộn có thể coi là thảm họa, tài liệu quá nhiều tốn sức người cũng như thời gian tiền bạc. 5. Mô hình làm bản mẫu hoạt động như thế nào? Ưu và nhược điểm của mô hình này? Hoạt động: trước hết người phát triển và khách hàng gặp nhau xây dựng mục tiêu tổng thể cho pm, xác định các yêu cầu đã biết, các miền cần khảo sát thêm. Giai đoạn thiết kế nhanh tập trung vào việc biểu diễn các khía cạnh của pm, thấy được đối với người dùng và xây dựng1 bản mẫu một cách nhanh chóng. sau đó được làm mịn hoắc thiết kế lại, và quá trình này được lặp đi lặp lại cho đến khi không còn yêu cầu mới nào được phát hiện và không cần sửa đổi gì thêm nữa. Sau đó phiên bản cuối cùng được sử dụng. Mỗi bản mẫu nhận được lần sau đáp ứng được nhu cầu người dùng nhiều hơn, gần với hệ thống cần xây dựng hơn. -các dạng của bản mẫu: có 3 dạng +Bản mẫu trên giấy hay máy tính mô tả giao diện người-máy, làm người dùng hiểu được cách tương tác xuất hiện. +Bản mẫu cái đặt chỉ một tập con các chức năng cảu pm mong đợi +Bản mẫu là một chương trình có thể thực hiện 1 phần hay tất cả các chức năng mong muốn nhưng ở mức sơ lược và cần cải tiến thêm các tính năng khác tuỳ theo khả năng phát triển Ưu điểm: -Không phải ở bước cuối cùng khách hàng mới đánh giá được kết quả cuối cùng. Và luôn có sự trao đổi giữa khách hàng với người phát triển -Làm bản mẫu đặc biệt có lợi khi mà một ssos nhu cầu thoogn tin hay giải pháp cho nó còn chưa dược xác định -Có lợi cho thiết kế giao diện cuối cùng -Hạn chế được những chi phí quá đáng của sự phát triển -Thích hợp nhất với những hệ thống nhỏ hay hệ thống lớn có thể chia nhỏ đẻ làm từng phần Nhược điểm: -Do sự hoàn thiện tiến hoá của bản mẫu pm thường có cấu trúc ko cao nên khó kiểm soát, khó bảo trì. -Khi mà bản mẫu ko có cấu trúc chặt chẽ, việc đảm bảo kỹ thuật có thể ko hiệu quả. Nó có thể ko ăn nhập với những trường hợp mà dữ liệu ko lớn hay số người dùng nhiều -Khách hàng nhiều khi thất vọng với việc phát triển pm do họ lầm tưởng bản mẫu là sản phẩm cuối cùng hướng tới người sử dụng, do đó khách hàng cũng không giành nhiều công sức vào đánh giá bản mẫu-> do đó những sai sót nhỏ có thể được sửa đổi chậmhơn -Hệ thống thay đổi nhanh, việc làm tài liệu có thể ko kịp thời (Đối với đối tượng khách hàng hay thay đổi ta nên áp dụng mô hình phát triển phần mềm bản mẫu bởi vì mô hình vòng đời cổ điển luôn luôn lặp đi lặp lại một hành động nên nó chỉ phù hợp với khách hàng có ít yêu cầu) 6. Mô hình xoắn ốc hoạt động như thế nào? Ưu và nhược điểm của mô hình này? Hoạt động: quá trình phát triển được chia thành hiều bước lặp đi lặp lại, mọi bước bắt đầu bằng việc phân tích rủi ro rồi tạo ra bản mẫu, cải tạo và phát triển bản mẫu, duyệt lại và cứ thế tiếp tục. Nội dung 1 bước bao gồm 4 hoạt động chính: -hđ1: lập kế hoạch, xác định mục tiêu và các giải pháp và các ràng buộc -hđ2: phân tích rủi ro là phát triển các phương án và xác định giải quyết rủi ro -hđ3: kỹ nghệ: đưa ra các bản mẫu, phát triển sản phẩm ở mức tiếp theo -hđ4: Đánh giá: đánh giá của khách hàng về kết quả của kỹ nghệ [...]... đều, 1 số công việc thì quá khó với người này, nhưng lại dễ với người khác do vậy người quản lý phải nhạy bén nắm rõ vấn đề để phân công công việc cho hợp lý 13 Quản lý cấu hình là gì? Quản lý cấu hình gồm những công việc gì? Quản lý cấu hình là một công việc quan trọng trong sản xuất phần mềm Mã nguồn và dữ liệu là sản phẩm chính của dự án phần mềm Quản lý cấu hình được tự động hóa thông qua các công. .. trường của nó thay đổi • chương trình gốc có thể được tích hợp vào trong các phần mềm khác nhau với ít hoặc không cần thay đổi gì cả • Có sẵn công cụ phát triển: làm giảm bớt thời gian lập trình tính có sẵn công cụ phát triển có thể làm giảm thời gian cần để sinh ra chương trình gốc, cải thiện chất lượng chương trình, Nhiều người lập trìnhcó thể cần tới 1 loạt công cụ kể cả trình biên dịch gỡ lỗi, trợ... dạng chương trình gốc, các tiện nghi soạn thảo có sẵn, các công cụ kiểm soát chương trình, thư viện các chương trình con mở rộng • Tính dễ bảo trì của chương trình gốc: có tầm quan trọng chủ chốt cho tất cả các nỗ lực phát triển phần • mềm • việc bảo trì không thể đc tiến hành chừng nào người ta còn chưa hiểu đc phần mềm, các yếu tố của cấu hình phần mềm như tài liệu TK, đưa ra một nền tảng cho việc... đi có thể, tức là đảm bảo mọi lệnh đều đc thực hiện ít nhất 1 lần trong 1 ca kiểm thử nào đó +Kiểm thử cấu trúc chú trọng vào chương trình ở mức chi tiết và phù hợp khi kiểm tra các module nhỏ Tuy nhiên nó có thể ko đầy đủ vì kiểm thử hết các lệnh, các đường đi ko chứng tỏ chúng ta có thể kiểm thử hết các trường hợp có thể, có khả năng tồn tại các tổ hợp khác nhau gây nên lỗi cả 2 kiểm thử trên đều... và đánh giá rủi ro ở mỗi bước là cơ chế tốt đảm bảo sự thành công của công việc xây dựng HTTT (vì rủi ro ở mỗi bước là nhỏ, dễ dàng nhận ra, để khắc phục và có xảy ra ko ảnh hưởng lớn đến phần đã xây dựng) Nhược điểm: -Cách tiếp cận tiến hoá khó kiểm soát được -Đòi hỏi chuyên gia đánh giá rủi ro phải có năng lực quản lý chuyên môn cao, nếu ko quản lý tốt sẽ rơi vào trạng thái sửa lỗi cục bộ, ko có kế... thiết kế • 1 ngôn ngữ cài đặp trực tiếp cho các kết cấu có cấu trúc dữ liệu và các kết cấu hướng sự vật sẽ làm việc dịch từ thiết kế sang chương trình gốc dễ hơn nhiều • Có trình biên dịch hiệu quả:các ngôn ngữ có trình biên dịch tối ưu là quan trọng nếu hiệu năng phần mềm là yêu càu chủ chốt • Có tính khả chuyển chương trình gốc: • chương trình gốc có thể được chuyên từ BXL này sang BXL khác, từ trình... doanh, tổ chức…) và cũng là một đề tài nghiên cứu trên lý thuyết, liên quan đến lý thuyết và các kỹ thuật thực hành để quản lý một lực lượng lao động Chi phí phát triển pm chủ yếu dựa vào chi phí trả công cho nhân viên, là phần chính của chi phí xây dựng pm ngoài ra năng lực của con người phát triển pm lại rất biến thiên-> kéo theo sự phức tạp trong quá trình tính toán - Đặc trưng của nhóm : Phát triển... là công việc rất quan trọng của người quản lý dự án, được tiến hành bằng cách chia nhỏ các modul rồi ước lượng Và Mô hình COCOMO là 1 mô hình ước lượng chi phí số dòng lệnh - Các bước tiến hành mô hình COCOMO: -Thiết lập kiểu dự án (đơn giản, trung bình, phức tạp) -Xác lập các modul và ước lượng dòng lệnh -Tính lại số dòng lệnh trên cơ sở tái sử dụng -Tính nỗ lực phát triển trên từng modul (có. .. dần Nếu phân tích rủi ro chỉ ra rằng yêu cầu là ko chắc chắn thì bản mẫu có thể được sd trong góc phần tư kỹ nghệ Các mô hình và các mô phỏng khác cũng được dùng để làm rõ hơn vấn đề và làm mịn yêu cầu Tại một vòng xoắn ốc, phân tích rủi ro phải đi đến quyết định “tiến hành tiếp hay dừng”, nếu rủi ro quá lớn có thể đình chỉ dự án Ưu điểm: Mô hình xoắn ốc là cách tiếp cận thức tế nhất để phát triển các... chuyên gia phần mềm ứng dụng, người quản lý Không nên tăng số lượng thành viên 1 cách vô thức khi dự án thiều người vì như thế chỉ làm tăng sự phức tạp giữa các thành viên khiến công việc nhiều khi chậm lại Một số việc phức tạp đặc thù chỉ nên để 1 người làm - Đặc trưng của làm việc theo nhóm là sự trao đổi thông tin giữa các thành viên trong nhóm Thời gian dùng cho việc giao tiếp có thể chi m đến . 1. Định nghĩa phần mềm? Kể các loại hệ thống phần mềm ứng dụng? Giải thích nội dung? - Định nghĩa phần mềm bao gồm các lệnh máy tính nhằm thực hiện các chức năng nhất định. Các cấu. trưng của phần mềm? Các thuộc tính của phần mềm kỹ nghệ tốt? - Đặc trưng của phần mềm: +) PM ko chế tạo trên đĩa cổ điển: PM được thiêt kế phát triển như phần cứng nhưng nó ko được định hình. cho tất cả các nỗ lực phát triển phần mềm. • việc bảo trì không thể đc tiến hành chừng nào người ta còn chưa hiểu đc phần mềm, các yếu tố của cấu hình phần mềm như tài liệu TK, đưa ra một

Ngày đăng: 19/11/2014, 11:49

Từ khóa liên quan

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

Tài liệu liên quan