ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ THANH THOAN HỆ THỐNG THỜI GIAN THỰC VÀ ỨNG DỤNG CÁC MẪU TRONG THIẾT KẾ LUẬN VĂN THẠC SĨ Hà Nội - 2007... ĐẠI HỌC QUỐC GIA H
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ THANH THOAN
HỆ THỐNG THỜI GIAN THỰC VÀ ỨNG DỤNG CÁC MẪU TRONG THIẾT KẾ
LUẬN VĂN THẠC SĨ
Hà Nội - 2007
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
- -
Nguyễn Thị Thanh Thoan
HỆ THỐNG THỜI GIAN THỰC VÀ ỨNG DỤNG CÁC MẪU TRONG THIẾT KẾ
Chuyên ngành : Công nghệ phần mềm
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS TS Nguyễn Văn Vỵ
Hà Nội - 2007
Trang 3LỜI CẢM ƠN
Trước hết tôi xin được bày tỏ tình cảm và lòng biết ơn vô hạn đối với thầy PGS.TS Nguyễn Văn Vỵ, giảng viên Bộ môn Công nghệ phần mềm - Khoa Công nghệ thông tin - Trường Đại học Công nghệ - ĐHQGHN Thầy là người đã tận tình giúp đỡ, chỉ bảo và dìu dắt tôi trong suốt những năm học cao học và quá trình làm luận văn tốt nghiệp, thầy đã dành rất nhiều thời gian quí báu để giúp tôi định hướng nghiên cứu khoa học
Tôi xin cảm ơn các GS, TS, các nhà khoa học đã giảng dạy tôi trong quá trình học cao học, đã đọc và phản biện luận văn của tôi, giúp tôi hiểu rõ hơn các lĩnh vực đã nghiên cứu, giúp tôi có hướng nghiên cứu hiệu quả và thiết thực hơn
Tôi xin bày tỏ lòng biết ơn đối với GS.TS.NGƯT Trần Hữu Nghị Hiệu trưởng Trường Đại học Dân lập Hải Phòng, Ban giám hiệu Nhà trường, Bộ môn Tin học, các Phòng ban của Nhà trường, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, Trường Đại học Hải Phòng đã tạo mọi điều kiện trong suốt thời gian chúng tôi học và làm tốt nghiệp
Xin cảm ơn các đồng nghiệp, các bạn bè của tôi đã động viên cổ vũ để tôi hoàn thành luận văn đúng thời hạn
Và cuối cùng tôi xin chân thành cảm ơn các thành viên trong gia đình tôi đã tạo điều kiện tốt nhất về mọi mặt, động viên tôi trong suốt quá trình học cũng như làm tốt nghiệp
Hà Nội, ngày 15 tháng 11 năm 2007
Nguyễn Thị Thanh Thoan
Trang 4Các thuật ngữ và các từ viết tắt
A/D Analog / Digital Bộ chuyển đổi tương tự - số
ATC Air Traffic Control Điều khiển máy bay lên xuống CSDL Cơ sở dữ liệu
D/A Digital / Analog Bộ chuyển đổi số - tương tự
HRT Hard Real Time Thời gian thực cứng
I /O Input / Ouput Vào/ra
PloP Patterns language of
Program Chương trình của ngôn ngữ mẫu
PloPD Patterns language of
Program Design
Thiết kế chương trình của ngôn ngữ mẫu
POAD Pattern Oriented Analys
and Design Phân tích và thiết kế hướng mẫu RTS Real Time System Hệ thời gian thực
RUP Rational Unified Process Tiến trình thống nhất của Rational SRT Soft Real Time Thời gian thực mềm
UML Unified Modeling Language Ngôn ngữ mô hình hóa thống nhất
Trang 5Danh mục các hình
Hình 1.1: Các mức đáp ứng sự kiện về mặt thời gian Error! Bookmark not
defined
Hình 1.2 Đồ thị mô tả đặc trưng hai loại hệ thời gian thực Error! Bookmark not
defined
Hình 1.3: Các thành phần của hoạt động thời gian thực Error! Bookmark not
defined
Hình 1.4: Các kiểu tác vụ theo chuẩn IEC 61131-3 Error! Bookmark not defined Hình 1.5: Mô hình chung của hệ thời gian thực Error! Bookmark not defined Hình 1.6 Mô hình xử lý ngắt Error! Bookmark not defined Hình 1.7 Ưu tiên ngắt Error! Bookmark not defined Hình 1.8: Hành động thực thi thời gian thực yêu cầu bắt đầu một tiến trình Error!
Bookmark not defined
Hình 1.9 Một bộ điều khiển số Error! Bookmark not defined Hình 1.10: Cấu trúc hệ thống điêu khiển máy bay Error! Bookmark not defined Hình 1.11 Xử lý tín hiệu radar và hệ thống hiệu chỉnh Error! Bookmark not
defined
Hình 1.13: Kiến trúc tiến trình hệ thống báo động trộm Error! Bookmark not
defined
Hình 1.14: Kiến trúc tiến trình của hệ thống điều khiển nhiệt độ Error! Bookmark
not defined
Hình 1.15: Kiến trúc của luồng giám sát hệ thống Error! Bookmark not defined Hình 1.16: Bộ đệm tròn cho bộ thu nhận dữ liệu Error! Bookmark not defined Hình 2.1 Vòng đời của một mẫu Error! Bookmark not defined Hình 2.2 Cấu trúc mẫu Quan sát Error! Bookmark not defined Hình 2.3 Mô tả cấu trúc mẫu chiến lược Error! Bookmark not defined Hình 2.4 Cấu trúc mẫu ngắt Error! Bookmark not defined Hình 2.5 Phương thức điều khiển ngắt Error! Bookmark not defined
Trang 6Hình 2.7 Sự cấu thành những thiết kế ứng dụng khi sử dụng những mẫu Error!
Bookmark not defined
Hình 2.8 Pha phân tích của POAD Error! Bookmark not defined Hình 2.9 Biểu đồ lớp (a) và Biểu đồ tương tác (b) của mẫu Observer Error!
Bookmark not defined
Hình 3.1 Sơ đồ cấu trúc hệ thống phần cứng Error! Bookmark not defined Bảng 3.1 Bảng phân quyền vào ra Error! Bookmark not defined
Hình 3.2 Biểu đồ hoạt động tiến trình nghiệp vụ “Điều khiển đóng – mở cửa”
Error! Bookmark not defined
Hình 3.3 Biểu đồ hoạt động tiến trình nghiệp vụ “Cảnh báo nguy cơ hỏa hoạn”
Error! Bookmark not defined Hình 3.4 Biểu đồ miền lĩnh vực Error! Bookmark not defined Hình 3.5 Mô hình ca sử dụng mức tổng quát Error! Bookmark not defined Hình 3.6: Biểu đồ ca sử dụng gói “Quản trị hệ thống” Error! Bookmark not
defined
Hình 3.7: Biểu đồ ca sử dụng “Kiểm soát vào ra” Error! Bookmark not defined Hình 3.8: Mô hình gói ca sử dụng “Cảnh báo hỏa hoạn” Error! Bookmark not
defined
Hình 3.9: Biều đồ ca sử dụng gói “Quản lý vận hành” Error! Bookmark not
defined
Hình 3.10 Biểu đồ lớp của các lớp đối tượng chínhError! Bookmark not defined Hình 3.11 Biểu đồ lớp cập nhật bảng phân quyền sử dụng mẫu chiến lược Error!
Bookmark not defined
Hình 3.12 Biểu đồ lớp thiết kiểm soát vào ra theo mẫu quan sát Error! Bookmark
not defined
Hình 3.13 Biểu đồ lớp mức mẫu “Xử lý hỏa hoạn” Error! Bookmark not defined Hình 3.14 Biểu đồ lớp cho ca sử dụng giám sát truy nhập và ghi nhật ký Error!
Bookmark not defined
Hình 3.15 Giao diện đăng nhập hệ thống Error! Bookmark not defined Hình 3.16 Giao diện vào ra hệ thống Error! Bookmark not defined Hình 3.17 Giao diện cảm ứng nhiệt độ Error! Bookmark not defined
Trang 7Hình 3.18 Giao diện quan sát nhiệt độ Error! Bookmark not defined Hình 3.19 Giao diện lựa chọn chiến lƣợc cập nhật Error! Bookmark not defined Hình 3.20 Giao diện cập nhật trực tiếp Error! Bookmark not defined Hình 3.21 Giao diện cập nhật từ tệp Error! Bookmark not defined
Trang 8MỤC LỤC
Các thuật ngữ và các từ viết tắt 4
Danh mục các hình 5
MỤC LỤC 7
MỞ ĐẦU 10
Chương I : TỔNG QUAN VỀ HỆ THỜI GIAN THỰCError! Bookmark not defined.
1.1 Khái niệm về hệ thời gian thực [1] Error! Bookmark not defined 1.2 Phân loại hệ thời gian thực Error! Bookmark not defined 1.2.1 Hệ thời gian thực cứng Error! Bookmark not defined 1.2.2 Hệ thời gian thực mềm Error! Bookmark not defined 1.3 Đặc điểm của hệ thời gian thực [6] Error! Bookmark not defined 1.4 Cấu trúc thành phần của một hệ thời gian thực Error! Bookmark not defined 1.5 Xử lý thời gian thực Error! Bookmark not defined 1.5.1 Xử lý ngắt Error! Bookmark not defined 1.5.2 Quản lý tiến trình Error! Bookmark not defined 1.6 Một số ứng dụng tiêu biểu của hệ thời gian thực Error! Bookmark not defined 1.6.1 Điều khiển tín hiệu số Error! Bookmark not defined 1.6.2 Điều khiển mức cao Error! Bookmark not defined 1.6.2.1 Các ví dụ về phân cấp điều khiển Error! Bookmark not defined 1.6.2.2 Hướng dẫn và kiểm soát Error! Bookmark not defined 1.6.3 Điều khiển lệnh Error! Bookmark not defined 1.6.4 Xử lý tín hiệu Error! Bookmark not defined 1.6.4.1 Hệ thống radar Error! Bookmark not defined 1.7 Một số hệ thống thời gian thực điển hình Error! Bookmark not defined 1.7.1 Hệ thống giám sát Error! Bookmark not defined 1.7.2 Hệ thống điều khiển Error! Bookmark not defined 1.7.3 Hệ thống thu nhận dữ liệu Error! Bookmark not defined.
Trang 9Chương 2: PHƯƠNG PHÁP PHÂN TÍCH THIẾT KẾ HƯỚNG MẪU Error!
Bookmark not defined.
2.1 Mẫu thiết kế Error! Bookmark not defined 2.1.1 Khái niệm về mẫu Error! Bookmark not defined 2.1.2 Vai trò của mẫu trong phát triển phần mềm Error! Bookmark not defined 2.1.3 Vòng đời của một mẫu Error! Bookmark not defined 2.1.4 Một số mẫu cho hệ thời gian thực Error! Bookmark not defined 2.1.4.1 Mẫu hành vi Observer Error! Bookmark not defined 2.1.4.2 Mẫu chiến lược Error! Bookmark not defined 2.1.4.3 Mẫu ngắt Error! Bookmark not defined 2.1.4.4 Mẫu luân chuyển Robin Error! Bookmark not defined 2.2 Phân tích thiết kế hướng mẫu - POAD Error! Bookmark not defined 2.3.1 Mục tiêu của POAD Error! Bookmark not defined 2.2.2 Những vẫn đề của POAD Error! Bookmark not defined 2.2.3 Phân tích hướng mẫu Error! Bookmark not defined 2.3.3.1 Tổng quan Error! Bookmark not defined 2.2.3.2 Mục đích của việc phân tích hướng mẫuError! Bookmark not defined.
2.2.3.3 Phân tích các yêu cầu Error! Bookmark not defined 2.2.3.4 Làm quen bước đầu Error! Bookmark not defined 2.2.3.5 Tìm và lấy ra các mẫu Error! Bookmark not defined 2.2.3.6 Lựa chọn mẫu Error! Bookmark not defined 2.2.4 Thiết kế hướng mẫu Error! Bookmark not defined 2.2.4.1 Tổng quan Error! Bookmark not defined 2.2.4.2 Mục đích của việc thiết kế hướng mẫu Error! Bookmark not defined 2.2.4.3 Cấu trúc mẫu Error! Bookmark not defined 2.2.4.4 Cấu trúc các mô hình mức mẫu chi tiết Error! Bookmark not defined 2.4 UML trợ giúp các mẫu thiết kế Error! Bookmark not defined.
Trang 10Chương 3: HỆ THỐNG GIÁM SÁT TRẠNG THÁI HOẠT ĐỘNG TRONG
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG Error! Bookmark not defined 3.1 Tổng quan về trường Đại học Dân lập Hải phòngError! Bookmark not defined.
3.2 Bài toán giám sát hoạt động trong khuôn viên nhà trườngError! Bookmark not
defined.
3.2.1 Mô tả Bài toán Error! Bookmark not defined 3.2.2 Những vấn đề đặt ra Error! Bookmark not defined 3.2.3 Đặc tả hệ thống Error! Bookmark not defined 3.2.3.1 Hệ thống phần cứng Error! Bookmark not defined 3.2.3.2 Hệ thống phần mềm Error! Bookmark not defined 3.3 Phát triển hệ thống phần mềm theo POAD Error! Bookmark not defined 3.3.1 Xác định mô hình nghiệp vụ Error! Bookmark not defined 3.3.1.1 Các chức năng nghiệp vụ của hệ thống Error! Bookmark not defined 3.3.1.2 Các tác nhân nghiệp vụ Error! Bookmark not defined 3.3.1.3 Các biểu đồ hoạt động của tiến trình nghiệp vụError! Bookmark not
defined.
3.3.1.4 Mô hình miền lĩnh vực Error! Bookmark not defined 2.3.1.5 Từ diển giải thích Error! Bookmark not defined 3.3.2 Biểu diễn mô hình hệ thống nghiệp vụ Error! Bookmark not defined 3.3.2.1 Mô hình ca sử dụng mức cao Error! Bookmark not defined 3.3.2.2 Các mô hình ca sử dụng chi tiết Error! Bookmark not defined 3.3.4 Lựa chọn các mẫu Error! Bookmark not defined 3.4 Thiết kế “Hệ thống giám sát trạng thái hoạt động”Error! Bookmark not defined.
3.4.1 Thiết kế ca sử dụng “Quản trị hệ thống” Error! Bookmark not defined 3.4.2 Thiết kế ca sử dụng “Kiểm soát vào ra” Error! Bookmark not defined 3.4.3 Thiết kế ca sử dụng “Xử lý hỏa hoạn” Error! Bookmark not defined 3.4.4 Thiết kế ca sử dụng “Quản trị vận hành” Error! Bookmark not defined 3.5 Một số giao diện chương trình Error! Bookmark not defined.
Trang 11KẾT LUẬN Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO 11
Trang 12MỞ ĐẦU
Ngày nay, hầu hết các tương tác tính toán trong nhiều hệ thống trên máy tính đều tíến hành theo thời gian thực như các hệ thống điều khiển phản hồi, hệ thống giám sát, các hệ thống điều khiển tự động Các hệ thống trên thường phải đáp ứng được các sự kiện trong thế giới thực về mặt thời gian khi tương tác với môi trường bên ngoài
Có rất nhiều phương pháp được dùng để phân tích thiết kế phần mềm này như: phương pháp “biểu đồ trạng thái”, hay máy trạng thái hữu hạn [11], phương pháp phân tích thiết kế hướng đối tượng, Trong các phương pháp thiết kế trên, phương pháp phân tích hướng đối tượng và sử dụng mẫu trong thiết kế đang là một hướng nghiên cứu và ứng dụng đang phát triển rất mạnh hiện nay Nó mang đặc trưng của công nghệ
sử dụng lại cho việc phát triển các hệ thống phần mềm ở mức thiết kế Vì vậy, đề tài
“Hệ thống thời gian thực và ứng dụng các mẫu trong thiết kế” được chọn làm luận văn tốt nghiệp của tôi
Trong luận văn này, sau khi trình bày tổng quan về hệ thống thời gian thực và trình bày phương pháp phát triển hệ thống phần mềm trên cơ sở phương pháp phân tích hướng đối tượng định hướng mẫu Nó được vận dụng để phân tích thiết kế hệ thống giám sát trạng thái hoạt động trong khuôn viên Trường đại học dân lập Hải Phòng - một hệ thống thời gian thực
Nội dung luận văn gồm ba chương
Chương 1: Tổng quan về Hệ thời gian thực
Trong chương này, trình bày các khái niệm về hệ thống thời gian thực, các ứng dụng điển hình của hệ thống này
Chương 2: Phương pháp phân tích thiết kế hướng mẫu
Trong chương này, trình bày tổng quan về mẫu thiết kế và phương pháp phân tích thiết kế hệ thống phần mềm hướng mẫu Ngoài ra trình bày một số mẫu được sử dụng cho thiết kế cho ứng dụng đề xuất như mẫu Quan sát (Observer), mẫu chiến lược (Trategy), mẫu ngắt (Interruptt), và mẫu luân chuyển Robin (Round Robin)
Chương 3: Hệ thống giám sát trạng thái hoạt động trong khuôn viên Trường Đại học Dân Lập Hải Phòng
Đây là phần xây dựng ứng dụng dựa trên cơ sở lý thuyết đã trình bày ở trên Sử dụng phương pháp phân tích hướng đối tượng và các mẫu để tiến hành phân tích và thiết kế ứng dụng và tiến hành một số cài đặt thử nghiệm
Cuối cùng là phần kết luận và hướng phát triển tiếp theo của đề tài
Trang 13TÀI LIỆU THAM KHẢO
Tài liệu tham khảo tiếng Việt
[1] Nguyễn Văn Vỵ (2002), Phân tích thiết kế các hệ thống thông tin hiện đại, hướng cấu trúc - hướng đối tượng, NXB Thống kê, Hà Nội
[2] Đặng Văn Đức (2002), Phân tích thiết kế hướng đối tượng bằng UML, NXB Giáo dục, Hà nội
[3] Đoàn Văn Ban (2003), Phân tích thiết kế hướng đối tượng bằng UML, NXB Thống kê
[5] Nguyễn Văn Trường (2004), Hệ thống thời gian thực và ứng dụng trong kỹ thuật
mô phỏng, Trung tâm Công nghệ Mô phỏng – HVKTQS
[6] TS Hoàng Minh Sơn , Hệ Thời gian thực và điều khiển thời gian thực, Tạp chí TĐHNN (tạp chí điện tử), ngày 13/10/2007
[7] Nguyễn Văn Ba (2005), Phát triển hệ thống hướng đối tượng với UML2.0 và C++ , Nhà xuất bản Thống kê – 2005
[8] Nguyễn Văn Vỵ (2004), Phân tích thiết kế hệ thống phần mềm – Bài giảng cho cao học, Đại học Công nghệ - Đại học Quốc gia Hà Nội
[10] Ngô Trung Việt (bản dịch- 2001), Kĩ nghệ phần mềm, Nhà xuất bản giáo dục
Tài liệu tham khảo tiếng Anh
[10] Jame W.S.Liu, Real time system, Prentice Hall, 2000, ISBN: 130996513
[11] Ian sommerville, Softwware Engineering, Sixth Edition, Addison- Wesley, 2001
[12] Sharif M.Yacoub and Hany H Ammar, Pattern Orientated Analysis and Design:
Composing Patterns to Design Software System, Addison – Wesley Proffessional, 2003
[13] Grindei Manuela - Lidia, UML-Modeling of Real - Time software System,
Software- Entwicklungsmethoden
[14] Bruce Powel Douglass, Real Time Design Patterns Robust Architecture for Real
Time Systems, Addison Wessley 9/2002