









Preview text:
lOMoAR cPSD| 58833082
TÓM TẮT BÀI 4: TỔNG QUAN VỀ PHÂN TÍCH VÀ THIẾT KẾ
1.Mục tiêu: Tổng quan về phân tích và thiết kế
- Xem xét các thuật ngữ và các khái niệm quan trọng trong phân tích thiết kế
- Giới thiệu về quy trình phân tích và thiết kế gồm vai trò, thành phần và quy trình làm việc
- Giải thích sự khác nhau giữa phân tích và thiết kế
2.Mục đích của phân tích và thiết kế:
- Chuyển yêu cầu phần mềm thành thiết kế hệ thống
- Đưa ra kiến trúc tốt cho hệ thống
- Tùy chỉnh thiết kế cho phù hợp môi trường cài đặt (yêu cầu về phần cứng,
phần mềm, và các ràng buộc hoặc hạn chế khác), thiết kế cho hiệu năng tốt
(tối ưu hóa việc sử dụng tài nguyên hệ thống như bộ nhớ và CPU) 3.Tổng
quan về phân tích và thiết kế lOMoAR cPSD| 58833082
Input là mô hình ca sử dụng, bảng chú giải, và các đặc tả bổ sung Output
sau khi phân tích và thiết kế là :
- Một mô hình thiết kế đóng vai trò trừu tượng hóa mã nguồn ( như là một bản
thiết kế chi tiết về cách cấu trúc và viết mã nguồn). Mô hình thiết kế bao gồm
các lớp thiết kế, các mô tả về cách các đối tượng cộng tác với nhau thể thực
hiện ca sử dụng ( hiện thực hóa ca sử dụng)
- Tài liệu kiến trúc: ghi các kiến trúc. Kiến trúc giúp nắm bắt được các quyết
định thiết kế kết cấu chính. Bản chất kiến trúc là trừu tượng hóa (đơn giản hóa)
toàn bộ thiết kế, các đặc điểm quan trọng sẽ được thể hiện rõ ràng hơn và bỏ qua các chi tiết lẻ
- Mô hình cơ sở dữ liệu
4.So sánh phân tích và thiết kế Phân tích Thiết kế
Tập trung vào việc hiểu các vấn đề
Tập trung vào việc hiểu giải pháp
Lý tưởng hóa thiết kế
Các hoạt động và thuộc tính Hành vi Hiệu năng Cấu trúc hệ thống
Gần với mã nguồn thực tế Các yêu cầu chức năng Vòng đời đối tượng Mô hình nhỏ
Các yêu cầu phi chức năng Mô hình lớn
Sự khác biệt giữa phân tích và thiết kế nằm ở việc chúng tập trung và nhấn mạnh
vào điều gì (mục tiêu hướng đến)
Bảng trên liệt kê những điều mà cần chú ý tập trung vào trong quá trình phân tích và thiết kế
Mục tiêu trong phân tích là hiểu vấn đề và phát triển một mô hình trực quan về
những gì cần xây dựng, độc lập với việc triển khai và công nghệ. Phân tích tập
trung vào chuyển đổi các yêu cầu chức năng thành các khái niệm phần mềm. Ý
tưởng là có một phiên bản sơ bộ của các đối tượng tạo thành hệ thống, tập trung
vào hành vi của các đối tượng.Từ đó có thể chuyển sang giai đoạn thiết kế một cách dễ dàng hơn
Mục tiêu của thiết kế là đưa ra giải pháp, làm cho mô hình trở nên rõ ràng hơn,
phát triển một mô hình thiết kế để dễ dàng chuyển đổi sang giai đoạn lập trình. lOMoAR cPSD| 58833082
Trong thiết kế, chúng ta cần điều chỉnh để thích nghi với môi trường triển khai
và điều kiện thực tế.
5. Phân tích và thiết kế không phải top-down hay bottom-up
Quá trình phân tích và thiết kế phần mềm, sử dụng một hướng tiếp cận không
phải hoàn toàn top-down hoặc bottom-up. Thay vào đó, quá trình này tập trung
vào việc di chuyển qua lại giữa các cấp độ trung gian và xác định các thành phần
ở mức độ trung gian. Use case đi qua lớp phân tích ở mức độ trung gian . Từ cấp
độ trung gian này người ta có thể di chuyển lên hoặc xuống.
Di chuyển lên để xác định các hệ thống con, di chuyển xuống để xác định các lớp
thiết kế. Điều này tạo ra một quá trình linh hoạt và đa chiều, cho phép các nhà
phân tích và thiết kế chọn lựa con đường phù hợp với yêu cầu cụ thể của dự án.
Quá trình phân tích không chỉ diễn ra từ trên xuống, từ dưới lên, từ giữa lên hoặc
từ giữa xuống. Thay vào đó, nó kết hợp nhiều hướng tiếp cận để đảm bảo rằng
tất cả các khía cạnh của hệ thống được xem xét và đáp ứng. Điều này dẫn đến
việc không thể cho rằng một hướng đi nào quan trọng hơn hướng đi khác, và cần
phải thực hiện tất cả các hướng đi này để đạt được kết quả phân tích và thiết kế chính xác và đầy đủ lOMoAR cPSD| 58833082 6.Khái niệm kiến trúc:
- Kiến trúc phần mềm bao gồm một tập các quyết định quan trọng về tổ chức của hệ thống phần mềm.
+ Sự lựa chọn của các thành phần cấu trúc và giao diện của chúng mà qua
đó tạo dựng nên hệ thống
+ Hành vi được định nghĩa trong mối tương quan, tương tác với các thành phần đó
+ Sự kết hợp của các thành phần cấu trúc và hành vi này tạo nên các hệ thống con lớn hơn
+ Phong cách kiến trúc định hướng mỗi tổ chức
7.Kiến trúc ràng buộc thiết kế và cài đặt:Kiến trúc bao gồm một tập các quyết định
thiết kế chiến lược, các luật hoặc khuôn mẫu tạo nên thiết kế và xây dựng. Kiến trúc
là tập hợp các ràng buộc ban đầu được đặt trên hệ thống.Chúng tạo thành những
quyết định cơ bản về thiết kế phần mềm. Kiến trúc đặt một khuôn khổ xung quanh
thiết kế. Kiến trúc đã được gọi là thiết kế chiến lược.Kiến trúc để loại bỏ những sáng
tạo không cần thiết.Khi triển khai, tính sáng tạo chỉ cần sử dụng trong việc cải thiện
chất lượng và hiệu suất
Các quyết định kiến trúc vô cùng quan trọng nếu thay đổi sẽ dẫn đến các hiệu ứng lớn
8. Kiến trúc phần mềm: Mô hình “4+1 View” lOMoAR cPSD| 58833082
Sơ đồ trên thể hiện mô hình sử dụng để mô tả kiến trúc phần mềm
Trên một dự án cụ thể, thường có nhiều bên liên quan, mỗi bên có quan tâm và quan
điểm riêng về hệ thống cần phát triển. Mục tiêu là cung cấp cho mỗi bên liên quan
một cái nhìn về hệ thống mà đáp ứng được quan tâm của họ với hệ thống, lọc bỏ các
chi tiết khác. Một khung hình kiến trúc là một mô tả đơn giản hóa (một trừu tượng
hóa) của một hệ thống từ một góc nhìn hoặc điểm quan quan điểm cụ thể, bao gồm
các quan tâm cụ thể, và loại bỏ các thực thể không liên quan đến góc nhìn này.
Ví dụ: Với nhà phân tích và thiết kế họ sẽ quan tâm đến góc nhìn logic
Với người dùng họ sẽ quan tâm đến góc nhìn chức năng,ca sử dụng
Với người lập trình,quản lý phần mềm họ quan tâm tới góc nhìn triển khai code
Với kỹ sư hệ thống họ sẽ quan tâm đến góc nhìn phát triển cấu trúc liên kết hệ thống
Với nhà tích hợp hệ thống họ quan tâm góc nhìn quy trình hiệu suất,khả năng mở rộng,thông lượng
9.Luồng công việc phân tích và thiết kế lOMoAR cPSD| 58833082
Sơ đồ trên hiển thị quy trình phân tích và thiết kế:
Trong Giai đoạn khởi đầu, việc phân tích và thiết kế liên quan đến việc xác định xem
hệ thống như đã hình dung có khả thi hay không và đánh giá các công nghệ tiềm
năng cho giải pháp (trong Thực hiện tổng hợp kiến trúc ). Nếu người ta cảm thấy có
ít rủi ro đi kèm với quá trình phát triển (ví dụ: hệ thống không mới, v.v.) thì chi tiết
quy trình công việc này có thể bị bỏ qua.
Giai đoạn Xây dựng ban đầu tập trung vào việc tạo kiến trúc ban đầu cho hệ thống
( Xác định Kiến trúc Ứng viên ) để cung cấp điểm khởi đầu cho công việc phân tích
chính. Nếu kiến trúc đã tồn tại (vì nó được tạo ra trong các lần lặp trước, trong các
dự án trước hoặc được lấy từ một khung ứng dụng), trọng tâm của công việc sẽ
chuyển sang tinh chỉnh kiến trúc ( Tinh chỉnh Kiến trúc ) và phân tích hành vi cũng
như tạo ra kiến trúc ban đầu tập hợp các phần tử cung cấp hành vi thích hợp (Phân tích hành vi ).
Sau khi các yếu tố ban đầu được xác định, chúng sẽ được tinh chỉnh thêm. Các
Thành phần Thiết kế tạo ra một tập hợp các thành phần cung cấp hành vi thích hợp
để đáp ứng các yêu cầu trên hệ thống. Song song với các hoạt động này, các vấn đề lOMoAR cPSD| 58833082
về tính bền vững cũng được xử lý trong Thiết kế cơ sở dữ liệu . Kết quả là một tập
hợp các thành phần ban đầu được cải tiến thêm trong Thực hiện .
10.Tổng quan các hoạt động phân tích và thiết kế
Bắt đầu quy trình phân tích và thiết kế với đầu vào mà mô hình ca sử dụng, đặc tả
bổ sung từ các yêu cầu và đầu ra là mô hình thiết kế đóng vai trò trừu tượng hóa mã nguồn.
Các hoạt động thiết kế tập trung vào khái niệm kiến trúc. Việc sản xuất và xác nhận
kiến trúc là trọng tâm chính của các lần lặp lại thiết kế ban đầu
Kiến trúc không chỉ để phát triển một mô hình tốt mà kiến trúc còn nâng cao chất
lượng của các mô hình trong quá trình phát triển hệ thống
11. Trách nhiệm của kiến trúc sư phần mềm: dẫn dắt và phối hợp các hoạt động
và thành phần kỹ thuật.Kiến trúc sư phần mềm thiết lập cấu trúc tổng thể cho từng
khung hình : sự phân rã của khung hình, nhóm các phần tử, giao diện giữa các nhóm
chính.Kiến trúc sư phần mềm phải cung cấp tầm nhìn bao quát cho cả dự án, có
quyền đưa ra các quyết định kỹ thuật lOMoAR cPSD| 58833082
12. Trách nhiệm của người thiết kế: hiểu các kỹ thuật mô hình hóa ca sử dụng,
yêu cầu hệ thống, và kỹ thuật thiết kế ca sử dụng.Vai trò của nhà thiết kế là xác định
hoạt động,thuộc tính và mối quan hệ của một hoặc nhiều lớp và xác định cách chúng
được biểu diễn sao cho phù hợp được với môi trường triển khai
13.Phân tích và thiết kế là hướng ca sử dụng:
- Các ca sử dụng được định nghĩa cho một hệ thống là cơ sở cho toàn bộ quá
trình phát triển hệ thống.
- Lợi ích của các ca sử dụng: lOMoAR cPSD| 58833082
+ Súc tích, đơn giản, và dễ hiểu đối với các bên liên quan.
+ Giúp quá trình đồng bộ hóa nội dung các mô hình khác nhau
Các ca sử dụng là phương pháp được đề xuất để tổ chức các yêu cầu phần mềm,thay
vì gạch đầu dòng,ta sắp xếp chúng theo cách cho biết các tác nhân sử dụng hệ thống
như thế nào. => đưa ra được yêu cầu đầy đủ và nhất quán
Thông thường rất khó để nói cách một hệ thống thực hiện những gì từ mô hình hệ
thống hướng đối tượng truyền thống vì thiếu một luồng chung xuyên suốt hệ thống
khi nó thực hiện một tác vụ nhất định. Ca sử dụng chính là những luồng đó,chúng
xác định được hành vi được thực hiện bởi hệ thống
14.Hiện thực hóa ca sử dụng: mô tả cách thực hiện 1 ca sử dụng cụ thể trong mô
hình thiết kế dưới dạng các đối tượng cộng tác với nhau.Hiện thực hóa ca sử dụng
liên kết của các ca sử dụng từ mô hình ca sử dụng với các lớp và mối quan hệ của mô hình thiết kế.
Việc hiện thực hóa ca sử dụng chỉ định những lớp nào phải được xây dựng để triển khai từng ca sử dụng lOMoAR cPSD| 58833082
15.Phân tích và thiết kế trong quy trình tăng dần: Trong quy trình phân tích và thiết
kế trong quá trình lặp, một ca sử dụng sẽ đóng vai trò là đầu vào chính. Bằng cách
thực hiện một loạt các hoạt động được xác định trong quy trình Phân tích và Thiết
kế, nhóm phát triển sẽ tạo ra một quá trình hiện thực hóa ca sử dụng liên quan mô tả
cách thực hiện một trường hợp sử dụng cụ thể (kịch bản sử dụng).