Các khái niệm ? Phân tích hướng chức năng: Là sự nghiên cứu, điều tra, xem xét các chức năng của hệ thống một cách tỉ mỉ, toàn diện để xác định những yêu cầu về thông tin và các quá trìn
Trang 1� 1.1.1 Khái niệm chung về hệ thống và các thành
phần
� Hệ thống:
� Hệ thống thông tin (information system):
� Các thành phần: Nguồn tài nguyên (Resources- phần
cứng; Phần
mềm); Các quy tắc – thủ tục hệ thống ( Procedures); Dữ
liệu có ích
(Data/Information- là dữ liệu hữu ích cho việc cung cấp
output thỏa
mãn yêu cầu người dùng); Quy trình xử lý (Processes)
� Môi trường
� Biên hay giới hạn (boundaries)
� Ðầu vào (inputs)
� Ðầu ra (outputs)
1.1.2 Các hệ thống thông tin và phương thức
xử lý thông tin trong MTĐT
� Xét trên góc độ một doanh nghiệp thì hệ thống
thông tin gồm có:
� Hệ thống hỗ trợ tác nghiệp
� Hệ thống thống thông tin quản lý
� Hệ thống thông tin hỗ trợ quyết định
� Nhiều hệ thống thông tin khác:
� Hệ thống xử lý giao dịch (Transaction processing system
–
TPS)
� Hệ thống thông tin quản lý (Management information
system - MIS)
� Hệ thống hỗ trợ quyết định (Decision support system –
DSS)
� Hệ thống thông tin điều hành (Excutive information
system
– EIS)
� Hệ thống chuyên gia (Expert System)
� Hệ thống truyền thông và cộng tác (Communication and
collaboration system)
Hệ thống tự động văn phòng (Office automation system)
H h tr nghi p v x lý d li u t o ra t các nghi p vệ ỗ ợ ệ ụ ử ữ ệ ạ ừ ệ ụ
kinh doanh
H h tr qu n lý cung c p thông tin và h tr c n thi t ệ ỗ ợ ả ấ ỗ ợ ầ ế
cho vi c ra quy t đ nh hi u qu c a nhà qu n lýệ ế ị ệ ả ủ ả
Các lo i HTTT khác có th h tr ho c nghi p v , qu n lý,ạ ể ỗ ợ ặ ệ ụ ả
ho c các ng d ng chi n l cặ ứ ụ ế ượ
Phương thức xử lý thông tin trong MTĐT:
� Sử dụng chương trình máy tính để nhập DL, phân tích,
biến
đổi dữ liệu thành các thông tin hữu ích cho người dùng
Các
nhiệm vụ cơ bản cho việc xử lý dữ liệu bao gồm:
� Thu thập DL
� Nhập DL
� Làm sạch DL
� Biến đổi DL thành dạng mà chương trình có thể sử dụng
được
� Lưu trữ DL
� Khai thác dữ liệu
� Hợp nhất D
� Xử lý tương tác và xử lý giao dịch
� Xử lý theo lô và xử lý trực tuyến
� Xử lý thời gian thực
� Xử lý phân tán
a) Xử lý tương tác và xử lý giao dịch
� * Xử lý tương tác là xử lý thực hiện từng phần, xen kẽ
giữa
phần thực hiện bởi người và phần thực hiện bởi MTĐT;
� * Xử lý giao dịch, MTĐT thực hiện một mạch không
ngừng cho
tới khi đạt kết quả cuối cùng
� b) Xử lý theo lô và xử lý trực tuyến
� * Xử lý theo lô là thông tin được gom lại cho đủ một số
lượng
nhất định ( một lô haymột mẻ ) mới được đem ra xử lý một
thể
* Xử lý trực tuyến ( hay còn gọi là xử lý trên dòng ) là
thông tin
đến được đem xử lý ngay lập tức, một cách cá thể bất kể
vào lúc
nào
c) Xử lý thời gian thực
Là hành vi của một hệ thống phải thoả mãn một số điều
kiện
ràng buộc rất ngặt nghèo về thời gian
d) Xử lý phân tán: Việc xử lý thực hiện trên mạng mà
các nút là
những MTĐT
1.2 Vòng đời phát triển hệ thống
Nghiên cứu sơ bộ (Preliminary Investigation hay
còn gọi là Feasibility Study)
Phân tích yêu cầu (Analysis)
Thiết kế hệ thống (Design of the System)
Xây dựng phần mềm (Software Construction)
Thử nghiệm hệ thống (System Testing)
Thực hiện, triển khai (System Implementation)
Bảo trì, nâng cấp (System Maintenance)
1.2.1 Các mô hình chu trình phát triển của hệ
thống
Thác nước (waterfall);
Phát triển mẫu (prototyping);
xoắn ốc;
Hướng đối tượng (OO)
1.2.2 So sánh ưu nhược điểm của các mô
Hình
Thác nước (waterfall):
Các dự án thực tế rất khó tuân thủ theo mô hình này một
cách
tuần tự Nó thường đòi hỏi một sự lặp trong các bước
định một cách rõ ràng ngay từ khi bắt đầu hệ thống
Nhiều khi các lỗi lớn thường phải quay lại pha thiết kế hoặc thậm chí pha nghiên cứu tính khả thi
Các khách hàng ko được tham gia vào quá trình cho đến khi kết thú thiếu sự tương tác với khách hàng
ccccccccccccc c
Để có một sản phẩm tốn khá nhiều thời gian
Ưu điểm:Là mô hình cổ điển rất dễ hiểu
Phát triển mẫu (prototyping):
Nhược điểm: Có thể xây dựng nên mô hình kémchất lượng do việc thiết kế nhanh
Ưu điểm: Phù hợp với người dùng; giảm được sự rủi
ro về độ chắc chắn của mô hình; cho phép dừng dự
án ngay từ những bước đầu tiên nếu nó không thành công; tương tác với người dùng nhiều và thậm chí người dùng còn tham gia vàoviệc thiết kế; giảm được nguy cơ lỗi trong quá trình thiết kế hệ thống
Mô hình xoắn ốc:
Nhược điểm: Đây là mô hình không phổ biến nên rất khó hiểu
Ưu điểm: Việc tham gia của người dùng thông qua suốt dự án và việc lặp đi lặp lại của việc phát triển sẽ cải thiện được chất lượng của hệ thống
Mô hình xoắn ốc đảm bảo được việc cho ra đời sản phẩm nhanh chóng và điều này sẽ giảm được chi phí cho dự án
Hướng đối tượng (OO):
Ưu điểm:
Mô hình này thể hiện sát với yêu cầu của bài toán đặt ra vì vậy nó dễ ràng thiết kế và xây dựng
Các đối tượng của hệ thống là dễ ràng thay đổi
Việc thiết kế theo hướng đối tượng để có thể tái sử dụng lại mô hình dẫn đến việc tiết kiệm được thời gian phát triển và chi phí phát triển ứng dụng mới
Đây là hướng gần gũi với tự nhiên vì vậy việc thiết
kế các modul của hệ thống là các cấu trúc dễ nhìn và logic
1.3 Các cách tiếp cận trong phân tích và thiết kế hệ thống.
1.3.1 Hướng tiếp cận hướng chức năng
Phân rã những chức năng lớn thành những chức năng khác nhỏ hơn để đi vào chi tiết
Xét mối quan hệ giữa các chức năng
Chuyển từ mô tả vật lý sang mô tả logic
Phân tích theo cách từ trên xuống, sử dụng biểu đồ phân cấp chức năng
Sử dụng Biểu đồ luồng dữ liệu
1.3.2 Hướng tiếp cận hướng đối tượng
Các nguyên tắc cơ bản của phương pháp hướng đối tượng bao gồm :
Trừu tượng hóa (abstraction)
Tính đóng gói (encapsulation) và ẩn giấu thông tin
Tính modul hóa (modularity)
Tính phân cấp (hierarchy 1.3.3 Ưu nhược điểm của hai hướng tiếp cận
Phương pháp hướng chức năng
- Ưu điểm: đơn giản, tốt cho việc thiết kế ngân hàng dữ liệu
Nhược điểm:
+ Khó khăn trong việc thiết kế các ứng dụng sử dụng lại
+ Không phù hợp với hệ thống thường xuyên thay đổi
Phương pháp hướng đối tượng:
Ưu điểm: Tái sử dụng: tức là có thể tạo các thành phần (đối tượng) một lần và dùng chúng nhiều lần sau đó
Chương 2: Phân tích và thiết kế hệ thống hướng chức năng
2.1 Các khái niệm
Phân tích hướng chức năng: Là sự nghiên cứu, điều tra, xem xét các chức năng của hệ thống một cách tỉ
mỉ, toàn diện để xác định những yêu cầu về thông tin
và các quá trình của hệ thống cùng với cácmối quan
hệ giữa các quá trình đó, cũng như quan hệ với các
hệ thống khác
Thiết kế hướng chức năng: Là việc xác định cấu trúc phần cứng và phần mềm, xác định các modul chương trình, các giao diện và dữ liệu Phương pháp chung để phân tích:
Cần phân rã những chức năng lớn, phổ quát thành những chức năng khác nhỏ hơn để đi vào chi tiết
Xét mối quan hệ giữa các chức năng
Chuyển từ mô tả vật lý sang mô tả logic
Chuyển từ hệ thống cũ sang hệ thống mới ở mức logic
Phân tích theo cách từ trên xuống (từ tổng quát đến chi tiết), phần này ta sử dụng biểu đồ phân cấp chức năng.
Sử dụng Biểu đồ luồng dữ liệu
Để nhận biết được những hệ thống quá phức tạp, phải loại bỏ những đặc điểm phụ
để nhận biết cho được các đặc điểm chính.Hệ thống được nhận thức dưới hai mức:
- Mức vật lý
- Mức logic
Áp dụng phương thức biến đổi:
Bằng cách trả lời:
- Ở mức vật lý -Mô tả thực trạng hệ thống cũ:
+ What: Cái gì? Làm gì?
+ How: Làm như thế nào?
(Làm thế nào? Phương tiện nào? Cách làm nào? Lúc nào? Ai làm? Làm gì?)
- Ở mức logic: Gạt bỏ những chi tiết để thấy bản chất và chỉ cần trả lời WHAT
2.2 Các bước phân tích và thiết kế
2.2.1 Các bước phân tích hệ thống: Sơ đồ chức năng; Sơ đồ luồng dữ liệu
Sơ đồ chức năng công việc (Business Function Diagram: BFD):Là sơ đồ mô tả HTTT Sơ đồ này chỉ ra cho ta thấy HTTT cần phải làmnhững chức năng gì BFD không chỉ ra HTTT phải làmnhư thế nào, cũng không chỉ ra những công cụ nào được sử dụng để thực hiện những chức năng này
Sơ đồ chức năng; Sơ đồ luồng dữ liệu
Sơ đồ luồng dữ liệu (Data Flow Diagram: DFD):là sơ đồ mô tả HTTT một cách trừu tượng Sơ đồ này cho thấy quá trình vận động của dữ liệu trong HTTT
Trong sơ đồ này chỉ có các dòng dữ liệu, các công việc xử lý dữ liệu, các kho dữ liệu, các P
2.2.2 Các bước tiến hành thiết kế hệ thống
Thiết kế tổng thể
Thiết kế giao diện người máy
Thiết kế các kiểm soát
Thiết kế cơ sở dữ liệu
Thiết kế chương trình
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
3.1 UML (Unified Modelling Language)
UML là gì?
UML là một ngôn ngữ mô hình hoá thống nhất bao gồm
những ký hiệu hình học, được các phương pháp hướng đối
tượng sử dụng để thể hiện vàmiêu tả các thiết kế của một hệ
thống
Nó là một ngôn ngữ để đặc tả, trực quan hoá, xây dựng và
làm tu liệu cho nhiều khía cạnh khác nhau của một hệ thống
UML có thể được sử dụng làm công cụ giao tiếp giữa người
dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm
Trong quá trình phát triển có nhiều công ty đã hỗ trợ và
khuyến khích phát triển UML có thể kể tới như : Hewlett
Packard, Microsoft, Oracle, IBM, Unisys
Mục đích
- Mô hình hoá các hệ thống sử dụng các khái niệm hướng đối tượng
- Thiết lập một kết nối từ nhận thức của con người đến các sự kiện cần mô hình hoá
- Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp, có nhiều ràng buộc khác nhau
- Tạo một ngôn ngữ mô hình hoá có thể sử dụng được bởi người và máy
Miền ứng dụng của UML
- Hệ thống thống tin (Information System): Cất giữ, lấy, biến đổi biểu diễn thông tin cho
người sử dụng Xử lý những khoảng dữ liệu lớn có các quan hệ phức tạp , mà chúng được
lưu trữ trong các cơ sở dữ liệu quan hệ hay hướng đối tượng
- Hệ thống kỹ thuật (Technical System): Xử lý và điều khiển các thiết bị kỹ thuật như viễn thông, hệ thống quân sự, hay các quá trình công nghiệp Đây là loại thiết bị phải xử lý các
giao tiếp đặc biệt , không có phần mềm chuẩn và thường là các hệ thống thời gian thực (real time)
- Hệ thống nhúng (Embeded System): Thực hiện trên phần cứng gắn vào các thiết bị như
điện thoại di động, điều khiển xe hơi, … Điều này được thực hiện bằng việc lập trìnhmức
thấp với hỗ trợ thời gian thực Những hệ thống này thường không có các thiết bị như màn hình đĩa cứng, …
- Hệ thống phân bố ( Distributed System): Được phân bố trên một số máy cho phép truyền
dữ liệu từ nơi này đến nơi khácmột cách dễ dàng Chúng đòi hỏi các cơ chế liên lạc đồng bộ
để đảm bảo toàn vẹn dữ liệu và thường được xây dựng trên một số các kỹ thuật đối tượng
như CORBA, COM/DCOM, hay Java Beans/RMI
- Hệ thống Giao dịch (Business System): Mô tả mục đích, tài nguyên (con người, máy tính,
…), các quy tắc (luật pháp, chiến thuật kinh doanh, cơ chế, …), và công việc hoạt động kinh
doanh
Trang 2sở hạ tầng kỹ thuật cho phần mềm
khác sử dụng, chẳng hạn như hệ điều hành, cơ sở dữ liệu,
giao diện người sử dụng
Phương pháp Vs các ngôn ngữ mô
hình hoá
Phương pháp hay phương thức (method) là một cách
trực tiếp cấu trúc hoá sự suy nghĩ và hành động của
con người Phương pháp cho người sử dụng biết phải
làm gì, làm như thế nào, khi nào và tại sao (mục đích
của hành động)
các mô hình được dùng để mô tả những gì sử dụng
cho việc truyền đạt kết quả trong quá trình sử dụng
phương pháp
Điểm khác nhau là ngôn ngữ mô hình hoá không có
một tiến trình (process) hay các câu lệnh
(instruction) mô tả những công việc người sử dụng
cần làm
1.2 Các khái niệm cơ bản trong
UML
a) Khái niệmmô hình
b) Các hướng nhìn (view) trong UML
c) Các phần tử mô hình và các quan hệ
Một mô hình được biểu diễn theo một ngôn ngữ mô hình
hoá
Ngôn ngữ mô hình hoá bao gồm các ký hiệu – những biểu
tượng được dùng trong mô hình – vàmột tập các quy tắc chỉ
cách sử dụng chúng Các quy tắc này bao gồm:
- Syntactic (Cú pháp): cho biết hình dạng các biểu tượng
và
cách kết hợp chúng trong ngôn ngữ
- Semantic (Ngữ nghĩa): cho biết ý nghĩa của mỗi biểu
tượng,
chúng được hiểu thế nào khi nằm trong hoặc không nằm
trong ngữ cảnh của các biểu tượng khác
- Pragmatic (Ngữ cảnh-hoàn cảnh): định nghĩa ý nghĩa
của
biểu tượng để sao cho mục đích của mô hình được thể hiện
và
mọi người có thể hiểu được
UML và các giai đoạn của chu trình
phát triển phần mềm
Giai đoạn nghiên cứu sơ bộ: UML đưa ra khái niệm Use
Case để nắm bắt các yêu cầu của khách hàng (người sử
dụng) UML sử dụng biểu đồ Use case (Use Case Diagram)
để nêu bật mối quan hệ cũng như sự giao tiếp với hệ thống
Qua phương pháp mô hình hóa Use case, các tác nhân
(Actor)
bên ngoài quan tâm đến hệ thống sẽ được mô hình hóa
song
song với chức năng mà họ đòi hỏi từ phía hệ thống (tức là
Use case) Các tác nhân và các Use case được mô hình hóa
cùng các mối quan hệ và được miêu tả trong biểu đồ Use
case
của UML
Mỗi một Use case được mô tả trong tài liệu, và nó sẽ đặc
tả
các yêu cầu của khách hàng: tức là sự chờ đợi điều gì ở
phía
hệ thống mà không hề để ý đến việc chức năng này sẽ được
thực thi ra sao
Giai đoạn phân tích:
Giai đoạn phân tích quan tâmđến quá trình trừu tượng
hóa
đầu tiên (các lớp và các đối tượng)
Sau khi nhà phân tích đã nhận biết được các lớp thành
phần
của mô hình cũng như mối quan hệ giữa chúng với nhau,
các
lớp cùng các mối quan hệ đó sẽ được miêu tả bằng công cụ
biểu đồ lớp (class diagram) của UML
Chú ý: Trong giai đoạn phân tích, chỉ duy nhất các lớp
có
tồn tại trong phạm vi vấn đề (các khái niệm đời thực) là
được
mô hình hóa Các lớp kỹ thuật định nghĩa chi tiết cũng như
giải pháp trong hệ thống phần mềm, ví dụ như các lớp cho
giao diện người dùng, cho ngân hàng dữ liệu, cho sự giao
tiếp, trùng hợp, v.v , chưa phải là mối quan tâmcủa giai
đoạn này
Giai đoạn thiết kế
Kết quả của giai đoạn phân tích sẽ được mở rộng
thành một giải pháp kỹ thuật
Các lớp mới sẽ được bổ sung để tạo thành một hạ
tầng cơ sở kỹ thuật: Giao diện người dùng, các chức
năng để lưu trữ các đối tượng trong ngân hàng dữ
liệu, giao tiếp với các hệ thống khác, giao diện với
các thiết bị ngoại vi và các máy móc khác trong hệ
thống,
Giai đoạn thiết kế sẽ đưa ra kết quả là bản đặc tả
chi tiết cho giai đoạn xây dựng hệ thống
Giai đoạn Lập trình
Trong giai đoạn xây dựng (giai đoạn lập
trình), các lớp của giai đoạn thiết kế sẽ được
biến thành những dòng code cụ thể trong một
ngôn ngữ lập trình hướng đối tượng cụ thể
Thử nghiệm:
Một hệ thống phần mềm thường được thử nghiệm qua
nhiều
giai đoạn và với nhiều nhóm thử nghiệm khác nhau:
Thử nghiệm đơn vị sử dụng biểu đồ lớp (class diagram)
và
đặc tả lớp,
thử nghiệm tích hợp thường sử dụng biểu đồ thành phần
(component diagram) và biểu đồ cộng tác (collaboration
diagram),
và giai đoạn thử nghiệm hệ thống sử dụng biểu đồ Use
case
động đúng như đã được định nghĩa từ ban đầu trong các biểu
đồ này
Các KN trong UML
KNHướng nhìn (view): Hướng nhìn chỉ ra những
khía cạnh khác nhau của hệ thống cần phải được mô hình hóa Một hướng nhìn không phải là một bản vẽ,
mà là một sự trừu tượng hóa bao gồmmột loạt các biểu đồ khác nhau
Mỗi hướng nhìn chỉ ra một khía cạnh riêng biệt của
hệ thống, người ta mới có thể tạo dựng nên một bức tranh hoàn thiện về hệ thống
Cũng chính các hướng nhìn này nối kết ngôn ngữ
mô hình hóa với quy trình được chọn cho giai đoạn phát triển
KN Biểu đồ (diagram): Biểu đồ là các hình vẽ miêu tả nội
dung trong một hướng nhìn UML có tất cả 9 loại biểu đồ khác nhau được sử dụng trong những sự kết hợp khác nhau
để cung cấp tất cả các hướng nhìn của một hệ thống
KN Phần tử mô hình hóa (model element): Các khái niệm
được sử dụng trong các biểu đồ được gọi là các phần tử mô hình, thể hiện các khái niệm hướng đối tượng quen thuộc Ví
dụ như lớp, đối tượng, thông điệp cũng như các quan hệ giữa các khái niệm này, bao gồm cả liên kết, phụ thuộc, khái quát hóa Một phần tử mô hình thường được sử dụng trong nhiều biểu đồ khác nhau, nhưng nó luôn luôn có chỉ một ý nghĩa và một kí hiệu
Cơ chế chung: Cơ chế chung cung cấp thêm
những lời nhận xét bổ sung, các thông tin cũng như các quy tắc ngữ pháp chung về một phần tử mô hình; chúng còn cung cấp thêm các cơ chế để có thể mở rộng ngôn ngữ UML cho phù hợp với một phương pháp xác định (một quy trình, một tổ chức hoặc một người dùng)
Các Hướng nhìn (View)
- Hướng nhìn Use case (use case view) : đây là hướng nhìn chỉ ra khía cạnh chức năng của một hệ thống, nhìn từ hướng tác nhân bên ngoài
- Hướng nhìn logic (logical view): chỉ ra chức năng sẽ được thiết kế bên trong hệ thống như thế nào, qua các khái niệm về cấu trúc tĩnh cũng như ứng xử động của hệ thống
- Hướng nhìn thành phần (component view): chỉ ra khía cạnh
tổ chức của các thành phần code
- Hướng nhìn song song (concurrency view): chỉ ra sự tồn tại song song/ trùng hợp trong hệ thống, hướng đến vấn đề giao tiếp và đồng bộ hóa trong hệ thống
- Hướng nhìn triển khai (deployment view): chỉ ra khía cạnh triển khai hệ thống vào các kiến trúc vật lý (các máy tính hay trang thiết bị được coi là trạm công tác)
Hướng nhìn Use case (Use case View):
Hướng nhìn Use case miêu tả chức năng của hệ thống sẽ phải
cung cấp do được tác nhân từ bên ngoài mong đợi Tác nhân
là thực thể tương tác với hệ thống; đó có thể là một người sử dụng hoặc làmột hệ thống khác
Hướng nhìn Use case là hướng nhìn dành cho khách hàng, nhà thiết kế, nhà phát triển và người thử nghiệm; nó được miêu tả qua các biểu đồ Use case (use case diagram) và thỉnh thoảng cũng bao gồm cả các biểu đồ hoạt động (activity diagram)
Cách sử dụng hệ thống nhìn chung sẽ được miêu tả qua một loạt các Use case trong hướng nhìn Use case, nơi mỗi một Use case là một lời miêu tả mang tính đặc thù cho một tính năng của hệ thống (có nghĩa là một chức năng được mong đợi
Hướng nhìn logic (Logical View):
Hướng nhìn logic miêu tả phương thức mà các chức năng của hệ thống sẽ được cung cấp Chủ yếu nó được sử dụng cho các nhà thiết kế và nhà phát triển
Ngược lại với hướng nhìn Use case, hướng nhìn logic nhìn vào phía bên trong của hệ thống Nó miêu
tả kể cả cấu trúc tĩnh (lớp, đối tượng, và quan hệ) cũng như sự tương tác động sẽ xảy ra khi các đối tượng gửi thông điệp cho nhau để cung cấp chức năng đã định sẵn Hướng nhìn logic định nghĩa các thuộc tính như trường tồn (persistency) hoặc song song (concurrency), cũng như các giao diện cũng như cấu trúc nội tại của các lớp
Cấu trúc tĩnh được miêu tả bằng các biểu đồ lớp (class diagram) và biểu đồ đối tượng (object diagram)
Quá trình mô hình hóa động được miêu tả trong các biểu đồ trạng thái (state diagram), biểu đồ trình tự (sequence diagram), biểu đồ tương tác (collaboration diagram) và biểu đồ hoạt động (activity diagram)
Hướng nhìn thành phần (Component View):
Là một lời miêu tả của việc thực thi các modul cũng như sự phụ thuộc giữa chúng với nhau
Nó thường được sử dụng cho nhà phát triển và thường bao gồm nhiều biểu đồ thành phần
Thành phần ở đây là các modul lệnh thuộc nhiều loại khác nhau, sẽ được chỉ ra trong biểu đồ cùng với cấu trúc cũng như
sự phụ thuộc của chúng Các thông tin bổ sung về các thành phần, ví dụ như vị trí của tài nguyên (trách nhiệm đối với một thành phần), hoặc các thông tin quản trị khác, ví dụ như một bản báo cáo về tiến trình của công việc cũng có thể được bổ sung vào đây
Hướng nhìn song song (Concurrency View
Hướng nhìn song song nhắm tới sự chia hệ thống thành các qui trình (process) và các bộ
xử lý (processor)
Nó cho phép chúng ta sử dụng một cách hữu
môi trường
Hướng nhìn này cũng phải quan tâmđến vấn
đề giao tiếp và đồng bộ hóa các tiến trình đó Hướng nhìn triển khai (Deployment View):
Hướng nhìn triển khai chỉ cho chúng ta sơ đồ triển khai về mặt vật lý của hệ thống, ví dụ như các máy tính cũng như các máymóc và sự liên kết giữa chúng với nhau
Hướng nhìn triển khai giành cho các nhà phát triển, người tích hợp cũng như người thử nghiệm hệ thống
và được thể hiện bằng các biểu đồ triển khai
Hướng nhìn này cũng bao gồm sự ánh xạ các thành phần của hệ thống vào cấu trúc vật lý; ví dụ như chương trình nào hay đối tượng nào sẽ được thực thi trên máy tính nào
BiỂu đỒ (diagram)
Biểu đồ là các hình vẽ bao gồm các ký hiệu phần tử
mô hình hóa được sắp xếp để minh họa một thành phần cụ thể hay một khía cạnh cụ thể của hệ thống
Một mô hình hệ thống thường có nhiều loại biểu đồ, mỗi loại có nhiều biểu đồ khác nhau Một biểu đồ là một thành phần của một hướng nhìn cụ thể; và khi được vẽ ra, nó thường thường cũng được xếp vào một hướng nhìn Mặt khác, một số loại biểu đồ có thể là thành phần của nhiều hướng nhìn khác nhau, tùy thuộc vào nội dung của biểu đồ
2 Các biểu đồ trong UML
Biểu đồ Use case
Biều đồ lớp
Biểu đồ trạng thái
Biểu đồ tương tác
Biểu đồ tuần tự
Biểu đồ cộng tác
Biều đồ hoạt động
Biểu đồ thành phần
Biểu đồ triển khai 2.1 Biểu đồ Use case a) Ý nghĩa:
- Biểu đồ use case biểu diễn sơ đồ chức năng của
hệ thống
- Mỗi usecase mô tả một chức năng mà hệ thống cần phải có xét từ góc độ người dùng
- Các biểu đồ usecase có thể phân rã theo nhiều mức khác nhau
b) Các phần tử mô hình:
- Tác nhân:
- Các use case
- Mối quan hệ giữa các use case:
- Include: sử dụng
- Extend: mở rộng
- Generalization: kế thừa
Được biểu diễn
Phần tử mô hình Ý nghĩa Cách biểu diễn Ký hiệu trong biểu
đồ 1Usecase Biểu diễn một chức năng xác định của hệ thống Hình ellip chứa tên của các use case 2Tác nhân Là một đối tượng bên ngoài hệ
thống tương tác trực tiếp với các Usecase Biểu diễn bởi một hình người tượng
trưng 3Mối quan hệ giữa các use case Tùy từng dạng quan hệ Extend và Include
có dạng mũi tên đứt nét, Generalization có dạng mũi tên tam
giác 4Biên của hệ thống Tách biệt phần bên trong và Được biểu diễn bởi một hình chữ hật ỗbên
ài hệ thố c) Ví dụ biểu đồ usecase
Hệ thống quản lý thư viện:
- Người quản trị: đăng nhập vào hệ thống, thực hiện cập nhật thông tin và quản lý các giao dịch mượn, trả sách
- Bạn đọc: chỉ có thể tìm kiếm, tra cứu thông tin
Trang 32.2 Biểu đồ lớp
a) Ý nghĩa:
- Biểu diễn cái nhìn tĩnh về hệ thống dựa trên các khái niệm
lớp, thuộc tính và phương thức
- Một biểu đồ lớp chỉ ra cấu trúc tĩnh của các lớp trong hệ
thống
- Các lớp là đại diện cho các “vật” được xử lý trong hệ
thống
Các lớp có thể quan hệ với nhau trong nhiều dạng thức: liên
kết (associated - được nối kết với nhau), phụ thuộc
(dependent
- một lớp này phụ thuộc vào lớp khác), chuyên biệt hóa
(specialized - một lớp này làmột kết quả chuyên biệt hóa
của
lớp khác), hay đóng gói ( packaged - hợp với nhau thành
một
đơn vị)
- Đi kèmvới cấu trúc bên trong của các lớp theo khái niệm
thuộc tính (attribute) và thủ tục (operation)
b) Các phần tử mô hình:
- Lớp
- Thuộc tính:
Phạm_vi tên_thuộc_tính: kiểu_thuộc_tính
- Phương thức:
Phạm_vi Tên (danh sách tham số):kiểu trả về)
Chú ý: BĐ lớp có thể chỉ có tên lớp; tên lớp + thuộc tính;
tên lớp + các thao
tác (phương thức): hoặc gồm tất cả các yêu cầu trên>
Ví dụ về các lớp trong doanh nghiệp và
các hệ thống thông tin:
Khách hàng
Bản thương thuyết
Hóa đơn
Món nợ
Tài sản
Bản công bố giá cổ phiếu
Các mối quan hệ trong biểu đồ lớp:
Quan hệ kết hợp (association):
Khái quát hóa (generalization):
Quan hệ cộng hợp (Aggregation):
Quan hệ phụ thuộc (dependency
· kết hợp (Association) : nối các phần tử và các thực
thể nối (link) (quan hệ 1- 1, 1- n, Như quan hệ thực
thể ở mô hình thực thể ER)
· Khái quát hóa (Generalization): còn được gọi là
tính thừa kế, có ý nghĩa rằng một phần tử này có thể
là một sự chuyên biệt hóa của một phần tử khác
· Sự phụ thuộc (Dependency): chỉ ra rằng một phần
tử này phụ thuộc trong một phương thức nào đó vào
một phần tử khác
Cộng hợp (Aggregation): Một dạng của kết hợp, trong
đó một phần tử này chứa các phần tử khác
Qhệ kết tập: 1 KN TP phụ thuộcvào
KN Toàn phần
Hình đậm chỉ ra là chỉ phụ thuộc, hình trống chỉ ra là có thể
phụ thuộc
Biểu đồ đối tượng (Object Diagram):
Là một phiên bản của biểu đồ lớp và thường
cũng sử dụng các ký hiệu như biểu đồ lớp
Biểu đồ đối tượng sử dụng chung các ký hiệu
của biểu đồ lớp Chú ý BĐ đối tượng là biểu
đồ biểu diễn thực thể thực sự của các lớp này
Ví dụ biểu đồ đối tượng
Nhận dạng lớp và đối tượng
Sự khác biệt giữa hai loại biểu đồ này nằm ở chỗ biểu đồ đối tượng chỉ ra một loạt các đối tượng thực thể của lớp, thay vì các lớp
2.3 Biểu đồ trạng thái
a) Ý nghĩa:
- Biểu diễn các trạng thái và sự chuyển trạng thái của các lớp
- Một biểu đồ trạng thái thường là một sự bổ sung cho lời miêu tả một lớp Nó chỉ ra tất cả các trạng thái mà đối tượng của lớp này có thể có, và những sự kiện (event) nào sẽ gây ra sự thay đổi trạng thái
b) Các thành phần của biểu đồ trạng thái:
- Trạng thái (state):
- Trạng thái con (substate)
2.3 Biểu đồ trạng thái
Các thành phần trong biểu đồ trạng thái:
Trạng thái bắt đầu
Trạng thái kết thúc
Các chuyển tiếp (transition)
Sự kiện (event)
Call event
Signal event
Time event Phần tử Ý nghĩa Biểu diễn Ký hiệu 2.3 Biể u đồ tr ạ ng thái
Phần tử Ý nghĩa Biểu diễn Ký hiệu
mô hình 1Trạng thái Biểu diễn một trạng
thái của đối tượng trong vòng đời của đối tượng đó Hình chữ nhật vòng
ở góc, có thể gồm 3 phần: tên, các biến
và các hoạt độn 2Trạng thái khởi đầu Khởi đầu vòng đời của đối tượng Hình tròn đặc 3Trạng thái
kết thúc Kết thúc vòng đời của đối tượng Hai hình tròn lồng nhau
4 Chuyển tiếp (transition Chuyển từ trạng thái này sang trạng thái khác Mũi tên liền nét với tên gọi là biểu diễn của chuyển tiếp đó c) Ví dụ:
- Bạn đọc sử dụng thẻ mượn sách
để yêu cầu mượn sách Nếu trong kho
có sách thì cho mượn, nếu chưa có thì chờ
c) Ví dụ: trạng thái lớp thẻ mượn sách
a) Ý nghĩa:
- Biểu đồ hoạt động biểu diễn các hoạt động và sự
đồng bộ, chuyển tiếp các hoạt động của hệ thống trong một lớp hoặc kết hợp giữa các lớp với nhau trong một chức năng cụ thể
b) Các phần tử mô hình:
- Hoạt động:
- Thanh đồng bộ hóa:
- Điều kiện
- Các luồng (swimlane
c) Ví dụ:
Ví dụ về chức năng mượn sách:
- Khi bạn đọc yêu cầu mượn sách cần kiểm tra xem bạn đọc đó có quyền mượn và sách cần mượn có còn trong kho
hay ko?
- Nếu thỏa mãn cả 2 đk trên mới chomượn
-Cách xây dựng BĐ hoạt động từ sơ đồ
BĐ hoạt động tương ứng
2.4 Biể u đồ tu ầ n t ự a) Ý ngh ĩ a:
- Biểu diễn mối quan hệ giữa các đối tượng và các tác nhân
theo thứ tự thời gian
- Nhấn mạnh đến thứ tự thực hiện các tương tác
- Các biểu đồ trình tự chứa một loạt các đối tượng được biểu diễn bằng các đường thẳng đứng Trục thời gian có hướng từ trên xuống dưới trong biểu đồ, và biểu đồ chỉ
Trang 4trôi qua Các thông điệp được biểu diễn bằng các đường
gạch ngang gắn liền với mũi tên (biểu thị thông điệp) nối
liền giữa những đường thẳng đứng thể hiện đối tượng
- Trục thời gian cùng những lời nhận xét khác thường sẽ
được đưa vào phần lề của biểu đồ
b) Các phầ n t ử ô hình:
- Đối tượng:
- Các thông điệp (message
ST Loại message Mô tả Biểu diễn
1 Gọi(call):mô tả q lời gọi từ đối tượng này
đến đối tượng kia
2 trả về(return): trả về giá trị tương ứng với lời
gọi
3 gửi(send): gửi 1 tín hiệu tới 1 đối tượng
4 tạo(create): tạo 1 đối tượng << Create>>mũi
tên
5 hủy(destroy): hủy 1 đối tượng <<
Destroy>>mũi tên
c) Ví dụ:
Ví dụ về chức năng thêm sách:
2.7 Biểu đồ thành phần
a) Ý nghĩa:
- Biểu đồ thành phần được sử dụng để biểu diễn các thành
phần phần mềm cấu thành nên hệ thống
- Một hệ phần mềm có thể được xây dựng từ đầu bằng
cách sử dụng mô hình lớp như đã trình bày trong các
phần trước của tài liệu, hoặc cũng có thể được tạo nên từ
các thành phần sẵn có (COM, DLL)
2.8 Biểu đồ triển khai
a) Ý nghĩa:
- Biểu đồ triển khai biểu diễn kiến trúc cài đặt và triển khai
hệ thống dưới dạng các nodes và các mối quan hệ giữa
các node đó Thông thường, các nodes được kết nối với
nhau thông qua các liên kết truyền thông như các kết nối
mạng, liên kết TCPIP, microwave…
PhẦn tỬ mô hình (model element )
Các khái niệm được sử dụng trong các biểu
đồ được gọi là các phần tử mô hình (model
element)
Mỗi phần tử mô hình còn có một sự miêu tả
trực quan, một ký hiệu hình học được sử dụng
để miêu tả phần tử này trong biểu đồ
Một vài ví dụ: lớp, đối tượng, trạng thái, nút
mạng, gói, thành phần
Các góc nhìn và biểu đồ
3.2 Phân tích hướng đối tượng
1 TỔNG QUAN VỀ PHÂN TÍCH HƯỚNG
ĐỐI TƯỢNG
2 MÔ HÌNH USE CASE VÀ KỊCH BẢN (đã
học)
3 MÔ HÌNH LỚP (đã học)
4 MÔ HÌNH HOẠT ĐỘNG DỰA TRÊN
BIẺU ĐỒ TRẠNG THÁI
Phân tích hướng đối tượng là gì?
chúng trong TG thực
Xđ các đơn nguyên của hệ thống PM, ptích bài toán thành các thành phần nhỏ hơn và xây dựng mô hình logic cho hệ thống
Các bước trong việc phân tích HĐT
Tìm hiểu kĩ bài toán
XĐ rõ các đặc tả yêu cầu của NSD, PM
XĐ các đối tượng và các thuộc tính (sơ đồ dòng DL,phân tích văn bản: xđ ĐT; thuộc tính)
XĐ các hàm mà các đối tượng sẽ thực hiện(Hành vi của ĐT)
XĐ mối quan hệ tương tác giữa c ác đối tượng: 1- 1, 1- n, n- n
Thiết kế HĐT là gì?
Là việc xây dựng các đặc tả cho các đối tượng, các lớp, và xác định cấu trúc phân cấp các lớp mà từ đó đối tượng có thể được tạo ra
Nhiệm vụ:
Tìm sự tương ứng giữa các đối tượng của bài toán với các đối tượng lời giải
Xây dựng mô hình kiến trúc tổng thể, cấu trúc phân cấp các lớp mô hình toán học của hệ thống
Tổng quan về Thiết kế hướng đối tượng
Vai trò của pha thiết kế:
Trả lời câu hỏi “how” thay cho câu hỏi “what” như trong pha phân tích Mục tiêu của pha thiết kế là phải xác định hệ thống sẽ được xây dựng như thế nào dựa trên kết quả của pha phân tích
Đưa ra các phần tử hỗ trợ giúp cấu thành nên một
hệ thống hoạt động thực sự
Định nghĩa một chiến lược cài đặt cho hệ thống Các bước trong thiết kế hướng đối tượng:
Xây dựng các biểu đồ tương tác
Xây dựng biểu đồ lớp chi tiết: thực hiện hoàn chỉnh sơ đồ lớp, xác định và biểu diễn đầy đủ các phương thức cho từng lớp, xác định mối quan hệ giữa các lớp
Thiết kế chi tiết: xây dựng các biểu đồ hoạt động cho các phương thức phức tạp trong các lớp
Xây dựng biểu đồ thành phần và biểu đồ triển khai hệ thống
CÁC BIỂU ĐỒ TƯƠNG TÁC
Xây dựng biểu đồ tuần tự
- Thông thường, các biểu đồ tuần tự được gắn với các use case Các message trong biểu đồ tuần tự
sẽ biểu diễn lại thứ tự các sự kiện trong scenario của use case đó
Xây dựng biểu đồ tuần tự
• Biểu diễn các message lặp
- Biểu diễn các message được gửi theo vòng lặp (nhiều lần liên tiếp) giữa hai đối tượng
- Khi đó, ta bổ sung thêm
cấu trúc: * [i=1 n] vào
trước message;
- với i là biến điều khiển lặp,
n là số lần lặp
Hình : Biểu diễn message lặp
• Biểu diễn phân nhánh các đối tượng Trong trường hợp ứng với các giá trị khác nhau của thamsố, đối tượng hoạt động khác nhau thì chúng ta dùng cách biểu diễn phân nhánh đối tượng
BIỂU ĐỒ THÀNH PHẦN VÀ BIỂU
ĐỒ TRIỂN KHAI
Xây dựng biểu đồ thành phần
Mô hình thành phần được sử dụng để biểu diễn các thành phần phần mềm cấu thành nên
hệ thống
Xây dựng biểu đồ triển khai Biểu đồ triển khai biểu diễn các nodes và các mối quan hệ giữa chúng
Thông thường, các nodes được kết nối với nhau thông qua các liên kết truyền thông (communication association) như các kết nối mạng, liên kết TCP-IP, microwave…