1. Trang chủ
  2. » Giáo án - Bài giảng

phân tích thiết kế hệ thống hướng đối tượng sử dụng uml

304 613 1

Đ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

Định dạng
Số trang 304
Dung lượng 1,66 MB

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

Nội dung

„ Trang bị cho sinh viên kỹ năng phân tích vàthiết hế hệ thống hướng đối tượng giúp người học có thể vận dụng vào thiết kế các hệ thống ứng dụng trong thực tế... PTTK UML - Le Thi Bi ch

Trang 2

„ Trang bị cho sinh viên kỹ năng phân tích và

thiết hế hệ thống hướng đối tượng giúp người học có thể vận dụng vào thiết kế các hệ thống ứng dụng trong thực tế

Trang 3

PTTK UML - Le Thi Bi ch Hang 3

Nội dung chương trình

„ Chương 1: Tổng quan về phân tích thiết kế hệ thống

„ Chương 2: Khái quát về UML

„ Chương 3: Mô hình hóa Use Case

„ Chương 4: Biểu đồ lớp

„ Chương 5: Mô hình động - Biểu đồ tương tác

„ Chương 6: Mô hình động (tt)

Trang 4

Tài liệu tham khảo

„ Slide bài giảng

„ [1] Đặng Văn Đức, Phân tích thiết kế hướng đối tượng

bằng UML, NXB Giáo Dục

„ [2] Huỳnh Văn Đức, Đoàn Thiện Ngân, Giáo trình

nhập môn UML, NXB Lao động Xã hội, 2003

„ [3] Nguyễn Văn Vỵ, Phân tích thiết kế: hướng cấu trúc

và hướng đối tượng, NXB Thống kê, 2002

„ [4] Dennis, A., Wixom, B.Haley, Tegarden, D.,

Systems Analysis and Design with UML Version 2.0:

An Object-Oriented Approach, second edition, Wiley,

2004

Trang 7

PTTK UML - Le Thi Bi ch Hang 7

Những khó khăn khi phát triển phần mềm

„ Chưa thấu hiểu yêu cầu, hoặc hiểu lầm

„ Yêu cầu thường thay đổi trong thời gian phát triển.

„ Yêu cầu thường được miêu tả bằng văn bản, dài dòng, khó hiểu.

„ Đội quân phát triển phần mềm rất khó nhận

thức thấu đáo các mối quan hệ tiềm ẩn và

phức tạp cần được thể hiện chính xác trong

các ứng dụng lớn.

„ Khả năng nắm bắt các dữ liệu phức tạp của

con người (tại cùng một thời điểm) là có hạn.

Trang 8

Tiến trình phần mềm

„ Tiến trình phần mềm là phương cách sản xuất

ra phần mềm với các thành phần chủ yếu bao gồm:

„ Mô hình vòng đời phát triển phần mềm

„ Các công cụ hỗ trợ cho phát triển phần mềm

„ Những người trong nhóm phát triển phần mềm.

Trang 9

PTTK UML - Le Thi Bi ch Hang 9

Trang 10

Nghiên cứu sơ bộ (Planning)

„ Lập kế hoạch cho dự án

„ Khởi động dự án

„ Thiết lập đội ngũ nhân viên cho việc khởi động dự án

„ Thiết lập quan hệ với khách hàng

„ Lập kế hoạch cho dự án

„ Mô tả phạm vi của dự án

„ Chia dự án thành các tác vụ có thể thực hiện được

„ Ước lượng tài nguyên, lập kế hoạch tài nguyên

„ Đánh giá rủi ro

„ Lập kế hoạch hội họp

„ Ước lượng sơ bộ chi phí

„ Thực thi dự án: giám sát tiến trình trong kế hoạch

Trang 11

PTTK UML - Le Thi Bi ch Hang 11

Nghiên cứu sơ bộ

„ Nhận biết các chức năng chính của hệ thống

„ Đánh giá sơ bộ rủi ro

„ Xem xét các yêu cầu, các nguồn tài nguyên có thể sửdụng

„ Thảo luận, xem xét các khía cạnh thương mại, phântích khả năng lời lỗ, đánh giá mức độ rủi ro

„ Phải trả lời được câu hỏi: “Có nên phát triển hệ thốngnày hay không?”

Trang 12

Phân tích (Analysis)

„ Xác định yêu cầu (Determining Requirement)

„ Câu hỏi Open-ended

„ Câu hỏi closed-ended

Trang 13

PTTK UML - Le Thi Bi ch Hang 13

Thiết kế (Design)

„ Phải trả lời câu hỏi: “Hệ thống làm cách nào

để thõa mãn các yêu cầu”

„ Thiết kế menu, form nhập, báo cáo (report)

„ Thiết kế logic và vật lý các thành phần dữ liệu của hệ thống để tạo database

„ Thiết kế các chức năng xử lý của hệ thống

Trang 14

Thực hiện (Implementation)

„ Xây dựng phần mềm

„ Viết code theo yêu cầu quy định sẵn

„ Viết tài liệu giải thích rõ các chương trình, thủ tục, hàm

„ Kiểm nghiệm chương trình chạy đúng

Trang 15

PTTK UML - Le Thi Bi ch Hang 15

Triển khai (Deployment)

„ Thực hiện triển khai

„ Huấn luyện người sử dụng

„ Tạo các file dữ liệu cần thiết

„ Bảo trì nâng cấp

„ Hoạt động bảo trì tùy thuộc vào sự thay đổi của

môi trường sử dụng

„ Các hệ thống khác nhau có những mức độ bảo trìkhác nhau

Trang 16

Mô hình thác nước (Waterfall)

Nghiên cứu Sơ bộ

Đào tạo

Trang 17

PTTK UML - Le Thi Bi ch Hang 17

Mô hình thác nước

„ Ưu điểm

phần mềm để sửa chữa khi phát hiện lỗi hoặc khi có

thay đổi

theo mô hình thác nước đều được viết tài liệu cẩn thận

và được kiểm tra trước khi chuyển sang pha tiếp theo

Do vậy, hệ thống sẽ dễ dàng bảo trì khi có những thay đổi

„ Khuyết điểm

được hình dung sản phẩm nên rất có thể các pha tiếp theo sẽ không thực hiện đúng những gì khách hàng cần -> sản phẩm phần mềm cuối cùng có thể không thỏa

mãn nhu cầu thực sự của khách hàng

Trang 18

„ Giao diện chương trình (menu, form, report)

„ Quyết định các yêu cầu về phần cứng và phần mềm

„ Chuyên gia lĩnh vực (Domain Expert)

„ Lập trình viên (Programmer)

„ Người dùng (User)

Trang 19

PTTK UML - Le Thi Bi ch Hang 19

Giới hạn của hệ thống

Trang 20

Các cách tiếp cận phân tích hệ thống

„ Phương pháp hướng chức năng

„ Phương pháp hướng đối tượng

Trang 21

PTTK UML - Le Thi Bi ch Hang 21

Phương pháp hướng chức năng

„ Phân rã các chức năng của người dùng thành các

chức năng nhỏ hơn

„ Đơn vị nhỏ nhất gọi là thủ tục hay hàm

„ Hệ thống hoàn chỉnh khi các chức năng cũng hoàn

chỉnh và không được thay đổi theo thời gian

Chức năng chính Chức năng con 1 Chức năng con 2 Chức năng

con 1.1 Chức năngcon 1.1 Chức năngcon 1.1 Chức năngcon 1.1

Trang 22

Phương pháp hướng chức năng

lưu trữ (nhập xuất thông tin)

gì xảy ra với thông tin và cách hoạt động của hệ thống

Trang 23

PTTK UML - Le Thi Bi ch Hang 23

Phương pháp hướng đối tượng

„ Xem các thành phần trong hệ thống như các đối tượng ngoài đời thực

„ Ứng dụng có thể chia thành các thành phần nhỏ gọi là đối tượng, sau đó chúng được tích hợp lại thành ứng dụng

„ Chức năng của hệ thống được biểu diễn thông qua cộng tác của đối tượng, việc thay đổi chức năng, tiến hóa chức năng không

làm thay đổi đến cấu trúc tĩnh của phần mềm.

„ Ưu điểm

độc lập và chỉ thực hiện hành động khi nhận được yêu cầu từ các đối tượng khác

Trang 24

Các nguyên tắc cơ bản của hướng đối tượng

Abstraction Encapsulation

Object Orientation

Hierarchy

Polymorphism

Trang 25

PTTK UML - Le Thi Bi ch Hang 25

Tính trừu tượng (Abstraction)

„ Chỉ quan tâm các đặc trưng quan trọng cần

thiết của các đối tượng

„ Không quan tâm các khía cạnh chi tiết phức

tạp

Trang 26

dụng các chức năng của class

nhưng không thể biết chi tiết

thực hiện bên trong như thế

Trang 27

PTTK UML - Le Thi Bi ch Hang 27

Tính kế thừa (Inheritance)

„ Một lớp có thể thừa kế các thành phần dữ liệu

và phương thức từ các lớp cha của nó

„ Sử dụng lại code đã viết sẵn

Person

Student Faculty Staff

Inheritance

Trang 28

Tính đa hình (Polymorphism)

„ Đa hình

hiện thực bên trong cấu

trúc thừa kế

gửi các thông điệp

(message)

Trang 29

PTTK UML - Le Thi Bi ch Hang 29

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

„ Thiết kế hướng đối tượng (Object Oriented

Trang 30

Giai đoạn phân tích hướng đối tượng

„ Phát triển một mô hình chính xác của vấn đề, có thànhphần là các đối tượng có thực và được trình bày bằngcác thuật ngữ dễ hiểu đối với người sử dụng

„ Dựa trên vấn đề có sẵn, nhà phân tích cần ánh xạ đốitượng hay thực thể có thực vào thiết kế để tạo ra bảnthiết kế gần cận với tình huống thực

„ Mô hình thiết kế sẽ chứa các thực thể trong một vấn

đề có thực và giữ nguyên các mẫu hình về cấu trúc, quan hệ cũng như hành vi của chúng

Trang 31

PTTK UML - Le Thi Bi ch Hang 31

Giai đoạn phân tích hướng đối tượng

„ Ví dụ: Đối với ví dụ nhà băng lẻ, giai đoạn phân tích

sẽ nhận biết được các thực thể như:

„ Loại tài khoản: ATM (rút tiền tự động), Savings (tiết kiệm),

Current (bình thường), Fixed (đầu tư),

„ Khách hàng

„ Nhân viên

„ Phòng máy tính

„ Tương tác và quan hệ giữa các đối tượng trên:

„ Một khách hàng mới mở một tài khoản tiết kiệm

„ Chuyển tiền từ tài khoản tiết kiệm sang tài khoản đầu tư

„ Chuyển tiền từ tài khoản tiết kiệm sang tài khoản ATM

Trang 32

Giai đoạn thiết kế hướng đối tượng

„ Giai đoạn tổ chức chương trình thành các tập hợp đốitượng cộng tác, mỗi đối tượng trong đó là thực thể củamột lớp Các lớp là thành viên của một cây cấu trúc vớimối quan hệ thừa kế

„ Mục đích của giai đoạn này là tạo thiết kế dựa trên kếtquả của giai đoạn OOA, dựa trên những quy định phi chức năng, những yêu cầu về môi trường, những yêucầu về khả năng thực thi, OOD tập trung vào việccải thiện kết quả của OOA, tối ưu hóa giải pháp đã

được cung cấp trong khi vẫn đảm bảo thoả mãn tất cảcác yêu cầu đã được xác lập

Trang 33

PTTK UML - Le Thi Bi ch Hang 33

Giai đoạn thiết kế hướng đối tượng

„ Trong giai đoạn OOD, nhà thiết kế định nghĩa các

chức năng, thủ tục (operations), thuộc tính (attributes) cũng như mối quan hệ của một hay nhiều lớp (class)

và quyết định chúng cần phải được điều chỉnh sao

cho phù hợp với môi trường phát triển

„ OOD cũng là giai đoạn để thiết kế ngân hàng dữ liệu

và áp dụng các kỹ thuật tiêu chuẩn hóa

Trang 34

Giai đoạn lập trình hướng đối tượng

„ Giai đoạn xây dựng phần mềm có thể được

thực hiện sử dụng kỹ thuật lập trình hướng đối tượng

„ Một vài ngôn ngữ hướng đối tượng thường

được nhắc tới là C++, C# và Java

Trang 35

PTTK UML - Le Thi Bi ch Hang 35

Các khái niệm cơ bản trong hướng đối tượng

Trang 36

Đối tượng là gì?

Trang 37

PTTK UML - Le Thi Bi ch Hang 37

Trang 38

Các đặc trưng của đối tượng

„ Một đối tượng có chứa:

ce Lis

t a ll

U p da te

B a

la nc e

C h an g e

P h o n e N o

D elet e

C ust om er

Name Jo Address Here Phone No 555 Balance $1.49

Customer

Trang 39

PTTK UML - Le Thi Bi ch Hang 39

Lớp (Class)

„ Lớp là 1 tập hợp các đối tượng có cùng tập thuộc

tính (attributes), tập phương thức (operations), các

quan hệ (relationships), và ngữ nghĩa (semantics)

„ Các thành phần của lớp:

Professor name

empID create( ) save( ) delete( ) change( )

Class Name Attributes Operations

Trang 40

Xe ô tô

Trang 41

PTTK UML - Le Thi Bi ch Hang 41

Thuộc tính của lớp là gì?

„ Tập các thành phần dữ liệu mô tả và phân biệt các

đặc trưng của đối tượng thuộc về lớp

„ Được tham gia xử lý tính toán bởi các phương thức

Trang 42

Thuộc tính hay đối tượng ?

„ Đều là danh từ và có tên

„ Tuy nhiên

„ Thuộc tính là đặc trưng của đối tượng

„ Thuộc tính mô tả đối tượng

„ Nếu gặp 1 danh từ mà chưa phân biệt được

thuộc tính hay đối tượng

Æ Xác định các tính chất mô tả cho danh từ đó!!!

Trang 43

PTTK UML - Le Thi Bi ch Hang 43

Trang 44

Cách xác định đối tượng

mà chỉ quan tâm đến yếu tố tạo thành đối tượng

Trang 45

PTTK UML - Le Thi Bi ch Hang 45

Cách xác định đối tượng (tt)

„ Phân tích bài toán

„ Phân tích trong nội dung bài toán, cố gắng xác định các danh từ

„ Từ các danh từ này có thể xác định các lớp

trog bài toán.

„ tất nhiên chỉ cần các danh từ cần thiết

„ Từ các động từ, xác định các tác vụ cần xử lý trên lớp này

Trang 46

Ví dụ 1

„ Ví dụ: Cho 1 đường tròn bán kính R Tính chu vi và

diện tích của hình tròn

„ Bài toán này có 2 danh từ là “ Đường tròn ” và “ Bán kính ”

Đường tròn chính là class, còn bán kính chỉ là 1 thuộc tính

của class đường tròn bởi vì bán kính chỉ là 1 đại lượng về giá trị chiều dài, không phải là class

„ Hai động từ hay hai tác vụ cần xử lý là “ Tính diện tích ” và

“ Tính chu vi của hình tròn ” chính là 2 thành phần phương

thức của class đường tròn

Trang 47

PTTK UML - Le Thi Bi ch Hang 47

Thiết kế lớp đối tượng

„ Xác sinh sơ bộ ban đầu các lớp và mối quan hệ của

„ Mỗi 1 thành phần dữ liệu hay hàm, phải xác định kiểu

dữ liệu của thành phần dữ liệu và tham số + kiểu dữ

liệu trả về của các thành phần hàm

„ Mỗi thành phần có quy định: private, public,

protected…

Trang 48

Thiết kế lớp đối tượng (tt1)

„ Không quan tâm đến chi tiết của từng hàm, chỉ xác địnhđầu vào và đầu ra của từng phương thức

„ Đối với các thành phần dữ liệu của lớp, chỉ chọn các

thành phần (thuộc tính) cần thiết cho class

„ 1 đối tượng có thể có nhiều thuộc tính tuy nhiên tuỳ theo từng chương trình mà số thuộc tính phải chọn cần thiết cho lớp đó

„ Lớp PTB2 có các thành phần dữ liệu là: a, b, c, x1, x2, delta, x

Æ dễ dàng thấy rằng delta và x bị dư thừa.

„ Lưu ý:

„ Lớp nên được tìm trong phạm vi bài toán cần giải quyết

„ Tên lớp phải gợi nhớ

Trang 49

PTTK UML - Le Thi Bi ch Hang 49

Thiết kế lớp đối tượng (tt2)

„ Thành phần dữ liệu phải được sử dụng bởi 1 trong cácphương thức của lớp

„ Ví dụ đối tượng SINHVIEN có nhiều thuộc tính như hoten,

nămsinh, giới tính,…

„ Thiết kế sự thừa kế của các lớp: xem các lớp nào thừa

kế từ lớp nào tạo thành mô hình phân cấp thừa kế

„ Xem xét áp dụng tính đa hình (polymorphism) nếu có củaứng dụng

„ Xác định cách thực hiện hoặc thuật giải của từng phươngthức bằng mã giả (peseudo code)

„ Thiết kế constructor và destructor nếu cần thiết

Trang 50

Thành phần (Component)

bên trong hệ thống

objects, CORBA objects, DLL’s and OCX’s from VB)

Source File

Name

<<EXE>>

Executable Name

<<DLL>>

Component Name

Component Interface

Trang 51

PTTK UML - Le Thi Bi ch Hang 51

Gói (Package)

các thành phần, biểu đồ…) vào thành một nhóm

Trang 52

Hệ thống con (Subsystem)

chất cho người dùng, hay nói cách khác chúng thuộc

cùng một lĩnh vực với nhau.

nghệ có sẵn, ta thường tách các hệ thống con giao tiếp,

hệ thống con quản trị cơ sở dữ liệu ra khỏi phần ứng

dụng và nghiệp vụ của hệ thống.

Trang 53

Chương 2: Giới thiệu UML

PHÂN TÍCH THIẾT KẾ HỆ

THỐNG HƯỚNG ĐỐI TƯỢNG

Trang 54

Nội dung

„ Mô hình hoá hệ thống

„ Giới thiệu về UML

„ Khả năng sử dụng của UML

„ UML và các giai đoạn phát triển hệ thống

„ Các thành phần cơ bản của UML

Trang 55

PTTK UML - Le Thi Bi ch Hang 55

Mô hình hoá hệ thống

Trang 56

Mô hình (model)

„ Mô hình là một biểu diễn của sự vật hay một tập các sự vật trong một lĩnh vực áp dụng

nào đó theo một cách khác

„ Mô hình nhằm nắm bắt các khía cạnh quan

trọng của sự vật, bỏ qua các khía cạnh không quan trọng và biểu diễn theo một tập ký hiệu

và quy tắc nào đó

10 20 30 40 50 60 70 80 90

East West North

Trang 57

PTTK UML - Le Thi Bi ch Hang 57

Trang 58

Mô hình hóa hệ thống

„ Các hệ thống thực tiễn ngày càng phức tạp

„ Nhiều dự án quá tập trung vào việc viết code

thay vì xây dựng các mô hình trừu tượng cho hệ thống cần tạo dựng

¾ Mô hình hoá 1 hệ thống tức là thực hiện trừu tượng hoá hệ thống đó theo 1 dạng nhất định

¾ Trong mô hình chỉ xây dựng các chức năng

cần thiết và không đi sâu vào chi tiết giảm độ phức tạp và nâng cao tính tổng quát, bỏ qua những vấn đề không cần thiết

Trang 59

PTTK UML - Le Thi Bi ch Hang 59

Mô hình hóa hệ thống (tt)

„ Lợi ích của việc sử dụng mô hình:

„ Hiểu được hệ thống dưới góc độ tổng thể, và hiểuđược cấu trúc, hành vi của hệ thống

„ Dễ giao tiếp, soạn tài liệu, dễ bảo trì

„ Là ngôn ngữ giao tiếp của các thành viên liên quanđến hệ thống

„ Là mẫu hướng dẫn trong việc xây dựng hệ thống

„ Làm tài liệu cho các quyết định khi phân tích thiết kế

hệ thống

„ Ví dụ: việc xây 1 căn nhà nhỏ có thể không cần bản vẽ nhưng việc xây 1 cao ốc thì khác

Trang 60

Nguyên tắc mô hình hóa

„ Việc chọn mô hình nào để tạo lập có ảnh hưởng đếncách giải quyết vấn đề và cách hình thành các giải

pháp

„ Mỗi mô hình biểu diễn hệ thống với mức độ chính xáckhác nhau

„ Mô hình phù hợp với thế giới thực là mô hình tốt nhất

„ Không có mô hình nào đầy đủ cả Mỗi hệ thống

thường được tiếp cận thông qua tập mô hình gần nhưđộc lập nhau

Trang 61

PTTK UML - Le Thi Bi ch Hang 61

Mục đích việc mô hình hóa hệ thống

„ Nhà thiết kế cần phải tạo ra các mô hình mô tả tất cả

các khía cạnh khác nhau của sản phẩm

„ Ngoài ra, một mô hình có thể được chia thành nhiều

hướng nhìn (view), mỗi hướng nhìn trong số chúng sẽ

mô tả một khía cạnh riêng biệt của sản phẩm hay hệ

thống cần được xây dựng

„ Một mô hình cũng có thể được xây dựng trong nhiều

giai đoạn và ở mỗi giai đoạn, mô hình sẽ được bổ sung thêm một số chi tiết nhất định

Trang 62

Mục đích việc mô hình hóa hệ thống (tt)

„ Mục tiêu của giai đoạn phân tích

„ Mô hình được trình bày theo hướng nhìn của

Trang 63

PTTK UML - Le Thi Bi ch Hang 63

Mục đích việc mô hình hóa hệ thống (tt)

„ Mô hình thường được mô tả trong ngôn ngữ trực

quan:

đồ họa và các kết nối giữa chúng

dạng văn bản

„ Việc biểu diễn mô hình phải thỏa mãn:

với các mô hình khác

Trang 64

Mục đích việc mô hình hóa hệ thống (tt)

„ Tóm lại, mô hình dùng để:

muốn của chúng ta

suốt quá trình xây dựng hệ thống

sau này

có thể hiểu và làm việc với nhau

Trang 65

PTTK UML - Le Thi Bi ch Hang 65

Giới thiệu về UML

Trang 66

Tại sao phải dùng UML?

Trang 67

PTTK UML - Le Thi Bi ch Hang 67

UML là gì?

„ UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phầnmềm

„ Đặc trưng của UML

tài liệu

Software Developer

„ UML kết hợp các điểm mạnh của các mô hình:

(Component Model)

Ngày đăng: 10/02/2015, 14:03

HÌNH ẢNH LIÊN QUAN

Sơ đồ hệ thống bán hàng - phân tích thiết kế hệ thống hướng đối tượng sử dụng uml
Sơ đồ h ệ thống bán hàng (Trang 163)
Sơ đồ cộng tác rút tiền 100000đ của ông A - phân tích thiết kế hệ thống hướng đối tượng sử dụng uml
Sơ đồ c ộng tác rút tiền 100000đ của ông A (Trang 264)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w