mẫu phiếu phỏng vấn c03thunhanyeucaumoi huongdantaobangcauhoi 2tailieuthietkelopvadonggoi 3templaterequirement management sheet 4checklisttest case review 4mauquanlythaydoi 0danhsachcauhoi

101 22 0
mẫu phiếu phỏng vấn c03thunhanyeucaumoi huongdantaobangcauhoi 2tailieuthietkelopvadonggoi 3templaterequirement management sheet 4checklisttest case review 4mauquanlythaydoi 0danhsachcauhoi

Đ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

Các phương thức của môi lớp có thể đươc xác định bằng cách phân tích các biểu đồ tương tác. Nói chung, tập hơp tất ca các Messages đươc gửi đến một lớp X trên tất ca các sơ đồ tương [r]

(1)

Chương 6

(2)

NỘI DUNG

Sơ đồ lớp thiết kế biểu diễn chi tiết lớp phần mềm giao diện ứng dụng Những thông tin tiêu biểu sơ đồ lớp thiết kế bao gồm:

◦ Các lớp (classes)

◦ Mối quan hệ thuộc tính (associations & attributes

◦ Giao diện thao tác giao diện (interfaces with their operations) ◦ Các phương thức (methods)

◦ Thuộc tính (attribute)

(3)

Định nghĩa sơ đồ lớp

Biểu đồ lớp chi sư tồn lớp mối quan h chung ban ê thiết kế logic h thốngê

▫Chi cấu truc tĩnh mô hình lớp, cấu truc bên chung mối quan h với lớp khác.ê

▫Chi tất ca ho c phân cấu truc lớp h thống.ă ê ▫Không đưa thông tin tạm thời

(4)(5)

Mục đích sơ đồ lớp

• Làm tài liệu cho lớp cấu thành hệ thống hệ thốngcon

• Mơ ta kết hơp, tổng quát hóa quan hệ kết tập lớp biểu đồ

• Chi rõ đặc trưng lớp, thuộc tính tác vụ mơi lớp

• Biểu đồ lớp đươc dùng khắp nơi chu trình phát triển, từ toán đến mô hình cài đặt

(6)

Định nghĩa sơ đồ lớp

Biểu đồ lớp chi sư tồn lớp mối quan h chung ban ê thiết kế logic h thốngê

▫Chi cấu truc tĩnh mô hình lớp, cấu truc bên chung mối quan h với lớp khác.ê

▫Chi tất ca ho c phân cấu truc lớp h thống.ă ê ▫Không đưa thông tin tạm thời

(7)

Domain Model - Design Model Classes

Domain model: lớp khái niệm đại diện cho khái niệm trừu

tương giới thưc mà người phát triển phân mềm quan tâm

Mơ hình lớp thiết kế (Design model class): lớp thiết kế đại diện cho

(8)

Domain Model - Design Model Classes

(9)

Xây dựng sơ đồ lớp thiết kế

Các bước xây dưng sơ đồ lớp thiết kế

(10)

Các cách tiếp cận xác định lớp

1 Tiếp cận theo thưc thể nghiệp vụ 2 Tiếp cận theo cụm danh từ

3 Tiếp cận theo phân loại

(11)

Tiếp cận theo thực thể nghiệp vụ

Đối với thực thể vật: kiểm chứng xem có nhu câu

quan lý thông tin thưc thể hệ thống khơng?

Nếu có, xác định lớp sơ đồ phân tích biểu diễn cho thưc thể này

Xác định tên lớp: tên sư vật

(12)(13)

Tiếp cận theo thực thể nghiệp vụ

Đối với thưc thể thông tin:

Nếu thưc thể mô ta thông tin hoạt động giao dịch hệ thống thì chuyển thành lớp mô hình phân tích

(14)(15)(16)

Tiếp cận theo cụm danh từ

Đề xuất Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener

Ý tưởng: xác định lớp thông qua việc đọc văn

bản mô tả use case mơ tả u cầu để tìm kiếm

(17)(18)

Tiếp cận theo cụm danh từ

(19)

Tiếp cận theo cụm danh từ

(20)

Danh từ, cụm danh từ là thuộc tính

Xác định danh từ, cụm danh từ thuộc tính: Chi đươc sử dụng giá trị

Khơng có nhiều đặc trưng riêng, chi mô ta đặc trưng đối tương khác

Ví dụ: hệ thống ATM (tiếp tục phân tích)

Số tiền:một giá trị, khơng phai lớp

Số dư tài khoản: thuộc tính lớp Tài khoan PIN không hợp lệ: giá trị, không phai lớp Mật khẩu: thuộc tính (có thể lớp Khách hàng)

(21)

Danh từ, cụm danh từ là thuộc tính

(22)

Danh từ, cụm danh từ là thuộc tính

Loại bỏ ứng viên

Loại bỏ ứng viên không mục tiêu không thuộc phạm vi hệ thống:

􀂄 Thông điệp 􀂄 Hệ thống 􀂄 Mẫu tin 􀂄 Ngân quỹ 􀂄 VND

(23)

Danh từ, cụm danh từ là thuộc tính

ATM: lớp

Máy ATM: cung cấp giao diện tới ngân hàng

Thẻ ATM: cung cấp khách hàng với khoá tới tài khoan

Khách hàng: khách hàng cá nhân sử dụng máy ATM, có tài khoan.

Ngân hàng: khách hàng phụ thuộc vào ngân hàng Nó nơi tập trung tài khoan

xử lý giao dịch tài khoan

Tài khoản: mơ hình hoá tài khoan khách hàng cung cấp dịch vụ tài khoan

(24)

Xác định lớp phần mềm

Xác định lớp mà tham gia vào giai pháp phân mềm Các lớp đươc tìm thấy cách duyệt tất ca sơ đồ tương tác danh sách lớp domain model

(25)

Xác định lớp phần mềm

Ví dụ: Một hệ thống máy tính tiền sử dụng để ghi lại doanh thu

và xử lý khoản toán, sử dụng cửa hàng bán lẻ, hệ thống bao gồm thành phần phần cứng máy tính và máy quét mã vạch

Hệ thống giao tiếp với ứng dụng khác máy tính thuế, hệ thống kiểm soát hàng tồn kho, kho lưu trữ sản phẩm theo Loại sản phẩm.

(26)

Xác định lớp phần mềm

(27)

Xác định lớp phần mềm

(28)

Tiếp cận theo phân loại

Tiếp cận theo phân loại: phân loại lớp hệ thống dưa mẫu chung

􀂄 Lớp khái niệm (concept): Một khái niệm quan niệm sư hiểu biết riêng biệt giới

Lớp khái niệm bao gồm nguyên lý đươc dùng để tổ chức để lưu trữ hoạt động trao đổi mặt quan lý

􀂄 Ví dụ: lớp khái niệm là: phương pháp, hiệu năng, mơ hình, môn học… 􀂄 Lớp kiện (event):

􀂄 Lớp sư kiện điểm thời gian cân đươc lưu trữ Các sư việc xay thời điểm, bước dãy tuân tư bước

(29)

Tiếp cận theo phân loại

Lớp tổ chức (organisation): tập hơp người,

tài nguyên, phương tiện, nhóm xác định chức người dùng 􀂄 Ví dụ: đơn vị, phận, phịng ban, chức danh,…

􀂄 Lớp người (people): lớp người thể vai trò khác người dùng việc tương tác với hệ thống Những đối tương thường người dùng hệ

thống người không sử dụng hệ thống thông tin họ đươc lưu trữ hệ thống

(30)

Tiếp cận theo phân loại

Lớp vị trí (place): Các vị trí vật lý mà hệ thống cân mơ ta thơng tin nó.

􀂄 Ví dụ: tồ nhà, kho, văn phịng, chi nhánh, đại lý,…

􀂄 Lớp vật hữu hình thiết bị: đối tương vật lý nhóm đối tương hữu hình mà cam nhận trưc quan thiết bị mà hệ thống

tương tác

(31)

Tiếp cận theo phân loại

(32)(33)

Tiếp cận theo phân tích hoạt động usecase

Phân tích use case “Giải PIN khơng hợp lệ” Các hoạt động khách hàng thực với hệ thống:

􀂄 Đưa vào thẻ ATM 􀂄 Nhập mã PIN 􀂄 Rút thẻ ATM

(34)(35)(36)(37)(38)

StereoType lớp

(39)

StereoType lớp

(40)

StereoType lớp

(41)

StereoType lớp

(42)(43)

Xác định mối quan hệ các lớp

Xác định mối kết hợp association: Hướng dẫn xác định mối kết hợp:

􀂄 Một sư phụ thuộc hai hay nhiều lớp thiết lập thành mối kết hơp Mối kết hơp thường tương ứng với động từ cụm giới từ thành phần của, làm việc cho, chứa

trong, …

(44)(45)(46)(47)

Loại bỏ mối kết hợp không cần thiết

Mối kết hợp đa phân: mối kết hơp ba lớp trở lên, mối kết

hơp phức tạp cách thể

(48)

Loại bỏ mối kết hợp không cần thiết

Mối kết hợp trực tiếp dư thừa: mối kết hơp đươc định nghĩa

(49)

Loại bỏ mối kết hợp không cần thiết

Mối kết hợp trực tiếp dư thừa: mối kết hơp đươc định nghĩa

(50)(51)(52)

Loại bỏ mối kết hợp không cần thiết

Nâng cấp mối kết hợp:

􀂄 Xác định mối kết hợp tổng quát – chuyên biệt (generalization): Thể quan hệ kế

thừa lớp cấu trúc phân cấp xác định dòng kế thừa

􀂄 Tiếp cận top-down:

􀂄 Từ lớp tìm kiếm cụm danh từ chứa tên lớp tính từ (hoặc danh từ) Đánh giá xem cụm danh từ trường hợp đặc biệt cần quản lý hệ thống khơng

􀂄 Tìm kiếm xem có đặc trưng riêng lớp

(53)(54)

Loại bỏ mối kết hợp không cần thiết

Nâng cấp mối kết hợp:

􀂄 Xác định mối kết hợp tổng quát – chuyên biệt (generalization):

􀂄 Tiếp cận bottom-up:

􀂄 Tìm kiếm lớp để xác định xem có thuộc tính phương thức giống Sau

chúng ta gom nhóm đưa thuộc tính phương thức chung lên lớp tổng quát (trừu tượng)

􀂄 Tạo mối kết hợp tổng quát hoá từ lớp đến lớp tổng quát xác định

(55)

Loại bỏ mối kết hợp không cần thiết

Vấn đề đa thừa kế:

􀂄 Phức tạp vấn đề kế thừa

(56)

Loại bỏ mối kết hợp không cần thiết

Vấn đề đa thừa kế:

􀂄 Phức tạp vấn đề kế thừa

(57)

Loại bỏ mối kết hợp không cần thiết

Xác định mối kết hơp thành phân (a-partof, aggregration) 􀂄 Đặc trưng ban

􀂄 Tính bắc cầu: Nếu lớp A thành phân lớp B lớp B thành phân

lớp C lớp A thành phân lớp C

(58)

Loại bỏ mối kết hợp không cần thiết

Xác định mối kết hơp thành phân (a-partof, aggregration)

(59)

Loại bỏ mối kết hợp không cần thiết

Vật chứa: đối tương vật lý chứa đưng thành phân không đươc cấu

(60)

Loại bỏ mối kết hợp không cần thiết

Tập hợp – thành viên: đối tương khái niệm chứa thành phân vật lý

hoặc khái niệm

(61)

Loại bỏ mối kết hợp không cần thiết

Tập hợp – thành viên: đối tương khái niệm chứa thành phân vật lý

hoặc khái niệm

(62)

Xác đinh thuộc tính

Câu hỏi:

􀂄 Thơng tin gì đối tương đươc quan lý ? 􀂄 Nguyên tắc:

􀂄 Tên: danh từ; cụm danh từ

􀂄 Đơn gian: chi dùng đủ thuộc tính để diễn đạt trạng thái đối tương giai đoạn phân tích (thuộc tính đươc bổ sung chi tiết giai đoạn tiếp theo)

(63)

Xác đinh thuộc tính

Lớp Khách Hàng: Phân tích lân lươt tất ca use case có liên quan đến lớp Khách

(64)

Xác đinh phương thức

Các phương thức mơi lớp đươc xác định cách phân tích biểu đồ tương tác.

(65)

Xác đinh phương thức

Câu hỏi:

􀂄 Các đối tương chịu trách nhiệm xử lý gì thơng tin để cung cấp dịch vụ cho hệ thống?

􀂄 Nguyên tắc:

􀂄 Tên: động từ + bổ ngữ

􀂄 Chi quan tâm đến method có phạm vi tồn cục (public), method có phạm vi cục đươc phát giai đoạn thiết kế cài đặt (vd: constructor, ….)

(66)

Xác đinh phương thức

Phân tích dịng message sơ đồ tuân tư để xem chuyển hoạt động thành method khơng?

􀂄 Nếu có, đặt tên cho method ứng với hoạt động

(67)(68)

Tinh chế thuộc tính

Kiểu thuộc tính

􀂄 Thuộc tính đơn trị

􀂄 Thuộc tính đa trị: dùng cấu trúc, list, array, bag để khai báo cài đặt

􀂄 Ví dụ: thuộc tính sốĐiệnThoại lớp NhânViên đa trị 􀂄 địaChỉ[3]: String

(69)

Tinh chế thuộc tính

<Phạm vi> <tên> : <kiểu thuộc tính> = <giá trị khởi tạo>

(70)

Tinh chế thuộc tính

<phạm vi> <tên> <(danh sách tham số)>: <kiểu tra về>

􀂄 Các method đa số method có phạm vi tồn cục 􀂄 Ví dụ:

􀂄 +get_Tên(): String

(71)

Xác đinh phương thức

(72)

Xác đinh phương thức

Một số vấn đề với tên phương thức

Thông điệp Create sơ đồ tương tác, chi đối tương đươc khởi tạo, chuyển thiết kế

sang ngơn ngữ lập trình hướng đối tương, phai đươc thể ngữ canh ngôn ngữ thưc

(73)

Xác đinh phương thức

Một số vấn đề với tên phương thức

◦ Một thông điệp dạng (multiobject) truyền tới đối tương chứa bên lớp đó ◦ Ví dụ: Find() thông điệp đến tập đối tương

Vì vậy, Find() không phai phân lớp Productspecification; phân interface

(74)

Bổ sung role vào mối quan hê

Bổ sung điều hướng vào mối quan hệ:

Điều hướng thuộc tính Role, chi mối quan hệ đươc thưc từ lớp nguồn đến lớp

mục tiêu.

(75)

Bổ sung role vào mối quan hê

Ví dụ:

(76)(77)(78)(79)(80)(81)(82)(83)

Sử dụng Package tổ chức domain model

Để dễ dàng phân thiết kế hướng đối tương, domain model đươc tổ chức thành package

(84)

Nhóm lớp vào Package

Nguyên tắc 1: nhóm lớp vào package phai thỏa tiêu chí gắn kết (coherence) sau:

Mục tiêu: lớp phai tra dịch vụ đáp ứng yêu câu người dùng

Ổn định: sư cô lập lớp package phai thưc sư ổn định

trình phát triển dư án, sau

Thời gian sống đối tượng: tiêu chí giup phân biệt đươc lớp

mà đối tương có thời gian sống rất khác

(85)

Nhóm lớp vào Package

Cách chọn lớp vào package cân phai:

◦ Có chủ đề, có quan hệ

chặt chẽ khái niệm mục đích

(86)

Nhóm lớp vào Package

Ký hiệu Package UML: đươc hiển thị thư mục dạng

tab, Subordinate packages đươc hiển thị bên

Tên packages

(87)

Quyền sở hữu tham chiếu

Quyền sở hữu:

◦ Một phân tử đươc sở hữu package chứa

◦ Tuy nhiên, Một phân tử đươc tham chiếu đến phân tử package

khác Trong trường hơp này, tên phần tử đươc xác định tên package theo định dạng: PackageName::ElementName

(88)

Package phụ thuộc

Nếu phân tử mô hình phụ thuộc vào phân tử khác thì giữa chung có mối quan hệ phụ thuộc

Một package phụ thuộc chi phân tử bên kết hơp với phân tử package mục tiêu

(89)

Package phụ thuộc

(90)

Ví dụ 1

(91)

Ví dụ 1

(92)

Ví dụ 1

(93)

Ví dụ 1

(94)

Bài tập

Cho domain model hệ thống đặt vé máy bay, chia domain model thành package sau cho đam bao:

◦ Tính kết dính mơi package

◦ Giam tối thiểu sư phụ thuộc package ◦ Dịch vụ môi package gì?

(95)(96)

Bài tập

Gợi ý:

◦ Package 1: gồm lớp liên quan đến chuyến bay ◦ Package 2: lớp liên quan đến việc đặt vé

Lưu ý:

Lớp flight đặt Package tốt nhất để đam bao thời gian

(97)

Bài tập

(98)

Bài tập

(99)

Bài tập

Giai pháp 2: lớp Flight package Bookings đam bao đươc tiêu chí:

◦ Thời gian sống đối tương

Flight có quan hệ chặt với việc đặt vé (Bookings) so với thông tin

(100)

Bài tập

(101)

Ngày đăng: 17/02/2021, 16:36

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

  • Đang cập nhật ...

Tài liệu liên quan