Tải bản đầy đủ (.docx) (24 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (155.87 KB, 24 trang )


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ệ
Với mỗi lần lặp xoắn ốc (bắt đầu từ trung tâm), các phiên bản được
hoàn thiện và bổ sung 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 hệ thống và pm quy mô lớn. Trong đó làm bản mẫu xem như một cơ
chế làm giảm bớt rủi ro
-Chính quá trình lặp 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ế
hoạch

-Mô hình tương đối mới và chưa được sử dụng rộng rãi
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ì ?
- Lý do quản lý dự án: sản phẩm phần mềm là vô hình, không thể là duy
nhất với một yêu cầu, tiến trình phát triển tùy theo yêu cầu của khách
hàng, rủi ro khó có thể tránh khỏi…vì thế cần phải có sự quản lý để đảm
bảo dự án đó được thực thi một cách hiệu quả nhất.
Mục tiêu quản lý: tạo ra sản phẩm bàn giao chất lượng (đúng thời
gian, trong phạm vi chi phí dự đoán, phù hợp với yêu cầu của khách
hàng), thoả mãn các nhu cầu của khách hàng, đầy đủ các chức năng đã
định, lợi nhuận phải nhiều hơn chi phí
- Nhiệm vụ của người quản lý: xác định vi phảm dự án (xác định mỗi công
việc mỗi giai đoạn, xác định sp giao nộp,kiểm soát sự thay đổi của vi
phạm), Quản lý nguồn lực (xác định,bổ sung, phân bổ điều phối tài
nguyên, đánh giá sử dụng tài nguyên, phát triền bồi dưỡng nguồn lực),
quản lý thời gian (xác định thời gian giao nộp, lập lịch ước lượng thời
gian, kiểm soát tiến độ), quản lý tài chính (ước tính chi phí, phân bổ chi
phí cho các công việc, kiểm soát chi tiêu ở mỗi công việc), quản lý rủi ro
(ước lượng, phát hiện rủi ro, đề xuất phòng ngừa) , quản lý mua sắm,
đảm bảo chất lượng (quản lý tiêu chuẩn chất lượng, quản lý chất lượng
sản phẩm được giao ), quản lý thay đổi, quản lý cấu hình phần mềm
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: là đo kích cỡ 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 , LOC là những
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.

- 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,…).
-phương pháp LOC: đo kích thước pm bằng cách đo số dòng lệnh,
trực quan phụ
thuộc vào ngôn ngữ lập trình cụ thể. Từ đó ta đưa ra 1 số công thức:
Hiệu năng=KLOC / người-tháng
CHất lượng = Số lỗi / KLOC
Chi phí = giá thành cả pm/ KLOC
Các thông số cảu các dự án trước sẽ phục vụ cho sự phát triển pm
sau.
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): là số trực quan tùy thuộc vào ngôn ngữ lập
trình, nó dùng để dự đoán số tiền phải trả trong một dự án phát triền
phần mềm và cũng dùng để ước lượng năng suất lập trình của lập trình
viên.

Hiệu năng = KLOC / (người . tháng)
Chất lượng = Số lỗi / KLOC
Chi phí = giá thành cả phần mềm / KLOC
Các thông số cảu các dự án trước sẽ phục vụ cho sự phát triển pm
sau.
- Đ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 FP dc tính dựa trên đặc tả yêu cầu và độc lập vs ngôn ngữ
phát triển phục thuộc vào các tham số dựa trên kinh nghiệm
FP = tổng số đếm . [ 0,65 + 0,01. Sum( Fi)]
10. Trình bày các phương trình cơ bản của mô hình COCOMO?
Ước lượng 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.
Nỗ lực phát triển : E = a * L
b
Thời gian phát triển : T = c * E
d
Số ng tham gia: N = E/ T
Các tham số cơ bản:
A b c d
Đơn giản 3.2 1.05 2.5 0.38
Trung
bình
3.0 1.12 2.5 0.35
Phức tạp 2.8 1.2 2.5 0.32
11. Các bước tiến hành mô hình COCOMO?
Ước lượng 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ó thể tính lại E dựa trên độ
khó của dự án như: mức độ tin cậy, kích cỡ dữ liệu, tốc độ, bộ nhớ…)
-Tính thời gian và số người tham gia
Công việc đo pm là khó do:
-Hầu hết các thông số đều ko được đo trực quan
-Rất khó thẩm định các thông số
-Ko có 1 mô hình tổng quát (mô hình mang t/c dự kiến)
-các kỹ thuật đo còn đang thay đổi
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?
- Quản lý nhân sự: Quản lý nhân sự là một hoạt động trong lĩnh vực quản
lý và trong mọi lĩnh vực (kinh 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 pm được tiến hành theo nhóm. Kích thước tốt cho mỗi
nhóm là khoảng từ 3-8 người
PM lớn thường được xây dựng bởi nhiều nhóm nhỏ
Một 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ế giao diện ,người kiểm thử phần mềm, người thủ thư phần
mềm, 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 nửa thời gian dành cho phát triển pm
- Phức tạp khi thông tin giá của pm và trong phát triển pm: năng lực
của các nhân viên là ko đồng đề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 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 duy nhất cho nguời phát triển sửa đổi hoặc
thêm bớt mã nguồn.
 Do đó chúng ta có thể dễ dàng :+ kiểm soát được tính thống nhất của
mã nguồn. Kiểm soát được sự sửa đổi, lý do của sự sửa đổi và lý lịch
của các phần sửa đổi .
Dễ dàng lưu trữ và truy cập đến các phiên bản khác nhau của pm
+Tối ưu hóa vùng cần thiết cho việc lưu trữ
Dữ liệu của dự án thông thường: mã nguồn, dữ liệu, tư liệu, công cụ
phát triển

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ế.

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?
Vì Mục đích của việc kiểm thử là lập kế hoạch và triển khai việc kiểm
tra các sản phẩm phần mềm để xác định mọi yêu cầu đã đc thực hiện
đúng đắn + xác định và đảm bảo các lỗi được phát hiện trước khi triển
khai phần mềm
- Kiểm thử đơi vị (unit test) là mức độ kiểm thử được tiến hành sớm nhất
trong kiểm thử, mục đích của kiểm thử là từng modun đơn vị nhỏ nhất
bên trong hệ thống đang được xây dựng.
Phương pháp kiểm thử: kiểm thử hộp đen thường được tiến hành,
kiểm thử hộp trắng đc tiến hành nếu cần thiết.
- Kiểm thử thích hợp( Intergration Test): đc tiến hành sau khi kiểu thử đơn
vị đã đc hoàn tất để kiểm chứng rằng những modun nào có thể vận
hành đúng khi được ghép nối với các modun khác. Gồm 3 loại:
o Kiểm thử từ trên xuống dưới đc dùng để phát triển hệ thống theo thứ tự
các môdun cao đến modun thấp
o Kiểm thử từ dưới lên phát triển hệ thống từ modun thấp đến cao
o Kiểm thử tổ hợp: tổ hợ 2 lạo kiểm thử trên được tiến hành đồng thời cho
tới khi đạt tới danh giới đã định.
- Kiểm thử hệ thống (System test): sau khi modun đầu móc nối với nhau
để được kiểm thử cho từng hệ con một kiểm thử cho toàn bộ hệ thống
(chú ý chính đến giao diện hệ con). Bao gồm:
o Kiểm thử chức năng: đc tiến hành kiểu thử hệ thống liệu chức nằng y/c
của người dùng có đc đáp ứng hay k.
o Kiểm thử hiệu năng: đc tiến hành để kiểm chứng thời gian đáp ứng và

các hiệu năng khác.
o Kiểm thử vận hành: kiểm thử giao diện người dùng và các chương trình
khác có liên quan đến vận hành.
o Kiểm thử tải: khả năng chịu tải của hệ thống. kiểm thử đc tiến hành để
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ùng đưa vào một lúc.
o Kiểm thử khả năng bảo mật: đản bảo tính toàn vẹn của chương trình và
của hệ thống tùy từng ứng dụng.
o Kiểm thử khả năng phục hồi hệ thống đảm bảo cho hthong có khả năng
khôi phục tình trạng trước đó trong tình trạng mất mát tài nguyên và dl.
o Kiểm thử chịu đựng: hệ thống có thê hd trong nhiểu giờ liên tục hay
không.
- Kiểm thử chấn nhận sử dụng: đc khách hành thực hiện hoặc ủy quyền
cho nhóm thứ 3 thực hiện. mục đích của kiểm thử này để chứng minh
phần mềm thỏa mãn tất cả các yêu cầu của khách hàng và khách hàng
chấp nhận sản phẩm. sau khi chấp nhận sp thì ta thanh toán tiền hợp
đồng. Sử dụng các tài liệu đi kèm như hd sdung, hd cài đặt…
- Kiểm thử hồi quy: k phải là mức độ ktra như các mức trên. Nếu PM sau
khi có một sự thay đổi xảy ra để bảo đảm phiên bản mới thực hiện tốt
các chức năng của phiên bản cũ và sự thay dổi k gây ra lỗi mới.
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?
- Các kỹ thuật kiểm thử: Kiểm thử hộp đen và kiểm thử hộp trắng
Kiểm thử chức năng: còn gọi là 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 hành vi 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 trường hợp đúng và những trường hợp dữ liệu vào không
hợp lệ. Chiến lược chung khi thiết kế dữ liệu kiểm thử là phân hoạch dữ
liệu tương đương. Phân hoạch tương đương chia miền dữ liệu vào
thành các vùng. Mỗ vùng dữ liệu chỉ cần xây dựng 1 ca kiểm thử, thêm
vào đó các ca kiểm thử sử dụng đối với biên giới của các vùng.
Ngoài các ca kiểm thử trên thông thường còn cần kiểm tra các dữ
liệu đặc thù như biên của số trong máy tính, số âm, số thập phân hay
trường hợp ko có dữ liệu đầu vào, hay trường hợp input ngẫu nhiên, sai
kiểu,…
+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 trường hợp
ko được khai báo trong đặc tả, nên không đảm bảo thử hết được các
khối mã nguồn của module.
b)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 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 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) có thể là kiểm thử hộp trắng cũng có
thể là kiểm thử hộp đen. Vì nó được tiến hành sớm nhất trong
kiểm thử với 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.
do đó nó vừa là hệ thonngs vừa là chức năng.
17. Một thành phần của hệ thống bao gồm các chức năng “ Add a record”,
“Delete a r ecord”; “Display a record”;” Edit a record”; và “Print a record”,
trong đó chức năng, “Print a record” ở mức độ trung bình, còn lại các
chức năng ở mức độ đơn giản .
Biết SUM(F1)=8; Hãy ước lượng số dòng lệnh nếu viết bằng ngôn
ngữ C,biết rằng ngôn ngữ C; LOC/FP=128
Trả Lời:
Dựa vào bảng độ đo điểm chức năng
FP=Tổng số đếm x [ 0,65 + 0,01x ∑ Fi ]
Ta có hệ thống bao gồm các chức năng
Add a record , Delete a record, Display a record, Edit a record, Print a
record
Trong đó số cái vào theo người dung:Là Add a record
Trong đó số cái ra theo người dùng là : Print a record, Display a
record
Trong đó yêu cầu của người dùng: Delete a record, Edit a record
Add a record ở mức đơn giản nên từ bảng trên nó có số đếm là 3
Print a record ở mức trung bình nên có số đếm là 5
Display a record ở mức đơn giản nên có số đếm là 4
Edit a record, Delete a record nên có số đếm là 3
Nên tổng số đếm là 18
Ta có FP= 18x[0.65+0.01x8] ( SUM(F1)=8)
FP=13,14
Ta có LOC/FP=128
LOC=1682 câu lệnh


×