LOGO
BÀI TẬP LỚN
CÔNG NGHỆ PHẦN MỀM
Giảng viên hướng dẫn : ThS. Phạm Thủy Vân
nhóm 1
Lớp : THB51
Nội dung
Câu 1: Ngoài miền ứng dụng được thảo luận, hãy
đưa ra hai miền khác mà tái sử dụng bộ sinh
chương trình có thể thực hiện thành công? Hãy
giải thích vì sao bạn nghĩ rằng việc hướng tới tái
sử dụng sẽ mang lại hiệu quả về mặt kinh tế trong
các miền này?
Câu 2: Giải thích tại sao cần phải có các bộ
chuyển đổi (adaptor) khi xây dựng hệ thống bằng
phương pháp tích hợp các sản phẩm COTS?
Câu 3: Tái sử dụng bộ sinh chương trình là gì?
Câu 3
What is gererator – based reuse?
(Tái sử dụng bộ sinh chương trình là gì?)
Câu 3
3.1. Khái quát về pattern
3.2. Tái sử dụng bộ sinh chương trình
3.1. Pattern
Một pattern mô tả một vấn đề cụ thể và
giải pháp cho vấn đề đó
Pattern thường phụ thuộc vào đặc điểm
của đối tượng như tính kế thừa, tính đa
hình
Các thành phần của Pattern
Tên Pattern: Tên mang nghĩa đầy đủ để phân biệt
các pattern
Mô tả vấn đề
Mô tả giải pháp cho vấn đề: Trong thực tế có vô
số các vấn đề khác nhau, không thể có giải pháp
cụ thể nào cho mọi vấn đề. Tuy nhiên một mẫu
giải pháp có thể được sửa đổi để phù hợp với từng
vấn đề trong thực tế.
Kết quả áp dụng: Đầu ra của bài toán khi áp dụng
một giải pháp cụ thể.
Ví dụ về Pattern
50
D
A
25
C
B
0
A B C D
Su bject
Observer 1
A: 40
B: 25
C: 15
D: 20
Observer 2
3.2. Tái sử dụng bộ sinh chương trình
Một bộ sinh chương trình bao gồm việc tái sử
dụng các pattern và các giải thuật chuẩn.
Các pattern, giải thuật được nhúng vào bộ sinh
chương trình thông qua các tham số được nhập
vào từ người dùng, sau đó một chương trình
được tự động sinh ra.
Tái sử dụng bộ sinh chương trình
Một chương trình ứng dụng chỉ được tạo ra
khi ánh xạ miền trừu tượng của ứng dụng đó
đến mã thực thi được nhận ra trong bộ sinh
chương trình.
Cần phải có một ngôn ngữ đặc biệt có thể hiểu
được miền trừu tượng của mỗi ứng dụng
Tái sử dụng bộ sinh chương trình
Tái sử dụng bộ sinh chương trình hiệu quả
trong việc giảm chi phí nhưng chỉ được áp
dụng trong các ứng dụng nhỏ, phạm vi hẹp
Xây dựng ứng dụng bằng phương pháp sử
dụng bộ sinh so với các phương pháp tiếp cận
dựa trên các thành phần khác để tái sử dụng thì
dễ dàng với người sử dụng hơn
Tái sử dụng bộ sinh chương trình
Các thành phần của tái sử dụng bộ sinh
chương trình
Bộ sinh ứng dụng xử lý dữ liệu
Bộ sinh phân tích cú pháp và ngôn ngữ.
Bộ sinh mã cho các trường hợp
Câu 1
1.1. Apart from the application domain discussed
here, suggest two other domain where
generator – based could be succesful?
1.2. Explain why you think that this approach to
reuse will be cost-effective in these domains?
Câu 1.1.
Apart from the application domain discussed
here, suggest two other domain where
generator – based could be succesful?.
Ngoài miền ứng dụng được thảo luận, hãy đưa
ra hai miền khác mà tái sử dụng bộ sinh
chương trình có thể thực hiện thành công?
Câu 1.1.
Tái sử dụng bộ sinh chương trình gồm có
3 miền.
Miền ứng dụng
Miền phân tích cú pháp và ngôn ngữ
Miền sinh mã
Miền sinh ứng dụng xử lý dữ liệu
Đầu vào là các Pattern và các giải thuật
Sau khi dữ liệu đã được xử lý sẽ được
chuyển sang miền tiếp theo
Miền phân tích cú pháp và ngôn ngữ
Miền này nhận dữ liệu từ miền sinh ứng dụng
xử lý dữ liệu. Nhiệm vụ của miền này là đọc
và hiểu được dữ liệu.
Miền sinh mã
Sau khi phân tích cú pháp và ngữ nghĩa dữ
liệu sẽ được biên dịch sang code, sau đó sinh
ra chương trình.
Câu 1.2.
Explain why you think that this approach to
reuse will be cost-effective in these domains?
Hãy giải thích vì sao bạn nghĩ rằng việc
hướng tới tái sử dụng sẽ mang lại hiệu quả về
mặt kinh tế trong các miền này?.
Câu 1.2.
Hướng tới tái sử dụng sẽ mang lại hiệu quả về
mặt kinh tế với 3 miền trên bởi vì:
- Giảm chi phí, thời gian cho việc xây dựng
ứng dụng do mọi thao tác đều được làm tự
động
- Tăng tốc độ phát triển phần mềm
Câu 2
Explain why adaptors are usually needed when
systems are constructed by integrating COTS
products
Giải thích lý do tại sao cần phải có các bộ
chuyển đổi(adaptor) khi hệ thống được xây
dựng bằng phương pháp tích hợp các sản
phẩm COTS
Khái quát về tái sử dụng sản phẩm COTS
Để tái sử dụng sản phẩm COTS ta phải cấu hình,
tích hợp lại các sản phẩm thương mại có sẵn thành
một ứng dụng mới.
Các sản phẩm thương mại đã gần như hoàn chỉnh
giao diện, tính năng ổn định.
Người mua không cần thay đổi code của sản phẩm.
Cân nhắc trước khi mua, xác định các thành phần
của sản phẩm phần mềm có thích hợp với các yêu
cầu sử dụng của mình hay không.
Tích hợp COTS
Có thể phải tích hợp nhiều sản phẩm khác nhau
mới đạt được hệ thống mong muốn.
Mỗi sản phẩm COTS đều có những cấu trúc dữ
liệu và kiểu dữ liệu riêng. Cách truy nhập và lưu
trữ dữ liệu cũng không giống nhau. Khó trao đổi.
=> Khi tích hợp các sản phẩm này lại thành hệ
thống hoàn chỉnh, ta cần các bộ chuyển đổi để
liên kết, đồng nhất các dữ liệu này với nhau. Giải
quyết vấn đề trao đổi thông tin giữa các hệ thống
con.
LOGO