Nguyên lý thiết kế và mẫu thiết kế module Chất lượng
lượt xem 56
download
Các đối tượng có kích thước lớn, chỉ nên nạp vào bộ nhớ khi thực sự cần thiết; hay các đối tượng ở vùng địa chỉ khác (remote objects). Ví dụ: Xây dựng một trình soạn thảo văn bản có nhúng các đối tượng Graphic. Vấn đề đặt ra: Việc nạp các đối tượng Graphic phức tạp thường rất tốn kém, trong khi văn bản cần được mở nhanh. Giải pháp: sử dụng ImageProxy.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Nguyên lý thiết kế và mẫu thiết kế module Chất lượng
- Nguyên lý thiết kế và mẫu thiết kế
- Nội dung Thiết kế module Chất lượng thiết kế Độ đo thiết kế tốt Khái niệm về mẫu thiết kế Nguyễn Việt Hà Nguyên lý thiết kế… 2
- Tài liệu tham khảo Bruce Eckel, Thinking in Patterns Erich Gamma, Design Patterns – Elements of Reusable Object-Oriented Software Nguyễn Việt Hà Nguyên lý thiết kế… 3
- Thiết kế module Dùa trªn quan ®iÓm "chia ®Ó trÞ" C: ®é phøc t¹p C(p1 + p2) > C(p1) + C(p2) E: nç lùc thùc hiÖn 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 Nguyễn Việt Hà Nguyên lý thiết kế… 4
- Số lượng module CÇn x¸c ®Þnh sè m«®un tèi −u chi phÝ ph¸t triÓn module gi¸ phÇn mÒm chi phÝ tÝch hîp sè module sè module tèi −u Nguyễn Việt Hà Nguyên lý thiết kế… 5
- ChÊt l−îng = Che giÊu th«ng tin Sö dông module th«ng qua c¸c giao diÖn tham sè vµ gi¸ trÞ tr¶ l¹i Kh«ng cÇn biÕt c¸ch thøc cµi ®Æt thùc tÕ thuËt to¸n cÊu tróc dữ liÖu giao diÖn ngo¹i lai (c¸c m« ®un thø cÊp, thiÕt bÞ vµo/ra) tµi nguyªn hÖ thèng Nguyễn Việt Hà Nguyên lý thiết kế… 6
- Che giÊu thông tin: lý do Gi¶m hiÖu øng phô khi söa ®æi module Gi¶m sù t¸c ®éng cña thiÕt kÕ tæng thÓ lªn thiÕt kÕ côc bé NhÊn m¹nh viÖc 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 - 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 Nguyễn Việt Hà Nguyên lý thiết kế… 7
- ChÊt l−îng thiÕt kÕ Phô thuéc bµi to¸n, kh«ng cã ph−¬ng ph¸p tæng qu¸t Mét sè ®é ®o Coupling: møc ®é ghÐp nèi giữa c¸c module Cohesion: møc ®é liªn quan lÉn nhau cña c¸c thµnh phÇn bªn trong mét module Understandability: tÝnh hiÓu ®−îc Adaptability: tÝnh thÝch nghi ®−îc Nguyễn Việt Hà Nguyên lý thiết kế… 8
- Coupling and Cohesion 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 (thiÕt kÕt tåi) 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 Nguyễn Việt Hà Nguyên lý thiết kế… 9
- Coupling normal coupling loose and best møc ®é quan hÖ data coupling still very good cña c¸c module stamp coupling ok module nªn control coupling ok ghÐp nèi láng lÎo cµng láng lÎo cµng dÔ söa ®æi thiÕt kÕ common coupling very bad content coupling tight and worst Nguyễn Việt Hà Nguyên lý thiết kế… 10
- GhÐp nèi néi dung (content coupling) • Lµ tr−êng hîp xÊu nhÊt • C¸c module dïng lÉn dữ liÖu cña nhau - c¸c ng«n ngữ bËc thÊp kh«ng cã biÕn côc bé - l¹m dông lÖnh Goto Nguyễn Việt Hà Nguyên lý thiết kế… 11
- GhÐp nèi chung (common coupling) • C¸c module trao ®æi dữ liÖu th«ng qua biÕn tæng thÓ • Lçi cña module nµy cã thÓ ¶nh h−ëng ®Õn ho¹t ®éng cña module kh¸c • Khã sö dông l¹i c¸c module m« ®un g©y lçi B A m« ®un gÆp lçi C Dữ liÖu Nguyễn Việt Hà Nguyên lý thiết kế… 12
- GhÐp nèi ®iÒu khiÓn (control coupling) • C¸c module trao ®æi th«ng tin ®iÒu khiÓn • Lµm cho thiÕt kÕ khã hiÓu, khã söa ®æi, dÔ nhÇm printRecord (name, sex) printName Nguyễn Việt Hà Nguyên lý thiết kế… 13
- GhÐp nèi nh·n (stamp coupling) • C¸c module trao ®æi thõa th«ng tin • Module cã thÓ thùc hiÖn chøc năng ngoµi ý muèn • Lµm gi¶m tÝnh thÝch nghi (age) (personel record) calcAge Nguyễn Việt Hà Nguyên lý thiết kế… 14
- GhÐp nèi dữ liÖu (data coupling) • TruyÒn dữ liÖu qua tham sè • NhËn kÕt qu¶ qua tham sè vµ gi¸ trÞ tr¶ l¹i (day of week) (date) calcDayOfWeek Nguyễn Việt Hà Nguyên lý thiết kế… 15
- Cohesion mçi module functional high and best chØ nªn thùc sequential ok communicational still ok hiÖn mét chøc procedural not bad at all năng temporal still not bad at all logical still not bad at all mäi thµnh phÇn nªn tham gia thùc hiÖn chøc năng ®ã coincidental lowest and worst by far Nguyễn Việt Hà Nguyên lý thiết kế… 16
- C¸c chñng lo¹i kÕt dÝnh • KÕt dÝnh gom gãp (coincidental cohesion) - c¸c thµnh phÇn kh«ng liªn quan ®Õn nhau • KÕt dÝnh l« gic (logical cohesion) - c¸c thµnh phÇn lµm chøc năng l« gic t−¬ng tù - vd: hµm xö lý lçi chung • KÕt dÝnh thêi ®iÓm (temporal cohesion) - c¸c thµnh phÇn ho¹t ®éng cïng thêi ®iÓm - vd: hµm khëi t¹o (®äc dữ liÖu, cÊp ph¸t bé nhí...) Nguyễn Việt Hà Nguyên lý thiết kế… 17
- C¸c chñng lo¹i kÕt dÝnh • KÕt dÝnh thñ tôc (procedural cohesion) - c¸c thµnh phÇn t¹o cã mét thø tù x¸c ®Þnh - vd: tÝnh l−¬ng c¬ b¶n, tÝnh phô cÊp, tÝnh b¶o hiÓm • KÕt dÝnh truyÒn th«ng (communicational cohesion) - c¸c thµnh phÇn truy cËp cïng dữ liÖu - vd: thèng kª (tÝnh max, min, mean, variation...) Nguyễn Việt Hà Nguyên lý thiết kế… 18
- C¸c chñng lo¹i kÕt dÝnh • KÕt dÝnh tuÇn tù (sequential cohesion) - output cña mét thµnh phÇn lµ input cña thµnh phÇn tiÕp theo - vd: ¶nh mÇu -> ®en tr¾ng -> ¶nh nÐn • KÕt dÝnh chøc năng (functional cohesion) - c¸c thµnh phÇn cïng gãp phÇn thùc hiÖn mét chøc năng - vd: s¾p xÕp Nguyễn Việt Hà Nguyên lý thiết kế… 19
- Understandability TÝnh hiÓu ®−îc GhÐp nèi láng lÎo KÕt dÝnh cao Đ−îc lËp tµi liÖu ThuËt to¸n, cÊu tróc dÔ hiÓu Nguyễn Việt Hà Nguyên lý thiết kế… 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Java P9
48 p | 160 | 71
-
Lập trình với Java (P9)
48 p | 134 | 53
-
Tài liệu công nghệ thông tin - Các nguyên lý cơ bản trong thiết kế HĐT
19 p | 176 | 40
-
Giáo trình Thiết kế đồ họa (Ngành: Thiết kế trang web) - CĐ Kinh tế Kỹ thuật TP.HCM
288 p | 85 | 19
-
Nguyên lý thiết kế và mẫu thiết kế.Nội dungThiết kế module Chất lượng
48 p | 87 | 17
-
Giáo trình phân tích khả năng ứng dụng nguyên lý cấu tạo của hệ thống mạch từ p1
9 p | 68 | 9
-
Bắt đầu với lập trình Java phần 9
48 p | 63 | 8
-
Giáo trình Xử lý ảnh (Nghề: Thiết kế đồ họa - Trung cấp): Phần 2 - Trường Cao đẳng Cơ điện Xây dựng Việt Xô
66 p | 27 | 8
-
Bài giảng Thiết kế đồ họa 3DS MAX: Bài 1 - Nguyễn Thị Lan Anh:
20 p | 38 | 7
-
Giáo trình phân tích nguyên lý ứng dụng kỹ thuật để tạo một select query và crosstab query p2
5 p | 62 | 6
-
Nguyên tắc tính phí cho các mẫu thiết kế
4 p | 75 | 6
-
Giáo trình phân tích quy trình vận dụng nguyên lý hai vòng lặp của mỗi Service p8
5 p | 61 | 5
-
Bài giảng Phân tích và thiết kế hệ thống thông tin: Chương 1 - PGS.TS. Nguyễn Mậu Hân
82 p | 62 | 4
-
Bài giảng Phân tích và thiết kế hệ thống thông tin: Chương 2 - PGS.TS. Nguyễn Mậu Hân
113 p | 52 | 4
-
Giáo trình phân tích nguyên lý ứng dụng kỹ thuật để tạo một select query và crosstab query p6
5 p | 75 | 3
-
Đánh giá Nokia Lumia 800
25 p | 87 | 2
-
Giáo trình Nguyên lý thị giác (Ngành: Thiết kế đồ hoạ - Trình độ Cao đẳng) - Trường Cao đẳng Hòa Bình Xuân Lộc)
27 p | 5 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn