de cuong on tap cnpm

21
Đề cương ôn tập môn học Công nghệ phần mềm Trang 1 PHẦN I: LÝ THUYẾT Câu 1:Khái niệm về công nghệ phần mềm? Sản phẩm phần mềm? Các nhóm sản phẩm phần mềm hiện có? Nội dung cơ bản của công nghệ phần mềm? 1) Kh¸i niÖm c«ng nghÖ phÇn mÒm: C«ng nghÖ phÇn mÒm lμ mét lÜnh vùc nghiªn cøu cña tin häc nh»m ®-a ra c¸c nguyªn lý, ph-¬ng ph¸p, c«ng cô, ph-¬ng tiÖn, gióp cho viÖc thiÕt kÕ vμ cμi ®Æt mét s¶n phÈm phÇn mÒm ®¹t ®-îc c¸c yªu cÇu sau mét c¸ch tèt nhÊt: - Ph¶i cã tÝnh ®óng ®¾n vμ khoa häc - DÔ tiÕp cËn vμ c¶i tiÕn - Phæ dông - §éc lËp víi c¸c thiÕt bÞ 2) S¶n phÈm phÇn mÒm - Sản phẩm phần mềm là một hoặc một nhóm các chương trình được xây dựng để giải quyết một vấn đề nào đó. Ví dụ: chương trình quản lý hoạt động của máy móc và các chương trình ứng dụng. 3) C¸c nhãm s¶n phÈm phÇn mÒm hiÖn cã Hiện nay người ta phân chia thành 7 nhóm phần mềm chính. - Nhóm các hệ điều hành: Gồm các chương trình quản lí ổ đĩa, màn hình, chương trình quản lí các tệp, quản trị mạng, quản lí thư viện, quản lí các chương trình dịch. - Nhóm chương trình dịch: mỗi một ngôn ngữ có một chương trình dịch riêng. - Nhóm các chương trình hệ thống: Gồm có những chương trình soạn thảo văn bản, các chương trình đồ hoạ, chương trình tạo giao diện thân thiện giữa người dùng và hệ điều hành, các chương trình mở rộng các chức năng tệp. - Nhóm các tiện ích và trò chơi: chương trình xử lí bảng tính điện tử, chương trình tìm và diệt virus, tất cả các trò chơi. - Nhóm các hệ quản trị CSDL - Nhóm các chương trình ứng dụng có tính hệ thống: + Nhóm các chương trình xử lí dữ liệu đa năng: Chương trình phục vụ tính toán cấp cơ sở, hệ chuyên gia, hệ tương tự, hệ mô phỏng, hệ tự động thiết kế, dạy học và tự học. + Chương trình xử lí nhận dạng, phân tích, tổng hợp tiếng nói, hình ảnh. + Tất cả những chương trình điều khiển qui trình công nghiệp. 4)Nội dung cơ bản của công nghệ phần mềm: Bao gồm các nội dung sau: - Tìm hiểu yêu cầu của bài toán, yêu cầu của khách hàng, thu thập đầy đủ các thông tin và phân tích theo mọi khía cạnh kể cả chiều rộng lẫn chiều sâu. - Đặc tả tại mỗi nút của chương trình ta nêu được các tính chất, đặc trưng của dữ liệu vào và ra mà không cần quan tâm đến nội dung các thao tác bên trong của nó. Đặc tả có thể sử dụng các công thức hoặc mô hình toán học để đặc tả một cách hình thức hoặc dùng ngôn ngữ tự nhiên để diễn tả một cách phi hình thức kết hoặc kết hợp cả hai. - Thiết kế chương trình bằng phương pháp lập trình có cấu trúc. - Kiểm thử chương trình một cách có hệ thống cho nhiều bộ dữ liệu khác nhau để chạy thử, kiểm tra phát hiện lỗi, kiểm tra tính ổn định, miền nhớ, miền nháp của chương trình và độ phức tạp theo thời gian, theo thuật toán. - Chứng minh tính đúng đắn của chương trình. - Đánh giá chất lượng của chương trình. - Quản lý việc thiết kế, cài đặt vẫn hành và bảo trì phần mềm, cung cấp các phần mềm trợ giúp liên quan cho người sử dụng. Câu 2: Các giai đoạn để cho ra đời một sản phẩm phần mềm? 1. Kh¶o s¸t s¬ bé vμ ph©n tÝch kh¶ thi - CÇn lμm g×? (What to do?) T×m hiÓu: NhiÖm vô chÝnh mμ hä cÇn thùc hiÖn vμ yªu cÇu cña hä ®èi víi hÖ thèng cã phÇn mÒm - TiÕn hμnh nh- thÕ nμo? (How to do?) GÆp kh¸ch hμng: + GÆp ng-êi cã quyÒn cao nhÊt (gi¸m ®èc) -> yªu cÇu: ng¾n gän, tæng qu¸t vμ lμ c¸i ®Ých cuèi cïng ph¶i ®¹t ®-îc + Ng-êi cã quyÒn qu¶n lý cÊp 2 (tr-ëng phßng): nh©n sù vμ kÕ ho¹ch, tμi vô, bé phËn thùc thi Mçi tr-ëng bé phËn sÏ ®-a ra nh÷ng yªu cÇu kh¸c nhau mang tÝnh ®Æc thï Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.

Upload: hacamapls

Post on 05-Jul-2015

678 views

Category:

Education


0 download

TRANSCRIPT

Page 1: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 1

PHẦN I: LÝ THUYẾT Câu 1:Khái niệm về công nghệ phần mềm? Sản phẩm phần mềm? Các nhóm sản phẩm phần mềm hiện có? Nội dung cơ bản của công nghệ phần mềm? 1) Kh¸i niÖm c«ng nghÖ phÇn mÒm: C«ng nghÖ phÇn mÒm lµ mét lÜnh vùc nghiªn cøu cña tin häc nh»m ®­a ra c¸c nguyªn lý, ph­¬ng ph¸p, c«ng cô, ph­¬ng tiÖn, gióp cho viÖc thiÕt kÕ vµ cµi ®Æt mét s¶n phÈm phÇn mÒm ®¹t ®­îc c¸c yªu cÇu sau mét c¸ch tèt nhÊt: - Ph¶i cã tÝnh ®óng ®¾n vµ khoa häc - DÔ tiÕp cËn vµ c¶i tiÕn - Phæ dông - §éc lËp víi c¸c thiÕt bÞ 2) S¶n phÈm phÇn mÒm - Sản phẩm phần mềm là một hoặc một nhóm các chương trình được xây dựng để giải quyết một vấn đề nào đó. Ví dụ: chương trình quản lý hoạt động của máy móc và các chương trình ứng dụng. 3) C¸c nhãm s¶n phÈm phÇn mÒm hiÖn cã Hiện nay người ta phân chia thành 7 nhóm phần mềm chính. - Nhóm các hệ điều hành: Gồm các chương trình quản lí ổ đĩa, màn hình, chương trình quản lí các tệp, quản trị mạng, quản lí thư viện, quản lí các chương trình dịch. - Nhóm chương trình dịch: mỗi một ngôn ngữ có một chương trình dịch riêng. - Nhóm các chương trình hệ thống: Gồm có những chương trình soạn thảo văn bản, các chương trình đồ hoạ, chương trình tạo giao diện thân thiện giữa người dùng và hệ điều hành, các chương trình mở rộng các chức năng tệp. - Nhóm các tiện ích và trò chơi: chương trình xử lí bảng tính điện tử, chương trình tìm và diệt virus, tất cả các trò chơi. - Nhóm các hệ quản trị CSDL - Nhóm các chương trình ứng dụng có tính hệ thống: + Nhóm các chương trình xử lí dữ liệu đa năng: Chương trình phục vụ tính toán cấp cơ sở, hệ chuyên gia, hệ tương tự, hệ mô phỏng, hệ tự động thiết kế, dạy học và tự học. + Chương trình xử lí nhận dạng, phân tích, tổng hợp tiếng nói, hình ảnh. + Tất cả những chương trình điều khiển qui trình công nghiệp. 4)Nội dung cơ bản của công nghệ phần mềm: Bao gồm các nội dung sau: - Tìm hiểu yêu cầu của bài toán, yêu cầu của khách hàng, thu thập đầy đủ các thông tin và phân tích theo mọi khía cạnh kể cả chiều rộng lẫn chiều sâu. - Đặc tả tại mỗi nút của chương trình ta nêu được các tính chất, đặc trưng của dữ liệu vào và ra mà không cần quan tâm đến nội dung các thao tác bên trong của nó. Đặc tả có thể sử dụng các công thức hoặc mô hình toán học để đặc tả một cách hình thức hoặc dùng ngôn ngữ tự nhiên để diễn tả một cách phi hình thức kết hoặc kết hợp cả hai. - Thiết kế chương trình bằng phương pháp lập trình có cấu trúc. - Kiểm thử chương trình một cách có hệ thống cho nhiều bộ dữ liệu khác nhau để chạy thử, kiểm tra phát hiện lỗi, kiểm tra tính ổn định, miền nhớ, miền nháp của chương trình và độ phức tạp theo thời gian, theo thuật toán. - Chứng minh tính đúng đắn của chương trình. - Đánh giá chất lượng của chương trình. - Quản lý việc thiết kế, cài đặt vẫn hành và bảo trì phần mềm, cung cấp các phần mềm trợ giúp liên quan cho người sử dụng. Câu 2: Các giai đoạn để cho ra đời một sản phẩm phần mềm? 1. Kh¶o s¸t s¬ bé vµ ph©n tÝch kh¶ thi - CÇn lµm g×? (What to do?) T×m hiÓu: NhiÖm vô chÝnh mµ hä cÇn thùc hiÖn vµ yªu cÇu cña hä ®èi víi hÖ thèng cã phÇn mÒm - TiÕn hµnh nh­ thÕ nµo? (How to do?) GÆp kh¸ch hµng: + GÆp ng­êi cã quyÒn cao nhÊt (gi¸m ®èc) -> yªu cÇu: ng¾n gän, tæng qu¸t vµ lµ c¸i ®Ých cuèi cïng ph¶i ®¹t ®­îc + Ng­êi cã quyÒn qu¶n lý cÊp 2 (tr­ëng phßng): nh©n sù vµ kÕ ho¹ch, tµi vô, bé phËn thùc thi Mçi tr­ëng bé phËn sÏ ®­a ra nh÷ng yªu cÇu kh¸c nhau mang tÝnh ®Æc thï

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 2: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 2

Yªu cÇu cô thÓ vµ chi tiÕt h¬n so víi yªu cÇu cña ng­êi qu¶n lý cÊp cao. Nh­ng míi ë møc ®é ®­a ra yªu cÇu liÖt kª c«ng viÖc + Ng­êi cã quyÒn thÊp nhÊt -> yªu cÇu cô thÓ cho tõng qu¸ tr×nh thùc hiÖn c«ng viÖc, c«ng viÖc mang tÝnh chÊt c¸ nh©n cña riªng tõng ng­êi NhËn xÐt: Mçi nhãm ng­êi dïng cã yªu cÇu kh¸c nhau vµ do h¹n chÕ vÒ mÆt thêi gian chóng ta chØ gÆp ®¹i diÖn cña nhãm user Ph©n tÝch kh¶ thi: Tµi chÝnh Thêi gian Nh©n lùc Khoa häc c«ng nghÖ Ph¸p lý 2. Kh¶o s¸t chi tiÕt TËp chung t×m hiÓu c¸c nghiÖp vô chuyªn m«n quy tr×nh xö lý sè liÖu: - Khi nµo lµm viÖc nµy? - Ai lµm?

- LÊy d÷ liÖu tõ ®©u? - Xö lý nh­ thÕ nµo? - KÕt qu¶ lµ g×? - Sau ®ã lµm g×? - C¸c rµng buéc lµ g×? §iÒu quan träng lµ khi hÖ thèng cã phÇn mÒm ho¹t ®éng th× viÖc xö lý th«ng tin ph¶i tèt h¬n hÖ thèng cò 3. Ph©n tÝch Lµ quy tr×nh lµm râ yªu cÇu cña kh¸ch hµng vµ ®­a ra ®­îc b¶n thiÕt kÕ ®èi víi phÇn mÒm (Ýt nhÊt ë mÆt kiÕn tróc) 4. ThiÕt kÕ Lµ quy tr×nh ®­a ra ®­îc m« h×nh phÇn mÒm cã thÓ ®­îc x©y dùng trong t­¬ng lai NhËn xÐt: - B¶n thiÕt kÕ phÇn mÒm chØ ®­îc thiÕt kÕ mét lÇn vµ dïng mét lÇn duy nhÊt kh«ng gièng víi b¶n thiÕt kÕ m¸y mãc, thiÕt kÕ nhµ,... ThiÕt kÕ kiÕn tróc hÖ thèng: c¨n cø vµo c¸c nhãm ng­êi dïng vµ chøc n¨ng cña hä cã thÓ thùc hiÖn->kiÕn tróc hÖ thèng t­¬ng øng: hÖ thèng m¸y tÝnh cho gi¸m ®èc, tr­ëng phßng, .... ThiÕt kÕ chøc n¨ng cña hÖ thèng: c¸c c«ng viÖc mµ hÖ thèng cã thÓ ®¶m nhiÖm lµ g× + ViÖc do ng­êi lµm + ViÖc do m¸y lµm + ViÖc do ng­êi lµm m¸y hç trî 5. Cµi ®Æt hÖ thèng C¨n cø vµo tµi liÖu thiÕt kÕ - Chän c«ng cô ®Ó lËp tr×nh, hÖ qu¶n trÞ d÷ liÖu -> thèng nhÊt c¶ hÖ thèng ®­îc x©y dùng trªn mét ng«n ng÷ lËp tr×nh vµ mét hÖ qu¶n trÞ c¬ së d÷ liÖu - Chia hÖ thèng thµnh nhiÒu modul nhá h¬n vµ giao cho tõng nhãm (ng­êi) - C¸c nhãm hoÆc c¸ nh©n hoµn thiÖn m· lÖnh cña modul m×nh ®¶m nhiÖm -> kiÓm tra tÝnh hîp lÖ cña modul ®ã - GhÐp nèi c¸c modul l¹i thµnh hÖ thèng hoµn chØnh vµ kiÓm tra hÖ thèng - ViÕt tµi liÖu cµi ®Æt hÖ thèng: c¨n cø cho viÖc söa lçi vµ më réng hÖ thèng sau nµy 6. Bµn giao s¶n phÈm vËn hµnh vµ b¶o tr× n©ng cÊp - PhÇn mÒm - S¸ch h­íng dÉn Câu 3: Hãy nêu tóm tắt các mô hình của quá trình phần mềm. Đánh giá ưu, nhược điểm của từng mô hình. 1. M« h×nh "th¸c n­íc" (hay m« h×nh "vßng ®êi cæ ®iÓn").

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 3: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 3

§­îc chia thµnh c¸c b­íc: - Kü nghÖ hÖ thèng - Ph©n tÝch vµ ®Þnh râ yªu cÇu - ThiÕt kÕ hÖ thèng vµ phÇn mÒm - M· ho¸ - Cµi ®Æt vµ kiÓm thö - VËn hµnh vµ b¶o tr×

C¸c giai ®o¹n ®­îc thùc hiÖn tuÇn tù theo thêi gian liªn tiÕp nhau vµ sau khi giai ®o¹n tr­íc thùc hiÖn xong, giai ®o¹n sau míi b¾t ®Çu thùc hiÖn vµ nÕu t¹i thêi ®iÓm nµo ®ã cã lçi th× cã thÓ quay ng­îc l¹i giai ®o¹n tr­íc ®ã hoÆc lµm l¹i tõ ®Çu ¦u ®iÓm: - C¸c giai ®o¹n dÔ hiÓu vµ dÔ tiÕp cËn ®èi víi kh¸ch hµng - C¸c tµi liÖu ®­îc viÕt ra sau mçi giai ®o¹n sÏ lµ c¨n cø ®Ó thùc hiÖn cho viÖc b¶o tr× vµ n©ng cÊp hÖ thèng sau nµy. Nh­îc ®iÓm: - MÊt thêi gian cho viÖc thùc hiÖn dù ¸n phÇn mÒm - Dù ¸n lµm phÇn mÒm rÊt khã tu©n theo quy tr×nh lµm tuÇn tù nµy -> nªn chia nhá tõng giai ®o¹n vµ thùc hiÖn gèi ®Çu nhau. - Kh¸ch hµng th­êng khã ph¸t biÓu mäi yªu cÇu mét c¸ch t­êng minh. - Kh¸ch hµng ph¶i kiªn nhÉn. 2. M« h×nh "xo¸y èc" (hay m« h×nh th¨m dß). M« h×nh xo¾n èc ®­îc chia thµnh mét sè khu«n khæ ho¹t ®éng, còng cßn ®­îc gäi lµ vïng nhiÖm vô. VÒ c¬ b¶n, cã tõ ba tíi s¸u vïng. H×nh sau m« t¶ cho m« h×nh xo¾n èc cã chøa s¸u vïng:

Dù ¸n b¶o tr× s¶n phÈm

Dù ¸n n©ng cao s¶n phÈm

Dù ¸n ph¸t triÓn s¶n phÈm míi

Dù ¸n ph¸t triÓn kh¸i niÖm

X©y dùng vµ ®­a ra

KÜ nghÖ

Ph©n tÝch rñi ro

LËp kÕ ho¹ch

Trao ®æi víi kh¸ch hµng

Trôc ®iÓm vµo

§¸nh gi¸ cña kh¸ch hµng

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 4: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 4

- Trao ®æi víi kh¸ch hµng - nhiÖm vô ®ßi hái thiÕt lËp viÖc trao ®æi cã hiÖu qu¶ gi÷a ng­êi ph¸t triÓn vµ kh¸ch hµng. - LËp kÕ ho¹ch - nhiÖm vô ®ßi hái ®Þnh nghÜa c¸c tµi nguyªn, h¹n thêi gian vµ c¸c th«ng tin liªn quan tíi dù ¸n. - Ph©n tÝch rñi ro - nhiÖm vô ®ßi hái ®Þnh gi¸ c¶ nh÷ng rñi ro kÜ thuËt vµ qu¶n lÝ - KÜ nghÖ - nhiÖm vô ®ßi hái x©y dùng mét hay nhiÒu biÓu diÔn cho øng dông - X©y dùng vµ ®­a ra - nhiªm vô ®ßi hái x©y dùng, kiÓm thö, thiÕt ®Æt vµ cung cÊp sù hç trî cho ng­êi dïng (nh­ tµi liÖu vµ huÊn luyÖn) - §¸nh gi¸ cña kh¸nh hµng - nhiÖm vô ®ßi hái thu ®­îc ph¶n håi cña kh¸ch hµng dùa trªn ®¸nh gi¸ vÒ biÓu diÔn phÇn mÒm ®­îc t¹o ra trong giai ®o¹n kÜ nghÖ vµ ®­îc cµi ®Æt trong giai ®o¹n cµi ®Æt. ¦u ®iÓm: - M« h×nh ®­îc më réng theo tõng vßng xo¸y xÐt vÒ quy m« vµ c¸ch tiÕp cËn hîp lý h¬n ®èi víi kh¸ch hµng vµ nhãm ph¸t triÓn - Cã giai ®o¹n ph©n tÝch rñi ro tr¸nh ®­îc c¸c rñi ro Nh­îc ®iÓm: - Tèn thêi gian cho viÖc gÆp gì trao ®æi víi kh¸ch hµng - B­íc ph©n tÝch rñi ro ph¶i ®ù¬c tiÕn hµnh mét c¸ch thËn träng vµ tham gia bëi nh÷ng ng­êi cã kinh nghiÖm vµ quyÒn quyÕt ®Þnh - Khi dõng ph¶i dõng sím ®Ó tr¸nh thiÖt h¹i cho c¶ hai bª 3. M« h×nh t¹o b¶n mÉu.

- TiÕn hµnh ph©n chia hÖ thèng phÇn mÒm thµnh c¸c modul nhá h¬n vµ tiÕn hµnh tËp hîp yªu cÇu cña kh¸ch hµng vµ sau ®ã thùc hiÖn theo c¸c b­íc cña s¬ ®å - Quy tr×nh tõ 5->2 ®­îc lÆp l¹i cho ®Õn khi s¶n phÈm ®ù¬c kh¸ch hµng chÊp nhËn - Coi modul ®· ®­îc x©y dùng lµm mÉu vµ x©y dùng tÊt c¶ c¸c modul cßn l¹i - §­îc øng dông khi kh¸ch hµng khã cã thÓ diÔn ®¹t ®­îc yªu cÇu cña m×nh ®èi víi c¸c phÇn mÒm vµ nhãm ph¸t triÓn còng kh«ng hiÓu biÕt nhiÒu vÒ kh¸ch hµng 4. Kü nghÖ thÕ hÖ thø 4 (4GT – fourth generation technology)

- Bao gåm mét ph¹m vi réng c¸c c«ng cô phÇn mÒm cã mét ®iÓm chung: mçi c«ng cô ®Òu cho phÐp ng­êi kÜ s­ phÇn mÒm x¸c ®Þnh ®­îc ®Æc tr­ng nµo ®ã cña phÇn mÒm ë møc cao - Tõ c¸c ý t­ëng cña thiÕt kÕ ®­a thµnh c¸c s¬ ®å chuÈn, tù ®éng biªn dÞch ra c¸c s¬ ®å, m· lÖnh ¦u ®iÓm: ChØ cÇn kh¶o s¸t vµ ph©n tÝch tèt (ng­êi lµm) d­íi sù trî gióp cña m¸y tÝnh chóng ta cã thÓ t¹o ra hÖ thèng phÇn mÒm mét c¸ch nhanh chãng

T×m hiÓu yªu cÇu

Ph©n tÝch

ThiÕt kÕ

Cµi ®Æt

KiÓm thö

S¶n phÈm

C«ng cô tù ®éng hoÆc hç trî

B¾t ®Çu

TËp hîp yªu cÇu vµ lµm mÞn => x¸c ®Þnh môc tiªu tæng thÓ, kh¶o s¸t thªm ®Ó ®Þnh râ yªu cÇu ThiÕt kÕ nhanh

X©y dùng b¶n mÉu

§¸nh gi¸ cña kh¸ch hµng vÒ

b¶n mÉu

S¶n phÈm

Lµm mÞn b¶n mÉu

KÕt thóc

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 5: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 5

Nh­îc ®iÓm: Do c«ng cô ph¸t triÓn hÖ thèng ch­a thùc sù tèt nªn míi chØ ¸p dông ®­îc cì hÖ thèng nhá, quy tr×nh c«ng viÖc râ rµng -> nh÷ng phÇn mÒm thiªn vÒ khoa häc vµ tÝnh to¸n. Khã cã thÓ kiÓm so¸t ®­îc qu¸ tr×nh ph¸t triÓn do con ng­êi Ýt tham gia 5) Tæng hîp c¸c m« h×nh - Tæ hîp c¸c m« h×nh ®Ó ®¹t ®­îc søc m¹nh cña tõng m« h×nh cho mét dù ¸n riªng lÎ - BÊt kú mét m« h×nh nµo trong c¸c m« h×nh nµy ®Òu cã thÓ lµm nÒn t¶ng cho m« h×nh kh¸c

Câu 4: Hãy nêu các tiêu chuẩn của nhóm thành viên sản xuất phần mềm? Theo bạn, thành viên nào là quan trọng nhất? Vì sao? Trong nhãm nh÷ng ng­êi ph¸t triÓn phÇn mÒm, cÇn cã hiÓu biÕt vÒ c¸c lÜnh vùc sau: 1. PC: Tri thøc vÒ phÇn cøng. 2. HT: Kh¶ n¨ng tiÕp cËn hÖ thèng. 3. PM: HiÓu biÕt vÒ c«ng nghÖ phÇn mÒm. 4. TT: Tri thøc vÒ to¸n häc vμ thuËt to¸n. 5. LT: Kh¶ n¨ng lËp tr×nh. 6. MKT: Kh¶ n¨ng tiÕp thÞ. C¸c thµnh viªn trong nhãm ph¸t triÓn phÇn mÒm cÇn cã møc ®é hiÓu biÕt vÒ c¸c lÜnh vùc nh­ sau: -Chñ nhiÖm ®Ò tµi: Lµ ng­êi cã hiÓu biÕt vÒ kh¸ vÒ hÖ thèng vµ MKT, lµ ng­êi cã kh¶ n¨ng t©m lý häc cao nhÊt, cã kh¶ n¨ng vÒ ®èi néi vµ ®èi ngo¹i. -Ng­êi ph©n tÝch vµ thiÕt kÕ hÖ thèng: Ph¶i kh¸ vÒ tÊt c¶ mäi mÆt, cßn phÇn cøng vµ phÇn mÒm chØ cÇn biÕt lµ ®­îc. -Ng­êi ®¶m b¶o phÇn cøng: Giái vÒ phÇn cøng vµ phÇn mÒm. -Ng­êi ®¶m b¶o phÇn mÒm: Lµ cè vÊn vÒ phÇn mÒm, gãp ý vµ cung cÊp c¸c c«ng cô phÇn mÒm hÖ thèng vµ tiÖn Ých thÝch hîp gióp cho nhãm gi¶m ®­îc tèi ®a c«ng søc vμ thêi gian lμ nh÷ng c«ng viÖc trïng lÆp. -Ng­êii lËp tr×nh: lµ ng­êi chuyªn vÒ lËp tr×nh, hiÓu biÕt thuËt to¸n vµ chuyÓn ®æi theo có ph¸p cña c¸c ng«n ng÷. -Phô tr¸ch MKT: Giái giao dÞch vµ biÕt vÒ hÖ thèng. B¶ng tãm t¾t vÒ tiªu chuÈn cña nhãm thμnh viªn s¶n xuÊt phÇn mÒm

KiÕn thøc

Thµnh viªn PC HT TT PM LT MKT

1. Chñ nhiÖm ®Ò tµi B K B B B K / G

2. PT & TK hÖ thèng B K K K K B

3. §¶m b¶o phÇn cøng K / G B B K B B

4. §¶m b¶o phÇn mÒm B K K K / G K B

5. Ng­êi lËp tr×nh B B / K K K / G K / G B

6. Phô tr¸ch MKT B K B B B K / G

Ghi chó: C¸c ký hiÖu G - Giái, K - Kh¸, B - BiÕt.

TËp hîp c¸c yªu cÇu ban ®Çu

Ph©n tÝch yªu cÇu Lµm b¶n mÉu 4GT M« h×nh xo¸y èc

ThiÕt kÕ

M· ho¸

KiÓm chøng

B¶n mÉu: vßng thø N

4GT

4GT

M« h×nh: vßng thø N

HÖ thèng ho¹t ®éng

B¶o tr×

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 6: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 6

Câu 5:Các lỗi có thể mắc phải trong quá trình thiết kế và cài đặt phần mềm là gì? Nguyên nhân? Theo bạn lỗi nào là lỗi nặng nhất? Vì sao? - Lỗi thứ 1: Lỗi về ý đồ thiết kế sai. Đây là lỗi nặng nhất. Hệ thống mà chúng ta xây dựng sẽ không thể đáp ứng được yêu cầu của khách hàng. - Lỗi thứ 2: Lỗi phân tích các yêu cầu không đầy đủ hoặc lệch lạc. Đây là lỗi cũng thường xảy ra. Thực tế cho thấy, những người làm chuyên môn thì không hiểu sâu về tin học nên không cung cấp được những thông tin cần thiết cho những người làm tin học. Ngược lại, những người làm tin học là không hiểu hết về chuyên môn nghiệp vụ của khách hàng. Do vậy mà việc thu thập thông tin sẽ không đầy đủ hoặc thiếu chính xác. Chính vì vậy mà dễ mắc lỗi. Lỗi này có thể được khắc phục tại các cuộc gặp gỡ giữa hai bên và giải đáp những điều còn mơ hồ. - Lỗi thứ 3: Lỗi hiểu sai các chức năng. Đây là lỗi thường hay mắc phải do trong hệ thống có thể có các chức năng hay lĩnh vực có tính chuyên môn cao. Các từ chuyên ngành. Dẫn đến khó hiểu đối với nhà phát triển phần mềm. Kh¾c phôc: c¶m thÊy m¬ hå th× nªn nhê t­ vÊn - Lỗi thứ 4: Lỗi bỏ xót các chức năng. Lỗi này các nhà phát triển phần mềm cũng hay mắc phải, do điều kiện thời gian và chuyên môn có hạn, đôi khi các chức năng không thể được đưa ra một cách đầy đủ. Lỗi này có thể được hạn chế (không phải là khắc phục tất cả) qua thời gian làm việc nhiều hơn với khách hàng, do vậy mà ta có thể biết được nhiều thông tin hơn. Mét khÝa c¹nh kh¸c n÷a, ®èi víi viÖc thiÕt kÕ h­íng ®èi t­îng (sÏ nghiªn cøu sau), ta cÇn ph¶i tu©n theo nguyªn lý vÒ h­íng ®èi t­îng (chñ yÕu lµ tÝnh che dÊu th«ng tin vµ kÕ thõa): ta ph¶i biÕt c¸ch ®Ó truy nhËp ®Õn tõng thµnh phÇn cña ®èi t­îng. - Lỗi thứ 5: Lỗi tại các đối tượng chịu tải. Lỗi xảy ra tại các hàm hoặc các thủ tục cấp thấp xây dựng lên các thủ tục khác. Lỗi này cũng là một lỗi nặng, có thể kéo theo sai xót ở một loạt các hàm hoặc thủ tục khác. + Xét về nguyên lý và mức độ lỗi thì lỗi nặng nhất vẫn là ở ý đồ thiết kế sai hoặc là ở thủ tục chịu tải mức thấp nhất. Như vậy, nếu như trong quá trình thiết kế hay thực hiện cài đặt thủ tục USCLN mà có lỗi thì lỗi đó sẽ ảnh hưởng đến toàn bộ hệ thống của chúng ta. - Lỗi thứ 6: Lỗi lây lan. Đây là lỗi do virus có thể lây từ chương trình này sang chương trình khác. Ví dụ, nếu trong thư viện có một chương trình bị lỗi. Nếu ta gọi thủ tục này thì sẽ có lỗi. - Lỗi thứ 7: Lỗi cú pháp. Lỗi này sinh ra do việc viết sai các quy định về văn phạm. Những lỗi này thường được chương trình dịch thông báo ngay khi dịch theo nguyên lý an toàn: các lỗi nhỏ nhất cũng phải được xử lý ngay khi dịch đến đó. - Lỗi thứ 8: Lỗi do hiệu ứng phụ. Lỗi xảy ra do việc sử dụng hàm, thủ tục hay chương trình con, có các phép tính biến đổi chương trình con nằm ngoài ý muốn của người lập trình. Để tránh hiệu ứng phụ ta cần phải tuân theo: XÐt vÝ dô sau:

Var x, y, z : real; Function FF : real; Begin X := 10 + 2*x; FF := x + y/5; End; Begin Write(' x = '); readln(x); Write(' y = '); readln(y); Z := FF; Writeln(' 10 + 2*', x, '+', y, '/5 = ', z); End.

Ch­¬ng tr×nh sai lµ do x lµ biÕn toµn côc nªn nã t¸c ®éng trªn toμn bé ch­¬ng tr×nh. Cã nhiÒu c¸ch söa b»ng c¸ch söa ch­¬ng tr×nh b»ng c¸ch thªm biÕn phô hoÆc biÕn ®Þa ph­¬ng. Hay b»ng c¸ch chuyÓn ®æi l¹i c¸ch in ra (v× kÕt qu¶ vÉn ®óng). §Ó tr¸nh hiÖu øng phô ta cÇn ph¶i tu©n theo: + Tất cả các biến được khai báo ở trong chương trình con đều là biến địa phương. + Tất cả các tham biến hình thức được truyền theo tham trị trong chương trình con dù có trùng tên với biến toàn cục cũng không làm thay đổi giá trị của biến toàn cục. + Đối với các phép tính làm thay đổi giá trị của biến thì phải dùng biến phụ.

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 7: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 7

Câu 6: Hãy nêu các tiêu chuẩn của một sản phẩm phần mềm và giải thích lý do? Hồ sơ của sản phẩm phần mềm bao gồm những gì? Theo anh (chị), như thế đã đủ chưa? Có cần phải bổ sung thêm những gì nữa không? 1.Một số tiêu chuẩn để đánh giá một sản phẩm phần mềm. - Tiêu chuẩn 1: Tính đúng đắn. Các sản phẩm phần mềm phải thực hiện được chính xác các mục tiêu được đặt ra ở giai đoạn thiết kế, không bị treo máy hoặc ra kết quả sai đối với bộ dữ liệu nằm trong phạm vi yêu cầu. Để đạt được yêu cầu này, các sản phẩm phần mềm trước hết phải có thuật toán đúng và chương trình tình phải tương ứng với thuật toán. - Tiêu chuẩn 2: Tính khoa học. + Tính khoa học về cấu trúc: Các sản phẩm phần mềm được chia thành các đơn vị nhỏ cân đối và có quan hệ hữu cơ không trùng lặp và có thể tổ hợp từng nhóm để tạo ra các chức năng mới. Thuật toán và chức năng được xây dựng một cách có cấu trúc. + Tính khoa học về nội dung: Thuật toán được xây dựng dựa trên những thành tựu mới của toán học và tin học. Các chương trình phải được xây dựng trên các ngôn ngữ lập trình mới và phổ dụng. + Tính khoa học về hình thức thao tác: Mỗi lệnh của chương trình cần phải được tối ưu. Muốn vậy, các lệnh phải được xây dựng một cách hợp lý, logic và phù hợp với tư duy tự nhiên của người sử dụng. Các lỗi phải được thông báo một cách rõ ràng (lỗi số bao nhiêu, vị trí lỗi, nội dung lỗi, cách khắc phục). - Tiêu chuẩn 3: Tính hữu hiệu. Thể hiện ở các mặt sau: + Hữu hiệu về kinh tế: Có giá trị kinh tế hoặc có ý nghĩa giá trị thu được khi áp dụng sản phẩm đó.

Hữu hiệu về tốc độ xử lý: Có số lượng lớn các đối tượng được xử lý trong một đơn vị thời gian. Lượng tối đa của sản phẩm quản lý được (ví dụ: trong Excel quản lý được 65536 bản ghi, FoxPro quản lý được 255 trường). + Hữu hiệu về dung lượng bộ nhớ: Tốn càng ít càng tốt. - Tiêu chuẩn 4: Tính sáng tạo. Sản phẩm phải mới mẻ và độc đáo. Nếu phát triển trên cái cũ thì phải tiếp theo được những cái hay của nó đồng thời phải cung cấp được các chức năng mới tốt hơn so với cái đã có. - Tiêu chuẩn 5: Tính an toàn. Sản phẩm phần mềm phải có cơ chế bảo mật chống xâm phạm, sao chép trộm và làm biến dạng chương trình. Có cơ chế bảo vệ đối tượng mà nó phát sinh và quản lý, có cơ chế hồi phục khi có sự cố. - Tiêu chuẩn 6: Tính đầy đủ và toàn vẹn. Sản phẩm thực hiện được đầy đủ yêu cầu của khách hàng. Các chức năng phải có tính đối xứng, nghĩa là: có tạo lập thì có xoá bỏ, có mở thì có đóng, có tiếp theo thì cũng cho phép trở về, … - Tiêu chuẩn 7: Tính độc lập với các thiết bị. Sản phẩm có thể sử dụng trên nhiều loại máy khác nhau và sử dụng nhiều các thiết bị đi kèm khác nhau. Độc lập cả với cấu trúc của đối tượng mà nó phát sinh ra. - Tiêu chuẩn 8: Tính phổ dụng. Có thể sử dụng được rộng rãi trong nhiều lĩnh vực và ở nhiều chế độ làm việc. - Tiêu chuẩn 9: Tính dễ học và dễ sử dụng, cải tiến. Sản phẩm hợp với yêu cầu người dùng về ngôn ngữ, hệ thống các chức năng (menu), các thông báo, cú pháp đơn giản, rõ ràng, dễ nhớ, dễ thao tác, dễ tăng cường các chức năng, dễ mở rộng và cải tiến 2. Hå s¬ cña mét s¶n phÈm phÇn mÒm. Khi bµn giao s¶n phÈm cho kh¸ch hµng ta cÇn chó ý ®Õn c¸c thµnh phÇn sau: - Ph¶i cã ch­¬ng tr×nh nguån, ch­¬ng tr×nh ®Ých ®Ó trªn ®Üa. - §Ýnh kÌm c¸c phÇn mÒm tiÖn Ých cã liªn quan. - C¸c b¶n in ch­¬ng tr×nh nguån, trªn ®ã cã lêi gi¶i thÝch râ rµng ®Ó tiÖn cho viÖc chøng minh tÝnh ®óng ®¾n cña ch­¬ng tr×nh. - B¶n m« t¶ c¸c thuËt to¸n cña ch­¬ng tr×nh. - B¶ng h­íng dÉn sö dông chi tiÕt, c¸c lçi cã thÓ cã vµ c¸ch xö lý lçi. - C¸c th«ng sè ®Æc tr­ng cña ch­¬ng tr×nh, s¶n phÈm gåm: Tªn chñ nhiÖm ®Ò tµi, chøc vô, n¬i c«ng t¸c, ®Þa chØ, ®iÖn tho¹i, … C¸c th«ng tin vÒ s¶n phÈm: tªn ®Çy ®ñ, tªn v¾n t¾t, sè hiÖu phiªn b¶n, ngμy th¸ng thiÕt kÕ vµ cµi ®Æt, c¸c chøc n¨ng cña hÖ thèng, chÕ ®é lµm viÖc (hép héi tho¹i, menu, …). - CÊu h×nh tèi thiÓu cña hÖ thèng, c¸c thiÕt bÞ ®i kÌm. CÊu h×nh tèi ®a sö dông hÕt c«ng suÊt cña s¶n phÈm. - Giíi thiÖu vÒ ng«n ng÷ lËp tr×nh ®­îc sö dông ®Ó t¹o ra s¶n phÈm. - C¬ chÕ b¶o mËt vµ mét sè phÇn mÒm t­¬ng thÝch.

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 8: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 8

- Cung cÊp thªm mét sè tµi liÖu kh¸c: phÇn mÒm quèc phßng, mét sè c¸c kÕt qu¶ ®· sö dông ë mét sè n¬i, thêi gian sö dông lµ bao nhiªu, yªu cÇu vÒ b¶n quyÒn, cã thÓ biÕt kho¸ b¶o mËt hay kh«ng? … Câu 7: Hãy nêu các loại hình đặc tả, cho ví dụ minh hoạ tương ứng. a, Đặc tả cấu trúc dữ liệu: Nêu các thành phần của dữ liệu Ví dụ: Đặc tả một phân số: Phân_số = { x/y , x ∈ Z , y ∈ N } Số_phức = { a + b.i a, b ∈ R } b, Đặc tả chức năng: Mô tả thông qua việc nêu lên các tính chất hay thuộc tính của tên vào và tên ra. - Ví dụ:

c, Đặc tả đối tượng: Bao gồm đặc tả cấu trúc dữ liệu và mô tả các chức năng. - Ví dụ: đặc tả đối tượng phân số. PS = { x/y , x ∈ Z , y ∈ N } Phép cộng: +: PS x PS → PS

d, Đặc tả thao tác: Nêu lên trình tự tiến hành công việc. - Ví dụ 1: x, y, z ∈ PS. Các bước cần thực hiện đối với phép cộng (+) 2 phân số. z = x + y{Quy_đồng_mẫu_số(x, y); z.tử_số = x.tử_số + y.tử_số; z.mẫu_số = x.mẫu_số; }; - Ví dụ 2: Quy trình Bán hàng: + Khách hàng yêu cầu được mua hàng. + Hướng dẫn khách xem và lựa chọn hàng hoá. + Thoả thuận hình thức thanh toán: Tiền mặt, séc, chuyển khoản, … + Ghi hoá đơn cho khách. + Nhận tiền và giao hàng hoá cho khách. e, Đặc tả cú pháp: Thực chất là các định nghĩa có tính truy hồi từ tổng thể đến cơ sở. Mô tả cách lắp ghép các ký hiệu, các từ với nhau lại để tạo thành chương trình. - Ví dụ: Trong ngôn ngữ lập trình PASCAL, tên (định danh - identify) được khái quát như sau: Là dãy các ký tự bắt đầu bằng chữ cái hoặc dấu gạch nối dưới, sau đó có thể là chữ số, chữ cái hoặc dấu gạch nối dưới. <định danh> = <chữ cái> ∪ <định danh> ∪ <ký tự> <ký tự> = <chữ cái> ∪ <chữ số> <chữ cái> = { A, B, C, … , Z } ∪ { a, b, …, z } <chữ số> = { 0, 1, 2, …, 9 } f, Đặc tả qua sơ đồ: - Ví dụ: Đặc tả định danh

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 9: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 9

+ Đặc tả phân số:

g, Đặc tả thuật toán: Các bước thao tác để giải quyết bài toán. Kiểu đặc tả phải phù hợp với giải pháp. Các yêu cầu của phần mềm có thể được phân tích theo một số cách khác nhau. Các ký thuật phân tích có thể dẫn tới những đặc tả trên giấy hay trên máy tính (được xây dụng nhờ CASE) có chứa các mô tả ngôn ngữ đồ hoạ và tự nhiên cho yêu cầu phần mềm. Việc làm bản mẫu giúp đặc tả có thể được triển khai, tức là bản mẫu sẽ thể hiện những công việc thực hiện các yêu cầu. Các ngôn ngữ đặc tả hình thức dẫn đến biểu diễn hình thức. Câu 8: Các nguyên lý của đặc tả là gì? Giải thích rõ các nguyên lý đó. Nguyªn lý 1: Ph©n t¸ch chøc n¨ng víi cµi ®Æt. - Chøc n¨ng: Cã thÓ lµm g×? (What to do?) - Cµi ®Æt: Lµm nh­ thÕ nµo? (How to do?) - Khi m« t¶ hÖ thèng ph¶i ph©n t¸ch râ hai phÇn - Kh¸ch hµng th­êng chØ hiÓu chøc n¨ng cßn nhãm ph¸t triÓn hÖ thèng ph¶i hiÓu c¶ hai, nhãm b¶o tr× n©ng cÊp ph¶i hiÓu c¶ hai Nguyªn lý 2: CÇn ng«n ng÷ ®Æc t¶ hÖ thèng tiÕn tr×nh. HÇu hÕt c¸c c«ng viÖc ®­îc thùc hiÖn mét c¸ch tuÇn tù -> khi m« t¶ vÒ hÖ thèng cã phÇn mÒm hç trî ho¹t ®éng cña ng­êi dïng còng ph¶i tu©n theo tiÕn tr×nh cña hÖ thèng. Nguyªn lý 3: §Æc t¶ ph¶i bao gåm hÖ thèng cã phÇn mÒm lµ mét thµnh phÇn trong ®ã Khi m« t¶ hÖ thèng cho kh¸ch hµng cÇn thÓ hiÖn ®Çy ®ñ tÊt c¶ nh÷ng g× vèn cã cña hÖ thèng nh­ng b¾t buéc ph¶i m« t¶ hÖ thèng phÇn mÒm nh­ mét phÇn kh«ng thÓ thiÕu trong hÖ thèng (thÓ hiÖn vai trß cña phÇn mÒm ®èi víi hÖ thèng) Nguyªn lý 4: §Æc t¶ ph¶i bao gåm c¶ m«i tr­êng mµ hÖ thèng vËn hµnh. T­¬ng tù, m«i tr­êng mµ trong ®ã hÖ thèng vËn hµnh vµ t­¬ng t¸c víi còng ph¶i ®­îc x¸c ®Þnh. §Æc t¶ m«i tr­êng lµm cho “giao diÖn” cña hÖ thèng ®­îc x¸c ®Þnh theo cïng c¸ch nh­ b¶n th©n hÖ thèng chø kh«ng ®­a vµo c¸ch h×nh thøc kh¸c. Nguyªn lý 5: §Æc t¶ hÖ thèng ph¶i lµ mét m« h×nh nhËn thøc. §Æc t¶ hÖ thèng ph¶i lµ mét m« h×nh nhËn thøc chø kh«ng ph¶i lµ mét m« h×nh thiÕt kÕ hay cµi ®Æt. Nã ph¶i m« t¶ mét hÖ thèng nh­ céng ®ång ng­êi sö dông c¶m nhËn thÊy. C¸c sù vËt mµ nã thao t¸c ph¶i t­¬ng øng víi c¸c sù vËt cña lÜnh vùc ®ã; c¸c t¸c nh©n ph¶i m« h×nh cho c¸c c¸ nh©n, tæ chøc vμ trang thiÕt bÞ trong lÜnh vùc ®ã; cßn c¸c hµnh ®éng hä thùc hiÖn th× ph¶i m« h×nh cho nh÷ng ho¹t ®éng thùc tÕ xuÊt hiÖn trong lÜnh vùc. §Æc t¶ ph¶i cã kh¶ n¨ng tæ hîp vµo trong nã nh÷ng qui t¾c hay luËt bao trïm c¸c sù vËt thuéc lÜnh vùc. Nh÷ng luËt nµy, biÓu thÞ cho “tÝnh vËt lÝ” cña lÜnh vùc, lµ phÇn cè h÷u cña ®Æc t¶ hÖ thèng. Nguyªn lý 6: §Æc t¶ ph¶i thÓ hiÖn tÝnh vËn hµnh. §Æc t¶ ph¶i ®ñ ®Çy ®ñ vµ h×nh thøc ®Ó cã thÓ ®­îc dïng trong viÖc x¸c ®Þnh liÖu mét cµi ®Æt ®­îc ®Ò nghÞ cã tho¶ m·n ®Æc t¶ cho nh÷ng tr­êng hîp kiÓm thö tuú ý kh«ng. Tøc lµ, víi kÕt qu¶ cña viÖc cµi ®Æt trªn mét tËp d÷ liÖu ®­îc chän mét c¸ch tuú ý, ph¶i cã thÓ dïng ®Æc t¶ ®Ó x¸c ®Þnh tÝnh hîp lÖ cho nh÷ng kÕt qu¶ ®ã. Nguyªn lý 7: §Æc t¶ chÊp nhËp dung sai vÒ tÝnh kh«ng ®Çy ®ñ. Kh«ng ®Æc t¶ nµo cã thÓ lµ ®Çy ®ñ hoµn toµn. M«i tr­êng trong ®ã nã tån t¹i th­êng qu¸ phøc t¹p cho ®iÒu ®ã. Mét ®Æc t¶ bao giê còng lµ mét m« h×nh - mét sù trõu t­îng ho¸ - cña mét t×nh huèng thùc (hay ®ù¬c m­êng t­îng) nµo ®ã. Do ®ã, nã sÏ kh«ng ®Çy ®ñ. Nguyªn lý 8: §Æc t¶ ph¶i ®­îc côc bé ho¸ vµ ®­îc ghÐp láng lÎo. C¸c nguyªn lÝ tr­íc xö lÝ ®Æc t¶ nh­ mét thùc thÓ tÜnh. Thùc thÓ nµy n¶y sinh tõ c¸i ®éng cña ®Æc t¶. Yªu cÇu chÝnh cho sù phï hîp ®ã lµ ë chç th«ng tin bªn trong ®Æc t¶ ph¶i ®­îc côc bé ho¸ sao cho chØ mét phÇn nhá (mét c¸ch lÝ t­ëng) cÇn ph¶i söa ®æi khi th«ng tin thay ®æi, vµ ë chç ®Æc t¶ cÇn ®­îc cÊu tróc (ghÐp) mét c¸ch láng lÎo ®Ó cho tõng phÇn cã thÓ ®­îc thªm vµo hay lo¹i bá mét c¸ch dÔ dµng, vµ cÊu tróc ®­îc ®iÒu chØnh mét c¸ch tù ®éng.

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 10: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 10

Câu 9: Trình bày các công việc thực hiện khi thiết kế hệ thống phần mềm. Theo anh (chị), trong mọi hệ thống cũng đều phải tuân theo các công việc đó hay không? Cho ví dụ minh hoạ. Giai ®o¹n 1: Nghiªn cøu vµ hiÓu ra vÊn ®Ò. Kh«ng hiÓu râ vÊn ®Ò th× kh«ng cã thÓ thiÕt kÕ ®ù¬c phÇn mÒm h÷u hiÖu. Giai ®o¹n 2: Lµm s¸ng tá c¸c ®Æc ®iÓm lín cña mét hoÆc mét vµi gi¶i ph¸p cã thÓ. ViÖc chän gi¶i ph¸p phô thuéc vµo kinh nghiÖm cña ng­êi thiÕt kÕ; phô thuéc vµo c¸c thµnh phÇn cã thÓ t¸i sö dông vµ phô thuéc vµo sù ®¬n gi¶n cña c¸c gi¶i ph¸p tr­íc ®ã. Kinh nghiÖm cho thÊy, nÕu c¸c nh©n tè lµ t­¬ng tù th× nªn chän gi¶i ph¸p ®¬n gi¶n nhÊt. Giai ®o¹n 3: M« t¶ tõng ®iÒu trõu t­îng (ch­a râ rµng) trong gi¶i ph¸p. Tr­íc khi t¹o ra c¸c tµi liÖu chÝnh thøc, ng­êi 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 ho¸ nã. C¸c sai sãt vµ khiÕm khuyÕt trong møc thiÕt kÕ ban ®Çu sÏ ®­îc ph¸t hiÖn vµ ®­îc ®iÒu chØnh cho phï hîp t¹i c¸c møc chi tiÕt thiÕt kÕ tiÕp theo. Qu¸ tr×nh kh¾c phôc khiÕm khuyÕt này sÏ ®­îc lÆp l¹i cho tõng phÇn trõu t­îng tõ møc thiÕt kÕ ban ®Çu cho ®Õn khi mét ®Æc t¶ thiÕt kÕ chi tiÕt cho tõng phÇn trõu t­îng kÕt thóc. Nªn ph©n chia ra c¸c phÇn nhá øng víi thiÕt kÕ råi tæ hîp l¹i, sao cho viÖc m« t¶ chi tiÕt c¸c phÇn nhá ®ã chØ trong kho¶ng mét trang giÊy. C©u 10: ThÕ nµo lµ 1 thiÕt kÕ tèt ? ChÊt l­îng cña thiÕt kÕ ®­îc thÓ hiÖn qua c¸c yÕu tè g×? a, Một thiết kế tốt: - Thiết kế phần mềm được gọi là tốt nếu nó sản sinh ra một chương trình tối ưu. Càng chặt chẽ, gọn ngàng và nhẹ càng tốt, đồng thời thiết kế dễ bảo dưỡng thích nghi, bổ sung cải tiến. Dễ đọc, dễ hiểu, các thành phần của thiết kế phải gắn kết với nhau theo một quan hệ logic chặt chẽ. - Giữa các thành phần của thiết kế được ghép nối một cách dễ dàng. b, Các yếu tố đo chất lượng của thiết kế: *, Sự kết dính: - Sự kết dính của một thành phần là độ đo về tính khớp lại với nhau giữa các phần tử trong thành phần đó. - Độ kết dính giữa các phần tử trong một thành phần được chia thành các loại theo mức kết dính tăng dần như sau: + Kết dính gom góp: Các phần của thành phần không liên quan với nhau, song lại bị bó vào một thành phần. + Kế dính hỗn hợp logic: Các thành phần cùng thực hiện chức năng tương tự, chẳng hạn như vào, xử lý lỗi… là được đặt vào trong một thành phần. + Kết dính theo thời điểm: Tất cả các thành phần cùng hoạt hoá một lúc, chẳng hạn như khởi sự và kết thúc… là được bó vào với nhau. + Kết dính thủ tục: Các phần tử trong thành phần được ghép lại trong một dãy điều khiển. + Kết dính truyền thông: Các phần trong thành phần cùng thao tác trên cùng một dữ liệu và và đưa ra cùng một dữ liệu ra. + Kết dính tuần tự: Trong một thành phần, “ra” của phần tử này là “vào” của phần tử khác. + Kết dính chức năng: Mỗi phần của thành phần đều cần thiết để thi hành một chức năng nào đó. *, Sự ghép nối: - Thể hiện tính độc lập cao giữa các thành phần của thiết kế. - Việc ghép nối là khó khăn nếu các thành phần (modul) dùng chung nhiều biến tổng thể (hoặc dùng chung nhiều lệnh chuyển quyền điều khiển) - Việc ghép nối dễ dàng nếu thông tin của các thành phần nằm trọn trong thành phần đó và việc liên hệ giữa các thành phần thông qua việc truyền tham số. *, Độ dễ hiểu: Để đánh giá chúng ta dựa vào các yếu tố: - Để hiểu được một thành phần này chúng ta có phải tham khảo các thành phần khác hay không? - Tên gọi của hàm, biến, hằng, chương trình con có lột tả được ý nghĩa của nó hay không? - Các thực thể của thế giới thực có quan hệ rõ ràng với các thành phần của thiết kế hay không? *, Độ phức tạp của thuật toán: - Độ phức tạp của thuật toán càng cao thể hiện mối quan hệ giữa các thành phần. - Độ phức tạp của thuật toán chỉ đánh giá một phần độ dễ hiểu của thuật toán, ngoài ra nó còn phụ thuộc vào việc chọn lựa dữ liệu và cách mô tả thiết kế. *, Tính dễ thích nghi: Thuận tiện cho bảo dưỡng và bảo trì hệ thống

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 11: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 11

Câu 11: Trình bày các chiến lược thiết kế phần mềm hướng đối tượng và hướng chức năng. 1.Phương pháp thiết kế hướng chức năng: - Thiết kế hướng chức năng là một cách tiếp cận thiết kế phần mềm do bản thiết kế được phân giải thành một bộ các đơn thể tác động qua lại lẫn nhau, mà mỗi đơn thể có một chức năng được xác định rõ ràng. Các chức năng có trạng thái cục bộ nhưng chia sẻ nhau trạng thái hệ thống. Trạng thái này là tập trung và mọi chức năng đều có thể truy cập được. - Có người nghĩ rằng, thiết kế hướng chức năng đã lỗi thời và nên được thay đổi bằng cách tiếp cận hướng đối tượng. Thế nhưng, trên thực tế nhiều tổ chức đã phát triển các chuẩn và các phương pháp dựa trên sự phân rã các chức năng. Nhiều phương pháp thiết kế kết hợp với các công cụ CASE đều là hướng chức năng. Vô khối hệ thống đã được phát triển bằng cách sử dụng phương pháp tiếp cận hướng chức năng. Bởi vậy thiết kế hướng chức năng vẫn còn được sử dụng rộng rãi. *, Ưu điểm: - Quen thuộc. - Xây dựng hệ thống thông qua biểu đồ luồn dữ liệu, mô tả việc biến đổi dữ liệu một cách logic. Đây là kết quả hợp nhất của nhiều phương pháp diễn tả dữ liệu vào ra qua một dãy biến đổi. Ngoài ra người ta còn phải xây dựng các bảng biểu dữ liệu, các mỗi liên kết cũng như lược đồ cấu trúc để thể hiện cấu trúc của hệ thống. *, Nhược điểm: - Do chung nhau trạng thái hệ thống nên việc thay đổi một chức năng nào đó thì sẽ ảnh hưởng đến các chức năng khác. => Phương pháp này chỉ được sử dụng tốt khi các biến dùng chung, các trạng thái chung ít và phải được xác định một cách rõ ràng. 2. Phương pháp thiết kế hướng đối tượng: - Phương pháp thiết kế hướng đối tượng là dựa trên việc che dấu thông tin, nhìn hệ phần mềm như một bộ các đối tượng tương tác với nhau chứ không phải là bộ các chức năng như cách tiếp cận chức năng. Các đối tượng có một trạng thái được che dấu và các phép toán trên trạng thái đó. Thiết kế biểu thị các dịch vụ được yêu cầu cùng với những hỗ trợ cung cấp bởi các đối tượng có tương tác với nó. - Không có vùng dữ liệu dùng chung. Các đối tượng trao đổi với nhau bằng trao đổi thông báo (message) chứ không phải bằng các biến dùng chung. - Các đối tượng là các thực thể độc lập, dễ thay đổi vì rằng tất cả các trạng thái và các thông tin biểu diễn chỉ ảnh hưởng trong phạm vi chính đối tượng đó thôi. Các thay đổi về biểu diễn thông tin có thể được thực hiện không cần tham khảo (tham chiếu) tới các đối tượng hệ thống khác. - Các đối tượng có thể phân tán và có thể hành động tuần tự hoặc song song. *, Ưu điểm: - Dễ bảo trì vì các đối tượng là độc lập. Các đối tượng có thể hiểu và cải biến như là một thực thể độc lập. Thay đổi trong thực hiện một đối tượng hoặc thêm vào các dịch vụ sẽ không làm ảnh hưởng đến các đối tượng hệ thống khác. - Các đối tượng là rất tốt cho việc sử dụng lại (do tính độc lập của chúng). Một thiết kế sau có thể dùng lại các đối tượng đã có trong bản thiết kế trước đó. - Có một vài lớp hệ thống thể hiện phản ánh quan hệ rõ ràng giữa các thực thể có thực (chẳng hạn như các thành phần dùng chung) với các đối tượng điều khiển trong hệ thống. Điều này làm cho thiết kế trở lên dễ hiểu, dễ tiếp cận hơn. *, Nhược điểm: - Sự nhận định về các đối tượng trong hệ thống một cách hợp lý là một điều khó. Cách nhìn nhận tự nhiên nhiều hệ thống là cách nhìn chức năng và thích nghi với cách nhìn hướng đối tượng đôi khi là khó khăn. Đây là một phương thức còn khá mới mẻ trong phân tích và thiết kế hệ thống thông tin. Câu 12: Trình bày các yêu cầu khi thiết kế giao diện người dùng. - Lµ tiªu chuÈn mµ ng­êi thiÕt kÕ ph¶i tu©n theo khi thiÕt kÕ hÖ thèng. Tiªu chuÈn thiÕt kÕ cung cÊp c¬ së thùc hiÖn tÊt c¶ c¸c nhiÖm vô trong giai ®äan thiÕt kÕ b¶o ®¶m r»ng ng­êi thiÕt kÕ ®· ¸p dông cïng mét ph­¬ng ph¸p tiÕp cËn vµ nguyªn t¾c, c¸c s¶n phÈm t¹o ra ®ång bé. - Nguyªn t¾c thiÕt kÕ giao diÖn: Giao diÖn t¸c ®«ng trùc tiÕp ®Õn ng­êi sö dông vµ cã ¶nh h­ëng t©m lý lµm viÖc còng nh­ hiÖu qu¶ cña ch­¬ng tr×nh. Cã mét nguyªn t¾c thiÕt kÕ giao diÖn sau: + Ng­êi sö dông ®iÒu khiÓn: Giao diÖn lµm ng­êi sö dông c¶m thÊy b¶n th©n lµ ng­êi ®iÒu khiÓn phÇn mÒm. Khi ng­êi dïng thùc hiÖn c¸c thao t¸c trªn giao diÖn c¸c quy tr×nh xuÊt hiÖn sao cho ng­êi dïng cã thÓ ®iÒu khiÓn hoÆc chän quy tr×nh thùc hiÖn.

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 12: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 12

+ Giao diÖn nªn ®¬n gi¶n, cã t­¬ng hç tÝch cùc vµ dÔ sö dông. + HiÖu qu¶: ThiÕt kÕ giao diÖn sao cho ng­êi dïng chØ ph¶i thùc hiÖn tèi thiÓu c¸c thao t¸c. Vµ ng­êi thùc hiÖn cÇn nh×n thÊy kÕt qu¶ cña t¸c ®éng ë mµn h×nh. + NhÊt qu¸n: TÝnh nhÊt qu¸n cho phÐp ng­êi sö dông chuyÓn c¸c kiÕn thøc ®· cã thµnh kiÕn thøc míi, lµm cho giao diÖn qen thuéc vµ dÔ tiÕp thu. + B¶o toµn: Do ng­êi dïng cÇn häc ch­¬ng tr×nh qua t×m hiÓu, thö nghiÖm nªn giao diÖn cÇn ®¶m b¶o c¸c tÝnh n¨ng chän, söa vµ c¶nh b¸o ng­êi dïng trong tr­êng hîp t¸c ®éng xÊu ®Õn hÖ thèng. §ång thêi cho phÐp phôc håi l¹i hÖ thèng khi x¶y ra lçi. + Ph¶n håi: B¶o ®¶m ph¶n håi tr­íc khi t¸c ®éng cña ng­êi dïng. Ph¶n håi theo thêi gian vµ gÇn víi t¸c ®éng cña ng­êi dïng. §­a ra th«ng tin vÒ tr¹ng th i̧ cña qu¸ tr×nh xö lý vµ c¸ch hñy bá tiÕn tr×nh. + Mü thuËt: §Ó g©y Ên t­îng vµ chó ý tíi nh÷ng yÕu tè chÝnh cña mµn h×nh nh»m t¹o hiÖu qu¶ cña ch­¬ng tr×nh, gióp ng­êi dïng n¾m ®­îc c¸c th«ng tin cÇn thiÕt. + §¬n gi¶n: Giao diÖn nªn ®¬n gi¶n, dÔ häc, dÔ sö dông vµ b¶o ®¶m truy nhËp tíi tÊt c¶ c¸c chøc n¨ng. Gi¶m th«ng tin thÓ hiÖn trªn mµn h×nh tíi møc tèi thiÓu. Th«ng tin cÇn thiÕt ®­îc hiÓn thÞ vµo thêi ®iÓm thÝch hîp vµ ®­îc che dÊu khi kh«ng sö dông. LËp tiªu chuÈn giao diÖn BiÓu diÔn d÷ liÖu: mÆt n¹ hiÓn thÞ, font hay mµu s¾c ch÷ Ng«n ng÷ sö dông Bµi trÝ mµn h×nh: cöa sæ, menu, d¶i c«ng cô, thuéc tÝnh hiÓn thÞ cña c¸c lo¹i ®èi t­îng, thanh tr¹ng th¸i hÖ thèng.. Giao t¸c cña ch­¬ng tr×nh: thø tù chuyÓn ®éng bªn trong mµn h×nh, c¸c phÝm chøc n¨ng, sö dông chuét, sù giao ho¸n gi÷a c¸c ch­¬ng tr×nh. ThiÕt kÕ menu Mµn h×nh tÜnh Ra th«ng b¸o: lo¹i th«ng b¸o, c¸ch ®­a ra th«ng b¸o HÖ thèng trî gióp: x¸c ®Þnh kiÓu trî gióp: trî gióp phÝm, trî gióp trá môc, trî gióp ng÷ c¶nh, trî gióp më réng, gîi ý. Câu 13: Công việc thu thập dữ liệu có vai trò như thế nào trong quá trình phát triển hệ thống? Khó khăn thường gặp phải khi thu thập dữ liệu là gì? 1.Vai trß cña thu thËp d÷ liÖu - Thu thËp d÷ liÖu lµ b­íc khëi ®Çu v« cïng quan träng trong qu¸ tr×nh ph¸t triÓn phÇn mÒm cho hÖ thèng. - Nh÷ng th«ng tin thu thËp ®­îc sÏ lµ c¨n cø ®Ó x©y dùng phÇn mÒm vµ lµ b»ng chøng x¸c thùc c¸c yªu cÇu cña ng­êi dïng cã ®­îc ®Ò cËp vµ cã ®­îc ®¸p øng hay kh«ng ? - Thu thËp d÷ liÖu cã thÓ ®­îc tiÕn hµnh trong mäi giai ®o¹n cña qu¸ tr×nh ph¸t triÓn øng dông nh­ng cã c¸c môc ®Ých kh¸c nhau. C¸c ®Æc tÝnh cÇn l­u ý cña d÷ liÖu cÇn thu thËp lµ : tÝnh h­íng thêi gian ; tÝnh cã cÊu tróc ; tÝnh ®Çy ®ñ ; tÝnh kh«ng nhÇm lÉn ; ng÷ nghÜa vµ ®é lín. 2. Thu thËp d÷ liÖu tõ ng­êi dïng - Mçi giai ®o¹n ph¸t triÓn hÖ thèng ®åi hái sù trao ®æi gi÷a nhµ ph¸t triÓn vµ ng­êi dïng ®Ó nhËn ®­îc th«ng tin cã Ých. Mçi giai ®o¹n cÇn t×m kiÕm mét d¶i réng c¸c c©u hái vÒ øng dông. VÝ dô: Khi ph©n tÝch tÝnh kh¶ thi, c¸c c©u hái t­¬ng ®èi réng vµ tæng qu¸t: +§©u lµ ph¹m vi cña vÊn ®Ò? +C¸ch tèt nhÊt ®Ó tù ®éng ho¸ lµ g×? +C«ng ty cã cè g¾ng ®Ó ph¸t triÓn øng dông nµy hay kh«ng? +C«ng ty cã thÓ hç trî viÖc ph¸t triÓn øng dông kh«ng? - Khi ph©n tÝch yªu cÇu chóng ta t×m hiÓu c¸c th«ng tin cã liªn quan ®Õn øng dông lµ g×. VÝ dô: +C¸c d÷ liÖu cÇn thiÕt lµ g×? +C¸c xö lý nµo ®­îc tiÕn hµnh vµ c¸c th«ng tin chi tiÕt liªn quan? - Khi thiÕt kÕ chóng ta ph¸t triÓn thªm: Lµm thÕ nµo th«ng tin cã liªn quan tíi øng dông: +Lµm thÕ nµo chuyÓn øng dông vµo m«i tr­êng ®· chän? +Lµm thÕ nµo thiÕt kÕ d÷ liÖu logic ®­îc chuyÓn vµo thiÕt kÕ d÷ liÖu vËt lý? +C¸c module ch­¬ng tr×nh ®­îc phèi hîp víi nhau nh­ thÕ nµo? - C¸c th«ng tin ®ã kh«ng xuÊt ph¸t tõ ®©u kh¸c ngoµi chÝnh tõ yªu cÇu cña ng­êi dïng. NhiÖm vô cña nhµ ph¸t triÓn lµ ph¶i n¾m b¾t ®­îc c¸c th«ng tin trªn. Cã nhiÒu c¸ch ®Ó thu thËp d÷ liÖu: Pháng vÊn - häp nhãm - quan s¸t - giíi thiÖu tr­íc ch­¬ng tr×nh sau ®ã xin ý kiÕn - Ên ®Þnh c«ng viÖc t¹m thêi - lµm viÖc chung - xem xÐt tµi liÖu néi bé, tµi liÖu ngoµi… Mçi ph­¬ng ph¸p cã ­u, nh­îc ®iÓm riªng (chóng ta sÏ th¶o luËn sau). Nhµ ph¸t triÓn phÇn mÒm ph¶i biÕt vËn dông linh ho¹t c¸c ph­¬ng ph¸p trªn ®Ó thu ®­îc th«ng tin mét c¸ch hiÖu qu¶ nhÊt.

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 13: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 13

Câu 14: Trình bày các phương pháp thu thập dữ liệu. Đánh giá ưu, nhược điểm của chúng. Trong thực tế khi đi thu thập dữ liệu, chúng ta sử dụng phương pháp nào? 1.Phỏng vấn : là việc tập hợp một số lượng ít người - thường với một hoặc hai người - cho một thời gian cố định với một mục đích cụ thể. Trong quá trình phỏng vấn, các câu hỏi có thể được thay đổi. Bạn có thể đánh giá được cảm nhận của họ, động cơ và thói quen đối với các phòng ban, quá trình quản lý, ứng dụng hoặc các thực thể khác đáng chú ý. Kiểu phỏng vấn được xác định bởi kiểu thông tin yêu cầu. *Ưu điểm của phương pháp phỏng vấn: -Phỏng vấn thích hợp cho việc nhận các thông tin đảm bảo cả số lượng lẫn chất lượng: -Các kiểu thông tin định tính là các ý kiến, niềm tin, thói quen, chính sách, và mô tả. -Các kiểu về thông tin định lượng bao gồm tần suất, số lượng, định lượng các mục được dùng trong ứng dụng. *Nhược điểm của phương pháp phỏng vấn: -Phỏng vấn và các dạng khác của thu thập dữ liệu có thể làm bạn lạc lối, thiếu chính xác, hoặc thông tin không liên quan, không thích hợp. -Bạn cần học cách đọc ngôn ngữ cử chỉ và thói quen để quyết định được các điều cần thiết cho cùng một thông tin. -Đòi hỏi kỹ năng -Có thể có kết quả thiên vị -Đòi hỏi ba người để kiểm tra kết quả và thuờng không thích hợp với số lượng lớn người 2.Họp nhóm : là việc tập hợp ba hoặc nhiều hơn một số người cho một thời hạn nhất định để thảo luận một số chủ đề. Họp nhóm có thể vừa bổ sung và thay thế phỏng vấn. Nó bổ sung phỏng vấn bằng cách cho phép nhóm kiểm tra lại các kết quả phỏng vấn cá nhân. Nó có thể thay thế cho phỏng vấn bằng cách cung cấp một diễn đàn cho các người sử dụng cùng tìm ra các đòi hỏi và các giải pháp cho ứng dụng. *ưu điểm của phương pháp họp nhóm: -Có thể tạo ra quyết định, -Nhận được cả thông tin tổng hợp và chi tiết, -Phương pháp tốt cho các yêu cầu bên ngoài, -Tập hợp được nhiều người dùng liên quan,... *Nhược điểm của phương pháp họp nhóm: -Nếu số đại biểu nhiều sẽ tốn thời gian cho việc ra quyết định, -Tốn thời gian, -Các ngắt quảng làm phân tán sự chú ý, -Mời không đúng thành viên dẫn tới chậm có kết quả, -Dễ chuyển sang các chủ đề không liên quan như là chính trị, thể thao,... 3.Quan sát: là hoạt động có thể tiến hành thủ công hoặc tự động như sau: -Theo cách thủ công, người quan sát ngồi tại một chỗ và ghi chép các hoạt động, các bước xử lý công việc. Ghi chép hoặc băng ghi hình được dùng để phân tích cho các sự kiện, các mô tả động từ chính, hoặc các hoạt động chỉ rõ lý do, công việc hoặc các thông tin về công việc. *nhược điểm: -Thời gian của quan sát có thể không biểu diễn cho các công việc diễn ra thông thường, -Ý nghĩ là đang bị quan sát có thể làm thay đổi thói quen thường ngày của người bị quan sát, -Tốn thời gian. *ưu điểm: -Kỹ sư phần mềm có thể nhận được sự hiểu biết tốt về môi trường công tác hiện tại và quá trình xử lý thông qua quan sát. -Kỹ sư phần mềm có thể tập trung vào vấn đề, mà không bị ảnh hưởng bởi người khác. -Các ngăn cách giữa kỹ sư phần mềm và các người được phỏng vấn sẽ được vượt qua bởi quan sát. 4.Ấn định công việc tạm thời Với một công việc tạm thời, ta có được nhận thức đầy đủ hơn về các nhiệm vụ, đồng thời nó cung cấp cho ta kinh nghiệm thực tế. Đầu tiên, ta học các thuật ngữ và ngữ cảnh sử dụng nó. Thời gian tiến hành thường từ 2 tuần đến 1 tháng đủ dài để bạn có thể quen thuộc với phần lớn các công việc thông thường và các tình huống ngoại lệ nhưng không được quá dài để trở thành chuyên gia thực sự đối với công việc. Công việc tạm thời cho ta cơ sở hình thức hoá các câu hỏi về các chức năng nào của phương pháp hiện thời của công việc sẽ được lưu giữ lại và cái nào sẽ bị loại trừ hoặc thay đổi. Nó cũng là cách thức để trả lời các câu hỏi không thể thực hiện được

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 14: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 14

Bất lợi của công việc tạm thời là tốn thời gian và sự lựa chọn về thời gian có thể làm tối thiểu hoá vấn đề. Thêm vào đó, người kỹ sư phần mềm có thể có thiên kiến về quá trình xử lý công việc, nội dung làm ảnh hưởng tới công việc thiết kế sau này. 5.Điều tra qua câu hỏi: là xây dựng các câu hỏi để phỏng vấn trên giấy hoặc máy tính. Các câu hỏi được dùng để nhận các thông tin từ số lượng lớn người sử dụng và thường ở dạng khả năng lựa chọn, người trả lời chỉ việc đánh dấu. Các mục câu hỏi, như là phỏng vấn, có thể là câu hỏi mở hoặc câu hỏi đóng nhưng không chỉ rõ tên, dẫn đến các câu trả lời trung thực hơn nhiều phỏng vấn. *Ưu điểm của phương pháp điều tra: -Các trả lời không cần biết tên nên quan điểm và cảm nhận thu được là trung thực, -Có thể tiến hành với nhiều người, -Thích hợp với các câu hỏi đóng và hữu hạn, -Phù hợp với công ty đa văn hoá và có thể tuỳ biến với quy ước địa phương,.. *Hạn chế : -Khó thực hiện lại được, -Các câu hỏi không có trả lời có nghĩa là không thu được thông tin, -Các câu hỏi có thể khó hiểu, -Thực hiện và đánh giá có thể chậm, -Không thể thêm các thông tin khi đã tiến hành công việc, -Thông tin thu được hạn chế trong một phạm vi hẹp, -Chỉ dùng nó như một phương pháp bổ sung,... 6.Xem xét tài liệu: tài liệu ám chỉ tới các cẩm nang, quy định, các thao tác chuẩn mà tổ chức cung cấp như là hướng dẫn cho các nhà quản lý và nhân viên.Các tài liệu thực sự hữu ích cho các kỹ sư phần mềm để học về các lĩnh vực mà họ chưa từng có kinh nghiệm. Nó có thể hữu ích cho việc xác định các câu hỏi về quá trình thao tác và sản xuất. Tài liệu đưa ra các thông tin khách quan. 7. Xem xét phần mềm: Khi các ứng dụng cũ phải được thay thế các phần mềm mới, việc nghiên cứu các phần mềm đã tồn tại cung cấp cho chúng ta các thông tin về quá trình xử lý công việc hiện thời và các mở rộng có ràng buộc bởi thiết kế phần mềm. Khuyết điểm chính của việc nhận thông tin từ quan sát phần mềm là tài liệu có thể không chính xác hoặc kịp thời. Thêm vào đó, thời gian có thể bị lãng phí nếu ứng dụng đang bị xoá bỏ. => Thu thËp d÷ liÖu cã thÓ theo nhiÒu kü n¨ng : pháng vÊn ; ®iÒu tra qua b¶n c©u hái ; quan s¸t ; héi häp ; lµm viÖc chung ; Ên ®Þnh c«ng viÖc t¹m thêi ; xem xÐt tµi liÖu vµ xem xÐt phÇn mÒm hiÖn t¹i. Mçi kü n¨ng cã ­u ®iÓm vµ nhù¬c ®iÓm riªng. Tuy nhiªn ­u ®iÓm cña kü n¨ng nµy cã thÓ kh¾c phôc nh­îc ®iÓm cña kü n¨ng kia (vÝ dô : c¸c th«ng tin kh«ng thÓ hái ®­îc hoÆc diÔn ®¹t kh«ng râ khi pháng vÊn th× cã thÓ th×m ®­îc trong qu¸ tr×nh lµm viÖc chung). Tuú tõng ®iÒu kiÖn hoµn c¶nh cô thÓ mµ ng­êi ®i thu thËp tµi liÖu cã thÓ ¸p dông kü n¨ng cho phï hîp. Môc ®Ých chÝnh vÉn lµ thu thËp ®ù¬c nhiÒu th«ng tin cã tÝnh ch©n thùc cao lµm c¨n cø cho c¸c c«ng viÖc sau nµy. Câu 15: Trình bày các công việc trong quản lý nhân sự. ViÖc qu¶n lý nh©n sù trong dù ¸n lµ viÖc qu¶n trÞ viªn dù ¸n thuª nh©n c«ng, sa th¶i, h­íng dÉn, t¹o ®éng lùc thóc ®Èy, lËp kÕ ho¹ch, ®µo t¹o vµ huÊn luyÖn vµ thÈm ®Þnh c¸c nh©n viªn tham gia dù ¸n [1]. 1. Thuª m­ín nh©n sù ViÖc thuª m­ín nh©n sù th­êng ®­îc ®iÒu hµnh th«ng qua phßng nh©n sù. Phßng nµy xem xÐt c¸c nh©n sù thuª, kh«ng chØ trong mét dù ¸n mµ cã thÓ nhiÒu dù ¸n. C¨n cø kÕ ho¹ch cña dù ¸n ®ßi hái vÒ nh©n sù, phßng nh©n sù tiÕn hµnh qu¶ng c¸o qua b¸o chÝ hoÆc c¸c ph­¬ng tiÖn th«ng tin kh¸c, qua ®ã nhËn ®­îc håi ©m tõ phÝa c¸c øng viªn (c¸c qu¶ng c¸o t×m ng­êi th«ng th­êng mÊt tõ 1 ®Õn 2 tuÇn). Phßng nh©n sù tiÕn hµnh sµng läc c«ng khai, rµnh m¹ch c¸c hå s¬ xin viÖc, viÖc ph©n lo¹i nµy cã thÓ dù theo c¸c yÕu tè: tr×nh ®é, b»ng cÊp, kinh nghiÖm, ®é tuæi, giíi tÝnh,… Sau ®ã phßng nh©n sù sÏ ®Ö tr×nh lªn qu¶n trÞ viªn dù ¸n th«ng tin vÒ c¸c thÝ sinh vµ chuÈn bÞ cho c¸c cuéc thi tuyÓn, pháng vÊn. Thêi gian cho viÖc tuyÓn ng­êi th­êng mÊt kho¶ng 7 tuÇn hoÆc l©u h¬n. Thêi gian pháng vÊn cã thÓ tiÕn hµnh tuú thuéc vµo sù s¾p xÕp cña ban qu¶n lý vµ cßn phô thuéc vµo lÞch biÓu cña ban gi¸m kh¶o còng nh­ c¸c øng viªn. Th«ng th­êng nh÷ng øng viªn hiÖn ®ang cã viÖc lµm kh«ng muèn tiªu tèn nhiÒu thêi gian cho viÖc thi tuyÓn. NÕu mét ng­êi ®­îc xem lµ xøng ®¸ng th× qu¶n trÞ viªn dù ¸n cã thÓ ph¶i thay ®æi lÞch biÓu pháng vÊn cho phï hîp víi øng viªn ®ã (theo ph­¬ng ch©m coi träng ng­êi tµi). 2. Sa th¶i Gi÷ l¹i mét ng­êi trong c«ng viÖc mµ hä kh«ng phï hîp sÏ lµm h¹i cho ng­êi qu¶n lý, con ng­êi vµ dù ¸n h¬n lµ b¹n nghÜ. Nh÷ng qu¶n trÞ viªn dù ¸n bÞ thiÖt h¹i bëi v× anh ta kh«ng nghÜ g× kh¸c mµ chØ lo l¾ng vÒ mét quyÕt ®Þnh cßn l©u míi thùc sù cÇn thiÕt. Mäi ng­êi còng th­êng biÕt r»ng hä sÏ bÞ sa th¶i nÕu nh­

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 15: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 15

kh«ng hoµn thµnh c«ng viÖc cña m×nh; hä ph¶i ®­îc th«ng b¸o b»ng v¨n b¶n, tr­íc ngµy chÊm døt c«ng viÖc. KÐo dµi thêi gian ra quyÕt ®Þnh chÊm døt c«ng viÖc lµm thiÖt h¹i ®Õn c¶ ng­êi bÞ sa th¶i bëi v× sÏ ®­a hä ®Õn t©m tr¹ng thÊt b¹i, lµm cho hä mÊt niÒm tin vµo mäi ng­êi nh­ nh÷ng g× hä m« t¶ vµ cã thÓ g©y ¶nh h­ëng tiªu cùc ®Õn c¸c thµnh viªn kh¸c trong dù ¸n. Ng­êi bÞ sa th¶i cã thÓ than phiÒn víi c¸c thµnh viªn kh¸c vÒ t×nh tr¹ng cña hä vµ lµm gi¸n ®o¹n c«ng viÖc (v× nhiÒu ng­êi biÕt sÏ cµng tiªu tèn thêi gian h¬n). Nh÷ng ng­êi cßn l¹i sÏ cã t©m tr¹ng hoang mang, lo l¾ng vµ cã thÓ mÊt lßng tin vµo qu¶n trÞ viªn dù ¸n. Th«ng th­êng cã mét giai ®o¹n triÖu chøng tr­íc khi n¶y sinh vÊn ®Ò. Vµo thêi gian nµy, qu¶n trÞ viªn dù ¸n lªn th¶o luËn víi nh©n viªn vÒ t×nh h×nh vÊn ®Ò. T¹o ®iÒu kiÖn cho nh©n viªn cã thÓ tr×nh bµy nguyªn nh©n. NÕu thÊy nguyªn nh©n lµ hîp lý th× Ýt nhÊt còng ph¶i cã mét th­ c¶nh c¸o vµ ®­îc ®­a vµo trong hå s¬ nh©n sù cña hä. TiÕp ®ã cã thÓ khiÓn tr¸ch, nãi râ sai ph¹m vµ c¸c lý do ®Ó ph¸n xÐt. Khi khiÓn tr¸ch còng nªn nãi râ viÖc sa th¶i sÏ diÔn ra nÕu mét sè c«ng viÖc (®­îc lªn danh s¸ch) kh«ng ®­îc hoµn thµnh vµo thêi gian tíi… TÊt c¶ ®Ò ph¶i thÓ hiÖn b»ng v¨n b¶n, ®­îc ng­êi qu¶n lý hÖ thèng th«ng tin vµ ng­êi ®iÒu hµnh nh©n sù xem xÐt vµ t¸n thµnh, chóng sÏ lµ c¬ së cho nh÷ng tranh chÊp vÒ ph¸p luËt trong t­¬ng lai víi ng­êi lµm c«ng. NÕu c«ng viÖc ®­îc hoµn thµnh, viÖc sa th¶i sÏ b·i bá vµ ng­îc l¹i hä sÏ bÞ sa th¶i. ViÖc sa th¶i ra khái dù ¸n kh«ng cã nghÜa lµ sa th¶i hä khái c«ng ty. NÕu hä phï hîp víi c«ng viÖc, vÉn cã thÓ tuyÓn chän vµo dù ¸n kh¸c, v× hä vÉn cã thÓ lµ nh©n viªn giái. Mét qu¶n trÞ viªn dù ¸n giái lµ ng­êi biÕt s¾p xÕp nh©n sù vµo vÞ trÝ ®óng víi kh¶ n¨ng vµ së thÝch cña ng­êi lao ®éng. 3. T¹o ®éng lùc thóc ®Èy §éng lùc thóc ®Èy (§LT§) mang nh÷ng khÝa c¹nh riªng t­ vµ chuyªn nghiÖp. §éng lùc chuyªn nghiÖp ph¸t sinh tõ mong muèn lµm mét c«ng viÖc tèt. Mäi ng­êi ®­îc khuyÕn khÝch lµm mét tèt khi hä ®­îc ®èi xö nh­ mét ng­êi cã kh¶ n¨ng lµm viÖc chuyªn nghiÖp vµ ®­îc lµm c«ng viÖc thó vÞ, cã ý nghÜa, ®­îc ®­a ra c¸c quyÕt ®Þnh tù do vµ c¸c ph¸t kiÕn s¸ng t¹o. §LT§ c¸ nh©n xuÊt ph¸t tõ mong muèn c¶i hiÖn vÞ trÝ cña ng­êi ®ã trong cuéc sèng. VÞ trÝ ®ã cã thÓ mang tÝnh rÊt riªng t­ vÝ dô nh­ cã thÓ kiÕm ®­îc nhiÒu tiÒn h¬n, mua ®­îc ng«i nhµ to h¬n, trë thµnh nhµ ph©n tÝch hoÆc mét nhµ qu¶n lý v.v.. C¸ch thøc qu¶n lý dù ¸n lµ nh©n tè quyÕt ®Þnh cña §LT§ c¸ nh©n. Mét qu¶n trÞ viªn dù ¸n biÕt t¹o ®iÒu kiÖn cho nh©n viªn lµm viÖc, kiÓm so¸t, h¹n chÕ rñi ro vµ cho phÐp mäi nhu cÇu c¸ nh©n (hîp lý) ®Òu ®­îc ®¸p øng th× sÏ nhËn ®­îc sù trung thµnh bÊt tËn n¬i nh©n viªn. Mét qu¶n trÞ viªn dù ¸n mµ chØ coi nh©n viªn cña m×nh lµ nh÷ng ng­êi kÐm cái, l­êng biÕng vµ chËm ch¹p th× còng cã thÓ nhËn ®­îc nh÷ng kÕt qu¶ mong muèn nh­ng ph¶i th«ng qua sù h¨m do¹ vµ Ðp buéc, ®ång thêi g©y thµnh kiÕn víi nh©n viªn. Qu¶n trÞ viªn dù ¸n ph¶i s©u s¸t, t­êng tËn tõng nh©n viªn ®Ó cã thÓ ®éng viªn khen th­ëng vµ ph©n chia c«ng viÖc mét c¸ch hîp lý nh»m gióp hä ®¹t ®­îc môc ®Ých. Cam kÕt gióp ®ì nh©n viªn ®¹t ®­îc môc ®Ých c¸ nh©n cña qu¶n trÞ viªn dù ¸n sÏ quyÕt ®Þnh §LT§ chuyªn nghiÖp cña c¸c nh©n viªn. §LT§ cã 3 khÝa c¹nh: Thø nhÊt, b¶n th©n c¸c c«ng viÖc trong dù ¸n cã thÓ ®­îc sö dông cho c¸c môc tiªu chuyªn nghiÖp kh¸c n÷a bao gåm c¸c c«ng viÖc míi vµ tiÕn tíi mét vÞ trÝ míi, kinh nghiÖm míi vµ tr¸ch nhiÖm míi. Thø hai, qu¶n trÞ viªn dù ¸n ph¸i thËt cÈn thËn trong viÖc th­ëng ph¹t ®Ó ®¸p øng nhu cÇu c«ng viÖc, ph¶i ®¸nh gi¸ kh¸ch quan møc ®é vµ tÇm quan träng c¸c ®ãng gãp cña nh©n viªn cho c«ng viÖc. Thø ba, nh©n viªn ph¶i cam kÕt lµm viÖc tÝch cùc h¬n n÷a ®Ó nhËn ®­îc khen th­ëng. 4. Ho¹ch ®Þnh nghÒ nghiÖp Nh©n viªn ph¶i ®­îc biÕt kÕ ho¹ch cña ®¬n vÞ m×nh trong thêi gian tíi vµ cã ®Þnh h­íng râ rµng, hiÓu ®­îc dù kiÕn vÒ c«ng viÖc trong t­¬ng lai. Hä lµm xong c«ng viÖc nµy th× cã thÓ thùc hiÖn tiÕp c¸c c«ng viÖc g×. Tõ ®ã nh©n viªn cã thÓ x¸c ®Þnh kho¶ng thêi gian cã thÓ ë l¹i víi dù ¸n. Qu¶n trÞ viªn ph¶i ®­a ra kÕ ho¹ch cô thÓ râ rµng. Tu©n theo mét lé tr×nh nhÊt ®Þnh: VÝ dô, trong 6 th¸ng ®Çu lµm g×, tiÕp theo lµm g×... 5. §µo t¹o, huÊn luyÖn 6. ThÈm ®Þnh Câu 18: Trình bày các chiến lược kiểm thử và phát hiện lỗi. Cã hai chiÕn l­îc kiÓm tra *)KiÓu thø nhÊt liªn quan logic ®­îc kiÓm tra nh­ thÕ nµo trong øng dông. ChiÕn l­îc kiÓm tra logic cã thÓ lµ black-box hoÆc white-box. + ChiÕn l­îc kiÓm tra black-box cho r»ng mét modul (ch­¬ng tr×nh hoÆc hÖ thèng) liªn quan tíi ®Çu vµo vµ ®Çu ra. C¸c chi tiÕt logic chi tiÕt ®­îc che giÊu vµ kh«ng cÇn ph©n tÝch. ChiÕn l­îc black-box cã tÝnh h­íng d÷ liÖu.

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 16: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 16

Ph©n ho¹ch c©n b»ng: Môc ®Ých cña ph­¬ng ph¸p nµy lµ tèi thiÓu c¸c tr­êng hîp kiÓm tra víi mçi møc kiÓm tra cho tr­íc, c¸c môc d÷ liÖu vµo ®­îc chia thµnh c¸c nhãm d÷ liÖu cã vai trß c©n b»ng nhau, mçi nhãm ®¹i diÖn cho mét tËp d÷ liÖu. Ph©n tÝch cùc biªn: Ph©n tÝch gi¸ trÞ cùc biªn lµ mét d¹ng cña nghiªm ngÆt cña ph©n ho¹ch c©n b»ng cã sö dông c¸c gi¸ trÞ biªn h¬n lµ bÊt cø gi¸ trÞ nµo trong tËp c©n b»ng §o¸n lçi: Dùa trªn c¬ së trùc gi¸c vµ kinh nghiÖm, c¸c chuyªn gia cã thÓ dang kiÓm tra c¸c ®iÒu kiÖn lçi b»ng c¸ch ®o¸n c¸i nµo dÔ x¶y ra nhÊt. + White-box h­íng tíi viÖc cho r»ng logic ®Æc tr­ng lµ quan träng vµ cÇn ph¶i kiÓm tra. White-box ®¸nh gi¸ mét vµi hoÆc tÊt c¶ mÆt logic ®Ó kiÓm tra ®­îc tÝnh ®óng ®¾n cña chøc n¨ng. White-box h­íng vÒ logic (gi¶i thuËt). *)KiÓu thø hai liªn quan tíi viÖc kiÓm tra ®­îc tiÕn hµnh thÕ nµo, kh«ng quan t©m chiÕn l­îc kiÓm tra logic. Nã lµ top-down hoÆc bottom-up. + Top-down coi ch­¬ng tr×nh chÝnh lµ quan träng nhÊt nªn cÇn ph¶i ph¸t triÓn vµ kiÓm tra tr­íc vµ tiÕp tôc trong qu¸ tr×nh ph¸t triÓn. + Bottom-up cho r»ng c¸c modul vµ c¸c ch­¬ng tr×nh riªng sÏ ®­îc ph¸t triÓn hoµn toµn nh­ standalone. VËy chóng ®­îc kiÓm tra riªng rÏ sau ®ã ®­îc kÕt hîp thµnh kiÓm tra tæ hîp. - Khi thö nghiÖm hÖ con vµ thö nghiÖm hÖ thèng (tÝch hîp), cã c¸c chiÕn l­îc thö nghiÖm chÝnh lµ thö nghiÖm d­íi lªn (bottom-up testing) vµ thö nghiÖm trªn xuèng (top-down testing). * Thö nghiÖm d­íi lªn - Thö nghiÖm d­íi lªn tiÕn hµnh thö nghiÖm víi c¸c m« ®un ë møc ®é thÊp tr­íc. M« ®un th­îng cÊp (m« ®un gäi) ®­îc thay thÕ b»ng ch­¬ng tr×nh kiÓm thö cã nhiÖn vô ®äc d÷ liÖu kiÓm thö, gäi m« ®un cÇn kiÓm thö vµ kiÓm tra kÕt qu¶. - Nh­îc ®iÓm cña thö nghiÖm d­íi lªn lµ + Ph¸t hiÖn chËm c¸c lçi thiÕt kÕ + ChËm cã phiªn b¶n thùc hiÖn ®­îc cña hÖ thèng * Thö ngiÖm trªn xuèng - Thö nghiÖm trªn xuèng tiÕn hµnh thö nghiÖm víi c¸c m« ®un ë møc cao tr­íc, c¸c m« ®un møc thÊp ®­îc t¹m thêi ph¸t triÓn víi c¸c chøc n¨ng h¹n chÕ, cã giao diÖn gièng nh­ trong ®Æc t¶. M« ®un møc thÊp cã thÓ chØ ®¬n gi¶n lµ tr¶ l¹i kÕt qu¶ víi mét vµi ®Çu vµo ®Þnh tr­íc. - Thö nghiÖm trªn xuèng cã ­u ®iÓm lµ + Ph¸t hiÖn sím c¸c lçi thiÕt kÕ, do ®ã cã thÓ thiÕt kÕ, cµi ®Æt l¹i víi gi¸ rÎ +Cã phiªn b¶n ho¹t ®éng sím (víi tÝnh n¨ng h¹n chÕ) do ®ã cã thÓ sím tiÕn hµnh thÈm ®Þnh - Nh­îc ®iÓm cña kiÓm thö trªn xuèng lµ c¸c chøc n¨ng cña m« ®un cÊp thÊp nhiÒu khi rÊt phøc t¹p do ®ã khã cã thÓ m« pháng ®­îc, dÉn ®Õn kh«ng kiÓm thö ®Çy ®ñ chøc n¨ng hoÆc ph¶i ®×nh chØ kiÓm thö cho ®Õn khi c¸c m« ®un cÊp thÊp x©y dùng xong. Câu 19: Giai đoạn bảo trì phần mềm được thực hiện khi nào? Các công việc trong bảo trì là gì? Bảo trì là giai đoạn cuối cùng của một chu trình phát triển phần mềm. Các chương trình máy tính luôn thay đổi- phải mở rộng, sửa lỗi, tối ưu hoá,...và theo thống kê thì bảo trì chiếm đến 70% toàn bộ công sức bỏ ra cho một dự án phần mềm. Do vậy, bảo trì là một hoạt động phức tạp nhưng nó lại là vô cùng cần thiết trong chu trình sống của sản phẩm phần mềm để đảm bảo cho phần mềm phù hợp với người sử dụng. Do nhu cầu phát triển của các hệ thống thông tin, rất hiếm hay không muốn nói là không thể có một hệ thống thông tin không có sự thay đổi trong suốt chu trình sống của nó. Để duy trì tính đúng đắn, trật tự trong giai đoạn bảo trì thì quản lý sự thay đổi phần mềm là một hoạt động cần thiết song song. Các công việc bảo trì 1. Cơ cấu bảo trì -Mặc dù những tổ chức bảo trì chuẩn không cần được thiết lập, nhưng sự ủy thác trách nhiệm rất là cần thiết kể cả cho các tổ chức phát triển phần mềm nhỏ. Những yêu cầu bảo trì được chuyển qua cho người kiểm soát công việc bảo trì và từ đây chuyển tiếp yêu cầu tới người quản lý hệ thống để đánh giá. người quản lý hệ thống là thành viên của nhóm nhân viên kỹ thuật. Những nhân viên này có trách nhiệm về một phần nhỏ của chương trình sản phẩm. Khi môth yêu cầu được đánh giá, người được ủy quyền quản lý việc thay đổi phải quyết định hhành động nào được thực hiện tiếp. -Cơ cấu được miêu tả ở trên phục vụ cho việc thiết lập phạm vi trách nhiệm đối với công việc bảo trì. Người kiểm soát và người ủy quyền quản lý việc thay đổi có thể là một người hay là một nhóm quản lý và chuyên gia kỹ thuật cao cấp.

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 17: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 17

2. Báo cáo -Tất cả các yêu cầu về việc bảo trì phần mềm cần được trình bày theo một tiêu chuẩn. Người phát triển phần mềm thường cung cấp một đơn yêu cầu bảo trì còn được gọi là báo cáo các lỗi phần mềm. Báo cáo này được người sử dụng điền vào khi yêu cầu công việc bảo trì. Nếu xuất hịên một lỗi, bản mô tả đầy đủ tình huống dẫn đến lỗi bao gồm dữ liệu, đoạn chương trình và các yêu cầu khác phải được điền đầy đủ vào bản báo cáo. Nếu yêu cầu bảo trì là bảo trì tiếp hợp hay bảo trì hoàn thiện thì một yêu cầu chi tiết sẽ được thảo ra. Đơn yêu cầu bảo trì sẽ được người kiểm soát bảo trì và người quản lý hệ thống xem xét như phần trước đã nêu. -Đơn yêu cầu bảo trì được thiết lập từ bên ngoài và được coi như một cơ sở để đề ra kế hoạch của công việc bảo trì. Ngoài ra trong nội bộ của cơ quan phần mềm một báo cáo thay đổi phần mềm cũng được tạo ra. Nó chỉ ra:các công sức đòi hỏi để thỏa mãn một đơn yêu cầu bảo trì, trạng thái ban đầu của yêu cầu sửa đổi, mức ưu tiên của yêu cầu, các dữ liệu cần cho việc sửa đổi,... 3. Lưu giữ các hồ sơ -Thường chúng ta không có đầy đủ các hồ sơ cho tất cả các giai đoạn trong chu kỳ sống của một phần mềm. Thêm nữa không có các hồ sơ về việc bảo trì phần mềm. Do đó chúng ta thường khó có thể tiến hành các công việc bảo trì có hiệu quả, không có khả năng xác định tính chất của các chương trình và khó xác định được giá bảo trì phần mềm. 4. Xác định giá bảo trì -Việc xác định giá trị bảo trì thường phức tạp do thiếu thông tin. Nếu tiến hành việc lưu giữ các hồ sơ có thể tiến hành một số cách đánh giá về việc thực hiện bảo trì. Theo các chuyên gia thì đánh giá về việc thực hiện bảo trì dựa vào: +Số lượng trung bình các lỗi xử lý cho một lần chạy chương trình. +Tổng số giờ của mỗi người dùng cho mỗi loại bảo trì. +Số lượng trung bình các thay đổi theo chương trình, theo ngôn ngữ lập trình, theo kiểu bảo trì. +Số giờ trung bình của mỗi người cho một dòng lệnh được thêm vào và xóa đi. +Số giờ trung bình của mỗi người cho một ngôn ngữ lập trình. +Thời gian trung bình cho việc bảo trì một đơn yêu cầu bảo trì. +Tỷ lệ phần trăm của mỗi kiểu bảo trì. Câu 20: Các hiệu quả phụ của bảo trì là gì? Khi bảo trì một phần mềm xa lạ, chúng ta gặp phải khó khăn gì? Phương hướng giải quyết. 1. Hiệu ứng lề của việc thay đổi mã nguồn -Một thay đổi đơn giản tới một câu lệnh đơn cũng có thể đem lại một hậu quả thảm khốc. Mặc dù không phải các ảnh hưởng đều là tiêu cực, nhưng việc sửa lỗi luôn dẫn đến các vấn đề phức tạp. -Mặc dù tất cả các thay đổi mã lệnh chương trình đều có thể tạo ra lỗi, nhưng tập hợp các thay đổi sau có thể gây ra nhiều lỗi hơn. 2. Hiệu ứng lề của việc thay đổi dữ liệu -Trong quá trình bảo trì, việc sửa đổi thường được tiến hành đối với các phần tử riêng rẽ của cấu trúc dữ liệu. Khi dữ liệu thay đổi, việc thiết kế phần mềm sẽ không còn phù hợp với dữ liệu và lỗi có khả năng xảy ra. -Hiệu ứng lề của dữ liệu xảy ra như là kết quả của việc thay đổi cấu trúc dữ liệu. Các thay đổi dữ liệu sau đây thường gây ra lỗi: +Định nghĩa lại các hằng số cục bộ và hằng số địa phương. +Định nghĩa lại cấu trúc bản ghi hay cấu trúc file. +Tăng hoặc giảm kích thước một mảng. +Thay đổi dữ liệu tổng thể. +Định nghĩa lại các cờ điều khiẻn và các con trỏ. +Xếp lại các tham số vào ra hay tham số của chương trình con. -Hiệu ứng lề dữ liệu có thể được hạn chế bằng tài liệu thiết kế mô tả cấu trúc dữ liệu và cung cấp một lời chỉ dẫn tham khảo đến từng phần từ dữ liệu, các bản ghi, các file và các cấu trúc khác của các module phần mềm. 3. Hiệu ứng lề của việc thay đổi tài liệu -Việc bảo trì thường tập trung vào cấu hình phần mềm và không tập trung riêng vào việc sửa đổi mã. Sự ảnh hưởng của tài liệu xảy ra khi thay đổi chương trình nguồn mà không thay đổi tài liệu thiết kế và tài liệu hướng dẫn sử dụng.

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 18: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 18

-Bất cứ lúc nào có thay đổi về luồng dữ liệu, cấu trúc phần mềm, các thủ tục hay bất cứ cái gì có liên quan, tài liệu kỹ thuật phải được cập nhật. Tài liệu về thiết kế phản ánh không đúng trạng thái hiện tại của phần mềm có lẽ còn tồi tệ hơn không có tài liệu. Hiệu ứng lề xảy ra trong các lần bảo trì sau đó, khi việc nghiên cứu không kỹ các tài liệu kỹ thuật, dẫn tới sự đánh giá sai về các đặc tính của phần mềm. Đối với người sử dụng, phần mềm tốt chỉ khi có tài liệu hướng dẫn sử dụng chúng. -Các hiệu ứng lề trong tài liệu có thể được giảm về căn bản nếu toàn bộ cấu hình được xem xét trước khi phát hành phiên bản phần mềm tiếp sau. Thực tế một vài yêu cầu bảo hành có thể đòi hỏi không được thay đổi thiết kế của phần mềm hoặc mã chương trình, mà chỉ cần chỉ ra sự thiếu rõ ràng trong tài liệu của người sử dụng. Trong những trường hợp như vậy nổ lực bảo trì tập trung vào tài liệu. I, DẠNG BÀI TẬP CHUYỂN CẤU TRÚC VỀ DẠNG TUẦN TỰ VÀ WHILE: Bài 1: Chuyển cấu trúc sau về dạng tuần tự và while: if A then V else T; Giải: Chuyển cấu trúc "if A then V else T" về dạng tuần tự và while : B := A while A do Begin V; A :=not A end; while not B do Begin T; B:= not B end; Bài 2: Chuyển cấu trúc sau về dạng tuần tự và while: a) For i:= k to m do A b) if X then Y Giải: a, Chuyển cấu trúc "for i:=k to m do A" về cấu trúc tuần tự và while i:=k ; while i<=m do Begin A; i:=i+1; end; b, Chuyển về cấu trúc "if X then Y" while X do Begin Y; X:= not X end; Bài 3: Chuyển cấu trúc sau vế dạng tuần tự và while: a) if A then V; b) Repeat C until X; Giải: a, Chuyển cấu trúc "if A then V" về dạng tuần tự và while: while A do Begin V ;

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 19: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 19

A := not A end; b, Chuyển cấu trúc "repeat C until X" : C; while not X do C Bài 4: Chuyển cấu trúc sau về dạng tuần tự và while: a, For i:= m k do A ; b, Repeat C until D ; Giải: a, Chuyển cấu trúc "for i:=m downto k do A" về dạng tuần tự và while i:=m while i >=k do Begin A; i:=i-1 end; b, Chuyển cấu trúc "repeat C until D" C; while not D do C II, DẠNG BÀI TẬP VỀ ĐẶC TẢ MA TRẬN: Bài 1: Cho ma trận vuông X cấp n, n lẻ. Đặc tả hình thức các điều kiện sau: a) Tổng 2 phần tử ở 2 đầu đường chéo chính bằng 3 lần phần tử cuối cùng của hàng 1 . b) Phần tử giữa của hàng cuối bằng phần tử giữa của cột cuối. Giải: Đặc tả ma trận vuông cấp n lẻ : X = (xi j)n*n xi j = x[ i, j ] i, j =1..n

n = 2k + 1 k ∈ N a, Tổng 2 phần tử ở 2 đầu đường chéo chính bằng 3 lần phần tử cuối của hành 1 x[ 1, 1 ] + x[ n, n ] = 3 * x[ 1, n ] b, Phần tử giữa của hàng cuối bằng phần tử giữa của cột cuối x[ n, (n+1)/2]=x[ (n+1)/2 , n] Bài 2: Cho ma trận vuông cấp n, n lẻ. Đặc tả hình thức các điều kiện sau: a, Phần tử ở góc bên trái bằng phần tử ở góc bên phải. b, Phần tử ở tâm bằng trung bình cộng của 2 phần tử đầu đường chéo phụ Giải: Đặc tả ma trận vuông cấp n lẻ : X = (xi j)n*n xi j = x[ i, j ] i, j =1..n n = 2k + 1 k ∈ N a, Phần tử góc trên bên trái bằng phần tử ở góc dới bên phải x[ 1, 1 ] = x[n, n] b, Phần tử ở trung tâm bằng trung bình cộng của 2 phần tử đờng chéo phụ x[ (n+1)/2, (n+1)/2 ] = (x[1, n] + x[n, 1])/2 III, DẠNG BÀI TẬP BẮT LỖI TRONG ĐOẠN CHƯƠNG TRÌNH: Bài 1: Cho đoạn chương trình sau: Uses crt; Var u,v,t : real; Function f: real;

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 20: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 20

Begin u:= u/2; f:= x+5*v-1; End; Begin Write ('u=') ; readln(u); Write ('v=') ; readln(v); t:=f; Writeln (u:6:2 ,'/2 + 5*', v:6:2,'-1=',t:6:2); Readln End. - Chương trình cho kết quả đúng hay sai? vì sao? Cho 1 ví dụ cụ thể. Giải: - Chương trình cho kết quả sai vì u là biến toàn cục, nó được sử dụng cả trong và ngoài CTC và lệnh u:=u/2 trong hàm f đã làm thay đổi giá trị được nhập vào của u, lúc in ra kết quả sai vì u bị giảm nửa giá trị. - Ví dụ khi nhập u=4 v=3 thì kết quả in ra là 2/2 + 5*3 - 1 = 16 Bài 2: Cho đoạn chương trình sau: Var u,v,t : real; Funtion f : real; Var x : real; Begin x:= u/2; f:= x+5*v-1; End; Begin Write ('u=') ; readln(u); Write ('v=') ; readln(v); t:=f; Writeln (u:6:2 ,'/2 + 5*', v:6:2,'-1=',t:6:2); End. - Chương trình cho kết quả đúng hay sai? - Nếu thay x bằng u thì kết quả sẽ như thế nào? Giải: - Chương trình cho kết quả đúng. - Nếu thay x bằng u thì kết quả sẽ sai vì khi gọi hàm f, u sẽ bị biến đổi giảm đi nửa giá trị. Bài 3: Cho đoạn chương trình sau: Uses crt; Var u,v,t : real; Function f: real; Begin u:= u/2; f:= x+5*v-1; End; Begin Write ('u=') ; readln(u); Write ('v=') ; readln(v); t:=f; Writeln (u:6:2 ,'/2 + 5*', v:6:2,'-1=',t:6:2); Until (u=v); Readln End. - Chương trình có dừng khi ta nhập v bằng u không ? giải thích? Giải:- Chương trình sẽ không dừng khi nhập u = v vì sau khi nhập 2 giá trị bằng nhau này chương trình tính t sẽ gọi đến hàm first và lúc đó u bị giảm đi do đó u khác v và vòng lặp lại tiếp tục. Bài 4: Cho đoạn chương trình sau: Uses crt; Var u,v,t : real;

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.

Page 21: De Cuong On Tap Cnpm

Đề cương ôn tập môn học Công nghệ phần mềm

Trang 21

Function f (u,v:real): real; Begin u:= u/2; f:= x+5*v-1; End; Begin Write ('u=') ; readln(u); Write ('v=') ; readln(v); t:=f; Writeln (u:6:2 ,'/2 + 5*', v:6:2,'-1=',t:6:2); Readln End. - Chương trình cho kết quả đúng hay sai? - Nếu thêm var trước u, v trong hàm f thì kết quả sẽ như thế nào? Giải:- Chương trình cho kết quả đúng vì u, v trong hàm là các biến địa phương được truyền theo trị, tuy trùng tên với các biến toàn cục, viết như vậy sẽ khử được hiệu ứng phụ, nếu nhập vào u=4, v=3 kết quả sẽ in ra : 4/2 + 5*3 - 1 = 16 - Nếu thêm var trước u, v trong hàm f thì kết quả sẽ sai vi sau khi gọi hàm, biến u bị thay đổi giảm đi 1/2 kết quả sẽ là : 2/2 + 5*3 - 1 = 16

Generated by Foxit PDF Creator © Foxit Softwarehttp://www.foxitsoftware.com For evaluation only.