Tài liệu PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG DÙNG UML pdf

176 892 1
Tài liệu PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG DÙNG UML pdf

Đ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

SỐNG VỚI HỘI CHỨNG DOWN Trương Đai hoc Bach Khoa Tp Hừ Chđ Minh Khoa Cưng Nghï Thưng Tin Mưn hoc PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG DÙNG UML Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Slide Nöi dung mön hoc n lai s ́ khai ni m ban cua hương ₫ ́i tương, cac ng n ngư hương ₫ ́i tương thương dung, ch ́ dịch cac type/class sang ng n ngư c ̉ ₫i ̉n (ng n ngư may) n lai qui tr nh phat tri ̉n ph ̀n m ̀m hơp nh ́t n lai ng n ngư UML ₫ươc dung ₫ ̉ mi u ta cac artifacts cua qui tr nh phat tri ̉n ph ̀n m ̀m hơp nh ́t Giơi thi u cac m ̃u thi ́t k ́ hương ₫ ́i tương ₫ươc dung ph ̉ bi ́n cac ưng dung hi n hanh va cac ưng dung tương lai Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Slide Tai liïu tham khao chñnh [1] The Unified Software Development Process, Ivar Jacabson, Grady Booch, James Rumbaugh, Addison-Wesley, 1999 [2] Software Engineering - A practitioner's approach, R.S Pressman, McGraw-Hill, 1997 [3] Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Addison-Wesley, 1998 [4] OMG Unified Modeling Language Specification, version 1.3, Object Management Group (www.omg.org), 1999 [5] UML Toolkit, Hans-Erik Eriksson & Magnus Penker, 1998 [6] Object-Oriented Software Engineering, A Use-Case Driven Approach, I Jacobson, ACM Press/Addison-Wesley, 1992 [7] Object-Oriented Analysis and Design with Applications, G Booch, The Benjamin Cummings Publishing Company, 1994 Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Slide Trương Đai hoc Bach Khoa Tp Hừ Chđ Minh Khoa Cưng Nghï Thöng Tin Chương CAC KHAI NIÏM CƠ BAN CUA MƯ HỊNH HƯƠNG ĐƯI TƯƠNG Bư mưn Cưng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide Nöi dung 1.1 Tư lêp trịnh co cếu truc ₫ḯn OOP 1.2 Đứi tương, thc tđnh, tac vu 1.3 Abstract type va class 1.4 Tñnh bao ₫ong 1.5 Tñnh thưa kḯ va chḯ 'override' 1.6 Tđnh bao gưp 1.7 Thưng ₫iïp, tđnh ₫a hịnh va kiï̉m tra kiï̉u 1.8 Tđnh tửng quat hoa 1.9 Tđnh vưng bï̀n Bư mưn Cưng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide Tư lêp trònh co cếu truc ₫ḯn OOP May t nh s ́ la thi ́t bị co th ̉ thưc hi n s ́ hưu han cac chưc ban (t p l nh), ch ́ thưc hi n cac l nh la tư ₫ ng tư l nh ₫ ̀u cho ₫ ́n l nh cu ́i cung Danh sach cac l nh ₫ươc thưc hi n nay ₫ươc goi la chương tr nh b ́t ky c ng vi c ngoai ₫ơi nao cung co th ̉ ₫ươc chia thanh tr nh tư nhi ̀u c ng vi c nho Tr nh tư cac c ng vi c nho nay ₫ươc goi la giai thu t giai quy ́t c ng vi c ngoai ₫ơi M ̃i c ng vi c nho cung co th ̉ ₫ươc chia nho nưa, ⇒ c ng vi c ngoai ₫ơi la tr nh tư cac l nh may (chương tr nh) v ́n ₫ ̀ m ́u ch ́t cua vi c dung may t nh giai quy ́t v ́n ₫ ̀ ngoai ₫ơi la l p tr nh Cho ₫ ́n nay, l p tr nh la c ng vi c cua ngươi (vơi sư trơ giup ngay cang nhi ̀u cua may t nh) cac l nh cua chương tr nh (code) phai tham khao hoăc xư ly (truy xu ́t) th ng tin (dư li u) Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide Tư lêp trònh co cếu truc ₫ḯn OOP Dư li u cua chương tr nh co th ̉ r ́t nhi ̀u va ₫a dang Đ ̉ truy xu ́t ₫ung dư li u ta c ̀n : - t n nh n dang - ki ̉u dư li u mi u ta c ́u truc dư li u - t ̀m vưc truy xu ́t mi u ta giơi han khach hang truy xu ́t dư li u Chương tr nh c ̉ ₫i ̉n = giai thu t + dư li u Chương tr nh (function, subroutine, ) cho phep c ́u truc chương tr nh, sư dung lai code Chương tr nh c ̉ ₫i ̉n co c ́u truc ph n c ́p sau : Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide Tư lêp trònh co cếu truc ₫ḯn OOP Chương tr nh = c ́u truc dư li u + giai thu t module (package) entry 'start' global data local data of module local data of function Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide Tư lêp trònh co cếu truc ₫ḯn OOP Chương tr nh = t p cac ₫ ́i tương tương tac ₫ ́i tương (object) entry local data of object local data of operation Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide Tö̉ng quat vï̀ hương ₫ö́i tương ƒ M h nh hương ₫ ́i tương giơi thi u quan ₫i ̉m l p tr nh (va ph n t ch/thi ́t k ́) khac hăn so vơi trương phai c ̉ ₫i ̉n (co c ́u truc) ƒ Băt ₫ ̀u nhen nhom vao nhưng năm cu ́i 60s va ₫ ́n ₫ ̀u 90s th trơ n n r ́t ph ̉ bi ́n c ng nghi p ph ̀n m ̀m ƒ Nhưng ng n ngư hương ₫ ́i tương ₫ ̀u ti n : Smalltalk, Eiffel Sau ₫o xu ́t hi n th m : Object Pascal, C++, Java, C#,… ƒ H nh thanh cac phương phap ph n t ch/thi ́t k ́ hương ₫ ́i tương ƒ Va hi n ta co qui tr nh phat tri ̉n ph ̀n m ̀m hơp nh ́t dưa tr n ng n ngư UML Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide 10 Đö́i tương (Object) ~ M h nh ₫ ́i tương quan ni m chương tr nh bao g ̀m cac ₫ ́i tương sinh s ́ng va tương tac vơi ~ Đ ́i tương bao g ̀m : ƒ thu c t nh (dư li u) : mang gia trị nh ́t ₫ịnh tai tưng thơi ₫i ̉m ƒ tac vu (operation) : thưc hi n c ng vi c nao ₫o Implementation (class) Interface (abstract type) Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide 11 Kiï̉u trưu tương (Abstract type) ~ Abstract type (type) ₫ịnh nghĩa interface sư dung ₫ ́i tương ~ Interface la t p cac entry ma b n ngoai co th ̉ giao ti ́p vơi ₫ ́i tương ~ Dung signature ₫ ̉ ₫ịnh nghĩa m ̃i entry, Signature g ̀m : ƒ t n method (operation) ƒ danh sach ₫ ́i s ́ h nh thưc, m ̃i ₫ ́i s ́ ₫ươc ₫ăc ta bơi thu c t nh : t n, type va chi ̀u chuy ̉n ₫ ng (IN, OUT, INOUT) ƒ ₫ăc ta chưc cua method (thương la chu th ch) ~ Dung abstract type (chư kh ng phai class) ₫ ̉ ₫ăc ta ki ̉u cho bi ́n, thu c t nh, tham s ́ h nh thưc ~ User kh ng c ̀n quan t m ₫ ́n class (hi n thưc cu th ̉) cua ₫ ́i tương Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide 12 Class (Implementation) ~ Class ₫ịnh nghĩa chi ti ́t hi n thưc ₫ ́i tương : ƒ ₫ịnh nghĩa cac thu c t nh dư li u : gia trị cua t ́t ca thu c t nh xac ₫ịnh trang thai cua ₫ ́i tương ƒ ki ̉u cua thu c t nh co th ̉ la type c ̉ ₫i ̉n hay abstract type, trương hơp sau thu c t nh chưa tham khao ₫ ́n ₫ ́i tương khac ƒ coding cac method va cac internal function ~ Định nghĩa cac method tao va xoa ₫ ́i tương ~ Định nghĩa cac method constructor va destructor ~ User kh ng c ̀n quan t n ₫ ́n class cua ₫ ́i tương Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide 13 Vñ du vï̀ class Java class abstract HTMLObject { protected static final int LEFT = 0; protected static final int MIDDLE = 1; protected static final int RIGHT = 2; private int alignment = LEFT; protected Vector objects = null; HTMLObject( ){ // constructor objects = new Vector (5); } public void setAlignment( int algnmt ) { alignment = algnmt; } public int getAlignment( ) { return alignment; } public abstract String toHTML( ); // abstract operation } Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide 14 Tñnh bao ₫ong (encapsulation) z Bao ₫ong : che d ́u moi chi ti ́t hi n thưc cua ₫ ́i tương, kh ng cho b n ngoai th ́y va truy xu ́t ⇒ t nh ₫ c l p cao giưa cac ₫ ́i tương (hay t nh k ́t d nh - cohesion giưa cac ₫ ́i tương r ́t th ́p) ƒ che d ́u cac thu c t nh dư li u : n ́u c ̀n cho phep truy xu ́t thu c t nh dư li u, ta tao method get/set tương ưng ₫ ̉ giam sat vi c truy xu ́t va che d ́u chi ti ́t hi n thưc b n ƒ che d ́u chi ti ́t hi n thưc cac method ƒ che d ́u cac internal function va sư hi n thưc cua chung Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide 15 Tñnh thưa kḯ (inheritance) ~ T nh thưa k ́ cho phep giam nhe c ng sưc ₫ịnh nghĩa type/class : ta co th ̉ ₫ịnh nghĩa cac type/class kh ng phai tư ₫ ̀u ma băng cach k ́ thưa type/class co săn, ta ₫ịnh nghĩa th m cac chi ti ́t mơi ma th i (thương kha t) ƒ Đa thưa k ́ hay ₫ơn thưa k ́ ƒ M ́i quan h  supertype/subtype va superclass/subclass ƒ co th ̉ override cac method cua class cha, k ́t qua override co nghĩa ₫ ́i tương class ƒ Đ ́i tương cua class co th ̉ ₫ong vai tro cua ₫ ́i tương cha ngươc lai thương kh ng ₫ung Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide 16 Vñ du vï̀ thưa kḯ va override - Java class Geometry { public Draw(Graphics g); protected int xPos, yPos; protected double xScale, yScale; protected COLORREF color; }; class Line extends Geometry { int xPos2, yPos2; // other attributes public Draw(Graphics g) { // cac l nh ve ₫oan thăng } } Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide 17 Tđnh bao gưp (aggregation) ƒ ₫ ́i tương co th ̉ chưa nhi ̀u ₫ ́i tương khac tao n n m ́i quan h  bao g p cach ₫  qui giưa cac ₫ ́i tương ƒ Co goc nh n v ̀ t nh bao g p : ngư nghĩa va hi n thưc Goc nh n ngư nghĩa Goc nh n hi n thưc O2 O2 O1 O1 O3 Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM O3 Mưn Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua m h nh hương ₫ ́i tương Slide 18 ... Thưng Tin Mưn hoc PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG DÙNG UML Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML Slide Nöi dung... ph ̀n m ̀m hơp nh ́t dưa tr n ng n ngư UML Bö mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML Chương 1: Cac khai ni m ban cua... Applications, G Booch, The Benjamin Cummings Publishing Company, 1994 Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML Bư mön Cöng nghï phền mï̀m Khoa CNTT ĐH Bach Khoa Tp.HCM Slide Trương

Ngày đăng: 10/12/2013, 04:15

Hình ảnh liên quan

hình…). Tuy nhiên việc xây dựng những phần mềm HĐT như thế phụ - Tài liệu PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG DÙNG UML pdf

h.

ình…). Tuy nhiên việc xây dựng những phần mềm HĐT như thế phụ Xem tại trang 112 của tài liệu.
‰ Hình thành kho tri thức, ngữ vựng trong giao tiếp giữa những người làm - Tài liệu PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG DÙNG UML pdf

Hình th.

ành kho tri thức, ngữ vựng trong giao tiếp giữa những người làm Xem tại trang 113 của tài liệu.
‰ Object patterns sử dụng tính ₫a hình và bao gộp ₫ể truyền thao tác từ - Tài liệu PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG DÙNG UML pdf

bject.

patterns sử dụng tính ₫a hình và bao gộp ₫ể truyền thao tác từ Xem tại trang 158 của tài liệu.
‰ Nhu cầu áp dụng: trong ứng dụng quản lý bảng tính, mỗi bảng tính là 1 - Tài liệu PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG DÙNG UML pdf

hu.

cầu áp dụng: trong ứng dụng quản lý bảng tính, mỗi bảng tính là 1 Xem tại trang 174 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan