Violet
Baigiang

Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Tìm kiếm Bài giảng

Chương 1: Tổng quan về phân tích và thiết kế hướng đối tượng và UML

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn: TS. Nguyễn Thị Hoa Huệ, GVTG - ĐH SP Đà Nẵng
Người gửi: Phan Hồng Tuấn
Ngày gửi: 20h:41' 04-12-2022
Dung lượng: 2.1 MB
Số lượt tải: 36
Số lượt thích: 0 người
Phân tích và thiết kế hướng đối tượng
(3TC)

GV: TS. Nguyễn Thị Hoa Huệ
Email: huenth@gmail.com

Tài liệu tham khảo








Võ Trung Hùng, Phân tích và thiết kế hệ thống, bài giảng lưu hành nội
bộ, 2006.
Alan Dennis (Indiana University), Barbara Haley Wixom (University
of Virginia)
David Tegarden (Virginia Tech), Systems Analysis and Design with
UML Version 2.0, Second Edition, John Wiley & Sons, Inc., 2005.


Dec 4, 2022

Phân tích và thiết kế hướng đối tượng

2

KIỂM TRA ĐÁNH GIÁ



Chia nhóm: tối đa 3 SV/1 nhóm
Báo cáo tài liệu phân tích thiết kế hệ thống:
50%

Dec 4, 2022

Phân tích và thiết kế hướng đối tượng

3

Nội dung









Chương 1: Tổng quan về phân tích và thiết kế hướng
đối tượng và UML
Chương 2: Yêu cầu người dùng và Use Case
Chương 3: Các lớp và biểu đồ lớp
Chương 4: Biểu đồ hoạt động
Chương 5: Biểu đồ tuần tự
Chương 6: Biểu đồ thành phần
Chương 7: Biểu đồ triển khai

Dec 4, 2022

4

Chương 1: Tổng quan về phân
tích và thiết kế hướng đối
tượng và UML

Dec 4, 2022

Phân tích và thiết kế

5

Nội dung chương 1






Qui trình phát triển phần mềm
Khái niệm về phân tích và thiết kế hướng đối tượng
Khái niệm về UML
Qui trình phân tích và thiết kế hệ thống bằng UML
Thực hành: chọn 1 dự án thực tế và viết báo cáo nghiên
cứu khả thi

Dec 4, 2022

Phân tích và thiết kế hệ thống

6

Qui trình phát triển phần mềm

Dec 4, 2022

Phân tích và thiết kế hệ thống

7

Qui trình phát triển phần mềm




PTTK HT được thực hiện dựa vào quy trình phát triển phần
mềm.
Quy trình phát triển phần mềm gồm: Phương pháp luận, kỹ
thuật và công cụ

Dec 4, 2022

Phân tích và thiết kế hệ thống

8

Qui trình phát triển phần mềm
Phương pháp luận (Methodologies): Trình tự của cách tiếp
cận từng bước để phát triển sản phẩm cuối cùng là HTTT
 Kỹ thuật (Công nghệ -Techniques): Trình tự mà người phân
tích tuân theo để đảm bảo việc phân tích và thiết kế được thực
hiện một cách đầy đủ, kỹ lưỡng
 Công cụ (Tools): Chương trình máy tính. Ví dụ như CASE
(computer-aided software engineering) để thực hiện các kỹ
thuật cụ thể
→ Phương pháp luận, Kỹ thuật, Công cụ tạo nên một cách tiếp
cận có hệ thống để phân tích và thiết kế hệ thống


Dec 4, 2022

Phân tích và thiết kế hệ thống

9

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


Hướng chức năng vs. Hướng đối tượng

Dec 4, 2022

Phân tích và thiết kế hệ thống

10

Hướng chức năng


Dựa vào các chức năng của hệ thống




Chia nhỏ các chức năng và làm mịn dần





Hệ thống là tập hợp các chức năng
Hệ thống gồm các hệ thống con
Làm chủ độ phức tạp

Các chức năng trao đổi với nhau bằng
truyền tham số hoặc dữ liệu (chẳng hạn
biến toàn cục) dùng chung

Dec 4, 2022

Phân tích và thiết kế hệ thống

11

Hướng chức năng


Phân cấp chức năng
Hệ thống
Chức năng 1

Chức năng 1.1

Dec 4, 2022

Chức năng 1.2

Chức năng 2
Chức năng 2.1

Phân tích và thiết kế hệ thống

Chức năng 2.2

12

Hướng chức năng


Ưu điểm





Phân tích được các chức năng của hệ thống
Đưa lại kết quả mong đợi

Nhược điểm






Chức năng  cấu trúc
Thay đổi về chức năng khó khăn thay đổi cấu trúc
Tính mở của hệ thống thấp
Khó tái sử dụng
Chi phí sửa chữa lỗi lớn

Dec 4, 2022

Phân tích và thiết kế hệ thống

13

Hướng đối tượng





Lấy đối tượng làm trung tâm
Hệ thống = tập hợp các đối tượng + quan hệ
giữa các đối tượng
Các đối tượng trao đổi bằng thông điệp
(message)





Không sử dụng biến toàn cục

Đóng gói
Thừa kế

Dec 4, 2022

Phân tích và thiết kế hệ thống

14

Hướng đối tượng


Phân biệt


Lập trình cấu trúc




Thuật toán + cấu trúc dữ liệu = chương trình

Lập trình HĐT



Dec 4, 2022

đối tượng = chương trình
đối tượng = thuật toán + cấu trúc dữ liệu

Phân tích và thiết kế hệ thống

15

Hướng đối tượng


Ưu điểm chính








PT & TK gần gũi với thế giới thực
Tái sử dụng dễ dàng
Đóng gói, che dấu thông tin làm cho hệ thống
tin cậy hơn
Thừa kế làm giảm chi phí, hệ thống có tính mở
cao hơn
Xây dựng hệ thống lớn và phức tạp

Dec 4, 2022

Phân tích và thiết kế hệ thống

16

Đối tượng






Đối tượng (object) là khái niệm cho phép
mô tả các sự vật/thực thể trong thế giới thực
Các đối tượng duy trì các quan hệ giữa
chúng
Nguyễn Văn A là một đối tượng

Dec 4, 2022

Phân tích và thiết kế hệ thống

17

Đối tượng


Các tính chất của đối tượng


Đối tượng = trạng thái + hành vi + định danh





Dec 4, 2022

Trạng thái là các đặc tính của đối tượng tại một thời
điểm
Hành vi thể hiện các chức năng của đối tượng
Định danh thể hiện sự tồn tại duy nhất của đối tượng

Phân tích và thiết kế hệ thống

18

Đối tượng : trạng thái


Trạng thái = tập hợp các thuộc tính





Mỗi thuộc tính mô tả một đặc tính
Tại một thời điểm cụ thể, các thuộc tính mang
các giá trị trong miền xác định
Ví dụ


Dec 4, 2022

Một chiếc xe máy: màu xanh, 110 cm3, dream,
12000km, đứng yên, …

Phân tích và thiết kế hệ thống

19

Đối tượng : hành vi


Hành vi = tập hợp các phương thức





Phương thức: là một thao tác hoặc được thực
hiện bởi chính nó, hoặc thực hiện khi có yêu
cầu từ môi trường (thông điệp từ đối tượng
khác)
Hành vi phụ thuộc vào trạng thái
Ví dụ:


Dec 4, 2022

một xe máy có các hành vi: khởi động, chạy, …
Phân tích và thiết kế hệ thống

20

Giao tiếp giữa các đối tượng


Các đối tượng giao tiếp với nhau


Gửi thông điệp (message) cho nhau
Đối tượng A



Thông điệp

Đối tượng B

Các loại thông điệp






Dec 4, 2022

hàm dựng (constructor)
hàm hủy (destructor)
hàm chọn lựa (get)
hàm sửa đổi (set)
các hàm chức năng khác
Phân tích và thiết kế hệ thống

21

Đối tượng




Giữa các đối tượng có mối liên kết (link)
với nhau
Ví dụ
Nguyễn Văn A

Dec 4, 2022

Học

Đại học Đà Nẵng

Phân tích và thiết kế hệ thống

22

Lớp




Lớp là khái niệm dùng để mô tả một tập
hợp các đối tượng có cùng một cấu trúc,
cùng hành vi và có cùng những mối quan hệ
với các đối tượng khác
Lớp = các thuộc tính + các phương thức

Dec 4, 2022

Phân tích và thiết kế hệ thống

23

Lớp


Lớp là một bước trừu tượng hóa


Tìm kiếm các điểm giống nhau, bỏ qua các điểm khác
nhau của đối tượng

Person
Name
Age


Trừu tượng hóa làm giảm độ phức tạp

Dec 4, 2022

Phân tích và thiết kế hệ thống

changeAge
24

Lớp



Quan hệ giữa các lớp: kết hợp
Một kết hợp là một tập hợp các mối liên kết
giữa các đối tượng
Sinh viên

Dec 4, 2022

học

Đại học

Phân tích và thiết kế hệ thống

25

Lớp & Đối tượng







Đối tượng là thể hiện (instance) của lớp
Giá trị là thể hiện của thuộc tính
Liên kết là thể hiện của kết hợp
Lớp
Đối tượng
Thuộc tính
Giá trị
Kết hợp
Liên kết

Dec 4, 2022

Phân tích và thiết kế hệ thống

26

Các tính chất của HĐT


Tính đóng gói (encapsulation)





dữ liệu + xữ lý dữ liệu = đối tượng
thuộc tính + phương thức = lớp

Ưu điểm




Hạn chế ảnh hưởng khi có sự thay đổi cập nhật
Ngăn cản sự truy cập thông tin từ bên ngoài
Che dấu thông tin

Dec 4, 2022

Phân tích và thiết kế hệ thống

27

Các tính chất của HĐT


Tính thừa kế (inheritance)






Một lớp được xây dựng từ một hoặc nhiều lớp khác
bằng việc chia sẽ các thuộc tính và phương thức
Lớp con thừa kế các thuộc tính và phương thức từ lớp
cha
Tổng quát hóa/chuyên biệt hóa




Dec 4, 2022

Tổng quát hóa (generalization): đặt các tính chất chung của
các lớp khác nhau vào một lớp cha
Chuyên biệt hóa (specialization): tạo ra một lớp con có các
tính chất riêng từ lớp cha
Phân tích và thiết kế hệ thống

28

Các tính chất của HĐT


Đơn thừa kế: một lớp con chỉ thừa kế từ một lớp cha duy nhất




Tổng quát hóa



Chuyên biệt hóa

XeÔtô

XeKhách
Lớp trừu tượng
hay lớp chung:XeTải
XeÔtô
Lớp cụ thể hay lớp chuyên biệt: XeKhách
Lớp chuyên biệt có thể thay thế lớp chung trong tất cả các
ứng dụng. Ví dụ: Ôtô tải là một ôtô.

Dec 4, 2022

Phân tích và thiết kế hệ thống

29

Các tính chất của HĐT


Đa thừa kế: một lớp con thừa kế từ nhiều
lớp cha khác nhau
Person
Personnel
Reseacher

Student
Teacher
Phd candidate

Dec 4, 2022

Phân tích và thiết kế hệ thống

30

Các tính chất của HĐT


Đa thừa kế


Đụng độ tên các thuộc tính
X
a

Y
a
Z
a của X
a của Y



Đa thừa kế không được chấp nhận bởi một số ngôn
ngữ: Java

Dec 4, 2022

Phân tích và thiết kế hệ thống

31

Các tính chất của HĐT


Ưu điểm của thừa kế






Phân loại các lớp: các lớp được phân loại, sắp
xếp theo một thứ bậc để dễ quản lí
Xây dựng các lớp: các lớp con được xây dựng
từ các lớp cha
Tiết kiệm thời gian xây dựng, tránh lặp lại
thông tin

Dec 4, 2022

Phân tích và thiết kế hệ thống

32

Các tính chất của HĐT






Tính đa hình (polymorphism): của phương thức,
tức là khả năng các phương thức khác nhau được
thực hiện để trả lời cùng một yêu cầu
Mỗi lớp con thừa kế đặc tả các phương thức từ lớp
cha, và các phương thức này có thể được sữa đổi
trong lớp con để thực hiện các chức năng riêng
trong lớp đó
Một phương thức (cùng một tên phương thức) có
nhiều dạng (định nghĩa) khác nhau trong các lớp
khác nhau

Dec 4, 2022

Phân tích và thiết kế hệ thống

33

Các tính chất của HĐT


Ví dụ tính đa hình
ĐaGiác
DienTich()

Dec 4, 2022

HìnhVuông

HìnhTamGiác

DienTich()

DienTich()

Phân tích và thiết kế hệ thống

34

Khái niệm về UML

Dec 4, 2022

Phân tích và thiết kế hệ thống

37

Nội dung trình bày:





Khái niệm mô hình hóa
Một số phương pháp mô hình hóa HĐT
Lịch sử phát triển UML
Giới thiệu tổng quan UML



UML – một ngôn ngữ
Các khái niệm cơ bản của UML

Dec 4, 2022

Phân tích và thiết kế hệ thống

38

Khái niệm mô hình hóa






Mô hình (model) là một sự đơn giản hóa của hệ
thống thực
Mô hình là sự biểu diễn bằng hình ảnh của hệ thống
thực
Mô hình diễn tả hệ thống






ở một mức trừu tượng,
theo một quan điểm,
bằng một hình thức biểu diễn (văn bản, hình ảnh, …)

Mô hình hóa (modeling) là quá trình dùng mô hình
để diễn tả hệ thống

Dec 4, 2022

Phân tích và thiết kế hệ thống

39

Khái niệm mô hình hóa


Tại sao mô hình hóa?


Mô hình hóa để dễ hiểu




Mô hình hóa để trao đổi




Dễ nhận thức vấn đề
Phương tiện trao đổi giữa những người phát triển

Mô hình hóa để hoàn chỉnh


Dec 4, 2022

Dễ dàng nhận sự phù hợp giữa mô hình và nhu cầu
dể cải tiến, hoàn thiện
Phân tích và thiết kế hệ thống

40

Khái niệm mô hình hóa


Các nguyên tắc mô hình hóa


Chọn mô hình thích hợp






Góc nhìn cơ sở dữ liệu: mô hình thực thể - kết hợp
Góc nhìn có cấu trúc: thuật toán
Góc nhìn hướng đối tượng: các lớp và các quan hệ

Các mô hình được thể hiện nhiều mức chính
xác khác nhau


Dec 4, 2022

Hệ thống được diễn tả ở các mức chi tiết khác nhau,
tùy theo nhu cầu người sử dụng
41

Khái niệm mô hình hóa


Các nguyên tắc mô hình hóa


Các mô hình phải liên hệ với thế giới thực


Các mô hình xây dựng gần gũi với mô hình hệ thống
thực




Một hệ thống phải được mô hình hóa mởi một tập
hợp các mô hình



Dec 4, 2022

Mô hình hướng đối tượng > Mô hình hóa có cấu trúc

Chỉ một mô hình là không thể đủ
Phải thể hiện được nhiều góc nhìn khác nhau về hệ thống:
sử dụng, thiết kế, cài đặt, …
42

Lịch sử phát triển UML

Dec 4, 2022

43

UML là gì?










Nó là một ngôn ngữ mô hình hóa, không phải là một phương
pháp
Một phương pháp thông thường bao gồm một tập các quy tắc,
một ngôn ngữ mô hình hóa và một quy trình mô tả những công
việc cần làm
Một ngôn ngữ mô hình hóa bao gồm các ký hiệu và các cách
thức sử dụng cho việc thiết kế
Quy trình là những sự hướng dẫn các bước trong quá trình thiết
kế
Ngôn ngữ mô hình hóa là thành phần quan trọng nhất trong một
phương pháp, là yếu tố kết nối giữa các thành phần
44

Tại sao lại sử dụng UML?





Giúp cho việc phân tích và thiết kế
Là công cụ giao tiếp (Communication)
Sử dụng các ưu điểm của OO
Tài liệu hóa (Documentation)

Như được đề cập trong The Unified Modeling Language User
Guide;
Ngôn ngữ UML dùng để:
• Trực quan hóa (Visualizing)
• Đặc tả (Specifying)
• Xây dựng (Constructing)
• Cung cấp tài liệu (Documenting)
45

UML – ngôn ngữ để mô hình hóa
trực quan




UML cung cấp tập hợp các kí hiệu và luật
để biểu diễn đồ họa những mô hình của hệ
thống
Biểu diễn đồ họa thường đem lại cái nhìn
tốt hơn về hệ thống

Dec 4, 2022

46

UML – ngôn ngữ để đặc tả




Một đặc tả là một mô tả chính xác và không
nhập nhằng về hệ thống
UML cung cấp các công cụ để đặc tả hệ
thống ở nhiều mức: phân tích, thiết kế và
cài đặt

Dec 4, 2022

47

UML – ngôn ngữ để xây dựng




Các mô hình UML có thể được chuyển sang
một ngôn ngữ lập trình khá dễ dàng
UML là khá chính xác và không nhập
nhằng để cho phép thực hiện các mô phỏng

Dec 4, 2022

48

UML – ngôn ngữ để lập tài liệu




UML cho phép mô tả tất cả các bước xây
dựng một hệ thống
Các mô hình được xây dựng tạo nên một tài
liệu đầy đủ và chính xác về hệ thống

Dec 4, 2022

49

Các khái niệm cơ bản của UML




Mô hình và các hướng nhìn (Views)
Các biểu đồ chính
Các thành phần cơ bản

50
468x90
 
Gửi ý kiến