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

bài tập lớn về công nghệ phần mềm Component-based software engineering

50 1,5K 11

Đ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 50
Dung lượng 1,71 MB

Nội dung

* CBSE cần thiết *Độc lập các thành phần giao diện *Tiêu chuẩn thành phần để tạo điều kiện hội nhập thành phần *Thành phần liên kết khả năng hoạt động *Một quá trình phát triển hướng tới

Trang 1

HỌC VIỆN KỸ THUẬT MẬT

LỚP :AT6A BÀI TẬP LỚN MÔN CÔNG

NGHỆ PHẦN MỀM

Trang 2

Lê Thế Công Nguyễn Văn Phú Kay Thoong (nt)

Trang 3

* Những điểm chính

*CBSE là một phương pháp tái sử dụng để xác định và thực hiện các thành phần lỏng vào hệ thống

*Thành phần là một đơn vị phần mềm có chức năng và phụ thuộc hoàn toàn được xác định bởi giao diện của nó

*Một mô hình thành phần định nghĩa một tập hợp các tiêu chuẩn mà các nhà cung cấp thành phần và nhà soạn nhạc nên làm theo

*Trong quá trình CBSE, quá trình các yêu cầu kỹ thuật và thiết kế hệ thống xen kẽ nhau

Trang 4

* Những điểm chính

*Thành phần cấu tạo là quá trình 'dây' lại với nhau để tạo ra

một hệ thống

*Khi sáng tác các thành phần tái sử dụng, bạn thường phải

viết các bộ chuyển đổi để hòa giải các giao diện thành

phần khác nhau

*Khi chọn sản phẩm, bạn phải xem xét chức năng cần thiết,

yêu cầu phi chức năng và sự tiến hóa của hệ thống

Trang 5

* Mục tiêu

* Để giải thích rằng CBSE có liên quan tới các tiêu chuẩn

phát triển và sáng tạo vào các ứng dụng

* Để mô tả các thành phần và mô hình các thành phần

* Để hiển thị các hoạt động chủ yếu trong quá trình CBSE

* Để thảo luận về các phương pháp tiếp cận thành phần và

các vấn đề có thể phát sinh

Trang 7

* CBSE cần thiết

*Độc lập các thành phần giao diện

*Tiêu chuẩn thành phần để tạo điều kiện hội nhập thành

phần

*Thành phần liên kết khả năng hoạt động

*Một quá trình phát triển hướng tới tái sử dụng

Trang 8

* Thành phần phát triển

*CBSE là phương pháp tiếp cận với các phần mềm phát triển dựa vào tái

sử dụng phần mềm

*Nó xuất hiện từ sự thất bại của phát triển hướng đối tượng để hỗ trợ tái

sử dụng hiệu quả Các lớp học đối tượng duy nhất là chi tiết và cụ thể

*Thành phần này là trừu tượng hơn đối tượng các lớp học và coi là nhà cung cấp dịch vụ độc lập

Trang 10

* CBSE và nguyên tắc

thiết kế

*Ngoài lợi ích của việc tái sử dụng, CBSE được dựa trên

các nguyên tắc phần mềm thiết kế kỹ thuật:

*Các thành phần độc lập không can thiệp với nhau

*Triển khai thành phần được ẩn

*Giao tiếp và thông qua định nghĩa giao diện

*Nền tảng thành phần được chia sẻ và giảm chi phí phát

triền

Trang 11

* Thành phần

*Các thành phần cung cấp một dịch vụ mà không liên quan

đến các thành phần được thực hiện hoặc ngôn ngữ lập

trình:

*Thành phần là một thực thể thực thi độc lập có thể

được tạo thành từ một hoặc nhiều đối tượng thực thi

*Giao diện thành phần được công bố và tất cả các tương

tác thông qua giao diện được xuất bản

Trang 12

* Định nghĩa thành phần

*Councill and Heinmann:

*Một thành phần phần mềm là một yếu tố phần mềm

phù hợp với một mô hình thành phần và có thể được

triển khai độc lập và sáng tác mà không sửa đổi theo

một tiêu chuẩn thành phần

*Szyperski:

*Một thành phần phần mềm là một đơn vị của các thành

phần hợp đồng quy định các giao diện và bố cảnh rõ

ràng Một thành phần phần mềm có thể được triển khai

độc lập và là chủ đề cho sang tác bên thứ ba

Trang 13

*Các dịch vụ được cung cấp bởi một thành phần được thực

hiện thông qua một giao diện và tất cả các tương tác thành

phần diễn ra thông qua giao diện đó

Trang 14

* Đặc điểm thành phần

*Chuẩn hóa: Thành phần tiêu chuẩn hóa có nghĩa là một

thành phần mà được sử dụng trong một quá trình CBSE có

phù hợp với một số tiêu chuẩn hóa thành phần mô hình

Mô hình này có thể xác định thành phần giao diện, thành

phần siêu dữ liệu, tài liệu, thành phần và triển khai

*Độc lập: Một thành phần cần được độc lập - nó nên có thể

để soạn và triển khai nó mà không cần phải sử dụng cụ thể

khác các thành phần Trong tình huống mà các thành phần

cần bên ngoài cung cấp dịch vụ, những cần được thiết lập

một cách rõ ràng ra một đặc điểm kỹ thuật giao diện 'yêu

cầu'

Trang 15

* Đặc điểm thành phần

*Triển khai: Để có thể triển khai, một thành phần phải được

khép kín và phải có khả năng hoạt động như một thực thể

độc lập trên một số thành phần nền tảng mà thực hiện các

mô hình thành phần Điều này thường có nghĩa là thành

phần là một thành phần nhị phân mà không có được biên

dịch trước khi nó được triển khai

*Tài liệu: Các thành phần có được đầy đủ tài liệu để tiềm

năng người sử dụng của các thành phần có thể quyết định

có hay không họ đáp ứng nhu cầu của họ Cú pháp và, lý

tưởng, ngữ nghĩa của tất cả các giao diện thành phần phải

được quy định cụ thể

Trang 16

* Thành phần giao diện

*Cung cấp giao diện: Xác định các dịch vụ được cung cấp

bởi các thành phần khác

*Yêu cầu giao diện: xác định các dịch vụ mà quy định cụ

thể những gì dịch vụ phải được thực hiện có sẵn cho các

thành phần để thực hiện theo quy định

Trang 17

* Thành phần giao diện

Provi des i nt erf ace Requires int erf ace

Co mpo nent

Defin es t h e servi ces

from the component’s

envi ron men t t hat i t

us es

Defin es t h e servi ces

t hat are prov id ed

by th e comp on en t

t o ot her compon en t s

Trang 18

s tart Sens or

s to pSens or

t es tSen so r

l is t All rep or t

i ni ti ali se

s en sorManagement

s en sorDat a

Trang 19

* Linh kiện và các đối

Trang 20

* Thành phần mô hình

*Một mô hình thành phần là một định nghĩa của tiêu chuẩn

cho các tài liệu, thực hiện và triển khai thành phần

*Ví dụ và các mô hình thành phần

*Mô hình EJB (Enterprise Java Beans)

*COM + mô hình (mô hình NET)

* Mô hình thành phần quy định cụ thể như thế nào giao

diện nên được xác định và các yếu tố đó nên được bao

gồm trong một định nghĩa giao diện

Trang 21

* Các yếu tố của một mô

Interface

defin ition

Sp ecificinterfaces

Co mp ositio n

Namingconv en tio n

Meta-dataacces s

Trang 22

* Hỗ trợ trung gian

*Mô hình thành phần là cơ sở cho trung gian cung cấp hỗ

trợ để thực hiện các thành phần

*Thành phần triển khai thực hiện mô hình cung cấp:

* Nền tảng dịch vụ cho phép các thành phần bằng văn bản theo mô

hình giao tiếp

* Ngang dịch vụ là dịch vụ ứng dụng độc lập được sử dụng bởi các

thành phần khác nhau

*Để sử dụng các dịch vụ được cung cấp bởi một mô hình,

các thành phần được triển khai trong một thùng Đây là

một tập hợp các giao diện được sử dụng để truy cập vào

việc triển khai dịch vụ

Trang 23

* Thành phần mô hình

dịch vụ

Pl at form s ervi ces

Ad dres si ng Int er face

defin it i on

Co mpo nent communi cat io ns

Except i on management

Ho ri zo nt al servi ces

Secu rit y

Tran sact i on management

Trang 24

* Thành phần phát triển để tái

sử dụng

*Các thành phần được phát triển cho một ứng dụng cụ thể

thường có được tổng quát để làm cho họ có thể tái sử dụng

*Một thành phần rất có thể được tái sử dụng nếu nó liên kết

với một trừu tượng miền ổn định (Đối tượng kinh doanh)

*Ví dụ, trong một miền bệnh viện ổn định trừu tượng có

liên quan với mục đích cơ bản - y tá, bệnh nhân, điều trị, vv…

Trang 25

* Thành phần phát triển

để tái sử dụng

*Các thành phần để tái sử dụng có thể được cấu tạo đặc biệt

bởi các thành phần thông dụng hiện có

*Các thành phần có thể dùng lại được:

* Nên phản ánh trừu tượng miền ổn định

* Nên ẩn đại diện nhà nước

* Nên càng độc lập càng tốt

* Nên công bố trường hợp đại diện thông qua giao diện thành phần

*Có sự cân băng giữa khả năng tái sử dụng và khr năng sử

dụng

* Các giao diện tổng quát hơn, có nhiều khả năng tái sử dụng nhưng sau đó

phức tạp hơn và it sử dụng

Trang 26

* Thay đổi đối với khả

năng tái sử dụng

*Hủy bỏ các phương pháp ứng dụng cụ thể

*Thay đổi tên để làm cho họ nói chung

*Thêm phương pháp để mở rộng phạm vi bảo hiểm

Trang 27

* Tái sử dụng các thành

phần

*Chi phí phát triển của các thành phần có thể tái sử dụng có

thể cao hơn so với chi phí tương đương cụ thể Chi phí cần

tăng cường thêm khả năng tái sử dụng này là một tổ chức

chứ không phải là chi phí dự án

*Các thành phần chung có thể ít không gian hiệu quả và có

thể có thời gian thực hiện dài hơn thời gian cụ thể

Trang 28

* Thành phần hệ thống

để lại

*Hiện tại hệ thống để lại mà thực hiện một hữu ích chức

năng kinh doang có thể dược đóng góp như là các thành

phần để tái sử dụng

*Điều này liên quan đến việc viết một thành phần bao bọc

mà thực hiện cung cấp và yêu cầu giao diện sau đó truy

cập vào hệ thông để lại

*Mặc dù tốn kém, nhưng việc này còn ít tốn kém hơn so

với việc viết lại các hệ thống để lại

Trang 29

* Quá trình CBSE

*Khi tái sử dụng các thành phần, nó là điều cần thiết để làm

cho cân bằng giữa các yêu cầu lý tưởng và các dịch vụ

thực tế được cung cấp bởi các thành phần có sẵn

*Điều này bao gồm:

* Phát triển các yêu cầu phác thảo

* Tìm kiếm cho các thành phần sau đó sửa đổi yêu cầu theo chức năng

có sẵn

* Tìm kiếm một lần nữa để tìm thấy nếu nó tốt hơn đáp ứng các yêu

cầu sửa đổi

Trang 30

* Quá trình CBSE

Trang 31

* Việc xác định thành

phần quá trình

Trang 32

* Thành phần xác định

các vấn đề

*Tin tưởng Bạn cần phải có thể tin tưởng vào nhà cung cấp

của một thành phần Tốt nhất, một thành phần không đáng tin

cậy có thể không hoạt động như quảng cáo, lúc tồi tệ nhất, nó

có thể xâm phạm an ninh của bạn

*Yêu cầu Các nhóm khác nhau của các thành phần này sẽ đáp

ứng các yêu cầu khác nhau

*Xác nhận:

* Các đặc điểm kỹ thuật thành phần có thể không được chi tiết đủ để cho

phép kiểm tra toàn diện được phát triển

* Các thành phần có thể có chức năng không mong muốn Làm thế nào bạn

có thể kiểm tra điều này sẽ không can thiệp với các ứng dụng của bạn?

Trang 33

* Ariane phóng thất bại

*Năm 1996, 1 chuyến bay thử nghiệm của tên lửa Ariane 5

đã kết thúc trong thảm họa khi các phóng đi ngoài tầm

kiểm soát 37 giây sau khi cất cánh

*Vấn đề là do một thành phần được sử dụng lại từ một

phiên bản trước của phóng (hệ thống dẫn đường quán tính)

mà không thành công bởi vì giả định khi thành phần được

phát triển đã không giữ cho tên lửa Ariane 5

*Những chức năng mà không thành công trong hợp phần

này là không cần thiết trong Ariane 5

Trang 34

* Thành phần cấu tạo

*Quá trình lắp ráp các thành phần để tạo ra một hệ thống

*Thành phần liên quan đến việc tích hợp các thành phần

với nhau và với các cơ sở hạ tầng thành phần

*Thông thường bạn phải viết 'keo mã' để tích hợp các thành

phần

Trang 35

* Các loại thành phần

cấu tạo

*Thành phần tuần tự:bao gồm các thành phần được thực

hiện theo thứ tự.Điều này liên quan đến việc so sánh các

giao diện cung cấp của mỗi thành phần

*Cấu trúc thành phần mà một thành phần kêu gọi các dịch

vụ khác Cung cấp giao diện của một trong những thành

phần được bao gồm với giao diện đòi hỏi của người khác

*Thành phần phụ gia giao diện của hai thành phần được đặt

lại với nhau để tạo ra một thành phần mới

Trang 37

* Giao diện không tương

thích

*Tham số không tương thích: nơi các hoạt động có cùng tên

nhưng các loại khác nhau

*Hoạt động không tương thích: nơi tên của các hoạt động

trong các giao diện phức hợp khác nhau

*Hoạt động không đầy đủ: nơi cung cấp giao diện của một

trong những thành phần là một tập hợp con của giao diện

đòi hỏi của người khác

Trang 38

* Các thành phần không

tương thích

address Find er

ph on eDatab as e (strin g co mmand ) s tring location (s tring p n)

s tring o wner (strin g pn )

s tring p ro pertyTyp e (strin g pn )

mapp er mapDB (s tring command) dis play Map (s tring p os tCod e, scale)

printMap (s tring p os tCod e, scale)

Trang 39

* Thành phần bộ chuyển

đổi

*Giải quyết vấn đề không tương thích thành phần bằng

cách hòa giải các giao diện của các thành phần bao gồm

*Sự khác nhau của bộ chuyển đổi được yêu cầu tuỳ thuộc

vào loại của các thành phần

*Một công cụ tìm địa chỉ và một thành phần ánh xạ có thể

được bao gồm thông qua một bộ chuyển đổi dải các mã

bưu chính từ một địa chỉ và vượt qua với thành phần ánh

xạ

Trang 40

* Thành phần thông qua

một bộ chuyển đổi

*thành phần PostCodeStripper là các bộ chuyển đổi tạo

điều kiện cho các thành phần tuần tự của công cụ tìm kiếm

địa chỉ và các thành phần ánh xạ

Trang 41

* Bộ chuyển đổi cho nhà

sưu tập dữ liệu

Data collector

addSensor removeSensor startSensor stopSensor testSensor

listAll repor t initialise

sensorManagement

sensorData

Adapter sensor

start

getdata

stop

Trang 42

* Giao diện ngữ nghĩa

*Bạn phải dựa trên các tài liệu thành phần quyết định nếu

giao diện là cú pháp tương thích thực sự tương thích

*Hãy xem xét một giao diện cho một thành phần Thư viện

Trang 43

getCatalo gEn try

addItem retrieve catEntry

Trang 44

* Thư viện hình ảnh tài

liệu

*"Phương pháp này cho biết thêm một bức ảnh để các thư

viện và các cộng sự nhận dạng ảnh và mô tả danh mục với

"Những gì sẽ xảy ra nếu định danh bức ảnh đã được liên kết

với một bức ảnh trong thư viện?"

"Là mô tả bức ảnh gắn liền với các mục nhập danh mục

cũng như có nghĩa là các bức ảnh nếu tôi xóa các bức ảnh,

tôi cũng xóa các thông tin danh mục?"

Trang 45

* Hạn chế đối tượng

Ngôn ngữ

*Hạn chế đối tượng ngôn ngữ (OCL) đã được thiết kế để

xác định các ràng buộc có liên quan đến các mô hình

UML

*Nó được dựa trên khái niệm về đặc điểm kỹ thuật điều

kiện trước và sau tương tự như phương pháp tiếp cận

Trang 46

* Mô tả chính thức của

thư viện ảnh

The context keyword names the component to which the condi tions apply

context addItem

The precondi tions speci fy what must be true before execution of addItem

pre: PhotoLibrary.libSi ze() > 0

PhotoLibrary.retri eve(pid) = nul l

The postconditi ons speci fy what i s true after execution

post: l ibSi ze () = libSize()@pre + 1

PhotoLibrary.retri eve(pid) = p

PhotoLibrary.catEntry(pi d) = photodesc

context delete

pre: PhotoLibrary.retrieve(pid) <> nul l ;

post: PhotoLibrary.retrieve(pid) = null

PhotoLibrary.catEntry(pi d) = PhotoLibrary.catEntry(pi d)@pre

PhotoLibrary.libSi ze() = l ibSi ze()@pre - 1

Trang 47

* Thư viện ảnh điều kiện

*Theo quy định, OCL liên kết với các thành phần Thư viện

* Mỗi mục mới này làm tăng kích thước của thư viện bằng cách 1;

* Nếu bạn lấy bằng cách sử dụng cùng một định danh sau đó bạn lấy

lại các bức ảnh mà bạn đã thêm;

* Nếu bạn nhìn lên các cửa hàng bằng cách sử dụng định danh, sau đó

bạn trở lại mục danh mục mà bạn đã thực hiện

Trang 48

* Thành phần thương

mại

*Khi sáng tác các thành phần, bạn có thể tìm thấy các xung

đột giữa các yêu cầu chức năng và không chức năng, và

các cuộc xung đột giữa nhu cầu để cung cấp nhanh chóng

và sự tiến hóa của hệ thống

*Bạn cần phải đưa ra những quyết định như:

* Những cấu tạo của các thành phần có hiệu quả để cung cấp các yêu

Trang 49

* Thu thập dữ liệu và tạo

Repo rt generat or

Data

Repo rt

Repo rt

Trang 50

KẾT THÚC

Ngày đăng: 28/04/2015, 11:37

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w