Câu hỏi ôn tập môn CNPM - Công nghệ thông tin | Trường Đại học Kiến trúc Hà Nội
1. Phần mềm là gì? Nhiệm vụ của kỹ sư phần mềm. 2. Người kỹ sư phần mềm phải có những kỹ năng cơ bản nào? 3. Tại sao lại phải nghiên cứu cách thức xây dựng phần mềm 1 cách khoa học. 4. Phần mềm được phân loại thành các nhóm chính như thế nào. Nêu ví dụ. 5. Miền ứng dụng của phần mềm?. Tài liệu được sưu tầm giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem !
Môn: Công nghệ thông tin (HAU)
Trường: Đại học Kiến trúc Hà Nội
Thông tin:
Tác giả:
Preview text:
CÂU HỎI ÔN TẬP
Các khái niệm cơ bản:
1.
Phần mềm là gì? Nhiệm vụ của kỹ sư phần mềm.
2. Người kỹ sư phần mềm phải có những kỹ năng cơ bản nào?
3.
Tại sao lại phải nghiên cứu cách thức xây dựng phần mềm 1 cách khoa học.
4.
Phần mềm được phân loại thành các nhóm chính như thế nào. Nêu ví dụ.
5. Miền ứng dụng của phần mềm?
6.
Công nghệ phần mềm là gì (Tiếng Anh). Các yếu tố chủ chốt của CNPM
7.
Hãy nói vòng đời của phần mềm
8. Nêu và phân tích các giai đoạn trong tiến trình phần mềm?
9.
Mục tiêu của CNPM.? Cho ví dụ và phân tích.
10. Thế nào là một phần mềm tốt (tiêu chuẩn đánh giá một phần mềm tốt)
Chương 1. Tổng quan về công nghệ phần mềm
Câu 1. Quy trình làm phần mềm là gì? Nêu các pha của quy trình làm phần mềm. Vì sao các pha cần được kiểm thử kỹ và báo cáo thành tài liệu chi tiết trước khi tiến hành các pha tiếp theo.
Câu 2. Mô hình xây dựng-và-hiệu chỉnh (build-and-fix model) có thể biểu diễn trong sơ đồ sau:
Xây dựng phiên
bản đầu tiên
Hiệu chỉnh cho đến khi khách hàng chấp nhận
Thôi sử dụng
Sử dụng và bảo trì
1
Hãy dựa vào sơ đồ và giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
Câu 3. Pha đặc tả đóng vai trò quan trọng như thế nào trong công nghiệp phần mềm. Hãy nêu và mô tả các bước tiến hành và những điều cần chú ý trong pha đặc tả.
Câu 4. Hãy nêu vai trò và mô tả nội dung công việc trong pha xác định yêu cầu trong công nghiệp phần mềm và trình bày rõ hơn các kỹ thuật được sử dụng trong pha này
Câu 5: Mô hình thác đổ (waterfall model) có thể biểu diễn trong sơ đồ sau:
Hãy dựa vào sơ đồ và giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
Câu 6. Hãy nêu mục tiêu và công việc kiểm thử trong pha cài đặt và pha tích hợp
Câu 7. Pha đặc tả đóng vai trò quan trọng như thế nào trong công nghiệp phần mềm. Hãy nêu và mô tả các bước tiến hành và những điều cần chú ý trong pha đặc tả.
Câu 8. Mô hình bản mẫu (rapid prototyping model) có thể biểu diễn trong sơ đồ sau:
2
Dựa vào sơ đồ này hãy giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
Bên cạnh sơ đồ này còn có sơ đồ biểu diễn mô thức làm bản mẫu. Hãy vẽ sơ đồ đó, rồi giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời so sánh với mô hình thác đổ. Vì sao người ta khuyên rằng không nên sửa chữa bản mẫu thành phần mềm chuyển giao?
Câu 9. Nêu rõ một số khái niệm: dự án, quản lý dự án, quản lý dự án phần mềm. Hãy mô tả để trở thành người quản lý dự án tốt cần phải có những kiến thức và kỹ năng gì? Giải thích tại sao quản lý dự án phần mềm thường khó khăn hơn các loại dự án khác ?
Câu 10. Hãy nêu nhiệm vụ của pha thiết kế và mô tả các công việc cần tiến hành trong pha thiết kế. Tại sao lại nói: Bản thiết kế là sự nối tiếp của bản báo cáo đặc tả.
Câu 11. Mô hình tăng dần (incremental model) có thể biểu diễn trong sơ đồ sau:
Dựa vào sơ đồ này hãy giải thích rõ hơn cách thức làm phần mềm theo mô hình này,
3
đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
Câu 12. Một dự án phần mềm được coi là thành công khi đạt được những mục tiêu nào? Hãy nêu một số sai lầm chủ yếu được rút ra từ những dự án thất bại. Nêu một số nguyên nhân làm cho đặc tả nghèo nàn.
Câu 13. Hãy nêu mục tiêu và công việc kiểm thử trong pha cài đặt và pha tích hợp.
Câu 14. Mô hình tăng dần đồng thời (concurrent incremental model) có thể biểu diễn trong sơ đồ sau:
Phần 1 Phân tích Thiết kế Cài đặt&
Chuyển giao cho
khách hàng
Tích hợp
Phần 2 Phân tích Thiết kế Cài đặt&
Chuyển giao cho
khách hàng
Tích hợp
Phần k
...
Thiết kế Cài đặt&
Tích hợp
Phân tích
Chuyển giao cho
khách hàng
Hãy dựa vào sơ đồ trên và giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
Câu 15. Hãy nêu nhiệm vụ của pha thiết kế và mô tả các công việc cần tiến hành trong pha thiết kế. Tại sao lại nói: Bản thiết kế là sự nối tiếp của bản báo cáo đặc tả.
Câu 16. Vòng đời phần mềm và quy trình làm phần mềm là gì? Một quy trình phần mềm thường trải qua các pha nào? Nêu ý nghĩa của các pha.
Vì sao các pha của vòng đời cần được kiểm thử kỹ và báo cáo thành tài liệu chi tiết bởi nhóm thực hiện trước khi tiến hành các pha tiếp theo?
Câu 17. Bạn hãy mô tả cách thức làm phần mềm theo mô hình xoắn ốc (spiral model), đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
4
Câu 18. Pha đặc tả đóng vai trò quan trọng như thế nào trong công nghiệp phần mềm. Hãy nêu và mô tả các bước tiến hành và những điều cần chú ý trong pha đặc tả.
Chương 2: Những vấn đề trong phát triển phần mềm
- Những thách thức mà phần mềm lỗi thời gây ra?
- Thử nghiệm dựa trên rủi ro là gì?
- Hãy phân tích rủi ro trong kiểm thử phần mềm là gì?
- Hãy nêu các rủi ro sản phẩm trong kiểm thử phần mềm
- Rủi ro của dự án gây nguy hiểm cho dự án là gì?
- Hãy nêu các kỹ thuật phân tích rủi ro?
- Bạn hiểu thế nào về quản lý rủi ro?
- Hãy nêu những thách thức và cơ hội trong Công nghệ phần mềm trong thời đại
Công nghệ 4.0.
Chương 3. Quy trình phát triển phần mềm
- Thế nào là quy trình làm phần mềm (tiếng Anh).Giải thích và cho ví dụ.
- Nêu và mô tả các pha trong quy trình phần mềm.
- Tại sao các pha của vòng đời phần mềm cần được kiểm thử kỹ và báo cáo lại thành tài liệu chi tiết bởi nhóm thực hiện trước khi tiến hành các pha tiếp theo
5
- Hãy nêu và phân tích pha xác định yêu cầu là gì? Kiểm thử pha này ra sao. Tài liệu báo cáo phải như thế nào.
- Hãy nêu và phân tích pha đặc tả (hay pha phân tích) là gì? Kiểm thử pha này ra sao. Tài liệu báo cáo phải như thế nào.
- Hãy nêu và phân tích pha thiết kế là gì? Kiểm thử pha này ra sao. Tài liệu báo cáo phải như thế nào.
- Hãy nêu và phân tích pha cài đặt là gì? Kiểm thử pha này ra sao. Tài liệu báo cáo phải như thế nào.
- Hãy nêu và phân tích pha bảo trì là gì? Kiểm thử pha này ra sao. Tài liệu báo cáo phải như thế nào.
- Nêu các lý do tại sao sau nhiều năm sử dụng, phần mềm có thể trở nên không cần thiết và không còn cần sự bảo trì nữa ?
- Nêu những điểm khác nhau giữa Pha đặc tả (pha phân tích) và Pha xác định
yêu cầu?
Chương 4. Các mô hình phát triển phẩn mềm
- Hãy kể ra một số mô hình xây dựng phần mềm và nêu 1 mô hình trong số đó. Nêu ưu, nhược điểm của mô hình nay.
- Hãy trình bày sơ lược (có thể biểu diễn, vẽ) mô hình xây dựng và hiệu chỉnh . Dựa vào sơ đồ và giải thích rõ hơn cách thức làm phần mềm theo mô hình này đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
- Hãy trình bày sơ lược (có thể biểu diễn,vẽ) mô hình tuyến tich (mô hình thác đổ) . Dựa vào sơ đồ và giải thích rõ hơn cách thức làm phần mềm theo mô hình này đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
- Hãy trình bày sơ lược (có thể biểu diễn, vẽ) mô hình chế thử (bản mẫu). Dựa vào sơ đồ và giải thích rõ hơn cách thức làm phần mềm theo mô hình này ,đồng thời so sánh với mô hình thác đổ. Vì sao người ta khuyên rằng không nên sửa chữa bản mẫu thành phần mềm chuyển giao?
6
- Hãy trình bày sơ lược (có thể biểu diễn, vẽ) mô hình phát triển ứng dụng nhanh. Dựa vào sơ đồ và giải thích rõ hơn cách thức làm phần mềm theo mô hình này
- Hãy biểu diễn (vẽ) sơ đồ mô hình tăng dần .Dựa vào sơ đồ này và giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
- Hãy biểu diễn (vẽ) sơ đồ mô hình tăng dần đồng thời. Dựa vào sơ đồ này và giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
- Hãy biểu diễn (vẽ) sơ đồ mô hình xoắn ốc. Dựa vào sơ đồ này và giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
- Hãy biểu diễn (vẽ) sơ đồ mô hình xoắn WinWin. Dựa vào sơ đồ này và giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
- Hãy biểu diễn (vẽ) sơ đồ mô hình XP. Dựa vào sơ đồ này và giải thích rõ hơn cách thức làm phần mềm theo mô hình này, đồng thời nêu những mặt ưu điểm, nhược điểm của nó.
Chương 5. Quản lý dự án phần mềm
- Hãy trình bày các khái niệm: dự án, quản lý dự án, quản lý dự án công nghệ thông tin và cho ví dụ.
- Để trở thành người quản lý dự án tốt thì kiến thức và kỹ năng về phát triển phần mềm chưa đủ. Cần có những kỹ năng về quản lý như: giám sát và kiểm tra, quy hoạch, quan hệ với khách hàng và vai trò lãnh đạo kỹ thuật. Bạn hãy giải thích rõ hơn về các kỹ năng này và cho ví dụ minh họa nếu thấy cần thiết.
- Người ta cho rằng quản lý dự án phần mềm thường khó khăn hơn việc quản lý các dự án khác. Bạn hãy nêu một số lý do và ví dụ cho nhận định này.
- Ba mục tiêu cần đạt tới của một dự án phần mềm là: lịch trình, trong phạm vi ngân sách và đúng yêu cầu khách hàng. Nếu một vài mục tiêu trên đây không đạt
7
được thì có nghĩa là dự án thất bại không, vì sao? Yếu tố quan trọng nhất quyết định sự thành công của một dự án phần mềm là gì?
- Từ những dự án phần mềm thất bại, người ta đã rút ra một số sai lầm chủ yếu thường gặp trong quản lý dự án phần mềm. Bạn hãy nêu ra một số sai lầm như vậy.
- Một trong những trở ngại mà người quản lý dự án thường gặp là thiếu sự ủng hộ của quản lý cấp trên về việc áp dụng công nghệ mới. Vì sao thường có điều này và người quản lý dự án nên khắc phục như thế nào?
- Trong quá trình phát triển dự án phần mềm có thể có nhiều vấn đề phát sinh cần giải quyết, trong đó có những vấn đề xảy ra khá bất ngờ nhưng cũng có những vấn đề có thể dự đoán trước và có thể phòng ngừa. Bạn hãy nêu một số biện pháp phòng ngừa chủ yếu.
- Hãy nêu một số tình huống (nguyên nhân) thường làm nảy sinh các vấn đề đối với dự án phần mềm.
- Từ thực tế có thể thấy rằng phần lớn lỗi phần mềm có nguồn gốc từ lỗi ở pha đặc tả. Vai trò của pha đặc tả là mô tả sản phẩm phần mềm cần xây dựng. Nếu đặc tả không đầy đủ thì phần mềm rất khó đáp ứng được yêu cầu khách hàng. Một số nguyên nhân làm cho đặc tả nghèo nàn là: quên các đặc điểm, có những đặc điểm không cần thiết được đưa vào, đặc điểm hoạt động không đúng như khách hàng mong đợi, những đặc điểm cần thiết nhưng không ai nghĩ đến. Bạn hãy mô tả rõ hơn và cho ví dụ minh họa về các nguyên nhân này.
- Hãy giải thích về hội chứng "mục tiêu di động" trong quản lý dự án phần mềm.
- Hãy nêu một số vấn đề liên quan đến dự toán của một dự án phần mềm như các loại dự toán: ngân sách, lịch trình, tài nguyên, kỹ thuật, những sai lầm thường gặp...
- Vì sao nên cập nhật dự toán theo một định kỳ đều đặn?
- Thường thì mọi yếu tố liên quan đến dự án còn phụ thuộc vào các nguồn lực bên ngoài. Hãy nêu ra một số nguồn như thế và các vấn đề thường nảy sinh bởi sự phụ thuộc này.
- Trong việc dự án phần mềm thì vấn đề tuyển dụng được các thành viên phát triển
8
có chất lượng và giữ được đội ngũ ổn định là yếu tố quan trọng nhất để bảo đảm sự thắng lợi. Nếu không giữ được đội ngũ ổn định, để cho sự thuyên chuyển và xáo trộn xẩy ra thường xuyên thì sẽ nẩy sinh những vấn đề gì?
- Vì sao việc theo dõi và giám sát tiến độ thực hiện dự án được xem là một trong những hoạt động quản lý quan trọng nhất? Làm thế nào để nhà quản lý có thể lấy được những thông tin chính xác về dự án?
- Những vấn đề thường nảy sinh khi kết thúc dự án là gì? Người quản lý dự án phải làm gì để bảo đảm cho việc kết thúc dự án có trật tự và thắng lợi?
- Trong quản lý dự án thì phân tích rủi ro là một phương tiện hiệu quả để chống lại các vấn đề tiềm ẩn. Hãy nói rõ phân tích rủi ro trong dự án phần mềm là gì? Những ưu điểm và nhược điểm của kỹ thuật này.
- Hợp đồng phí cộng thêm là gì? Những ưu điểm và nhược điểm của loại hợp đồng này đối với nhà phát triển cũng như đối với khách hàng.
- Hợp đồng giá cố định là gì? Những ưu điểm và nhược điểm của loại hợp đồng này đối với nhà phát triển cũng như đối với khách hàng.
- Ngoài hai loại hợp đồng chính là phí cộng thêm và giá cố định, còn có dạng quan hệ khác giữa khách hàng và nhà phát triển như: phối hợp phí cộng thêm và giá cố định, liên doanh, thỏa thuận bản quyền, cam kết quan hệ lâu dài. Bạn hãy giải thích rõ hơn các dạng quan hệ này.
- Trước khi đưa ra một dự án phần mềm cần trả lời được một số câu hỏi. Bạn hãy nêu một số câu hỏi mà bạn cho là quan trọng nhất.
- Phát triển phần mềm theo hợp đồng thường bắt đầu từ việc khách hàng lựa chọn người phát triển. Trước hết tổ chức cần có phần mềm phải chuẩn bị một hồ sơ giới thiệu dự án và gửi cho các công ty, tổ chức hay cá nhân có thể tham gia phát triển phần mềm. Hồ sơ này được gọi là hồ sơ mời thầu (requirement for proposal
- RFP, hoặc requirement for tender - RFT). Một RFP bao gồm 8 phần: (1) Mô tả vấn đề và mục tiêu của dự án, (2) Các yêu cầu kỹ thuật, (3) Thông tin về quản trị,
(4) Yêu cầu về chi phí, (5) Tài liệu tham khảo, (6) Những sản phẩm cần chuyển giao khi kết thúc dự án, (7) Định dạng cho hồ sơ dự thầu, (8) Lịch trình và lịch quyết định. Bạn hãy giải thích rõ hơn ý nghĩa của từng phần.
9
- Có ba cách để phân phát RFP, đó là những cách nào?
- Một công ty phần mềm có thể kiến nghị với khách hàng về việc phát triển phần mềm. Có ba lý do để kiến nghị: do yêu cầu, không do yêu cầu hoặc tổ hợp của hai loại. Bạn hãy giải thích rõ hơn từng trường hợp.
- Khi nào thì một công ty phần mềm tự đề xuất với khách hàng về vấn đề xây dựng phần mềm và một kiến nghị như vậy có những phần cơ bản nào? Nói chung một bản kiến nghị xây dựng phần mềm phải nhằm trả lời cầu hỏi gì của khách hàng?
- Một bản kiến nghị đáp lại RFP được gọi là hồ sơ dự thầu. Một kiến nghị tốt phải trả lời được sáu câu hỏi: ai, cái gì, tại sao, thế nào, khi nào, bao nhiêu. Bạn hãy nêu các câu hỏi một cách rõ ràng, chi tiết hơn.
- Hãy trình bày một số đặc trưng của quá trình xét duyệt lựa chọn hồ sơ dự thầu.
- Các kỹ sư phần mềm có đặc trưng gì khác so với các kỹ sư ở các lĩnh vực công nghệ khác, ví dụ như năng suất làm việc chẳng hạn.
- Hãy vẽ và giải thích sơ đồ vắn tắt biểu diễn cơ cấu nhân sự của một dự án lớn.
- Hãy nêu các vai trò của một lãnh đạo nhóm làm việc trong một dự án phần mềm.
- Hãy nêu một số đặc trưng của kiểu nhóm dân chủ.
- Hãy nêu một số đặc trưng của kiểu nhóm kỹ sư trưởng.
- Khi nào thì một nhóm chuyên gia được thành lập và chức năng của nó là gì? Vì sao cách tổ chức tốt nhất của nhóm chuyên gia là theo hình thức dân chủ?
- Với người quản lý dự án thì điều chủ yếu là thường xuyên nhận được báo cáo về tình hình thực hiện dự án. Điều này được thực hiện nếu luôn luôn đảm bảo được luồng thông tin chính xác đều đặn từ các nhóm phát triển. Hãy trình bày một số cách thu thập thông tin thông qua báo cáo.
- Một số nguyên tắc được sử dụng trong quản lý kỹ sư phần mềm là:
Quản lý thỏa thuận tốt hơn quản lý chỉ thị, trách nhiệm phải đi đôi với thẩm quyền, quy tắc chung là chỉ với sai lầm rõ ràng mới phải bắt buộc hiệu chỉnh, thẩm quyền không những liên quan đến nhiệm vụ mà còn liên quan đến lịch trình, và động cơ là yếu tố quan trọng nhất. Bạn hãy giải thích rõ hơn các nguyên tắc này.
- Hãy trình bày kỹ thuật phân giải dự án phần mềm: kỹ thuật tinh chỉnh từng bước,
10
kỹ thuật phân giải chức năng, phân giải thiết kế và mối quan hệ giữa chúng.
Chương 7. Thiết kế và lập trình
- Thiết kế một phần mềm gồm ba công việc: thiết kế tổng thể, thiết kế chi tiết và kiểm thử thiết kế. Hãy nêu các tên gọi khác nhau của các công việc này và giải thích cụ thể hơn trong từng công việc phải làm gì?
- Nếu trong pha đặc tả phương pháp cấu trúc được sử dụng thì trong pha thiết kế người ta thường sử dụng hai kỹ thuật hướng hành động để phân rã phần mềm thành các module, là phân tích dòng dữ liệu (data flow analysis, DFA) và phân tích giao dịch (transaction analysis). Về mặt lý thuyết thì DFA có thể sử dụng nếu các đặc tả được biểu diễn bởi các DFD. Và bởi vì phần lớn các phần mềm đều có thể biểu diễn bởi các DFD, do đó DFA được sử dụng khá rộng rãi. Bạn hãy mô tả rõ hơn cách phân rã phần mềm sử dụng kỹ thuật DFA thông qua ví dụ cụ thể.
- Bạn hãy nêu một ví dụ về thiết kế chi tiết module cho thiết kế theo phương pháp cấu trúc.
- Thiết kế chi tiết thường độc lập với ngôn ngữ lập trình. Tuy nhiên nếu người quản lý quyết định ngôn ngữ lập trình trước khi thực hiện thiết kế chi tiết thì người ta thường dùng ngôn ngữ mô tả chương trình (a program description language, PDL), hay còn gọi là mã giả (pseudocode) để biểu diễn thiết kế chi tiết. PDL thực chất là các lời chú dẫn được nối với các từ khóa của ngôn ngữ đã lựa chọn. Bạn hãy nêu một ví dụ sử dụng PDL.
- Thiết kế hướng đối tượng bao gồm 4 bước sau đây: xây dựng các biểu đồ tương tác cho từng scenario, xây dựng biểu đồ lớp chi tiết, xây dựng sơ đồ biểu diễn các quan hệ đối tượng-khách, tiến hành thiết kế chi tiết. Bạn hãy giải thích những công việc gì được làm trong từng bước.
- Trong pha thiết kế, nhóm phát triển thường đi theo hai khuynh hướng sai lệch: hoặc làm quá nhiều hoặc làm quá ít. Hãy phân tích nhược điểm của hai khuynh hướng này và chỉ ra rằng thiết kế chi tiết chỉ nên dừng ở mức biểu diễn bằng PDL.
11
- Hãy nêu một ví dụ về thiết kế chi tiết lớp.
- Trong thực tế với những phần mềm mà dữ liệu được xây dựng bởi một phần mềm tiện ích khác như Microsoft Access chẳng hạn, thì nên có thêm bước thiết kế cơ sở dữ liệu. Nếu có sẵn các công cụ thiết kế giao diện thì bước xây dựng sơ đồ biểu diễn quan hệ đối tượng-khách có thể thay bằng bước thiết kế giao diện. Như vậy trong trường hợp này các bước cần thực hiện trong pha thiết kế là: xây dựng các biểu đồ tương tác, xây dựng biểu đồ lớp chi tiết, thiết kế cơ sở dữ liệu và thiết kế giao diện. Bạn hãy giải thích rõ hơn hai bước sau cùng.
- Hãy áp dụng kiến thức đã học để thực hiện pha thiết kế hướng đối tượng cho phần mềm quản lý thư viện (hoặc một bài toán khác do bạn lựa chọn).
- Hãy nêu khái niệm Thiết kế hệ thống là gì? 11.
Vai trò, nguyên lý và chất lượng thiết kế hệ thống?
- Nêu quy trình thiết kế HT (phương pháp thiết kế hệ thống, thiết kế kiến trúc, thiết
kế giao diện phần mềm)
- Phương pháp thiết kế hướng đối tượng
- Hãy nêu 1 số khái niệm thiết kế cơ sở.
- Hãy nêu các mô hình kiến trúc và phân tích 1 trong các mô hình đó.
- So sánh thiết kế hướng đối tượng với hướng thủ tục, ưu, nhược điểm
Chương 7 (bổ sung thêm tổng quan về UML và phương pháp đối tượng)
- UML là gì? UML có phải là một ngôn ngữ lập trình không? Nếu không phải thì có điểm gì giống ngôn ngữ lập trình?
- Hãy giải thích khái niệm mô hình trong UML.
- Khái niệm hướng nhìn trong UML có phải là một thành phần biểu diễn có thể nhìn thấy được như biểu đồ không? Bạn hiểu như thế nào về thuật ngữ "các hướng nhìn của một phần mềm?"
- Hãy giải thích các khái niệm "hướng nhìn theo trường hợp sử dụng" (use-case view) và "hướng nhìn logic" (logical view) và sự khác biệt giữa chúng.
- Hãy giải thích các khái niệm biểu đồ, phần tử mô hình và hệ thống con trong
UML.
12
- Use-case là gì và cách ký hiệu trong UML?
- Tác nhân (actor) và cách ký hiệu trong UML?
- Hãy giải thích biểu đồ use-case là gì và nêu một vài mục đích của nó.
9. Hãy giải thích kết hợp (association) generalization giữa các actor, cách ký hiệu
và cho ví dụ minh họa.
- Hãy giải thích kết hợp generalization giữa các use-case, cách ký hiệu và cho ví dụ minh họa.
- Hãy giải thích ý nghĩa của hình sau và nói rõ loại kết hợp nào được sử dụng:
Gửi tiết kiệm
Gửi ký hạn 6 tháng
Gửi không kỳ hạn
- Hãy giải thích ý nghĩa của hình sau và nói rõ loại kết hợp nào được sử dụng:
Sinh viên Sinh viên khoa CNTT
- Hãy so sánh sự khác biệt giữa generalization, extend và include thông qua hình sau đây:
Giao ở cửa
hàng
Mang đến
tận nhà
Giao hàng
Bán hàng
<<include>> <<include>>
In hóa đơn
Xuất hàng
Bán hàng
<<extend>> <<extend>>
Nhập hàng từ nhà cung cấp
Hết hàng
<<extend>>
Chương 8. Kiểm thử và bảo trì
- Có mấy loại sản phẩm phần mềm chính. Kiểm thử toàn bộ sản phẩm là gì?
- Thế nào là kiểm thử chấp nhận
- Hãy nêu các bước thực hiện kiểm thử trước khi chuyển cho khách hàng kiểm tra.
- Kiểm thử chấp nhận là gì. Tập trung vào các yếu tố chính nào.
- Cho dù các pha trước đó đã được thực hiện rất kỹ lưỡng, thì pha bảo trì đối với một phần mềm là không thể thiếu. Có hai dạng bảo trì: bảo trì sửa lỗi (software repair) và bảo trì cập nhật (software update). Bảo trì cập nhật còn được phân ra
13
làm hai loại: bảo trì thích nghi và bảo trì hoàn thiện. Bảo trì hoàn thiện thường chiếm kinh phí lớn nhất, khoảng 60% tổng kinh phí bảo trì, trong khi đó bảo trì thích nghi và bảo trì sửa lỗi mỗi loại chiếm khoảng 20%. Bạn hãy giải thích rõ hơn những công việc gì cần làm trong mỗi loại bảo trì.
- Người ta nói rằng phần mềm hướng đối tượng (tức là phân tích, thiết kế và cài đặt được thực hiện theo phương pháp HĐT) thường dễ bảo trì hơn. Bạn hãy nêu lập luận cho điều này.
Chương 9. Một số chủ đề nâng cao
- Căn cứa vào đâu để ước lượng chi phí phần mềm.?
- Quy trình ước lượng chi phí phát triển phần mềm.
- Hãy nêu một số phương pháp ước lượng chi phí phát triển phần mềm.
- Hãy nêu những đặc tính chức năng của chuẩn ISO 9126 về chất lượng phần
mềm.
14