1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu mô hình hóa cấu trúc

72 954 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Mô hình hóa cấu trúc
Tác giả Nguyễn Trung Trực
Trường học Khoa CNTT
Thể loại Bài giảng
Năm xuất bản 2006
Định dạng
Số trang 72
Dung lượng 2,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tài liệu mô hình hóa cấu trúc

Trang 1

Chương 7

Mô hình hóa cấu trúc

Trang 2

Nội dung

bản CRC, các sơ đồ lớp và các sơ đồ đối

tượng.

lớp và các sơ đồ đối tượng.

các mô hình use-case.

Trang 3

Giới thiệu

tả cấu trúc của dữ liệu được dùng trong các quá trình nghiệp vụ của công ty.

thống sẽ được biểu diễn thông qua các

bản CRC, các sơ đồ lớp và các sơ đồ đối

tượng.

Trang 4

Mục đích của mô hình cấu trúc

(semantic gap) giữa thế giới thực và phần

mềm.

và người sử dụng.

niệm quan trọng trong lãnh vực ứng dụng.

Trang 5

Đối tượng

™ Đối tượng (object) có thể biểu diễn một

người, vị trí, sự kiện hoặc giao dịch.

f Đối tượng cụ thể (concrete)

f Đối tượng trừu tượng (abstract)

Trang 6

Đối tượng

f Từ đầu tiên: viết chữ thường.

f Các từ kế tiếp: viết chữ hoa cho ký tự đầu tiên.

Trang 7

Đối tượng

myWasher: WashingMachine brandName = “Laundatorium”

modelName = “Washmeister”

serialNumber = “GL57774”

capacity = 16

Object Name Attributes

Operations

An object has a specific value for every one of its class’s attributes

Trang 8

có cùng các thuộc tính, các tác vụ, các mối liên kết và ngữ nghĩa.

thể hiện của lớp này.

các thể hiện hoặc các đối tượng.

f Lớp cụ thể (concrete)

f Lớp trừu tượng (abstract)

f Têngói:: Tênlớp

f Viết chữ hoa cho ký tự đầu tiên của mỗi từ.

Trang 9

A Class with its attributes and operations

Trang 10

1 // An actor with “name” and “stage name” attributes

2 public class Actor {

3 // Fields

4 private String name, stageName;

5 // Create a new actor with the given stage name

6 public Actor(String sn) {

7 name = “<None>”;

8 stageName = sn;

9 }

10 // Get the name

11 public String getName() {

12 return name;

13 }

14 // Set the name

15 public void setName(String n) {

16 name = n

17 }

18 // Get the stage name

19 public void setStageName() {

20 return stageName

21 }

22 // Set the stage name

23 public void setStageName(String sn) {

24 stageName = sn

25 }

26 // Reply a summary of this actor’s attributes, as a string

27 public String toString() {

28 return “I am known as “ + getStageName() + “, but my real name is “ + getName()

29 }

Trang 11

Class name Referring to the class

elsewhere in our code.

Actor, line 2

Fields Describing the information

stored by this kind of object.

name and stageName, line 4

Constructors Controlling initialization of

the objects.

Actor(), line 6

Messages Providing other objects with

a way to use the objects.

behave.

lines 12, 16, 20, 24, 28

Comments Telling programmers how to

use or maintain the class (ignored by the compiler).

lines starting //, e.g lines 1, 3

Trang 13

Lớp và đối tượng

Trang 14

Thuộc tính

™ Thuộc tính (attribute) là một đặc tính được

đặt tên của một lớp, dùng để mô tả một miền trị có thể gán cho các thể hiện của thuộc tính này.

thuộc tính.

cho công việc.

f Từ đầu tiên: viết chữ thường.

f Các từ kế tiếp: viết chữ hoa cho ký tự đầu tiên.

Trang 15

Thuộc tính

WashingMachine brandName: String = ‘Laundatorium”

modelName: String serialNumber: String capacity: Integer

An attribute can show its types as well as a default value

Trang 16

f Thuộc tính đa trị (multivalued attribute): chứa

nhiều giá trị thuộc cùng một miền trị.

f Thuộc tính phức hợp (composite attribute):

một nhóm gồm các thuộc tính liên quan với nhau.

f Thuộc tính dẫn xuất (derived attribute) là

thuộc tính được suy từ các thuốc tính khác,

ký hiệu / đứng trước tên thuộc tính.

Trang 17

Thuộc tính

™ Kiểu mở rộng (stereotype) là một thành phần (construct) cho phép mở rộng từ vựng của UML.

f Kiểu mở rộng khóa chính: <<PK>>.

f Kiểu mở rộng đa trị: <<Multivalued>>.

Trang 18

Thuộc tính

Primary key is a unique identifier; no two Student instances will have the same studentId value.

The Identifier shown by the Stereotype <<PK>>

Trang 20

Thuộc tính

Composite attributes have multiple sections (subattributes).

They are treated as separate classes in conceptual data models.

Attribute Address shown as a type Address

Composite attribute Address shown as a Class

Composite attribute Address shown as a Class

Trang 21

Phương thức và thông điệp

của nó, bao gồm tên, các tham số và kiểu trả về.

f Tương tự với một hàm hoặc một thủ tục.

Trang 22

Phương thức và thông điệp

WashingMachine brandName

modelName serialNumber capacity

addClothes(C: String) removeClothes(C: String) addDetergent(D: Integer) turnOn(): Boolean

The signature for an operation

Trang 23

Phương thức và thông điệp

™ Thông điệp (message) được gửi đến các

phương thức của đối tượng.

f Gọi thủ tục (procedure call) từ một đối tượng

này đến đối tượng khác.

™ Tính sử dụng lại (reusability) là một đặc

tính sử dụng một đối tượng bằng cách gọi các phương thức.

Trang 24

Phương thức và thông điệp

Signature identifies and invokes the behavior

Method implements the behavior

An Operation with Signature and Method Written in PL/SQL

Trang 25

Phương thức và thông điệp

Trang 26

Tính khả kiến

™ Tính khả kiến (Visibility) được áp dụng cho

các thuộc tính và các phương thức của một lớp và cho phép các lớp khác có thể

sử dụng các thuộc tính và các phương thức của lớp này (phương thức giao tiếp).

f Public: ký hiệu + , các lớp khác có thể sử dụng được.

f Protected: ký hiệu # , chỉ các lớp có thừa kế

từ lớp này sử dụng được.

f Private: ký hiệu - , chỉ có lớp này sử dụng được.

Trang 27

Tính khả kiến

Television + brandName

+ modelName + accelerate() + brake()

# updateMileageCount ()

Trang 28

Tính tổng quát hóa

™ Lớp cha (superclass, general class, parent

class) là lớp ở phía trên của cây phân cấp

lớp.

™ Lớp con (subclass, specific class, child

class) là lớp ở phía dưới của cây phân cấp

lớp.

™ Tính tổng quát hóa (generalization) là mối

liên kết giữa một lớp cha với một lớp con.

các phương thức riêng.

Trang 29

Tính tổng quát hóa

Class Hierarchy

Trang 30

Tính tổng quát hóa

Generalization represented by arrows from subclass to

superclass

Subclasses inherit all attributes and

operations of superclasses

An Example of Generalization

Trang 31

Tính tổng quát hóa

Multiple inheritance is complicated and not supported by all

object-oriented programming languages.

Generalization based on two characteristics

Trang 32

Tính thừa kế

™ Tính thừa kế (inheritance) là một cơ chế

mà lớp con trong mối liên kết tổng quát hóa có được các thuộc tính và các tác vụ của lớp cha.

các phương thức của các lớp cao hơn trong cây phân cấp lớp.

Trang 33

Tính thừa kế

Trang 34

Tính đa hình và kết nối động

™ Tính đa hình (polymorphism) là khả năng

của các đối tượng khác nhau đáp ứng các thông điệp giống nhau theo các cách khác nhau.

f Một thông điệp có thể được hiểu khác nhau tùy theo các lớp đối tượng khác nhau.

f Các hành vi khác nhau đối với cùng một thông điệp.

™ Polymorphism = “having many forms”.

Trang 35

™ Kết nối tĩnh (static binding) là một kết nối

mà kiểu của đối tượng được xác định ở thời gian biên dịch.

Trang 36

Tính đa hình và tính bao đóng

Here, each type of

vehicle has its own

version of calcPrice()

An Example of Polymorphism

Trang 37

Tính đa hình và tính bao đóng

Trang 38

Mối liên kết

™ Mối liên kết (relationship / association) là

mối quan hệ ngữ nghĩa giữa các đối tượng của một hoặc nhiều lớp.

bằng một đường nối giữa hai hoặc nhiều lớp (hoặc nối cùng một lớp).

Trang 39

Mối liên kết

Roles identify the purpose of each class in the relationship.

Relationship between Classes

Trang 40

Mối liên kết

™ Các loại mối liên kết

f Mối liên kết đơn giản (simple relationship): không có mối quan hệ chủ (ownership),

không có đối tượng phụ thuộc vào đối tượng khác.

f Mối liên kết bao gộp (aggregation

relationship): mối quan hệ bộ phận-toàn thể

(part-whole relationship) mà một bộ phận có

thể tồn tại độc lập với toàn thể.

f Mối liên kết hợp thành (composition

relationship): mối liên kết bộ phận-toàn thể

mà một bộ phận và toàn thể hoàn toàn phụ thuộc lẫn nhau.

Trang 41

Mối liên kết

Transaction and Line Items as Composition

Loosely Bound Aggregation

Trang 42

Mối liên kết

™ Bậc của mối liên kết (relationship degree)

là số lượng các lớp tham gia đồng thời vào mối liên kết.

f Mối liên kết một ngôi (unary relationship) là

mối liên kết giữa các đối tượng của cùng một lớp.

f Mối liên kết hai ngôi (binary relationship) là

mối liên kết giữa các đối tượng của hai lớp lớp khác nhau.

f Mối liên kết ba ngôi (ternary relationship) là

mối liên kết giữa các đối tượng của ba lớp khác nhau.

Trang 43

Mối liên kết

Unary Relationship

Binary Relationship

Trang 44

Mối liên kết

Ternary Relationship

Trang 45

Mối liên kết

™ Lượng số của mối liên kết (relationship

cardinality / multiplicity) là số lượng đối

tượng của lớp A có thể hoặc phải liên kết với mỗi đối tượng của lớp B.

f Lượng số nhỏ nhất (minimum cardinality) là

số lượng nhỏ nhất các đối tượng của lớp A liên kết với mỗi đối tượng của lớp B.

f Lượng số lớn nhất (maximum cardinality) là

số lượng lớn nhất các đối tượng của lớp A liên kết với mỗi đối tượng của lớp B.

™ Các loại lượng số

f One – to – one

f One – to – many

f Many – to – many

Trang 46

Mối liên kết

Husband 1 is married to ► 1 Wife one–to–one

Teacher 1 teaches ► * Student one–to–many

takes ►

one–to–12 through 18

Tricycle 1 has ► 3 Wheel one–to–three

Egg Box 1 holds ► 12,24 Egg one–to–12 or 24

Trang 47

Mối liên kết

Roles make it clearer to see which should be on the one side and which should be on the many side of the

relationship.

Use of Roles to illustrate Cardinality in a 1:M Unary Relationship

Trang 48

Mối liên kết

Cardinality in a Ternary Relationship

Trang 49

Lớp kết hợp

™ Lớp kết hợp (associative class) là một lớp

và chứa các thuộc tính của mối liên kết.

nối với một mối liên kết bằng một đường thẳng nét đứt.

lớp khác.

Trang 52

Các sơ đồ cấu trúc

™ Các sơ đồ cấu trúc

f Sơ đồ lớp (class diagram)

f Sơ đồ đối tượng (object diagram)

f Sơ đồ gói (package diagram)

f Sơ đồ triển khai (deployment diagram)

f Sơ đồ thành phần (component diagram)

f Các sơ đồ cấu trúc phức hợp (composite

structure diagram)

Trang 54

Các sơ đồ cấu trúc

Class Diagram

Trang 56

Các sơ đồ cấu trúc

Object Diagram

Trang 57

Các sơ đồ cấu trúc

™ Sơ đồ gói

f package diagram

f Gom nhóm các phần tử của UML với nhau để

tạo ra các cấu trúc ở mức cao hơn.

Trang 58

Các sơ đồ cấu trúc

Package Diagram of Dependency Relationships Among Layers

Trang 59

Các sơ đồ cấu trúc

Package Diagram of Appointment System

Trang 60

f composite structure diagram

f Cho thấy cấy trúc bên trong của một lớp.

Trang 61

Các sơ đồ cấu trúc

Three Versions of Appointment System Deployment Diagram.

Trang 62

Các sơ đồ cấu trúc

Simple Internet Architecture

Trang 63

Trách nhiệm và sự cộng tác

™ Trách nhiệm

f responsibility

f Trách nhiệm là sự mô tả về những gì mà một lớp phải thực hiện.

f Trách nhiệm được thể hiện bằng các tác vụ của lớp.

f Ví dụ: trách nhiệm của máy giặt là nạp vào đồ

cho ra đồ sạch .

Trang 64

Trách nhiệm và sự cộng tác

WashingMachine

<<id info>>

brandName modelName serialNumber

<<machine info>>

capacity

<<clothes-related>>

addClothes() removeClothes() addDetergent()

<<machine-related>>

turnOn()

Trang 66

Thẻ CRC

CRC – Class-Responsibility-Collaboration

Trang 67

Thẻ CRC

CRC – Class-Responsibility-Collaboration

Trang 69

Đơn giản hóa sơ đồ lớp

thấy tập con thông tin.

(hoặc các phần tử trong UML).

Trang 70

Xác định đối tượng

f Các danh từ gợi ý các lớp .

f Các động từ gợi ý các tác vụ .

Trang 71

Các kiểu mẫu (pattern)

Trang 72

1. Tạo các thẻ CRC bằng cách thực hiện việc phân tích văn bản của các use-case.

2 Bổ sung các lớp, các thuộc tính, các tác vụ và các mối liên kết bằng cách sử dụng cách tiếp cận liệt kê đối tượng chung.

3. Thực hiện mỗi use-case bằng cách sử dụng các thẻ CRC.

4. Tạo sơ đồ lớp dựa vào các thẻ CRC.

5 Xem lại mô hình cấu trúc để phát hiện các lớp, các thuộc tính, các tác vụ và các mối liên kết bị thiếu và / hoặc không cần thiết.

6 Kết hợp các kiểu mẫu có ích.

7 Xem lại mô hình cấu trúc.

Các bước để xác định đối tượng và mô hình hóa cấu trúc

Ngày đăng: 16/08/2012, 11:49

HÌNH ẢNH LIÊN QUAN

Mô hình hóa cấu trúc - Tài liệu mô hình hóa cấu trúc
h ình hóa cấu trúc (Trang 1)
™ Mối liên hệ giữa các mô hình cấu trúc và các mô hình use-case. - Tài liệu mô hình hóa cấu trúc
i liên hệ giữa các mô hình cấu trúc và các mô hình use-case (Trang 2)
™ Mô hình cấu trúc hoặc mô hình ý niệm mô tảcấu trúc của dữliệu đượ c dùng trong  các quá trình nghiệp vụcủa công ty. - Tài liệu mô hình hóa cấu trúc
h ình cấu trúc hoặc mô hình ý niệm mô tảcấu trúc của dữliệu đượ c dùng trong các quá trình nghiệp vụcủa công ty (Trang 3)
Mục đích của mô hình cấu trúc - Tài liệu mô hình hóa cấu trúc
c đích của mô hình cấu trúc (Trang 4)
Tính đa hình và kết nối động - Tài liệu mô hình hóa cấu trúc
nh đa hình và kết nối động (Trang 34)
Tính đa hình và kết nối động - Tài liệu mô hình hóa cấu trúc
nh đa hình và kết nối động (Trang 35)
Tính đa hình và tính bao đóng - Tài liệu mô hình hóa cấu trúc
nh đa hình và tính bao đóng (Trang 36)
Tính đa hình và tính bao đóng - Tài liệu mô hình hóa cấu trúc
nh đa hình và tính bao đóng (Trang 37)
Tính đa hình và tính bao đóng - Tài liệu mô hình hóa cấu trúc
nh đa hình và tính bao đóng (Trang 37)
5. Xem lại mô hình cấu trúc để phát hiện các lớp, các thuộc tính, các tác vụvà các mối liên kết bị - Tài liệu mô hình hóa cấu trúc
5. Xem lại mô hình cấu trúc để phát hiện các lớp, các thuộc tính, các tác vụvà các mối liên kết bị (Trang 72)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w