Kỹ nghệ phần mềm nâng cao

73 1K 8
Kỹ nghệ phần mềm nâng cao

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Kỹ nghệ phần mềm nâng cao

Mục LụcCÂU HỎI ÔN TẬP KỸ NGHỆ PHẦN MỀM NÂNG CAO 1. Chất lượng và đảm bảo chất lượng phần mềm 1.1. Khái niệm về đảm bảo chất lượng Câu 1. Chất lượng của một sản phẩm phần được sản xuất là gì? Đối với phần mềm định nghĩa này có đúng không? Làm thế nào để áp dụng định nghĩa đó? - Chất lượng của sản phẩm được thể hiện bằng các đặc trưng phù hợp với các đặc tả của nó. - Định nghĩa này là chung cho mọi sản phẩm. Với phần mềm có một số vấn đề: • Phần mềm có yêu cầu mà chưa có đặc tả • Phần mềm có đặc tả nhưng lại mù mờ• Có những yêu cầu tự nhiên nên không được đặc tả - Chất lượng phần mềm là: • việc tuân thủ các yêu cầu chức năng và sự hoàn thiện đã được phát biểu tường minh • các chuẩn phát triển đã được tư liệu hoá tường minh • các đặc trưng không tường minh được trông đợi từ tất cả các phần mềm đã được phát triển theo cách chuyên nghiệp: Theo quan điểm của người phát triển thì một phần mềm tốt là một phần mềm ít lỗi. Đó chính là chất lượng của chương trình. Vấn đề là làm thế nào để chương trình chạy giống như thiết kế. Chất lượng của phần mềm theo quan điểm này chính là quan điểm chất Đảm Bảo Chất Lượng Phần Mềm (HC)1 lượng theo kiểu lập trình. Nguời ta cũng gọi chất luợng này là chất lượng theo nghĩa cần thiết vì nó phản ánh cái bắt buộc phải làm có tính nguyên tắc mặc dù nói chung nguời ta không đạt được. Đã có một sự thay đổi lớn trong cách quan niệm chất lượng của phần mềm. Theo quan điểm của khách hàng, phần mềm tốt là phần mềm đáp ứng tốt yêu cầu của khách hàng và dễ dùng, dễ bảo trì. Đó là chất lượng theo quan điểm thiết kế. Vấn đề là làm thế nào để thiết kế đáp ứng đúng nhu cầu của người sử dụng. Người ta cũng nói đó là chất lượng theo nghĩa hấp dẫn vì nó hướng tới người dùng. Còn một khía cạnh mới trong quan niệm chất lượng của phần mềm đó là độ tin cậy, được hiểu là tính chính xác, tính ổn định, tính an toàn của phần mềm. Kể từ khi máy tính trở thành hạ tầng mới của xã hội, độ tin cậy của phần mềm trở nên hết sức quan trọng đối với các hoạt động xã hội. Đây là chất lượng theo nghĩa xã hội đo mức độ ảnh hưởng của sản phấm tới mọi người (không kể chính người phát triển và NSD trực tiếp). Một phần mềm tốt không những phải đáp ứng nhu cầu của người phát triển mà phải thoả mãn người sử dụng và có độ tin cậy cao. Vậy có thể định nghĩa: Chất lượng là mức độ thoả mãn của NSD đối với sản phẩm hay dịch vụ. Câu2. Cái gì được dùng làm cơ sở để kiểm định chất lượng phần mềm: Để đánh giá chất lượng phần mềm người ta dựa vào quan điểm chính sau: - Yêu cầu phần mềm là cơ sở để đo chất lượng: • Sự phù hợp với yêu cầu là có chất lượng • Phù hợp yêu cầu cả về số lượng và chất lượng - Yêu cầu thể hiện bằng đặc tả - đặc tả phải có chuẩn của nó mới kiểm tra được - Các chuẩn đặc tả xác định một bộ các tiêu chuẩn phát triển, các tiêu chuẩn này hướng dẫn cách thức làm ra phần mềm: nếu không tuân thủ các tiêu chuẩn đó thì hầu như chắc chắn là chất lượng sẽ kém - Luôn có một tập các yêu cầu ngầm thường ít được nhắc đến • Quá thông dụng, hiển nhiên (sử dụng cửa số) • Không thể hiện ra ngoài (quy tắc nghiệp vụ) - Nếu phần mềm chỉ phù hợp với các yêu cầu đã hiển thị mà chưa phù hợp với yêu cầu ngầm thì chất lượng phần mềm là đáng nghi ngờ Đảm Bảo Chất Lượng Phần Mềm (HC)2 - Cần làm rõ yêu cầu và đưa vào đặc tả càng nhiều càng tốt Câu 3. Để làm cơ sở cho việc kiểm định chất lượng, đặc tả các yêu cầu phần mềm cần thoả mãn các điều kiện gì? Nêu một vài ví dụ về điều kiện đưa ra. Yêu cầu phần mềm là cơ sở để đo chất lượng. Yêu cầu thể hiện ra bằng đặc tả và đặc tả phải có chuẩn của nó mới kiểm tra được. Các chuẩn đặc tả xác định một bộ các tiêu chuẩn phát triển, các tiêu chuẩn này hướng dẫn cách thức làm ra phần mềm: nếu không tuân thủ các tiêu chuẩn đó thì hầu chắc chắn là chất lượng sẽ thiếu sót. Câu 4. Các nhân tố ảnh hưởng lên chất lượng phần mềm có mấy mức độ? Những loại nhân tố nào ảnh hưởng đến chất lượng?- Có 2 loại mức độ ảnh hưởng • Nhân tố trực tiếp • Nhân tố gián tiếp - Có 3 loại nhân tố ảnh hưởng đến chất lượng • Đặc trưng chức năng • Khả năng đương đầu với những thay đổi • Khả năng thích nghi với môi trường mới. Câu 5. Nêu các đặc trưng ảnh hưởng lên chất lượng của mỗi loại nhân tố: đặc trưng chức năng, khả năng thích nghi với thay đổi, khả năng thích nghi với môi trường? • McCall đề xuất 11 nhân tố và phân thành 3 loại: (1) đặc trư¬ng chức năng (2) khả năng đ¬ương đầu với những thay đổi (3) khả năng thích nghi với môi trư¬ờng mới. • Loại 1: Các đặc trưng chức năng - (5) σ (1) Tính đúng đắn - Có làm đúng với cái tôi muốn hay không? - Có thỏa mãn những điều đã được đặc tả chưa? - Có thực hiện được những mục tiêu nhiệm vụ của khách hàng chưa? Các độ đo liên quan: Đảm Bảo Chất Lượng Phần Mềm (HC)3 o Độ đầy đủ o Độ hòa hợp o Độ lần vết được σ (2) Tính tin tưởng được - Có thể trông đợi vào sự thực hiện các chức năng dự kiến - Mức chính xác được đòi hỏi Các độ đo liên quan: o Độ chính xác o Độ phức tạp o Độ hòa hợp o Độ dung thứ lỗi o Độ mođun hoá o Độ đơn giản - dễ hiểu. o Độ lần vết được σ (3) Tính hiệu quả: Tổng nguồn lực tính toán và mã yêu cầu để thực hiện các chức năng của chương trình là thích hợp. Các độ đo liên quan: o Độ súc tích o Độ hiệu quả thực hiện o Độ dễ thao tác σ (4) Tính toàn vẹn: là sự khống chế được việc truy cập của những người không được phép tới phần mềm và dữ liệu của hệ thống. Các độ đo liên quan: o Độ kiểm toán được o Trang bị đồ nghề đủ o Độ an ninh. σ (5) Tính khả dụng: công sức để học hiểu, thao tác, chuẩn bị đầu vào, thể hiện đầu ra của chương trình Các độ đo liên quan: Đảm Bảo Chất Lượng Phần Mềm (HC)4 o d thao tỏc o o kh nng hun luyn Loi 2: Kh nng ơng u vi nhng thay i - (3) (1)Tớnh bo trỡ ơc: n lc ũi hi nh v v xỏc nh c mt li trong chng trỡnh l chp nhn c. Cỏc o liờn quan: o sỳc tớch o ho hp o Trang b ngh o moun hoỏ o t cp ti liu o n gin - d hiu (2) Tớnh mm do: n lc ũi hi ci biờn mt chng trỡnh l chp nhn c Cỏc o liờn quan: o phc tp o sỳc tớch o ho hp o khuch trng ơc o khỏi quỏt o o moun hoỏ o t cp ti liu o n gin - d hiu (3) Tớnh kim th ơc: n lc cn kim th mt chng trỡnh v bo m rng nú thc hin ỳng chc nng c d nh l chp nhn c. Cỏc o liờn quan: o kim toỏn ơc o phc tp o Trang b ngh o moun hoỏ m Bo Cht Lng Phn Mm (HC)5 o Độ tự cấp tài liệu o Độ đơn giản - dễ hiểu • Loại 3: khả năng thích nghi với môi trư¬ờng mới - (3) σ (1) Tính mang chuyển đ¬ược: nỗ lực đòi hỏi để chuyển nó từ một môi trường phần cứng/phần mềm này sang một môi trường phần cứng/phần mềm khác Các độ đo liên quan: o Độ khái quát o Độ độc lập phần cứng o Độ đo mođun hoá o Độ tự cấp tài liệu o Độ độc lập hệ thống phần mềm σ (2) Tính sử dụng lại đ¬ược: một chương trình (hoặc một phần của nó) có thể được dùng lại trong một ứng dụng khác Các độ đo liên quan: o Độ khái quát o Độ độc lập phần cứng o Độ đo mođun hoá o Độ tự tạo tài liệu o Độ độc lập hệ thống phần mềm σ (3) Tính liên tác đư¬ợc: nỗ lực đòi hỏi để ghép đôi một hệ thống vào một hệ thống khácCác độ đo liên quan: o Độ tư¬ơng đồng giao tiếp o Độ t¬ương đồng dữ liệu o Độ khái quát o Độ đo mođun hoá. • Có hai mức độ ảnh hưởng σ Nhân tố trực tiếp: có thể thực tiếp đo như lỗi/KLOC/ đơn vị thời gian σ Nhân tố gián tiếp: nhân tố chỉ có thể đo được một cách gián tiếp như tính bảo trì Nhân tốĐảm Bảo Chất Lượng Phần Mềm (HC)6 Độ đo Đúng đắn Tin cậy được Hiệu quả Toàn vẹn Khả dụng Bảo trì được Mềm dẻo Kiểm thử được Mang chuyển được Sử dụng lại được Liên tác được Kiểm toán được X x Chính xác x Tương đồng giao tiếp x Đầy đủ X Phức tạp x x x Súc tích x x x Hòa hợp X x x x Tương đồng dữ liệu x Dung thứ lỗi x Hiệu quả thực hiện x Khuyếch trương được x Độc lập phần cứng x x Trang bị đủ đồ nghề X x x Đo Modul hóa x x x x x x x Dễ thao tác x x An ninh X Tự tạo tài liệu x x x x x Đơn giản - Dễ hiểu x x x x Độc lập hệ thống phần mềm x x Lần vết được X x Khả năng huấn luyện x Khái quát x x x x Câu 6. Có thể đo trực tiếp chất lượng phần mềm không? Tại sao? Vậy phải đo bằng cách nào? Nhân tố trực tiếp: có thể trực tiếp đo như lỗi/KLOC/ đơn vị thời gian Câu 7. Kể ra các độ đo đặc trưng chất lượng chính của McCall? Giải thích nội dung của nó? Đảm Bảo Chất Lượng Phần Mềm (HC)7 McCall xut 22 o sau: (1) kim toỏn ơc: cú th kim tra d dng v vic tuõn th cỏc chun (2) chớnh xỏc: chớnh xỏc ca tớnh toỏn v iu khin (3) tơng ng giao tip: mc s dng cỏc giao din, giao thc v gii thụng chun. (4) y : mc theo ú cỏc vic ci t y cho cỏc chc nng yờu cu ó c t ti. (5) phc tp: trỏnh dựng chng trỡnh cú phc tp cao (6) sỳc tớch (conciseness): gn ca chng trỡnh di dng s dũng mó. (7) ho hp (consistancy): vic dựng k thut thit k v t liu thng nht trong ton b chng trỡnh. (8) tơng ng d liu: vic dựng cỏc cu trỳc v kiu d liu chun trong ton b chng trỡnh (9) dung th li: nhng hng húc xut hin khi chng trỡnh gp phi mt li c chp nhn. (10) hiu qa thc hin: hiu nng khi chy ca chng trỡnh (11) khuch trơng ơc:Mc theo ú thit k kin trỳc, d liu hay th tc cú th c m rng. (12) khỏi quỏt: rng rói ca ng dng tim nng ca cỏc thnh phn chng trỡnh. (13) c lp phn cng: mc theo ú phn mm tỏch bit c vi phn cng m nú vn hnh. (14) Trang b ngh (instrumentation):mc theo ú chng trỡnh iu phi thao tỏc ca riờng nú v xỏc nh cỏc li xut hin (15) o moun hoỏ: s c lp chc nng ca cỏc thnh phn trong chng trỡnh (16) d thao tỏc: Vic d vn hnh trong chng trỡnh (17) an ninh: cú sn c ch kin soỏt hay bo v chng trỡnh v d liu. (18) t to ti liu (self-doccumentation): mc theo ú mó gc cung cp ti liu cú ý ngha. m Bo Cht Lng Phn Mm (HC)8 (19) Độ đơn giản - dễ hiểu: mức độ theo đó người ta có thể hiểu được chương trình không khó khăn. (20) Độ độc lập hệ thống phần mềm: mức độ theo đó chương trình được độc lập với các tính năng ngôn ngữ lập trình, các đặc trưng hệ điều hành và những ràng buộc môi trường không chuẩn khác. (21) Độ lần vết đư¬ợc: khả năng theo dõi các dấu vết của một biểu diễn thiết kế hay thành phần của chương trình thực hiện so với yêu cầu(22) Độ đo khả năng huấn luyện: Mức độ theo đó phần mềm trợ giúp làm cho người dùng mới dùng được hệ thống. Câu 8. Giải thích nội dung các thuộc tính chất lượng phần mềm sau đây và nêu ra các độ đo liên quan được sử dụng để đo thuộc tính đó: (1) Tính đúng đắn - Làm đúng với khách hàng mong muốn - Có thỏa mãn những điều đã được đặc tả (những yêu cầu của đối tượng khác) Các độ đo liên quan: o Độ đầy đủ o Độ hòa hợp o Độ lần vết được (2) Tính tin cậy được - Có thể trông đợi vào sự thực hiện các chức năng dự kiến - mức chính xác được đòi hỏi Các độ đo liên quan: o Độ chính xác o Độ phức tạp o Độ hòa hợp o Độ dung thứ lỗi o Độ mođun hoá o Độ đơn giản - dễ hiểu. o Độ lần vết được Đảm Bảo Chất Lượng Phần Mềm (HC)9 (3) Tớnh hiu qu: tng lng ngun lc tớnh toỏn v mó yờu cu khi thc hin cỏc chc nng ca chng trỡnh l thớch hp Cỏc o liờn quan: o sỳc tớch o hiu qu thc hin o d thao tỏc (4) Tớnh ton vn: l s khng ch c vic truy cp trỏi phộp ti phn mm v d liu h thng Cỏc o liờn quan: o kim toỏn c o Trang b ngh o an ninh. (5) Tớnh kh dng: cụng sc hc hiu, thao tỏc, chun b u vo, th hin u ra ca chng trỡnh l chp nhn nhn c Cỏc o liờn quan: o d thao tỏc o o kh nng hun luyn (6) Tớnh bo trỡ ơc: n lc cn nh v v xỏc nh c mt li trong chng trỡnh l chp nhn c Cỏc o liờn quan: o sỳc tớch o ho hp o Trang b ngh o moun hoỏ o t cp ti liu o n gin - d hiu (7) Tớnh mm do: n lc cn ci biờn mt chng trỡnh l chp nhn c Cỏc o liờn quan: o phc tp m Bo Cht Lng Phn Mm (HC)10 [...]... lư¬ợng phần mềm (SQA) diễn ra song song với bảo đảm chất lượng trong chế tạo phần cứng Đảm Bảo Chất Lượng Phần Mềm (HC) 13 • Các chuẩn bảo đảm chất lư¬ợng phần mềm đầu tiên đư¬ợc đư¬a ra trong quân sự, thời những năm 70 và nhanh chóng lan ra lĩnh vực th¬ương mại Câu 11 Tại sao cần đảm bảo chất lượng phần mềm? Nó đóng vai trò gì trong một doanh nghiệp phát triển phần mềm? Đảm bảo chất lượng phần mềm là... môi trường phần cứng /phần mềm này sang một môi trường phần cứng /phần mềm khác là chấp nhận được Các độ đo liên quan: o Độ khái quát o Độ độc lập phần cứng o Độ đo mođun hoá o Độ tự cấp tài liệu o Độ độc lập hệ thống phần mềm (10) Tính sử dụng lại đ¬ược: khả năng chương trình (hoặc một phần của nó) có thể được dùng lại trong một ứng dụng khác Các độ đo liên quan: o Độ khái quát o Độ độc lập phần cứng... là sản xuất ra phần mềm có chất lượng cao • Phải đảm bảo chất lượng phần mềm vì: • Từ nhu cầu của khách hàng • Từ nhà sản xuất: đảm bảo tính đồng đều của sản phẩm làm ra • Giúp nhà phân tích có được đặc tả chất lượng cao • Giúp nhà thiết kế có được thiết kế chất lượng cao • Theo dõi chất lượng phần mềm • Đánh giá ảnh hưởng của thay đổi về phương pháp luận và thủ tục lên chất lượng phần mềm • SQA có những... Đảm Bảo Chất Lượng Phần Mềm (HC) 17 Rà soát kỹ thuật chính thức(FTR) - Khái niệm: là hoạt động đảm bảo chất lượng phần mềm do những người đang tham gia phát triển phần mềm thực hiện - Mục tiêu: • Phát hiện các lỗi trong chức năng, trong logic, trong triển khai (implementation) • Kiểm thử sự phù hợp của phần mềm với yêu cầu • Khẳng định phần đã đạt yêu cầu • Bảo đảm rằng phần mềm phù hợp với các chuẩn... công nghệ phần mềm phòng sạch vẫn chưa được áp dụng rộng rãi trong công nghiệp Cần phải có các thay đổi thực chất trong cả quản lý cũng như trong kỹ thuật trước khi áp dụng phương pháp này 2.2 Các độ đo về sự tin cậy và an toàn Câu 30 Độ tin cậy của phần mềm là cái gì? Đo độ tin cậy dựa trên những dữ liệu nào? - Độ tin cậy của phần mềm là một yếu tố quan trọng trong chất lượng phần mềm - Độ tin cậy phần. .. lịch trình ♣ Điều kiện 3 Các yêu cầu: phần cứng, phần mềm, nhân sự 4 Kiểm soát quá trình kiểm thử • Danh mục rà soát kế hoạch kiểm thử phần mềm: Đảm Bảo Chất Lượng Phần Mềm (HC) 26 (1) Các pha kiểm thử chủ yếu có thực sự đư¬ợc định rõ và đư¬ợc xắp xếp thứ tự hay chưa? (2) Tiêu chuẩn yêu cầu kiểm thử có đư¬ợc thiết lập nh¬ư một phần của pha phân tích yêu cầu phần mềm hay không? (3) Các chức năng chủ... Chất Lượng Phần Mềm (HC) 20 Câu 21 Khi nào tiến hành rà soát? Cần rà soát những sản phẩm gì - Mọi sản phẩm tạo ra ở mỗi bước đều được rà soát (không chỉ sản phẩm cuối cùng) - Rà soát được tiến hành suốt quá trình phát triển - Tiến trình phát triển chung nhất gồm 4-5 giai đoạn: σ Kỹ nghệ hệ thống (lập kế hoạch triển khai) σ Phân tích, xác định yêu cầu phần mềm σ Thiết kế phần mềm σ Kiểm thử phần mềm σ Bảo... động SQA? Câu 14 Mục tiêu của SQA là gì? Các hoạt động chính đảm bảo chất lượng phần mềm là những hoạt động nào? Đảm bảo chất lượng phần mềm là các hoạt động nhằm mục tiêu là sản xuất ra phần mềm có chất lượng cao • Có 7 hoạt động chính: (1) Áp dụng công nghệ kĩ thuật hiệu quả (phương pháp, công cụ) (2) Tiến hành rà soát kỹ thuật chính thức (3) Thực hiện kiểm thử nhiều tầng (4) Tuân theo các chuẩn phát... 25 Giải thích nội dung các thành phần và ý nghĩa độ đo SMI và cách sử dụng nó? Chỉ số trưởng thành phần mềm SMI (Software Mutirity Index) (IEEE Standard 982.1-1998): cho biết tính ổn định của sản phẩm phần mềm được phát triển - Sự trưởng thành của phần mèm liên quan đến sự phát triển quy mô và tính ổn định liên quan đến sự thay đổi các thành phần cấu trúc của phần mềm theo thời gian - Đây là độ đo... soát kỹ thuật chính thức? • Các kiểu rà soát: • Họp xét duyệt không chính thức • Họp chính thức trước với các thành viên: khách hàng, nhà quản lý, nhân viên kỹ thuật (chỉ tập trung vào các rà soát kỹ thuật chính thức FTR-Format Technical Review) • Rà soát kĩ thuật chính thức FTR chủ yếu do các kỹphần mềm thực hiện, là một phương tiện hiệu quả để cải thiện chất lượng phần mềm Đảm Bảo Chất Lượng Phần . triển phần mềm? Đảm bảo chất lượng phần mềm là các hoạt động nhằm mục tiêu là sản xuất ra phần mềm có chất lượng cao. • Phải đảm bảo chất lượng phần mềm. Mục LụcCÂU HỎI ÔN TẬP KỸ NGHỆ PHẦN MỀM NÂNG CAO 1. Chất lượng và đảm bảo chất lượng phần mềm 1.1. Khái niệm về đảm bảo chất lượng

Ngày đăng: 23/01/2013, 10:26

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan