Tổng hợp bài giảng môn Nhập môn trí tuệ nhân tạo_Thầy Khoát| Bài giảng môn Nhập môn trí tuệ nhân tạo| Trường Đại học Bách Khoa Hà Nội

Tổng hợp bài giảng môn Nhập môn trí tuệ nhân tạo_Thầy Khoát| Bài giảng môn Nhập môn trí tuệ nhân tạo| Trường Đại học Bách Khoa Hà Nội. Tài liệu gồm 439 trang giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kỳ thi sắp tới. Mời bạn đọc đón xem.

Phân tích và Thiết kế
Hệ thống
(IT3120)
Trường Đại học Bách Khoa Hà Nội
Viện Công nghệ thông tin và truyn thông
Năm học 2020-2021
Nguyễn Nhật Quang
quang.nguyennhat@hust.edu.vn
Nội dung học phần:
Giới thiệu về Phân tích và thiết kế hệ thống thông tin hướng đối tượng
Phân tích và thiết kế hệ thống thông tin
Mô hình hóa hướng đối tượng
Giới thiệu về Ngôn ngữ mô hình hóa UML
Giới thiệu về Quy trình phát triển phần mềm
Phân tích môi trường và nhu cầu
Phân tích chức năng
Phân tích cấu trúc
Phân tích hành vi
Phân tích ứng x
Thiết kế kiến trúc tổng thể của hệ thống
Thiết kế chi tiết lớp
Thiết kế giao diện sử dụng
Thiết kế dữ liệu
2
Phân tíchthiết kế hệ thống thông tin
Information system analysis and design
Phân tích và thiết kế HTTT (1)
Hệ thống (HT)?
Ví dụ: HT triết học, HT luật pháp, HT tuần hoàn, HT thông tin,
HT bảo mật, …
HT là một tập hợp gồm nhiều phần tử, có mối quan hệ ràng buộc
lẫn nhau và cùng hoạt động hướng tới một mục đích chung
HT nhận cái vào (input) và xuất cái ra (output)
Mục đích của Phân tích và thiết kế hệ thống thông tin
(PT&TK HTTT)?
HTTT nào cũng có một chu trình sống (lifecycle)
Các giai đoạn chính: Tìm hiểu nhu cầu, Phân tích, Thiết kế, Cài
đặt, Khai thác và bảo dưỡng
Có thể tuyến tính (tuần tự), hoặc
Có thể lặp lại các giai đoạn
3
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Phân tích và thiết kế HTTT (2)
Giai đoạn Tìm hiểu nhu cầu
Làm rõ HTTT được xây dựng phải đáp ứng những nhu cầu gì của người
dùng (nhu cầu trước mắt & tương lai, nhu cầu tường minh & tiềm ẩn)
Giai đoạn Phân tích
Đi sâu vào bản chất và chi tiết của HT, cho thấy HT phải thực hiện
những việc gì và các dữ liệu mà nó sử dụng
Giai đoạn Thiết kế
Đưa ra các quyết định thiết kế HT nhằm thỏa mãn: 1)các yêu cầu được
xác định trong giai đoạn phân ch và 2)các ràng buộc thực tế
Giai đoạn Cài đặt
Lập trình và kiểm thử
Giai đoạn Khai thác và bảo dưỡng
Đưa HT vào sử dụng, thực hiện các chỉnh sửa nâng cấp nếu phát hiện
các điểm chưa thích hợp
4
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Phân tích và thiết kế HTTT (3)
Cần có phương pháp?
Để hoàn thành hiệu quả các công việc (phức tạp)
Ví dụ: Làm thơ, Xây nhà, Xây dựng hệ thống phần
mềm,
Một phương pháp PT&TK là sự hợp thành của 3 yếu tố:
Các khái niệm và mô hình
Quy trình thực hiện: Các bước đi lần lượt, các hoạt
động cần làm
Công cụ trợ giúp: Phần mềm giúp (hỗ trợ) việc phân
tích và thiết kế HT
5
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Phân tích và thiết kế HTTT (4)
Phương pháp PTTK hướng chức năng (Functional system analysis
and design)
Ra đời vào những năm 70, 80 của thế kỷ XX
Lấy chức năng làm đơn vị phân khi tiến hành PTTK HT
Cài đặt HT bằng các ngôn ngữ lập trình thủ tục (procedural
programming language): Pascal, C, …
Nhược điểm: HT khó sửa chữa, khó nâng cấp, khó tái sử
dụng
Phương pháp PTTK hướng đối tượng (Object-oriented system
analysis and design)
Ra đời vào những năm 90 của thế kỷ XX
Lấy đối tượng làm đơn nguyên bản của HT
Đối tượng: kết hợp cả chức năng dữ liệu
Cài đặt bằng các ngôn ngữ lập trình hướng đối tượng (object-
oriented programming language): C++, Java, C#,…
6
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Mô hình hóa hướng đi tượng
Khái niệm mô hình (model) hình hóa (modeling)
Các phương pháp mô hình hóa
Mô hình hóa (MHH) hướng đối ợng (object-oriented
modeling)
7
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Mô hình và Mô hình hóa
Mô hình: một dạng trừu ợng hóa/một hình ảnh/một
biểu diễn của một hệ thống thực, được diễn tả:
ở một mức độ trừu tượng hóa nào đó,
theo một quan điểm/góc nhìn nào đó,
bởi một hình thức diễn tả hiểu được nào đó (như văn
bản, đồ thị, phương trình,…)
Mô hình hóa: dùng mô hình để nhận thức và diễn t
một hệ thống
Quá trình phân tích thiết kế HT cũng được gọi là quá
trình mô hình hóa HT
8
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Mc đích và cht lượng ca MHH
Mục đích của MHH:
Để hiểu
Để trao đổi
Để hoàn chỉnh
MHH tốt phải thỏa các yêu cầu sau:
dễ đọc
dễ hiểu
dễ trao đổi
xác thực
chặt chẽ
đầy đủ
dễ thực hiện (cài đặt)
9
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Phương pháp MHH
Kết hợp 3 thành phần:
Hệ ký pháp (notation): Các khái niệm và mô nh
Một tiến trình (process): Các bước cần tiến hành, các sản
phẩm (tài liệu, mô hình) qua từng giai đoạn, cách điều
hành tiến trình, cách đánh giá chất lượng
Công cụ hỗ trợ (CASE): Phần mềm hỗ trợ cho quá trình
MHH, có khả năng:
Sản sinh các mô hình và biểu đồ,
Biến đổi và điều chỉnh nhanh các mô hình và biểu đồ,
Kiểm tra cú pháp, sự chặt chẽ, đầy đủ,
Kiểm thử và đánh giá,
Mô phỏng thực hiện mô hình
10
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Hai xu hướng chính ca MHH
MHH hướng chức năng (từ 1970)
Lấy chức năng làm đơn vị phân rã HT
Phù hợp với các phương pháp lập trình hướng thủ tục
MHH hướng đối tượng (từ 1990)
Lấy đối tượng làm đơn vị phân rã HT
Phù hợp với các phương pháp lập trình hướng đối tượng
11
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Các mô hình lp trình
Mô hình lập trình thủ tục: Pascal, C, Ada, Cobol,…
Mô hình lập trình logic: Prolog, C5,…
Mô hình lập trình hàm: Matlab, Lisp, Haskell,…
Mô hình lập trình hướng đối tượng: C++, Java,…
12
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Phân tích và Thiết kế
Hệ thống
(IT3120)
Trường Đại học Bách Khoa Hà Nội
Viện Công nghệ thông tin và truyền thông
Năm học 2020-2021
Nguyễn Nhật Quang
quang.nguyennhat@hust.edu.vn
Nội dung học phần:
Giới thiệu về Phân tích và thiết kế hệ thống thông tin hướng đối tượng
Giới thiệu về Ngôn ngữ mô hình hóa UML
Giới thiệu về Quy trình phát triển phần mềm
Phân tích môi trường và nhu cầu
Phân tích chức năng
Phân tích cấu trúc
Phân tích hành vi
Phân tích ứng xử
Thiết kế kiến trúc tổng thể của hệ thống
Thiết kế chi tiết lớp
Thiết kế giao diện sử dụng
Thiết kế dữ liệu
2
Phân tíchthiết kế hệ thống thông tin
Information system analysis and design
Gii thiu v ngôn ng MHH UML
Lịch sử phát triển của ngôn ngữ MHH UML
Các góc nhìn của UML
Các biểu đồ được sử dụng trong UML
Các công cụ MHH UML miễn p
3
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Lch s phát trin ca UML (1)
Ngôn ngữ UML (Unified Modeling Language) một
hệ thống pháp mô hình hóa hướng đối tượng
1975-1990:
Có nhiều ngôn ngữ MHH hướng đối tượng được phát triển
1990-1994:
Hơn 50 phương pháp phát triển ớng đối tượng, trong đó
có 3 phương pháp nổi tiếng:
OOD - Object Oriented Design (Grady Booch)
OOSE - Object Oriented Software Engineering (Ivar
Jacobson)
OMT - Object Modeling Technique (Jim Rumbaugh)
4
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Lch s phát trin ca UML (2)
10/1994: Rumbaugh và Booch tiến hành dự án UML ở Rational, xây
dựng một phương pháp hợp nhất trên cơ sở hai phương pháp Booch
93 và OMT-2
1995: Jacobson gia nhập dự án
10/1995: Phác thảo UML, phiên bản 0
6/1996: Phiên bản UML 0.9
1/1997: IBM và SoftTeam kết hợp với các thành viên => Phiên bản 1.1
14/11/1997: UML 1.1 được OMG (Object Management Group) công
nhận là chuẩn
6/1998: UML 1.2
10/1998: UML 1.3
5/2001: UML 1.4
6/2003: UML 2.0
5
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
UML - Mt ngôn ng MHH
UML là ngôn ngữ dùng để:
Mô hình hóa trực quan (Visualizing)
Đặc tả (Specifying)
Xây dựng (Constructing)
Làm i liệu (Documenting)
Có thể sử dụng trong bất kỳ tiến trình phát triển hệ thống
Xuyên suốt vòng đời phát triển hệ thống
Được sử dụng bởi các công nghệ cài đặt khác nhau
6
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Các góc nhìn ca UML (1)
UML cung cấp các mô hình để diễn tả hệ thống
Mỗi mô hình chỉ có thể diễn tả hệ thống theo một góc
nhìn (view) nhất định
UML cung cấp 5 góc nhìn đối với hệ thống
Mỗi góc nhìn thực hiện bởi một số biểu đồ (mô hình)
Có thể biểu đồ thuộc vào nhiều (>1) góc nhìn khác
nhau
7
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
Các góc nhìn ca UML (2)
Góc nhìn thiết kế
(lớp, gói, đối tượng)
Góc nhìn thực thi
(thành phần)
Góc nhìn triển khai
(thành phần,
triển khai)
Góc nhìn quá trình
(trình tự, giao tiếp,
máy trạng thái,
hoạt động)
Góc nhìn ca sử dụng
(ca sử dụng)
8
Phân tích và thiết kế hệ thống thông tin
Information system analysis and design
| 1/401

Preview text:

Phân tích và Thiết kế Hệ thống (IT3120) Nguyễn Nhật Quang
quang.nguyennhat@hust.edu.vn
Trường Đại học Bách Khoa Hà Nội
Viện Công nghệ thông tin và truyền thông Năm học 2020-2021
Nội dung học phần:
Giới thiệu về Phân tích và thiết kế hệ thống thông tin hướng đối tượng
Phân tích và thiết kế hệ thống thông tin
Mô hình hóa hướng đối tượng
◼ Giới thiệu về Ngôn ngữ mô hình hóa UML
◼ Giới thiệu về Quy trình phát triển phần mềm
◼ Phân tích môi trường và nhu cầu ◼ Phân tích chức năng ◼ Phân tích cấu trúc ◼ Phân tích hành vi ◼ Phân tích ứng xử
◼ Thiết kế kiến trúc tổng thể của hệ thống
◼ Thiết kế chi tiết lớp
◼ Thiết kế giao diện sử dụng ◼ Thiết kế dữ liệu
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 2
Phân tích và thiết kế HTTT (1) ◼ Hệ thống (HT)? ❑
Ví dụ: HT triết học, HT luật pháp, HT tuần hoàn, HT thông tin, HT bảo mật, … ❑
HT là một tập hợp gồm nhiều phần tử, có mối quan hệ ràng buộc
lẫn nhau và cùng hoạt động hướng tới một mục đích chung ❑
HT nhận cái vào (input) và xuất cái ra (output)
◼ Mục đích của Phân tích và thiết kế hệ thống thông tin (PT&TK HTTT)? ❑
HTTT nào cũng có một chu trình sống (lifecycle) ❑
Các giai đoạn chính: Tìm hiểu nhu cầu, Phân tích, Thiết kế, Cài
đặt, Khai thác và bảo dưỡng
◼ Có thể tuyến tính (tuần tự), hoặc
◼ Có thể lặp lại các giai đoạn
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 3
Phân tích và thiết kế HTTT (2) ◼
Giai đoạn Tìm hiểu nhu cầu
Làm rõ HTTT được xây dựng phải đáp ứng những nhu cầu gì của người
dùng (nhu cầu trước mắt & tương lai, nhu cầu tường minh & tiềm ẩn) ◼ Giai đoạn Phân tích
Đi sâu vào bản chất và chi tiết của HT, cho thấy HT phải thực hiện
những việc gì và các dữ liệu mà nó sử dụng ◼ Giai đoạn Thiết kế
Đưa ra các quyết định thiết kế HT nhằm thỏa mãn: 1)các yêu cầu được
xác định trong giai đoạn phân tích và 2)các ràng buộc thực tế ◼ Giai đoạn Cài đặt ❑ Lập trình và kiểm thử ◼
Giai đoạn Khai thác và bảo dưỡng ❑
Đưa HT vào sử dụng, thực hiện các chỉnh sửa nâng cấp nếu phát hiện
các điểm chưa thích hợp
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 4
Phân tích và thiết kế HTTT (3) ◼ Cần có phương pháp?
❑ Để hoàn thành hiệu quả các công việc (phức tạp)
❑ Ví dụ: Làm thơ, Xây nhà, Xây dựng hệ thống phần mềm, …
◼ Một phương pháp PT&TK là sự hợp thành của 3 yếu tố:
Các khái niệm và mô hình
Quy trình thực hiện: Các bước đi lần lượt, các hoạt động cần làm
Công cụ trợ giúp: Phần mềm giúp (hỗ trợ) việc phân tích và thiết kế HT
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 5
Phân tích và thiết kế HTTT (4) ◼
Phương pháp PTTK hướng chức năng (Functional system analysis and design)
❑ Ra đời vào những năm 70, 80 của thế kỷ XX
❑ Lấy chức năng làm đơn vị phân rã khi tiến hành PTTK HT
❑ Cài đặt HT bằng các ngôn ngữ lập trình thủ tục (procedural
programming language): Pascal, C, …
Nhược điểm: HT khó sửa chữa, khó nâng cấp, khó tái sử dụng
Phương pháp PTTK hướng đối tượng (Object-oriented system analysis and design)
❑ Ra đời vào những năm 90 của thế kỷ XX
❑ Lấy đối tượng làm đơn nguyên cơ bản của HT
❑ Đối tượng: kết hợp cả chức năng và dữ liệu
❑ Cài đặt bằng các ngôn ngữ lập trình hướng đối tượng (object-
oriented programming language): C++, Java, C#,…
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 6
Mô hình hóa hướng đối tượng
◼ Khái niệm mô hình (model) và mô hình hóa (modeling)
◼ Các phương pháp mô hình hóa
◼ Mô hình hóa (MHH) hướng đối tượng (object-oriented modeling)
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 7 Mô hình và Mô hình hóa
Mô hình: là một dạng trừu tượng hóa/một hình ảnh/một
biểu diễn của một hệ thống thực, được diễn tả:
❑ ở một mức độ trừu tượng hóa nào đó,
❑ theo một quan điểm/góc nhìn nào đó,
❑ bởi một hình thức diễn tả hiểu được nào đó (như văn
bản, đồ thị, phương trình,…)
Mô hình hóa: dùng mô hình để nhận thức và diễn tả một hệ thống
Quá trình phân tích và thiết kế HT cũng được gọi là quá
trình mô hình hóa HT
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 8
Mục đích và chất lượng của MHH ◼ Mục đích của MHH: ❑ Để hiểu ❑ Để trao đổi ❑ Để hoàn chỉnh
◼ MHH tốt phải thỏa các yêu cầu sau: ❑ dễ đọc ❑ dễ hiểu ❑ dễ trao đổi ❑ xác thực ❑ chặt chẽ ❑ đầy đủ
❑ dễ thực hiện (cài đặt)
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 9 Phương pháp MHH
◼ Kết hợp 3 thành phần:
Hệ ký pháp (notation): Các khái niệm và mô hình
❑ Một tiến trình (process): Các bước cần tiến hành, các sản
phẩm (tài liệu, mô hình) qua từng giai đoạn, cách điều
hành tiến trình, cách đánh giá chất lượng
Công cụ hỗ trợ (CASE): Phần mềm hỗ trợ cho quá trình MHH, có khả năng: ◼
Sản sinh các mô hình và biểu đồ, ◼
Biến đổi và điều chỉnh nhanh các mô hình và biểu đồ, ◼
Kiểm tra cú pháp, sự chặt chẽ, đầy đủ, ◼ Kiểm thử và đánh giá, ◼
Mô phỏng thực hiện mô hình
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 10
Hai xu hướng chính của MHH
◼ MHH hướng chức năng (từ 1970) ❑
Lấy chức năng làm đơn vị phân rã HT ❑
Phù hợp với các phương pháp lập trình hướng thủ tục
◼ MHH hướng đối tượng (từ 1990) ❑
Lấy đối tượng làm đơn vị phân rã HT ❑
Phù hợp với các phương pháp lập trình hướng đối tượng
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 11 Các mô hình lập trình
◼ Mô hình lập trình thủ tục: Pascal, C, Ada, Cobol,…
◼ Mô hình lập trình logic: Prolog, C5,…
◼ Mô hình lập trình hàm: Matlab, Lisp, Haskell,…
◼ Mô hình lập trình hướng đối tượng: C++, Java,…
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 12
Phân tích và Thiết kế Hệ thống (IT3120) Nguyễn Nhật Quang
quang.nguyennhat@hust.edu.vn
Trường Đại học Bách Khoa Hà Nội
Viện Công nghệ thông tin và truyền thông Năm học 2020-2021
Nội dung học phần:
◼ Giới thiệu về Phân tích và thiết kế hệ thống thông tin hướng đối tượng
Giới thiệu về Ngôn ngữ mô hình hóa UML
◼ Giới thiệu về Quy trình phát triển phần mềm
◼ Phân tích môi trường và nhu cầu ◼ Phân tích chức năng ◼ Phân tích cấu trúc ◼ Phân tích hành vi ◼ Phân tích ứng xử
◼ Thiết kế kiến trúc tổng thể của hệ thống
◼ Thiết kế chi tiết lớp
◼ Thiết kế giao diện sử dụng ◼ Thiết kế dữ liệu
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 2
Giới thiệu về ngôn ngữ MHH UML
◼ Lịch sử phát triển của ngôn ngữ MHH UML ◼ Các góc nhìn của UML
◼ Các biểu đồ được sử dụng trong UML
◼ Các công cụ MHH UML miễn phí
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 3
Lịch sử phát triển của UML (1)
◼ Ngôn ngữ UML (Unified Modeling Language) là một
hệ thống ký pháp mô hình hóa hướng đối tượng ◼ 1975-1990:
❑ Có nhiều ngôn ngữ MHH hướng đối tượng được phát triển ◼ 1990-1994:
❑ Hơn 50 phương pháp phát triển hướng đối tượng, trong đó
có 3 phương pháp nổi tiếng: ◼
OOD - Object Oriented Design (Grady Booch) ◼
OOSE - Object Oriented Software Engineering (Ivar Jacobson) ◼
OMT - Object Modeling Technique (Jim Rumbaugh)
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 4
Lịch sử phát triển của UML (2)
◼ 10/1994: Rumbaugh và Booch tiến hành dự án UML ở Rational, xây
dựng một phương pháp hợp nhất trên cơ sở hai phương pháp Booch 93 và OMT-2
◼ 1995: Jacobson gia nhập dự án
◼ 10/1995: Phác thảo UML, phiên bản 0
◼ 6/1996: Phiên bản UML 0.9
◼ 1/1997: IBM và SoftTeam kết hợp với các thành viên => Phiên bản 1.1
◼ 14/11/1997: UML 1.1 được OMG (Object Management Group) công nhận là chuẩn ◼ 6/1998: UML 1.2 ◼ 10/1998: UML 1.3 ◼ 5/2001: UML 1.4 ◼ 6/2003: UML 2.0
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 5 UML - Một ngôn ngữ MHH
◼ UML là ngôn ngữ dùng để:
❑ Mô hình hóa trực quan (Visualizing) ❑ Đặc tả (Specifying) ❑ Xây dựng (Constructing)
❑ Làm tài liệu (Documenting)
◼ Có thể sử dụng trong bất kỳ tiến trình phát triển hệ thống
◼ Xuyên suốt vòng đời phát triển hệ thống
◼ Được sử dụng bởi các công nghệ cài đặt khác nhau
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 6 Các góc nhìn của UML (1)
◼ UML cung cấp các mô hình để diễn tả hệ thống
◼ Mỗi mô hình chỉ có thể diễn tả hệ thống theo một góc nhìn (view) nhất định
◼ UML cung cấp 5 góc nhìn đối với hệ thống
◼ Mỗi góc nhìn thực hiện bởi một số biểu đồ (mô hình)
◼ Có thể có biểu đồ thuộc vào nhiều (>1) góc nhìn khác nhau
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 7 Các góc nhìn của UML (2) Góc nhìn thiết kế Góc nhìn thực thi (lớp, gói, đối tượng) (thành phần) Góc nhìn ca sử dụng (ca sử dụng) Góc nhìn quá trình Góc nhìn triển khai (trình tự, giao tiếp, (thành phần, máy trạng thái, triển khai) hoạt động)
Phân tích và thiết kế hệ thống thông tin –
Information system analysis and design 8