Sinh viên: Hà Thị Kim Oanh – CT1001
4
- Tính trừu tượng hóa cao.
- Tính bao gói thông tin.
- Tính modul hóa.
- Tính kế thừa.
Ngày nay, UML là một công cụ được thiết kế có tất cả những tính chất và
điều kiện giúp chúng ta xây dựng được các mô hình đối tượng có được bốn đặc
trưng trên.
Quá trình phát triển gồm nhiều bước lặp mà một bước lặp bao gồm; xác định
yêu cầu của hệ thống, phân tích, thiết kế, triển khai và kiểm thử.
1.2. Phân tích thiết kế hƣớng đối tƣợng với UML.
Phân tích thiết kế một hệ thống theo phương pháp hướng đối tượng sử dụng
công cụ UML bao gồm các giai đoạn sau:
1.2.1.Lập mô hình nghiệp vụ
Để có thể nắm được yêu cầu hệ thống, trước hết ta phải hiểu và nắm được hệ
thống nghiệp vụ. Việc mô tả các yêu cầu của hệ thống nghiệp vụ đủ tốt là rất cần
thiết, để ta hiểu đúng và đầy đủ về hệ thống mà ta cần tin học hóa về mặt nghiệp vụ.
Muốn vậy, trước hết phải xác định chức năng, phạm vi hệ thống thực hiện và chỉ ra
mối quan hệ của chúng với môi trường. Tiếp theo tìm các ca sử dụng nghiệp vụ từ
các chức năng của hệ thống mà qua đó con người và các hệ thống khách sử dụng
chúng.
1.2.2.Xác định yêu cầu của hệ thống
Nhiệm vụ chính trong xác định yêu cầu là phát triển một mô hình của hệ
thống cần xây dựng bằng cách dùng các ca sử dụng. Để mô tả các yêu cầu nghiệp
vụ đưới góc độ phát triển phần mềm cần tìm các tác nhân và các ca sử dụng để
chuẩn bị một phiên bản đầu tiên của mô hình ca sử dụng.
Sinh viên: Hà Thị Kim Oanh – CT1001
5
1.2.3. Phân tích
Nhiệm vụ đó là cần phân tích mô hình ca sử dụng bằng cách tìm ra cách tổ
chức các thành phần bên trong của hệ thống để thực hiện mỗi ca sử dụng. Bao gồm
các hoạt động:
- Phân tích kiến trúc hệ thống.
- Phân tích một ca sử dụng.
- Phân tích một lớp.
- Phân tích một gói.
1.2.3.1.Phân tích kiến trúc
Mục đích của phân tích kiến trúc là phác hoạ những nét lớn của mô hình
phân tích thông qua việc xác định các gói phân tích, các lớp phân tích hiển nhiên, và
các yêu cầu chuyên biệt chung.
a. Xác định các gói phân tích
Để xác định các gói phân tích, trước hết bố trí phần lớn các ca sử dụng vào
các gói riêng, sau đó tiến hành thực thi chức năng tương ứng bên trong gói đó.
Khi xác định các gói phân tích có thể dựa trên các tiêu chí sau:
– Các ca sử dụng cần có để hỗ trợ một quá trình nghiệp vụ cụ thể.
– Các ca sử dụng cần có để hỗ trợ một tác nhân cụ thể của hệ thống.
– Các ca sử dụng có quan hệ với nhau bằng các quan hệ tổng quát hoá, mở
rộng và bao gồm.
b. Xử lý phần chung của các gói phân tích
Trong nhiều trường hợp ta có thể tìm thấy các phần chung trong các gói phân
tích. Khi đó, đặt phần chung này vào một gói riêng nằm ngoài các gói chứa nó, sau
đó để các gói khác có liên quan phụ thuộc vào gói mới chứa lớp chung này. Những
lớp được chia sẻ có các phần chung như vậy thường là các lớp thực thể. Chúng có
thể được tìm thấy bằng cách lần vết tới các lớp thực thể miền hoặc nghiệp vụ.
Sinh viên: Hà Thị Kim Oanh – CT1001
6
c. Xác định các gói dịch vụ
Gói dịch vụ dùng để mô tả các gói phân tích được sử dụng ở một mức thấp
hơn trong sơ đồ phân cấp cấu trúc các gói của hệ thống. Một gói dịch vụ có thể có
các tính chất sau:
– Chứa một tập hợp các lớp có liên quan với nhau về mặt chức năng.
– Không thể chia nhỏ hơn.
– Có thể tham gia vào một hay nhiều thực thi ca sử dụng
– Phụ thuộc rất ít vào các gói dịch vụ khác.
– Các chức năng nó cung cấp có thể được quản lý như một đơn vị riêng biệt.
d. Xác định các mối quan hệ phụ thuộc giữa các gói
Mục tiêu là tìm ra các gói phân tích tương đối độc lập với các gói khác, tức
là chúng được ghép nối lỏng lẻo với nhau nhưng có tính kết dính cao bên trong.
e. Xác định các lớp thực thể hiển nhiên
Ta có thể xác định các lớp thực thể quan trọng nhất dựa trên các lớp miền
hoặc các thực thể nghiệp vụ đã được xác định trong quá trình nắm bắt các yêu cầu.
Mỗi lớp thực thể này có thể đưa vào một gói riêng.
f. Xác định các yêu cầu đặc biệt chung
Một yêu cầu đặc biệt là một yêu cầu nảy sinh ra trong quá trình phân tích và
việc nắm bắt nó là quan trọng. Các yêu cầu kiểu này có thể là: Tính lâu bền (cần lưu
trữ), sự phân bố và tính tương tranh, các điểm đặc trưng về an toàn, dung sai về lỗi,
quản lý giao dịch…
1.2.3.2. Phân tích một ca sử dụng
Việc phân tích một ca sử dụng bao gồm:
a.Xác định các lớp phân tích
Lớp phân tích thể hiện một sự trừu tượng của một hoặc nhiều lớp và hoặc hệ
thống con. Có ba kiểu lớp phân tích cơ bản sau: lớp biên, lớp điều khiển và lớp thực
thể.
Sinh viên: Hà Thị Kim Oanh – CT1001
7
Hình 1.1: Các lớp phân tích
Lớp biên (boundary class) được sử dụng để mô hình hóa sự tương tác giữa
hệ thống và các tác nhân của nó.
Lớp thực thể (entity class) được dùng để mô hình hóa các thông tin tồn tại
lâu dài và có thể được lưu trữ. Nó thường thể hiện các cấu trúc dữ liệu lôgic và góp
phần làm rõ về các thông tin mà hệ thống phải thao tác trên chúng.
Lớp điều khiển (control class) thể hiện sự phối hợp, sắp xếp trình tự, các
giao dịch, sự điều khiển của các đối tượng và thường được sử dụng để gói lại các
điều khiển liên quan đến một ca sử dụng cụ thể. Các khía cạnh động của hệ thống
được mô hình hóa qua các lớp điều khiển.
b. Mô tả các tƣơng tác giữa các đối tƣợng phân tích
Cách thức mà các đối tượng phân tích tương tác với nhau là hành vi của hệ
thống. Hành vi của hệ thống là một bản mô tả những việc hệ thống làm. Mô tả hành
vi của hệ thống được tiến hành bằng cách sử dụng các biểu đồ cộng tác (hay tuần
tự), chúng chứa các thể hiện của tác nhân tham gia, các đối tượng phân tích, và các
mối liên kết giữa chúng.
c. Mô tả luồng các sự kiện phân tích
Bên cạnh các biểu đồ, đặc biệt là biểu đồ cộng tác, ta cần bổ sung thêm các
mô tả bằng văn bản để các biểu đồ trở nên dễ hiểu và dễ dùng hơn
d. Nắm bắt các yêu cầu đặc biệt
Ta cần nắm bắt các yêu cầu (phi chức năng) cần cho việc thực thi một ca sử
dụng mà đã được xác định trong phân tích nhưng phải được xử lý trong thiết kế và
thực thi.
Sinh viên: Hà Thị Kim Oanh – CT1001
8
1.2.3.3. Phân tích một lớp
a. Xác định trách nhiệm của lớp
Xác định và duy trì các trách nhiệm của một lớp phân tích dựa trên vai trò
của nó trong các thực thi ca sử dụng.
b. Xác định các thuộc tính
Một thuộc tính đặc tả một tính chất của một lớp phân tích và nó thường được
gợi ý và đòi hỏi các trách nhiệm của lớp. Tên của thuộc tính phải là một danh từ.
c. Xác định các liên kết và các kết hợp
Số lượng các mối quan hệ giữa các lớp phải được tối thiểu hoá. Đó là các
mối quan hệ cần phải tồn tại để đáp ứng lại các đòi hỏi từ các thực thi ca sử dụng
khác nhau. Số lượng các đối tượng của hai lớp tham gia vào liên kết cũng rất quan
trọng. Ngoài ra, hai lớp có thể có nhiều mối liên kết. Ngược lại, một lớp có thể liên
kết với nhiều lớp khác nhau.
d. Xác định các lớp tổng quát hoá
Các tổng quát hoá được dùng trong quá trình phân tích để biểu diễn hành vi
chia sẻ và hành vi chung của các lớp phân tích khác nhau. Các lớp tổng quát hoá
phải được giữ ở một mức cao và có tính khái niệm, chúng làm cho mô hình phân
tích dễ hiểu hơn.
e. Nắm bắt các yêu cầu đặc biệt của lớp phân tích
Khi nắm bắt các yêu cầu này, nên tham khảo bất kỳ các yêu cầu đặc biệt
chung nào đã được nhà kiến trúc xác định, nếu có thể.
1.2.3.4. Phân tích một gói
Mục đích của việc phân tích một gói nhằm:
– Đảm bảo gói phân tích càng độc lập đối với các gói khác nếu có thể.
– Đảm bảo gói phân tích hoàn thành mục đích của nó là thực thi những lớp
miền hoặc các ca sử dụng nào đó.
– Mô tả các mối quan hệ phụ thuộc sao cho có thể ước tính được hiệu ứng
của các thay đổi sau này.
Sinh viên: Hà Thị Kim Oanh – CT1001
9
Một số nguyên tắc chung phân tích một gói:
– Xác định và duy trì các mối quan hệ phụ thuộc giữa hai gói có chứa các lớp
liên kết với nhau.
– Mỗi gói chứa các lớp đúng.
– Hạn chế tối đa các mối quan hệ phụ thuộc tới các gói khác bằng cách bố trí
các lớp chứa trong một gói sang gói khác nếu nó quá phụ thuộc vào các gói khác.
1.2.4.Thiết kế
Đầu vào của thiết kế là mô hình phân tích. Khi thiết kế ta sẽ cố gắng bảo tồn
càng nhiều càng tốt cấu trúc của hệ thống được định hình từ mô hình phân tích.
Thiết kế bao gồm các hoạt động sau:
- Thiết kế kiến trúc.
- Thiết kế một ca sử dụng.
- Thiết kế một lớp.
- Thiết kế một hệ thống con.
Mô hình thiết kế là một mô hình đối tượng mô tả sự thực thi các ca sử dụng.
1.2.4.1. Thiết kế kiến trúc
Mục đích của thiết kế kiến trúc là phác hoạ các mô hình thiết kế và sự bố trí
của chúng bằng cách xác định:
– Các nút và các cấu hình mạng của hệ thống.
– Các hệ thống con và các giao diện của chúng.
– Các lớp thiết kế quan trọng về mặt kiến trúc.
– Các cơ chế thiết kế chung để xử lý các yêu cầu chung
1.2.4.2. Thiết kế một ca sử dụng
a. Xác định các lớp thiết kế tham gia thực thi ca sử dụng
Xác định các lớp thiết kế và hoặc các hệ thống con mà các thể hiện của
chúng là cần thiết để thực hiện luồng các sự kiện của ca sử dụng đó.
Sinh viên: Hà Thị Kim Oanh – CT1001
10
b. Mô tả các tƣơng tác giữa các đối tƣợng thiết kế
Khi chúng ta đã có một phác thảo về các lớp thiết kế cần thiết để thực thi ca
sử dụng, ta cần phải mô tả cách thức mà các đối tượng thiết kế tương tác với nhau,
bằng cách sử dụng các biểu đồ tuần tự chứa các thể hiện của tác nhân tham gia, các
đối tượng thiết kế và sự truyền thông báo giữa chúng. Biểu đồ tuần tự của một ca
sử dụng mô tả theo thứ tự các sự kiện được phát sinh bởi các tác nhân ngoài và các
sự kiện bên trong hệ thống.
c. Mô tả tƣơng tác giữa các hệ thống con
Việc mô tả này được tiến hành bằng cách sử dụng các biểu đồ tuần tự chứa
các thể hiện của tác nhân tham gia, các hệ thống con, và những sự truyền thông báo
giữa chúng. Một mô tả như vậy trở nên khái quát hơn, đơn giản hơn và cho một
khung nhìn kiến trúc thực thi ca sử dụng thiết kế rỗ ràng hơn.
e. Nắm bắt các yêu cầu triển khai
Nắm bắt các yêu cầu triển khai và thể hiện mọi yêu cầu thực thi một ca sử
dụng để thể hiện vào lớp thiết kế.
1.2.4.3. Thiết kế một lớp
Mục tiêu của việc thiết kế một lớp là tạo ra một lớp thiết kế sao cho hoàn
thành vai trò của nó trong các thực thi ca sử dụng và các yêu cầu phi chức năng
được áp dụng cho nó. Công việc này bao gồm việc bảo trì chính bản thân lớp thiết
kế cùng các mặt sau đây của nó:
– Các tác vụ.
– Các thuộc tính.
– Các mối quan hệ mà nó tham gia vào .
– Các phương pháp của nó (các phương pháp thực hiện các thao tác của nó).
– Các trạng thái được áp đặt cho nó.
– Các mối quan hệ phụ thuộc của nó với bất kỳ các cơ chế thiết kế chung
nào.
Sinh viên: Hà Thị Kim Oanh – CT1001
11
– Các yêu cầu thích hợp cho việc thực thi của nó.
– Sự thực thi đúng đắn của bất kỳ giao diện nào mà nó được yêu cầu cung
cấp.
1.2.4.4. Thiết kế một hệ thống con
a. Duy trì các mối quan hệ phụ thuộc của hệ thống con
Các mối quan hệ phụ thuộc phải được xác định và duy trì từ hệ thống con
này tới các hệ thống con khác có chứa các phần tử được liên kết với nó.Nên tối
thiểu hoá các phụ thuộc vào các hệ thống con và hoặc các giao diện bằng việc bố trí
lại các lớp được chứa mà không quá phụ thuộc vào các hệ thống con khác.
b. Duy trì các giao diện đƣợc cung cấp bởi hệ thống
Các thao tác được xác định qua các giao diện được cung cấp bởi một hệ
thống con cần phải hỗ trợ mọi vai trò mà hệ thống con này đóng góp trong thực thi
các ca sử dụng khác nhau.
c. Duy trì các nội dung của các hệ thống con
Duy trì các nội dung của các hệ thống con nhằm mục tiêu đảm bảo rằng hệ
thống con thực thi đúng các thao tác đã được xác định bởi các giao diện mà nó cung
cấp.
1.3. Mô hình khái niệm của UML:
Ba khối chính tạo nên UML: các khối xây dựng cơ bản, các quy tắc ngữ
nghĩa và một số cơ chế chung được áp dụng cho việc mô hình hoá.
1.3.1. Các khối xây dựng: (building blocks)
1.3.1.1. Các sự vật cấu trúc (Structural things)
a.Lớp (class)
Một lớp mô tả một nhóm đối tượng có chung các thuộc tính, các tác vụ, các
mối quan hệ và ngữ nghĩa. Một lớp có trách nhiệm thực hiện một hay nhiều giao
diện. Một lớp được biểu diễn bằng một hình chữ nhật bên trong có tên, các thuộc
tính và tác vụ.
Sinh viên: Hà Thị Kim Oanh – CT1001
12
Hình 1.3: Lớp Hình 1.4: Giao diện
b.Giao diện (interface)
Một giao diện là một tập hợp các tác vụ đặc tả một dich vụ của một lớp hoặc
một thành phần.
c.Sự cộng tác (collaboration)
Sự cộng tác xác định các hoạt động bên trong hệ thống và là một bộ các
nguyên tắc và các phần tử khác nhau cùng làm việc để cung cấp một hành vi hợp
tác lớn hơn tổng hành vi của tất cả các phần tử. Một sự cộng tác được kí hiệu bằng
một hình elip với đường đứt nét và thường chỉ gồm có tên.
Hình 1.5: Sự cộng tác Hình 1.6: Ca sử dụng
d.Ca sử dụng (use case)
Một ca sử dụng mô tả một tập hợp các dãy hành động mà hệ thống thực hiện
để cho kết quả có thể quan sát được có giá trị đối với một tác nhân. Một ca sử dụng
được kí hiệu bằng hình elip nét liền, thường chỉ có tên.
e.Thành phần (component)
Thành phần là một bộ phận vật lý có thể thay thế được của một hệ thống
được làm phù hợp với những điều kiện cụ thể và cung cấp phương tiện thực hiện
một tập các giao diện. Một thành phần biểu diễn một gói vật lý các phần tử logic
khác nhau như các lớp, các giao diện và sự cộng tác. Một thành phần được kí hiệu
bằng một hình chữ nhật với các bảng và thường chỉ có tên.
Sinh viên: Hà Thị Kim Oanh – CT1001
13
Hình 1.7: Thành phần Hình 1.8: Lớp hoạt động
f.Lớp hoạt động (active class)
Lớp hoạt động là một lớp mà các đối tượng của nó sở hữu một hay một số
tiến trình hoặc các dãy thao tác. Bởi vậy nó có thể khởi động hoạt động điều khiển.
Một lớp hoạt động được kí hiệu như một lớp nhưng có đường viền đậm.
g.Nút (node)
Một nút là một phần tử vật lý tồn tại trong thời gian thực và biểu diễn một
nguồn lực tính toán, thường có ít nhất bộ nhớ và khả năng xử lý. Một nút kí hiệu
bằng một hình hộp gồm tên của nó.
1.3.1.2. Các sự vật hành vi (behavioral things)
Sự vật hành vi là những bộ phận động của các mô hình UML mô tả hành vi
của hệ thống theo thời gian và không gian. Có hai loại hành vi sơ cấp của sự vật:
a. Sự tƣơng tác (interaction)
Sự tương tác là một hành vi bao gồm một tập các thông báo được trao đổi
giữa một tập các đối tượng trong một khung cảnh cụ thể nhằm thực hiện một mục
tiêu xác định. Một thông báo được kí hiệu bằng một đường thẳng có hướng, gồm
tên của tác vụ.
Hình 1.9: Sự tương tác Hình 1.10: Trạng thái
b. Máy trạng thái (state machine)
Một máy trạng thái gồm một số các phần tử biểu diễn các trạng thái, các
chuyển dịch, các sự kiện. Một trạng thái được kí hiệu bằng một hình chữ nhật góc
tròn trong đó có tên trạng thái và các trạng thái con của nó (nếu có).
Chờ
Không có nhận xét nào:
Đăng nhận xét