Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Đại cương Kĩ nghệ phần mềm cách tiếp cận của người thực hành. tập 2...

Tài liệu Kĩ nghệ phần mềm cách tiếp cận của người thực hành. tập 2

.PDF
78
53
145

Mô tả:

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 của người thực hành" của Tiến sỉ Roger s. Pressman đă được tái bản lấn thứ 3 vào nám 1992. So vói lán xuất bản đẩu (1982), sách lấn tái bản sau cùng đã được hiệu chỉnh bổ sung nhiéu kiến thức mới, hiện đại của lĩnh vực kỉ nghệ phẩn mểm. Nội dung của sách phong phú, khá hoàn chỉnh, bao quát háu hết các vấn đé chính yếu của kl nghệ phấn mém. Tiến sỉ Pressman không những là một nhà khoa học tên tuổi có uy tín về các phương pháp, công cụ kỉ nghệ phán mém mà còn ià một nhà sư phạm nhiẽu kinh nghiệm. Các nội dung đã được tác già trình bày một cách hệ thống, cd tính khoa học và sư phạm cao. Chính vi lẽ đd, sách có thể phục vụ thích hợp sát thực đông đảo bạn đọc. Đây là một tài liệu quý, giúp các giáo viên Đại học có thể tham khảo để biên soạn các giáo trỉnh giảng dạy một loạt các chuyên để bậc Đại học và sau Đại học về kỉ nghệ phán mém. Sinh viên, học viên cao học, các chuyên gia phát triển phẩn mém cđ thể tỉm thấy trong sách nhiéu kiến thức cơ bản, chuẩn mực giúp họ nám vững các nội dung đang được giảng dạy tại các trường Đại học. Các câu hỏi cuối mỗi chương được soạn khá công phu, giúp người đọc tự kiểm tra kỉến thức của niỉnh, qua đó giúp họ hệ thống hda một cách toàn diện, củng có và nâng cao hiểu biết sâu sác hơn về kỉ nghệ phấn mểm. Hiện nay 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 tại các trường Đại học eòn rất hiếm hoi. Bản dịch là một đdng góp cd giá trị gdp phắn vào sự nghiệp đào tạo cán bộ Công nghệ thông tin. Xin được 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 3 Kf NGHỆ PHẦN MỀM Cách tiếp cận của người thực hành Tảc giả : Tiến sỉ Roger s. Pressman Nhà xuất bản : McGraw-Hill, Inc. Xuất bàn lấn thứ 3 cd sửa chữa và bổ sung : 1982, 1987, 1992. ”Roger Pressman đá viét một cuốn sách hướng dán toàn diện và nhát quán vè linh vực kỉ nghệ phần mềm cho cả sinh viên CNTT lăn người làm phần mềm vầ các 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 ”Đâỵ là cuốn sách giáo khoa hiện đại kính điển, rõ ràn£ uở sâu sắc về kỉ nghệ phản mềm, vối rát nhiều tranh vẽy cău hỡi và tài liệu tham khảo.., Tôi xin giói thiệu nó cho bát k ì ai muốn hỏi : Kỉ nghệ phàn mèm là gì và bây giờ nó dang ớ đ&u AC M C'omputing Reviews ”Một bản mới nhất, mộ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 đã đi tới một kỉ nguyên mới. Ngày nay người ta thừa nhận nó là một bộ môn chính thống, một lỉnh vực nghiên cứu xứng đáng, một khảo cứu ti mỉ và một lỉnh vực tranh luận sôi nổi. Trong toàn bộ ngành công nghiệp, "kỉ sư phẩn mém" đả thay thế cho "người lập trình” xem như một tên gọi công việc. Các phương pháp, thủ tục và công cụ ki nghệ phấn mém đă được chấp nhận và ứng dụng thành công trong rất nhiểu lỉnh vực ứng dụng công nghiệp. Các nhà quản lí và người hành nghể CNTT đểu nhận ra nhu cấu về một cách tiếp cận có nguyên tác hơn tới việc phát triển phẩn mém. Nhưng các vấn để được thào luận trong các lấn xuất bàn thứ nhất và thứ hai của cuốn sách này vản còn lại với chúng ta. Nhiểu cá nhân và công ti vẫn còn phát triển phẩn mểm một cách tùy tiện. Nhiểu nhà chuyên môn và sinh viên vản còn chưa biết tới các phương pháp hiện đại. Và kết quà là chất lượng phấn mểm mà chúng ta sàn xuất ra bị ảnh hưởng. Bên cạnh đó, các cuộc tranh luận vể bản chất thực của cách tiếp cận kỉ nghệ phấn mém vẫn tiếp tục. Kỉ nghệ phần mém vẫn nằm trong tình trạng nghiên cứu trái ngược nhau. Cđ những quan điểm được thay đổi, có những tiến bộ nhất định nhưng còn rất nhiéu việc phải làm để đạt được độ chín muồi của ĩầguyên tác tiếp cận. Lấn xuất bản thứ ba của cuốn Kỉ nghệ phàn mèm : Cách tiếp cận cùa người thực hànỉi giống như hai lấn đầu dự định dành cho cả sinh viên lản những người hành nghể CNTT và vẫn duy trì định dạng cùng phong cách như các lán trước, (ịuyển sách vẫn như một tài liệu hướng dẫn cho các nhà chuyên niỏn cõng nghiệp và sách nhập niốn nâng cao cho sinh viên các nám cuối bậc đại học và nám đấu bậc cao học. Giống như các lán xuất bản trước, các phương pháp kỉ nghệ phấn mềm đươc trỉnh bày theo trinh tự thời gian chúng được áp dụng trong khi phát triển phấn mềm. Tuy nhiên lấn xuát bản thứ ba này còn làm nhiéu điéu hơn là việc chỉ cập nhật đơn thuấn. Quyển sách đã được cấu trúc lại để thích hợp với sự phát triển vượt bậc trong lỉnh vực này và để nhấn mạnh vào những phương pháp và công cụ kỉ nghệ phẩn mém quan trọng. Thay vì duy trì một quan điểm vòng đời chật chẽ, lấn xuất bản này trinh bày các hoạt động tổng quát đă được thực hiện bất kể tới mô hlnh kỉ nghệ phẩn mém đâ được chọn. Các chương vẫn còn được giữ lại như các lấn xuất bản trước thì cũng được chỉnh lí và cập nhật để phản ánh khuynh hướng và kỉ thuật hiện thời. Nhiéu mục mới chủ chốt đâ được thêm vào cho các chương vể kỉ nghệ hệ thống máy tính, cơ bản vé phân tích yêu cấu, thiết kế hướng dòng dữ liệu, thiết kế hướng sự 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 và bảo trì. Bên cạnh những cải biên này, tám chương mới đă được thêm vào cho lán xuất bản thứ ba. Chương nguyên gốc ban đẩu vễ quản lí dự án phần mém đã được bỏ đi và thay thế bởi ba chương mới vé cách đo, ước lượng và 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 các kí pháp và cách tiếp cận tới cả những ứng dụng qui ước lản thời gian thực. Chương vé phân tích hướng sự vật và mô hình hóa dữ liệu nêu ra cách xử lí chi tiết cho các kỉ thuật mô hình hóa mới và quan trọng này. Nảm chương hiện cd vé thiết kế phần mềm đã được tảng cường thêm với một chương mới vể thiết kế giao diện người dùng. Quản lí cău hình phần mém - một 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 bây giờ được xử lí trong một chương tách biệt. Vai trò của tự động hóa trong kỉ nghệ phấn mểtti được xem xét trong hai chương mới 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 và ứng dụng của chúng còn chương kia thảo luận vé các môi trường và kho CASE tích hợp. Chương cuối (cũng mới) hướng tới thế kỉ hai mốt và xem xét lại những thay đổi sẽ ảnh hưởng tới cách tiếp cận của chúng ta tớl kỉ nghệ phấn mém. 6 Nhiéu thí dụ, vấn đé và điểm cấn đào sâu mới đả được bổ sung và cập nhật cho mọi chương. Cuón sách gốm 24 chương cho lán xuất bản thứ ba này, được chia thành nâm phẩn. Điểu này được thực hiện để gói gọn các chủ đé và trợ giúp cho giảng viên, những người không cd đủ thời gian dạy cà cuốn sách trong một học kỉ. Phấn I - "Phẩn mém - Tiến trình và việc quản lí ntí” trình bày một bàn luận thấu đáo vé các vấn đế quản lí dự án phẩn mểm. Phấn II "Phân tích hệ thống và các yêu cấu phần mém" - bao gổm nảm chương bao quát các vấn đé cơ bàn của phân tích và các phương pháp mô hình hóa yêu cáu và kí pháp. Phấn III - "Thiết kế và cài đặt phẩn mém" - trình bày một bàn luận sâu sác vê thiết kế phấn mém, nhấn mạnh tới các định mức thiết kế cơ bản dẫn tới hệ thống chất iượng cao và các phương pháp thiết kế để dịch một 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 và duy trì tính toàn vẹn phán méni" - nhấn mạnh vào các hoạt động được ứng dụng để đảm bảo chất lượng trong suốt tiến trinh kỉ nghệ phần mém. Phấn V - "Vai trò của tự động hóa" - thảo luận vé tác động của 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 của lẩn xuất bản thứ ba này giúp cho giảng viên "gộp chùm” các chủ đé dựa trên thời gian giảng dạy và nhu cấu của sinh viên. Cd thể xảy dựng một giáo trinh toàn bộ cho một học phán xung quanh một hay nhiểu phấn trong nãm phấn này. 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" có thể trinh bày các chương được tuyển lựa từ các phấn II, III, IV và V ; còn "giáo trình quản H" sẽ nhấn mạnh vào các phấn I và IV. Bằng cách tổ chức lấn xuất bản thứ ba theo cách mày, tôi có V định cu n g cấp cho các 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 bản thứ ba của íruôn Kỉ nghê phân mèm : Cách tiếp cận của người thực hành củng đă có do nhà xuăt bản McGraw-Hill cung cấp. Sách Hướng cdàn giáng viên trình bàv các gợi ý để thực hiện nhiéu kiểụ 7 giảo trình kì nghệ phắn mểm, hướng dẫn nhiéu khuyến cáo cho các dự án phẩn niềm có liên quan tới một giáo trình, trinh bày các giải pháp cho vấn đề được tuyển lựa và các nguổn tham khào tới các tài liệu giàng dạy bổ sung, để tạo nên một "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 vẫn tiếp tục rộng mở vói một tỉ lệ bùng nổ. Một lần nữa, tôi xin cám ơn nhiéu tác giả sách, báo, tạp chí, những người đã cung cấp cho tôi cái nhìn sáng suốt, các ý tường mới và những bình luận trong suốt thập kỉ qua. Nhiểu người đă được nêu trích dản trong các chương sách. Tất cả đểu có công do sự đóng góp của họ vào lỉnh vực tiến triển nhanh chdng này. T5i cũng muốn cám ơn những người đã đọc duyệt lại cho lần xuất bản thứ ba, James Cross, Đại học Auburn ; Mahesh Dodavi, Đại học Iowa ; William s. Junk, Đại học Idaho ; và Laurie Werth, Đại học Texas. Những đóng gdp và phê bỉnh của họ là vô giá. Nội dung của lần xuất bản thứ ba này của cuốn Ki nghệ phàn mèm : Cách tiếp cận cùa người thực hành đã được ỉàm sắc nét thêm bởi hàng trâm nhà chuyên môn công nghiệp, giáo sư đại học và sinh viên, nhừng người đã dùng nhừng lấn xuất bàn thứ nhất và thứ hai của cuốn sách này và đá bỏ thời gian để trao đổi các gợi ý, phê bình và ý tưởng của họ. Bên cạnh đó tôi cũng xin cám ơn riêng với nhiều khách hàng công nghiệp trong toàn Bác MI và châu Âu, những người chác chán đă dạy cho tôi nhiéu hơn những gỉ tôi có thể dạy cho họ. Cuối cùng, tôi xin cám ơn Barbara, Mathew và Michael vỉ đã dung thứ cho lịch biểu du hành của tôi, đả hiểu biết vé những tối làni việc tại ván phòng và vản còn tiếp tục cổ vũ tôi cho việc xuất bản tiếp vé "cuốn sách này”. k ( k ; i<:k s . p r k s s m a n 8 THIẾT KẾ VÀ CÀI ĐẶT PHẨN MỀM ■ l l r i L , _______ * NỀN TẢNG THIẾT KẾ PHẦN MỀM Thiết kế là bước đầu tiên trong giai đoạn phát triển cho bất kì sản phẩm hay hệ thống công nghệ nào. Nó có thể được định nghĩa là: tiên rành áp dụng nhiều kĩ thuật và nguyên lí với mục đích xức (íịnh ra một thiết hị, một tiến trình hay một hệ rhống đủ chi tiết icíế cho phép thực hiện nó về mặt vật //.” Mục tiêu thiết kế là để tạo ra một mô hình hay biểu diễn ciủa một thực thể mà sau này sẽ được xây dựng. Tiến trình phát triển mtô hình này tổ hợp trực giác và đánh giá dựa trên kinh nghiệm trong viiệc xây dựng các thực thể iư(Jng lự, một tập các nguyên lí và/hoặc cấc trực cảm hưi3fng dẫn cách tiến triển mô hình này, một tập các tiêu chuẩn để có thể đánh giá chất lượng, và một tiến trình lặp lại để cuối cùng dẫn ttì biểu diễn thiết kế chung cuộc. Thiết kế phần mồm máy tính, giống như cách liếp cận t h i i í i k í công nghệ trong các lĩnh vực khác, liên tục thay đổi khi các pihưtrnị: pháp mứi, cách phùn tích lốt hm» vh hiòu biết rộng hơn liên hi rí ICn. Khỏng eiống như thiết kế cư khí hay điộn tử. Ihiốl kố phán mềrni có I f ngay giai đoạn lưitng đối sớm trong sự tiốn hoá cùa IIÓ. Chíiiiị: la đ;ì nôu ý tưởng nghiỏm chinh vé Ihiối kố phần mồm (như cái đôi I.ập với 10 “lập trình” hay “viết mã”) chí ít thì cũng đã hơn ba thập kỉ nay. Do đổ, phUítng pháp luận thiết kế phần mểm thiếu độ sâu, sự mềm dẻo và bản :hất định tính mà thông thường có gắn với nhiểu bộ môn thiết kế kĩ nghệ cổ điển. Tuy nhiên, các kĩ thuật cho thiết kế phần mềm thì đã có, Iiôu chuẩn vổ chất lượng thiết kế cũng có sẵn, và chúng ta có thể áp ding được kí pháp Ihiết k ế . Chương này trình bày các khái niệm cơ bản áp dụng được cho tnọi thiết kế phần mềm. Các chưcTng 11 cho tới 15 xem xét nhiều phương pháp 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 của tiến trình kĩ nghé phần mém và được áp dụng bất kể tới khuôn cảnh phát triển được sử dụng. Một khi các yêu cầu phần mềm đã được phân tích và đặc tả Ihì thiết kế phần mềm là một trong ba hoạt động kĩ thuật thiếìkế. lập trình và kiểm thừ - những hoạt động cần để xây dựng và kiểrn chứng phần mổm. Từng hoạt động này biến đổi thồng tin theo cácl- cuối cùng tạo ra phần mềm máy tính h(Ịfp lệ. Luồng thông tin trong giai đoạn kĩ thuật này của tiến trình kĩ nghé phần mém được minh hoạ trong Hình 10.1. Các yêu cầu phần inén, được biểu thị bởi các mô hình thông tin, chức năng và hành vi, là d i vào cho bước thiết kế. Bằng việc sử dụng mộl trong một số ph ưếng pháp thiết kế (được thảo luận Irong các chư(Tng sau), bước ihiiếi kế tạo ra thiết kế dữ liệu, thiết kế kiến trúc và thiết kế thủ tục. Thiià kê dữ liệu chuyển mồ hình lĩnh vực thông tin đã được tạo ra trorụ bước phân tích thành các cấu trúc dữ liệu sẽ cần cho viộc cài (lậu )hần mứm. Thiết k ế kiến trúc định nghĩa ra mối quan hô giữa các thiàrh phần cấu trúc chính của chưítng trình. Thiết k ế thủ tục biến đổi aíic thành phán cấu trúc thành mô tà thù lục của phần mém. Chưtmg irìinằ gốc được.sinh l a rỏi viộc kiổm Ihứ được Ihực hiện để tích hi/ị) và làimhcíỊ) lọ phần mổm. 11 Mô hinh chức năng Mô hinh thông tin Mô hinh hành vi Thiết kế dữ liệu Thiết kê' kiến trúc Cãc yêu cấu khác Thiết kê' thủ tục Mô đun chương trinh Phấn mểm đâ tích hợp và kiểm thử Hình 10.1 Thiết kế phần mểm và kĩ nghệ phẩn mềm Thiết kế, lập trình và kiểm thử chiếm đến 75 phần trăm hay hơn cùa chi phí kĩ nghộ phần mềm (Irừ bảo trì). Chính tại các bước này mà chúng ta quyết định rằng sự thành công cùa việc cài dặt phần mổm sẽ bị ảnh hưởng, và điều quan trọng là làm dễ dàng cho việc bảo trì phần mồm. Những quyết định này được thực hiộn trong thiốt kế phần mém, làm cho nó thành bước thử nghiiỊm Irona eiai doạn phát triển. 12 Tầm quan trọng của thiết kế phần mém cổ thể được phát biểu bằng một từ - chất lượng. Thiếl kế là n(ti chất lưítng được nuôi dưỡng irone việc phái triổn phần mổm. Thiết kế cung cấp cho ta cách biổu diổn phần mồm cổ thể được xác nhận vể chất lưtmg. Thiết kế là cách duy nhất mà chúng la có thể dịch một cách chính xác các yôu cầu của khách hàng ihành sản phẩm hay hệ thống phần mồm cuối cùng. Thiết kế phần mổm phục vụ như một nồn tảng (Hình 10.2) cho mọi bước kĩ nghỏ phần mồm và bảo trì phần mồm sau đổ. Không có thiết kế, ta có nguy cơ dựng nôn một hệ thống không ổn định - một hệ thống sẽ thất bại khi có một thay đổi nhỏ; một hệ thông cổ thể khó mà thử được; mộl hộ thống mà neưíM ta khônc Ihể nào xác nhận được chất lưi;mg chừng nào chưa đến cuối liến trình kiôm thử. khi thCti eian CÒII rất Iigản và nhiều tiồn đã phải chi ra. 'niBíiýi'H 1 . Có thiết kê Không thiết kê Hinh 10.2 Tẩm quan trọng của thiết kế 13 10.2 TIẾN TRÌNH THIẾT K Ể Thiết kế phần mềm là một tiến trình qua dó các yôu cầu ilược dịch thành một biổu diẻn phần mém. Ban đầu biểu diỗn mô là cho quan điểm toàn hộ vồ phần mềm. Việc làm mịn tiếp sau dẫn tới một biểu diỗn Ihiếl kế rất gần với chưiíng trình gốc. Theo quan diổm quản lí dự án, ihiết kế phần mềm được tiến hành theo hai bước. Thiết k ế sơ hộ quan tâm tới việc dịch các yỏu cầu thành kiến Irúc dữ liệu và phần mồm. Thiết k ế chi tiết tập trung vào việc làm mịn biổu diỗn kiến Irúc để dẫn uíri cấu trúc dữ liệu chi tiết và biểu diễn thuật toán cho phần mổm. Trong phạm vi thiêì kế sư bộ và chi tiết, có xuất hiện một số hoạt động thiết kế khác nhau. Bôn cạnh việc thiết kế dữ liệu, kiến trúc và thủ tục, nhiéu ứng dụne hiện đại có hoạt độnt: thiết k ế giao diện phân biệt. Thiết kế giao diện lập ra cách bô trí và C(T chế tưimg lác cho tưcTng lác người - máy. Mối quan hệ giữa các khía cạnh kĩ Ihuậl và quản lí của thiết kế được minh hoạ trong Hình 10.3. Khía cạnh quản lí Thiết kế dữ liệu Khía cạnh ^ kĩ thuât Thiết kê t hú tục Thiết kê giao diện Hình 10.3 Quan hệ gữa khía cạnh kĩ thuật và quản II của thiết kế 14 ỈO.2.1 Thiết kế và chất lượng phần mềm Trong toàn bộ tiến Irình thiết kế, chất lượngcủa thiết kế tiến hoá đưực khẳng định bằng mội loạt các cuộc họp xét duyệt kĩ thuật chính thức, được mô tả trong Chưcíng 17. Để đánh giá chất lưímg cua một biểu diỗn thiết kế, chúng ta phải Ihiết lập các tiôu chuẩn cho thiết kế tốt. Phần cuối chưctng này chúng ta sẽ mô tả chi tiết các tiồu chuẩn thiết kế. Hiện tại, chúng ta đưa ra các hưórng dẫn sau: 1. Thiết kế nôn nôu ra cách tổ chức theo cấp bậc đổ dùng cách kiểm soát ihông minh trong số các thành phần phần mém. 2. Thiết kế nôn theo các mô đun; tức là phần mổm nên được phân hoạch một cách logic thành các thành phần thực hiện những chức năng và chức năng con xác định. 3. Thiết kế nên chứa cách biểu diễn phân biệt và tách biệt giữa dữ liệu và thủ tục. 4. Thiếl kế nên dẫn tóri các mô đun (như chương tnnh con hay thủ tục) nôu ra các đặc trưng chức năng đặc biệt. 5. Thiếl kế nên dẫn tới giao diện làm rút gọn độ phức tạp của việc nối ghép giữa các mô đun và với mòi trưímg bốn ngoài. 6. Thiết kế nồn được hưcíìig theo cách dùng một phưưng pháp lặp lại được điểu khiổn bới thông tin có trong phân tích các yêu cầu phần mồm. Các đặc trưng trôn của một thiết kế tôì không thể có được bởi sự may mắn. Tiến trình thiết kế kĩ nghệ phần mểm cổ vũ cho thiết kế tốt thôing qua việc áp dụng các neuyôn lí thiết kế cơ bản, phưtmg pháp luậ.n hộ ihống và viôc íiuyỌt xó) thấu đáo. 15 10.2.2 Tiến huá của thiết kê phần mềm Tiến hoá của thiíl kế phần niổm là một tiến liình liỏn lục đã trải qua ba thập kỉ vừa qua. Công trình thiết kế ban đầu tập trung vào các tiôu chuẩn đổ phái Iriổn các chưtmg trình kiểu mô đun và các phưímg pháp làm mịn kiến trúc phần mổm theo cách thức lừ trôn xuống. Các khía cạnh ihủ tục của định nghía thiết kế đã tiến hoá thành một triết lí gọi là l(fp trinh có cấu trúc. Công trình về sau đã đề nghị các phưtTng pháp để dịch từ luổng dữ liệu hay cấu trúc dữ liệu thành một định nghĩa Ihiết kế. Các cách tiếp cận mứi h(m đổ nehị vổ tiếp cận hướng sự vật tới việc suy dẫn ra thiết kế. Nhiéu phương pháp thiết kế, phát triển từ những cỏng trình đã đưực nôu trỏn, hiộn đang được áp dụng cho loàn bộ ngành cỏng nghiệp. Giống như các phưítng pháp phân tích đã được trình bày trong các chương trưtk', mỗi phươnc pháp thiết kế phẩn mềm đổu đưa vào nhữrm cách trực cảm và kí pháp duy nhất, cũng như một cách nhìn thiổn cận thế nào đó vé cái gì đặc Irưng cho chất lưííng thiếl kế. Ây vậy mà mỏi mội phưcrng pháp này (được mô tả chi tiết trong các Chưttng 11 đến 15) đều có một số đặc trưng chunu: (1) một cư chế để dịch từ bidu diễn miển thông lin thành biểu diỗn thiết kế, (2) mộl kí pháp đổ bidu diỗn các thành phần chức nãng và giao diện của chúng, (3) cách trực cảm đổ làm mịn và phân hoạch, và (4) các hưứng dẫn vổ định giá chất lượng. Bất kể phưimg pháp luận Ihiếl kế nào đưực dùng, người kT sư phần mẻm phải áp dụne một lập các khái niộm nổn tảng cho Ihiếl kế dữ liệu, kiến trúc và thủ tục. Từng khái niệm này được xem xét trtnig các mục sau đây. 10.3 NÉN TẢNG THlẾT KẺ Tập h(Tp các khái nitỉm thiốt kế nén làng dã liốn hoá qua ba lhậ|) ki. Mặc dầu mức độ quan tâm trong từng khái niộm này có thay đổi 16 qua nhiểu năm, nhưng chúng đã đímg vũíig qua thử thách của thời gian. Mỏi khái niệm đều cung cấp cho người thiết kế phẩn mểm một nền tảng để lừ đó người ta có thể áp dụng nhiều phương pháp thiết kế phức tạp. Mỗi khái niệm đềũ giúp ngưềrt kĩ sư phần mểtn trả lời cho các câu hỏi sau: • Có thể dùng tiêu chuẩn nào để phân hoạch phần mềm thành các thành phần riêng lẻ? • Làm sao phân tách chức năng hay cấu trúc dữ liệu khỏi biểu diễn quan niộm của phần mểm? • Liệu có những tiốu chuẩn thống nhất để xác định chất lưcmg kĩ thuật của thiết kế phần mềm không? M. A. Jackson có lần đã nói: “Cái bắt đầu của sự khôn ngoan đối với người lập trình [kĩ sư phần mểm] là việc thừa nhận sự khác biệt giữa bắt đầu làm chương trình và hiểu vấn để một cách đúng đắn.” Các khái niệm thiết kế phần mềm nền tảng cung cấp một khuôn khổ cần thiết để “hiểu vấn đề một cách đúng đắn.” 10.3.1 Trừu tưcmg Khi chúng ta xem xél một giải pháp mô đun cho bất kì vấn đề nào, có ihể đậl ra nhiổu mức âộ trừit tượng. Tại mức trừu tượng cao nhất, một giải pháp được phát biểu theo thuật ngữ đại thể bằng cách dùng ngôn ngữ của môi trường vấn đề. Tại mức trừu tượng thấp hơn, người ta lấy khuynh hướng thủ tục nhiều hơn. Thuật ngữ hướng vấn ctó thường đi đôi Vííti thuật ngữ hướng cài đặt Irong một nổ lực để phát biểu ra giải pháp. Cuối cùng, tại mức trừu tượng thấp nhất, giải pháp dưực phái hiểu theo cách có thổ được cài đặl trực tiếp. Waserman nêu ra một dịnh nghĩa có ích; Khái iiiỌiTi làm lí về "trừu Wcnig” cho phép người ta tập trung vào vấn ử niức lổng quát nào (ló không xét tới cac chi ni ĩiết tiet mức miK.' thấp tnap không icnong liên iiẽn can: \ ìỌc dùnjỉ Irừii lượng h»á cũng cho phép nguời làm việc với kháỉiỉỉỆtnL, rời la làm kháỉ iỉỉỆtnL, ■ J > í.íẢi : c GìA ìHá wổ! ■^ *> - K2~KNPMT2 và thuật ngO quen thuộc trong môi trường vắùi dổ mà không phải biên đổi chúng thành một cấu trúc ichổng quen thuộc... Mỗi bước trong tiến trình kĩ nghệ phần mểm đều là sự làm mịn cho một mức trừu tượng của giải pháp phần mềm. Trong kĩ nghệ hệ thống, phần mềm được dùng như một phần tử của hệ thống dựa trên máy tính. Trong phân tích các yêu cầu phần mểm, giải pháp phần mểm được phát biểu dưói dạng “đó là cái quen thuộc trong môi trường vấn đề.” Khi chúng ta chuyển từ thiết kế sơ bộ sang thiết kế chi tiết thì mức độ trừu tượng được rút lại. Cuối cùng, ta đi tới mức trừu tượng thấp nhất khi sinh ra chương trình gốc. Khi chúng ta chuyển qua các mức trừu tượng khác nhau, chúng ta làm việc để tạo ra các trim tượng thủ tục và dữ liệu. Trìùi tượng thủ tục là một dãy các lệnh có tên, có một chức năng xác định và giới hạn. Một thí dụ vể trừu tượng thù tục là từ “đi vào” cửa. “Đi vào” kéo theo mộl dãy dài các bước thủ tục (như bước tới cửa, lại gần và nắm lấy quả đấm, xoay quả đấm cửa và kéo cửa ra, bước vào cửa mở v.v...). Trừu tượng dữ liệu là một tập hợp các dữ liệu có tên mô tả cho một sự vật dữ liệu (chương 8). Thí dụ vé trừu tưcỊTng dữ liệu là “séc thanh toán.” Đối tượng dữ liệu này thực chất là một lập hợp nhiéu mẩu thông tin khác nhau (như tên người thanh toán, số tiền thanh toán, tiền thuế, FICA, V.V..) Vậy chúng ta có thể tham khảo tới mọi dữ liệu bằng cách nói tên của trừu tượng dữ liệu. Để minh hoạ cho phần mềm được xác định bởi ba mức trừu tượng thù tục, chúng ta xét vấn để sau; Phái triển phần mềm thực hiện tất cả các chức năng liên quan tới hệ thống làm bản vẽ hai chiều cho ứng dụng thiết kế có trợ giúp máy tính mức thấp (CAD). T rừ u tượng I. Phần mềm sẽ được tổ hợp vào trong giao diện đồ hoạ máy tính làm cho việc trao đổi trực quan với người vẽ S(t đố thiết kế thành khả hiện, chuột sẽ thay thế cho bàn vẽ và ô ke. Mọi viộc vẽ đường thẳng và đường cong, mọi íính toán hình hục, mọi cách xét theo bộ phận và phụ sè do phần mềm CAD thực hiện... Các đưìmg vẽ 18 sỗ được lưu trữ trong một tệp đ ư ^ g vẽ bao gồm mọi thông tin hình học, văn bản và các thông tin phụ. Tại mức này của trừu tượng, người ta phát biểu giải pháp dưới dạng môi trường vấn đé. Trừu tượng II Phần mểm CAD thực hiện: '' nhiệm nhiệm nhiệm nhiệm vụ giao tiếp với người dùng; vụ tạo đường vẽ 2 chiều; vụ hiển thị đồ hoạ; vụ quản lí tệp đường vẽ; kết thúc ; Tại mức trừu tượng này, từng nhiệm vụ phần mềm chính được liên kết với phần mềm CAD đều được ghi ra. Thuật ngữ đã vượt ra khỏi môi trường vấn đồ nhưng vẫn chưa mang nghĩa cài đặt riêng. Trừu tưtmg III procedure: tạo đường vẽ 2-D; repeat until nhiệm vụ giao tiếp với bộ số hoá; xác định yêu cầu vẽ; line: nhiệm vụ vẽ đường; circle: nhiệm vụ vẽ đường tròn; end ; do while < xuất hiện tương tác bàn phítn> nhiệm vụ giao tiếp với bàn phím; chọn phân tích/tính toán: view: nhiệm vụ xem phụ; section: nhiệm vụ tạo đường cắt; 19
- Xem thêm -

Tài liệu liên quan