Tải bản đầy đủ (.ppt) (75 trang)

Phân tích thiết kế hệ thống - Giới thiệu UML ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.06 MB, 75 trang )

Giới thiệu
Giới thiệu
UML
UML
Phân tích thiết kế hệ thống
07/12/14
PTTKHT - UML
2/16
N
N
ội dung
ội dung

Các khái niệm về phân tích thiết kế hướng
đối tượng

Giới thiệu UML

Nhận xét.
07/12/14
PTTKHT - UML
3/16
Một số khái niệm
Một số khái niệm

Phân tích hướng đối tượng (Object Oriented
Analysis – OOA)

Giai đoạn xây dựng một cách rõ ràng, chính xác mô hình
cho vấn đề theo ý nghĩa của thế giới thực sao cho NSD
có thể hiểu được



Thiết kế hướng đối tượng (Object Oriented Design
– OOD)

Giai đoạn tổ chức chương trình thành một tập các lớp.
Các lớp có thể nằm trong một cây kế thừa.

Lập trình hướng đối tượng (Object Oriented
Programming – OOP)
– Giai đoạn cài đặt các lớp đã được thiết kế bằng một
ngôn ngữ hướng đối tượng (C++, Java, C#, Delphi )
07/12/14
PTTKHT - UML 4/16
Một số khái niệm (tt)
Một số khái niệm (tt)

Phân tích hướng đối tượng  vấn đề được mô hình
hoá:

Theo ngữ nghĩa của thế giới thực

Qua các đối tượng sống của thế giới thực

Sao cho những người không phải là lập trình viên cũng có thế
dễ dàng hiểu được

Thiết kế hướng đối tượng  ánh xạ các đối tượng ở
bước phân tích vào bản thiết kế

bản thiết kế gần gũi đến mức tối đa với thế giới thực


ưu điểm của PTTK HĐT

Cho phép mô hình hoá các thực thể của thế giới thực, thể
hiện trung thực cấu trúc, quan hệ và tính chất hoạt động của
chúng.
07/12/14
PTTKHT - UML
5/16
Ví dụ
Ví dụ
• Bài toán bán xe máy, bước phân tích xác định
các kiểu thực thể:
– Khách hàng

Người bán hàng

Lần mua xe

Chiếc xe
• Các tương tác liên quan là:

Người bán hàng giới thiệu xe cho khách hàng

Khách hàng chọn một chiếc xe
– Khách hàng nêu yêu cầu mua xe

Khách hàng trả tiền

Chiếc xe được giao cho khách.

07/12/14
PTTKHT - UML
6/16
Ví dụ (2)
Ví dụ (2)

Bước thiết kế, các lớp được xác định là:

Khách hàng

Người bán hàng

Chiếc xe
Các phương thức là:

Khách hàng

Yêu cầu mua xe
• Chọn xe

Thanh toán

Nhận xe

Người bán hàng:

Giới thiệu xe

Lập phiếu bán hàng
• Giao xe.

07/12/14
PTTKHT - UML
7/16
Ưu điểm của PTTK HĐT
Ưu điểm của PTTK HĐT

Tiếp cận các tiến trình phân tích, thiết kế,
cài đặt theo ngữ nghĩa của thế giới thực, sát
với các khái niệm của lĩnh vực áp dụng, gần
gũi với tư duy, nhận thức của con người

Ví dụ trong bài toán của bán xe, tất cả các
bước phân tích, thiết kế và cài đặt đều nói
về Khách hàng, Người bán hàng, Chiếc xe,
Mua xe

Cho phép dễ sử dụng lại các đối tượng khi
xây dựng ứng dụng mới

Giảm lỗi vì các đối tượng đã được kiểm tra, thử
nghiệm

Tăng tốc độ phát triển ứng dụng.
Lịch sử phát triển

Vào những năm 1980s-các bước đầu tiên của lập
trình hướng đối tượng:
– Smalltalk được chính thức chuyển từ phòng thí nghiệm
ra phổ dụng
– C++ được sinh ra

• Chuyển từ phương thức phân tích và thiết kế theo
kiểu chức năng sang phương thức hướng đối
tượng

Các phương thức hướng đối tượng được phát triển
vào những năm 1980s và gĩưa 1990s
Lịch sử phát triển
Chuẩn hóa phương thức

1994- các phương thức đã gần như hoàn chỉnh,
và tương tự nhau:
– Cùng khái niệm concepts: objects, classes,
relationships, attributes, etc.
– Cùng khái niệm nhưng lại dùng kí hiệu (notation) khác
nhau
– Mỗi phương thức đều có các mặt mạnh và yếu
• Yêu cầu chuẩn hóa:
– Nhóm OMG (Object Management Group) thử và thất bại
Phương thức được hợp nhất

Sự kiện lớn vào năm 1994- James Rumbaugh liên
kết với Grady Booch thành lập Rational Software
Corporation

Vào thời gian đầu, là một hợp nhất của 2 phương
pháp:
– Booch và OMT (Object Modelling Technique)

Phương pháp này được gọi là Unified Method


1995- Rational thông báo rằng đã mua Ivar ,
Jacobson’s method Objectory. Jacobson muốn
liên kết với Rational Software Corporation
07/12/14
PTTKHT - UML
Inputs to UML
Fusion
Operation descriptions,
Message numbering
Meyer
Before and after
conditions
Harel
State charts
Wirfs-Brock
Responsibilities
Embley
Singleton classes,
High-level view
Odell
Classification
Shlaer - Mellor
Object Lifecycles
Gamma, et.al
Frameworks, patterns,
notes
Booch
Jacobson
Rumbaugh
3 nhân vật quan trọng


Grady Booch

Làm việc cho ADA, sau đó là US Air Force Academy
– Giám đốc khoa học của RSC
• Jame Rumbaugh

Nhân vật đứng đầu của General Electric

Tác giả của cuốn Object Modelling Technique

Ivar Jacobson

Làm cho Ericson, sau đó sở hữu công ty Objective System ở
Thụy Điển

Là “father” của Use Case
Hợp nhất

Ba nhân vật nói trên chuyển tên của “Unified
method” thành “Unified Modelling Language”

Version 1.0 vào tháng 1 năm 1997

Mục đích của UML được phát biểu:
– Mô hình các hệ thống (không chỉ là phần mềm) bằng
cách sử dụng các khái niệm hướng đối tượng
– Thiết lập các hiện thực với khái niệm

Hướng tới các kế thừa phức tạp trong các hệ thống


Tạo ra một ngôn ngữ mô hình khả dụng cho cả người và
máy
Công bố UML

Một cách duy nhất để giành được sự chấp thuận
của các phương pháp khác là đem UML ra cộng
đồng

Năm 1996: thiết lập cộng đồng UML
– Dưới sự lãnh đạo của Rational SC
– Một số công ty lớn khác như: I-Logic, Intellicorp, IBM,….
Động cơ thúc đẩy sử dụng UML

Microsoft

Oracle
• IBM

DEC

HP

TI

Unisys

I-Logix

IntelliCorp


Softteam

Sterling Software
• ICON Computing
• MCI Systemhouse

ObjectTime

Platium Technology
• Ptech
• Reich Technologies
Sự chấp nhận UML - Những tập đoàn thành
viên (cộng tác) của UML
Các hoạt động tiến tới chuẩn hóa

Mục đích căn nguyên của UML là để trở thành
một chuẩn trên thực tế (không chính thức)
– “chấp thuận” bằng cách được sử dụng rộng rãi
• Nhưng OMG muốn có một chuẩn thực sự:
– Yêu cầu một chuẩn hoá chính thức hơn là chỉ được sử
dụng trên thực tế
– Các định nghĩa rõ ràng của cú pháp và ngữ nghĩa

OMG Task force được thiết lập cho vấn đề chuẩn
hóa
UML và các khái niệm

UML là một ngôn ngữ mô hình sử dụng các kí hiệu cho việc
tài liệu, phân tích, thiết kế và thực hiện tiến trình phát triển

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

Có 4+1 khung nhìn: Logical, Component, Process,
Deployment và Use case
UML là gì?

UML là một cách phân tích và thiết kế mô hình theo hướng
đối tượng

Hiểu theo cách thông thường, UML bao gồm các mô hình đặc trưng
cho việc phân tích và thiết kế

UML không phải là một phương pháp, đơn thuần nó chỉ là một
ngôn ngữ kí hiệu:

Là một tập các kí hiệu

Là một tập các luật (cú pháp, ngữ nghĩa, kiểm tra) cho việc sử dụng
các kí hiệu

Dùng để hiển thị, đặc tả, xây dựng, làm tài liệu
Là một NN mô hình hướng đối
tượng

UML được tạo ra việc mô hình hướng đối tượng

Hướng đối tượng sản sinh ra các mô hình thể hiện
một lĩnh vực:
– Một lĩnh vực kinh doanh, ví dụ như banking
– Các thuật ngữ và đối tượng của lĩnh vực (ví dụ: tiền,

séc)

UML có thể được sử dụng để mô hình nhiều kiểu
hệ thống khác nhau.
Ngôn ngữ mô hình hoá trực quan

Ngôn ngữ mô hình hóa trực quan là một phát
minh lớn của những năm 1990s trong việc thiết
kế phần mềm.

Các thể hiện trực quan là cách tốt nhất để giao
thiệp và quản lí độ phức tạp
• Làm cho mô hình hóa ngày càng gần hơn với việc
cài đặt
Ưu điểm của UML

UML hợp nhất các mô hình của Booch, OMT, và Jacobson

Nó thống nhất hầu hết các khái niệm của 3 phương pháp
trên

Nó thêm các ký hiệu và khái niệm chưa có ở trong bất kì 3
phương pháp

Những điểm ngoài phạm vi của
UML
UML không là một phương thức

UML không xác định/hướng vào (address) toàn bộ
quá trình


UML không quy định cách tiếp cận vào việc xác định
các lớp,các phương thức và phân tích các mô hình

UML không bao gồm bất kỳ quy tắc thiết kế hay cách
thức giải quyết vấn đề nào
Mục tiêu của UML

Cung cấp cho người sử dụng một ngôn ngữ mô hình
hoá trực quan có sẵn và gợi tả (ready to use,
expressive), để người sử dụng có thể phát triển và
thay đổi các mô hình một cách hiệu quả

Cung cấp các kỹ thuật chuyên môn mở rộng để mở
rộng các khái niệm cốt lõi (core concepts)

Độc lập với các ngôn ngữ lập trình riêng biệt
(particular) và các tiến trình phát triển

Cung cấp kiến thức cơ bản chuẩn để hiểu ngôn ngữ mô
hình hoá

Ủng hộ/khuyến khích sự phát triển của môi trường sử
dụng công cụ hướng đối tượng (the OO tools market)

Hỗ trợ các khái niệm cho sự phát triển ở mức độ cao hơn
như là sự cộng tác (collaborations), khung (frameworks),
các mẫu (patterns), các thành phần (components)…

Tích hợp các bài thực hành tốt nhất

Mục tiêu của UML (tt)

×