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

Lập trình hướng đối tượng với UML ppsx

53 544 2
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 đề Lập trình hướng đối tượng với UML
Trường học Hanoi Agricultural University
Chuyên ngành Software Engineering
Thể loại Giáo trình
Năm xuất bản 2006
Thành phố Hà Nội
Định dạng
Số trang 53
Dung lượng 3,12 MB

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

Nội dung

 use case diagram: các tình huống sử dụng, cho biết người dùng tương tác với hệ thống thế nào?.  conceptual class diagram: mô tả các đối tượng của hệ thống ở mức khái niệm  activity d

Trang 1

Unified Modeling Language

Đặng Xuân Hà

Department of Software Engineering Faculty of Information Technology Hanoi Agricultural University

Office phone: 84-4-8276346; Ext.:132 Office location: 3rd floor, Administration building Email: dxha at hau1.edu.vn; dangxuanha at gmail.com Website: http://www.hau1.edu.vn/it/dxha

Trang 2

hướng đối tượng.

 UML là chuẩn mở, đưa ra bởi OMG (Object Management Group), 1997

 Hiện được sử dụng khá rộng rãi (UML 1.0/2.0)

Trang 3

Structured programming

 In Structured Programming, the general method was to

look at the problem, and then design a collection of

functions that can carry out the required tasks If these

functions are too large, then the functions are broken down until they are small enough to handle and understand This

is a process known as functional decomposition.

 Most functions will require data of some kind to work on The data in a functional system was usually held in some kind of database (or possibly held in memory as global

variables)

Trang 4

School management example

Trang 5

 What happens when changing the "Date of Birth" field in the Student, from a two-digit year to a four-digit year

(Y2K, the millennium bug)

Trang 6

The Object Orientated Approach

 Grouping of the related data and functions, in the form of modules  lessen changing impact

Trang 7

Notations

(ký hiệu)

Trang 9

hình lấy từ Wikipedia

Trang 10

UML diagrams

Trang 11

UML diagrams

Trang 12

Waterfall and Spiral

Tên các tiến trình trên hình có thể khác với textbook của Ian

Trang 13

Rational Unified Process

The Rational Unified Process (RUP) is an iterative

software development process created by the Rational

Software Corporation, now a division of IBM The RUP is

an extensive refinement of the (generic) Unified Process

 RUP và UML thường đi cùng nhau trong quá trình phát triển phần mềm

Ph ase iteration

In ception Elaboration Con stru ction Transition

Trang 15

Possible timings for each phase

Trang 16

UML trong quy trình phát triển phần mềm

 Phân tích yêu cầu (req analysis): khách hàng/người dùng muốn gì?

 use case diagram: các tình huống sử dụng, cho biết

người dùng tương tác với hệ thống thế nào?

 conceptual class diagram: mô tả các đối tượng của hệ thống ở mức khái niệm

 activity diagram: chi tiết hoá các tình huống sử dụng

 state diagram

Cần đơn giản hoá việc dùng các ký pháp của UML đối với khách hàng do họ không/ít biết UML

Trang 17

UML trong quy trình phát triển phần mềm

 Viết tài liệu:

 Các diagrams cung cấp một cái nhìn tổng thể phần mềm đang phát triển.

 Viết thêm một số tài liệu để trình bày những ý tưởng quan trọng chưa có trong các diagrams và sinh thêm tài liệu khi viết mã (có thể từ công cụ viết mã, vd JavaDoc)

Trang 18

Class diagram

Mô tả các kiểu đối tượng của hệ thống và các mối liên hệ

giữa chúng

 Các đặc trưng (feature) của class:

 thuộc tính (properties): mô tả các

đặc trưng về mặt cấu trúc

 atributes

 associations

 hành vi (operations/methods)

Trang 19

 Cú pháp:

visibility name: type multiplicity = default {property-string}

 Trong đó:

 visibility: + (public) –(private)

 name: tên của atribute

 multiplicity: số lượng đối tượng phải điền cho thuộc

tính ([1]; [0 1]; [*]; optional; mandatory; single-valued; multi-valued)

 default: giá trị mặc định

 property-string: cho phép thiết lập một số thuộc tính đặc biệt, vd: {readOnly}; {ordered};

Trang 20

Attributes example

Trang 21

 Một thuộc tính (properties) có thể là một đối tượng của class khác: sử dụng liên kết (association)

 Thể hiện bằng đường nối liền giữa các classes

 Tên của thuộc tính được ghi ở phía target, kèm theo multiplicity

Trang 22

Bidirectional association (liên kết 2 chiều)

Trang 23

Khi nào dùng atribute/association

 Atribute được sử dụng với những thuộc tính có kiểu dữ

liệu đơn giản (Boolean, date )

 Association dùng cho các kiểu dữ liệu phức tạp hơn (khách hàng, đơn hàng )

Trang 24

 parameter-list: danh sách tham số, có dạng:

direction name: type = default value

với direction: in (vào); out (ra); inout (vừa vào vừa ra)

VD: +balanceOn (date:Date) : Money

Trang 25

 Khi có nhiều lớp có những thuộc tính/hành động giống

nhau  tổng quát hoá

 Giống khái niệm kế thừa trong lập trình hướng đối tượngVD: Lớp khách hàng có các lớp con (subtype/subclass) là khách hàng thường xuyên hay khách lẻ

 Khả năng có thể thay thế (substitutability): có thể thay thế một lớp bằng subtype trong đoạn mã nào đó

Vd: Các tác động lên khách hàng thì cũng có thể tác động lên khách hàng lẻ

Trang 27

Sự phụ thuộc lẫn nhau

 Sự phụ thuộc tồn tại giữa hai phần tử nếu sửa phần tử này (supplier) sẽ phải sửa phần tử kia (client)

 Hệ thống càng lớn, việc kiểm soát sự phụ thuộc càng khó

 Hai phần tử phụ thuộc được nối với nhau bởi đường nét đứt trên diagram (mũi tên chỉ về phía supplier)

Trang 28

Dependency example

Trang 29

Ghi chú

 Ghi chú được nối với phần tử trên diagram bằng đường nét đứt

Trang 30

Sequence diagram

 Interaction diagram (lược đồ tương tác): diễn tả tương tác giữa một nhóm đối tượng trong một số hành động cụ thể

 Sequence diagram là một loại interaction diagram, sử dụng

để diễn đạt sự tương tác theo một kịch bản tình huống sử dụng nào đó

Trang 32

seq diag : điểu khiển phân tán

Trang 33

Tạo mới và huỷ bỏ các phần tử (đối tượng)

Trang 34

Lặp/rẽ nhánh

Trang 36

Khi nào dùng sequence diagram

 Khi muốn xem xét hành động của nhiều đối tượng trong một tình huống cụ sử dụng cụ thể

 Nếu chỉ xem xét một đối tượng  dùng state diagram

Trang 37

Package diagram

 Class: nhỏ/nhiều

 Package: nhóm các phần tử lại, cấu trúc hoá các hệ thống lớn

 Class có thể nằm trong package

 Package có thể nằm trong package lớn hơn

 Trong cùng package (namespace), tên các phần tử là khác nhau

 VD: system::Date & Martin::Util:Date

Trang 39

Package dependency

Thích hợp cho việc quản lý

sự phụ thuộc các phần tử trong hệ thống lớn

Trang 40

Deployment diagram

Hệ thống sẽđược triển khainhư thế nào?

Môi trườngliên quan?

Soft/hardware?

Trang 41

Use case

 Use case (tình huống sử dụng): tập hợp các kịch bản

hướng tới mục tiêu cụ thể của người dụng

 Actor: người dùng trong các tình huống cụ thể

 Mức độ:

 system use case: tương tác với hệ thống

 business: kết quả/phản ứng của công việc

 Để diễn đạt use case:

 use case text

 use case diagram

Trang 42

Use case text

Trang 43

Use case diagram

 Use case giúp hiểu yêu cầu

Trang 44

State machine diagram

Trang 46

Decomposing an action

Trang 48

on an activity

Trang 49

Communication/collaboration diagram

Trang 50

 Vẽ bằng tay??

 IBM Rational Rose

 Umbrello (open source software)

 Microsoft Visio

Trang 51

Bài tập: Vẽ sequence từ collaboration

Trang 52

Tài liệu tham khảo

 Martin Fowler, UML Distilled, 3rd edition,

Addison-Wesley, 2004

Ngày đăng: 10/07/2014, 13:20

HÌNH ẢNH LIÊN QUAN

Hình lấy từ Wikipedia - Lập trình hướng đối tượng với UML ppsx
Hình l ấy từ Wikipedia (Trang 9)

TỪ KHÓA LIÊN QUAN