1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng công nghệ phần mềm - Phần 1 Giới thiệu về chu trình sống của phần mềm - Chương 6 doc

13 565 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

Định dạng
Số trang 13
Dung lượng 299,52 KB

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

Nội dung

ƒ Định nghĩa của [Stevens, Myers, và Constantine, 1974] về mô-đun: ‰ tập hợp của một hay nhiều câu lệnh kế tiếp nhau được đặt tên, ‰ các phần khác trong chương trình có thể kích hoạt v

Trang 1

6 giới thiệu về đối t−ợng(INTRODUCTION TO OBJECTS)

Nội dung:

ƒ Giới thiệu về mô-đun

ƒ Độ gắn kết

ƒ Nối kết

ƒ Bao gói dữ liệu

ƒ Kiểu dữ liệu trừu t−ợng

ƒ Thông tin ẩn

ƒ Đối t−ợng

Trang 2

6.1 Giới thiệu về mô-đun

(what is a module ?)

ƒ Định nghĩa của [Stevens, Myers, và Constantine, 1974] về mô-đun:

‰ tập hợp của một hay nhiều câu lệnh kế tiếp nhau được đặt tên,

‰ các phần khác trong chương trình có thể kích hoạt với tên được đặt,

‰ có tập hợp các tên biến riêng biệt

ƒ Mô-đun là một khối đơn các mã lệnh có thể kích hoạt giống như thủ tục, hàm hay phương thức

Chip 1 Chip 2

Registers ALU Registers ALU

Chip 3

Trang 3

6.2 Độ gắn kết

(cohesion)

ƒ Là mức độ tương tác bên trong một mô-đun

ƒ Myers định nghĩa 7 thể loại (mức) gắn kết [Myers, 1978b]

7 Gắn kết chức năng

Gắn kết thông tin Tốt

5

4

3

2

1

Gắn kết truyền thông Gắn kết thủ tục

Gắn kết thời gian Gắn kết luận lý Gắn kết trùng khớp Xấu

Hình 6.3 Các mức gắn kết

ƒ Gắn kết trùng khớp (coincidental cohesion): mô-đun thực hiện nhiều hành

động không liên quan đến nhau

số thứ hai, thêm 7 cho tham số thứ 5, đổi tham số thứ tư thμnh số thực

Trang 4

ƒ Gắn kết luận lý (logical cohesion): mô-đun thực hiện chuỗi các hành động

có liên quan với nhau, một trong số đó được chọn bởi mô-đun gọi đến VD: mô-đun thực hiện việc thêm, xóa, cập nhật các mẩu tin trên tập tin

ƒ Gắn kết thời gian (temporal cohesion): mô-đun thực hiện chuỗi các hành

động liên quan với nhau theo thời gian

giao dịch, in tập tin giao dịch, khởi tạo bảng kinh doanh khu vực,

đọc mẩu tin giao dịch đầu tiên,đọc mẩu tin đầu tiên trong tập tin cũ

ƒ Gắn kết thủ tục (procedural cohesion): mô-đun thực hiện chuỗi các hành

động liên quan với nhau theo các bước đúng trình tự phát triển sản phẩm

vμ cập nhật, sửa chữa mẩu tin trên tập tin bảo trì

ƒ Gắn kết truyền thông (communcational cohesion): mô-đun thực hiện chuỗi

các hành động liên quan với nhau theo các bước đúng trình tự phát triển sản phẩm và nếu như mọi hành động đều được thực hiện trên dữ liệu

giống nhau

vμo sổ hoặc tính toán quỹ đạo vμ gửi ra máy in

Trang 5

ƒ Gắn kết thông tin (information cohesion): mô-đun thực hiện một số l−ợng

các hành động, mỗi hành động có đầu vào riêng, mã lệnh độc lập và thực

hiện trên dữ liệu giống nhau

VD:

Định nghĩa bảng kinh doanh khu vực

Vào Khởi tạo bảng kinh doanh khu vực

Thoát Vào Cập nhật bảng kinh doanh khu vực

Thoát Vào In bảng kinh doanh khu vực

Thoát

Hình 6.4 Mô-đun gắn kết về thông tin

ƒ Chức năng: mô-đun thực hiện một hành động hoặc nhận lấy một kết quả

tử; ghi lên đĩa mềm; tính toán tiền hoa hồng

Trang 6

™ Ví dụ về các dạng gắn kết

chức năng tính toán nhiệt độ trung bình

hàng ngày tại nhiều địa điểm

khác nhau

trùng khớp chức năng chức năng trùng khớp

khởi tạo tổng

số và mở các

tập tin

tạo mẩu tin nhiệt độ mới

lưu trữ mẩu tin nhiệt độ

đóng các tập

tin và in nhiệt

độ trung bình

chức năng chức năng

đọc thời gian

và nhiệt độ tại

địa điểm

lưu trữ mẩu tin cho từng địa

điểm

luận lý chọn lọc thời gian hoặc các trường nhiệt

độ

Hình 6.5 Biểu diễn dạng gắn kết của từng mô-đun

Trang 7

6.3 Nối kết (coupling)

ƒ Là mức độ tương tác giữa hai mô-đun, rất quan trọng trong đánh giá

ƒ Các mức độ nối kết

5 Nối kết dữ liệu Tốt

4

3

2

1

Nối kết nhãn hiệu Nối kết điều khiển Nối kết chung

Hình 6.6 Các mức độ nối kết

ƒ Nối kết nội dung(content coupling): hai mô-đun được gọi là nối kết về nội

dung nếu như chúng có thể tham khảo rực tiếp nội dung của nhau

VD: mô-đun p tham khảo dữ liệu cục bộ của mô-đun q, hoặc mô-đun p thay đổi một câu lệnh của mô-đun q

Trang 8

ƒ Nối kết chung (common coupling): hai mô-đun đ−ợc gọi là nối kết chung

nếu cả hai truy xuất đến các dữ liệu toàn cục giống nhau

VD:

mb

ma

biến toàn cục

Hình 6.7 Nối kết chung

ƒ Nối kết điều khiển (control coupling): hai mô-đun đ−ợc gọi là nối kết điều

khiển nếu mô-đun này có thể gửi phàn tử điều khiển đến mô-đun kia (có thể điều khiển lẫn nhau)

ƒ Nối kết nhãn hiệu (stamp coupling): hai mô-đun đ−ợc gọi là nối kết nhãn

hiệu nếu nh− tham số đ−ợc gửi đi là một cấu trúc dữ liệu và mô-đun đ−ợc gọi chỉ thao tác trên một vài thành phần của cấu trúc dữ liệu đó

ƒ Nối kết dữ liệu (data coupling): hai mô-đun đ−ợc gọi là nối kết dữ liệu nếu

nh− tất cả các tham số đều là các mục dữ liệu thuần nhất (homogeneous data items)

Trang 9

ƒ VÝ dô vÒ nèi kÕt

1 1 kiÓu m¸y bay cê tr¹ng th¸i

q 2 2 - danh s¸ch c¸c phÇn cña m¸y bay

3 4

p,t vµ u truy xuÊt cïng mét c¬ së d÷

liÖu trong cËp nhËt 3 m· hµm -

r s 4 - danh s¸ch c¸c phÇn cña m¸y bay

5 6 5 sè phÇn phÇn chÕ t¹o

t u 6 sè phÇn tªn phÇn

q r s t u

p

D÷ liÖu - D÷ liÖu hoÆc

Nh·n hiÖu Chung Chung

q

§iÒu khiÓn D÷ liÖu hoÆc

Nh·n hiÖu - -

r D÷ liÖu -

s - D÷ liÖu

H×nh 6.10 Nèi kÕt gi÷a c¸c cÆp m«-®un

Trang 10

6.4 Bao gãi d÷ l Öu (data encapsulation)

ƒ Lµ mét d¹ng cña trõu t−îng hãa

m_encapsulation

Definition of job_queue

initialize_job_queue()

{ }

{ }

{ }

H×nh 6.11 ThiÕt kÕ job_queue trong mét

phÇn hÖ ®iÒu hµnh sö dông bao gãi d÷ liÖu

Trang 11

6.5 Kiểu dữ iệu trừu tượng

(abstract data types)

ƒ Kiểu dữ liệu trừu tượng: là kiểu dữ liệu cùng với các thao tác trên chính nó VD:

class JobQueue {

// dữ liệu private int queueLength;

private int queue[25] = new int[25];

// các phương thức public void initializeJobQueue() { }

public void addJobToQueue(int jobNumber) { }

public void removeJobfromQueue() { }

}

Hình 6.12 JobQueue cài đặt trên Java như là một kiểu dữ liệu trừu tượng

ƒ Trừu tượng hóa thủ tục (procedural abstraction)

ƒ Trừu tượng hóa lặp (iteration abstraction) [Liskov và Guttag, 1986]

Trang 12

6.6 Thông tin ẩn (information hiding)

ƒ Do Parnas đề xuất [Parnas, 1971, 1972a, 1972b]

Cμi đặt chi tiết của:

queue queueLength initializeJobQueue addJobToQueue removeJobFromQueue

Giao diện:

initializeJobQueue addJobToQueue removeJobFromQueue Thông tin ẩn Thông tin thấy đ−ợc

Trang 13

6.7 Đối t−ợng

(objects)

ƒ Là kiểu dữ liệu trừu t−ợng hay mô-đun với thông tin đ−ợc gắn kết

ƒ Là thể hiện (instance) của một kiểu dữ liệu trừu t−ợng

ƒ Hỗ trợ thừa kế, khái niệm đ−ợc giới thiệu đầu tiên ở ngôn ngữ lập trình

Simula67 [Dahl và Nygaard, 1966; Dahl, Myrhaug and Nygaard, 1973]

Các đối t−ợng với độ gắn kết cao và nối kết thấp

Các đối t−ợng Các kiểu dữ kiệu trừu t−ợng

Bao gói dữ liệu Các mô-đun với độ gắn kết cao và nối kết thấp

Các mô-đun

ƒ Hỗ trợ đa hình và liên kết động

ƒ Một số vấn đề:

thừa kế và các mô-đun định nghĩa mới

‰ nối kết chung với định nghĩa

công cộng: public

Hình 6.14 Các khái niệm chính

Ngày đăng: 24/07/2014, 08:21

HÌNH ẢNH LIÊN QUAN

Hình 6.1  Thiết kế của máy vi tính Hình 6.2  Máy vi tính Hình 6.1 chế tạo với 3 chip - Bài giảng công nghệ phần mềm - Phần 1 Giới thiệu về chu trình sống của phần mềm - Chương 6 doc
Hình 6.1 Thiết kế của máy vi tính Hình 6.2 Máy vi tính Hình 6.1 chế tạo với 3 chip (Trang 2)
Hình 6.4  Mô-đun gắn kết về thông tin - Bài giảng công nghệ phần mềm - Phần 1 Giới thiệu về chu trình sống của phần mềm - Chương 6 doc
Hình 6.4 Mô-đun gắn kết về thông tin (Trang 5)
Hình 6.5  Biểu diễn dạng gắn kết của từng mô-đun - Bài giảng công nghệ phần mềm - Phần 1 Giới thiệu về chu trình sống của phần mềm - Chương 6 doc
Hình 6.5 Biểu diễn dạng gắn kết của từng mô-đun (Trang 6)
Hình 6.8  Sơ đồ các mô-đun nối kết Hình 6.9  Mô tả giao diện Hình 6.6 - Bài giảng công nghệ phần mềm - Phần 1 Giới thiệu về chu trình sống của phần mềm - Chương 6 doc
Hình 6.8 Sơ đồ các mô-đun nối kết Hình 6.9 Mô tả giao diện Hình 6.6 (Trang 9)
Hình 6.13  Kiểu dữ liệu trừu t−ợng với thông tin ẩn - Bài giảng công nghệ phần mềm - Phần 1 Giới thiệu về chu trình sống của phần mềm - Chương 6 doc
Hình 6.13 Kiểu dữ liệu trừu t−ợng với thông tin ẩn (Trang 12)

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