Bài tập lớn công nghệ phần mềm
Trang 1Giảng viên hướng dẫn : ThS Phạm Thủy Vân nhóm 1
Lớp : THB51 BÀI TẬP LỚN CÔNG NGHỆ PHẦN MỀM
Trang 2Nộ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ì?
Trang 3Câu 3
What is gererator – based reuse?
(Tái sử dụng bộ sinh chương trình là gì?)
Trang 4Câu 3
3.1 Khái quát về pattern
3.2 Tái sử dụng bộ sinh chương trình
Trang 53.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
Trang 6Cá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ể
Trang 7Ví dụ về Pattern
A: 40 B: 25 C: 15 D: 20 Observer 1
0
50 25
A B C D
Trang 83.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
Trang 9Tá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
Trang 10Tá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
Trang 11Tá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
Trang 12Câ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?
Trang 13Câ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?
Trang 15Miề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
Trang 16Miề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
Trang 17Miề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
Trang 19Câ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
Trang 20Câ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
Trang 21Khá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.
Trang 22=> 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
Trang 23LOGO