Tải bản đầy đủ (.pdf) (4 trang)

041_Ứng dụng khung làm việc cho bài toán lập lịch

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (214.02 KB, 4 trang )

- 56 -
ỨNG DỤNG KHUNG LÀM VIỆC CHO BÀI TOÁN LẬP LỊCH

Sinh viên thực hiện :
Vũ Văn Thạch – Lớp K46CA –
Email:
Người hướng dẫn:
PGS.TS. Nguyễn Văn Vỵ

Phấn 1: Khung làm việc
1.Tổng quan về khung làm việc
Như chúng ta đã thấy, không chỉ
có mã nguồn được sử dụng lại mà các
thiết kế và các đặc tả cũng được sử dụng
lại một cách rất hiệu quả. Chúng được
chia thành nhiều phần, và được lưu trữ
trong các thư viện. Khi cần sử dụng lại,
chúng được liên kết lại với nhau thông
qua một số định dạng khác nhau tùy theo
hoàn cảnh chúng được sử dụng. Chúng
ta gọi chúng là các mô hình khung làm
việc (model framework).
Các công cụ để thể hiện và để liên
kết các khung làm việc này là một dạng
gói được dùng phổ biến, được gọi là
khung làm việc (framework) hay gói tiêu
bản (template package).
2.Các khung làm việc cộng tác
Một sự cộng tác miêu tả sự tương
tác giữa các đối tượng được thiết kế để
làm việc với nhau. Chúng gửi thông điệp


đi nhằm đạt được mục đích đặt ra khi
chúng được thiết kế, tức là mỗi đối
tượng được thiết kế để nhằm một mục
đích nào đó và tất cả các hoạt động của
nó đều nhằm vào hoàn thành mục đích
đó. Hầu hết các kỹ năng thiết kế hướng
đối tượng là về thiết kế sự cộng tác. Kỹ
thuật CRC (classes: các lớp,
responsibilities: các trách nhiệm,
collaborations: các cộng tác) là kỹ thuật
cơ bản của việc thiết kế hướng đối tượng
và tất cả chỉ là sự phân chia các trách
nhiệm giữa các đối tượng cộng tác với
nhau để làm một công việc nào đó.

3. Các khung làm việc hợp thành
Các khung làm việc được tạo ra có
thể bao gồm nhiều khung làm việc khác,
các khung làm việc có thể cộng tác với
nhau để tạo ra một khung lam việc lớn
hơn. Nhờ đó một công việc phức tạp có
thể phân rã thành nhiều công việc nhỏ
hơn và mỗi công việc nhỏ hơn này có
thể được thực hiện bởi một hay nhiểu
khung làm việc. Khi hợp nhất chúng lại
với nhau để giải quyết một bài toán thì
chúng phải làm việc ăn khớp với nhau.

Phần 2: Vấn đề sử dụng lại
2.1 Sử dụng lại và tiến trình phát triển

2.1.1 Sử dụng lại là gì?
Sử dụng lại là một loạt các kỹ
thuật được hỗ trợ trrong hầu hết các
công việc thiết kế và triển khai mà ta
làm. Chính vì vậy mà một số nhân tố
khác liên quan đến phát triển phần mềm
như bảo trì, chất lượng phần mềm cũng
được cải thiện nhờ sử dụng lại.
2.1.1.1 Nhập khẩu trội hơn hẳn so với
việc cắt và dán
Việc sử dụng lại không chỉ là sự
cắt dán mã nguồn, một phương pháp “sử
dụng lại” cổ điển, nhưng không mang lại
hiệu quả cao mà việc sử dụng tập trung
vào việc nhập khẩu các gói đã được
đóng sẵn. Việc nhập khẩu các gói đóng
sẵn có nhiều ưu đi
ểm hơn hẳn so với
việc cắt dán thông thường.
- 57 -
2.1.1.2 Nguyên lý đóng -- mở và tính
kinh tế của việc sử dụng lại
Theo nguyên lý này, mọi thành phần
phải là mở cho việc mở rộng, tức là khi
sử dụng lại các thành phần, chúng phải
dễ dàng được mở rộng nhưng chúng lại
phải đóng đối với việc sửa đổi, tức là
không cho phép can thiệp vào bên trong
các gói đã được đóng sẵn và được nhập
khẩu đó.

2.2 Các điểm cắm
Khi nhập khẩu các gói vào trong
phần mềm của chúng ta, thông thường
các gói không chỉ ra chi tiết thành phần
bên trong của nó mà nó chỉ đưa ra các
điểm cắm để chương trình của chúng ta
có thể truyền các tham số qua các điểm
cắm này. Nhờ đó mà chúng ta có thể sử
dụng lại các gói. Các điểm cắm này đôi
khi còn được gọi là các ổ cắm bởi không
phải cứ có điểm cắm thì có thể sử dụng
lại tuỳ ý mà các thành phần cắm vào
phải phù hợp với các điểm cắm đưa ra.
2.3 Sử dụng lại trong khung làm việc
Không giống như việc sử dụng lại
các thư viện như từ trước tới nay ta vẫn
dùng là khi chương trình chính khi chạy
sẽ gọi đến các thư viện, còn ở khung làm
việc thì cương trình chính lại là khung
làm viêc, các chương trình của người sử

dụng khi chạy sẽ tự động truyền các
tham số tới khung làm việc và khung
làm việc sẽ làm cho ứng dụng thực thi
các chức năng theo đúng các tham số đã
truyền vào.

Phần 3: Ứng dụng khung làm
việc cho bài toán lập lịch


1.Giới thiệu về khung làm việc
JHotDraw
JhotDraw là một khung làm việc
ứng dụng có thể được phát triển cho các
trình vẽ hình mang tính kỹ thuật. Ban
đầu nó được phát triển trong SmallTalk
bởi Kent Back và Ward Cunningham.
Sau đó nó được phát triển Erich Gamma
và Thomas Eggenschwiler (sau này được
gọi là nhóm bộ tứ). Phiên bản hiện tại là
6.1 bê ta. Nó là một sản phầm mã nguồn
mở rất nổi tiếng, được thế giới mã nguồn
mở phát triển hơm 10 năm nay.
2. Giới thiệu bài toán lập lịch và bài
toán lập lịch đã thực hiện
Lập lịch là một công việc hết sức
quan trọng trong phát triển phần mềm.
Việc lập lịch chính xác có một ý nghĩa
quyết định đối với việc hoàn thành dự án
đúng thời hạn, việc phân bổ tài nguyên
và việc quy trách nhiệm trong một
nhóm, một tổ chức,vv….. Bài toán của
ta là xây dựng một biểu đồ PERT bằng
cách sử dụng lại khung làm việc.
Bài toán lập lịch đã giải quyết là
dựa trên khung làm việc JHotDraw, ta sử
dụng lại khung làm việc của nó, kế thừa
và mở rộng các lớp, nạp chồng các
phương thức như các điểm cắm vào
khung làm việc để tạo ra ứng dụng của

mình.
Chương trình cho phép ta có thể
tạo ra một biểu đồ lập lịch Pert bằng tay,
b
ằng cách dùng các công cụ trên palette
hay bằng một bảng các công việc được
lưu trong một file và tự động vẽ các
công việc, chúng cũng cho phép ta
chỉnh sửa các thông tin về công việc và
thêm người hay sửa người thực hiện
công việc, thao tác với tài nguyên, thông
tin ngày làm việc, chuyển sang biểu đồ
Gantt… chương trình cũng cho phép bạn
- 58 -
lưu biểu đồ công việc hiện thời và mở
chúng ra.


Tài liệu tham khảo:
[1] Desmond Francis D’Souza Alan
Cameron Wills
, Objects,
Components,and Frameworks with
UML The CatalysisSM Approach ,

[2] James W. Cooper,
The Design
Patterns Java Companion
.
[3] Jones & Bartlett -

Introduction to
Java and Software Design

[4] Martin Flower,
Analysis Pattern,
Reusable Object Model
.
[5] OReilly-
dot.NET.Framework.Essentials.3rd
.
Edition

[6] Erich, Gamma, Rechard Helm, Ralph
Jonhson, John Vlissides.
Design
Patterns, Element of
reusable
object-
oriented software.

[7] Tham khảo một số nguồn trên
Internet, chủ yếu trong
,

































- 59 -
















×