Có các loại sơ đồ UML chủ yếu sau: Sơ đồ tình huống sử dụng Use Cases Diagram Sơ đồ lớp Class Diagram Sơ đồ đối tượng Object Diagram Sơ đồ trình tự Sequence Diagram Sơ đồ cộng tá
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT - HUNG
KHOA CÔNG NGHỆ THÔNG TIN
… o0o…
BÁO CÁO KT THC HỌC PHN PHÂN TÍCH THIT K HƯỚNG
ĐỐI TƯỢNG
Phùng Quang Huy Quách Tấn Sang Đặng Quang Trung Nguyễn Văn Bình
Hà Nội - Năm 2023
Trang 2MỤC LỤC
Phn A: HỆ ĐIỀU HÀNH UBUNTU 1
1.1 Sơ lược về Ubuntu 1
1.2 Tính năng chính của Ubuntu 1
Phn B: NGÔN NGỮ PYTHON 5
2.1 Python 5
2.2 Những ưu điểm của python 5
2.3 Cú pháp của python 6
2.3.1 Định danh (identifier) trong Python 6
2.3.2 Các từ khóa trong Python 7
Phn C: GIẢI THUẬT MÜLLER'S METHOD 8
3.1 Müller's method là gì 8
3.2 Tài liệu Müller's method 8
3.3 Mã giả 11
3.4 Kết quả đạt được 12
3.4.1 Mã nguồn chương trình 12
3.4.2 Chương trình chạy kiểm thử 13
DANH MỤC TÀI LIỆU THAM KHẢO 1
NHẬN XÉT 2
Trang 3KÍ HIỆU CÁC CỤM TỪ VIT TẮT
Trang 4CHƯƠNG 1: CƠ SỞ LÝ THUYT
Lập tài liệu (Documenting)
Cho các kết quả (artifacts) của quá trình thực hiện phn mềm
Cách xây dựng các mô hình trong UML phù hợp mô tả các hệ thống thông tin
cả về cấu trúc cũng như hoạt động Cách tiếp cận theo mô hình của UML giúpích rất nhiều cho những người thiết kế và thực hiện hệ thống thông tin cũngnhư những người sử dụng nó; tạo nên một cái nhìn bao quát và đy đủ về hệthống thông tin dự định xây dựng Cách nhìn bao quát này giúp nắm bắt trọnvẹn các yêu cu của người dùng; phục vụ từ giai đoạn phân tích đến việcthiết kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin Các
mô hình hướng đối tượng được lập cũng là cơ sở cho việc ứng dụng cácchương trình tự động sinh mã trong các ngôn ngữ lập trình hướng đối tượng,chẳng hạn như ngôn ngữ C++, Java, Phương pháp mô hình này rất hữudụng trong lập trình hướng đối tượng Các mô hình được sử dụng bao gồm
Mô hình đối tượng (mô hình tĩnh) và Mô hình động
UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phn tử mô hình(model elements) Tập hợp các phn tử mô hình tạo thành các Sơ đồ UML(UML diagrams) Có các loại sơ đồ UML chủ yếu sau:
Sơ đồ tình huống sử dụng (Use Cases Diagram)
Sơ đồ lớp (Class Diagram)
Sơ đồ đối tượng (Object Diagram)
Sơ đồ trình tự (Sequence Diagram)
Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure
Diagram)
Sơ đồ trạng thái (State Machine Diagram)
Sơ đồ thành phn (Component Diagram)
Sơ đồ hoạt động (Activity Diagram)
Sơ đồ triển khai (Deployment Diagram)
Sơ đồ gói (Package Diagram)
Sơ đồ liên lạc (Communication Diagram)
Trang 5 Sơ đồ tương tác (Interaction Overview Diagram - UML 2.0)
Sơ đồ phối hợp thời gian (Timing Diagram - UML 2.0)
UML ra đời do công của James Rumbaugh, Grady Booch và Ivar Jacobson
2 Các biểu đồ UML
2.1 Biểu đồ USECASE
Một UC minh họa một đơn vị chức năng được hệ thống cung cấp Mục đíchchính của việc sử dụng sơ đồ UC là giúp các nhóm phát triển hình dung racác yêu cu chức năng của một hệ thống, bao gồm mối quan hệ của "cácvai" (con người, người sẽ tương tác với hệ thống) với các quy trình cn thiết,cũng như các mối quan hệ trong số các UC khác nhau
Actor
- Là người sử dụng hệ thống Người sử dụng hệ thống có thể
là người, máy, hệ thống khác hoặc một hệ thống con trong mô
hình Bất cứ tương tác nào từ bên ngoài hay bên trong hệ thống
đều được gọi là Actor
Use Case
Trang 6- Use case là một chức năng của hệ thống
- Use case là một kỹ thuật thu thập các yêu cu chức
năng của hệ thống
Use case hoạt động dựa trên việc mô tả các tương tác đặc trưng giữa
người sử dụng hệ thống và chính hệ thống (scenario)
System Boundary
Là ranh giới giữa hệ thống và bên ngoài
Use: Một actor hoặc usecase yêu cu một actor hoặc
usecase khác thực hiện một vài tương tác Quan hệ use là một loại nhỏ hơn của quan
hệ phục thuộc
Association: Thể hiện quan hệ giữa các thành phn
trong mô hình
Generalization: Thể hiện tính kế thừa, tính sử
dụng lại của các actor
Actor B thừa kế thuộc tính và vai trò của actor A
Trang 7Inclusion: Thể hiện UseCase2 bao gồm các
chức năng của UseCase1
Trang 82.2 BIỂU ĐỒ HOẠT ĐỘNG – ACTIVITY DIAGRAM
Sơ đồ hoạt động hiển thị luồng kiểm soát theo thủ tục giữa hai hay nhiềuđối tượng lớp khi xử lý một hoạt động
Mục đích của sơ đồ hoạt động
Mô tả luồng nghiệp vụ của hệ thống
Mô tả các hoạt động của UC
Mô tả thuật toán
Các ký hiệu
Mô tả nghiệp vụ hệ thống
Mô tả hoạt động của UC
Trang 9Mô tả thuật toán
Trang 112.3 BIỂU ĐỒ LỚP – CLASS DIAGRAM
Đối tượng không phải là kiểu dữ liệu trừu tượng, một đối tượng là một thểhiện của một class khi thực hiện Ví dụ xe hơi có biển kiểm soát là “29A1736”
là một thể hiện của lớp “xe hơi” với thuộc tính là biển kiểm soát
Một Object bao giờ cũng có thuộc tính và phương thức Thuộc tính lànhững gì mà object có sở hữu, và nó là kiến thức mà chính bản thân object
có được Phương thức, services là những gì mà object có khả năng làmđược
Class:
Lớp là sự đại diện cho một tập các đối tượng có chung thuộc tính, phương thức
Class bao giờ cũng có thuộc tính (dữ liệu) và phương thức (dịch vụ, hành vi)
Association: Thể hiện mối quan hệ giữa 2
lớp cũng như giữa 2 đối tượng (Link )
Trang 12Trong UML, sự kết hợp được định nghĩa là
một quan hệ gồm một tập các mối liên kết, mỗi liên kết là một liên kết ngữ nghĩa giữa hai đối tượng hay mối quan hệ giữa hai lớp
Có 2 kiểu quan hệ kết hợp là một phía direction) và hai phía (bi-direction)
(uni-Aggregation: là một trường hợp đặc biệt của quan hệ kết hợp
được dùng để biểu diễn “Tổng thể - Thành phn”, điều đó có nghĩa là một lớp sẽbao gồm một hoặc nhiều lớp khác
Với quan hệ tập hợp thì khi Class1 bao gồm Class2 nhưng không sở hữu Class2tồn tại một cách độc lập, khi Class1 mất đi thì Class2 không bị mất đi Quan hệ aggregation được coi như quan hệ có môt(has - a)
Composition: Mạnh hơn aggregation ở chỗ Class4 bao gồm Class3 nhưng lại sở
hữu Class3 Class3 không tồn tại bên ngoài Class4 và khi Class4 mất đị thì Class3 cũng mất đi
Với quan hệ tập hợp thì khi Class tạo thành mất đi(Class1) thì Class được tạo thành không bị mất đi(Class2)
Quan hệ aggregation được coi như quan hệ có môt(has - a)
Generalization: Là quan hệ giữa một lớp tổng
quát (Class5) và một lớp đặc biệt (Class6)
Class5 được gọi là lớp cha và Class6 được gọi là lớp con.
Lớp con được kế thừa toàn bộ thuộc tính và phương thức mà lớp cha có.
: Class8 hiện thực hóa Class7 Class8
Realization
Trang 13 Cardinality (Multiplicity): Xác định số đối tượng của mỗi lớp có thể liên kết với nhau Và nó có thể là: *, 0, 0 *, 0 1, 1, 1 , 1 *, 2 8
Thông thường, người ta phân loại class thành 3 loại đặc biệt sau:
Boundary Class – Lớp biên: Là một lớp để mô tả việc tương tác giữa actorvới hệ thống, điển hình ta có thể thấy Boundary là giao diện chương trình
Nó thể hiện các tương tác giữa người dùng với hệ thống ở mức độ giao diện màn hình
Entity Class – Lớp dữ liệu: Là một kho (Store) để thu thập thông tin và knowledge trong hệ thống
Controller Class – Lớp điều khiển: Là một khuôn lớp để thể hiện các control, quản lý các thực thể Control được tổ chức và schedule cho các tương tác khác nhau với các thành phn khác nhau
Trang 142.5 BIỂU ĐỒ TUN TỰ - SEQUENCE DIAGRAM
Biểu đồ tun tự thể hiện sự tương tác giữa hai hay nhiều object để hiện thực các chứng năng của hệ thống theo thứ tự về thời gian Nó được sử dụng để mô tả dòng thông điệp được gửi đi và và các đối tượng phối hợp nhận và Biểu đồ tun
tự thông thường được sử dụng như một mô hình giải thích cho kịch bản usecase.Biểu đồ tun tự thể hiện rất rõ đối tượng nào tương tác với đối tượng nào và thông điệp là gì Khi đọc một biểu đồ tun tự ta đọc từ trái qua phải và từ trên xuống dưới
Lifelines: Thể hiện sự tồn tại của đối tượng theo thời gian (thời gian sống của đối tượng) Trong UML nó được biểu diễn bởi được đường nét rời đứng
Activations: Thể hiện thời gian, chu trình sống của đối tượng khi thực hiện một service nào đó (thời gian mà service đó còn tồn tại) Trong UML nó được biểu diễn bằng một hình chữ nhật hẹp, đứng
Message: Một object gửi một thông điệp đến một objectkhác nhờ thực hiện một service nào đó mà nó không có Khi gửi một message cóthể có tham số kèm theo và đó là knowledge (data) của object gửi
Trang 15 Message (Call, Procedure): gọi một phương thức cụ thể
của object đích
Self message: Self message là tự gọi một phương thức ngay tại trong lớp đó
Return message: Là message kết quả trả về sau khi đã thực
hiện một message gửi
: Kết thúc chu trình sống của đối tượng thì ta
Destroy
phải huỷ đối tượng
Sơ đồ tuần tự
Trang 162.6 BIỂU ĐỒ GIAO TIP – COMMUNICATION DIAGRAM
Một biểu đồ giao tiếp miêu tả tương tác giữa các đối tượng cũng giống nhưbiểu đồ tun tự, nhưng nó tập trung trước hết vào các sự kiện, tức là tậptrung chủ yếu vào sự tương tác giữa các đối tượng
Trong một biểu đồ cộng tác, các đối tượng được biểu diễn bằng kí hiệu lớp.Thứ tự trong biểu đồ cộng tác được thể hiện bằng cách đánh số các thôngđiệp Kỹ thuật đánh số được coi là hơi có phn khó hiểu hơn so với kỹ thuậtmũi tên sử dụng trong biểu đồ tun tự
Trang 172.7 BIỂU ĐỒ TRẠNG THÁI – STATE DIAGRAM
Biểu đồ trạng thái thể hiện vòng đời của các đối tượng, các hệ thống con(Subsystem) và các hệ thống Chúng cho ta biết các trạng thái mà một đốitượng có thể có và các sự kiện (các thông điệp nhận được, các khoảng thờigian đã qua đi, các lỗi xảy ra, các điều kiện được thỏa mãn) sẽ ảnh hưởngđến những trạng thái đó như thế nào dọc theo tiến trình thời gian
Ví dụ biểu đồ trạng thái:
2.8 BIỂU ĐỒ GÓI – PACKAGE DIAGRAM
Package dùng để nhóm các phn tử trong UML lại với nhau theo một ngữnghĩa nhất định, với mục đích làm đơn giản hóa quá trình tổ chức, quản lýcác thành phn trong UML
Trang 182.9 BIỂU ĐỒ THÀNH PHN – COMPONENT DIAGRAM
Một biểu đồ thành phn cung cấp một khung nhìn vật lý của hệ thống Mục đích của nó là hiển thị các phụ thuộc mà phn mềm có trên các thành phn phn mềm khác (ví dụ, các thư viện phn mềm) trong hệ thống Sơ đồ này có thểđược hiển thị ở mức rất cao, chỉ với các thành phn có độ chi tiết lớn hoặc nó có thể được hiển thị tại mức gói
Trang 192.10 BIỂU ĐỒ TRIỂN KHAI – DEPLOYMENT DIAGRAM
Biểu đồ triển khai cho thấy cách một hệ thống sẽ được triển khai cụ thể nhau của hệ thống cụ thể sẽ chạy ở đâu và làm thế nào để chúng giao tiếp với nhau
Trang 20CHƯƠNG 2: PHÂN TÍCH THIT K BÀI TOÁN
Trang 21DANH MỤC TÀI LIỆU THAM KHẢO
1 https://atozmath.com/example/CONM/Bisection.aspx?q=mu
2 https://www.python.org/
3 Giáo trình Numerical Methods for Engineers
Trang 22NHẬN XÉT
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………