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

05 analysis design overview 97

16 224 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

Định dạng
Số trang 16
Dung lượng 354,15 KB

Nội dung

5 - 4 Analysis and Design Overview Nội dung trình bày Tổng quan về phân tích và thiết kế Khái niệm về kiến trúc phần mềm Mức ñộ trừu tượng hóa trong phân tích Mục ñích của Phân tích v

Trang 1

Tổng quan về Phân tích và Thiết kế

Giảng viên: Mai Thúy Nga

Unified Modeling Language

5 - 3 Analysis and Design Overview

Nội dung môn học

Giới thiệu về PTTK

hướng đối tượng với

UML

Khái niệm về Hướng đối tượng trong UML

Đặc tả Yêu cầu với

mô hình Use Case I

Đặc tả Yêu cầu với

mô hình Use Case II

Tổng quan về Phân tích và Thiết kế

Phân tích Use

Case II

Ôn tập

Mô hình hóa Thiết kế

Phân tích Use Case I 1

5 4

2

6 3

Trang 2

5 - 4 Analysis and Design Overview

Nội dung trình bày

 Tổng quan về phân tích và thiết kế

 Khái niệm về kiến trúc phần mềm

 Mức ñộ trừu tượng hóa trong phân tích

Mục ñích của Phân tích và Thiết kế

 Chuyển các yêu cầu của bài toán thành một bản thiết

kế của hệ thống sẽ ñược xây dựng

 Xây dựng kiến trúc ở mức ñộ cơ bản cho hệ thống

 Kiến trúc thể hiện sự tương tác giữa các hệ thống con,

thành phần có trong hệ thống

 Chọn lựa thiết kế ñể phù hợp với môi trường phát

triển

 Là thiết kế khả thi cho từng hệ thống con, thành phần của

kiến trúc

 Ở mức chi tiết, thiết kế sẽ phụ thuộc vào nền tảng, ngôn

ngữ lập trình, hay cơ sở dữ liệu

Trang 3

5 - 6 Analysis and Design Overview

Phân tích và Thiết kế hướng ñối tượng (OOAD) (1)

 Tập trung vào quá trình phân tích các YÊU CẦU của hệ thống

và thiết kế các MÔ HÌNH cho hệ thống ñó trước giai ñoạn lập

trình

 ðược thực hiện nhằm ñảm bảo mục ñích và yêu cầu của hệ

thống ñược ghi lại một cách hợp lý trước khi hệ thống ñược

xây dựng

 Cung cấp các mô hình một cách chi tiết thể hiện hệ thống sẽ

ñược xây dựng như thê nào

 Các mô hình này là quá trình trừu tượng hóa của từng phần

có trong hệ thống

 Cung cấp cho người dùng, khách hàng, kỹ sư phân tích, thiết

kế nhiều cái nhìn khác nhau về cùng một hệ thống

5 - 7 Analysis and Design Overview

Phân tích và Thiết kế hướng ñối tượng (OOAD) (2)

 OOAD ñược chia thành 2 giai ñoạn

 Phân tích hướng ñối tượng (OOA)

 Thiết kế hướng ñối tượng (OOD)

 OOA là giai ñoạn nhằm tạo ra các mô hình cơ bản

(mô hình khái niệm) của hệ thống dựa theo những gì

khách hàng yêu cầu về hệ thống của họ

 ðứng nhiều trên quan ñiểm của khách hàng

 OOD sẽ bổ sung thêm các thông tin thiết kế chi tiết

cho các mô hình nói trên

 ðứng trên quan ñiểm của nhóm phát triển

Trang 4

5 - 8 Analysis and Design Overview

Sự liên quan của PTTK với các nguyên lý khác

 Nguyên lý PTTK có quan hệ mật thiết ñến các nguyên

lý khác trong quá trình phát triển phần mềm:

 “Mô hình hoá bài toán” cung cấp một phương pháp ñể thể

hiện hệ thống

 “Khảo sát yêu cầu” cung cấp ñầu vào chính cho PTTK

 “Cài ñặt” sẽ thực thi các thiết kế

 “Kiểm thử” ñảm bảo kiểm tra hệ thống theo thiết kế ñặt ra

Phân biệt giữa Phân tích và Thiết kế

 Tập trung vào tìm hiểu bài toán: CÁI GÌ

 Thiết kế theo mô hình lý tưởng

 Phân tích những thể hiện của HT (bề nổi)

 Cấu trúc chức năng

 Các yêu cầu chức năng

 Mô hình nhỏ (trừu tượng) Phân tích

 Tập trung vào thiết kế giải pháp: THẾ NÀO

 Quan tâm ñến các hành ñộng và thuộc tính

 Quan tâm ñến quá trình thực thi (bên trong)

 Các yêu cầu phi chức năng

 Mô hình lớn (chi tiết) Thiết kế

Trang 5

5 - 10 Analysis and Design Overview

Quá trình chuyển ñổi mô hình PTTK (1)

Yêu cầu

• Các tính năng

• Mô hình

nghiệp vụ

• Use cases

• Thể hiện bên

ngoài

• Quan điểm KH

Phân tích

• Kiến trúc tổng thể

• Mô hình rõ ràng

• Use Case thống nhất

• Phân tích bên trong

• Thực thể chính

• Quan điểm LTV

• O

Thiết kế

• Kiến trúc chi tiết mức thành phần

• Mô hình chi tiết cho từng UC

• Công nghệ

• Chi tiết các thực thể

• Chi tiết & Rõ ràng

Lập trình

• Mã nguồn

• Kiểm thử đơn vị

Kiểm thử

• Các thủ tục kiểm thử

• Kiểm thử tích hợp, hệ thống

• O

Sự chuyển đổi các mô hình

• Sự khác nhau giữa PT và TK là mức độ quan tâm và mức độ nhấn mạnh

• Không có ranh giới rõ rệt để phân chia quá trình PT và TK

5 - 11 Analysis and Design Overview

Quá trình chuyển ñổi mô hình PTTK (2)

Đặc tả bổ sung

Mô hình dữ liệu

Tài liệu kiến trúc

Phân tích và Thiết kế

Thuật ngữ

Trang 6

5 - 12 Analysis and Design Overview

Mô hình Phân tích

 Phân tích tập trung vào việc trừu

tượng hóa các vấn ñề nghiệp vụ

 Nghiệp vụ khảo sát từ K/H

 Xây dựng mô hình bằng cách tìm

kiếm các lớp, các ñối tượng chính

có trong hệ thống

 Các lớp, ñối tượng này chỉ là những khái niệm nghiệp vụ

cơ bản nhằm tìm hiệu hệ thống

 Tránh cung cấp các khái niêm, thông tin cài ñặt quá chi tiết

(cho dù có thể ñã tìm ñược tại thời ñiểm ñó)

Mô hình Thiết kế

 Bao gồm các lớp, ñối tượng ở mức cao

 Nên ñóng thành các gói

 Chỉ rõ và mô hình hóa mối

quan hệ tương tác giữa chúng

 Chỉ rõ hành ñộng và thuộc tính

của các ñối tượng

 ðơn giản hoá của việc phát triển mã nguồn

 Ví dụ như thuật toán, sơ ñồ khối…

 Thể hiện ñược bản thiết kế mã nguồn sẽ ñược cấu

trúc và phát triển như thế nào

Trang 7

5 - 14 Analysis and Design Overview

Nội dung trình bày

 Tổng quan về phân tích và thiết kế

 Khái niệm về kiến trúc phần mềm

 Mức ñộ trừu tượng hóa trong phân tích

5 - 15 Analysis and Design Overview

Kiến trúc phần mềm

 Kiến trúc phần mềm là một tổ chức hay cơ cấu của

các thành phần chính có trong hệ thống

 Sự lựa chọn các thành phần cấu trúc và giao diện thành

phần của nó tương tác với nhau như thế nào

 Chỉ ra các hành vi của từng thành phần

 Kết hợp các thành phần nói trên dựa trên cấu trúc và hành

vi của chúng ñể tạo ra hệ thống lớn hơn

 Thường ñược kế thừa từ một mẫu kiến trúc nào ñó

Trang 8

5 - 16 Analysis and Design Overview

Tầm quan trọng của mô hình kiến trúc

 ðưa ra một mô hình mô tả một cách rõ ràng:

 Hệ thống ñược phân bố thế nào

 Từng thành phần của nó hoạt ñộng với nhau như thế nào

 Là bản mô tả kiến trúc phần mềm dùng ñể giao tiếp

giữa các thành viên phát triển dự án

 ðưa ra những quyết ñịnh về mặt thiết kế rất sớm ñể

dẫn dắt các tác vụ tiếp theo của giai ñoạn này

Kiến trúc

Thiết kế

Mô hình cài đặt

Mã nguồn

Các khung nhìn trong quá trình phát triển

 Quá trình phát triển có sự tham gia của nhiều thành

viên

 Mỗi thành viên có sự quan tâm và cái nhìn khác nhau

về hệ thống

 OOAD xây dựng nhiều loại sơ ñồ khác nhau

 Mỗi loại sơ ñồ có một vai trò khác nhau, phản ánh phần

mềm ở một khía cạnh nào ñó (bỏ qua những thành phần

mà nó không quan tâm)

 Cung cấp cái nhìn cho một, hoặc một nhóm thành viên cụ

thể nào ñó (chứ không phải tất cả)

Trang 9

5 - 18 Analysis and Design Overview

Mô hình “khung nhìn 4+1”

Sơ đồ Tiến trình Sơ đồ triển khai

Sơ đồ Logic

Sơ đồ Use-Case

Sơ đồ lập trình

Người dùng

Chức năng Tính sử dụng

Lập trình viên

Quản lý phần mềm

Tốc độ

Độ ổn định

Thông lượng

Tích hợp hệ thống

Kiến trúc hệ thống Cài đặt, bàn giao Giao tiếp

Kỹ sư hệ thống

Phân tích/Thiết kế

Chức năng

Cấu trúc

5 - 19 Analysis and Design Overview

Mẫu thiết kế (Design Pattern)

 Mẫu thiết kế là 1 giải pháp cho 1 vấn ñề thiết kế chung

 Mô tả một vấn ñề thiết kế chung

 Mô tả giải pháp cho vấn ñề ñó

 Thảo luận về kết quả và sự kết hợp các yếu tố khác nhau khi áp

dụng mẫu này

 Các mẫu thiết kế cung cấp khả năng sử dụng lại các thiết kế

sẵn có một cách thích hợp

 Các mẫu thiết kế nên ñược mô tả bằng những sơ ñồ UML

thông thường với một vài tham số nào ñó ñể tùy biến

Parameterized

Collaboration

Pattern Name

Template Parameters

Trang 10

5 - 20 Analysis and Design Overview

Mẫu kiến trúc (Architectural Pattern)

 Là một cách tổ chức mang tính cấu trúc nền tảng cho

một hệ thống phần mềm

 Cung cấp 1 tập các thành phần bên trong ñược ñịnh

nghĩa trước

 Chỉ rõ vai trò của chúng

 Chỉ rõ các nguyên tắc và tổ chức các mối quan hệ giữa

chúng

 Một số mẫu thiết kế chung

 Phân tầng (Layers)

 Dữ liệu – Thể hiện - ðiều khiển (Model-View-Controller)

 Phân luồng (Pipes and filters)

Hướng tiếp cận phân tầng

Chức năng

mức hệ thống

Chức năng

cụ thể

Các phần mềm ứng dụng cụ thể phục

vụ một mục đích nghiệp vụ nào đó

Cung cấp một loạt các hệ thống cho phép sử dụng lại được trong một nghiệp vụ cụ thể nào đó

Là các hệ thống con sử dụng các lớp thư viện ứng dụng hoặc các dịch vụ khác nhằm phục vụ trong các môi trường tính toán khác nhau

Là các phần mềm làm nền tảng ứng dụng cho các hệ thống khác như hệ điều hành, các driver cho phần cứng

Tầng ứng dụng

Tầng nghiệp vụ

Tầng thư viện

Tầng hệ thống

Trang 11

5 - 22 Analysis and Design Overview

Các vấn ñề trong quá trình phân tầng

 Mức ñộ trừu tượng hoá

 Tìm cách nhóm các thành phần ở cùng 1 mức trừu tượng hoá

 Phân chia các vấn ñề thành từng nhóm

 Nhóm các thành phần giống nhau vào cùng một nhóm (tầng)

 ðảm bảo tính cơ ñộng

 Tính kết hợp tối thiểu

 Che dấu thông tin

• ðảm bảo khi bị thay ñối không ảnh hướng ñến thành phần khác

 Giao diện và các thành phần nghiệp vụ là những nơi có khả năng

thay ñổi cao nhất

5 - 23 Analysis and Design Overview

Mô hình hoá các tầng kiến trúc trong UML

 Kiến trúc của hệ thống ñược phân chia

thành các tầng riêng biệt

 Mỗi tầng làm một nhiệm vụ xác ñịnh

trong hệ thống

 Các tầng kiến trúc thường ñược mô hình

hoá bằng cách sử dụng các gói

 Mỗi một gói ñại diện cho một tầng và

chứa các thành phần bên trong như các

lớp, các sơ ñồ hoạt ñộng cụ thể cho

tầng ñó

Tầng thể hiện

<<layer>>

Tầng nghiệp vụ

<<layer>>

Tầng dữ liệu

<<layer>>

Trang 12

5 - 24 Analysis and Design Overview

Các quan hệ gói: Sự phụ thuộc

 Các gói có thể liên hệ với nhau bằng cách sử dụng

mối quan hệ phụ thuộc

 Sự phụ thuộc:

 Thay ñổi trong gói Supplier sẽ ảnh hưởng ñến gói Client

 Không thể sử dụng gói Client một cách ñộc lập vì sự phụ

thuộc này

Client Package Supplier

Package

Quan hệ phụ thuộc

Tránh sự phụ thuộc vòng tròn

C

A

B

Loại bỏ phụ thuộc vòng

Sự phụ thuộc vòng tròn dẫn tới việc không thể sử dụng lại 1 gói mà không cần đến gói khác

A

B

A

B

C

A'

Trang 13

5 - 26 Analysis and Design Overview

Nội dung trình bày

 Tổng quan về phân tích và thiết kế

 Khái niệm về kiến trúc phần mềm

 Mức ñộ trừu tượng hóa trong phân tích

5 - 27 Analysis and Design Overview

Trừu tượng hoá các vấn ñề

 Trừu tượng hóa một vấn ñề trong quá trình phân tích

yêu cầu cho phép cung cấp một khái niệm về vấn ñề

cần ñược giải quyết

 Khi mà ta chưa thể biết cụ thể về nó tại giai ñoạn ñó

 Các vấn ñề chính có thể phải trừu tượng hoá

 Thông tin, khái niệm nghiệp vụ

 Các yêu cầu

 Các thuật ngữ nghiệp vụ

 Các mô hình nghiệp vụ

Trang 14

5 - 28 Analysis and Design Overview

Trừu tượng hóa trong quá trình phân tích

Làm sao tôi có thể phân tích các lớp dữ liệu khi mà tôi vẫn chưa biết CSDL như thể nào?

Hãy tưởng tượng đấy chỉ là một tầng dữ liệu có hỗ trợ cơ chế làm việc với các thành phần dữ liệu trong CSDL

Chúng ta sẽ quay lại thiết kế chi tiết sau

Trừu tượng hóa trong quá trình phân tích được sử dụng để giảm thiếu sự

phức tạp của một hệ thống bằng cách chỉ đưa ra phần thể hiện của vấn đề

phức tạp đó và bỏ qua một số chi tiết bên trong nó

Trừu tượng hoá với lớp phân tích

 Tìm cách trừu tượng hoá các thực thể chính (lớp phân tích)

 Có thể phân loại các lớp phân tích thành các nhóm riêng biệt

 Chỉ ra các quan hệ giữa các lớp phân tích này

 Mô hình hoá các lớp phân tích và quan hệ giữa chúng bằng

sơ ñồ lớp phân tích (Analysis class diagram)

 Nên mô tả ngắn gọn về các lớp phân tích

 Có thể coi một lớp phân tích như là một cơ chế phân tích

bằng cách trừu tượng hoá một vấn ñề phức tạp bằng một

lớp phân tích

Trang 15

5 - 30 Analysis and Design Overview

Các mức ñộ trừu tượng hóa trong phân tích

 Cơ chế phân tích (mức khái niệm)

 Ví dụ: Thành phần lưu trữ dữ liệu

 Cơ chế thiết kế (mức giải pháp)

 Ví dụ: Bàn về công nghệ: RDBMS hoặc ODBMS

 Cơ chế cài ñặt (mức kỹ thuật)

 Ví dụ: Công nghệ cụ thể: Oracle, SQL Server

5 - 31 Analysis and Design Overview

Mức ñộ chi tiết của mô hình Use-Case

Sơ đồ lớp Use Case

Sơ đồ công tác

Mô hình Use-Case Mô hình thiết kế

Sơ đồ trình tự

Trang 16

5 - 32 Analysis and Design Overview

Tổng kết

 Tổng quan về phân tích và thiết kế

 Thể hiện ở mức ñộ tập trung và nhấn mạnh của vấn ñề,

trả lời câu hỏi CÁI GÌ và NHƯ THẾ NÀO

 Không có sự phân chia rõ ràng về phân tích và thiết kế

 Kiến trúc phần mềm

 Nền tảng cho quá trình xây dựng hệ thống

 Sử dụng các mẫu kiến trúc có sẵn

 Mức ñộ trừu tượng hóa trong phân tích

 Mức ñộ tùy thuộc vào ngữ cảnh của quá trình phân tích

Ngày đăng: 19/03/2018, 12:47

TỪ KHÓA LIÊN QUAN

w