Xem mẫu

  1. TỦSÁCH CÔ NG NGHỆTHÔNG TIN SATA -APTECH tuyể chọ & gi ớ thiệ n n i u Tác giả Karl E. Wiegers : Software Requirements Best Practices Các kỹhuậ thự hành đ thu thậ và quả l ý yêu cầ trên t t c ể p n u toàn bộ hu t rình phát triể sả phẩ phầ mề c nn m nm st Microsoft Press, 1 Edition Ng ư i dị : H oàng Xuân Thịh ờ ch n Phiên bả bả dị : 10.12.30 n n ch Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 1
  2. GIỚ THIỆ I U “TỦ SÁCH CÔNG NGHỆ THÔNG TIN” Đ phát triể ngành công nghi ệ công nghệthông tin Việ Nam phả hư ng ra thị ư ng n, p t iớ tr ờ ể thếgiớ do đ phả tuân theo các chu ẩ mự toàn cầ nhưlàm việ theo quy trình, áp dụ i, ó i n c u c ng các tiêu chuẩ quả lý chấ lư ng s ả phẩ và dị vụphổbiế (ISO 27000, CMMI…), áp n n tợ n m ch n dụ các hư ng dẫ thự hành tố và tố nhấ Vì v ậ đ i vớ các sinh viên đ ng n c t t t. y, ố i ang theo họ c ớ ngành công nghệthông tin v à chuẩ bị làm việ chúng tôi ngh ĩ ằ các cuố sách hư ng n ra c, r ng, n ớ dẫ kỹthuậ hư ng dẫ xây dự quy trình làm việ hưng dẫ cách t ổchứ công việ nh ằ n t, ớ n ng c, ớ n c c m nâng cao nă suấ lao đ ng có vai trò h ế sứ quan tr ọ Nh ữ cuố sách này giúp ngư i ng t tc ng. ng n ộ ờ đ c nhậ th ứ vềcác chuẩ m ự công nghiệ trong ngành công nghệthông tin thếgiớ họ n c n c p i, c ọ hỏ về i cách nhữ đ ng nghiệ trên toàn cầ củ họlàm việ nhưthếnào, qua đ ngư i đ c có ng ồ p ua c ó ờọ thểsẽthay đ i suy nghĩ ủ mình sao cho gầ hơ vớ các chuẩ mự và cách làm việ đ Sự ca nni n c c ó. ổ thay đ i trong nhậ thứ theo chiề hư ng này càng di ễ ra sâu rộ bao nhiêu thì càng thúc n c uớ n ng ổ đy công nghi ệ công nghệ p thông tin Việ Nam phát tri ể bấ nhiêu. t ny ẩ Đ đ ứ nhu cầ sách tham khả theo chiề hư ng đ chúng tôi xây dự “Tủsách ể áp ng u o uớ ó, ng công nghệthông tin” b ằ cách tuyể ch ọ và giớ thi ệ các b ả dị tiế Việ c ủ các cu ố ng n n i u n ch ng ta n sách có nộdung đ ứ các tiêu chí sau: i áp ng 1. Có thểlàm tài li ệ tham khả cho sinh viên các khoa công nghệthông tin đ h ọbiế u o t ể thêm về ự ti ễ ngành công nghiệ công ngh ệ th c n p thông tin thế ớ gi i. 2. Hư ng d ẫ xây dự quy trình làm việ qu ả lý chấ l ưng s ả phẩ và dị vụmộ n ng c, n tợ n m ch t ớ cách th ự tiễ không hàn lâm, có th ể ng dụ đ ợ ngay vào th ự tếcông việ hàng c n, ng ưc c c ứ ngày củ m ỗngư i làm việ trong ngành công nghệ a i c thông tin. ờ 3. Giớ thi ệ các “h ư ng dẫ thự hành tố (good practices) và “hư ng dẫ th ự hành i u n c t” n c ớ ớ tố nhấ (best practices) trong công nghiệ công nghệthông tin. t t” p 4. Giớ thiệ các xu hư ng công nghệ ớ trong ngành công nghệ i u mi thông tin thếgiớ i. ớ Nói gọ lạ thông qua “T ủsách công nghệthông tin”, chúng tôi mu ố góp ph ầ cổv ũxây n i, n n dự mộ nề “VĂN HÓA CÔNG NGHIỆ ” trong ngành công nghệthông tin củ Đ t nưc ng tn P aấớ chúng ta, đề h ế sứ cầ thi ế đ Vi ệ Nam có mộ ng ành công nghiệ công nghệthông tin iu t c n tể t t p phát triể và hi ệ đ i, đ n n ạ óng góp cho sựgiầ m ạ củ Đ t nư c. u nh a ấ ớ Cuố sách đu tiên trong “T ủsách công nghệthông tin” là cuố “Software Requirement n n ầ Best Practices” (Các hư ng dẫ th ự hành tố nh ấ vềyêu cầ phầ mề do Microsoft Press n c t t u n m) ớ xuấ bả Đ là cuố sách hế sứ c ầ thiế cho nhữ g ai đ t n. ây n tcn t n ang thự hi ệ các dựán công nghệ c n thông tin và các si nh viên ngành công nghệthông tin muố có thêm hiể biế vềth ự tiễ n u t c n ng ành trư c khi ra làm vi ệ c. ớ Xin trân tr ọ giớ thiệ cùng bạ đ c. ng i u nọ SATA-APTECH Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 2
  3. LỜ GIỚ THIỆ CỦ NGƯ I DỊ H I I U A Ờ C Trong nhữ g nă qua tôi đ tham gia m ộ số ựán CN TT và tôi thấ rấthiế n m td yt u ã nhữ g tài liệ có giá trị ằg tiếg Việđ tham kh ả về ác h thứ tiế hành các n u bn n tể o c cn dự n này. Tài liệ nư c ngoài thì r ấn hiề và khá nhiề tài liệ hay, như tài liệ á uớ t u u u u ng hư ng dẫ chi tiế thành mộ quy trình làm việ th ì cũg không nhiề. Cách đy ớ n t t c n u â mấ nă , trong mộ chu yế công tác, tôi mua đợ cuố s ách Software y t n ưc n m Requirements củ tác giả arl E . Wiege rs do Mic ros oft Pre ss ấ hành. Cu ố này a K n n hiệ đ có ấ bả mớ cũg củ Microsoft Press. Trong cuố sác h n ày tác giảrình nã nn in a n t bày toàn bộ ộ quy trình biế nhu cầ sửdụg phầ mề củ k hách hàng thành mt n u n nma mộ bả đc tả êu c ầ phầ mề . Bả đc tả êu cầ phầ mề này s ẽrởthành t nặ y u nm nặ y u nm t đu vào cho quy trình phát tri ể, triể khai v à bả trì mộs ả phẩ phầ mề . ầ n n o tn m nm Trong Quy trình lậ kếhoạh chấ lư ng trên satablo g2, nhà tưvấ chấ p c tợ n t lư ng J uran đ dành Bư c 2 - Đnh dan h khách hàng và B ư c 3 – Khám phá nhu ợ ớ ị ớ ã cầ khách hàng đ mô tả ách thứ hiệ thứ hóa nhu cầ củ khách hàng thành u ể c c n c ua mộbả đc tả ả phẩ – Juran nhấ mạh đy là đ u kiệ cầ đ sả xuấđợ t n ặ sn m nnấ iề n n ể n t ưc sả phẩ có chấlư ng. T oàn bộ ư c 2 và Bư c 3 trong quy trình trên đ ợ Ka rl n m tợ Bớ ớ ưc E. Wiegers cụthể óa th ành mộ cuố s ách hay, d ễ ọ v à thiếthự áp d ụg cho h t n đc t c n việ sả xuấphầ mề . cn t nm Ởđy, tôi muố nói tớ sựphân biệgiữ th uậ ng ữ nhu cầ”ne ed) c ủ Juran â n i t a t “ u( a và thuậngữ“êu cầ” ủ Wiegers. Đ phân biệgiữ nhu cầ và yêu cầ tôi lấ t y u ca ể t a u u y ví dụ ày. Cả gư i V iệN am lẫ ngư i Mỹ ề có n hu cầ nhưnhau là ă nhanh, n nờ t n ờ đu u n ă ngon, ă s ạh vào bữ s áng. Như do sựkhác nhau về ă hóa mà cái nhu cầ nc a vn u n ng ấ thểhiệ ra bên ngoài thành các yêu cầ khác nhau, đi vớ ngư i Mỹthông y n u ối ờ thư ng là mộ bữ sán g vớ bá nh mỳ hanh củ McDonald và mộ hộ Coca-Cola, ờ ta i n a tp đi vớ ngư i Việ miề B ắ thông th ư ng là mộ bát phởvà mộ chén n ư c chè. ối ờt nc ờ t t ớ Nhu cầ là cái bên trong đ ợ th ể iệ ra bên ngoài thành nh ữg yêu cầ kh ác u ưc hn n u nhau nhưvậ. J uran đ viế khá kỹvề ựkhá c biệ này trong Quy trình lậ kế y t s t p ã hoạh c hấ lư ng. c tợ Chúc các bạ thu thậ đ ợ các hư ng dẫ thự h ành thiếthự khi đc cuố s ách n p ưc ớ n c t c ọ n này! Hoàng Xuân Thịh, 12/2010 n Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 3
  4. Dành tặg Mis s Chr is n Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 4
  5. LỜ NÓI Đ U I Ầ Mặ dù ngành công nghiệ phầ mề đ có trên n ă mư i nă kinh nghiệ thự c p n mã ơm m c m tế hư nhiề tổ hứ phát triể phầ mề vẫ phảvậlộ vớ việ thu thậ, tài n ng u cc n nmn itni c p liệ ho á, quả lý cá c yêu cầ đu vào đi vớ sả phẩ củ mình. Thiế đu vào từ u n uầ ốin ma uầ ngư i dùng, yêu cầ không đy đ và thay đi yêu cầ là nh ữg lý do chính khiế ờ u ầủ ổ u n n các tổ hứ phát triể phầ mề không giao đ ợ cho khách hàng sả phẩ phầ cc n nm ưc n m n mề vớ c ác chứ năg đ đ ợ khách hàng đ a vào kế oạh s ả xuấtheo đng mi c n ã ưc ư hc n t ú lị biể và ngân sách đ đ h. Nhiề nhà phát triể ph ầ mề không c ả thấ hài ch u ãị n u n nm my lòng vớ việ thu thậ yêu cầ từkhá ch hàng. Công ngh ệyêu cầ (requirement i c p u u engineering) trong thự tếkhông đợ phổbiế rộg rãi t ớ c ác n hà phát triể, c ưc nn i n trong trư ng họ sinh viên cũ không đợ họ cá c kỹthuậc ủ công nghệ êu ờ c ưc c ta y ng cầ. Thậ chí, ng ay n hữg ngư i tha m gia dựán phầ mề c òn không thốg nhấ u m n ờ nm n t đ ợ vớn ha u nộ dung củ thuậngữ yêu cầ” ưc i i a t “ u. Phát triể phầ mề cũg liên quan đn truyề thông (communication) (ý nói là sự n n mn ế n truyề thông hay là giao tiế giữ nhóm phát triể phầ mề và khách hàng mua p a n nm n phầ mề , t ừđ nhóm phát triể mớ hiể khách hàng cầ gì ởsả phẩ phầ nm n i u n m n ó n mề sẽxây d ựg - ND ) nhiề nhưlà liên quan đn tính toán (c ompu ting), tuy m n u ế nhiên thư ng thì chúng ta hay nhấ mạh đn khía c ạh tính toán mà bỏquên ờ n nế n truyề thông. Cuố sá ch này cung cấ các công c ụ húc đy việ truyề thông và n n p t ẩc n giúp các nhà phát triể và khách hàng củ họ ửdụg hiệ quả ác phư ng pháp n a s n u c ơ củ c ông nghệ êu cầ. Cu ố sách đ a ra nhiề c ách tiế cậ nhằ g iúp nhó m dự a y u n ư u pn m án và khách hàng củ d ự n tho ảhuậ về hữ g gì ph ầ mề cầ đp ứ g đ thoả a á t n nn n m ná n ể mãn nhu cầ ngư i dùng, cùng v ớ cách thứ đ tài liệ hoá và quả lý các thay u ờ i cể u n đi trong các thoả huậ đ. Các kỹthuậ đợ giớ thiệ ởđy thuộ loạ “ ự ổ t nó t ưc i u â c i th c hành tố (good practices ) củ công nghệyêu cầ, c húng không phả là các kỹ t” a u i thuậ“a lạ từ iớ hàn lâm ho ặ là mộ phư ng pháp lu ậ khái qu át đ giảquyế tx ”gi c t ơ n ểi t bài toán yêu cầ củ bạ. uan LỢ Í CH TỪ CUỐ SÁCH NÀY I N Trong sốcá c c ảtiế quy trình ph ầ mề mà bạ c ó thể ắ bắ các thự hành in n m n n m t, c quả lý v à phát triể yêu cầ đợ cả tiế s ẽ ung cấ lợ ích lớ nhấc ho bạ. n n u ưc i n c pi n t n Các khái niệ và phư ng pháp ởđy là đc lậ vớ các phư ng pháp luậ phát m ơ â ộpi ơ n triể cụ hể đc lậ vớ các miề ứ g dụg – dù bạ phát triể phầ mề viễ n t,ộp i nn n n n n m n Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 5
  6. thông hay tài chính bạ vẫ dùng nh ữg p hư ng pháp này, bạ c ó thểsửdụg nn n ơ n n chúng trong mộ miề rộg lớ các loạdự n. Tô i tậ trung mô tả ộ số ỹ huậ t nn n i á p mt k t t thự hành đ đợ c hứg minh tính hiệ quả hằ giúp bạ: c ã ưc n u nm n  Đ t đợ s ự ài lòng cao hơ củ khách hàng. ạ ưc h na  Giả c hi phí bả trì và hỗrợ m o t.  Cả thiệ chấlư ng các yêu cầ trong dựán ngay từs ớ trong chu trình i n tợ u m phát triể, giả bớ các công việ phảlàm lạvà cảthiệ năg s uấ n mt c i i i nn t.  Đ ứ g c ác mụ tiêu c ủ lị biể bằg cá ch k iể s oát sự há vỡ hạ vi áp n c a ch u n m p pm ứ g dụg củ ph ầ mề và các thay đi yêu cầ. n n a nm ổ u Mụ đ h c ủ tôi là giúp bạ cảthiệ quy trình bạ s ử ụg đ thu thậ, phân tích c íc a ni n n dn ể p yêu cầ, viế và kiể tra đc tả êu cầ (re quire men t s pecification), quả lý yêu u t m ặy u n cầ trên toàn bộ hu trình phát triể s ả phẩ . C ảtiế quy trình nhằ giúp nhóm u c nn m in m dự n làm việ theo cá ch mớ đ tạ ra cá c kếquảốhơ Vì vậ tôi hy vọg bạ á c i ểo t t t n. y n n sẽhự hành nhữ g gì viếở ây th ay vì chỉọ chúng. tc n tđ đc NGHIÊN CỨU TÌNH HUỐ G N Nhằ giúp bạ ứg dụg cá c phư ng pháp ởđy, tôi đ cung cấ cá c ví dụ à mộ m nn n ơ â p l t ã sốnghiên cứ tình huốg từc ác dựán hiệ tạ mộ trong s ố ó là h ệhốg IT có u n n i, t đ tn kích thư c trung bình đ ợ gọ là Chemical Tracking System ( Đ ng lo lắg - Bạ ớ ưc i ừ n n không cầ phả biếbấ cứthứgì về óa họ đ hiể dựán này). Ví d ụ ày đợ n i tt h cểu n ưc thả luậ liên tụ trong các tình huốg khá c nhau đ bạ thấ c ác khía cạh khác o n c n ển y n nhau củ cùng mộ bài toán, các đạ đi thoạgiữ các thành viên nhóm d ự n đ a t on ố i a áó cũ đợ đ a ra nhằ minh họ bài toán. ng ư c ư m a AI NÊN Đ C CUỐ SÁCH NÀY? Ọ N Bấ cứa i có công việ liên quan đn yêu cầ tron g mộ dựán phát triể mớ hay t c ế u t n i nâng cấ mộ s ả phẩ p hầ mề đu có thể ìm thấ nhữ g thông tin hữ ích ở p tn m n mề t y n u đ Đ c giảcủ cuố sách có thểgồ : analysts (ngư i phân tích ), de velopers ây. ộ a m ờ n (ngư i phá t triể), teste rs (ngư i kiể thử - nhữ g ngư i ph ảh iể và đ ứg kỳ ờ n ờm ) n ờ i u áp n vọg c ủ khách hàng. Mộ nhóm đc giả hứhai là nhữ g ngư i dùng muố hình n a t ộ t n ờ n dung mộ sả phẩ phầ mề đp ứ g nhu cầ v ề hứ năg và nhu cầ sửdụg tn m n má n u ccn u n củ bả thân họC ác khách hàng muố đm b ả rằg sả phẩ sẽ áp ứg các nhu an . nả on n mđn cầ kinh doanh củ mình sẽ iể tố hơ về ả chấ và tầ quan trọg củ quy u a hu t n bn t m n a Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 6
  7. trình yêu cầ. C ác nhà quả lý dựán phảđi mặvớ việ bàn giao s ả phẩ đng u n iố t i c n mú thờ hạ s ẽ ọ đ ợ các h thứ quả lý c ác th ay đi yêu cầ tiề tàng. i n h c ưc c n ổ um KẾ CẤ CUỐ SÁCH T U N Cuố sá ch đ ợ tổ hứ thành 3 phầ. n ưc c c n  Phầ I bắđu bằg việ giớ thiệ mộ số ị nghĩnề tảg về ông nghệ n tầ n c i u t đh n ann c yêu cầ và mô tả ộ số ặ tính củ các yêu cầ tuyệhả. u m t đc a u to  Phầ II giớ thiệ nhiề kỹ huậphát triể yêu cầ, bắđu bằg đ h nghĩ n i u u tt n u tầ n ị n a yêu cầ nghiệ vụtầ nhìn (vision) và phạ v i. u p,m m  Phầ III giớ thiệ các nguyên lý và thự hành về uả lý yêu cầ. n i u c qn u TỪ NGUYÊN LÝ TỚ T HỰ T Ế I C Khó khă biế bao khi tậ trung năg lư ng cầ thiế nh ằ vư t qua nhữ g trở t p n ợ n t mợ n n ngạđ thay đi và đ đa các hi ể biếmớ vào hoạđng thự tếC on ngư i và iể ổ ểư ut i tộ c. ờ các tổ hứ có xu hư ng giữ guyên, duy trì nhữ g gì đ có, dù rằg chúng không cc ớ n n n ã hiệ quảĐ giúp đ bạ trong hành trình cảtiế quy trình yêu cầ, mỗ chư ng u .ể ỡn in u i ơ sẽ ó mộ mụ gọlà “Các b ư c tiế theo ” mô t ả hi tiếcá c hành đng cụ hể ể c t ci ớp c t ộ tđ – bạ áp dụg c ác phư ng pháp đ ợ giớ thiệ trong chư ng này vào thự tế Tôi n n ơ ưc i u ơ c. cung cấ cá c templates cho c ác tài liệ yêu cầ, c ác ch ecklists , mộ bảg tính xế p u u tn p thứ tự ư tiên yêu cầ, và nhi ề thứ nữ trên trang web c ủ tôi tạ u u a a i u http://www.processimpact.com. Hãy bắđu từ hữ g thay đi nhỏ rong công việ tầ n n ổ t c củ bạ ngay ngày hôm nay. an Không phả tấ cảnhữ g ng ưi tham gia dựá n c ủ bạ đu ủg hộbạ trong it n ờ a nền n nhữ g tha y đi này. Hãy sửdụg nhữg hiể biế thu thậ đ ợ ởđy đ thuyế n ổ n n u t p ưc âể t phụ họhãy lôi kéo họ ùng h ọ và cùng c ảtiế. c, c c in Bạ không cầ phảkhở đng mộ dựán mớ đ bắ đu áp dụg nhữ g kỹ huậ n n i iộ t iểtầ n n tt củ công nghệ êu cầ. M ộ đ m bắ đu tố là hãy sửdụg mộ quy trình kiể a y u t iể t ầ t n t m soát thay đi thích hợ . N gh ĩlà, bạ c ó thể au chóng bắđu bằg việ quả lý ổ p a n m tầ n c n các đ xuấthay đi yêu cầ. K hi bạ thêm các tính nă mớ vào sả phẩ đ có, ềt ổ u n i n mã ng hãy bắ đu phân tích ảh hư ng mộ các h hệhốg và t ạ mộ ma trậ lầ v ếđ tầ n ở t tn o t nn tể liên kế cá c yêu cầ mớ tớ các bả thiế kếmã ngu ồ v à tình huốg kiể thử t u ii n t, n n m (test cases) t ưng ứg. Rấ hiế khi bạ qua y lạvà viế lạ nhữg bả đc tả êu ơn t m n i ti n nặ y Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 7
  8. cầ mớ c ho mộ hệhốg đ có. Tuy nhiên, bạ có thể iếcác yêu c ầ cho phiên u i t tn ã n vt u bả tiế theo bằg mộ các h chặ chẽhơ so vớ trư c đy, viế các analys is np n t t i ớâ t n models cho các tính n ă mớ, kiể tra các yêu c ầ mớ. T hự hành dầ các kỹ i m u i c n ng thuậ củ c ôn g ngh ệ êu c ầ là mộ các h tiế cậ cả tiế quy trình có đ rủ ro ta y u t pnin ội thấ, nhữ g kinh nghiệ thu đợ s ẽà nề tảg cho bạ chuẩ bị ộdự n mớ p n m ưc l nn n n mt á i. Mụ tiêu củ công nghệyêu cầ là phát triể cá c yêu cầ chấ lưng cao - chứ c a u n u tợ không phảhoàn h ả – các yêu cầ c ho phép bạ xây dự g dựán vớ mộ mứ đ i o u n n i t cộ rủro chấ nhậ đ ợ. Bạ cầ dành đ thờ gian cho giai đạ làm yêu cầ đ tố i p n ưc nn ủi on u ểi thiể hóa rủ ro phả làm l ạcông việ, tạ ra sả phẩ không thể hấ nhậ, lị u i i i co n m cp n ch biể bị àn. Cuố sá ch này giúp b ạ xá c đ h khi nào bạ đt tớ đ m có đợ c ác u tr n n ịn n ạ i iể ưc yêu cầ chấlư ng và gợý mộs ố á ch đ làm đ u đ. u tợ i tc ể iề ó LỜ CẢ Ơ I MN Mộ s ố ạ h ữ đ dành thờ gian đ xem xét các b ả thả và cho tôi nhữ g lờ t bn u ã i ể n o n i khuyên quý báu. Đ c biệcả ơ Kathy Rhode, ngư i đ xem xét tỷ ỷ ả thả ặ t mn ờã m bn o và giúp tôi tưduy, tr ình bày vấ đ tố hơ Các bạ Chris Fahlbusch, T ammy n ề t n. n Hoganson, Deependra Moitra, Mike Rebatzke… Tôi cũg cả ơ Steve McConnell, ngư i đ khuyế khíc h tôi viếmộ cuố s ách n mn ờã n t t n vềyêu cầ phầ mề và đ chuyể bả thả cho biên tậ viên Ben Ryan củ u n m nn o p a ã Microsoft Press. Ben đ giúp tôi làm vi ệ vớ c ác biên tậ viên khác củ nhà xu ấ ci p a t ã bả. Mary Kalbac h Barnard củ M icros oft Press đ quả lý dựán này và cùng v ớ n a n i ã sựg iúp đ củ Michelle Goodman, đ biên tậ từbả thả đu tiên đn bả th ả ỡa p n oầ ến o ã cuố cùng củ cuố sá ch. i a n Tôi rấbiếơ mộs ố hách hàng mà tôi tưvấ, đc biệlà Sandy Browning, Matt t tn tk nặ t DeAthos, Kathy Rhode, Kathy Wallace, nhữg ngư i đ mờ tôi tham gia làm việ n ờã i c cùng họrong c ác quy trình yêu c ầ. t u Tôi cũg cả ơ sự óng góp từ àng nghìn ng ưi tham gia cá c xêmina về êu cầ n mn đ h ờ y u phầ mề củ tôi trong nhữg nă qua. L à mộ nh à tưvấ và mộ nhà giáo dụ, n ma n m t n t c tôi đ họ đ ợ rấ nh iề từ ỗ công ty mà tôi làm việ, từnhữ g ngư i đ tham ã c ưc t u mi c n ờã Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 8
  9. gia các xêmina củ tôi. Nhữ g gì hữ ích thu thậ đu đ ợ tôi đ a vào cuố s ách a n u p ề ưc ư n này. M ọthư ừ rao đi xin gử cho tôi kwiegers@acm.org. i tt ổ i Tôi trân trọg s ựđng góp s âu s ắ nhấc ho cuố sác h này t ừvợcủ tôi - Chrish n ó c t n a Zambito. Xin mờ bạ nghiên cứ cuố sách và thự hành nhữ g gì b ạ thu thậ đ ợ. Chúc in u n c n n p ưc bạ thành công! n VỀTÁC GIẢKARL E. WI EGERS Karl E. Wiegers là nhà t ư ấ chính tạProc ess Impa ct, mộ công ty đ t ạ và tư vn i t ào o vấ quy trình phầ mề c ó trụsởtạ Portla nd, Oregon. Ông đ tưvấ và thuyế n n m i n t ã trình trong các xêmina tạhàng chụ công ty vùng Bắ M ỹTrư c đy, Karl đ làm i c c . ớâ ã việ 18 nă tạcông ty E astman K odak, n ơ ông làm công việ củ mộ nhà khoa c mi ca t i họ nghiên cứ về nh , nh à phát triể phầ mề , nhà lãnh đo quy trình phầ mề c uả n nm ạ nm và cảtiế quy trình. Karl đ nhậ bằg tốnghiệ đi họ ng ành hóa họ từ ois e in nn t pạ c cB ã State College, bằg cao họ và tiế sỹ óa hữ cơ ủ University of Illinois. Ông là n c nh u ca thành viên củ IEE E, IE EE C ompu ter Society và Hiệ hộmáy tính M ỹ ACM). a pi ( Karl là tác giảcủ cuố s ách đạ giả thư ng Nă suấ phá t triể phầ mề a n ot i ở t n n m ng (Software Development Productivity) - cuố Tạ lậ mộ nề vă hóa công nghệ n op tnn phầ mề (Cr eating a Software E ngineering Culture ) do Dorst House xuấ bả n m tn nă 1996. Ông c ũ l à tác giả ủ hơ 150 bài báo v ề hiề khía cạh củ khoa ca n nu n a m ng họ máy tính, hóa họ và lị s ửquân sự Ông đng thờ là biên t ậ viên bán thờ c c ch . ồ i p i gian cho t ạ c hí Software Devlopement, là mộ th ành viên trong ban biên tậ củ p t pa tạ chí IEEE Software . p Khi không làm việ, ô ng chơ ghita vớ tay ghita Gibson Les Paul, đ trên chi ế c i c i ua mô tô Suzuki VX800 củ mình, nghiên c ứ lị sửquâ n s ự nấ nư ng và nhấ a u ch ,uớ m nháp rư u vang vớvợ à con mèo đ Gremlin củ họ ợ i v a. en Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 9
  10. MỤ LỤ C C PHẦ I N – YÊU C Ầ PHẦ M Ề : CÁI GÌ VÀ TẠ SAO U N M I Cơ ả về êu c ầ phầ mề bn y u nm 1. Yêu cầ phầ mề từ uan đ m củ khách hàng u nmq iể a 2. Các thự h ành hiệ quả ho công nghệ êu cầ c u c y u 3. Cảtiế quy trình yêu c ầ c ủ bạ in uan 4. Yêu cầ phầ mề và quả lý rủ ro u nm n i 5. PHẦ II – PHÁT TRIỂ YÊU CẦ PHẦ M Ề N N U N M Thiếlậ tầ nhìn và phạ vi củ dự n tpm m a á 6. Tìm kiế tiếg nói củ khác h hàng mn a 7. Lắg nghe tiếg nói củ khách hàng n n a 8. Tài liệ hoá yêu cầ u u 9. 10. Mộ bứ tranh đng giá 1024 lờ nói tc á i 11. Các thuộ tính củ chấlư ng phầ mề c a tợ nm 12. Giả rủ ro thông qua làm nguyên mẫ mi u 13. Thiếlậ các ư tiên c ủ yêu cầ tp a u u 14. Kiể tra chấlư ng yêu cầ m tợ u 15. Nhìn xa hơ việ phát triể yêu c ầ nc n u PHẦ III - QUẢ L Ý YÊU C Ầ PHẦ M Ề N N U N M 16. Các nguyên lý và thự hành quả lý yêu cầ c n u 17. Quả lý đ nghị ay đi n ề th ổ 18. Các liên kếtrong c huỗyêu cầ t i u 19. Công cụ ho quả lý yêu cầ c n u Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 10
  11. PHẦ I N YÊU CẦ PHẦ MỀ : CÁI GÌ VÀ TẠ SAO U N M I Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 11
  12. CHƯ NG 1 Ơ CƠ BẢ VỀYÊU CẦ PHẦ MỀ N U N M “Xin chào, Phill? Tôi là Maria ở ộ hậ Nguồ nhân lự. Chúng tôi đng có vấ Bpn n c a n đ về ệhốg nhân lự (e mployee sy stem) mà anh đ lậ tr ình cho chúng tôi. Mộ ềht n c ãp t nhân viên vừ mớ thay đi tên củ c ô ta thành Sparkle Starlight và chúng tôi a i ổ a không th ể h iế cho hệhốg chấ nhậ tên thay đi này. Giúp tôi đợ không?” kn tn p n ổ ưc “Cô ta vừ c ư i mộ gã tên là Starlight à?” aớt “Không, cô ta không cư i chồg, c hỉhay đi tên thôi,”, Maria đ “Đ mớ là ớ n t ổ i áp. ó vấ đ. Hệhốg c hỉ hấ nhậ ai đ thay đi tên n ế họthay đi tình trạg hôn nề tn cp n ó ổ u ổ n nhân củ mình.” a “Ồ tôi chư bao giờng hĩằg có ai đ lạ thay đi tên củ mình. Tôi không th ấ , rn ói ổ a y a chị ói vớ tôi về iệ này khi chúng ta trao đi vớ nhau v ề ệhốg tr ư c đy. Đ n i vc ổi ht n ớâ ó là lý do chịhông thể hấ vào hộ thoạ Change Name nế trư c đ không nhấ k nn p i u ớó n vào hộ thoạ Change Mar ital Status, ” hill nói. p i P Maria nói, “Tôi nghĩ nh biế mọ ngư i đu có thểthay đi tên củ mình mộ a t i ờề ổ a t cách hợ pháp bấc ứ úc nào nế họ hích. Thêm n ữ, chúng tôi phả khoá s ổ ào p t l u t a i v thứ tớ như Spark le không thểhanh toán đợ hoá đ n củ c ô ấ. Có thể iúp 6i t ưc ơa y g ng tôi sử lỗ(bug) này không?” ai “Đ không phả là lỗ Tôi không hề iếlà chịầ tính năg này. Tôi b ậ vào vụ i i! bt cn n n ó hệhốg đnh giá hiệ s uấ mớ rồ Tôi nghĩôi có m ộ số ề ghịhay đi khác tn á u t i i. t t đn t ổ cho hệthốg nhâ n lự đy ,”[tiếg giấ sộ s oạ , “ ây rồ Tôi có thểcốđ h n câ n yt t] Đ i. ị n chứ năg k ho á sổ ào cu ố tháng chứkhông phả cuố tuầ. Xin lỗ n hé. Lầ tớ, cn v i i i n i ni hãy nói nhữ g thứ ó cho tôi sớ hơ và làm ơ ghi ra giấ.” n đ mn y n “Vậ tôi c ó thể iúp gì cho Sparkle đ y g ây”, Maria vặ hỏ “ ô ấ không th ểhự n i, C y tc hiệ công việ đ ợ nế không thanh toán đ ợ hoá đn.” n c ưc u ưc ơ “Ồ Mar ia, đ k hôn g phả lỗ củ tôi.”P hill nói. “ ế cô nói trư c vớ tôi cái vụ , ó iia Nu ới thay đi tên đ thì mọ việ đ xuôi chèo mát mái. Cô không th ể ửlý tôi vì tôi ổ i cã x ó không đc đ ợ ý nghĩủ cô. ” ọ ưc ca Giậ dữMar ia nặg lờ “ , thế ơđy, đy chính là lý do làm tôi ghét máy tính. n n i, Ồ c ấâ Hãy gọlạ tôi càng sớ càng t ốđ sử c ái này.” ii m tểa Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 12
  13. Nế bạ đ từg trao đi vớ k hách hàng nhưtrên thì bạ biế khách hàng sẽ ắ u nã n ổi nt rc rố như ế ào nế phả sửdụg các phầ mề không thểh ự hiệ đợ cá c tác i th n u i n nm t c n ưc vụ ơ ả (tác vụ- task, đ ợ hiể là các công việ tr ư c đy l à củ ngư i dùng c bn ưc c ớâ a ờ u nhữ g giờđ ợ giao cho máy tính thự hiệ, ví dụ ác vụin hóa đn , tác vụ ậ n ưc c n t ơ lp báo cáo tài chính - ND ). Còn về hía bạ, bạ đ thấ mọ việ rố tin h ra s ao nế p n nã y i ci u nhậ đ ợ mong muố củ khách hàng đi vớ hệhốg sau khi hệ hố g đ đợ n ưc na ối tn t n ã ưc cài đt. Cũg th ậbự bộ nế bạ phảs ử hệhốg ngay trong khi bạ đng xây ặn tciun ia tn na dự g hệhốg đng như ữg gì bạ đ đợ n gh e từ úc đu. n tnú nh n n ã ưc l ầ Nhiề v ấ đ nả sinh trong khi phát triể phầ mề có thể ó nguồ gố từquy u nềy n n m c nc trình và từsựthự hiệ các quy trình đ trong việ thu thậ, tài liệ hoá, thoả c n c p u ó thuậ và lự chọ c ác yêu cầ phầ mề . Nhưcâu truyệ trên, miề thông tin thu n a n u nm n n thậ có thể ồ cả hữ g g ì không đợ nói ra, không đ ợ ghi nhậ, không đợ p gm n n ưc ưc n ưc thoảhu ậ. tn Khi xây dựg mộ ngôi nhà, phầ lớ trong s ố húng ta đu trao đi vớ nhà th ầ n t nn c ề ổi u về hu cầ và mong muố củ chúng ta từ ó ư c tính chi phí. Tuy vậ, phầ lớ n u na đớ y nn trong số ó lạkhông làm như ậ kh i đt hàng mộ s ả phẩ phầ mề . Khoảg đi vy ặ tn m nm n từ 0% đn 60% c ác lỗ xuấhiệ là do không tìm hi ể kỹ ài toán trong khâu yêu 4 ế i t n ub cầ (Le ffingwell 1997). Nhiề tổchứ vẫ ứ g dụg các phư ng pháp theo kiể u u c nn n ơ u thuậ tiệ, c ó sao thì làm vậ (ad hoc ) đ làm yêu cầ. Kếquả ạđ ợ là mộ sự nn y ể u t đt ư c t vênh nhau giữ cá i khách hàng nghĩà chúng ta s ẽ ây dựg cho họvà cái mà a x n l chúng ta nghĩ chúng ta đ l àm cho khách hàng. ang Do yêu cầ là đu vào củ quy trình sả xuấphầ mề và mọ hoạđng quả lý u ầ a n t nm i tộ n dựán, nên t ấc ả h ữg ngưi liên quan cầ phả đng thuậ trong mộ quy trình t nn ờ n iồ n t làm yêu cầ (còn gọ là công nghệ êu cầ - ND) hiệ quảChư ng này giúp b ạ: u i y u u . ơ n  Hiể mộ số hái niệ chính trong việ ph át triể yêu cầ phầ mề . u tk m c n u nm  Có hiể biếvề ộ s ố ấ đ liên quan đn yêu cầ có thể ả s inh trong u t mt vn ề ế u ny mộdự n phầ mề . t á nm  Tìm hiể về ộ số ặ tính mà mộ yêu cầ tuyệvờ hoặ mộ đc tả êu u mt đc t u ti c tặ y cầ cầ phảc ó. un i  Nhậ biếs ự hác nhau giữ phát triể yêu cầ và quả lý yêu cầ. ntk a n u n u Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 13
  14. Đ NH Ị NGHĨ A YÊU CẦ U P HẦ N MỀ M (SOFTW ARE I. REQUIREMENTS DEFINED) Mộ khó khă đi vớ ngành công nghiệ p hầ mề là thiế các đ h nghĩchung t nố i p nm u ịn a về ác khái niệ mà chúng ta sửdụg đ mô tả ác công việ, mộ trong s ố ó là c m nể c c t đ đ h nghĩ khái niệ “ q uire men t” Đnh nghĩ này cầ đ ứg c ho nhiề đi ịn a m re .ị a n áp n uố tư ng liên quan khác nhau nh ư developers, customers, others (ngư i phát triể, ợ ờ n : khách hàng, ngư i k hác – Mộ số huậngữ ẽ ư c đ nguyên ti ếg Anh – ND). ờ tt t s đợ ể n The IEEE Standard Glossary of Software Engineering Technology (1997) đ hị n nghĩmộyêu cầ là: a t u (1) M ộ quy ư c (condition) ho ặ mộ c ông năg (capa bility) củ sả p hẩ t ớ c t n an m phầ mề cầ thiếcho ngư i dùng đ giảquyế mộ v ấ đ hoặ đ đt n mn t ờ ểi t t n ề c ểạ đ ợ mộmụ tiêu. ưc t c (2) M ộ quy ư c hoặ mộ công năg cầ phảthỏ mãn hoặ cầ phảcó củ t ớ c t n n i a cn i a mộ hệ hốg hoặ mộ thành phầ hệ hốg (syste m component) n hằ t tn c t n tn m đ ứg mộ hợ đng, mộ tiêu chuẩ, mộ đc tả oặ mộ tài liệ b ắ áp n t pồ t n tặ hc t ut buộ khác . c (3) M ộ sựdiễ giả(repres entation) đợ ghi thành tài li ệ c ủ mộ quy ư c t n i ưc ua t ớ hoặ mộ công năg theo 1 hoặ 2. ct n c MỘ SỐ DIỄ GI Ả VỀ“ ÊU CẦ ”(SOM E INT ERPR ETAT IONS N I Y U 1. T OF “REQUIREMENTS”) Đnh nghĩcủ IE EE bao hàm cả qua n đ m về êu cầ từngư i dùng (quan sát ị aa 2 iể y u ờ hành vi củ hệhốg từ ên ngoài) và từngư i phát triể (quan sá t hệhốg từ ên a tn b ờ n tn b trong). Mộ trong cá c yế tốquan trọ g củ requirements là cầ đ ợ tài liệ hoá . T ôi đ t u n a n ưc u ã làm vi ệ trong mộ dựán mà tạ đ developers bị uay nhưchong chóng. Khách c t ió q hàng chính phát hoảg khi ngưi phân tích yêu cầ mớ đn và nói: “Chúng tôi cầ n ờ u iế n trao đi về êu cầ củ anh. ” hách hàng phả ứ g lạ “ ôi đ đ a cho ngưi tiề ổy ua K n n i: T ãư ờn nhiệ củ anh yêu cầ rồ” hự tếhì không có yêu cầ nào đ ợ tài li ệ hoá, vì ma u i. T c t u ưc u vậ mỗ ngư i phâ n tích mớ đ phảbắđu từ ộđng lộ xộ. yi ờ iã i t ầ mt ố n n Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 14
  15. Th ư ng thì bạ đ có “yêu cầ” ồ nế bạ có đ ợ các emails, voice-mails, các ờ nã u ri u n ưc ghi chú, các cuộ gặ gỡngắ, các tậ hợ giấ tờlinh tinh từcác cuộ họ vớ cp n pp y cpi ngư i dùng. ờ Mộ đ h nghĩ kh ác gợ ý rằg yêu cầ là “các phát biể về hu cầ (need) củ tị n a i n u u n u a ngư i dùng làm đ m xuấ phát cho s ựphá t triể mộ chư ng trình ho ặ mộ hệ ờ iể t n t ơ c t thốg” J ones 1994). Ch uyên gia về êu cầ Alan Da vis (1993) đ mởrộg khái n( y u n ã niệ n ày thành “mộ nhu cầ củ ngư i dùng ho ặ mộ đc tính , mộ chứ năg, m t ua ờ c tặ t cn mộ thuộ tính cầ thiế củ mộ hệ hốg có thể ư c hiể từmộ vịrí bên t c n ta t tn đợ u t t ngoài hệ hốg đ”C ác đ h nghĩ này nhấ mạh cái mà sả ph ẩ phả cung t n ó. ị n a n n n m i cấ thay vì sả phẩ s ẽ ư c làm như ế ào từ óc nhìn củ ngư i thiếkế à thi p n m đợ th n g a ờ tv công. Đnh nghĩs au đ xa hơ t ừnhu cầ ngư i dùng t ớ c ác đc tính (characte ristic) ị a i u ờ i ặ n: củ hệhốg (Sommerville and Sawyer 1997): a tn Yêu cầ là… m ộ đc tảvề ái phả đ ợ thi c ông. Chúng là các mô tảvề u tặ c i ưc hành vi củ hệhốg phảnhưthế ào, hoặ v ề ộthuộ tính củ hệhốg a tn i n c mt c a tn phả nhưthế ào. Yêu cầ có thểà mộ ràng buộ về uy trình phát tri ể i n u l t c q n củ hệhốg. a tn Các đ h nghĩđ dạg trên chỉa rằg không có cá ch hiể s áng s ủ, khô ng nhậ ịn aa n r n u a p nhằg về hái niệ “êu c ầ”Yêu cầ thậ sựthư ng tồ tạ trong tâm trí con n k my u. u t ờ ni ngư i. Bấcứhình thứ tài liệ hoá nào về êu cầ (ví dụ ặ tả êu cầ) cũg chỉ ờt c u y u đc y u n là mộ mô hình, mộ sựtrình bày ra bên ngoài vềyêu cầ mà thôi (Lawrence t t u 1998). Chúng ta c ầ đm bả rằg tấcả hữg ngư i liên quan củ dựán đu có nả o n t nn ờ a ề mộcá ch hiể chung về ác khái niệ đ ợ dùng đ mô tả ác yêu cầ. t u c m ưc ể c u CÁC MỨ CỦ YÊU CẦ (LE VEL S OF REQUIREMENTS) C A U 2. Các đ h nghĩ s au mà tôi sẽs ửdụg đi vớ mộ sốkhái niệ chun g, bạ s ẽ ịn a nối t m n thư ng gặ chúng trong lĩ vự c ông nghệ êu cầ. ờ p nh c y u Yêu c ầ phầ mề gồ 3 mứ phân biệ – yêu cầ kinh doanh (busines s u n m m c t u requirements, BR), yêu cầ ngư i dùng (user requirements, UR), yêu cầ u ờ u chứ nă g (functional requirements, F R) hoặ yêu cầ phi c hứ nă g (NF R). cn c u cn Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 15
  16.  BR biể diễ các mụ tiêu ởmứ cao c ủ tổ h ứ hoặ củ khách hàng đi un c c acc ca ố vớ hệ hốg. Chúng đ ợ tríc h ra (capture ) từmộ tài liệ mô tảầ nhìn i tn ưc t u tm (vision) và phạ vi (s cope) c ủ dựán. m a  UR mô t ả ác tác vụ(tas k) mà ng ư i dùng phả hoàn thành b ằg cá ch sử c ờ i n dụg hệhốg như ộ công cụ àm việ. Chúng đ ợ trính ra trong các mô n tn mt l c ưc tảình hu ốg s ử ụg (us e ca se) ho ặ kị bả sử ụg. t n dn c ch n d n  FR đ h nghĩ chứ năg củ phầ mề mà ng ư i phát triể cầ ph ảđ a ịn a cn a n m ờ nn iư vào sả phẩ đ ngư i dùng hoàn thành tác vụcủ họ do đ mà đ ứ g n mể ờ a, ó áp n các yêu cầ kinh doanh (BR). Mộ tính nă (feature) là mộ tậ hợ logic u t tpp ng các yêu cầ chứ năg có liên quan lẫ nhau nhằ c ung c ấ cho ng ưi dùng u cn n m p ờ khả ăg (c apability) đp ứg mộ yêu cầ kinh d oanh. X em Hình 1-1 về nn án t u mốquan hệ iữ các mứ củ yêu cầ. i ga ca u HÌNH 1 -1. Quan hệ iữ mộs ốhành ph ầ c ủ yêu cầ phầ mề . ga t t na u nm FR đợ tài liệ hoá trong mộ đc tả yêu cầ phầ mề (Softwar e ưc u tặ u n m requirements specification, SRS), tài li ệ này mô tảđy đ ởmứ có thể u ầủ c Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 16
  17. hành vi mong muố đi vớ hệ hốg bằg mộ cá i nhìn từbên ngoài. SRS nố i tn n t đ ợ s ử ụg trong phát triể, kiể thử đm bả c hấlư ng, quả lý dựán ưc d n n m ,ả o tợ n và các công việ liên quan khác củ dự n. Đ i vớ các s ả phẩ phứ tạ, c a á ối n m cp yêu cầ chứ năg có thểà tậ con c ủ yêu cầ hệhốg, nế mộph ầ củ u cn lp a u tn u t na yêu cầ chứ năg đ đ ợ đ h vị ành các software components. u c n ã ưc ị n th Ngoài các FR, SRS còn chứ các yêu cầ phi chứ năg. Đ là các tiêu a u cn ó chuẩ, quy đ h, khế ớ mà sả phẩ phả tuân thủ c ác mô tả ủ giao n ị n ưc n m i ; ca diệ ngoài (external interface, nói thêm, giao diệ trong là giao diệ giữ c ác n n n a hệ hốg vớ nhau); cá c yêu c ầ hiệ suấ (p erforma nce require me nts ); c ác tn i u u t ràng buộ vềhiếkế à thi công; các thuộ tính ch ấlư ng. Các ràng bu ộ c tt v c tợ c (constraints) là các giớ hạ đợ đ h ra trong miề chọ lự khả ăg củ i n ưc ị n n na nn a ngư i phát triể khi thiếkế à thi công hệhốg. Các thuộ tính chấlư ng ờ n t v tn c tợ là các mô t ả ề ác thu ộ tính củ sả phẩ theo nhiề khía c ạh quan trọg vc c an m u n n vớng ư i dùng ho ặ vớngư i phát triể. ờ ci ờ n i Chúng ta lấ mộ c hư ng trình xửlý từlàm ví dụ ề ác kiể yêu cầ khác nha u. y t ơ vc u u Mộ B R có thể iế “ gư i dùng có thể ử các lỗ chính tảs pelling e rrors) trong t v t: N ờ sa i ( tài liệ mộ cá ch hiệ quả. Nh ưvậ, trong tài liệ h ư ng dẫ sửdụg sả phẩ u t u ” y uớ n n n m cầ ghi rằg mộ s pelling c hecker đợ đa vào s ả phẩ – đ là tính n ă đ n n t ưc ư n m ó ng áp ứ g B R này. Các UR t ư ng ứg có thể ô tả us e c ase ): “ìm ki ế cá c spelling n ơn m ( T m errors (lỗ chính tả trong tài liệ và quyếđ h liệ có nên thay th ế ỗ mis pelled i u tị n u mi ) word (t ừsai chính tả bằg mộ từđng lự ra từmộ dan h s ách các từđợ gợ )n t ú a t ưc i ý”. Spelling checker có nhiề yêu c ầ chứ năg c ụh ể hư ìm ki ế và làm sáng u u cn tnt m (highlight) mộ miss pelled wo rd, hiể thị ộ dialog box vớ các từthay thế ư c t n mt i đợ gợ ý… i Các nhà quả lý hoặ tiế thịó th ể ị nghĩ các yêu cầ kinh doanh cho phầ n cp c đh n a u n mề , đ u đ giúp công ty c ủ họ oạ đng hiệ quả ơ (đi vớ các hệ hốg m iề ó a htộ u hn ố i tn thông tin) ho ặ thành công trên thịrư ng (đi vớ các sả phẩ phầ mề thư ng c tờ ối n m nm ơ mạ . Tấcả á c yêu cầ ngư i dùng cầ phảs óng đi vớ các yêu cầ kinh doa nh . i) tc u ờ n i ô i u Các yêu cầ ngư i dùng giúp ng ư i phân tích cài đt mộ phầ c hứ năg (the bits u ờ ờ ặt n cn of functionality) mong muố trong s ả phẩ n hằ giúp ngư i dùng thự hiệ tác n n m m ờ cn Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 17
  18. vụ ủ họN gư i phát triể (developers) s ử ụg các yêu cầ c hứ năg đ thiếkế ca . ờ n dn u cnểt các giảpháp thự thi chứ năg cầ thiế i c cn n t. Chú ý rằg yêu cầ, th eo đ h ng hĩ k hôn g bao hàm các chi tiếthiế kếcác chi n u ịn a, t t, tiếthi c ông, thông tin lậ kế oạh dựán, hoặ thông tin kiể th ử Hãy tách các t p hc c m . thông tin đ ra khỏ yêu cầ sa o cho yêu cầ chỉ hứ cá c thông tin hệhốg cầ i u u ca tn n ó phảlàm cái gì. D ựán cũg c ó thể ó các k iể yêu cầ khác n hau nhưyêu cầ về i n c u u u môi trư ng phát triể, yêu cầ về h át hành sả phẩ và thích ứg nó vớ môi ờ n u p n m n i trư ng hỗtrợ Cá c kiể yêu cầ đ có thể nh hư ng nghiêm trọg đn s ựthành ờ . u uó ả ở nế công củ dự n nh ư trong cuố s ách này ta không xét đn chúng. a á n ế ng MỖ DỰ ÁN Đ U CÓ YÊU CẦ (EVE RY P ROJE CT HAS I Ề U II. REQUIREMENTS) Fredrick Brooks xác đ h vai trò đc biệquan trọg củ quy trình yêu cầ đi vớ ị n ặt n a uố i các dựán phầ mề trong bài luậ kinh đ n nă 1987 củ ông, “ o Silver n m n iể m a N Bullet: Essence and Accidents of Software Engineering”: Việ duy nhấ khó khă khi làm mộ hệhốg phầ mề là quyếđ h chính c t n t tn nm tị n xác cái cầ phả xây dự g. K hông có công việ nào là khó khă nhưthiế n i n c t n lậ các yêu cầ kỹhuậ c hi tiế gồ tấ cả iao diệ vớ ngư i dùng, giao p ut t t, m t g ni ờ diệ vớ máy móc (machines) và vớ các hệhốg phầ mề khác . Không có ni i tn nm công việ nào ảh hư ng xấ đn hệ hốg bằg công việ này nế nó bị c n ở uế tn n c u thự hiệ s ai. Không có cô ng việ nào là khó khă hơ công việ này nế c n c c u nn phảc hỉ sử lạ sau. i nh a i Mỗ hệ hốg phầ mề c ó ngư i dùng củ riêng nó. Thờ gian đ tìm hiể nhu i tn n m ờ a i ể u cầ củ họlà mộ khoả đu tưthen chố khiế dựán th ành công. Nhậ đ h này ua t nầ t n nị n là hiể nhiên đi vớ cá c ứg dụg đu cuố thư ng mạ các hệthốg thông tin n ối n nầ i ơ i, n doanh nghiệ, các s ả phẩ c hứ c ác phầ mề nhúng. Nế ch úng ta , vớ tư p n m a nm u i cách là nhữ g ngư i phát triể, không viế ra cá c yêu cầ đ khác h hàng có th ể hả n ờ n t uể to luậ về ó, thì l àm sao chúng ta biếkhi nào thì d ự n thự hiệ x ong . Chúng ta có nn t á cn thể á p ứg nhưthế ào cho khách hàng nế không biếc ái gì quan trọg đi vớ đn n u t nối họ Thậ c hí đi vớ n gay cả ác phầ mề phi thư ng mạ thì các yêu cầ cũg . m ối c nm ơ i un cầ phả đ ợ hiể cho rõ. Ví d ụcác thưviệ phầ mề , các components , c ác n i ưc u n n m tools đợ tạ ra c ho các nhóm p hát triể s ử ụg. ưc o n dn Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 18
  19. KHI CÁC YÊU CẦ XẤ XẢ RA V Ớ C ON NGƯ I TỐ (WHEN U U Y I Ờ T III. BAD REQUIREMENTS HAPPEN TO NICE PEOPLE) Khi các nhóm dự n không quan tâm đn c ác quy trình yêu cầ thì họsẽ hiế dự á ế u kn án lâm vào tình thếnguy h iể , s ựthành công củ dựán là khó đm bả. Nế m a ảo u “thành công” đợ hiể là chuyể giao mộ s ả phẩ đp ứ g cá c mong đi củ ưc u n tn má n ợa ngư i dùng về hứ năg, về hấlư ng ởmứ c hi p hí đ thoảhuậ và trong mộ ờ ccn ctợ c tn t ã thờ gian giớ hạ. Mộ số ủ ro về êu c ầ sẽ ưc thả luậ dư i đy. Chư ng 5 i in t ri y u đợ o n ớ â ơ sẽhả luậ việ bạ có thểàm gì đ trá nh cá c rủro yêu cầ. to n cn l ể i u MỘ SỐ RỦ RO TỪ SỰ KHÔNG Đ Y Đ CỦ QUY T RÌNH YÊU CẦ T I ẦỦA U (SOME RISKS FROM INADEQUATE REQUIREMENTS PROCESS)  Nế cá c kiể ngư i dùng không đ ợ tính đn đy đ trong khi làm yêu cầ u u ờ ưc ếầủ u thì hệhốg c ó thể ẽ hông đ ợ chấ nhậ. tn sk ưc p n  Việ phá t sinh các yêu cầ không chính thứ (cre eping use r requirements) c u c góp ph ầ làm h ỏg và giả chấlư ng sả phẩ . n n m tợ n m  Các yêu cầ nhậ nhằg dẫ tớ tiêu phí nhiề thờ gian đ làm l ạ u p n ni u i ể i.  “Sựmạ àng” (gold – plating) củ ngư i phát triể và ngư i dùng sẽ hêm v a ờ n ờ t vào hệhốg các tính năg (fea tures ) không cầ thiế tn n n t.  Các đc tảtố thiế dẫ tớ c ác yêu cầ c hính bịhiế hụ (miss ing key ặ i uni u tut requirements).  Bỏ ua nhu cầ c ủ mộ số iể ngư i dùng nào đ sẽ ẫ tớ sựkhông hài q ua t ku ờ ó dn i lòng củ khá ch hàng. a  Các yêu cầ đ ợ đ h nghĩkhông đy đ khiế đ hỏ lậ k ế oạh dự n u ưc ị n a ầ ủ n òi i p h c á chính xác và giám sát là không thể. Các kiể ngư i dùng không đ ợ tính đn đ y đ (I nsufficient user u ờ ưc ếầủ involvement) Khách hàng thư ng không hiể tạ s ao việ thu th ậ yêu c ầ và đm b ả chấ ờ ui c p u ả o t lư ng yêu cầ lạkhó khă đn thếNgư i phát triể không thể hấ mạh đn sự ợ ui nế . ờ n nn n ế tham gia củ ngư i dùng (user involvement), ho ặ cũg có thểlà làm vi ệ vớ a ờ cn ci ngư i d ùng thì không vui nhưviế code, h oặ cũg có thể ọnghĩ ọđ biế cái ờ t cn h hã t ngư i dùng cầ. Trong mộ s ốrư ng h ợ, trao đi trự tiế vớ nhữg ngư i s ẽ ử ờ n t tờ p ốcpi n ờs Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 19
  20. dụg sả phẩ không phảlà đ u dễ àng, trong khi đ nhữ g ngư i đi diệ củ n n m i iề d n ờạ n a ó khách hàng không phả bao giờcũg h iể đ ợ chính xác cái mà ngưi dùng thậ i n u ưc ờ t sựcầ. Không có sựth ay thế ào cho sựtha m gia củ cá c đi diệ ngư i dùng mộ n n a ạn ờ t cách trự tiế trong nhóm dựán nga y từsớ và kếhợ vớ họ iên tụ trong suố cp m tpi l c t quy trình phát triể. n Việ phát sinh các yêu cầ khô ng chính thứ (Cre eping user requirements) c u c Do các yêu c ầ liên t ụ tiế hoá khi phát triể dựán, nên dựán luôn có th ể ư t u cn n vợ khỏ c ác lị biể và ngân sách đ đ h. Các dựán nhưvậ không phả luôn dự i ch u ãị n y i a trên sựhiể biếthự tế ề ích thư c và đ phứ tạ củ các yêu cầ, cá c rủ ro , u t c vk ớ ộcpa u i nă suấlàm việ củ dự n, việ s inh ra các yêu c ầ không chính thứ có thể ây t ca á c u c g ng ra các vấ đ to lớ. Vấ đ có thể hụ huộ mộ phầ vào đ nghịhay đi yêu nề n nề pt c t n ề t ổ cầ củ n gư i dùng, ph ụhuộ mộ phầ vào cách nhữg ngư i phát triể đp ứg ua ờ tc t n n ờ ná n các yêu cầ và chỉ s ử mớ u nh a i. Đ quả lý việ sinh ra các yêu cầ không chính thứ, chúng ta cầ làm sáng sủ ển c u c n a các báo cáo về ầ nhìn, phạ vi, mụ tiêu, giớ hạ và các tiêu chuẩ thành tm m c in n công củ dựán. Báo cáo này s ẽ ư c s ử ụg như ộ khung tha m chiế mỗ khi a đợ d n mt ui mộtính năg mớ đ ợ đ nghịhoặ các thay đi yêu cầ đ ợ đ xuấ Mộ quy t n i ưc ề , c ổ u ư c ề t. t trình kiể soát thay đi đợ thiế kế ố bao gồ việ phân tích ảh hư ng củ m ổ ưc t tt m c n ở a mỗ thay đi đ ợ đ xuấ việ này sẽ iúp cá c ngư i liên quan đ ra quyế đ h i ổ ư c ề t, c g ờ ề tị n liệ thay đ i đ có đ ợ chấ nh ậ hay không trong sựcân b ằg các chi phí, thờ u ổó ưc p n n i hạ, nguồ lự hoặ các tính năg khác. n nc c n Do các thay đ i có thểa n truyề trên toàn bộ ả phẩ đng đ ợ phát triể nên ổ l n sn ma ưc n kiế trú c củ hệ hốg có thể ị há vỡdầ dầ. Các miếg vá s ẽ hiế chư ng n a tn bp nn n kn ơ trình khó khă hơ đ hiể và bả trì. S ự iên quan l ẫ nhau củ các mã thêm vào n nểu o l n a (insertion of additional code) có th ể ây ra các vấ đ đi vớ nguyên tắ thiế kế g n ềố i c t hệhốg bề vữ g. Nế bạ có thể ác đ h sớ các tính n ăg có khả ăg sẽhay tn nn un x ịm n n nn t đi theo thờ gian thì bạ có thểhiếlậ mộ kiế trúc bề vữ g cho hệhốg, do ổ i n ttp t n nn tn vậ mà kiể s oát đợ tố hơ sựthay đi. C ác thay đi yêu cầ n ế đ ợ thự y m ưc t n ổ ổ u u ưc c hiệ thông qua thay đi thiếkếthay vì phát hành các bả vá lỗ thì sẽ iúp kiể n ổ t, n i, g m soát tốhơ chấlư ng s ả phẩ . tn tợ n m Cuố sách này thu ộ “ ủsá ch Côn g ng hệth ôn g tin” tủsá ch do SATA-APTECH tuyể ch ọ và giớ n cT , n n i thiệ. Bạ có thể và t ảvềrên www.sata-aptech.edu.vn , hoặ satablog2.wordpress.com u n it c xem 20
nguon tai.lieu . vn