Những vấn đề cơ bản về hệ thống thông tin (HTTT)
� 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.
Các yêu cầu của hệ thống đôi khi không phải luôn được xá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.
- Phần mềm hệ thống (System Software): Định nghĩa cơ
sở 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
(use case diagram) để đảm bảo hệ thống có phương thức hoạt
độ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
hiệu các nguồn tài nguyên, thực thi song song,
cũng như xử lý các sự kiện không đồng bộ từ
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.
2.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
2.6 Biểu đồ hoạt động
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ơ đồ
- chức năng
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ỉ
ra
sự trao đổi thông điệp giữa các đối tượng khi thời gian
trô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 ử m ô 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ì?
Là phương pháp xđ các yêu cầu của PM thông
qua các đối tượng, hành vi, sự tương tác của
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…