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


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

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

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

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

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

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ý

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

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

- 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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status