Bài 5 Khái niệm thiết kế phần mềm

45 331 1
Bài 5 Khái niệm thiết kế phần mềm

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

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

Thông tin tài liệu

Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN Email: vynv@coltech.vnu.vn K ngh phn mm Software Engeneering B môn Công ngh phn mm – HCN 2 NguynVnV Ni dung Bài 5: Khái nim thit k phn mm ̈ Kh¸i niÖm, nguyªn lý, chÊt l−îng ̈ Néi dung thiÕt kÕ vμ chÊt l−îng B môn Công ngh phn mm – HCN 3 NguynVnV TÀI LiU THAM KHO 1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn mm. Nhà xut bn i hc Quc gia Hà ni, 2008 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi. Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà Ni. B mụn Cụng ngh phn mm HCN 4 NguynVnV Khái niệm thit k phần mềm Tìm giải pháp công nghệ (cách thức, phơng án) Biểu diễn cách thức, phơng án Xem xét lại, chi tiết hóa đủ chi tiết để ngời lập trình biết phải lm nh thế no để chuyển thnh chơng trình Thit k l chuyển đặc tả yêu cầu thnh mô tả thiết kế m ngi lp trình có th chuyn thnh chng trình với 1 ngôn ngữ, vận hnh đợc đáp ứng đợc yêu cầu đặt ra L 1 quá trình sáng tạo: B mụn Cụng ngh phn mm HCN 5 NguynVnV tạo mô hình ci đặt của phần mềm l công c giao tip gia các những ngời tham gia phát trin, cơ sở đảm bảo chất lợng hệ thống dễ đọc, dễ hiểu, dễ sửa đổi hơn mã chơng trinh có nhiều mức chi tiết; cung cấp cái nhìn tổng thể lm cơ sở để trao đổi, cải tiến Cung cấp đầy đủ thông tin cho việc bảo trì sau ny: Giảm công sức mã hóa khi sửa đổi Tiện bảo trì phát triển, mở rộng Vai trò thiết kế B mụn Cụng ngh phn mm HCN 6 NguynVnV Cấu trúc thiết kế Phần mềm l tập các mô đun tơng tác lẫn nhau Mô đun hóa l chìa khóa cho phần mềm tốt Mục tiêu thiết kế l xác định: các mô đun chức năng cách thức ci đặt mô đun tơng tác giữa các mô đun B mụn Cụng ngh phn mm HCN 7 NguynVnV 1. không bị bó buộc vo một cách nhin hạn chế no nó cần đợc lựa chọn từ các giải pháp có thể 2. cho phép lần ngợc lại mô hinh phân tích các mô đun & các yêu cầu không nhất thiết phải tơng ứng 1-1 nhng phải kiểm tra đợc sự thỏa mãn các yêu cầu Nguyên lý thiết kế B môn Công ngh phn mm – HCN 8 NguynVnV 3. Kh«ng nªn t¹o l¹i c¸c thiÕt kÕ (gi¶i ph¸p) ®· cã, mμ cÇn t¸i sö dông tèi ®a chóng 4. M« h×nh thiÕt kÕ (gi¶i ph¸p) nªn tiÕn gÇn ®Õn m« hinh thÕ giíi thùc (bμi to¸n) 5. BiÓu diÔn thiÕt kÕ ph¶i nhÊt qu¸n vμ cã tÝnh tÝch hîp: º thiÕt kÕ do nhiÒu ng−êi tiÕn hμnh song song º ph¶i thèng nhÊt c¸ch biÓu diÔn, thèng nhÊt giao diÖn 6. ThiÕt kÕ cÇn cã cÊu tróc ®Ó dÔ hiÓu, dÔ thay ®æi º ph¶i ®−îc modun hãa, ph©n cÊp Nguyªn lý thiÕt kÕ (t) B mụn Cụng ngh phn mm HCN 9 NguynVnV 7. Thiết kế không phải l mã hóa thiết kế luôn có mức trừu tợng hơn mã hóa, đảm bảo dễ hiểu, dễ thay đổi 8. Thiết kế cần đợc đánh giá chất lợng ngay trong khi đợc tạo ra tính kết dính, tính ghép nối, hiệu quả thuật toán 9. Thiết kế cần đợc thẩm định để tránh các lỗi mang tính hệ thống thiếu chức năng, chức năng không rõ, mâu thuẫn Nguyên lý thiết kế (t) B mụn Cụng ngh phn mm HCN 10 NguynVnV Nôi dung & chất lợng thiết kế Nội dung thiết kế Thiết kế kiến trúc phân rã hệ thống thnh hệ thống concác mô đun, xác định giao diện tơng tác gia các mô đun Thiết kế cấu trúc dữ liệu xây dựng mô hinh biểu diễn thông tin Thiết kế thủ tục (thuật toán) xác định các bớc thực hiện xử lý Thiết kế giao diện ngời dùng nên nhin nhận giao diện l một bi toán độc lập [...]... Giảm tác động của thiết kế tổng thể lên thiết kế cục bộ Nhấn mạnh trao đổi thông tin thông qua giao diện Loại bỏ việc sử dụng dữ liệu dùng chung H ớng tới sự đóng gói chức năng, 1 thuộc tính của thiết kế tốt Tạo ra các sản phẩm phần mềm tốt hơn B mụn Cụng ngh ph n m m HCN 25 Chất l ợng thiết kế Nguy nV nV Ba đặc tr ng xem nh l h ớng dẫn cho 1 thiết kế tốt (McMlaughli[MCG91]): Thiết kế phảI triển khai... Nguy nV nV Cần thiết lập các tiêu chí kỹ thuật để đánh giá một thiết kế tốt hay không: Thiết kế cần có kiến trúc tốt: cấu th nh từ các mẫu (pattern), các th nh phần có đặc tr ng tốt, dễ tiến hoá Thiết kế đ ợc môđul hoá cho mỗi th nh phần chức năng Chứa các biểu diễn tách biệt nhau về: dữ liệu, kiến trúc, giao diện, th nh phần, môi tr ờng Liên kết qua giao diện l m giảm độ phức tạp liên kết giữa các... 12 Thiết kế kiến trúc Nguy nV nV Sử dụng biểu đồ cấu trúc (structure chart), mô tả: cái nhìn tổng thể về hệ thống mối quan hệ giữa các mô đun giao diện giữa các mô đun không cần chỉ ra: thứ tự thực hiện số lần thực hiện chi tiết thiết kế B mụn Cụng ngh ph n m m HCN 13 Thiết kế cấu trúc d liệu Nguy nV nV Chọn cách biểu diễn các đối t ợng thiết kế có ảnh h ởng mạnh mẽ đến chất l ợng phần mềm Các mức thiết. .. khách h ng đòi hỏi Thiết kế cần là bản h ớng dẫn dễ đọc, dễ hiểu cho ng ời viết ch ơng trình, ng ời kiểm thử v ng ời bảo trì Thiết kế cần cung cấp 1 bức tranh đầy đủ về phần mềm trên quan điểm triển khai h ớng đến các mặt dữ liệu, chức năng v h nh vi của hệ thống MCG91: McMlaughli,R., Mộ số chú ý về thiết kế ch ơng trình, Software Engineering Notes,vol.16, no.4,oct 1991, pp53 -54 B mụn Cụng ngh ph... HCN 15 Các khái niệm thiết kế cơ sở Nguy nV nV Trừu t ợng hóa: trừu t ợng hóa dữ liệu, thủ tục, Làm mịn: Tính môdun: Kiến trúc: Thủ tục: Che dấu: B mụn Cụng ngh ph n m m điều khiển chi tiết hóa các trừu t ợng theo ý đồ phân chia dữ liệu v chức năng cấu trúc tổng thể của phần mềm thuật toán để thực hiện chức năng điều khiển bằng giao diện HCN 16 Trừu t ợng hóa (abstraction) Nguy nV nV Khái niệm. ..Mô hình tổng quát tiến trình thiết kế Nguy nV nV Tiến trình thiết kế l quá trình tăng c ờng hình thức hóa v luôn quay lại các thiết kế đúng đắn v ít hình thức hóa hơn tr ớc đó để kiểm tra v ho n chỉnh phỏc th o thi t k phi hỡnh th c B mụn Cụng ngh ph n m m thi t k phi hỡnh th c HCN thi t k hỡnh th c h n(bỏn) thi t k chi ti t cu i cựng 11 Tiến trình ho t ng thiết kế v s n ph m Nguy nV nV thi t k... nV Chọn cách biểu diễn các đối t ợng thiết kế có ảnh h ởng mạnh mẽ đến chất l ợng phần mềm Các mức thiết kế Thiết kế cấu trúc lô gic Các quan hệ chuẩn Các khóa Các tham chiếu Các cấu trúc thao tác dữ liệu B mụn Cụng ngh ph n m m HCN Thiết kế cấu trúc vật lý - Các file - Các kiểu - Kích cỡ 14 Thiết kế thủ tục Nguy nV nV Mô tả các b ớc hoạt động của mô đun Ph ơng pháp mô tả - giả mã (pseudo code) - sơ... Độ đo chất l ợng thiết kế Nguy nV nV Phụ thuộc b i toán, không có ph ơng pháp chung Một số độ đo: Coupling: mức độ ghép nối giữa các module Cohesion: mức độ liên kết giữa các th nh phần trong một module Understandability: tính hiểu đ ợc Adaptability: tính thích nghi đ ợc B mụn Cụng ngh ph n m m HCN 28 Độ đo chất l ợng thiết kế (t) Nguy nV nV Coupling (ghép nối) độ đo sự liên kết (trao đổi dữ... liệu) giữa các mô đun ghép nối chặt chẽ thì khó hiểu, khó sửa đổi do phảI tính đến các liên kết có thể, dễ gây lỗi lan truyền Cohesion (kết dính) độ đo sự phụ thuộc lẫn nhau của các th nh phần trong một module kết dính cao thì tính cục bộ cao (độc lập chức năng); dễ hiểu, dễ sửa đổi Tiêu chuẩn của thiết kế tốt: kết dính chặt, ghép nối lỏng B mụn Cụng ngh ph n m m HCN 29 Ghép nối - Coupling Nguy nV... m HCN 20 Thiết kế mô đun Nguy nV nV Dựa trên quan điểm "chia để trị" C: độ phức tạp E: cụng s c thực hiện C(p1 + p2) > C(p1) + C(p2) E(p1 + p2) > E(p1) + E(p2) giảm độ phức tạp cục bộ, dễ sửa đổi có khả năng phát triển song song dễ sửa đổi, dễ hiểu nên dễ tái sử dụng B mụn Cụng ngh ph n m m HCN 21 Số l ợng môđun Nguy nV nV Cần xác định số môđun tối u chi phí phát triển mô đun giá phần mềm chi phí

Ngày đăng: 12/05/2014, 11:11

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

Tài liệu liên quan