Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
7,19 MB
Nội dung
ROGER S PRESSMAN KĨ NGHỆ PHẻN MỀM CÁCH TIẾP CẬÌ CllA l ò l THỰC H Ẳ l TẬ P II Người dịch : NGÔ TRUNG VIỆT ịTáỉ bán lần thứ nhất) NHÀ XUẤT BẢN GIÁO DUC SOFTWARE ENGINEERING A Practitioner’s Approach Third Edition Roger s Pressman, Ph.D McGraw-Hill, Inc 6T7.3 GD-0! 1536/498 - 00 Mil SỐ: 7H4I2TI LỊI GIỚI THIỆU ^’n sách "Kỉ nghệ phấn Itìểm, cách tiếp cận người thực hành" Tiến sỉ Roger s Pressman đă tái lấn thứ vào nám 1992 So vói lán xuất đẩu (1982), sách lấn tái sau hiệu chỉnh bổ sung nhiéu kiến thức mới, đại lĩnh vực kỉ nghệ phẩn mểm Nội dung sách phong phú, hoàn chỉnh, bao quát háu hết vấn đé yếu kl nghệ phấn mém Tiến sỉ Pressman khơng nhà khoa học tên tuổi có uy tín phương pháp, cơng cụ kỉ nghệ phán mém mà ià nhà sư phạm nhiẽu kinh nghiệm Các nội dung tác già trình bày cách hệ thống, cd tính khoa học sư phạm cao Chính vi lẽ đd, sách phục vụ thích hợp sát thực đơng đảo bạn đọc Đây tài liệu quý, giúp giáo viên Đại học tham khảo để biên soạn giáo trỉnh giảng dạy loạt chuyên để bậc Đại học sau Đại học kỉ nghệ phán mém Sinh viên, học viên cao học, chuyên gia phát triển phẩn mém cđ thể tỉm thấy sách nhiéu kiến thức bản, chuẩn mực giúp họ nám vững nội dung giảng dạy trường Đại học Các câu hỏi cuối chương soạn công phu, giúp người đọc tự kiểm tra kỉến thức niỉnh, qua giúp họ hệ thống hda cách tồn diện, củng có nâng cao hiểu biết sâu sác kỉ nghệ phấn mểm Hiện số lượng giáo trỉnh cd chất lượng cao phục vụ sát thực chuyên ngành Công nghệ thông tin trường Đại học eòn hoi Bản dịch đdng góp cd giá trị gdp phắn vào nghiệp đào tạo cán Công nghệ thông tin Xin giới thiệu với đông đào bạn đọc IIỒ s i ĐẰM KHOA CỎNC; NOHỆ T ì ỉ i m ; TIN ĐẠI ÍỈỌC Q l ỉ ố c GIA IIÀ NỘI Kf NGHỆ PHẦN MỀM Cách tiếp cận người thực hành Tảc giả : Tiến sỉ Roger s Pressman Nhà xuất : McGraw-Hill, Inc Xuất bàn lấn thứ cd sửa chữa bổ sung : 1982, 1987, 1992 ”Roger Pressman đá viét sách hướng dán toàn diện nhát quán vè linh vực kỉ nghệ phần mềm cho sinh viên CNTT lăn người làm phần mềm vầ nhà quản Ỉỉ hành ngh^ CNTT hay càn tới việc thực hành CNTT," Phần m ém ÍK KK ”Đâỵ sách giáo khoa đại kính điển, rõ ràn£ uở sâu sắc kỉ nghệ phản mềm, vối rát nhiều tranh vẽy cău tài liệu tham khảo , Tôi xin giói thiệu cho bát k ì muốn hỏi : Kỉ nghệ phàn dang đ&u AC M C'omputing Reviews ”Một nhất, xù lí sảu sấc v'ê tiến trình ki nghé phàn mèm." B y ic lkx>k C lub LÒI TÁC GIẤ Trong hai thập kỉ qua, kỉ nghệ phần mém tới kỉ nguyên Ngày người ta thừa nhận mơn thống, lỉnh vực nghiên cứu xứng đáng, khảo cứu ti mỉ lỉnh vực tranh luận sơi Trong tồn ngành cơng nghiệp, "kỉ sư phẩn mém" đả thay cho "người lập trình” xem tên gọi công việc Các phương pháp, thủ tục công cụ ki nghệ phấn mém đă chấp nhận ứng dụng thành công nhiểu lỉnh vực ứng dụng công nghiệp Các nhà quản lí người hành nghể CNTT đểu nhận nhu cấu cách tiếp cận có nguyên tác tới việc phát triển phẩn mém Nhưng vấn để thào luận lấn xuất bàn thứ thứ hai sách vản lại với Nhiểu cá nhân công ti phát triển phẩn mểm cách tùy tiện Nhiểu nhà chun mơn sinh viên vản chưa biết tới phương pháp đại Và kết quà chất lượng phấn mểm mà sàn xuất bị ảnh hưởng Bên cạnh đó, tranh luận vể chất thực cách tiếp cận kỉ nghệ phấn mém tiếp tục Kỉ nghệ phần mém nằm tình trạng nghiên cứu trái ngược Cđ quan điểm thay đổi, có tiến định nhiéu việc phải làm để đạt độ chín muồi ĩầguyên tác tiếp cận Lấn xuất thứ ba Kỉ nghệ phàn : Cách tiếp cận cùa người thực hànỉi giống hai lấn đầu dự định dành cho sinh viên lản người hành nghể CNTT trì định dạng phong cách lán trước, (ịuyển sách tài liệu hướng dẫn cho nhà chuyên niỏn cõng nghiệp sách nhập niốn nâng cao cho sinh viên nám cuối bậc đại học nám đấu bậc cao học Giống lán xuất trước, phương pháp kỉ nghệ phấn mềm đươc trỉnh bày theo trinh tự thời gian chúng áp dụng phát triển phấn mềm Tuy nhiên lấn xuát thứ ba làm nhiéu điéu việc cập nhật đơn thuấn Quyển sách cấu trúc lại để thích hợp với phát triển vượt bậc lỉnh vực để nhấn mạnh vào phương pháp công cụ kỉ nghệ phẩn mém quan trọng Thay trì quan điểm vòng đời chật chẽ, lấn xuất trinh bày hoạt động tổng quát đă thực tới mô hlnh kỉ nghệ phẩn mém đâ chọn Các chương giữ lại lấn xuất trước chỉnh lí cập nhật để phản ánh khuynh hướng kỉ thuật thời Nhiéu mục chủ chốt đâ thêm vào cho chương vể kỉ nghệ hệ thống máy tính, vé phân tích yêu cấu, thiết kế hướng dòng liệu, thiết kế hướng vật, thiết kế thời gian thực, đàm bảo chất lượng phấn mém, kỉ thuật kỉểm thử phẩn mém bảo trì Bên cạnh cải biên này, tám chương đă thêm vào cho lán xuất thứ ba Chương nguyên gốc ban đẩu vễ quản lí dự án phần mém bỏ thay ba chương vé cách đo, ước lượng lập kế hoạch dự án phán mểm Một chương mối vế phân tích cò cẩu trúc trinh bày kí pháp cách tiếp cận tới ứng dụng qui ước lản thời gian thực Chương vé phân tích hướng vật mơ hình hóa liệu nêu cách xử lí chi tiết cho kỉ thuật mơ hình hóa quan trọng Nảm chương cd vé thiết kế phần mềm tảng cường thêm với chương vể thiết kế giao diện người dùng Quản lí cău hình phần mém - chủ đề trở thành th en ch ố t cho việc p h át tr iể n phần m ém th àn h côn g xử lí chương tách biệt Vai trò tự động hóa kỉ nghệ phấn mểtti xem xét hai chương vé kỉ nghệ phần mém cd máy tính trợ giúp (CASE) Một chương nhán mạnh vào cổng cụ phán mém ứng dụng chúng chương thảo luận vé mơi trường kho CASE tích hợp Chương cuối (cũng mới) hướng tới kỉ hai mốt xem xét lại thay đổi ảnh hưởng tới cách tiếp cận tớl kỉ nghệ phấn mém Nhiéu thí dụ, vấn đé điểm cấn đào sâu đả bổ sung cập nhật cho chương Cuón sách gốm 24 chương cho lán xuất thứ ba này, chia thành nâm phẩn Điểu thực để gói gọn chủ đé trợ giúp cho giảng viên, người không cd đủ thời gian dạy cà sách học kỉ Phấn I - "Phẩn mém - Tiến trình việc quản lí ntí” trình bày bàn luận thấu đáo vé vấn đế quản lí dự án phẩn mểm Phấn II "Phân tích hệ thống yêu cấu phần mém" - bao gổm nảm chương bao quát vấn đé bàn phân tích phương pháp mơ hình hóa u cáu kí pháp Phấn III - "Thiết kế cài đặt phẩn mém" - trình bày bàn luận sâu sác vê thiết kế phấn mém, nhấn mạnh tới định mức thiết kế dẫn tới hệ thống chất iượng cao phương pháp thiết kế để dịch mơ hình phân tích thành giải pháp phần mém Phán IV - "Đảm bào, kiểm chứng trì tính tồn vẹn phán méni" - nhấn mạnh vào hoạt động ứng dụng để đảm bảo chất lượng suốt tiến trinh kỉ nghệ phần mém Phấn V - "Vai trò tự động hóa" - thảo luận vé tác động CASE (kỉ nghệ phấn mềm với máy tính hỗ trợ) lên tiến trỉnh phát triển phẩn mểm Việc tổ chức theo nám phấn lẩn xuất thứ ba giúp cho giảng viên "gộp chùm” chủ đé dựa thời gian giảng dạy nhu cấu sinh viên Cd thể xảy dựng giáo trinh toàn cho học phán xung quanh hay nhiểu phấn nãm phấn Chẳng hạn, "giáo trình thiết kế^ cđ th ể nhấn mạnh riêng vào phấn III ; "giáo trình phương pháp" trinh bày chương tuyển lựa từ phấn II, III, IV V ; "giáo trình quản H" nhấn mạnh vào phấn I IV Bằng cách tổ chức lấn xuất thứ ba theo cách mày, tơi có V định cu n g cấp cho giản g viên m ột số p hư ơng íán lựa chọn g iả n g dạy Sách Hướng dân giảng viên cho lấn xuất thứ ba írn Kỉ nghê phân : Cách tiếp cận người thực hành củng đă có nhà xuăt McGraw-Hill cung cấp Sách Hướng cdàn giáng viên trình bàv gợi ý để thực nhiéu kiểụ giảo trình kì nghệ phắn mểm, hướng dẫn nhiéu khuyến cáo cho dự án phẩn niềm có liên quan tới giáo trình, trinh bày giải pháp cho vấn đề tuyển lựa nguổn tham khào tới tài liệu giàng dạy bổ sung, để tạo nên "hệ thống" cho việc giảng dạy kỉ nghệ phấn mểm Vân đàn kỉ nghệ phán mềm tiếp tục rộng mở vói tỉ lệ bùng nổ Một lần nữa, xin cám ơn nhiéu tác giả sách, báo, tạp chí, người cung cấp cho tơi nhìn sáng suốt, ý tường bình luận suốt thập kỉ qua Nhiểu người đă nêu trích dản chương sách Tất đểu có cơng đóng góp họ vào lỉnh vực tiến triển nhanh chdng T5i muốn cám ơn người đọc duyệt lại cho lần xuất thứ ba, James Cross, Đại học Auburn ; Mahesh Dodavi, Đại học Iowa ; William s Junk, Đại học Idaho ; Laurie Werth, Đại học Texas Những đóng gdp phê bỉnh họ vô giá Nội dung lần xuất thứ ba Ki nghệ phàn : Cách tiếp cận cùa người thực hành ỉàm sắc nét thêm hàng trâm nhà chuyên môn công nghiệp, giáo sư đại học sinh viên, nhừng người dùng nhừng lấn xuất bàn thứ thứ hai sách đá bỏ thời gian để trao đổi gợi ý, phê bình ý tưởng họ Bên cạnh tơi xin cám ơn riêng với nhiều khách hàng công nghiệp toàn Bác MI châu Âu, người chác chán đă dạy cho tơi nhiéu gỉ tơi dạy cho họ Cuối cùng, xin cám ơn Barbara, Mathew Michael vỉ dung thứ cho lịch biểu du hành tôi, đả hiểu biết vé tối làni việc ván phòng vản tiếp tục cổ vũ cho việc xuất tiếp vé "cuốn sách này” k ( k ; i-y ENDIF ENDDO ^ IF condition r TH EN N E X T ‘S E L S E execute process c; ENDIF execute process d END D O - i - Hinh 10.23 Lối “vi phạm" Xem thí dụ kết cấu lặp PDL ta xét chu trình phân tích kiểm tra tính hội tụ hai giá trị tính: epsiion := 1.0; no-of-trtes := 0; DO W HILE (epsilon > 0.001 AND no-of-tries < 100) calculate value-1 := f(x,y,2); calculate value-2 := g(x,y,z): epsilon := A B S V A L (value-1 - value-2); increment no-of-tries by 1; ENDDO Cân phái ý điổu kiện lập phải định nghĩa sat:> eho lối thoát khỏi chu trình dưực đảm bủi) Bộ đếm no-i)f-lriics đưực thiếl lập cho mục đích 64 Các chương trình giao diện tương ứng xác định cách dùng kết cấu PDL sau: PROCEDURE INTERFACE ; END với chương trình mơ tả cho đặc trung tham khảo (như mơ đun INTERNAL hay EXTERNAL) thuộc tính phụ thuộc (ngơn ngữ lập trình) cài đặt khác (nếu có) INTERFACE dùng để xác định danh sách đối mơ đun có chứa tên gọi cho thông tin vào Đặc tả vào/ra hay thay đổi ngôn ngữ thiết kế Các dạng điển hình bao gồm: READAVRIRE TO hay ASK ANSWER vói thiết bị vào/ra vật lí (như hình, đĩa, máy in, băng từ) chứa biến truyền ASK-ANSWER dùng cho thiết kế tương tác với người định dạng hỏi-trả lời thích hợp Chẳng hạn: ASK “select processing option” ANSWER “cost”, “schedule”; Đặc tả I/O thường mở rộng để bao gồm đặc tnmg âm hay hướng cửa sổ, giao điện đơn kéo xuống Cần phải ý PDL có thổ mở rộng để bao hàm từ khố cho xử lí đa nhiệm và/hoặc tưtmg tranh, xử lí ngắt, đồng tiến Irình nhiều tính khác Thiết kế ứng dụng dùng tđi PDL nên khống chế dạng cuối cho ngơn ngữ thiết kế K5-KNPMT2 65 ia.7.5 Thí dụ PDL Để minh hoạ việc đùng PDL chúng tơi trình bầy thí dụ chi tiết thiết kế thủ tục cho phần mềm hệ thống an ninh SafeHome giới thiệu chương trước Hệ thống SafeHome xét điều khiển tín hiệu báo cháy, khói, trộm, nước nhiệt độ (như lò sưởi hỏng chủ nhà vắng mùa đông); tạo tiếng chuông báo động vầ gọi dịch vụ điều phối, sinh thơng báo tổng hợp tiếng nói Trong PDL sau đây, minh hoạ cho số kết cấu thảo luận Mục 10.7.4 Bạn nhớ lại PDL khơng phải ngơn ngữ lập trình Người thiết kế làm thích nghi theo yêu cầu mà lo lắng lỗi cú pháp Tuy nhiên, việc thiết kế phần mềm đĩểũ phối nên duyệt xét lại (bạn có thấy có vấn để khơng?) lằm mịn trước viết chương trình P R O C E D U R E security.monitor: IN T E R FA C E R E T U R N S system.status; T Y P E signal IS S T R U C T U R E DEFINED name IS STRIN G LEN G TH VAR; address IS H E X device location; bound.value IS upper bound SCALAR: m essage IS STR IN G LEN G TH VAR; EN D signal TYPE: T Y P E ^ stem status IS BIT (4); T Y P E alarm.type D EFIN ED smoke.alarm IS IN STAN CE O F signal; fire.alarm IS IN STAN CE O F signal; water.alarm IS IN STAN CE O F signal; temp.alarm IS IN STAN CE O F signal; burglar.alarm IS IN STAN CE O F signal; T Y P E phone.number IS areal code + 7-digit number; initialize all system ports and reset all hardware; C A S E O F control.panel.switches (cps): W H EN cps = -ie s t” S E L E C T 66 C A LL alarm P R O C E D U R E WITH “on” for test.time in seconds; W H EN cps = "alarm-ofT’ S E LE C T C A LL alarm P R O C E D U R E WITH “off”; W H EN cps = “new.bound.temp” S E L E C T C A LL keypad.input PRO CED U RE: W H EN cps = “burglar.alarm.off’ S E LE C T deactive signal {burglar.alarm]; D EFA U LT none; END CASE R E P E A T UNTIL active.switch is turned off reset all signal.values and switches; DO FO R alarm.type = smoke, fire, water, temp, burglar; R E A D address[alarm.type] signal.value; IF signal.value > bound [alarm.type] THEN phone, message = message(alarm.typej; set alarm.bell to “on” for alarm.timeseconds; PA R BEG IN CA LL alarm PR O C E D U R E WITH “on”, alarm.time In seconds; CA LL phone P R O C E D U R E WITH message[alarm.type], phone.number; EN D PA R E L S E skip ENDIF EN D FO R END REP END security.monitor Chú ý người thiết kế thủ tục security.monttor dùng kết cấu PARBEGIN ENDPAR để xác định khối song song Mọi nhiệm vụ xác định bôn Irong khối PARBEGIN thực song song Trong trường hựp này, chi tiết cài đặl không đươc xét tới 67 Ngôn ngữ thiết kế chưcmg trình thường dùng với cỏng cụ thiết kế CASE mà số trường hợp có thành phần đồ hoạ biểu diễn thiết kế thủ tục Chẳng hạn, hiểu đồ cấu trúc cíiềtt khiển (CSD) dùng với chương Irình gốc ngơn ngữ lập trình hay vổi PDL Văn thiết kế tăng cưòmg thêm kí hiệu đổ hoạ mô tả cho kết cấu lập trình có cấu trúc quan trọng dạng ngơn ngữ cụ thể (như task hay rendezvous Ada) Kí pháp CSD cho kết cấu lập trình có cấu trúc minh hoạ Hình 10.24 sen q u en ce s s s s •selectio n (if-Ịh en H ỉise) w h ile loop caso S; S; S; if c then while (' Uk>p Cj => — S; S; — S; — S; — S; e ls e Nvhai C'2 => S; S; S; e ls e if; S' — S; end l(M)p — S; en d case Hình 10.24 Kl pháp biểu cấu trúc điều khiển 10.7.6 So sánh kí pháp thiết kế Trong chương trình bày số kí pháp thiết kế thủ tục Bất iđ so sánh đểu phải xác nhận dựa tiển để kí pháp cho thiết kế thủ tục, dùng đúng, trợ giúp vơ giá cho liến trình thiết kế; ngược lại, cho dù kí pháp tốt nhất, bị dùng tồi thêm khó hiểu Với suy nghĩ đẩu, ta xem xél lại tiêu chuẩn áp dụng để so sánh kí pháp thiết kế 68 Kí pháp thiết kế nên dẫn tói biểu diễn thủ tục dể hiểu dẻ xét duyệt Bên cạnh đó, kí pháp nên nâng cao khả “mẵ hố” thực tế trờ thành thứ phẩm tự nhiên thiết kế Cuổi cùng, biểu diễn thiết kế phải dễ dàng bảo ưì dể cho thiết kế biểu thị đắn chương tìn h Các thuộc tính sau cùa kí pháp thiết kế thiết iập hoàn cảnh đặc tnmg tổng quát mơ tả : Tính mơ đun Kí pháp thiết kế nên hỗ trợ cho việc phát ữiển phần mềm mô đun (như đặc tả trực tiếp thủ tục cấu trúc khối) đưa phương tiện cho đặc tả giao diện Tính đơrt giản tồn thể Kí pháp thiết kế nên tương đối đơn giản cho việc học, tương đối dễ dùng nói chung dễ đọc D ễ soạn thào Thiết kế thủ tục yêu cầu sửa đổi tt-ong bước thiết kế, kiểm thử phần mềm, cuối pha bảo trì vòng đời phần mềm.Việc dể dàng soạn thảo biểu diễn thiết kế làm thuận tiện cho tt"ong bước D ễ đọc cho máy Môi trường kĩ nghệ phần mểm có máy tính hỗ trợ chấp thuận tồn ngành cơng nghiệp Một kí pháp đưa trực tiếp vào hệ thống phát triển dựa máy tính đem lại ích lợi đáng kể Dễ hào trì Bảo ưì phần mềm ỉà giai đoạn tốn tt-ong chu trình hoạt động phần mềm Trong hầu hết trường hợp việc bảo trì cấu hình phần mềm nghĩa với bảo tii biểu diễn thiết kế thủ tục Bắt buộc dùng cấu trúc Lợi ích cách tiếp cận ứiiết kế có dùng khái niệm lập trình có cấu trúc thảo luận Kí pháp thiết kế buộc phải dùng chì kết cấu có cấu trúc thúc đẩy thưc hành thiết kế tốt 69 ỵ lí tự động Một thiết kế chi tiết chứa thơng tin xử lí người thiết kế nhihig nhìn tốt tính đấn va chất lượng cùa thiết kế Một nhìn nâng cao với báo cáo đưa rd qua xử lí tự động Biểu diễn liệu Khả biểu diễn liệu cục toàn cục phần tử chất thiết kế chi tiết Một cách lí tưởng, kí pháp thiết kế nên biểu diễn liệu cách trực tiếp Kiểm chứng logic Kiểm chứng tự động thiết kế logic mục tiêu tối cao kiểm thử phần mềm Một kí pháp làm nâng cao khả nâng kiểm chứng logic cải thiện độ thích hợp kiểm thử Khả “/nỡ” Bước kĩ nghệ phần mềm theo sau thiết kế thủ tục mã hố Một kí pháp dễ dàng chuyển sang mã gốc làm giảm nỗ lực iỗi Một câu hỏi tự nhiên nảy sinh thảo luận kí pháp thiết kế : Với thuộc tính nêu kí pháp thực tốt ? Câu trả lời cho câu hỏi phải thừa nhận chủ quan để mở cho tranh luận Tuy nhiên, dường ngơn ngữ thiết kế chương trình đưa tổ hợp tốt cho đặc trưng PDL nhúng trực tiếp vào ưong in chương trình gốc, nâng cao tư liệu làm cho việc bảo trì thiết kế bớt khó khăn Việc soạn thảo thực trình soạn thảo vãn hay xử lí văn có, có tiềm cho “sinh mã tự động” tốt Tuy nhiên, điểu khơng kéo theo kí pháp thiết kế khác thiêì phải PDL hay “khơng tốt bằng” thuộc tính riêng Bản chất tranh vẽ lưu đồ biểu đồ hộp đưa viễn cảnh vổ luồng điều khiển mà nhiều người thiết kế ưa thích Nội dung xác bảng định cơng cụ tốt cho 70 ứng dụng định hướng bảng Và nhiều biểu điễn thiết kế khác khơng trình bày sách đưa nhũng ích lợi chúng Trong việc phân tích cuối cùng, chọn lựa kí pháp thiết kế có quan hệ gần gũi với nhân tố người thuộc tính kĩ thuật 10.8 TẢI LIỀU THIẾT K Ế Dàn tài liệu thiết kế nêu Bảng 10.1 dùng mơ hình cho Đặc tả thiết kế Mỗi mục bao gồm số doạn đề cập tới khía cạnh khác biểu diễn thiết kế! Dàn tài liệu trình bày mơ tả thiết kế đầy đủ phần mềm Các mục Đặc tả thiết k ế âxxợc hoàn chỉnh người thiết kế làm mịn viộc trình bày phần mềm Phạm vi toàn cục nỗ lực thiết kế mô tả Mục I (số hiệu mục trỏ tới dàn Đặc tả thiết kê) Nhiều thông tin chứa mục suy từ Đặc tả hệ thống tài liệu khác ừong pha xác định phần mểm Các tham khảo riêng tới tài liệu hỗ trợ thực Mục II Mục III, mơ tả thiết kế, hồn tất phần cùa thiết kế sơ Chúng ta lưu ý thiết kế hướng thông tin - tức là, luồng và/hoặc cấu trúc liệu khống chế kiến trúc phần mềm Trong mục này, biểu đồ dòng liệu hay biểu diễn liệu khác phát triển phân tích yêu cầu làm mịn dùng để điều khiển cấu trúc phẩn mềm Bcrt iuồng thơng tin có sắn nỗn mơ tả giao diện phát uiển cho phần tử phần mổm Các mục IV V tiến hoá thiết kế sơ chuyển thành thiết kế chi tiết Các mô đun - phần tử định địa tách biệt phán mềm chương trình con, hàm hay thủ tục - khởi đầu 71 m ô tả lòrt thuật xử lí tiếng Anh Lời thuật xử lí giải thích chức thủ tục cùa mơ đun Sau này, công cụ thiết k ế thủ tục sỗ dùng để dịch lời thuật thành mơ tả có cấu trúc I Phạm vi A Mục tiốu hộ thống B Phẩn cúhg, phần mềm giao diện ngưỡi c C ác chúủ nãng phẩn mểm chinh D Cd sở liệu đưọc xác định bơn ngồi E Các ràng buộc, giới hạn thiết kế II Tài liệu tham khao à Tài liệu phẩn mềm có B Tài liệu hệ thống c Tài liệu người cung cấp (phần cứhg phán mém) D Tham khảo kĩ thuật III Mô tả thiết kế A Mô ỉả liệu Tổng quan luồng liệu Tổng quan vé cấu trúc liệu B Cấu trúc chưong trình suy dẫn c Giao d^n bên cấu trúc IV Mỏ đun; cho mô đun: A Lời thuật xử li B Mô tả giao diện c Mô tả ngôn ngữ thiết kể (hay nhữhg mô tả khác) D Các mô đun dùng E T ổ c h ứ td ữ liộ u F Bình luận V Cấu trúc tệp liệu toàn cục A Cấu trúc tệp Cấu trúc logic Mô tả ghi logic Phưong phiâp thâm nhập B Dữ liệu toàn cục c Tham khảo chéo tệp liệu VI Tham khảo chéo u cẩu (xem Hình 10.25) VII Điéu khoản kiểm thử 72 A Hưởng dẫn kiểm thử B Chiến lưạc tích hợp c Xem xét đặc biệt VIII Đóng gói A C ác đíéu khoản cho chương trinh chồng chất đặc biệt B Xem xét chuyển đổi IX Lưu ỷ đặc biệt X Phụ lục Mô tả cách tổ chức liệu nêu Mục V Các cấu ttTÍc tộp trì phương tiện nhớ phụ mơ tả thiết kế sơ bộ; liệu tồn cục gán; tham khảo chéo gắn mô đun riêng lẻ với tệp hay liệu toàn cục thiết lập Mục VI Đặc tả thiết kếc\\ứ-à tham khảo chéo yêu cáu Mục đích ma trận tham khảo chéo (Hình 10.25) (1) thiết lập yêu cầu thiết kế phần mềm thoả mãn, (2 ) chi mô đun chủ chốt cho việc cài đặt yêu cẩu xác định Giai đoạn ữong việc phát triển ứiủ tục kiểm thử đưa vào Mục VII tài liệu thiết kế Một cấu trúc giao diện phần mểm thiết lập phát triển hưAig dẫn để kiểm thử mô đun riêng kiểm thử tích hợp tồn bộ trình Trong số trưởng hợp, đặc tả chi tiết thủ tục kiểm thử xuất song song với thiết kế Trong trường hợp vậy, mục xoá khỏi Đặc tá Thiết kế Các ràng buộc thiết kế, nhĩmg giới hạn bô nhớ vật lí hay cần thiết giao diện ngồi chun dụng khống chế u cầu nêng để lắp ráp hay đóng gói phần mềm Những xem xét đặc biệt gây cần thiết cho việc chổng chất chương trình, quản lí nhổ ảo, xử !í tốc độ cao hay nhân tố khác gây thay đổi thiết kế suy từ luồng hay cấu trúc thông tin Các yêu cầu xem xét cho việc đóng gói phần mềm đưực trình bày Mục VIII Thứ nữa, mục mô lả cho cách tiếp cận dùng để chuyển phần mềm sang vị trí khách 73 Hình 10.25 Tham khảo chéo yêu cầu Mục IX X Đặc tá Thiết k ế chứa ỉiệu phụ trợ Các mơ tả thuật tốn, thủ tục khác, liệu bảng, trích đoạn từ văr khác thông tin liên quan trình bày lưt ý đặc biệt phụ lục tách biệt Có thể nên phát triển bảr Hướng dẫn sơ bộ/ Tài liệu đặt đưa vào phụ lục cho tài liêu thiết kế 10.9 TÒM TẮT Thiết kế lõi kĩ thuật kĩ nghệ phần mềm Trong thiếl kế, người ta phát triển, xét duyệt làm tư liệu cho việc làm mịn dần cho chi tiết thủ tục, cấu trúc chương trình, cấu trúc liệu Việc thiết kế nảy sinh biểu diễn cho phần mềm xác nhận chất lượng Trong suốt ba thập kỉ qua người ta đồ nghị số khái niệm thiết kế phần mềm tảng Tính mơ đun (trong chương trình liệu) khái niệm trừu tượng làm cho ngưừi thiết kế có khả đơn giản hố dùng lại thành phần phần mềm Việc làm mịn đưa chế đổ biểu diễn tầng chi liết chức 74 Cấu trúc chưítng trình liệu đóng góp cho quan điểm tổng thể kiến trúc phần mềm, thủ tục lại đưa chi tiết cần thiết cho việc cài đặt thuật tốn Che dấu thơng tin độc lập chCc đưa trực cảm để đạt tdi tính mơ đun có hiệu Thết kế phần mềm xem xét theo cách nhìn kĩ thuật h3 ặc theo cách nhìn quản lí dự án Theo quan điểm kĩ thuật, thiết kí bao gồm bốn hoạt động: thiết kế liệu, thiết kế kiến trúc, thiết ké thủ tục thiết kế giao diện Theo quan điểm quản lí, thiết kế tiến hoí từ thiết kế sơ sang thiết kế chi tiết Kí pháp thiết kế, kèm với khái niệm lập trình có cấu trúc làm ch) người thiết kế biểu diễn chi tiết thủ tục theo cách thức làm thiận tiện cho việc dịch sang mã chương ưình Các kí pháp đồ hoạ, bàig văn có sần Chíng tơi xin kết luận thảo luận tảng thiết kế vổi ahững lời Glenford Myers: cố gáng giải vaái đề cách vội vã nhào vào tiến trìih ưiiết kế cho có dù thời gian lại vào lúc cuổi dự án dể tìm nhíng sai sót dẫ phạm phải vội vã nhảy vào tiến ưình thiết kế Vài đổ tinh thần là: Chớ có vội nhào vào nó! Việc thiết kế rấl đáng để cơng sức vào Chúng ta chưa kết luận thảo luận thiết kế Trong chương sau giới thiệu thêm số phương pháp thiết kế phần reềm quan trọng Những phương pháp này, kết hợp với tảng thảo luận chương này, tạo nên sở cho cách nlìn đầy đủ vé thiết kế phần mềm VẤN ĐỂ VÀ ĐIỂM CẨN ĐÁO SÁU 10.1 8ạn có thiết kế phẩn mổm bạn “viết'* chuơng trình khơng? Điẻu ỉàm cho ứiiết kê phần mềm khác với lập trình? 10.2 dụng “cách tiếp cận làm mịn baớc" vào việc phát triển ba mổc lộ khác cùa trừu tưcmg thủ lục cho hay nhiéu chương trình sau: 75 a) Xây dựng viết séc, với số.tiển dã cho viết rã sô tiẻn bàr chữ séc b) Giải bàng cách lập việc lấy cần phương trình siêu việt > c) Xây dựng thuậỉ toán lập lịch cho hệ điéu hành lOJ Liệu có trường hợp mà bất dẩng ứúc (Ỉ0.2) khơng dúỉi khống? Một ưuờng hợp ưiế ảnh hưởng lới ln tính m dun nàò? 10.4 Khi thiết kế mơ đun đuục cài dạt phẩn mềi nguyên khối? Làm thực dược điéiẰ này? Liệu hiệu suĩỉ có phải ỉ biện minh nhỉt cho việc cài dạt phẩn mém nguyên khối khôn^? 10.5 Hãy mơ tả khái niệm ưừu tượng hố cho phẩn mểm iheo lời bạn 10.6 Hây xây dựng nhắt nâm mức trừu tượng cho vâýn để phá mém sau: a) Bộ soạn thảo toàn hình b) Bộ tiình biến dổi ba chiểu cho úng dụng đổ hoạ c) Bộ Ibông dịch ngôn ngữ BASIC d) Bộ diểu khiển robot với hãi độ tự e) Bất kì vấn đề ưioả thuận tay dổi gìừã bạn người hưónj dẫn Khi mức dộ ỉrừu tưcmg giảm di, tập tnmg cùa bạn hẹp lại sa< cho lại mức đổ (chương ưình gốc) có nhiệm vụ cẩn mơ lả 10.7 Hãy tim báo gốc Pamas tóm tắt thí dụ phẩn mềm mà ơng di dừng dể minh hoạ việc phẳn rã thống thành ITÌƠ m , Việc che dấi thổng tin dược dừng nhừ dể đạt dược phân rã này? 10.8 Hẵy thảo luận vể mối quan khái niệm che dấu thơng tin mộ thuộc tính tính mổ đuỉỉ hiệu khái niệm vể độc lập mổ dun 10.9 Hãy xem iại sô' nồ Iịr: xây dựng phẩn mểm gần bạn sấ{ bậc tùng mô dun (theo thang tỉ lệ 1, th ^ , tới 7, Câo) Hẫy đưa ahữiỉỉ hình mẫu cớng vịệc tốt tồi bạn 10.10 Một sơ' ngơn ngữ trình cấp cao hồ trợ cho ỉhủ ỉục hèn lĩong kế cấu mổ dun Các kết cáu ảnh hưàng dến việc móc nổi? ảnh hường ứ\é dến việc che dấu thông tin? 10.11 Các khái niệm vé móc khả chuyển phần inổni có quaĩi hệ với nhai nào? Bạn Qêu thí dụ dể hỏ trợ cho thảo luậỉi 76 10.12 Rất nhiéu sách báo vẻ chủ để lạp ưinh có cấu trúc Bạn viết báo lóm tál làm sáng tỏ luận nêu - ủng hộ chống đối - vẻ việc dùng kết cấu có cấu Crúc Vấn dề 10.13 Ỉ0.21 duợc biểu diễn cách dùng bất ki (hay nhiểu) kí pháp thiết kế dã trình bày ưong chương lìiầ y bạn cố thể gán mộỉ kí pháp dạc biệt cho nrỉột ván dê dạc biệt 10.13 Mãy xây dựng thiết kế thủ tục cho mô dun cài dật cách xếp sau: sáp xếp ^ell-M etzner; sáp kiểu vun dống; sáp kiểu BSST (cây) Bạn cán tham khảo ỉạì sách vé cấu tnỉc liệu chim quen thuộc với cách xếp oày 10.14 Hẩy xây dựng ưiiết kế thủ tục cho giao diện ngườỉ dùng tươDg tác hỏi thông tin thuế lợi tức Hãy dưa nhũng yêu cầu riêng cùa bạn giả sử ràng tính tốn ứiuế thực mô đun khác 10.15 Hãy xây dựng thìẽì kế thủ tục cho chức nàng gom rác với mội sơ đồ quảỉi ỉí nhớ phân hoạch biến thiên Hãy dịỉìh nghĩa tấỉ cíu trúc liêu ưiích hợp ưong biểu dìển ửiiết kê Hãy tíiam ichảo tới sắch vể hệ diều hành để biết thêm thông tin 10.16 Hãy xây dựng thiết kế thù tục cho chương ưình nhận vào ỉà dãy văn dài tạo ra mộỉ danh sách từ tắn suất chúng 10.17 Hãy xây dựng thiết kế thủ tục cho chương Irinh tính tích phân theo phương pháp hàm s ô /v i cận a b 10.18 Hãy xây dựng ihiết kế thù tục cho máy Turing tổng quát chấp nhận tập bôn vào chương uình tạo ra dã duợc xác dịnh 10.19 ỉiẩy xây dựng thiết kế thủ tục cho mộỉ chtmig trình giải ỉ c ^ tháp Hà nội Nhiéu sách nhập mơn vé trí tuệ fih ^ tạo đổu thảo luận vé toán chi tiết 10.20 Hãy xây dimg thiết kế thù tục cho tất phẩn chmh 10.21 10.22 phân lích câu LR đổi với trình biên dịch Bạn tham khảo mội hay nhiẻu sách vể ihiết kế trình biên dịch Hẩy xây dựng mổỉ thiết kế thủ tục cho thuật loán tnă hổa/gỉải mẫ theo chcm lựa hạn Hãy viẾt mội luận cở hay hai Irang cho kí pháp thiết kơ thủ tục mà bạn cảin thấy lốt Hãy chác chán ràng luậâi bạii đổ cập tới tiêu chuản nêu Irong Mục 10.7.6 77 ... GIA IIÀ NỘI Kf NGHỆ PHẦN MỀM Cách tiếp cận người thực hành Tảc giả : Tiến sỉ Roger s Pressman Nhà xuất : McGraw-Hill, Inc Xuất bàn lấn thứ cd sửa chữa bổ sung : 19 82, 1987, 19 92 ”Roger Pressman... thiết kế phần mềm 10.1 THIẾT K Ế PHẦN MẩM VÀ KĨ NGHỀ PHẨN MỂM Thiết kế phần mềm nằm trung tâm kĩ thuật tiến trình kĩ nghé phần mém áp dụng tới khuôn cảnh phát triển sử dụng Một yêu cầu phần mềm phân... toàn diện nhát quán vè linh vực kỉ nghệ phần mềm cho sinh viên CNTT lăn người làm phần mềm vầ nhà quản Ỉỉ hành ngh^ CNTT hay càn tới việc thực hành CNTT," Phần m ém ÍK KK ”Đâỵ sách giáo khoa