Tiếp cận hướng chức năng... UML Unified Modeling Language là ngôn ngư mô hình hóa, mô tả ký pháp thống nhất ngư nghĩa và mô tả định nghĩa vê chính ngôn ngư đó.. Nó kh
Trang 1MỞ ĐẦU
II Nguyên tắc mô hình hóa: (4 nguyên tắc)
- Việc chọn mô hình nào để tạo lập có ảnh hưởng sâu sắc đến cách giải quyết vấn đê
& cách hình thành các giải pháp
- Mỗi mô hình biểu diễn 1 hệ thống với độ chính xác khác nhau
- Mô hình tốt nhất phải là mô hình phù hợp với thế giới thực
- Không mô hình nào là đầy đủ Mỗi hệ thống cần được tiếp cận thông qua tập mô hình gần như độc lập nhau
III Các cách tiếp cận trong phát triển phần mềm: (2 cách)
1 Tiếp cận hướng chức năng.
- Dựa vào chức năng, nhiệm vụ là chính Khi khảo sát phân tích một hệ thống chúng
ta tập chung vào các nghiên cứu nhiệm vụ mà nó cần thực hiện, do vậy hệ thống phần mêm được coi như là tập hợp các chức năng, nhiệm vụ cần tổ chức thực thi
- Phân rã chức năng và làm mịn dần theo cách từ trên xuống dưới (phân tách nhỏ các chức năng chính thành các chức năng đơn giản hơn theo cách từ trên xuống)
- Các đơn thể chức năng trao đổi với nhau bằng cách truyên tham số hay sử dụng dư liệu chung
- Tính mở và thích nghi của hệ thống được xây dựng theo cách tiếp cận này là thấp Vì hệ thống xây dựng dựa vào chức năng là chính, mà trong thực tế chức năng, nhiệm vụ hệ thống là hay thay đổi
- Các bộ phận của hệ thống phải sử dụng biến toàn cục để trao đổi với nhau do vậy khả năng thay đổi mở rộng của chúng và của cả hệ thống là hạn chế
2 Cách tiếp cận hướng đối tượng.
- Đặt trọng tâm vào dư liệu hay còn gọi là thực thể
- Xem hệ thống như là một tập các thực thể, tập các đối tượng Các đối tượng trong hệ thống liên quan với nhau theo các quan hệ kết hợp, kết nhập, kế thừa, phụ thuộc Phương hướng đối tượng cho phép đặc tả hết tất cả các quan hệ của các đối tượng đúng với bản chất tự nhiên như trong hế giới thực
- Các lớp đối tượng trao đổi với nhau bằng thông điệp
- Tính mở và tính thích nghi của hệ thống cao
+ Hệ thống được xây dựng dựa vào các lớp đối tượng nên khi có các yêu cầu thay đổi thì chỉ thay đổi nhưng lớp đối tượng liên quan hoặc bổ xung thêm một số lớp đối tượng có thể kế thừa từ lớp trước để thực thi nhưng nhiệm vụ mới mà hệ thống cần thực hiện
+ Trong các chương trình hướng đối tượng có thể không cần sử dụng biến toàn cục nên mọi sửa đổi chỉ có hiệu ứng cục bộ
- Hỗ trợ sử dụng lại cơ chế kế thừa
Trang 2* Ưu điểm: Phương pháp hướng đối tượng…
- Đối tượng là cơ sở để kết hợp các đơn thể sử dụng lại thành hệ thống lớn hơn, tạo ra nhưng sản phẩm có chất lượng hơn
- Quy ước truyên thông điệp giưa các đối tượng đảm bảo cho tính mô tả các giao diện giưa các đối tượng thành phần bên trong hệ thống và nhưng hệ thống bên ngoài trở lên dễ dàng hơn
- Nguyên lý bao gói che giấu thông tin hỗ trợ cho việc xây dựng nhưng hệ thống thông tin an toàn và tin cậy
- Nguyên lý kế thừa đảm bảo cho hệ thống có tính mở và tin cậy hơn
- Xóa bỏ ngăn cách giưa các pha phân tích, thiết kế, cài đặt và kiểm thử trong xây dựng phần mêm
V Quản lý rủi do (4 nhóm)
1 Rủi do vê thương mại: Có thể thu thập đầy đủ thông tin cạnh tranh của sản phẩm trên thị trường
2 Rủi do vê tài chính: Nhà đầu tư phát triển phần mêm có đủ kinh phí phát triển dự án
3 Rủi do vê kỹ thuật: Nên tảng công nghệ vưng chắc và đã được thử thách
4 Rủi do vê phát triển công nghệ: Độ ngũ phát triển đã đủ kinh nghiệm, họ có làm chủ hoàn toàn công nghệ đang sử dụng
Trang 3I Giới thiệu UML:
1 UML (Unified Modeling Language) là ngôn ngư mô hình hóa, mô tả ký pháp thống
nhất ngư nghĩa và mô tả định nghĩa vê chính ngôn ngư đó Nó không mô tả vê phương pháp phát triển
- UML được sử dụng hiển thị đặc tả xây dựng và làm tài liệu các vật phẩm của phân tích quá trình xây dựng hệ thống phần mêm theo hướng đối tượng
- UML là ngôn ngư, là tập hợp các từ vựng và quy tắc tổ hợp các từ trong từ vựng để giao tiếp
- UML là ngôn ngư để hiển thị
- UML là ngôn ngư đặc tả
- UML là ngôn ngư để xây dựng
- UML là ngôn ngư tài liệu: (tài liệu cho người……… quá trình phát triển phần mêm)
2 Mô hình khái niệm của UML:
Các loại biểu đồ
3 Kiến trúc hệ thống:
Mô hình kiến trúc hệ thống:
* Biểu đồ UC:
- Mô tả hành vi hệ thống theo cách nhìn của khách hàng _ phân tích viên _ kỹ sư chương trình
* Khung nhìn:
- Khung nhìn cài đặt : Tập chung vào hệ thống cài đặt hành vi trong UC ntn?
- Khung nhìn cài đặt : là modul vật lý hay tệp mã nguồn để lắp ráp thàng hệ thống
- Khung nhìn triển khai: Tập chung vào khuôn khổ phân bổ vật lý của tài nguyên và phân bổ nhiệm vụ giưa các tài nguyên Khung nhìn triển khai chỉ ra các tiến trình và thiết bị trên mạng và các kết nối vật lý giưa chúng Biểu đồ triển khai cũng hiển thị tiến trình và chỉ ra tiến trình nào chạy trên máy nào
- Khung nhìn tiến trình (process): Biểu diễn phân tách giưa các luồng thực hiện chương trình, đồng bộ giưa các luồng, phân bổ các đối tượng và lớp cho các luồng thực hiện khác nhau
1
2 3
Trang 4BIỂU ĐỒ UC (Use case)
- Có 2 phần tử mô hình: Tác nhân và use case
I.UC.
1 Định nghĩa, ý nghĩa:
- Đơn giản UC mô tả ai đó đang sử dụng hệ thống ntn? Mô tả tương tác giưa người sử dụng với hệ thống phần mêm để thực hiện các thao tác giải quyết công việc cụ thể nào đó
- UC không cho biết hệ thống làm việc bên trong ntn? Nó không phải là thiết kế, cũng không phải là kế hoạch cài đặt, nó là một phần của vấn đê cần giải quyết Tiến trình của hệ thống được chia nhỏ thành các UC để có thể nhận ra từng bộ phận của nó một cách rõ ràng và để nhiêu người có thể cùng xử lý
* Ý nghĩa:
- Hình thành quyết định và mô tả yêu cầu chức năng hệ thống
- Cho phép mô tả rõ ràng và nhất quán cái hệ thống sẽ làm, sao cho mô hình có khả năng được sử dụng xuyên suốt quá trình phát triển
- Cung cấp cơ sở để kiểm tra thử nghiệm hệ thống
- Cho khả năng dễ thay đổi hay mở rộng yêu cầu của hệ thống
- Ký pháp ký hiệu của UC là (UC)
2 Cách tìm kiếm UC
- Tác nhân là thực thể bên ngoài tương tác với hệ thống Chúng có thể là con người cũng có thể là hệ thống trong thiết bị phần cứng khác cần tương tác Tương tác là sự trao đổi thông tin
* Các cách tìm kiếm tác nhân: (Trả lời câu hỏi?)
- Ai sẽ xây dựng các chức năng chính của hệ thống?
- Ai giúp hệ thống làm việc hàng ngày?
- Ai quản trị bảo dưỡng hệ thống để hệ thống làm việc liên tục?
- Hệ thống quản lý thiết bị phần cứng nào
- Hệ thống đang xây dựng tương tác với hệ thống khác nào?
- Ai hay cái gì quan tâm đến kết quả hệ thống cho lại?
* Cách tìm UC: (Trả lời câu hỏi?)
- Tác nhân yêu cầu hệ thống thực hiện chức năng gì?
- Tác nhân cần đọc, tạo lập, bãi bỏ, lưu trư, sửa đổi thông tin nào trong hệ thống?
- Có cần thông báo cho tác nhân vê sự kiện xảy ra trong hệ thống, ngược lại có cần tác nhân thông báo cái gì đó cho hệ thống?
- Hệ thống cần vảo, ra từ đâu hay đến đâu?
- UC tìm kiếm đã trả đầy đủ hay chưa?
Trang 5+ Mỗi yêu cầu chức năng ở trong ít nhất 1 UC nếu yêu cầu chức năng không ở trong
UC nào thì nó sẽ không được cài đặt sau này
- Đã xem xét mọi tác nhân tương tác với hệ thống chưa?
- Tác nhân cung cấp cho hệ thống thông tin nào?
- Tác nhân nhận thông tin nào từ hệ thống?
- Đã nhận biết mọi hệ thống bên ngoài mà hệ thống này tương tác?
- Thông tin nào bên ngoài hệ thống nhận và gửi cho hệ thống này?
3 Đặc trưng của UC:
- UC luôn được tăng lên kích hoạt, tác nhân ra lện trực tiếp hay gián tiếp hệ thống thực hiện UC UC nối tác nhân bằng quan hệ kết hợp
- UC cung cấp giá trị trở lại cho tác nhân, giá trị là cái gì đó tùy theo bài toán mà tác nhân muốn nhận từ UC
4 Luồn sự kiện trong UC:
- Mô tả chi tiết người sử dụng sẽ làm gì và hệ thống sẽ làm gì để thực hiện chức năng của UC
- Kịch bản chỉ ra luông sự kiện trong 1 thể hiện cụ thể của UC, nó là trình tự hoạt động cụ thể để mô tả hành vi
5 Luồng sự kiện – Mô tả UC:
- Mỗi UC cần được mô tả ngắn gọn là nó sẽ làm gì?
- Tiên điêu kiện của UC: Liệt kê các điêu kiện cần được thực hiện trước khi UC khở động
6 Luồng sự kiện chính và luồng sự kiện nhánh: (bao gồm)
- UC khởi động ntn?
- Các đường đi xuyên qua UC?
- Luồng chính thông qua UC?
- Luồng rẽ nhánh thông qua UC?
- Các luồng lỗi?
- UC kết thúc thế nào?
* Hậu điều kiện: Là điêu kiện được thực hiện ngay sau khi kết thúc UC Nó mô tả
trạng thái hệ thống hay tác nhân khi hoàn thành UC
II Biểu đồ UC (Trường hợp sử dụng):
- Biểu đồ UC là tài liệu tác nhân (mọi thứ bên ngoài hệ thống), UC (mọi thứ bên trong phạm vi hệ thống) và các quan hệ giưa chúng
* Chú ý:
- Không nên mô hình hóa giao tiếp tác nhân với tác nhân vì các quan hệ bên ngoài hệ thống không ảnh hưởng đến bên trong
Trang 6- Không hình thành quan hệ trực tiếp giưa 2 UC trừ trường hợp chúng có quan hệ sử dụng (Use) hay quan hệ mở rộng (Extends) Biểu đồ UC cho biết có nhưng UC nào trong hệ thống nhưng không cho biết trật tự thực hiện các UC Biểu đồ hoạt động sẽ cho biết trật tự các UC này
- Mỗi UC phải được tác nhân khởi động trừ trường hợp đặc biệt khi UC có quan hệ sử dụng hay mở rộng
- CSDL được xem như là một lớp dưới, toàn bộ biểu đồ UC có thể nhập dl vào bằng
UC và sử dụng UC khác để truy vấn chúng
1 Quan hệ giao tiếp: Quan hệ được thể hiện bằng mũi tên.
2 Quan hệ sử dụng: (User)
- Cho phép 1 UC sử dụng chức năng của 1 UC khác cung cấp, quan hệ này thường được sử dụng để mô hình hóa 1 chức năng sử dụng lại, dùng chung cho 2 hay nhiêu UC
3 Quan hệ mở rộng: (Extends)
- Cho phép mở rộng tùy ý chức năng do UC khác cung cấp, nó chỉ rằng trong 1 điêu kiện nào đó 1 UC được mở rộng bằng 1 UC khác Mở rộng là gộp 1 vài hành vi của 1
UC tổng quát hơn để sử dụng lại
4 Quan hệ tổng quát hóa:
+ Tổng quát tác nhân và UC:
- Được sử dụng để chỉ ra 1 vài tác nhân hay 1 vài UC có 1 số cái chung
UC → UC (sử dụng / mở rộng)
Tác nhân → UC (gián tiếp)
+ Các bước xây dựng 1 biểu đồ UC:
B1: Danh sách tác nhân
Tác nhân1 Tác nhân 2
Trang 7B2: Danh sách UC.
Tác nhân 1 → UC1 & UC2
Tác nhân 2 → UC1 &UC2
B3: Đặc tả UC
- Tác nhân kích hoạt
- Mô tả UC (làm việc gì)
- Tiên điêu kiện (có UC có, có UC không)
- Luồng sự kiện chính
- Hậu điêu kiện
Trang 8BIỂU ĐỒ TƯƠNG TÁC (Biểu đồ trình tự, biểu đồ tương tác)
I Tìm kiếm đối tượng và đối tượng.
* Đối tượng là cái để gói thông tin và hành vi
* Tìm kiếm đối tượng:
- Khảo sát các danh từ trong vùng sự kiện hoặc tài liệu kịch bản
- Trong các biểu mẫu báo cáo có thể là tìm các đối tượng
- Các đối tượng điêu khiển có thể được xem xét
II Biểu đồ tương tác (interaction diagram)
- Được sử dụng để mô hình hóa khía cạnh động của hệ thống
- Biểu đồ tương tác chỉ ra 1 tương tác bao gồm tập đối tượng quan hệ và các thông điệp trao đổi giưa chúng Biểu đồ tương tác chỉ ra từng bước của 1 luồng điêu kiện cụ thể trong UC
+ Biểu đồ tương tác chứa các thành phần sau đây:
- Đối tượng: biểu đồ tương tác sử dụng tên đối tượng, tên lớp hay cả hai
- Liên kết: liên kết là hiện thực của kết hợp
- Thông điệp: thông qua thông điệp lớp hay đối tượng có thể yêu cầu lớp hay đối tượng khác thực hiện chức năng cụ thể
- Chú thích (notes) và ràng buộc như mọi biểu đồ khác
+ Có 2 loại biểu đồ tương tác
* Biểu đồ trình tự:
- Theo trật tự thời gian, tập chung vào điêu kiện
* Biểu đồ cộng tác:
- Chỉ ra cùng 1 loại thông tin và tập chung vào luồng dư liệu
* Ý nghĩa của biểu đồ tương tác:
- Giúp người thiết kế và người phát triển có thể xây dựng được các lớp sẽ xây dựng quan hệ giưa các lớp, thao tác và trách nhiệm của mỗi lớp
1 Biểu đồ trình tự: Là biểu đồ tương tác theo trật tự thời gian của các giao tiếp bằng
thông điệp giưa các đối tượng
2 Biểu đồ cộng tác: Chỉ ra luồng sự kiện xuyên qua kịch bản của UC Tập chung vào
quan hệ giưa các đối tượng, tập chung vào các cấu trúc, tính chất giưa các đối tượng hay nhận gửi thông điệp
3 Kỹ thuật xây dựng biểu đồ tương tác (2 bước):
B1: Tập chung các thông tin liên quan đến khách hàng Không ánh xạ ngay thông điệp thành thao tác và không ánh xạ ngay đối tượng thành lớp Biểu đồ tạo ra trong bước này dành cho nhà phân tích, khách hàng và nhưng ai chỉ quan tâm đến luồng tác nghiệp, để biết luồng logic chạy trong hệ thống như thế nào
B2: Mỗi thông điệp đưa ra một thủ tục
Trang 9- Ánh xạ thông điệp đến thao tác, ánh xạ đối tượng đến lớp.
- Bổ xung đối tượng điêu khiển nếu cần
Trang 10BIỂU ĐỒ LỚP
I Lớp và tìm kiếm lớp.
- Lớp mô tả hành vi, thuộc tính, ngư nghĩa của một kiểu, một tập đối tượng
+ Ký hiệu:
Tên lớp Thuộc tính Hành vi + Tìm kiếm lớp:
- Khảo sát các danh từ trong luồng sự kiện
- Khảo sát các động từ trong luông sự kiện để cho biết các hành vi
- Lớp có thể tìm kiếm trong biểu đồ tương tác
- Có thể tìm kiếm lớp trong các biểu mẫu, báo cáo Nếu có quá nhiêu loại báo cáo, thì nhưng báo cáo tương tự sẽ được tập hợp để biểu diễn bởi một lớp, đồng thời sử dụng các biến thành phần để quản lý các biến thể khác của báo cáo
- Nhóm lớp khác được hình thành để biểu diễn giao diện khác của hệ thống, đặc biệt để biểu diễn giao diện giưa lớp tạo ra với hệ thống khác nó tương tác Giao diện là nơi một đối tượng tương tác với đối tượng khác
- Một tập lớp khác được hình thành để biểu diễn thiết bị phần cứng khác mà hệ thống phần mêm sẽ tương tác
+ Trả lời một số câu hỏi sau để tìm kiếm lớp:
- Có thông tin nào cần lưu trư hay phân tích?
- Có hệ thống ngoài hay không? Nếu có nó được xem như là nhưng lớp chứa trong hệ thống của ta hay hệ thống của ta tương tác với chúng
- Có biểu mẫu thư viện lớp hay thành phần nào không?
- Hệ thống cần quản lý các thiết bị ngoại vi nào?
- Tác nhân đóng vai trò tác nghiệp nào? Các nhiệm vụ này có thể là lớp?
II Biểu đồ lớp.
- Chỉ ra trừu tượng thế giới thực, tập chung vào giải thích cấu trúc lớp từ góc nhìn tổng quát
- Biểu đồ đối tượng biểu diễn trường hợp đặc biệt, cụ thể vào một thời điểm, nó thể hiện cấu trúc tĩnh và hành vi
- Biểu đồ lớp cho hình ảnh tĩnh của các bộ phận hệ thống và các quan hệ giưa chúng Biểu đồ lớp giúp người phát triển phần mêm quan sát và lập kế hoạch cấu trúc hệ thống trước khi viết mã trình
1 Phân loại:
- Lớp tham số: (parameterized class) Là lớp được sử dụng để tạo ra họ các lớp khác
- Lớp hiện thực: (instantiated class) Là lớp tham số mà đối số của nó có gí trị thực