1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Chương 7: Chuyển từ giai đoạn phân tích sang giai đoạn thiết kế

33 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chuyển từ giai đoạn phân tích sang giai đoạn thiết kế
Trường học Trường Đại Học XYZ
Thể loại Bài giảng
Thành phố Hà Nội
Định dạng
Số trang 33
Dung lượng 2,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Chương 7: Chuyển từ giai đoạn phân tích sang giai đoạn thiết kế được biên soạn giúp các bạn nắm được mục đích của quá trình phân tích là tìm ra những yêu cầu về mặt nghiệp vụ của hệ thống là gì. quá trình thiết kế là xây dựng hệ thống như thế nào; các bước thực hiện trong hai giai đoạn phân tích và thiết kế có mối quan hệ mật thiết và chuyển đổi qua lại

Trang 1

Chuyển từ giai đoạn phân tích sang giai đoan thiết kế

Trang 2

Giới thiệu

- Mục đích của quá trình phân tích là tìm ra những yêu cầu về mặt nghiệp vụ của hệ

thống là gì Mục đích của quá trình thiết kế là xây dựng hệ thống như thế nào

- Các bước thực hiện trong hai giai đoạn phân tích và thiết kế có mối quan hệ mật

thiết và chuyển đổi qua lại

2

Trang 3

Mục tiêu của chương

- Hiểu được quá trình kiểm duyệt các mô hình phân tích

- Hiểu được sự chuyển đổi từ phân tích sang thiết kế

- Hiểu được các kĩ thuật sử dụng trong quá trình thiết kế phân tách (factoring), phân

chia (partition) và phân tầng (layer) trong thiết kế

- Có thể tạo các biểu đồ gói

- Biết được các cách cách khác nhau để thiết kế hệ thống: doanh nghiệp tự xây dựng

phần mềm, mua các gói phần mềm có sẵn, thuê công ty khác xây phần mềm

- Có thể tạo được ma trận lựa chọn

Trang 4

Kiểm duyệt các mô hình phân tích

4

Trang 5

Cuộc họp tổng duyệt các mô hình phân tích

- Cuộc họm nhằm đánh giá của các mô hình và sơ đồ được tạo ra trong quá

- Cuộc họp tiềm ẩn nguy cơ các nhà phân tích bị trách phạt nếu các mô hình

phân tích có sai sót và bị phát hiện

Trang 6

Qui tắc xét duyệt các mô hình chức năng

1 Các sự kiện trong mô tả ca sử dụng nên được ánh xạ với các hoạt động

trong biểu đồ hoạt động

2 Nút đối tượng trong biểu đồ hoạt động phải được đề cập trong mô tả ca sử

Trang 7

Qui tắc xét duyệt các mô hình chức năng

5 Tất cả các tác nhân liệt kê trong mô tả ca sử dụng phải được mô tả trong sơ

đồ ca sử dụng

6 Những người liên quan được liệt kê trong mô tả ca sử dụng cũng được đưa

vào trong sơ đồ ca sử dụng như các tác nhân

7 Tất cả các mối quan hệ được liệt kê trong mô tả ca sử dụng phải được

miêu tả trên một sơ đồ ca sử dụng

Trang 8

Qui tắc xét duyệt mô hình cấu trúc:

1 Mỗi thẻ CRC nên tương ứng với một lớp trên sơ đồ lớp

2 Các nhiệm vụ được liệt kê trên thẻ CRC phải là các thao tác của lớp học

trong sơ đồ lớp

3 Các lớp cộng trên thẻ CRC thường ngụ ý một số loại quan hệ trên sơ đồ lớp

4 Các thuộc tính được liệt kê trên thẻ CRC phải là các thuộc tính trong của

lớp trong sơ đồ lớp

8

Trang 9

Qui tắc xét duyệt mô hình cấu trúc:

5 Các thuộc tính của lớp có kiểu là một lớp khác (thuộc tính đối tượng) thường

ngụ ý là một quan hệ giữa hai lớp

6 Các quan hệ trên thẻ CRC phải được hiển thị trên sơ đồ lớp

7 Chỉ sử dụng các lớp kết hợp nếu như lớp nz có các thuộc tính riêng không

thuộc không nằm trong cả hai lớp tham gia quan hệ

Trang 10

Qui tắc xét duyệt các mô hình hành vi

1 Các tác nhân và đối tượng trong sơ đồ tuần tự phải đưa vào sơ đồ cộng tác

2 Các thông điệp trên sơ đồ tuần tự yêu cầu phải có sự liên kết trên biểu đồ cộng

tác

3 Mỗi thông điệp trên sơ đồ tuần tự phải xuất hiện dưới dạng một thông điệp của

liên kết trong sơ đồ cộng tác tương ứng

4 Các điều kiện đảm bảo của thông điệp trên sơ đồ tuần tự yêu cầu các điều kiện

đảm bảo tương đương trên sơ đồ công tác

10

Trang 11

Qui tắc xét duyệt các mô hình hành vi

5 Số thứ tự của các thông điệp trong sơ đồ cộng tác phải tương ứng với số thứ tự

từ trên xuống dưới của các thông điệp gửi trong sơ đồ tuần tự

6 Sự chuyển đổi trạng thái phải được liên kết với một thông điệp trên sơ đồ tuần

tự và sơ đồ cộng tác

7 Tất cả các mục trong ma trận CURD ngụ ý một thông điệp được gửi từ một tác

nhân hoặc đối tượng đến một tác nhân hoặc đối tượng khác

Trang 12

Sự cân đối giữa các mô hình phân tích

- Sự cân bằng giữa mô hình chức năng và mô hình cấu trúc

- Sự cân bằng giữa mô hình chức năng và mô hình hành vi

- Sự cân bằng giữa mô hình cấu trúc và mô hình cấu trúc

(Đọc thêm các qui tắc cân đối trong sách)

12

Trang 13

Quá trình chuyển các mô phân tích thành các mô hình thiết kế

- Sau quá trình kiểm duyệt và chỉnh sửa, các mô hình phân tích được chuyển sang

thành các mô hình thiết kế phù hợp Trong giai đoạn phân tích, các nhà phân tích

chỉ tập trung xác định và mô tả các yêu cầu chức năng của hệ thống Sang giai đoạn

thiết kế, ngoài việc đặc tả chi tiết thêm các yêu cầu chức năng, đội dự án quan tâm

đặc tả thêm cả các yêu cầu phi chức năng để làm sao sản phẩm phần mềm đáp

ứng được yêu cầu chức năng và dễ dàng sử dụng, bảo trì, v.v…

- Để chuyển các mô hình phân tích thành các mô hình thiết kế, chúng ta có thể dùng

các kĩ thuật như phân tách (factoring), phân chia dựa trên sự hợp tác (partitions

and collaborations), phân tầng kiến trúc phần mềm (layers)

Trang 14

Kỹ thuật phân tách (Factoring)

- Phân tách là quá trình tách một module thành một module khác độc lập với nó

- Module này có thể là một lớp mới hoặc một phương thức mới

- Lớp mới được sinh ra có quan hệ tổng quát hóa (generalization) hoặc quan hệ kết

hợp (Aggregation) với lớp mà nó vừa được tách ra từ đó

- Kỹ thuật phân tách liên quan mật thiết với hai quá trình trừu tượng (abstraction)

và phân rã (refinement) Quá trình trừu tượng là quá trình tạo thêm một lớp cha

(superclass) từ các lớp con Quá trình phẫn rã thì ngược lại, một lớp có thể tách

thêm thành nhiều lớp con

14

Trang 15

Kỹ thuật phân chia dựa trên sự hợp tác

- Quá trình phân tách sẽ khiến hệ thống đang được thiết kế phức tạp và khó quả lý

Khi đó, hệ thống nên được chia thành các hệ thống con Ví dụ, hệ thống thông tin

kế toán có thể được chia thành các hệ thống chức năng con như hệ thống thu, hệ

thống chi, hệ thống chi trả lương

- Trong phân tích thiết hướng đối tượng, sự phân chia được dựa trên số thông điệp

gửi qua lại giữa các đối tượng Những đối tượng có số thông điệp chuyển qua lại

càng nhiều thì khả năng chúng được chia vào cùng một nhóm càng cao

Trang 16

Các tầng kiến trúc phần mềm

- Trong giai đoạn thiết kế, chúng ta mới chỉ quan tâm tới xây dưng các mô hình mô

tả miền bài toán (problem domain) chứ chưa quan tâm đến môi trường của hệ

thống (system enviroment) như quản lý dữ liệu (data management), giao diện

người dùng (user interface), kiến trúc vật lý (physical architechture) Trong giai

đoạn thiết kế, chúng ta cần đưa thêm các thông tin môi trường vào bản thiết kế

Do đó, chúng ta sử dụng khái niệm tầng (layer) của để thực hiện việc này Mỗi

tầng biểu diễn một thành phần của kiến trúc hệ thống phần mềm

- Kiến trúc MVC (Model-view-controller) phân chia hệ thống phần mềm thành 3

tầng: tầng Mô hình (Model), tầng Khung nhìn (View) và tầng điều khiển

(controller)

- Các Mô hình là các mô hình được dùng để biểu diễn sự logic của ứng dụng

(miền bài toán – problem domain)

- Các Khung nhìn và các Điều khiển biểu diễn sự logic của giao diện người

dùng (user interface) Các khung nhìn sử lý đầu vào và Điều khiển sử lý đầu

ra

- Mục đích của phân tầng kiến trúc phần mềm là để tách biệt mức logic ứng dụng

với mức logic giao diện

- Sau kiến trúc MVC của Smalltalk, nhiều kiến trúc phân tầng mở rộng khác đã được

đề xuất Dựa trên những kiến trúc mở rộng đó, Winxom và các tác giả (nhóm tác

16

Trang 17

giả viết quyển sách được chọn làm tài liệu tham khảo chính của khóa học này) đã

chia kiến trúc phần mềm thành 5 tầng: tầng cơ sở (foundation), tầng miền bài toán

(problem domain), tầng quản lý dữ liệu (data management), tầng giao diện

(Human-computer interface), tầng kiến trúc vật lý (physical architecture) Mỗi tầng

chỉ chứa một số loại lớp (class) trong nó Slide tiếp theo sẽ mô tả sơ qua về mỗi

tầng

Trang 18

5 tầng của một kiến trúc phần mềm:

- Tầng cơ sở: chứa các lớp cần thiết cho bất kỳ ứng dụng hướng đối tượng

nào tồn tại Tầng này bao gồm các lớp biểu diễn các kiểu dữ liệu như integer, real,

string, list, tree, graph, set, date, time, money, v.v…

- Tầng miền bài toán: bao gồm các lớp đối tượng đã xác ddingj trong giai đoạn phân

tích Các lớp đối tượng này sẽ được chi tiết hóa hơn ở giai đoạn thiết kế bằng

cách sử dụng các quu tắc thiết kế hướng đối tượng

- Tầng quản lý dữ liệu: liên quan đến các đối tượng lưu trữ lâu dài trong hệ

thống Các lớp thuộc tầng này cho phép các lớp đối tược thuộc tầng miền vấn

đề độc lập với cấu trúc lưu trữ thông tin được sử dụng và do đó làm tăng tính

linh động trong phát triển hệ thống

- Tầng giao diện người-máy: chứa các lớp liên quan với tầng Khung nhìn (View)

và tầng Điều khiển (Controller) trong cấu trúc MVC Much đích của tầng này là

tách biệt sự thực thi của các giao diện người dùng với các lớp đối tượng Điều này

cũng làm tăng tính linh động của quá trình phát triển hệ thống Các lớp thuộc tầng

này bao gồm các lớp được dùng để biểu diễn các nút lệnh, cửa sổ, các trường văn

bản, v.v

- Tầng kiến trúc vật lý: giải quyết vấn đề phần mềm sẽ thực hiện cụ thể trên

các máy tính và mạng như thế nào Tầng này bao gồm các lớp xử lý sự giao tiếp

17

Trang 19

giữa hệ thống với hệ điều hành và mạng, các lớp xử lý việc giao tiếp với các ứng

dụng trung gian (middleware application) như DCOM của Micosoft hay các kiến

trúc NET

Trang 20

Gói và biểu đồ gói

18

Trang 21

Gói và biểu đồ gói

- Gói là một cấu trúc tổng quát dùng để nhóm các đơn vị (units) trong hệ thống lại với

nhau

- Được sử dụng để giảm sự phức tạp của các mô hình

- Một biểu đồ gói chỉ bao gồm các gói, các kí hiệu trong biểu đồ bao gồm:

Một gói:

- Là một nhóm các phần tử của UML có quan hệ logic với nhau

- Được sử dụng để đơn giản hóa các biểu đồ UML bằng cách nhóm các phần

tử coa quan hệ với nhau thành một phần tử mới ở cấp cao hơn

Quan hệ phụ thuộc:

- Biểu diễn sự phụ thuộc giữa các gói, nghĩa là nếu một gói bị thay đổi,

gói phụ thuộc cũng có thể phải sửa đổi

Trang 22

Ví dụ biểu đồ gói biểu diễn sự phụ thuộc giữa 5 tầng của kiến trúc phần mềm:

- Sự thay đổi ở tầng Miền bài toán (Problem domain) sẽ dẫn tới sự thay đổi của

tầng giao diện (HCI), tầng kiến trúc vật lý, tầng quản lý dữ liệu

- Sự thay đổi của tầng cơ sở sẽ dẫn tới sự thay đổi ở các tầng giao diện, miền bài

toán, kiến trúc vật lý và quản lý dữ liệu

- V.v…

Hình 8-15 trang 296 mô tả thêm môt biểu đồ gói trong hệ thống Đặt lịch hẹn khám

bệnh

20

Trang 23

Các bước xây dựng biểu đồ gói:

• Bước một, thiết lập phạm vi của sơ đồ gói Gói có thể được sử dụng để mô hình các

phần của hệ thống và/hoặc các tầng

• Bước hai, phân nhóm các lớp thành các phần khác nhau dựa trên các quan hệ chia

sẻ giữa các lớp Các quan hệ bao gồm tổng quát hóa, kết hợp, liên kết và việc gửi

thông điệp diễn ra giữa các đối tượng trong hệ thống

• Bước ba, đặt mỗi nhóm các lớp được chia vào một gói

• Bước bốn, xác định mối quan hệ phụ thuộc giữa các gói

• Bước năm, vẽ các đường hệ phụ thuộc giữa các gói vào sơ đồ gói

Trang 24

Các chiến lược thiết kế hệ thống

22

Trang 25

Tự phát triển phần mềm

- Cho phép đáp ứng các yêu cầu chuyên môn cao

- Cho phép linh hoạt và sáng tạo trong việc giải quyết các vấn đề

- Dễ dàng thay đổi các thành phần

- Xây dựng được kỹ năng cá nhân

- Có thể đánh thuế các nguồn tài nguyên của công ty

- Rủi do trong xây dựng hệ thống tăng lên đáng kể

Trang 26

Mua phần Phần mềm đã được viết sẵn:

Phần mềm được viết sẵn

Có thể hiệu quả hơn

Có thể được kiểm tra kỹ lưỡng hơn và được chứng minh(kiểm chứng)

Có thể lựa chọn các thành phần hoặc toàn bộ hệ thống

Phải chấp nhận các chức năng được cung cấp

Có thể yêu cầu thay đổi các quy trình nghiệp vụ của công ty

Có thể yêu cầu rất nhiều việc liên quan đến điều chỉnh và giải quyết các vấn đề liên

quan

24

Trang 27

Sự tích hợp hệ thống:

• Quá trình kết hợp các gói, hệ thống kế thừa và phần mềm mới

• Thách thức chính là tích hợp dữ liệu

• Ghi dữ liệu trong cùng một định dạng

• Sửa đổi các định dạng dữ liệu hiện có

• Phát triển “object wrappers”

Trang 28

Gia công phần mềm (thuê công ty ngoài phát triển phần mềm):

• Thuê công ty bên ngoài để tạo ra hệ thống

• Có thể có nhiều kỹ năng hơn

Trang 29

Lựa chọn một chiến lược thiết kế

Dựa trên các tiêu chí:

- Yêu cầu nghiệp vụ

- Kinh nghiệm nội bộ

- Kỹ năng phát triển dự án

- Quản lý dự án

- Khung thời gian

Trên Slide là bảng lựa chọn chiến lược thiết kế phần mềm dựa trên các tiêu chí

Trang 30

Đọc thêm

28

Trang 31

Ma trận Thay thế

Trang 33

Tổng kết chương

Ngày đăng: 07/05/2021, 14:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w