1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 11: Công nghệ phần mềm- Pha phân tích_TS.Nguyễn Mạnh Hùng

21 861 1

Đ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 đề Pha thiết kế
Người hướng dẫn TS. Nguyễn Mạnh Hùng
Trường học Học viện Công nghệ Bưu chính Viễn thông (PTIT)
Chuyên ngành Công nghệ phần mềm
Thể loại Bài giảng
Năm xuất bản 2007
Thành phố Hà Nội
Định dạng
Số trang 21
Dung lượng 0,98 MB

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

Nội dung

Silde bài giảng công nghệ phần mềm

Trang 1

Công nghệ phần mềm

Pha thiết kế

Giảng viên: TS Nguyễn Mạnh Hùng

Học viện Công nghệ Bưu chính Viễn thông (PTIT)

Trang 2

Nội dung tham khảo từ

Stephen R Schach Object-Oriented and Classical

Software Engineering Seventh Edition,

WCB/McGraw-Hill, 2007

Trang 3

Pha thiết kế (1)

Mục đích:

 Chuyển tài liệu phân tích dừ dạng đặc tả

nghiệp vụ hệ thống, sang dạng có thể cài đặt

và kiểm thử được

Trang 4

Pha thiết kế (2)

Thực hiện:

 B1: Hoàn thiện sơ đồ lớp có được trong pha phân

tích → sơ đồ lớp chi tiết

 Thiết kế chi tiết hoạt động bên trong của các lớp, các

phương thức của lớp

Trang 5

Hoàn thiện sơ đồ lớp (1)

Thực hiện:

 Định nghĩa kiểu thuộc tính cho lớp

Định nghĩa khuôn mẫu các phương thức cho lớp

Trang 6

Hoàn thiện sơ đồ lớp (2)

Định nghĩa kiểu thuộc tính cho lớp:

 Tên thuộc tính đã xác định trong pha phân tích

 Chọn kiểu dữ liệu cụ thể cho từng thuộc tính dựa

vào giới hạn lưu trữ của thuộc tính

Điền thuộc tính (tên:kiểu) vào sơ đồ lớp

Trang 7

Hoàn thiện sơ đồ lớp (3)

Ví dụ quỹ MSG:

Trang 8

Hoàn thiện sơ đồ lớp (4)

Định nghĩa khuôn mẫu phương thức cho lớp:

 Dùng thẻ CRC để xác định phương thức nào nên

gán cho lớp nào

Định nghĩa phuôn mẫu cho từng phương thức

Trang 9

Hoàn thiện sơ đồ lớp (5)

Gán phương thức cho lớp:

 Nguyên lí A: Che giấu thông tin Các thuộc tính của

lớp phải để dạng private → cần các phương thức

get/set tương ứng cho phép các đối tượng khác truy nhập vào các thuộc tính này

 Áp dụng cho các lớp thực thể: các thuộc tính để

private, mỗi thuộc tính có một cặp phương thức

get/set tương ứng

Trang 10

Hoàn thiện sơ đồ lớp (6)

Gán phương thức cho lớp (tt):

 Nguyên lí B: Nếu có nhiều đối tượng X gọi đến một

hành động k của đối tượng Y, thì phương thức để

thực hiện hành động k nên gán cho lớp của đối

tượng Y, mà không nên gán cho lớp của đối tượng X

Trang 11

cho lớp khác, thì lớp của đối tượng cần thực hiện

hành động đó phải chứa phương thức tương ứng

hành động đó

Trang 13

Hoàn thiện sơ đồ lớp (9)

Ví dụ bài toán thang máy:

 Thao tác 1 và 2 → gán phương thức turnOn/turnOff

cho lớp nút nhấn trong thang máy (nguyên lí B)

 Thao tác 3 và 4 → gán phương thức turnOn/turnOff

cho lớp nút nhấn tại mỗi tầng (nguyên lí B)

 Thao tác 5 và 6 → gán phương thức

moveUp/moveDown cho lớp thang máy (nglí B)

 Thao tác 7 và 9 → gán phương thức open/close cho

lớp cửa thang máy (nguyên lí B)

 Các thao tác 8, 10, 11 → gán phương thức cho

chính lớp điều khiển thang máy vì không gán được cho lớp nào nữa (nguyên lí C)

Trang 14

Hoàn thiện sơ đồ lớp (10)

Kết quả:

Trang 15

Hoàn thiện sơ đồ lớp (11)

Định nghĩa khuôn mẫu các phương thức:

 Kiểu dữ liệu trả về

 Số lượng, thứ tự và kiểu dữ liệu truyền vào

Ví dụ:

 Không nên định nghĩa phương thức lưu thông tin một

khoản đầu tư với các tham số là các thuộc tính:

 Mà nên truyền vào là một kiểu đối tượng cửa lớp

khoản đầu tư đã đóng gói:

Trang 16

Thiết kế logic/thuật toán (1)

Thực hiện:

 Dùng sơ đồ trạng thái hữu hạn (statechart) biểu diễn

chi tiết thuật toán cho mỗi lớp/phương thức

 Mỗi ô chữ nhật là một trạng thái: định nghĩa các hành

động trong trạng thái đó theo cú pháp:

tên_phương_thức()

 Mỗi mũi tên chuyển trạng thái dự vào các sự kiện

gắn thành nhãn tương ứng của mũi tên

Trang 17

Thiết kế logic/thuật toán (2)

Ví dụ lớp điều khiển của thang máy:

Trang 18

Thiết kế logic/thuật toán (3)

Ví dụ lớp nút nhấn của thang máy:

Trang 19

Bài tập

Với mỗi modul cá nhân:

 Định nghĩa các thuộc tính và kiểu thuộc tính của mỗi

lớp

 Dùng kĩ thuật thẻ CRC và 3 nguyên lí thiết kế

phương thức để gán các phương thức cho các lớp

 Định nghĩa khuôn mẫu cho từng phương thức

 Điền tất cả vào sơ đồ lớp để thu được sơ đồ lớp chi

tiết

 Thiết kế thuật toán (dùng statechart) cho mỗi lớp của

sơ đồ lớp

Trang 20

Bài tập nộp sau pha thiết kế

Với mỗi modul cá nhân:

 Vẽ lại sơ đồ UC chi tiết của hệ thống và của modul

 Vẽ lại sơ đồ các lớp sau pha phân tích

 Định nghĩa các thuộc tính và kiểu thuộc tính của mỗi

lớp

 Dùng kĩ thuật thẻ CRC và 3 nguyên lí thiết kế

phương thức để gán các phương thức cho các lớp

 Định nghĩa khuôn mẫu cho từng phương thức

 Điền tất cả vào sơ đồ lớp để thu được sơ đồ lớp chi

tiết

 Thiết kế thuật toán (dùng statechart) cho mỗi lớp của

sơ đồ lớp

Trang 21

Questions?

Ngày đăng: 07/01/2014, 12:14

TỪ KHÓA LIÊN QUAN

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