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.
Môn: Nhập môn trí tuệ nhân tạo hust
Trường: Đại học Bách Khoa Hà Nội
Thông tin:
Tác giả:
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