Đặc tả cựng mụ hỡnh sẽ được mụ tả trong hệ thống để thiết kế và thực hiện Việc đỏnh giỏ vấn đề và tong hợp giải phỏp là lĩnh vực chớnh tiếp theo: đỏnh giỏ luồng và ndung thụng tin, xđ và
Trang 1Câu 1 Bảo trì và đặc
trưng của bảo trì:
Bảo trì là giai đoạn đã đưa
pm ra hoạt động, cần có
thêm những thay đổi gắn
với việc sửa lỗi,thích ứng
khi môi trường pm nâng
cao, gây ra bởi sự thay đổi
yêu cầu của người dung
Giai đoạn bảo trì gồm có 3
kiểu hay gặp:
+ sửa đổi : làm thay đổi
phần mềm để sửa chữa các
khiếm khuyết
+ thích nghi : thực hiện
việc sửa đổi pm để thích
ứng vs những thay đổi môi
trường bên ngoài
+ nâng cao: hoàn thiện,
mở rộng pm ra ngoài các
yêu cầu chức năng gốc
-tiến hành xem xét để đảm
bảo chất lượng được duy
trì sau mỗi bước được
hoàn tất phát triển và
kiểm soát tài liệu để đảm
bảo thông tin về hệ thống
và pm đầy đủ, có ích cho
việc sd về sau
Câu 2 hạn chế của việc
tiếp cận bản nguyên mẫu
mô hình nguyên mẫu sẽ
tạo ra bản phác thảo của
chương trình trên giấy tờ,
máy tính hay thậm trí là
chương trình ở mức độ sơ
khai Các bản thảo này sẽ
được đưa cho người dùng
xem xét và đóng góp để
tùy chỉnh theo yêu cầu
KH Do vậy có thể làm
KH lầm tưởng về tiến độ
thực hiện PM là sắp hoàn
thành, sản phẩm cuối cùng
có thể khác với các bản
thảo có thể làm phản ứng
không hài long từ KH
Người lập chương trình
chon phương án tốt cho
bản mẫu nhưng chưa chắc
tốt cho chương trình thực tế
Chỉ phù hợp với các chương trình đươn giản hoặc đã tồn tại từ trước do bản mẫu đã có sẵn
Câu 3 các khuôn cảnh là cách tiếp cận khác nhau hay bổ sung cho nhau ?
vì sao ?
Các khuôn cảnh là các cách tiếp cận khác nhau dối với kỹ nghệ phần mềm chứ không phải là cách tiếp cận bổ xung cho nhau
Tuy nhiên trong nhiều trường hợp nên tổ hợp lại các khuôn cảnh để đạt sức mạnh của từng khuôn cảnh cho 1 dự án riêng lẻ
Câu 4 Các nhân tố nào quyết định đến chất lượng phần mềm ?
-Tính đúng đắn: về thuật toán, tính tương đương của ctrinh vs thuật toán Tính đúng đắn của ctrinh có thể chứng minh trực tiếp vào văn bản của ctr, khẳng định dần qua việc kiểm thử Tg của phần mềm cần cung cấp đầy đủ những luận chứng kq chính xác của sản phẩm
-Tính khoa học: khoa học
về cấu trúc, nội dung và hình thức thao tác
-Tính hữu hiệu: về mặt kinh tế, ý nghĩa giá trị thu được, tốc độ xử lý của sp, giới hạn tối đa của sp, dung lượng bộ nhớ
-Tính sang tạo: là sp đầu tiên trên thế giới, sx phục
vụ cho nhu cầu, sp có những ưu điểm nổi bật so
vs những sp khác tương đương
-Tính an toàn: sp trong trường hợp cần thiết có cơ chế bảo mật và bảo vệ các đối tượng do nó phát sinh hay quản lý Bản thân sp cũng cần được đặt trong 1
cơ chế bảo mật nhằm chống sự sao chép trộm hoặc làm biến dạng sp đó -Tính toàn vẹn: được thể hiện qua các chức năng sau :
Không gây ra nhập nhằng trong thao tác, đảm bảo tính nhất quán về cú pháp,
có cơ chế ngăn ngừa việc phát sinh ra những đối tượng sai quy cách hoặc mâu thuẫn vs các đối tượng có sẵn(dữ liệu, đơn thể…)
Có cơ chế khôi phục lại toàn bộ hoặc 1 phần những đối tượng thuộc diện quản
lý của sp trong trường hợp
có sự cố như hỏng máy, mất điện đột ngột
-Tính đầy đủ: được đánh giá thông qua tập các chức năng mà sp đó cung cấp Tập các chức năng cần và nên thỏa mãn các tính chất sau:
Tính đối xứng : nếu có thoa tác phát sinh thì nên
có thao tác hủy bỏ và ngược lại
Tính tiêu chuẩn: sp phần mềm cần đạt được 1 số tiêu chuẩn tối thiểu được thừa nhận trên thị trường thế giới hoặc trong khao học
-Tính độc lập: sp pm cần
và nên đảm bảo tính độc lập vs các đối tượng sau: Độc lập đối vs thiết bị sp
có thể cài đặt dễ dàng trên nhiều loại máy và có thể quản lý được nhiều thiết bị
đi kèm vs máy Những sửa
Trang 2đổi để thớch nghi là khụng
đỏng kể
Độc lập vs cấu trỳc của đối
tượng mà sp đú quản lý
Vd : một hệ qtcsdl cú tớnh
độc lập cao sẽ k đũi hỏi
người dung phải viết lại
chương trỡnh ứng dụng khi
chuyển từ việc quản lý cỏc
tệp tuần tự sang cỏc tệp
tuần chỉ và ngược lại
Độc lập vs nội dung của
đối tượng mà sp đú quản
lý Vd: đơn thể COPPY cú
thể sao chộp cỏc tệp mà
khụng phụ thuộc nụi dung
cụ thể của cỏc tệp đú
-Tớnh phổ dụng: sp pm cú
thể ỏp dụng cho nhiều lĩnh
vực, cho nhiều chế dộ làm
việc khỏc nhau
-Tớnh đơn giản: sp cú tớnh
đến những yếu tố tõm lý
sau đõy của đụng đảo
người dung:
Dễ thao tỏc
Dễ học và dễ hoàn thiện
Ngụn ngữ trong sang, dễ
hiểu, dễ nhớ( tờn lệnh,
thục đơn, thụng bỏo, cỳ
phỏp…)
-Tớnh sễ phỏt triển, hoàn
thiện: sp cú thể mở rộng,
tăng cường về mặt chức
năng 1 cỏch dễ dàng
Cõu 5 cỏc nhiệm vụ
trong quỏ trỡnh pitch và
đặc tả pm ?
Nhiệm vụ phõn tớch yờu
cầu:
B1: nhận thức vấn đề
B2: đỏnh giỏ và tổng hợp
B3: mụ hỡnh húa
B4: đặc tả B5:
xột duyệt
Đi vào cụ thể: người làm
pm cần tiếp xỳc vs khỏch
hàng để trao đổi vsf tập
hợp lấy yờu cầu của họ,
sau đú tiến hành phõn tớch
cỏc yờu cầu nhận được để
xđinh phạm vi, xđinh cỏc yờu cầu vố chức năng (lien quan đến pm), về phi chức năng( nhanh, mượt, nhẹ nhàng…) tiến hành phõn tớch làm rừ yờu cầu để biết cỏi cần làm => yc đối vs người phõn tớch:
-hiểu nhanh, xđ rừ những yc
-pt nhừn yếu tố chia rừ trong yc của khỏch hàng -khả năng tập hợp, phõn tớch
=> kq ptich yờu cầu là đặc
tả yờu cầu ( đặc tả yờu cầu
là đưa thờm thụng tin vào bản xđ yc Được dựng vs cỏc mụ hỡnh hệ thống ptrien trong suốt quỏ trỡnh ptich yc Đặc tả cựng mụ hỡnh sẽ được mụ tả trong
hệ thống để thiết kế và thực hiện)
Việc đỏnh giỏ vấn đề và tong hợp giải phỏp là lĩnh vực chớnh tiếp theo: đỏnh giỏ luồng và ndung thụng tin, xđ và soạn thảo cỏc chức năng phần mềm hiểu hành vi pm theo hoàn cảnh
và cỏc sự kiện ảnh hưởng tới hệ thống, thiết lập cỏc đặc trưng giao diện… ->
phục vụ cho việc mụ tả vấn đề sao cho cú thể tổng hợp được 1 cỏch tiếp cận hay giải phúng tổng thể
Sau khi đỏnh giỏ được cỏc vấn đề, người phõn tớch bắt đầu tổng hợp-> đưa ra phương phỏp tiến trỡnh ước lượng và tổng hợp giải phỏp-> tạo ra cỏc mụ hỡnh
hệ thống nhằm hiểu rừ hơn luồng dữ liệu và điều kiện
xử lý chức năng, thao tỏc hành vi và nội dung thụng tin Mụ hỡnh này được làm nền tảng cho thiết kế pm
và là cơ sở cho việc tạo ra
1 đặc tả pm-> đặc tả pm là việc mụ tả về pm được hỡnh thành sau đặc tả yc
Cõu 6 cỏc yờu cầu của người dung được chia làm mấy loại ?
+ Yêu cầu chức năng: Mô tả hệ thống sẽ làm gì và mô tả chi tiết các chức năng và dịch vụ của hệ thống Yêu cầu chức năng có đặc điểm: Tính k mập mờ, rõ ràng , khi yêu cầu Phần mềm không
đ-ợc xác định, có tính thống nhất và hoàn thiện Các đặc
điểm này nó chứa
đựng tất cả mô tả chi tiết không xung
đột yêu cầu
+ Yêu cầu phi chức năng: không đề cập trực tiếp các chức năng một cách cụ thể tổng hợp Mà đề cập đến cỏc yờu cầu khỏc mà khụng phải chức năng của chương trỡnh vớ như: tớnh kinh tế, thời gian hoàn thiện chương trỡnh… Liên quan đến qúa trình xây dựng hệ thống Yêu cầu phi chức năng có thể hạn chế yêu cầu chức năng, nhng trong trờng hợp nếu không
có thì khó sử dụng
được
Chủ yếu xuất phát
do ngời sử dụng : ngân sách, chính sách…
Cõu 7 cỏch tiếp cận thực
tế nhất cho việc ptrien pm của cỏc hệ thống cú quy
Trang 3mô lớn là mô hình nào?
Tại sao ?
Khuôn cảnh mô hình xoắn
ốc đối vs kỹ nghệ pm hiện
nay là cách thực tế nhất
đến việc ptrien cho các hệ
thống có quy mô lớn
trong đó người ta dung
cách làm bản mẫu như 1
cơ chế làm giảm bớt rủi ro
Câu 9 có những kỹ thuật
kiểm thử nào ? kiểm thử
1 pm ntn được coi là
thành công ?
Có các kỹ thuật kiểm thử
sau :
-kiểm thử tích hợp: Tích
hợp từ trên xuống
Tích hợp từ dưới lên
-kiểm thử đơn vị: Kiểm
thử hộp đen
- Kiểm thử hộp trắng
mục đích của việc kiểm
thử là tìm ra các lớp lỗi
khác nhau
Nếu kiểm thử được tiến
hành thành công thì nó sẽ
làm lộ ra những lỗi trong
pm Xem như 1 lợi ích
phụ, kiểm thử chứng tỏ
rằng các chức năng pm
làm việc theo đặc tả, các
yc hiện năng là được đáp
ứng, đưa ra 1 chỉ dẫn tốt
về độ tin cậy của chất
lượng pm
Bao quát được nhiều nhất
các trường hợp đặc biệt và
các điều kiện biên đưa vào
kiểm thử
Xác đinh xem dữ liệu đầu
vào và dữ liệu đầu ra đúng
hay không qua đó đánh giá
chương trình có thực hiện
đúng các chức năng trong
đặc tả hay không
Tùy theo phương pháp và
kỹ thuật khiểm thử mà đưa
ra được module lỗi hay
đoạn chương trình lỗi (nếu có)
câu 10 có thể tổ hợp các khuôn cảnh trong 1 dự
án xây dựng phần mềm không? Tại sao?
Có thể tổ hợp các khuôn cảnh trong 1 dự án phát triển phần mềm vì tùy từng trường hợp mà chúng ta sẽ tận dụng các điểm mạnh của các khuôn cảnh để phát triển phần mềm ví dụ:
Sử dụng mô hình xoắn ốc
để xác định rủi ro hoặc mô hình bản mẫu để đưa ra bản mẫu cho chương trình, nếu các yêu cầu trong đó
đã được xác định rõ ràng thì có thể quay về mô hình thác nước để thực hiện minh bạch các bước
Câu 11 đặc tả pm và các yêu cầu đặc tả pm ?
-Đặc tả pm là mô tả các đặc trưng của vấn đề đó
Vấn đề có thể là đối tượng , khái niệm hoặc 1 thủ tục nào đó
-Yêu cầu đầu tiên của đặc
tả là tính chính xác:
+ Các đặc tả thường mang tính trừu tượng, càng ở mức cao, các đặc tả càng trừu tượng đặc tả là nền tảng, là cơ bản nhất của phát triển pm Cho nên phải xét duyệt kỹ càng
+ nghiên cứu đầu vào, đầu
ra, cách xử lý bên trong,
có chức năng gì, thực hiện
gì ? => 1 số hinh thức đặc tả/
+ đặc tả hệ thống: là những đặc tả chính xác không thể dẫn tới những cách hiểu khác nhau
Thường sử dụng công cu đại số và logic
+ đặc tả phi hình thức: diễn đạt = ngôn ngữ, tuy k chặt chẽ, mơ hồ nhưng nhiều người biết…
+ đặc tả hỗn hợp: phối hợp
2 kiểu trên
Câu 12 để bảo trì 1 chương trình lạ cần bố trí những vấn đề ?
+ Do chưa biết rõ về ctr lạ nên trước hết chúng ta phải nghiên cứu ctr trước khi bắt đầu bảo trì, cố gắng có được nhiều thông tin nền tảng nhất có thể được
+ Cố gắng quen thuộc vs luông điều khiển của toàn
bộ ctr, bỏ qua chi tiết mã hóa ban đầu
+ Ước lượng tính hợp lý của tài liệu hiện có
+ Dùng các bản in tham khảo chéo tốt, các bảng ký hiệu và các trợ giúp khác nói chung cho trình biên dịch hay hợp dịch cung cấp
+ Thay đổi ctr vs sự thận trọng lớn nhất, tôn trọng các định dạng của ctr nếu cần thiết chỉ ra trên bản in những lệnh thay đổi + Không nên dùng biến tạm thời và bộ nhớ làm việc đã có trong ctr Tự động thêm các biến của riêng mình để tránh rắc rối
+ Giữ các bản ghi chi tiết
về hđ và kq bảo trì
+ Tránh sự thôi thúc mạnh
mẽ vứt chương trình đi và viết lại nó
+ K xen lẫn việc kiểm tra lỗi
Câu 13 để tiến hành kiểm thử cần dựa vào những tài liệu nào?
Trang 4Đặc tả yêu cầu,đặc tả phần
mềm,banrt thiết kế pm
14)
Các tài liệu, đối tượng cần
thiết khi tiến hành thiết kế
PM tùy thuộc vào từng mô
hình và dự án cụ thể
Thường bao gồm:
+ tài liệu:
-đặc tả yêu cầu: đưa ra các
yêu cầu và phân tích từng
yêu cầu cụ thể, qua đó xác
định đc cách hoạt động
của PM, các chức năng
của nó
-Tài liệu tham khảo: chứa
các thông tin về đối tượng
làm việc của PM
-Mô tả thiết kế: đưa ra
hướng dẫn, cách thức, các
công việc khi thiết kế
-Thông tin về thói quen
của người sủ dụng: xác
định phương án phù hợp
khi thiết kế giao tiếp
-Điều khoản kiểm thử
-Cấu trúc tệp và dữ liệu
toàn cục
15)
Kết quả của việc phân tích
và nắm bắt yêu cầu là đặc
tả yêu cầu
Đặc tả yêu cầu là đưa ra
những yêu cầu về những j
cần thực hiện trong quá
trình phát triển PM, bao
gồm các định nghĩa, mô tả
chi tiết yêu cầu của người
sử dụng và các yêu cầu hệ
thống
Yêu cầu của PM gồm:
+ yêu cầu chức năng: các dịch vụ mà hệ thống phải cung cấp
+ yêu cầu phi chức năng:
các rang buộc mà hệ thống phải tuân theo
Sau khi tập hợp các yêu cầu từ khách hàng và phân loại chúng, người thiết kế
sẽ phân tích, làm rõ các yêu cầu để biết những j cần thực hiện tuy vậy có một số vấn đề như: khách hàng còn mơ hồ về sản phẩm, ko đưa ra đày đủ yêu cầu ngay một lúc, sự mâu thuẫn giữa các yêu cầu
1 bản đặc tả yêu cầu cần tổng hợp một cách đầy đủ,
rõ ràng những yêu cầu, loại bỏ những yêu cầu mâu thuẫn, phi lí Điều này khó
có thể thực hiện đc ngay từ đầu nên đặc tả yêu cầu có thể đc bổ xung trong từng giai đoạn phát triển PM
Câu 16 khi xd đầy đủ và chính xác các yêu cầu của pm có nên sd mô hình vòng đời cổ điểm k?
Khi đã xác định được chính xác và đầy đủ các yêu cầu về pm không nên sdung khuôn cảnh vòng đời cổ điển
Vì các dự án hiếm khi tuân theo dòng chảy tuần tự mà
mô hình đề ra, việc lặp lại bao giờ cũng xuất hiện và gây ra vấn đề
+ các công đoạn k thể phân tách rõ rang được, luôn luôn thay đổi, và có
sự kết nối
+ khách hàng phải kiên nhẫn vì bận làm việc của ctr, chỉ có được vào lúc cuối của thời gian dự án khi ctr làm việc mới phát hiện ra 1 lỗi sai lầm k đang
có thì đó có thể là 1 thảm họa-> mô hình này k còn phù hợp
Câu 17 kỹ năng người phân tích yêu cầu
+ hiểu nhanh xác định rõ yêu cầu
+ phát hiện những yêu cầu chưa rõ trong yêu cầu của khách hàng
+ khả năng tập hợp phân tích
Câu 18 kiểm thử pm là gì
? trình bày phép kiểm thử tích hợp ?
Kiểm thử là phần tử mấu chốt để đảm bảo chất lượng pm và biểu thị cho việc xét duyệt sau cùng về đặc tả thiết kế và mã hóa Công việc này được tiến hành sau khi đã mã hóa xong và trước khi bàn giao
sp cho khách hàng
- Kiểm thử tích hợp: là
1 kỹ thuật hệ thống để xdung cấu trúc ctr trong khi đồng thời tiến hành kiểm thử để phát hiện lỗi, liên kết trong giao tiếp, mục đích là lấy các modul
đã được kiểm thử đơn vị xong và xây dựng nên 1 cấu trúc ctr được quy định bởi thiết kế
+ tích hợp từ trên xuống:
là tiếp cận tăng dần tới việc xây dựng cấu trúc ctr, các modul được tích hợp bằng cách đi dần xuống qua các bậc dkhien Bắt đầu từ modul đ.khiển chính, các modul phụ thuộc vào modul đ.khiển chính sẽ được tổ hợp dần
Trang 5vào trong cấu trúc theo
chiều sâu hoặc chiều rộng
trước Về lý thuyết thì tích
hợp từ trên xuống sẽ tìm
thấy các lỗi thiết kế sớm
hơn các khuynh hướng
khác, nhưng ít hiệu quả
trong việc cải thiện chất
lượng của các pm chuyển
giao vì bản chất tương tác
của kiểm tra Tích hợp từ
trên xuống dễ hỗ trợ giao
diện người dùng và thiết
kế màn hình Trong các
ứng dụng tương tác,
thường là bộ điều khiển
màn hình được kiểm tra
đâu tiên Người dùng có
thể kiểm tra sự điều khiển
thông qua màn hình vs các
pt tạo mẫu
+ tích hợp từ dưới lên : bắt
đầu xd và kiểm thử các
modul nguyên tử vì các
modul này được tích hợp
từ dưới lên trên nên việc
xử lý yêu cầu đối vs các
modul phụ thuộc vào nó ở
1 mức nào đó bao giờ cũng
có sẵn và nhu cầu về … bị
dẹp bỏ
Câu 20 mô hình xoắn ốc
bao gồm các tính năng tốt
nhất của cả vòng đời cổ
điển lẫn bản mẫu, trong
khi còn bổ xung yếu tố
nào ? đặt trưng của yếu
tố đó?
-Mô hình xoắn trôn ốc đc
bổ xung yếu tố phân tích
rủi ro so với 2 mô hình
trước đó
-Rủi ro là những tác động
xấu đến quá trình phát
triển PM Mục đích của
việc xác định rủi ro là
giảm, tránh những ảnh
hưởng tới việc phát triển
PM, phòng ngừa những khả năng xấu có thể xảy
ra, qua đó dễ dàng hơn trong việc khắc phục khi
có sự cố; trong trường hợp rủi ro là quá lớn thì có thể
ko thực hiện hoặc ngừng việc xây dựng PM
-Trong mô hình xoắn trôn
ốc, phân tích rủi ro trở thành một bước thiết yếu trong cả quá trình, điều này giúp tăng độ tin cậy của dự án Việc phân tích rủi ro đc tiến hành nhiều lần trong suốt quá trình phát triển PM
-Để thực hiện phân tích rủi
ro, người thiết kế cần có kĩ năng về việc này hoặc phải thuê chuyên gia nên có thể phát sinh chi phí
Câu 21 các hoặt động trong mô hình xoắn ốc ?
-Thiết lập mục tiêu: xác định mục tiêu cho từng pha của dự án (lập kế hoạch)
-Đánh giá và giảm thiểu rủi ro (phân tích rủi ro): rủi
ro được đánh giá và thực hiện phân tích -> đưa ra hoạt động để giảm thiểu rủi ro đó Nếu không hạn chế được thì đưa ra quyết định có tiếp tục k ?
-Phát triển và đánh giá của khách hàng sau khi đánh giá rủi ro, 1 mô hình xây dựng hệ thống sẽ được lựa chọn từ những mô hình chung-> tiếp xúc vs khách hàng để khách hàng đánh giá để hoàn thiện bản mẫu
-Lập kế hoạch: đánh giá
dự án và các pha tiếp theo
của mô hình xoắn ốc sẽ được lập kế hoạch
Ưu điểm:
-kế thừa tốt ưu điểm của 2
mô hình thác nước và bản mẫu, tiếp cận nhanh, bổ xung thêm phân tích rủi ro, lường trc khó khăn đưa ra quyết định
nhc điểm: phụ thuộc vào bản mẫu nên chỉ tập trung vào phân tích rủi ro nên phát triển PM tốn tg, công sức, tiền bạc
Tổ hợp các yêu cầu -> vi chỉnh sản phẩm
Câu 22 nêu các giai đoạn trong tiến trình kỹ nghệ phần mềm ?
1Giai đoạn xác định: tin cần được xử lý, chức năng…
B1 phân tích hệ thống: xác định từng phần tử trong 1 hệ thống dựa trên máy tính, chỉ ra vai trò của PM
B2 lập kế hoạch dự án pm: khi phạm vi pm đã được thiết lập, rủi ro đã được pt, tài nguyên được cấp phát , chi phí được ước lượng thì phải xác định nhiệm vụ công việc và lập dịch
B3 phân tích yêu cầu: phạm vi xác định phần mềm sẽ được đưa ra chiều hướng cần có thêm việc xác định chi tiết lĩnh vực thông tin và chức năng trước khi bắt đầu công việc
2.giai đoạn phát triển: người lập trình xđ cấu trúc
dữ liệu, kiến trúc phần mềm cần được thiết kế, cách chi tiết thủ tục được cài đặt, mã hóa ngôn ngữ
Trang 6lập trình và thực hiện kiểm
thử
B1 thiết kế pm: mô tả cấu
trúc dữ liệu, kiến trúc, thủ
tục, thuật toán và đặc
trưng giao diện
B2 mã hóa: dịch các biểu
diễn thiết kế thành 1 hoặc
nhiều ngôn ngữ nhân tạo
(có thể là ngôn ngữ lập
trình hay ngôn ngữ phi thủ
tục trong khuôn cảnh
4GT), sẽ tạo ra kết quả là
các lệnh thực hiện được
trên máy tính
B3 kiểm thử pm:
3.giai đoạn bảo trì: người
lập trình tập trung vào
những thay đổi gắn vs việc
sửa lỗi, thích nghi khi môi
trường PM nâng cao, gây
ra bởi sự thay đổi yêu cầu
của người dùng 3 dạng
bảo trì hay gặp : sửa
chữa( thay đổi pm để sửa
chữa các khiếm khuyết),
thích nghi(sửa đổi PM để
thích nghi vs môi trường
bên ngoài), nâng cao(hoàn
thiện, mở rộng PM ra
ngoài các chức năng gốc)
-Các giai đoạn được mô tả
theo cách nhìn tổng quát
đang được bổ sung thêm 1
số “hoạt động che chắn”
phát triển và kiểm soát tài
liệu để đảm bảo thông tin
về hệ thống và PM là đầy
đủ, có lợi cho việc s.dụng
về sau
Câu 24 người phân tích
và các yêu cầu của người
phân tích ?
Người phân tích hệ thống,
kỹ sư hệ thống, người thiết
kế hệ thống cần các yêu
cầu sau :
+ Khả năng hiểu thấu các
khái niệm trừu tượng, có
khả năng tổ chức lại thành
các phân tích logic và tổ
hợp các giải pháp dựa trên từng dải phân chia
+ Khả năng rút ra các sự kiện thích đáng từ các nguồn xung khắc và lẫn lộn
+ Khả năng hiểu được môi trường người dùng
+ Khả năng áp dụng các phần tử hệ thống phần cứng hoặc phần mềm vào môi trường người s.dụng
+ Khả năng trao đổi tốt thông qua dạng viết và nói
+ Khả năng “thấy rừng qua cây”
+ Người phân tích phải hiểu rõ từng khuôn cảnh
PM tổng quát, áp dụng được bất kỳ khuôn cảnh nào cần dùng Người phân tích phải hiểu được kỹ nghệ PM
Câu 25 nhiệm vụ chính của việc thiết kế PM là
gì ?
Thiết kế PM rất quan trọng trong công việc xây dựng
và phát triển PM Từng hoạt động của thiết kế PM biến đổi thông tin sao cho
có thể tạo ra phần mềm máy tính hợp lý
Các yêu cầu PM được biểu thị bằng các mô hình thông tin, chức năng và hành vi, là cái vào cho bước thiết kế
Câu 26 phân biệt 2 phương pháp kiểm thử hộp đen và hộp trắng ?
Trong kỹ thuật kiểm thử hộp đen dữ liệu được xuất phát từ đặc tả PM: đặc tả các yêu cầu, đặc tả thiết kế (đối vs kiểm thử tích hợp), đặc tả chi tiết modul ( đối
vs kiểm thử đơn vị) Trong
kỹ thuật này kiểm thử viên xem PM như 1 hộp đen->
kiểm thử hoàn toàn k quan
tâm đến cấu trúc và hành
vi bên trong PM, chỉ quan tâm đến việc các hiện tượng mà PM k hành xử theo đúng đặc tả của nó Kiểm thử viên chỉ biết những gì PM dự kiến thực hiện mà k thể nhìn bên trong xem nó hoạt động ntn-> dữ liệu kiểm thử xuất phát từ đặc tả kiểm thử hộp đen sẽ cố gắng tìm các loại lỗi: thiếu chức năng, lỗi giao diện, lỗi cấu trúc dữ liệu, lỗi thi hành, lỗi khởi tạo và kết thúc
Kỹ thuật kiểm thử hộp trắng (cấu trúc) : dựa trên
sự phát triển mã chương trình hoặc 1 mô hình của
mã c.trình để xác định phép thử theo các tiêu chuẩn bao phủ, cho phép chúng ta kiểm thử cấu trúc bên trong của PM vs mục đích kiểm tra tất cả các câu lệnh và điều kiện tồn tại trong PM đó Trong kỹ thuật này đòi hỏi kỹ thuật viên có kỹ năng lập trình
để nhận biết tất cả các đường dẫn thông qua phần mềm và kỹ thuật viên lấy
dữ liệu kiểm thử xuất phát
từ việc kiểm tra logic của c.trình
Câu 27 phân tích đặc trưng: “ phần lớn pm đều được xây dựng theo đơn đặt hàng, chứ ít khi được lắp ráp từ những thành phần có sẵn”.
-Ta xét cách thức thiết kế
và xây dựng phần cứng đ.khiển cho sp dựa trên bộ
vi xử lý: vẽ sơ đồ mạch
số-> thực hiện 1 phân tích để đảm bảo chức năng
đúng-> phân loại các danh mục thành phần-> gắn cho mỗi mạch tích hợp (IC or chip)
Trang 71 số hiệu, 1 chức năng đó
định và hợp lệ, 1 giao diện
đó xđ rừ và 1 tập cỏc
hướng dẫn phõn tớch hợp
chuẩn húa
-Đối vs pm, nhỡn chung
cỏc danh mục của thành
phần pm là khụng cú sẵn
cú thể đặt hàng 1 đơn vị
pm hoàn chỉnh, chứ khụng
phải là những tp cú thể lắp
rỏp thành 1 c.trỡnh mới
bởi yờu cầu của mỗi nhúm
khỏch hàng thường khỏc
nhau, khụng thể cú sẵn cỏc
đơn vị tương thớch yờu cầu
khỏch hàng để đỏp ứng
đỳng và đủ yờu cầu khỏch
hàng
Cõu 29 : phần mềm khụng
hỏng đi
Phần mềm không
cảm ứng đối với
những khiếm khuyết
môi trờng vốn gây
cho phần cứng bị
mòn cũ đi
-Thực tế, phần mềm
sẽ trải qua sự thay
đổi (bảo trì) Khi
thay đổi đợc thực
hiện có thể là một
số khiếm khuyết mới
sẽ đợc đa vào, gây
ra cho đờng cong tỷ
lệ hỏng hóc trở
thành có đầu nhọn
nh trong hình vẽ dới
đây Trớc khi đờng
cong đó có thể trở
về tỷ lệ hỏng hóc
ổn định ban đầu
thì một thay đổi
khác lại đợc yêu cầu,
lại gây ra đờng cong
phát sinh đỉnh nhọn
một lần nữa Dần dần, mức tỷ lệ hỏng hóc tối thiểu bắt
đầu nâng lên – phần mềm bị thoái hoá do sự thay đổi
Nhận xét
-Phần cứng hỏng hóc
“vật t thay thế”,
nh-ng khônh-ng có phần mềm thay thế cho phần mềm Mọi hỏng hóc phần mềm đều chỉ ra lỗi trong thiết
kế hay trong tiến trình chuyển thiết
kế thành mã máy thực hiện đợc Do
đó, việc bảo trì
phần mềm bao gồm
độ phức tạp phụ thêm đáng kể so với bảo trì phần cứng
Cõu 30 phương phỏp thiết kế ảnh hưởng như thế nào đến quỏ trỡnh phỏt triển phần mềm ?
Phương phỏp thiết kế rất quan trọng trong quỏ trỡnh thiết kế phần mềm nếu khụng cú thiết kế thỡ : + sản phẩm khụng ổn định
vỡ phải chấp vỏ , đụng tới đõu mới làm tới đú + cỏc cụng đoạn tiếp theo
sẽ khụng kiểm soỏt được +khú khăn do sự tiếp tục của dự ỏn
Cõu 31 tại sao núi bản đặc tả pm là cơ sở cho hợp đồng làm hệ thống ?
Đặc tả yc phản ỏnh cỏc yc của khỏch hàng bằng việc phõn tớch yờu cầu đú Chất lượng của đặc tả yờu cầu núi lờn sự đầy đủ hay k,
cỏc yờu cầu của khỏch hàng Vỡ vậy nú là cơ sở xem xột cho việc tiếp tục hay ký kết hợp đồng làm
hệ thống
Cõu 32 tại sao núi thiết
kế pm như 1 nền tảng phục vụ cho mọi bước kỹ nghệ PM sau đú ?
ở mỗi giai đoạn ptr pm, đầu ra của giai đoạn này là đầu vào của giai đoạn sau
Do vậy thiết kế pm là 1 nền tảng cho cỏc giai đoạn sau
Cõu 33 thế nào là kỹ nghệ phần mềm ? trỡnh bày cỏc đặc trưng của kỹ nghệ phần mềm.
Kỹ nghệ phần mềm là việc thiết lập và sử dụng cỏc nguyờn lý cụng nghệ đỳng đắn để thu được pm 1 cỏch vừa 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ú 3 yếu tố quyết định trong kỹ nghệ pm đú là :
- Phương phỏp: là cỏch thức để xd pm Cỏc pp bao gồm cỏc nhiệm vụ, lập kế hoạch và ước lượng dự ỏn, phõn tớch yờu cầu hệ thống
và pm, thiết kế cấu trỳc dữ liệu, kiến trỳc c.tr và thủ tục thuật toỏn, mó húa , kiểm thử và bảo trỡ
- Cỏc cụng cụ: cung cấp hỗ trợ tự động hay bỏn tự động cho từng pp khi cỏc cụng cụ được tớch hợp đến mức cỏc thụng tin do cụng
cụ tạo ra cú thể được dựng cho cỏc cụng cụ khỏc thỡ
hệ thống hỗ trợ cho việc pt
pm đó được thiết lập -Cỏc thủ tục: KNPM là chất keo dỏn cỏc pp và cụng cụ lại vs nhau,làm cho chỳng được sử dụng hợp lý và đỳng hạn trong
Trang 8việc phát triển pm máy
tính Thủ tục xđ ra:
+ Trình tự các pp sẽ được
sd
+ Sp cần bàn giao (tài liệu,
báo cáo…)
+ Cột mốc để người làm
PM nắm được tiến độ
-tập hợp 3 yếu tố trên được
gọi là khuôn cảnh kỹ nghệ
pm Khuôn cảnh này được
lựa chọn dựa trên bản chất
của dự án ứng dụng, pp,
công cụ cần dùng, cách
kiểm soát và cách bàn
giao
Câu 34 : theo em thế nào
là 1 pm có chất lượng tốt?
Thứ 1; hạn chế thấp nhất
gây ra lỗi, đứng hệ thống,
tắt ngẽn trong quá trình sử
dụng
Thứ 2 : Giao diện thân
thiện với người sử dụng
Thứ 3 : Dễ thao tác với các
chức năng Các thao tác
càn đơn giản càng tốt
Thứ 4 : Đáp ứng được
phần lớn công việc như tự
động hóa về quản lý và tự
động hóa tính toán số liệu,
linh họat trong sử dụng
Thứ 5: Linh hoạt trong
quản trị Cho phép mở
rộng nhu cầu, cập nhật
nâng cấp và bổ sung tính
Thứ 6 : Cho phép tối ưu
Cơ sở dữ liệu Hằng năm
cho phép cắt dữ liệu ra
nhưng khi cần vẫn có thể
tra lại được
Câu 35 : việc lự chọn
ngôn ngữ lập trình cần
dựa vào những yếu tố :
Một số đặc trưng của tâm
lý xuất hiện như kết quả
của việc thiết kế ngôn ngữ
lập trình.Mặc dầu những
đặc trưng này không đo
được theo bất cứ cách thức
nhưngchúng ta thừa nhận biểu hiện của chúng trong mọi ngôn ngữ lập trình
a Tính đồng đều: chỉ ra mức
độ theo đó ngôn ngữ ký pháp nhất quán
b Tính mơ hồ:ngôn ngữ lập trình được người lập trình cảm nhận Trình biên dịch baogiờ cũng diễn giải một câu lệnh theo một cách Nhưng độc giả có thể hiểu câu lệnh đó theocách khác
Tại đây có sự mơ hồ tâm
lý Việc thiếu tính đồng đều và sự mơ hồ tâm lý thường đikèm nhau Nếu ngôn ngữ lập trình để lộ ra những khía cạnh tiêu cực của các đặc trưng này thìchương trình nguồn sẽ khó đọc và việc dịch
từ thiết kế ra dễ sinh lối nhiều hơn
c.Tính gọn gàng:chỉ dẫn về khối lượng thông tin hướng chương trình mà con ngườiphải ghi nhớ Trong các thuộc tính ngôn ngữ đo tính gọn gàng có:
•Mức độ ngôn ngữ hỗ trợ cho các kết cấu có cấu trúc và “giải quyết việc khó” theo logic
•Loại từ khoá và cách viết tắt có thể được dùng
•Sự phong phú của các kiểu dữ liệu và đặc trưng mặc định
•Số các phép toán logic và số học
•Số các hàm có sẵn
d Tính cục bộ:là đặc trưng toàn thái của ngôn ngữ lập trình Tính cục bộ được làm nổibật khi các câu lệnh có thể được tổ hợp thành các khối , khi
các kết cấu có cấu trúc có thể đượccài đặt trực tiếp, khi thiết kế và chương trình gốc đều mang tính module Một đặc trưng củangôn ngữ
hỗ trợ hay khuyến khích cho xử lý biệt lệ đều
vi phạm vào tính cục bộ này
e
Tính tuyến tính:là một đặc trưng tâm lý
có liên quan chặt chẽ với khái niệm bảo trìcủa lĩnh vực chức năng Tức là, nhận biết con người được thuận lợi khi gặp một dãy tuyến tínhcác thao tác logic Những nhánh xảy ra (các chu trình lớn) vi phạm tính tuyến tính của xử lý.Một lần nữa, việc cài đặt thông tin trực tiếp cho các kết cấu có cấu trúc trợ giúp cho tuyến tínhcủa ngôn ngữ lập trình.Khả năng học một ngôn ngữ mới của chúng
ta bị ảnh hưởng bởi truyền thống Các kếtcấu là tương
tự nhau, hình dạng thì tương thích và cảm giác về định dạng ngôn ngữ lập trìnhđược bảo toàn.Các đặc trưng tâm lý của ngôn ngữ lập trình có ý nghĩa quan trọng tới khả năng củachúng ta trong việc học, áp dụng và duy trì chúng Tóm lại, ngôn ngữ lập trình tạo ra màu sắc,cho chúng ta cách nghĩ về chương trình
và giới hạn cố hữu cách chúng ta liên lạc với máy tính
Câu 36: với 1 pm nhỏ có cần tiếp cận theo hướng
kỹ nghệ hay không? why?
Trang 9Có cần.Một nhận thức sai
lầm rất phổ biến là khi một
lập trình viên tạo ra một
chương trình, đơn giản là
anh ta ngồi xuống và bắt
đầu viết code Điều này có
thể xảy ra trong một cửa
hàng phần mềm nhỏ và
không chuyên nghiệp
Nhưng ở các công ty lớn,
dù là với phần mềm nhỏ
nhất cũng phải trải qua quá
trình thiết kế để lập kế
hoạch về cách mà phần
mềm sẽ được viết phần
mềm cũng yêu cầu được
phác thảo và lập kế hoạch
trước khi những đoạn mã
đầu tiên được gõ, hoặc
được xây dựng.vì 1 pm
nhỏ cũng như pm lớn đều
phải đi theo các bước cụ
thể mới có sp đáp ứng
được nhu cầu k/h.(Những
tài liệu mà những lập trình
viên tạo ra biến đổi rất
nhiều phụ thuộc vào công
ty, dự án, và nhóm phát
triển, những mục đích của
chúng đều là lập kế hoạch
và tổ chức mã được viết.)
Câu 37 Các giai đoạn
trong thiết kế phần mềm.
1 nghiên cứu và hiểu ra
vấn đề không hiểu rõ vấn
đề thì không thể có được
thiế kế phần mềm hữu
hiệu
2 xác định các đặc điểm
thô của it nhất 1 trong vài
giải pháp có thể Chọn giải
pháp phụ thuộc vào ng
thiết kế, vào các cấu kiện
dùng lại đc và sự đơn giản
của các giải pháp dẫn xuất
Theo kinh nghiệm nếu các nhân tố khác là tương tự thì nên chọn giải pháp đơn giản nhất
3 mô tả những điều trừu tượng trong giải pháp
Trước khi tạo ra các tư liệu chính thức ng thiết kế nên thấy rằng cần phải xây dựng một mô tả ban đầu sơ khai rồi chi tiết hóa nó
Các sai sót và khiếm khuyết trong thiết kế mức đỉnh đc phát hiện phải đc chỉnh đốn trc khi lập tư liệu thiết kế
Quá trình khắc phục khiếm khuyết đc lặp lại cho từng trừu tượng có trong thiết
kế ban đầu và quá trình tinh chế này tiếp tục cho tới khi một đặc tả thiết kế chi tiết cho từng phần trừu tượng kết thúc
Tầm quan trọng: có thể đc thể hiện = 1 từ: chất lượng
thiết kế là nơi chất lượng
đc nuôi dưỡng trong phát triển PM Thiết kế cung cấp cách biểu diễn PM có thể đc xác nhận về chất lượng, là cách duy nhất mà chúng ta có thể chuyển hóa một cách chính xác các yêu cầu thành sản phẩm hay hệ thống PM cuối cùng
câu 39,41,44:Mô hình vòng đời cổ điển
Mô hìnhvòng đời cổ điển (mô hình thác nước) khuôn cảnh vòng đời yêu cầu một cáchtiếp cậntuần tự đối với việc phát triển phần mềm
Nó bắt đầu ở mức hệ thống
và tiến dầnxuống phân tích, thiết kế, mã hóa, kiểm thử và bảo trì Như vậy khuôn cảnh vòng đời bao gồmcác hoạt động trong
mô hình thác nước sau:
1.Kỹ nghệ và phân tích hệ thống: Phần mềm là một phần của hệ thống ứng dụng nêncông việc phải bắt đầu từ việc thiết lập yêu cầu cho tất cả các phần tử của hệ thống Kỹnghệ và phân tích hệ thống bao gồm việc thu thập yêu cầu ở mức hệ thống với mộtthiết kế sơ
bộ và phân tích mức đỉnh 2.Phân tích yêu cầu phần mềm:
Tiến trình thu thập yêu cầu được tập trung và làm mạnhđặc biệt vào phần mềm Các kỹ sư phần mềm cần phải diễn đạt ra được các yêu cầuđối với phần mềm dưới dạng các chức năng cần có, hiệu năng và giao diện Cần lậptư liệu về các yêu cầu cho cả hệ thống và phần mềm, và được khách hàng duyệt lại
3.Thiết kế:
Thiết kế phần mềm là một tiến trình nhiều bước tập trung vào bốn thuộc tínhphân biệt của chương trình:
-thiêt kế cấu trúc dữ liệu -kiến trúc phần mềm (các chức năng của chương trình)
-chi tiết các thủ tục, thuật tóan
-kế giao diệnTiến trình thiết kế chuyển hóa các yêu cầu thành một biểu diễn của phần mềm có thểkhẳng định về chất lượng trước khi giai đoạn
mã hóa bắt đầu Việc thiết
kế phải được lậptư liệu và trở thành một phần của cấu hình phần mềm
Trang 104.Mã hóa:dùng một ngôn
ngữ lập trình cụ thể viết
chương trình.Đây là khâu
quan trọngvà tốn kém nhất
về thời gian và chất xám
của cán bộ lập trình –
chuyên gia phần mềm
5.Kiểm thử:Việc kiểm thử
bắt đầu sau khi đã sinh ra
mã, tập trung vào phần
logic bêntrong chương
trình, đảm bảo rằng tất cả
các câu lệnh đều được
kiểm thử Về phầnchức
năng bên ngoài cần đảm
bảo việc tiến hành kiểm
thử phát hiện ra các lỗi và
đảmbảo những cái vào xác
định sẽ tạo ra kết quả thực
tế thống nhất với kết quả
muốn có
6.Bảo trì:Phần mềm chắc
chắn sẽ có những thay đổi
sau khi được bàn giao cho
kháchhàng (ngoại lệ là
những phần mềm nhúng)
Nguyên nhân có thể là lỗi
do phần mềm,phải thích
ứng với môi trường bên
ngoài (hệ điều hành mới,
thiết bị ngoại vi
mới ),hoặc do khách hàng
yêu cầu nâng cao chức
năng hay hiệu năng… Việc
bảo trì phầnmềm phải áp
dụng lại các bước vòng đời
nói trên
Đánh giá: ưu nhược điểm
Ưu:Vòng đời cổ điển ra
đời sớm nhất và được sử
dụng rộng rãi nhất cho kỹ
nghệ phần mềm.-> cho
biết các bước quá trình pt
pm
Nhươc:Các dự án hiếm khi
tuân theo dòng chảytuần tự
mà mô hình đề ra Việc lặp
lại bao giờcũng xuất hiện
và gây ra vấn đề
Khó áp dụng chỉ phù hợp
với các phần mềm đơn
giản vì trên thực tế các bước không thể tách rời ra
1 cách độc lập
Khách hàng khó phát biểu hết mọi yêu cầu một cách tường minh khi mới triển khai dựán và thường xẩy
ra mâu thuẫn giữa thực tế với khả năng đáp ứng của phần mềm
Câu 40:
Bước phân tích yêu cầu cần xác định những j?
+ Xác định các loại yêu cầu:
- chức năng: các yêu cầu đối với CN cụ thể của PM
- phi chức năng:
+ làm rõ chi tiết của từng yêu cầu
+ loại bỏ những yêu cầu chưa hợp lý hay mâu thuẫn với các yêu cầu khác
câu 42: Tại mỗi vòng
xung quanh xoắn ốc, cao điểm của việc phân tích rủi
ro là “tiến hành hay không tiến hành”, nếu rủi ro quá lớn có thể đình chỉ dự án
Câu 45: vai trò của pp thiết kế pm.
-Để tạo ra 1 mô hình hay biểu diến 1 thưc thể mà sau này được xây dựng
Thiết kế phaỉ được thực hành và học bằng kinh nghiệm ,còn bằng khảo sát các hệ thống đang tồn tại
và học bằng sách vở là không đủ ,thiết kế là 1 quá trình sáng tạo ,đòi hỏi kinh nghiệm và sự tinh nhanh của người thiết kế
-Thiết kế pm là 1 tiến trình chuyển hóa các yêu cầu thành 1 biểu diễn phần mềm Việc làm mịn tiếp sau dẫn tới 1 biễu diến thiết kế rất gần với chương trình gốc
Tầm quan trọng của thiết
kế pm có thể phát biểu = 1 từ” chất lương
Câu 46: phân tích yêu cầu gồm những bước nào?
Việc phân tích yêu cầu phần mềm có thể chia thành 5 bước
a) Nhận thức vấn đề b) Đánh giá vấn đề và tổng hợp các giải pháp
c) Mô hình hóa d) Đặc tả e) Xét duyệt,thẩm định
Ta xét khái quát 5 bước được tiến hành như sau:Trước hết tiến hành nghiên cứu bản Phân tích
hệ thống và bản Kế hoạch
dự án phầnmềm(nếu có), hiểu phần mềm trong toàn cảnh hệ thống và xem xét phạm vi phần mềm đượcdùng để ước lượng quy mô công việc và lên
kế hoạch
Bước thứ 2 là trao đổi giữa các bên để nhận thức ra vấn đề cần giải quyết
Mô hình làm bản mẫu:
Khách hàng xác định đc mục tiêu tổng quát của PM nhưng chứ hiểu rõ làm ntn Đưa ra bản mẫu với các công việc:
B1: tập hợp yêu cầu từ KH B2: Thiết kế nhanh để tạo bản mẫu
B3: bản mẫu đem giao tiếp với Kh để tiếp nhận ý kiến xem phù hợp chưa
B4: đánh giá xem người làm đã đạt yêu cầu của KH chưa, nhận kết quả tiếp thu
ý kiến từ KH B5: làm mịn bản mẫu
Ưu điểm: dễ tiếp cận, hiệu quả cao, sự trao đỗi giữa