Tổng hợp theme

Một phần của tài liệu LUẬN VĂN: TÌM HIỂU VỀ TIẾP CẬN THEME VÀ ỨNG DỤNG CỦA CÁCH TIẾP CẬN VÀO XÂY DỰNG HỆ THỐNG ĐIỆN THOẠI pdf (Trang 86 - 101)

Sử dụng tích hợp hợp nhất giữa các theme so khớp. Đầu tiên chúng ta sẽ tổng hợp các theme base.

80

Hình 5-40. Tổng hợp theme base.

Tổng hợp các theme base thành một theme “Phone”, bằng cách so khớp các phần tử cùng tên.

Các class cùng tên menu, audible, saveable được hợp nhất thành mỗi class chính tương ứng trong theme kết quả. Các sơ đồ tuần tự trong các theme base được bổ sung vào thiết kế của theme tổng hợp.

81

Hình 5-41. Theme tổng hợp của các theme base.

Bind theme base với crosscutting:

Bind kết quả tổng hợp các theme base với theme crosscutting. Với nhãn bind: Bind[<{VoiceCall.ring(),SMS.alert()},Audible.mute(),Audible.unMute()> <VoiceCall.connect(), Saveable.stop(),Saveable.saveState(),Saveable.restore()>]

82

Hình 5- 42. Bind theme crosscutting với phone theme.

Theme kết quả của bind crosscutting với theme base được thể hiện trong hình 5- 43. Các class trong các theme base chỉ ra cho nhãn bind so khớp với class template của crosscutting. Mô hình theme tổng hợp có tên Telephone.

83

Hình 5-43. Theme kết quả của bind crosscutting với các theme base

Sau khi tổng hợp theme preempt với các theme base, ta có ba biểu đồ tuần tự ứng với ba hành vi kích hoạt : sd alert ( hình 5-44), sd ring (hình 5-45) và sd connect (hình 5-46). Tập biểu đồ tuần tự cho hệ thống gồm có ba biểu đồ này, và bổ sung thêm tập biểu đồ tuần tự trong các theme “ Phone” mà tổng hợp các base theme .

84

Hình 5-44. Biêu đồ tuần tự cho alert.

85

86

Kết luận

Sau khi nghiên cứu về AOP, em đã nắm được những đặc điểm, thuật ngữ cơ bản của AOP. Em đã thiết kế một hệ thống điện thoại đơn giản theo hướng aspect bằng cách áp dụng phương pháp theme. Và viết một chương trình demo nhỏ cho hành vi crosscutting trong hệ thống, sử dụng ngôn ngữ aspectJ mở rộng của ngôn ngữ Java.

87

Phụ lục

Các user case cho xây dựng hệ thống điện thoại trong chương 5.

Hình 5-46. UC01- Manage Call Bảng 5-4. Use case Manage Call

Use Case Name Manage Call

Use Case Number UC01

Brief Descrition - Người dùng sử dụng chức năng này để quản lý việc gọi

điện thoại.

Flow of Events - Người dùng lựa chọn mục “Make a call”từ menu chính.

Basic Flow (adsbygoogle = window.adsbygoogle || []).push({});

- Hệ thống sẽ đưa ra giao diện của voice call. Người dùng có thể chọn:

+Người dùng nhập số điện thoại cần gọi. + Tìm số điện thoại được lưu trong máy. -Người dùng ấn nút gọi điện để kết nối.

Alternative Flows

Exit Options -Ấn nút “end call” .

88

Pre Requirements Người dùng đang ở menu chính của hệ thống.

Post Condition -Gọi tới một số điện thoại đã chọn.

Hình 5-47. UC02- Manage Game Bảng 5-5. Use case quản lý game.

Use Case Name Manage Game

Use Case Number UC02

Brief Descrition - Người dùng sử dụng chức năng này để chơi game.

Flow of Events - Người dùng chọn một game để chơi.

Basic Flow

-Trong danh sách game người dùng chọn một game rồi ấn play để chơi.

-Hệ thống tải game người dùng chọn.

-Người dùng bắt đầu chơi game, và có thể có các tùy chọn: pause game, save game, exit game, play game.

Alternative Flow

89

Special

Requirements

Pre Requirements Người dùng đang ở menu chính của hệ thống.

Post Condition Chơi một game.

90

Bảng 5-6: Use case Manage SMS

Use Case Name Manage SMS

Use Case Number UC03

Brief Descrition - Người dùng sử dụng chức năng này để quản lý SMS: Create new sms, edit sms.

Flow of Events - Người dùng chọn mục SMS từ menu chính.

Basic Flow -Hệ thống hiển thị giao diện SMS, người dùng tùy chọn tạo SMS mới hoặc edit SMS.

Exit option (adsbygoogle = window.adsbygoogle || []).push({});

-Người dùng chọn tạo SMS mới: +Trình soạn thảo SMS hiển thị.

+Người dùng viết tin nhắn và ấn nút send. +Giao diện chọn người nhận tin nhắn xuất hiện.

+Người dùng có thể chọn một số điện thoại đã lưu trong máy hoặc nhập từ bàn phím. Rồi ấn Ok.

+Hệ thống hiển thị thông báo đã gửi.

-Người dùng chọn edit một SMS có sẵn: +danh sách các SMS trong máy hiển thị. +Người dùng kích chọn một tin.

+Tin nhắn được chọn load vào trình editor, và người dùng có thể edit.

+ Người dùng chọn save SMS, hiển thị thông báo đã save SMS.

Special

Requirements

91

Post Condition Gửi một SMS hoặc edit một SMS.

Hình 5-49: Use case Manage MediaPlayer Bảng 5-7: Use case Manage MediaPlayer

Use Case Name Manage MediaPlayer

Use Case Number UC04

Brief Descrition - Người dùng sử dụng chức năng này để quản lý MediaPlayer : như play audio, record audio…

92

Basic Flow

Hệ thống hiển thị menu media gồm ba tùy chọn media : memo, radio, audio.

-Người dùng chọn audio. Hệ thống hiển thị tùy chọn play audio hoặc ghi audio.

+người dùng tùy chọn play audio :

 Danh sách các file audio hiển thị .

 Người dùng chọn một file rồi ấn nút start để nghe.

 Hệ thống kiểm tra kiểu của file được chọn có được hỗ trợ

không. Nếu có, thì file bắt đầu được chơi.

 Sau đó họ có thể tùy chọn stop, pause và save media và

resume media.

+ người dùng tùy chọn record ghi một audio mới:

 Hiển thị giao diện media với chức năng ghi audio.

 Người dùng ấn nút start để bắt đầu ghi.

 Ghi xong thì người dùng chọn nút save để lưu lại. (adsbygoogle = window.adsbygoogle || []).push({});

-Người dùng chọn nghe Radio:

 Danh sách các kênh radio hiển thị .

 Người dùng chọn một kênh rồi ấn nút start để nghe.

 Nếu người dùng đang ở trong vùng phủ sóng của kênh đã

chọn thì radio được phát.

 Sau đó người dùng có thể tùy chọn stop và resume

radio.

-Người dùng chọn memo. Hệ thống hiển thị tùy chọn play memo hoặc ghi memo.

+người dùng tùy chọn play memo :

 Danh sách các file memo hiển thị .

 Người dùng chọn một file rồi ấn nút start để nghe.

 Sau đó họ có thể tùy chọn stop, pause và save media và

resume media.

+ người dùng tùy chọn record ghi một file memo mới:

 Hiển thị giao diện media với chức năng ghi memo.

 Người dùng ấn nút start để bắt đầu ghi.

93

Alternative Flow

Exit option -Người dùng ấn nút stop.

-Và chuyển sang giao diện chức năng khác.

Special

Requirements

Pre Requirements Người dùng đang ở menu chính của hệ thống.

94

Tài liệu tham khảo

[1] Ramnivas Laddad, AspectJ in Action.

[2] Siobhán Clarke, Elisa Baniassad, Aspect-Oriented Analysis and Design: The Theme Approach.

Một phần của tài liệu LUẬN VĂN: TÌM HIỂU VỀ TIẾP CẬN THEME VÀ ỨNG DỤNG CỦA CÁCH TIẾP CẬN VÀO XÂY DỰNG HỆ THỐNG ĐIỆN THOẠI pdf (Trang 86 - 101)