cnpmem
Câu 1:
• Định nghĩa phần mềm: phần mềm thông thường dược định ngĩa là 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.
( tóm tắt: phần mềm bao gồm:
Chương trình máy tính:
- mã nguồn, mã máy
- vận hành được, không vận hành
các 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ữ)
• Các loại hệ thống phần mềm ứng dụng:
1. phần mềm hệ thống:
- là tập hợp tất cả các chương trình được viết để phục vụ cho các chương trình khác nhau. Đặc trưng bởi tương tác phần cứng máy tính.
- Xử lý các cấu trúc thông tin phức tạp nhưng xác định trình biên dịch, trình soạn thảo, tiện ích quản lý tệp.
2. phần mềm thời gian thực:
- phần mềm điều phối, phân tích hoặc kiểm soát các sự kiên thời gian thực ngay khi chúng xuất hiện thì được gọi là phần mềm thời gian thực. điển hình là các phần mềm đk tụ động.
- phần mềm thời gian thực bao gồm các thành tố:
thành phần thu thập dl để thu theo định dạng thông tin từ môi trường ngoài.
Thành phần phân tích để biến đổi thông tin theo yêu cầu của ứng dụng
Thành phần kiểm soát hoặc đưa ra đáp ứng môi trường ngoài.
Thành phần điều hòa các thành phần khác sao cho có thể duy trì đáp ứng thời gian thực.
3. phần mềm nghiệp vụ: phục vụ ccs hoạt động kinh doanh hay các nghiệp vụ và tổ chức doanh nghiệp.
4. phần mềm khoa học và công nghệ: đc đặc trưng bởi các thuật toán. VD: tính toán trên ma trận số, đòi hỏi phần mềm phải có năng lực tính toán cao.
5. phần mềm nhúng: nằm trong bộ nhớ chỉ đọc và được dùng để đk các sản phẩm và hệ thống cho người dùng và thị trường công nghiệp. có đăc trưng của phần mềm tg thực và phần mềm hệ thống.
6. phần mềm máy tính cá nhân: yếu tố giao diện người máy rất được chú trọng
7. phần mềm trí truệ nhận tạo: dòng các thuật toán phi số giải quyết các vấn đề phức tạp, thuật toán phi số mà tính toán hay phân tích trực tiếp không thể quản lý nổi. VD: hệ chuyên gia. Nhận dạng hình ảnh và tiếng nói
Câu 2: Các đặc trưng của phần mềm:
• sản xuất mang tính thủ công
• khó kiểm soát chất lượng ở khâu trung gian
• khó dự đoán trước về hiệu năng
áp dụng các phương pháp tiên tiến và tự động những khâu có thể
• không có danh mục chi tiết cho trước
• được đặt hàng hoàn chỉnh theo từng yêu cầu riêng
• phần mềm được phát triển theo nhóm:
1. năng lực của nhóm không tuyến tính với số thành viên
2. thời gian cho trao đổi thông tin chiếm tỷ lệ cao
• thoái hóa theo thời gian: - môi trường sử dụng
• nhu cầu thay đổi
• lỗi sinh ra do nâng cấp
Các thuộc tính của phần mềm kĩ nghệ tốt:
- bảo trì được
- đáng tin cậy
- có hiệu quả
- tiện dụng
- giá phải chăng
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
o Có tuổi thọ caophục vụ nhiều
o Chi phí thấp cho hiệu quả
- Đáng tin cậy:
o 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ả
o Đá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ả:
o 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
o Giao diện phù hợp với trình độ của users
o Học nhanh nhớ lâu
o 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ý
o khó tối ưu đồng thời các thuộc tính. Hiệu quả<> dễ bảo trì, dễ sử dụng
o chi phí cho tối ưu là không tuyến tính
Câu 3: định nghĩa kỹ nghệ phần mềm: Là "Kỹ nghệ phần mềm là bộ môn tích hợp cả qui trình, phương pháp, công cụ hỗ trợ cho phát triển phần mềm máy tính"
Các yếu tố cơ bản của kỹ nghệ phần mềm (SE): gồm 3 mặt:
- thủ tục(procedures)
- phương pháp(methods)
- công cụ (tools)
- nhằm tạo ra phần mềm hiệu quả, với các giới hạn cho trước.
*Các thủ tục - Procedure:
- Qui trình quản lý:
. xác định trình tự thực hiện các công việc
. xác định các tài liệu, sản phẩm cần bàn giao, và cách thức thực hiện.
. Định các mốc thời gian (millestones) và sản phẩm bàn giao.
-Các phương pháp- methods
- Cách làm cụ thể để xây dựng phần mềm
- Mỗi công đoạn làm phần mèm có các phương pháp riêng
o Phương pháp phân tích (xác định, đặc tả)
o Phương pháp thiết lập (mô hình, thuật toán, dữ liệu)
o Phương pháp lập trình (hướng đối tượng)
o Phương pháp kiểm thử (chức năng, cấu trúc)
- phương pháp hướng cấu trúc thường bao gồm:
o mô hình về hệ thống: thường mô tả bằng đồ thị
o các ký pháp: giúp mô tả các mô hình
o các quy tắc: các ràng buộc đặt lên mô hình
o các đề xuất: các lời khuyên cho thiết kế tốt
o hướng đẫn về tiến trình: các hoạt động cần thực hiện
- Các công cụ - tools:
- cung cấp sự trợ giúp tự động / bán tự động cho từng phương pháp
- Computer aided software Engineering - CASE các công cụ phần mềm được chuẩn hóa để trợ giúp các công đoạn khác nhau trong quá trình phát triển
VD:
o Compiler, debugger
o Công cụ sinh giao diện (C builder,...)
o Hỗ trợ phân tích, thiết kế (Rwin, Modeler) (Oracle desgner, Rational Rose,....)
Câu 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?
- Phân tích:
• Phân tích hệ thống: xác định khái quát về phạm vi, yêu cầu và tính khả thi của phần mềm.
• Phân tích yêu cầu: tạo ra sản phẩm là TL phân tích, tập trung việc thu thập và phân tích các thông tin cần cho phần mềm, các chứa năng cần thực hiện, hiệu năng cần có và các giao diện cho người sử dụng. kết quả của phân tích là tư liệu về yêu cần cho hệ thống và dùng làm tài liệu cho người phát triển.
- Thiết kế: quá trình chuyển hóa yêu cầu phần mềm sang mô tả thiết kế, gồm những bước ... tập trung vào 4 công việc chính: thiết kế kiến trúc phần mềm, 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: dùng ngôn ngữ lập trình để địch thành mã máy có thể thực hiện được.
- Kiểm thử: tiến trình bao gồm fát hiện và sửa lỗi phần logic bên trong chương trình này hay còn gọi là lỗi lập trình, kiểm thử xem phần mềm có hoạt động đúng chức năng theo mong muốn của người sử dụng hay không, kiểm thử về tính hiệu quả, về bảo mật của phần mềm...
- Bảo trì: bao gồm sửa lỗi fát sinh khi áp dụng chương trình hay thích ứng nó với thay đổi trong môi trường bên ngoài, hoặc yêu cầu bổ sung chức năng, nâng cao hiệu quả, hiệu năng của nó.
=+= Ưu nhược điểm của mô hình này :
- Ưu điểm: Dùng cho dự án vừa và nhỏ. Đưa ra đc tiêu bản trong đó có thẻ bố trí với các phương pháp pt thiết kế kiểm thử bảo trì. Bảo trì thuận lợi.
- Nhược điểm: các dự án thực hiện hiếm khi tuân theo dòng chảy tuấn tự mà mô hình để nghị, bao h việc lặp lại cũng xuất hiện và tạo ra các vấn đề áp dụng cho mô hình này.
- Khách hàng thường khó phát biểu y/c tường minh từ đầu. và đòi hỏi khách hàng phải kiên nhẫn. bởi bản thân làm việc đc cảu ctr chỉ có vào lúc cuối cảu dự án.
- Chỉ cần 1 sai sót nhỏ trong quá trình thiết kế dẫn đến khi ctr làm việc mới xuất hiện ra có thể là 1 thảm họa
Câu 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á triển và khách hàng gặp nhau xây dựng mục tiên tổng thể cho phần mềm, 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 phần mềm thấy được đối với người dùng và xây dựng 1 bản mẫu, người dùng đánh giá và làm mịn các yêu cầu cho phần mềm, tiến trình này lặp đi lặp lại cho đến khi thỏa mãn yêu cầu của khách hang, đồng thời giúp người phát triển hiểu kỹ hơn yêu cầu nào cần phải thực hiện.
• Làm bản mẫu tạo ra mô hình cần xây dựng có 3 dạng:
+ bản mẫu trên giấy hay trên máy tính mô tả giao diện người - máy, làm người dùng hiểu được cách các tương tác xuất hiện.
+ bản mẫu cài đặt chỉ một tập con chức năng của phần mềm mong đợi
+ bản mẫu là 1 chương trình có thể thực hiện 1 phần hay tất cả chức năng mong muốn ... ở mức sơ lược và cần cải tiến thêm các tính năng khác tùy theo khả năng phát triển.
• Nhược điểm:
• do sự hoàn thiện dần tiến hóa của bản mẫu phần mềm thường có cấu trúc không cao nên khó kiểm soát và bảo trì.
• Khách hang nhiều khi thất vọng với việc phát triển phần mềm do họ lầm tưởng bản mẫu là sản phẩm cuối cùng, không dành nhiều công sức đánh giá bản mẫ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 nhiều bước lặp đi lặp lại, mọi bước bđ 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:
• lập khách hàng xác định mục tiêu các giải pháp và rang buộc.
• phân tích rủi ro: phân tích các phương án và xác định, giải quyết rủi ro.
• Kỹ nghệ: phát triển sản phẩm ở mức tiếp theo.
• Đánh giá của khách hàng về kết quả của kỹ nghệ.
• Nhược điểm:
• đòi hỏi trình độ năng lực của người phân tích rủi ro.
• Cách tiếp cận khó kiểm soát.
• Dựa vào tri thức của chuyên gia xác định kết quả XD.
• Đòi hỏi năng lực quản lý cao, nếu không quản lý tốt rất dễ rơi vào trạng thái sửa lỗi cục bộ, không có kế hoạch.
• Mô hình tương đối mới, chưa được sử dụng rộng rãi.
Câu 7. Lý do phải quản lý dự án? Mục tiêu quả lý dự án là gì? Nhiệm vụ của người quản lý là làm gì?
• Lý do quản lý dự án:
• Để kiểm soát tốt tài chính
• Tiết kiệm thời gian
• Năng cao hiệu suất sử dung tài nguyên
• Nâng cao hiêu suất và chất lượng
• Cải thiện mối quan hệ của khách hàng
• Cải thiện tính chuyên nghiệp
•
• Mục tiêu quản lý dự án: mục tiêu của việc quản lý dự án phát triển phần mềm là đảm bảo cho dự án đúng thời hạn, không vượt quá dự toán, đầy đủ các chức năng đã định, thỏa mãn nhu cầu của khách hàng.
• Nhiệm vụ của người quản lý:
• thiết lập viết đề án.
• Ước lượng chi phí dự án.
• Phân tích rủi ro của dự án.
• Lập kế hoạch.
• Chọn người vào dự án.
• Theo dõi và kiểm soát dự án.
• Viết báo cáo và trình diễn sản phẩm.
Câu 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?
* Độ đo phần mềm:
* Những phương pháp phổ biến để đo kích cỡ phần mềm:
Phương pháp Use Cases và phương pháp Function Point là hai phương pháp được sử dụng rộng rãi nhất hiện nay để ước lượng nguồn lực cho phát triển một phần mềm. Phương pháp Use Cases dựa trên việc xác định độ phức tạp của các Actor và các giao dịch trên mỗi Use Cases. Còn phương pháp phân tích Function Point là một kỹ thuật được A.J.Albrecht của hãng IBM giới thiệu năm 1979, nó khoa học hơn và dựa trên sự hiểu biết các yêu cầu của người sử dụng nó cũng như nó độc lập với nền phần mềm. Tính ưu điểm nổi bật là nó cung cấp một độ đo ứng dụng chung và không phụ thuộc vào nền
- phương pháp function point:
Phương pháp phân tích Function Point là một phương pháp chuẩn để tính kích thước phần mềm dựa trên việc phân tích các chức năng mà phần mềm đó phải thực hiện
- Phương pháp Uscase Point
Là một phương pháp do hãng Rational giới thiệu, dùng để xác định kích thước một phần mềm đặc biệt là đối với phần mềm dùng UML trong phân tích, thiết kế và xây dựng. Trên thực tế có một mối quan hệ giữa usecase và code, các usecase phức tạp thường sẽ tốn nhiều thời gian để code hơn.
Các điểm mà phương pháp UCP quan tâm khi ước lượng kích thước phần mềm là:
+ Số lượng và độ phức tạp của các usecase trong hệ thống.
+ Số lượng và độ phức tạp của các Actor (thực hiện) trong hệ thống
+ Các yêu cầu non-functional khác như (ngôn ngữ lập trình, động lực của nhóm phát triển,...)
+ Môi trường để phát triển hệ thống (ngôn ngữ lập trình, động lực của nhóm phát triển,...).
Câu 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)?
- Số dòng lệnh (LOC): Độ đo này tương đối trực quan. Phục thuộc vào nhiều ngôn ngữ lập trình
- Điểm chức năng (FP): từng chức năng được đưa vào trong hệ thống sẽ được diễn đạt định lượng bằng một phương pháp nào đó, và do vậy dữ liệu được biểu diễn theo định lượng được dùng như cách đo ước lượng
Câu 10. Trình bày các phương trình cơ bản của mô hình COCOMO?
• Mô hình COCOMO là mô hình dự đoán dựa trên ước lượng qui mô và các tham biến xác định từ dữ liệu lịch sử.
• Mô hình COCOMO, một phương pháp ước lượng do Boehm đề xuất, là phù hợp cho việc ước lượng các hệ thống cỡ trung tới cỡ lớn.
• Với mô hình COCOMO, hệ thống được phân lớp dựa trên ba phương thức sau. Sau đó với từng phương thức, nhân lực phát triển tổng cộng và thời kì phát triển được tính toán từ số các câu lệnh được dự kiến vào lúc hệ thống được trao cho người dùng.
• Ba phương thức
- Phương thức tổ chức (phát triển hệ thống cỡ nhỏ)
- Phương thức nửa nhúng (phát triển hệ thống cho vận hành bình thường)
- Phương thức hệ thống nhúng (phát triển các hệ thống lớn và có ràng buộc dư thừa)
Câu 11. Trình bày các bước tiến hành mô hình COCOMO?
- Thiết lập kiểu dự án là đơn giản, trung bình hay phức tạp
- Xác định moodul và ước lượng số 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 E của từng modul
- Tính lại E dựa trên độ khó của dự án
- Tg phát triển và số người tham gia dự án
Câu 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.
Nội dung của quản lý nhân sự:
- Chi phí trả công cho con người là phần chính của chi phí xây dựng phần mềm. ngoài ra. Năng lực cảu người phát triển PM lại rất biến thiên, kéo theo sự phức tạp trong tính toán chi phí. Phát triển PM đc tiến hành theo nhóm. Kích thước mỗi nhóm từ 3-8 người. PM lớn xây dựng bởi nhiều nhóm nhỏ.
Đăc trưng của nhóm: 1 nhóm phát triển gồm các thành viên:
- người phát triển (coder)
- người thiết kế
- người kiểm thử
- người thủ thư
- chuyên gia phần mềm ứng dụng
Đặc trưng làm việc của nhóm:
- Các mục đích được thống nhất
- Nhóm tin tưởng vào vai trò và mục tiêu
- Chấp thuận về các mục tiêu dự án và chất lượng dự án
- Truyền thông đối lưu hiệu quả
- Các ý tưởng được trao đổi và triển khai
- Đưa ra các giải pháp hiệu quả
- Mối quan hệ hợp tác và hỗ trợ giữa các thành viên của nhóm
Nhóm làm việc thành công được xây dựng trên cơ sở:
- Mục tiêu rõ ràng
- Trách nhiệm rõ ràng
- Thông tin liên tục hiệu quả
- Phản hồi có tính xây dựng
- Lãnh đạo linh hoạt
- Nhân viên đủ khả năng
- Xác định với nhóm
Câu 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 còn gọi là quản lý mã nguồn, 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 cụ. nhiệm vụ chính của công cụ quản lý là:
• lưu trữ mã nguồn.
• tạo ra 1 điểm truy cập cho nguời phát triển sửa đổi thêm bớt mã nguồn.
Quản lý cấu hình làm hai việc chính
- cung cấp việc truy cập an toàn và đơn giản đối với bản copy tổng thể về các kết quả bàn giao đã được thông qua
- Kiểm soát được thực trang của các kết quả bàn giao và mối quan hệ qua lại lẫn nhau giữa các kết quả này
Các quy trình và kỹ thuật
- Cung cấp một kho chứa an toàn đối với các kết quả bàn giao
- Cho phép việc kiểm soát và tiết lộ có nguyên tắc các kết quả bàn giao thông qua vòng đời cuar nó, với đầy đủ các các dấu tích licj sử, đảm bảo phiên bản đúng và cập nhật, đã được kiểm tra và phát hành
-Kiểm soát thay đổi của các kêt quả bàn giao, đảm bảo các kết quả này được lưu theo đúng thứ tự.
- Cung cấp việc lập báo cáo về hiện trạng của các kết quả bàn giao và những thay đổi của chúng
Câu 14. Nêu các đặc trưng của ngôn ngữ lập trình? Giải thích?
Ngôn ngữ lập trình là phương tiện để liên lạc giữa con người và máy tính. Nó có các đặc trưng sau:
• Dễ dịch thiết kế sang chương trình: ... sau khi thiết kế chi tiết đã được xác định, xét duyệt và chỉnh sửa nếu cần.
• đưa ra 1 chỉ dẫn về việc ngôn nữa lập trình phản xạ gần gũi đến mức nào cho một biểu diễn 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 bên dịch này sang trình biên dịch kia với rất ít hoặc không phải sửa đổi gì cả.
• chương trình gốc cũng khôgn thay đổi ngay cả khi môi 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ợ giúp định 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 hiểu biết ... cuối cùng thì chưong trình gốc cũng đc đọc và sửa đổi theo nhưng thay đổi trong thiết kế.
Câu 15. Nêu các loại hình (mức) kiểm thử phần mềm? giải thích?
• Kiểm thử đơn vị (Unit test):đc tiến hành sớm nhất trong kiểm thử. Mục đich của kiểm thử đơn vị là kiểm thử từng module đơn vị nhỏ nhất bên trong hệ thống đang đc xây dựng.
• Kiểm thử tích hợp (Integration test): đc tiến hành sau khi kiểm thử đơn vị đã hoàn tất để kiểm chứng rằng nhiều module có thể vận hành đúng khi đc ghép với các module khác có liên quan. Trong khi tiến hành kiểm thử này chú ý chính đc dành cho giao diện hay gián tiếp giữa các module. Các kỹ thuật đc dùng trong kiểm thử tích hợp là:
• khử từ trên xuống đc dùng để phát triển các module từ cao xuống thấp.
• khủ từ dưới lên trên -> phát triển các module từ thấp lên cao.
• Kiểm thử tổ hợp là việc tổ hợp của các kiểm thử trên xuống và dưới lên, chúng đc tiến hành đồng thời cho đến khi đạt tới ranh giới đã đc định sẵn.
• Kiểm thử hệ thống (System test):
• sau khi các module đc móc nối với nhau đã đc kiểm thử thì các kiểm thử đc tiến hành theo trình tự của từng chương trình, rồi kiểm thử từng hệ con một và cuối cùng là kiểm thử cho toàn hệ thống.
• trong việc tiến hành kiểm thử này phần lớn chú ý đc dành cho giao diện của các hệ con. Kiểm thử hệ thống đc gọi là kiểm thử toàn diện, đc thực hiện bởi 1 nhóm chuyên viên kiểm thử. Nó là kiểm thử cuối cùng đc thực hiện bởi 1 tổ chức hệ thống.
• các kiểu kiểm thử hệ thống:
+ kiểm thử hiệu năng: đc tiến hành để kiểm tra thời gian đáp ứng và các hiệu năng khác.
+ kiểm thử vận hành: giao diện người dùng và các điểm khác kiên quan đến vận hành đc kiểm tra và kiểm chứng.
+ kiểm thử tải: đc thực hiện để kiểm tra hiệu năng và chức năng của hệ thống khi 1 khối lượng lớn dữ liệu đc đưa vào cùng một lúc.
+ kiểm thử khả năng bảo mật.
+ kiểm thử chức năng phục hồi: đảm bảo hệ thống có khả năng phục hồi trạng thái ổn định trước đó trong tình huống mất mát tài nguyên hay dữ liệu.
+ kiểm thử chịu đựng: đc tiến hành để kiểm tra, kiểm chứng rằng hệ thống có thể đứng vững sau nhiều giờ làm việc liên tục không.
• Kiểm thử chấp nhận sản phẩm (Acceptance test): sau giai đoạn kiểm thử hệ thống là kiểm thử chấp nhận sản phẩm đc khách hàng thực hiện. mục đích là chứng minh phần mềm thỏa mãn tất cả yêu cầu của khách hàng và khách hàng chấp nhận sản phẩm. gắn với kiểm thử này thường là 1 nhóm các dịch vụ, tài liệu đi kèm (hướng dẫn cài đặt, sử dụng...).
• Kiểm thử hồi quy: không phải là mức độ kiểm tra như các mức độ nói trên, nó đơn thuần là kiểm tra lại phần mềm sau khí có một thay đổi xảy ra để đảm bảo phiên bản phần mềm mới thực hiện tốt hơn các phiên bản cữ và sự thay đổi không gây ra lỗi mới trên các chức năng đã làm việc tốt. kiểm thử này có thể kiểm thử ở mọi mức độ kiểm tra.
Câu 16. Liệt kê các kỹ thuật kiểm thử? So sáng 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?
Kiểm thử chức năng (kiểm thử hộp đen):
• là sự kiểm thử sử dụng các ca kiểm thử đc thiết kế dựa trên đặc tả yêu cầu, tài liệu người dùng nhằm mục đích phát hiện ra các khiếm khuyết.
• kiểm thử chức năng nhìn nhận module đc kiểm thử như 1 hộp đen và chỉ quan tâm đến chức năng của module, tức là kiểm tra xem module có hoạt động đúng với đăc tả hay không. Các ca kiểm thử bao gồm các TH đúng và những TH dữ liệu vào không hợp lệ. cần phân hoạch dữ liệu ra các miền để dễ kiểm thử.
• Kiểm thử giúp cho chúng ta phát hiện sự thiếu sót các chức năng, sai sót về giao diện giữa các module, sự không hiệu quả giữa các chương trình, lỗi khởi tạo, lỗi kết thúc. Tuy nhiên kiểm thử chức năng chủ yếu dựa trên các đặc tả nên không kiểm thử đc các chức năng không nên trong đặc tả, nên không đảm bảo thử hết đc các khối mã nguồn của module.
Kiểm thử cấu trúc (kiểm thử hộp trắng):
• là sự kiểm thử dựa trên phân tích chương trình, kỹ thuật chính ở đây là dựa trên vệc xác định đường đi của chương trình từ input -> output
• mục đích của kiểm thử cấu trúc là tìm mọi đường đ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 xem xét 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 TH có thể.
• tóm lại cả 2 kiểm thử trên đều rất quan trọng và chúng bổ khuyết cho nhau. Nên cần kết hợp cả hai loại này khi kiểm thử.
- Kiểm thử đơn vị (Unit test) : là mức độ kiểm thử thấp nhất và sớm nhất trong kiểm thử, mục đích của kiểm thử là từng modul, đv nhỏ nhất trong hệ thống đang xây dựng.
- phương pháp kiêm thử là nguyên tắc kiểm thử hộp đen đc tiến hành và kiểm thử hộp trắng đc nếu cần thiết
có thể là kiểm thử hộp trắng cũng có thể là kiểm thử hộp đen
II. Bài tập
Dạng 1: Tính nỗ lực phát triển, thời gian phát triển và số người tham gia vào dự án trong mô hình COCOMO
Dạng 2: Tính độ đo điểm chức năng (FP) của một dự án.
Dạng 3: Tính số test case của một chức năng (yêu cầu) cụ thể.
Ví dụ: Tính số test case basic phải test cho bài toán này: Bài toán yêu cầu tính toán tỷ lệ chiết khấu cho hành khách mua vé maý bay. Thông tin đầu vào gồm:
- Tuổi hành khách được xác định từ [3 - 150]
- Ngày bay [>= Ngày hiện thời]
- Thành phần bản thân [BT, VIP, None]
1. Điều kiện giảm giá: Giảm giá cho
- Những hành khách tuổi<=12 hoặc >=65: Giảm 50%.
2. Chỉ áp dụng cho hành khách chưa được giảm theo tiêu chí 1.
- Giảm cho hành khách bay trong ngày: 20%
- Giảm giá vé cho hành khách đặt vé trước 20 ngày : 25%.
3. Áp dụng cho những hành khách đáp ứng được 1 trong 2 tiêu chí trên.
- Giảm cho khách thường xuyên: 5%.
- Giảm cho khách VIP: 10%.
CÂU HỎI ÔN TẬP
MÔN CÔNG NGHỆ PHẦN MỀM
I. Lý Thuyết
Câ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?
Câu 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ác đặc trưng của phần mềm
Phần mềm được phát triển (hay kỹ nghệ), nó không được chế tạo theo nghĩa cổ điển.
Phần mềm không "hỏng đi" nhưng thoái hoá theo thời gian
Phần lớn phần mềm vẫn được xây dựng theo đơn đặt hàng của khách
Sự phức tạp và tính thay đổi luôn là bản chất của phần mềm
Ngày nay phần mềm được phát triển theo nhóm
Câu 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?
Câu 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?
Câu 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?
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?
Câu 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ì ?
Câu 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?
Câu 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)?
Viết công thức các độ đo chất lượng dựa trên thống kê?
Câu 10: Trình bày các phương trình cơ bản của mô hình COCOMO?
Câu 11: Nêu các bước tiến hành mô hình COCOMO?
Câu 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?
Câu 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ì?
Câu 14: Nêu các đặc trưng của ngôn ngữ lập trình? Giải thích?
Câu 15: Nêu các loại hình (mức) kiểm thử phần mềm? Giải thích?
Câu 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?
II. Bài tập
Dạng 1: Tính nỗ lực phát triển, thời gian phát triển và số người tham gia vào dự án trong mô hình COCOMO
Dạng 2: Tính độ đo điểm chức năng (FP) của một dự án.
Dạng 3: Tính số test case của một chức năng (yêu cầu) cụ thể.
Ví dụ: Tính số test case basic phải test cho bài toán này: Bài toán yêu cầu tính toán tỷ lệ chiết khấu cho hành khách mua vé maý bay. Thông tin đầu vào gồm:
- Tuổi hành khách được xác định từ [3 - 150]
- Ngày bay [>= Ngày hiện thời]
- Thành phần bản thân [BT, VIP, None]
1. Điều kiện giảm giá: Giảm giá cho
- Những hành khách tuổi<=12 hoặc >=65: Giảm 50%.
2. Chỉ áp dụng cho hành khách chưa được giảm theo tiêu chí 1.
- Giảm cho hành khách bay trong ngày: 20%
- Giảm giá vé cho hành khách đặt vé trước 20 ngày : 25%.
3. Áp dụng cho những hành khách đáp ứng được 1 trong 2 tiêu chí trên.
- Giảm cho khách thường xuyên: 5%.
- Giảm cho khách VIP: 10%.
Bạn đang đọc truyện trên: Truyen247.Pro