Chương 7 - Thiết kế phần mềm. Chương này cung cấp cho người học những kiến thức cơ bản về: Tổng quan thiết kế phần mềm, thiết kế kiến trúc phần mềm, thiết kế chi tiết phần mềm, thiết kế giao diện người dùng, thiết kế mẫu, thiết kế giao diện cho ứng dụng WebApp.
Thiết kế phần mềm • Nội dung NHẬP MƠN CƠNG NGHỆ PHẦN MỀM (INTRODUCTION TO SOFTWARE ENGINEERING) ng co an ng Analysis Model -> Design Model (Mơ hình phân tích-> Mơ hình thiết kế) du o • 2 th Design Tổng quan thiết kế phần mềm Thiết kế kiến trúc phần mềm Thiết kế chi tiết phần mềm Thiết kế giao diện người dùng Thiết kế mẫu Thiết kế giao diện cho ứng dụng WebApp c om Theo Mitch Kapor, người tạo Lotus 1-2-3, giới thiệu “Tuyên ngôn thiết kế phần mềm” Dr Dobbs Journal : Thiết kế phần mềm tốt nên thể – Sự ổn định (Firmness): Một chương trình khơng nên có lỗi – Tiện nghi(Commodity): Một chương trình nên phù hợp với mục đích – định Sự hài lịng(Delight): Trải nghiệm sử dụng chương trình nên làm hài data flow diagrams control-flow diagrams processing narratives Int erfa c e Design Analysis Model c l a ss- ba se d e l e me n ts class diagrams analysis packages CRC models collaboration diagrams lòng người dùng Com ponent Lev el Design f l ow- or i e n te d e l e me n ts use-cases - text use-case diagrams activity diagrams swim lane diagrams cu làm hạn chế chức sc e n a r i o- ba se d e l e me n ts u – be h a v i or a l e l e me n ts state diagrams sequence diagrams Arc hit ec t ura l Design Da t a / Cla ss Design Design Model These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 3 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt • • thiết kế phải thực tất yêu cầu rõ ràng chứa mơ hình phân tích, phải đáp ứng tất yêu cầu tiềm ẩn khách • hàng mong muốn • thiết kế phải hướng dẫn dễ hiểu dễ đọc cho người tạo • code cho người kiểm thử sau hỗ trợ cho phần • mềm • thiết kế nên cung cấp tranh hoàn chỉnh phần mềm, giải • • ng vấn đề liệu, chức năng, hành vi từ quan điểm thực Nguyên tắc Chất lượng Một thiết kế nên thể kiến trúc mà (1) tạo cách sử dụng phong cách kiến trúc pattern công nhận , (2) bao gồm thành phần mang đặc tính thiết kế tốt (3) thực cách tiến hóa – Đối với hệ thống nhỏ hơn, thiết kế đơi phát triển tuyến tính Một thiết kế nên mơđun hố; là, phần mềm nên phân chia thành thành phần hợp lý hệ thống Một thiết kế cần có biểu diễn riêng biệt liệu, kiến trúc, giao diện, thành phần Một thiết kế nên dẫn đến cấu trúc liệu thích hợp cho lớp thực thi rút từ mơ hình liệu nhận biết Một thiết kế nên dẫn đến thành phần mang đặc tính chức độc lập Một thiết kế nên dẫn đến giao diện mà giảm phức tạp kết nối thành phần với mơi trường bên ngồi Một thiết kế nên chuyển hóa cách sử dụng phương pháp lặp lại dẫn dắt thơng tin thu q trình phân tích yêu cầu phần mềm Một thiết kế nên đại diện ký hiệu truyền đạt hiệu ý nghĩa .c om Thiết kế chất lượng thi co • These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman an These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 6 • • • Q trình thiết kế khơng nên mắc phải‘tunnel vision.’ Việc thiết kế nên truy ngược mơ hình phân tích Việc thiết kế khơng nên ‘phát minh lại bánh xe’ Việc thiết kế nên "giảm thiểu khoảng cách trí tuệ" [DAV95] phần mềm tốn tồn giới thực Việc thiết kế nên biểu lộ tính đồng tích hợp Việc thiết kế nên cấu trúc để thích ứng với thay đổi Việc thiết kế nên cấu trúc để làm suy thoái (degrade) nhẹ nhàng, gặp phải liệu bất thường, kiện, điều kiện hoạt động Thiết kế coding, coding thiết kế Việc thiết kế nên đánh giá chất lượng tạo ra, sau thực tế Việc thiết kế cần xem xét để giảm thiểu lỗi khái niệm (ngữ nghĩa) u • • • • • • • • • cu • • • Các khái niệm du o Nguyên tắc thiết kế • • • • ng th • • • • From Davis [DAV95] These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 7 Trừu tượng hoá—dữ liệu, thủ tục, kiểm soát Kiến trúc—cấu trúc tổng thể phần mềm Patterns—"chuyển tải tinh túy" giải pháp thiết kế chứng minh Separation of concerns—bất kỳ vấn đề phức tạp xử lý dễ dàng chia thành nhiều mảnh Modularity—mơ đun hố liệu chức Tính ẩn—giao diện điều khiển Độc lập Chức —Các hàm đơn mục đích khớp nối thấp Sàng lọc—xây dựng chi tiết cho tất khái niệm trừu tượng Các khía cạnh—một chế cho hiểu biết yêu cầu tổng thể ảnh hưởng đến thiết kế Refactoring— kỹ thuật tái tổ chức nhằm đơn giản hóa thiết kế OO design concepts—Phụ lục II Thiết kế Lớp—cung cấp chi tiết thiết kế mà cho phép lớp phân tích thực thi These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman CuuDuongThanCong.com https://fb.com/tailieudientucntt Trừu tượng liệu Trừu tượng thủ tục Cửa Mở nhà sản xuất model số Loại Hướng xoay chèn đèn loại số lượng Khối lượng Cách mở c om chi tiết Thuật toán vào cửa thực với "kiến thức” đối tượng kết hợp với vào cửa ng an These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman co Thực thi cấu trúc liệu 10 10 Kiến trúc Patterns(mẫu) “Cấu trúc tổng thể phần mềm cách thức mà cấu trúc cung cấp tính tồn vẹn khái niệm cho hệ thống.” [SHA95a] – Tính cấu trúc Khía cạnh đại diện thiết kế kiến trúc xác định du o • ng th These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman Bản mẫu thiết kế pa/ern Tên Pa/ern—mô tả chất mơ hình tên ngắn ý nghĩa Intent (ý định)—mơ tả mơ hình làm Also-known-as—liệt kê từ đồng nghĩa cho paeern thành phần hệ thống (ví dụ, mô-đun, đối tượng, lọc) cách thức mà thành phần đóng gói tương tác với Ví dụ, đối tượng đóng gói liệu việc xử lý thao tác liệu tương tác thông qua việc gọi phương pháp – Tính thêm chức Các mơ tả thiết kế kiến trúc nên giải cách cu u MoBvaBon(Động lực )—cung cấp ví dụ vấn đề Applicability (Khả áp dụng)—lưu ý jnh thiết kế cụ thể, mơ hình áp dụng Structure( cấu trúc)—mô tả lớp yêu cầu để thực mơ hình ParBcipants (thành phần tham gia)—mơ tả trách nhiệm lớp yêu cầu để thực paeern CollaboraBons (sư công tác)—mô tả cách thành phần tham gia cộng tác để thực trách nhiệm Consequences(hệ quả)—mơ tả "lực lượng thiết kế" có ảnh hưởng đến mơ hình đánh đổi tềm phải xem xét mơ hình thực Related pa/erns(pa/erns liên quan)—tham khảo chéo liên quan đến mẫu thiết kế kiến trúc thiết kế đạt yêu cầu hiệu suất, công suất, độ tin cậy, an tồn, khả thích ứng, đặc điểm khác hệ thống – Họ hệ thống liên quan Thiết kế kiến trúc dựa mơ hình lặp lại mà thường gặp thiết kế họ hệ thống tương tự Về chất, thiết kế cần phải có khả sử dụng lại khối xây dựng kiến trúc These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 11 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 11 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt 12 Mơ đun • Bất kỳ vấn đề phức tạp xử lý dễ dàng chia thành mảnh mà mảnh giải / tối ưu hóa cách độc lập • Mối quan tâm tính hành vi quy định phần mơ hình u cầu cho phần mềm • Bằng cách tách mối quan tâm nhỏ hơn, mảnh dễ quản lý hơn, vấn đề cơng sức thời gian để giải • “Mơ đun thuộc tính phần mềm cho phép chương trình quản lý cách thơng minh" [Mye78] • Phần mềm ngun khối (ví dụ, chương trình lớn gồm mơ-đun nhất) khơng dễ dàng nắm bắt kỹ sư phần mềm – Số lượng đường dẫn điều khiển, khoảng thời gian tham khảo, c om Phân tách Mối quan tâm số lượng biến, độ phức tạp tổng thể làm cho việc hiểu gần • Trong hầu hết trường hợp, bạn nên phá vỡ thiết kế thành nhiều co ng module, hy vọng làm cho việc hiểu biết dễ dàng hệ quả, giảm chi phí cần thiết để xây dựng phần mềm These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman an 13 14 14 chi phí phát triển module module • thuật tốn Giao diện Điều khiển • cấu trúc liệu cu u chi phí Phần mềm Ẩn thơng tin du o Modularity: đánh đổi Số "chính xác" mơ đun cho thiết kế phần mềm cụ thể? ng th 13 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman Số môđun tối ưu Chi tiết giao diện bên ngồi • sách phân bổ nguồn lực Chi phí tích hợp Mơ đun clients ”bí mật" định thiết kế cụ thể Số modules These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 15 15 16 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tại lại Ẩn thông tin? Mở làm giảm khả "tác dụng phụ” hạn chế ảnh hưởng chung định thiết kế cục nhấn mạnh truyền thơng qua giao diện điều khiển khơng khuyến khích việc sử dụng liệu toàn cục dẫn đến đóng gói, thuộc tính thiết kế chất lượng cao kết phần mềm chất lượng cao c om đến cửa; tiếp cận với núm; Mở cửa; Đi qua; Đóng cửa co ng • • • • • • Sàng lọc theo bước These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman an 17 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 18 18 ng th 17 repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out; find correct key; insert in lock; endif pull/push door move out of way; end repeat • How big is it?? Tính độc lập chức đạt cách phát triển module với chức đơn lẻ "ác cảm" với tương tác mức với module khác • Sự gắn kết dấu hiệu sức mạnh chức tương đối module u What's inside?? Tính độc lập chức du o Định kích thước mơ đun: Hai cách nhìn cu • Một module gắn kết thực nhiệm vụ nhất, đòi hỏi tương tác với thành phần khác phần khác chương trình Nói đơn • MODULE giản, mô-đun gắn kết nên (lý tưởng) làm việc Ghép nối dấu hiệu phụ thuộc lẫn tương đối mô-đun • Ghép nối phụ thuộc vào độ phức tạp giao diện module, điểm mà entry tham chiếu thực cho mô-đun, liệu truyền qua giao diện These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 19 19 20 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các khía cạnh • Hãy xem xét hai yêu cầu, A B Yêu cầu A giao với yêu cầu B "nếu phân tách phần mềm [tinh chế] lựa chọn B khơng thể làm hài lịng mà khơng cần dùng A.[Ros04] • Một khía cạnh đại diện mối quan tâm giao co ng • Hãy xem xét hai yêu cầu với SafeHomeAssured.com WebApp Yêu cầu A mô tả qua trường hợp sử dụng camera giám sát truy cập thông qua Internet Một tinh chỉnh thiết kế tập trung vào mơ-đun cho phép người sử dụng đăng ký để truy cập video từ camera đặt khắp không gian Yêu cầu B yêu cầu an ninh chung chung mà nói người sử dụng đăng ký phải xác nhận trước sử dụng SafeHomeAssured.com Yêu cầu áp dụng cho tất chức có sẵn cho người dùng SafeHome đăng ký Vì tinh chỉnh thiết kế xảy ra, A * đại diện thiết kế cho yêu cầu A B * đại diện thiết kế cho yêu cầu B Vì vậy, A * B * đại diện mối quan tâm, B * chéo cắt A * Một khía cạnh đại diện mối quan tâm xuyên suốt Do đó, đại diện thiết kế, B *, yêu cầu, người sử dụng đăng ký phải xác nhận trước sử dụng SafeHomeAssured.com, khía cạnh SafeHome WebApp .c om • Các khía cạnh — Ví dụ These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman an 21 22 22 OO Các khái niệm thiết kế du o Tái cấu trúc ng th 21 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman • Fowler [FOW99] định nghĩa cấu trúc lại theo cách sau đây: • Các lớp thiết kế – Các lớp thực thể – Các lớp biên u – "Tái cấu trúc trình thay đổi hệ thống phần mềm cách mà khơng làm thay đổi hành vi bên ngồi mã – lớp điều khiển cu [thiết kế] cải thiện cấu trúc bên nó.” – Khi phần mềm refactored, thiết kế có kiểm tra » Dư thừa • thừa kế—tất trách nhiệm lớp cha thừa kế tất lớp • thơng điệp—khuyến khích số hành vi xảy đối tượng nhận • Đa hình—một đặc tính mà làm giảm đáng kể nỗ lực cần thiết để mở rộng thiết kế » yếu tố thiết kế khơng sử dụng » thuật tốn khơng hiệu không cần thiết » cấu trúc liệu xây dựng không phù hợp » thất bại thiết kế khác điều chỉnh để mang lại thiết kế tốt These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 23 23 24 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt Thiết kế lớp • • Các lớp phân tích tinh chỉnh trình thiết kế để trở thành lớp thực thể Các lớp biên phát triển thiết kế để tạo giao diện (ví dụ, hình high a na ly sis model class diagrams analysis packages CRC models collaboration diagrams tương tác báo cáo) mà người dùng thấy tương tác với với phần mềm – Các lớp biên thiết kế với trách nhiệm quản lý đối tượng cách thực thể đại diện cho người sử dụng lớp điều khiển thiết kế để quản lý – việc tạo cập nhật đối tượng thực thể; data flow diagrams control-flow diagrams processing narratives c om • Mơ hình thiết kế class diagrams analysis packages CRC models collaboration diagrams data flow diagrams control-flow diagrams processing narratives state diagrams sequence diagrams technical interface design Navigation design GUI design component diagrams design classes activity diagrams sequence diagrams design model – Sự tức thời đối tượng biên họ có thơng tin từ đối tượng thực thể; – truyền thông phức tạp tập đối tượng; – xác nhận liệu trao đổi đối tượng người sử dụng với ứng dụng co ng low These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman an 25 refinements to: refinements to: design class realizations subsystems collaboration diagrams architecture elements component diagrams design classes activity diagrams sequence diagrams interface elements component-level elements Requirements: constraints interoperability targets and configuration design class realizations subsystems collaboration diagrams component diagrams design classes activity diagrams sequence diagrams deployment diagrams deployment-level elements process d imension These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 26 26 ng th 25 design class realizations subsystems collaboration diagrams use-cases - text use-case diagrams activity diagrams swim lane diagrams collaboration diagrams state diagrams sequence diagrams Các thành phần liệu – Mơ hình liệu -> cấu trúc liệu – Mơ hình liệu -> kiến trúc sở liệu Các thành phần kiến trúc – miền ứng dụng – Các lớp phân tích, mối quan hệ, hợp tác hành vi chúng chuyển thành chứng ngộ thiết kế – Patterns và“kiểu” (Chapters and 12) Các thành phần giao diện – giao diện người dùng (UI) – giao diện bên đến hệ thống khác, thiết bị, mạng, nhà sản xuất khác người dùng thông tin – giao diện nội thành phần thiết kế khác Các yếu tố cấu thành thành phần triển khai • Các mơ hình kiến trúc [Sha96] có nguồn gốc từ ba nguồn: – thơng tin miền ứng dụng cho xây dựng phần mềm; – thành phần mơ hình u cầu cụ thể sơ đồ luồng liệu phân tích lớp, mối quan hệ hợp tác chúng, – sẵn có mơ hình kiến trúc (Chương 12) kiểu (Chương 9) cu u • Các thành phần kiến trúc du o Các thành phần Mơ hình thiết kế • • • • 27 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 27 28 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các thành phần giao diện Component Elements MobilePhone WirelessPDA SensorManagement LCDdisplay LEDindicators keyPadCharacteristics speaker wirelessInterface Sensor c om ControlPanel KeyPad readKeyStroke() decodeKey() displayStatus () lightLEDs() sendControlMsg() ng KeyPad co readKeystroke() decodeKey() Figure 9.6 UML interface representation for Cont rolPa nel an 29 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 30 Control Panel CPI server Security Thiết kế phần mềm du o Các thành phần triển khai ng th 29 30 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman • Nội dung cu u homeownerAccess Personal computer externalAccess Surveillance Security homeManagement communication Tổng quan thiết kế phần mềm Thiết kế kiến trúc phần mềm Thiết kế chi tiết phần mềm Thiết kế giao diện người dùng Thiết kế mẫu Thiết kế giao diện cho ứng dụng WebApp Figure 9.8 UML deployment diagram for SafeHome 32 31 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 31 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt Why Architecture? Tại kiến trúc quan trọng? • Các kiến trúc khơng phải phần mềm hoạt động Thay vào đó, đại diện cho phép kỹ sư phần mềm để: • Đại diện kiến trúc phần mềm tạo khả cho truyền thông tất bên (các bên liên quan) quan tâm đến phát triển phân tích hiệu thiết kế việc đáp ứng yêu cầu đề ra, hệ thống dựa máy tính • Những kiến trúc làm bật thiết kế định ban đầu mà có tác động sâu sắc tất công việc kỹ thuật phần mềm sau và, quan trọng hơn, vào thành công cuối hệ thống c om xem xét lựa chọn thay kiến trúc thay đổi thiết kế tương đối dễ dàng, thực thể hoạt động • Kiến trúc "tạo thành mode minh bạch tương đối nhỏ cách hệ thống cấu trúc cách thành phần làm việc nhau” [BAS03] co ng giảm thiểu rủi ro gắn liền với việc xây dựng phần mềm These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman an 33 34 34 • Thể loại ngụ ý phân loại cụ thể lĩnh vực phần mềm tổng thể • Trong thể loại, bạn gặp phải số tiểu phân loại – Ví dụ, thể loại tòa nhà, bạn gặp phải phong cách chung sau đây: nhà ở, hộ, chung cư, cao ốc văn phịng, tịa nhà cơng nghiệp, nhà kho, vv – Trong phong cách chung, phong cách cụ thể IEEE Computer Society đề nghị IEEE-Std-1471-2000, Recommended Practice for Architectural Description of Software-Intensive System, [IEE00] – để thiết lập khuôn khổ khái niệm từ vựng cho việc sử dụng thiết kế kiến trúc phần mềm, – để cung cấp hướng dẫn chi tiết cho đại diện cho mô tả kiến trúc, and – khuyến khích thực hành thiết kế kiến trúc âm The IEEE Standard định nghĩa mô tả kiến trúc (AD) "một tập hợp sản phẩm để tài liệu hoá kiến trúc.” • cu u • Thể loại kiến trúc du o Mô tả kiến trúc ng th 33 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman áp dụng Mỗi phong cách có cấu trúc mơ tả tập mơ hình dự đốn – Các mơ tả đại diện cách sử dụng nhiều quan điểm, nơi xem "một đại diện hệ thống từ quan điểm tập hợp có liên quan [các bên liên quan] mối quan tâm.” These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 35 35 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt 36 Kiểu kiến trúc • Kiến trúc lấy liệu làm trung tâm Mỗi phong cách mô tả loại hệ thống bao gồm: (1) tập hợp thành phần (ví dụ, sở liệu, mơ đun tính tốn) thực chức cần thiết hệ thống, (2) tập hợp kết nối cho phép "truyền thông, c om phối hợp hợp tác" thành phần, (3) khó khăn để xác định cách thành phần tích hợp để tạo thành hệ thống, (4) mơ hình ngữ nghĩa cho phép nhà thiết kế phải hiểu tính chất tổng thể hệ thống cách phân tích đặc tính biết đến phận cấu thành – Kiến trúc lấy liệu làm trung tâm ng Kiến trúc luồng liệu kiến trúc gọi trả Kiến trúc hướng đối tượng kiến trúc lớp 37 an These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman co – – – – 38 38 Kiến trúc gọi trả cu u du o Kiến trúc luồng liệu ng th 37 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 39 39 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 40 CuuDuongThanCong.com https://fb.com/tailieudientucntt 40 ... decision-makers kết phần mềm dễ dàng kiểm tra dẫn đến phần mềm dễ dàng để trì kết lan truyền tác dụng phụ kết phần mềm dễ dàng để mở rộng workers These slides are designed to accompany Software. .. gọi công thức – Loại sử dụng – Sự lồng ghép bao hàm – Bên ngồi co • Thiết kế mức thành phần - I 74 74 Sơ đồ cộng tác du o Thiết kế mức thành phần - II ng th 73 These slides are designed to accompany... are designed to accompany Software Engineering: A Practitioner’s Approach, 7/ e (McGraw-Hill 2009) Slides copyright 2009 by Roger Pressman 47 47 These slides are designed to accompany Software Engineering: