1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mô phỏng hệ thống thang máy

17 1,5K 10
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Mô phỏng hệ thống thang máy
Tác giả Trịnh Viết Nam, Nguyễn Thái Dương, Đỗ Văn Quân
Người hướng dẫn TS. Cao Tuấn Dũng
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Lập trình hướng đối tượng
Thể loại Bài tập lớn
Năm xuất bản 2011
Thành phố Hà Nội
Định dạng
Số trang 17
Dung lượng 631 KB

Nội dung

Mô phỏng hệ thống thang máy

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

──────── * ───────

BÀI TẬP LỚN

MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Đề tài : “Mô phỏng hệ thống thang máy”

Mã đề tài: De10A

Sinh viên thực hiện Trịnh Viết Nam (NT)

Nguyễn Thái Dương Đỗ Văn Quân

Nhóm sinh viên : Nhóm 4

Giáo viên hướng dẫn : TS Cao Tuấn Dũng

Hà Nội, tháng 11 năm 2011

Trang 2

Lời nói đầu 3

PHẦN 1: TỔNG QUAN 4

Kiến thức nền tảng phục vụ cho bài toán: 4

PHẦN 2 : PHÂN TÍCH THIẾT KẾ MỨC KIẾN TRÚC CỦA BÀI TOÁN 4

2.1 Mô tả yêu cầu bài toán 4

2.2 Biểu đồ use case 5

2.3 Biểu đồ trình tự .5

2.4 Biểu đồ lớp 6

PHẦN 3: THIẾT KẾ CHI TIẾT VÀ GIẢI PHÁP KỸ THUẬT XÂY DỰNG CÁC LỚP VÀ CHỨC NĂNG CHÍNH CỦA NÓ: 7

3.1 Mô tả các thuộc tính và phương thức của lớp Cabin 7

3.2 Mô tả các thuộc tính và phương thức của lớp Display 9

3.3 Mô tả các thuộc tính và phương thức của lớp PersonWalking 11

3.4 Mô tả các thuộc tính và phương thức của lớp CreateRandomPerson 12

Phần 4: Kết luận và đánh giá 12

Phân công công việc nhóm: 13

TÀI LIỆU THAM KHẢO 15

Phụ lục: 16

Trang 3

Lời nói đầu

Có lẽ ai học công nghệ thông tin đều biết,các ngôn ngữ lập trình hướng đối tượng ưu việt hơn nhiều so với các ngôn ngữ hướng thủ tục,điều này đã được kiểm nghiệm và chứng minh.Nhưng nhờ đâu các nhà thiết kế lại có thể nghĩ ra ngôn ngữ lập trình hướng đối tượng,có lẽ tên mà ta hay gọi cho nó cũng đã bao hàm câu trả lời cho câu hỏi trên rồi,đối tượng là một khái niệm không hề có trong lập trình hướng thủ tục,mà đối tượng chính là các thực thể trong thế giới thực.Khi mới bắt đầu làm quen với lập trình hướng đối tượng chúng thì cách tiếp cận khá tốt là đi vào các ví dụ mà ở đó ranh giới giữa các đối tượng rõ ràng Từ thực tế thang máy đang rất phổ biến trong việc phục vụ di chuyển và hoạt động của nó cũng rất thú vị,đồng thời không khó khăn để xác định các thực thể trong hệ thống này, vì lý do đó nhóm sinh viên bọn em lựa chọn đề tài “Mô phỏng hoạt động của thang máy”,đề tài thực hiện chương trình mô phỏng hệ thống hai thang máy hoạt động ở chế độ một bảng điều khiển phục vụ di chuyển trong tòa nhà mười tầng.Chương trình được viết bởi ngôn ngữ thuần đối tượng java

Do mới làm với ngôn ngữ Java,và việc xử lý đa luồng không đơn giản nên

trong chương trình còn có một nhiều hạn chế Nhóm em mong nhận được các nhận xét của thầy về đề tài này của nhóm để nhóm em có thể khắc phục các hạn chế trong đề tài này để có thể làm tốt hơn trong đề tài khác

Trang 4

PHẦN 1: TỔNG QUAN

Kiến thức nền tảng phục vụ cho bài toán:

+ Phân tích và thiết kế hướng đối tượng,bao gồm :

- Tư duy lập trình hướng đối tượng

- Các nguyên lý cơ bản trong lập trình hướng đối tượng (Đóng gói,kế thừa,sử dụng các giao diện,đa hình,chồng phương thức )

- Biết sử dụng ngôn ngữ lập trình java

- Tìm hiểu hoạt động thực sự của thang máy

-

PHẦN 2 : PHÂN TÍCH THIẾT KẾ MỨC KIẾN

TRÚC CỦA BÀI TOÁN

2.1 Mô tả yêu cầu bài toán

Mô phỏng hệ thống thang máy.

Tạo một chương trình gồm có:

 Cửa sổ chính mô phỏng hoạt động của thang máy (đi lên ,đi xuống theo yêu cầu,đứng yên khi đã chuyển người đến nơi và không có yêu cầu).Người sử dụng thang máy ở tầng được sinh ra theo hai chế độ ngẫu nhiên hoặc qua lệnh điều khiển,trong trường hợp ngẫu nhiên thì số người sinh ra tại một thời điểm không quá hai(khoảng cách hai lần sinh do tác giả tùy chỉnh).

 Cửa sổ phụ là giao diện phòng điều khiển.Tại phòng điều khiển nhân viên điều khiển có thể xem các thông số của thang máy :Tầng hiện tại,chiều chuyển động,trọng tải hiện tại,có thể dừng thang máy,sinh ra khách chờ cùng với yêu dùng thang máy ở chế độ điều khiển.

 Khi thang máy quá tải,báo chuông và chỉ hoạt động với số người hợp lý.

 Hoạt động tối ưu,Tiết kiệm năng lượng.

Trang 5

2.2 Biểu đồ use case

Hình 1:Biểu đồ use case mô tả hệ thống

2.3 Biểu đồ trình tự

Hình 2:Biểu đồ trình tự cho chức năng phục vụ di chuyển của thang

Trang 6

2.4 Biểu đồ lớp

Hình 3:Biểu đồ lớp của chương trình

Trang 7

PHẦN 3: THIẾT KẾ CHI TIẾT VÀ GIẢI PHÁP KỸ THUẬT XÂY DỰNG CÁC LỚP VÀ CHỨC NĂNG CHÍNH CỦA NÓ:

3.1 Mô tả các thuộc tính và phương thức của lớp Cabin

Tên lớp Thuộc tính Ý nghĩa

trên tường

Có hai phím lên và xuống -tabelInCabin Bảng hiển thị các phím bấm

như trong cabin thật

tốc độ,Khóa tầng -openAndCloseDoor Thực hiện đóng mở cửa cabin

hay không

đóng kín cửa chưa

hết cửa chưa

- nextFloor Tầng tiếp theo cabin sẽ đến,khi

cabin đứng yên thì nó bằng tầng hiện tại

- nextState Trạng thái tiếp theo của cabin

dừng

trong cabin

nhanh

- positionAvalbel Vị trí có còn khả năng chứa

người trong cabin -maxPersonInCabin Số người tối đa trong cabin

Trang 8

- isUpdating Kiểm tra cabin có đang cập

nhật người hay không

- updateAgain Tín hiệu báo cabin cập nhật

người thêm lân nữa

- leftDoor2 Cửa trái trên tầng chắn người

vào khoang chứa cabin,điều kiện an toàn

vào khoang chứa cabin,điều kiện an toàn

của cabin

của cabin

gọi tầng trên tầng -checkPersonInCabin Kiểm tra có người trong cabin

hay không

Bảng 1.

Tên lớp Phương thức Ý nghĩa

Cabin - emergencyTreatment Xử lý khi cabin có tín hiệu dừng bắt

buộc(người quản trị ấn nút stop)

+ setLocaldoor Thiết lập vị trí cửa của cabin

chuyển sẽ kiểm tra tầng nào gần sẽ chuyển tới

tầng yêu cầu + showDilogControl Hiển thị hộp thoại điều khiển cabin + showDialog Hiển thị hộp thoại chứa bảng gọi

tầng trong cabin + setColorButtonCall Thiết lập màu cho các nút + checkPositionAvalbel Kiểm tra vị trí người có thể đứng + releasePositionAvalbel Trả lại ví trí người vừa dùng

Bảng 2.

Trang 9

3.2 Mô tả các thuộc tính và phương thức của lớp Display

Tên lớp Thuộc tính Ý nghĩa

Display MAXPERSON Số người tối đa trong hệ thống

thống ở vị trí người dùng muốn

tâng nhà

vào như bức tường

cabin -tablecall Đối tượng hiển thị bảng gọi tầng

trên các tầng

- countComponent Đếm các thành phần trong lớp

Display

- changeMode Thay đổi chế độ điều khiển hay tự

động

- showTableManager Hiển thị bẳng nút ấn trong cabin

- showDirectionCabin1 Hiển thị hộp thoại để điều khiển

cabin1

- showDirectionCabin2 Hiển thị hộp thoại để điều khiển

cabin2

- updateInformation Cập nhật thông tin về vị trí tầng

Trang 10

-checkExistPerson Kiểm tra có tồn tại người hay

không -checkExistPersonAdvance Kết hợp với checkExistPerson

Kiểm tra người có tồn tại trong hệ thống không

-timeCreateRandomPerson Thời gian để sinh ra người trong

trường hợp tự động

động hoặc điều khiển

-maxPersonInFloor Số người tối đa trên mỗi tầng

- dialogInputFloor Hộp thoại nhập yêu cầu của người

dùng ở chế độ điều khiển -autoScroll Thiết lập chế độ tự động di chuyển

thanh cuộn

trí trong cabin cho mỗi người vào

ra cabin

- colorBackground Màu nền cho giao diện chính

hướng dẫn và giới thiệu tác giả

Bảng 3.

Tên lớp Phương thức Ý nghĩa

luồng điều khiển cabin,cập nhật thông tin và luồng tạo người ngẫu nhiên

-randomCreatePerson Thực thi luồng tạo người

-showDilogInputFloorCall Hiển thị bảng nhập yêu cầu người

của người dùng +setStatusFoorCall Thiết lập chiều mũi tên trên tầng

- intTableInCabin Khởi tạo nút ấn bên trong cabin

- showTableInCabin Hiển thị bảng bấm trong cabin -showDialogDirection Hiển thị bảng điều khiển

-confirmInputfloor Xử lý xác nhận yêu cầu nhập tầng

Trang 11

3.3 Mô tả các thuộc tính và phương thức của lớp PersonWalking

Tên lớp Thuộc tính Ý nghĩa

- leaveCabin Kiểm tra thoát khỏi cabin

- createFloorOut Tạo ra tầng ra(trường hợp

random)

Bảng 5.

Tên lớp Phương thức Ý nghĩa

Bảng 6.

Trang 12

3.4 Mô tả các thuộc tính và phương thức của lớp CreateRandomPerson

Tên lớp Thuộc tính Ý nghĩa

CreateRandomPerson -Thread Luồng sinh người

-person Người được sinh ra Bảng 7.

CreateRandomPerson +actionControl Sinh người ở chế độ

điều khiển +action Sinh người ở chế độ

random

Bảng 8.

Trên đây mới chỉ là những lớp cơ cản của chương trình,ngoài ra còn một số lớp khác như:

 Class Bell:lớp xử lý âm thanh trong chương trình

 Class TableInCabin :Tạo bảng trong Cabin

 Class Direction: tạo giao diện của người quản tri

 Class ButtonFloorCall:Tạo các nút cơ sở cho chương trình

 Class FloorCall:Bảng hiển thị trên mỗi tầng về chiều và tầng hiện tại

 Class Main:Tạo giao diện khi chạy chương trình

 Class UpdateInformation:Cập nhật thông tin về vị trí tầng và chiều dich chuyển của Cabin

 Class PanelWelCome chứa ảnh nền giao diện ban đầu

Phần 4: KẾT LUẬN VÀ ĐÁNH GIÁ

- Kết quả đạt được: Qua quá trình làm bài tập lớn nhóm đã cải thiện được khá nhiều tinh thần và kĩ năng làm việc theo nhóm,đồng thời nâng cao rõ rệt về khả

Trang 13

- Khuyết điểm còn tồn tại: Tuy bọn em đã rất nỗ lực,nhưng không thể tránh được sai sót,người chuyển động chưa được mượt

Phân công công việc nhóm:

 Thảo luận chung để đưa ra định hướng gồm có:

- Phân tích yêu cầu

- Thống nhất thuật toá

- Tạo biểu đồ Use Case

- Biểu đồ trình tự

 Cá nhân mỗi người:

1 Trịnh Viết Nam: code giao diện đồ họa,xử lý trường hợp :Đóng mở cửa nhanh,cập nhật tầng,quá tải

2 Đỗ Văn Quân: code thuật toán

3 Nguyễn Thái Dương: đồng bộ luồng,vẽ ảnh người chuyển động

 Kế hoạch làm việc:

Tuần 2 :

- Tạo nhóm và chọn chủ đề thực hiện

Tuần 3-5 :

- Tìm hiểu ngôn ngữ java và lập trình đồ họa

- Phân tích bài toán

- Đưa ra các yêu cầu của bài toán và thuật toán

- Viết các biểu đồ lớp

Tuần 6-9:

- Thiết kế giao diện

- Chỉnh sửa thuật toán sử dụng trong bài toán

Tuần 10-11:

- Kết hợp xử lý luồng vào bài toán

- Chỉnh sửa giao diện đồ họa

- Hoàn thiện chương trình và test ,kiểm soát lỗi

Tuần 12

- Test

- Viết báo cáo theo đề cương chi tiết

Trang 14

- Quay video mô tả hoạt động của thang máy và các chức năng của thang máy

- Ghi đĩa CD và in báo cáo môn học

- Nộp bản toàn bộ chương trình và báo cáo

Tuần 13 -15 :

- Bảo vệ đồ án môn học

- Nghe nhận xét của thầy và rút ra kinh nghiệm cho bản thân

-Tự đánh giá % công việc của mỗi người:

Trịnh Viết Nam: 40%

Đỗ Văn Quân: 30%

Nguyễn Thái Dương: 30%

Trang 15

TÀI LIỆU THAM KHẢO

- Slide bài giảng cô Nguyễn Thị Thu Trang bộ môn Công nghệ phần mền ĐHBKHN.

- Lập trình đồ họa trên java 2D và 3D nguồn:tailieu.vn

- Giáo trình java sun của nhóm phát triển phần mềm SSDG

- Nhiều tài liệu tiếng Việt khác

- Java™ How to Program, SeventhEdition By H M Deitel - Deitel &

Associates, Inc., P J Deitel - Deitel & Associates, Inc.

Trang 16

Phụ lục:

Danh mục bảng được sử dụng

lớp cabin

của lớp cabin

lớp Display

của lớp Display

lớp PersonWalking

của lớp PersonWalking

Trang 17

của lớp CreateRandomPerson

Danh mục hình ảnh được sử dụng

tả bài toán

chức năng phục vụ

di chuyển của thang

chương trình

Ngày đăng: 26/04/2013, 14:55

HÌNH ẢNH LIÊN QUAN

Hình 1:Biểu đồ use case mô tả hệ thống - Mô phỏng hệ thống thang máy
Hình 1 Biểu đồ use case mô tả hệ thống (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w