Báo Cáo Bài Tập Lớn Xây Dựng Chƣơng Trình Chat Trên Điện Thoại Di Động

21 328 0
Báo Cáo Bài Tập Lớn Xây Dựng Chƣơng Trình Chat Trên Điện Thoại Di Động

Đ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

Trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội BÁO CÁO BÀI TẬP LỚN XÂY DỰNG CHƢƠNG TRÌNH CHAT TRÊN ĐIỆN THOẠI DI ĐỘNG Ngƣời thực hiện: Đoàn Ngọc Phƣơng Nguyễn Thị Thu Hằng Lớp cao học CNTT K17 Lời nói đầu Hệ thống chat hệ thống đa ngƣời dùng thực chức truyền thông điệp ngƣời dùng hệ thống, với tính chất thông điệp đƣợc gửi từ ngƣời dùng A đến ngƣời dùng B (đang online – hay sử dụng hệ thống) phải đƣợc thực với thời gian trễ nhỏ, đủ để thể trò chuyện thông thƣờng Với đặc điểm nhƣ hệ thống chat có điểm tƣơng đồng với hệ thống mail, khả truyền thông điệp: ngƣời nhận không online – hay không sử dụng hệ thống hệ thống chat giống nhƣ hệ thống mail, thông điệp đƣợc tải máy ngƣời nhận ngƣời nhận đăng nhập tiến hành xem thông điệp Nhƣng ngƣời nhận online, thông điệp chƣơng trình chat phải đƣợc tải hiển thị cửa sổ chat ngƣời nhận Nhƣ nói điểm khác biệt chủ yếu hai hệ thống thời gian truyền thông điệp Qua phân tích, dựa công cụ có J2ME để lập trình điện thoại di động, ngôn ngữ lập trình hỗ trợ giao thức http dòng máy, nhóm em định xây dựng hệ thống chat điện thoại di động mô hình client – server Nhƣ vậy, ngƣời dùng hệ thống đƣợc coi client, hệ thống tồn máy chủ để tiến hành lƣu thông điệp gửi tải thông điệp máy điện thoại di động ngƣời nhận ngƣời nhận, hay máy client có yêu cầu nhận thông điệp Việc nhận thông điệp mắt ngƣời sử dụng trình tự nhiên, qua khâu kết nối hay yêu cầu (request) tới máy chủ, việc làm phải đƣợc chƣơng trình tiến hành tự động, sau khoảng thời gian trễ đủ nhỏ (cỡ giây), hành động lại đƣợc tiến hành lại để nhằm mục đích cập nhập thông điệp, khiến cho thông điệp nhƣ đƣợc gửi trực tiếp đến ngƣời dùng Dựa ý tƣởng nhƣ vậy, nhóm em tiến hành xây dựng hệ thống chat điện thoại di động với nhiệm vụ truyền thông điệp dạng văn không dấu, bỏ qua chức truyền file đính kèm, biểu tƣợng,… Với hạn chế chuyên môn thời gian nên chƣơng trình nhiều sai sót, kính mong góp ý cô giáo anh chị học viên Báo cáo bao gồm nội dung sau: - Phân tích thiết kế hệ thống - Giới thiệu chƣơng trình công cụ dùng để xây dựng chƣơng trình Mục lục Lời nói đầu Mục lục PHÂN TÍCH, THIẾT KẾ Phân tích thiết kế tổng quát 1.2 Lựa chọn kiểu kết nối 1.3 Kiểu liệu phía server 1.4 Kiểu liệu phía client Phân tích thiết kế chi tiết 2.1 Các chức cần xây dựng chƣơng trình, biểu đồ user case 2.2 Biểu đồ trình tự số chức 2.3 Các servlet phía server 14 2.4 Biểu đồ lớp 15 GIỚI THIỆU VỀ CHƢƠNG TRÌNH VÀ CÁC CÔNG CỤ XÂY DỰNG CHƢƠNG TRÌNH 17 Các công cụ xây dựng chƣơng trình 17 Giới thiệu chƣơng trình 17 Các chức chƣơng trình 18 PHÂN TÍCH, THIẾT KẾ Phân tích thiết kế tổng quát 1.1 Lựa chọn kiểu kết nối Hệ thống đƣợc xây dựng mô hình Client – Server sử dụng giao thức Http Kết nối Http kết nối phi trạng thái, khó để quản lý phiên làm việc ngƣời dùng, ngƣời dùng sử dụng chƣơng trình, trang web thiết bị di động Do để cập nhập đƣợc thông điệp trạng thái nhập/xuất thành viên, chƣơng trình phía client dùng cách theo định kỳ gửi yêu cầu phía server để luôn cập nhật đƣợc thông tin Chi tiết cụ thể đƣợc nêu dƣới 1.2 Kiểu liệu phía server Một ngƣời dùng muốn sử dụng chƣơng trình chat cần phải có tài khoản Tài khoản ngƣời dùng chƣơng trình chat có thêm giá trị trạng thái để xác định việc ngƣời online hay offline Một ngƣời có nhiều bạn bè tài khoản khác sử hệ thống có nhiều tin nhắn từ ngƣời dùng khác, tin nhắn giống hệt ngƣời nhận, ngƣời gửi, nội dung thông điệp Ngoài thông điệp chƣơng trình chat ngắn, nên lƣu thành trƣờng sở liệu Trên sở phân tích đó, phía server liệu đƣợc lƣu thành ba bảng: Hình 1: Cơ sở liệu Bảng user để lƣu thông tin ngƣời dùng hay gọi tài khoản ngƣời dùng, ngƣời dùng sở hữu riêng username, password trạng thái nhập/xuất Một ngƣời dùng có nhiều bạn bè đƣợc lƣu bảng friends Tƣơng tự ngƣời dùng có nhiều thông điệp đƣợc gửi tới đƣợc lƣu bảng message Khi có thay đổi gì: thêm danh sách bạn bè, thêm thông điệp mới, thay đổi trạng thái, server thực cập nhập lại sở liệu Còn server phải phản hồi lại yêu cầu client, kết đƣợc gửi client dƣới dạng chuỗi, ghi bảng đƣợc phân biệt dấu “;” Riêng với thông tin hàng đƣợc phân tách dấu “:” Danh sách bạn bè kết thúc chuỗi “offm”, tiếp sau danh sách thông điệp Client dựa vào dấu hiệu để bóc tách thông tin cần thiết 1.3 Kiểu liệu phía client Phía client có hai loại thông tin cần xử lý, thông tin gửi thông tin nhận lại đƣợc từ phía server Thông tin gửi tham số để yêu cầu server phục vụ Client yêu cầu server cho login/logoff, yêu cầu đƣợc gửi thông điệp đến ngƣời dùng khác yêu cầu đƣợc cập nhật trạng thái ngƣời dùng có danh sách bạn bè họ, nhƣ thông điệp đƣợc gửi đến cho họ.Phần lớn thông tin đƣợc nhập vào textfield Thông tin nhận bao gồm: thông điệp offline-các thông điệp đƣợc gửi đến ngƣời dùng chƣa đăng nhập, thông điệp online thông điệp mà ngƣời dùng trao đổi trò chuyện với ngƣời dùng khác Danh sách bạn bè trạng thái nhập/xuất kèm theo Vì nhớ tạm thời có hạn tốc độ xử lý kém, lƣu trữ theo dạng mảng khó truy xuất, cập nhật Cho nên chƣơng trình dùng ghi RMS j2me để lƣu lại thông điệp Dùng ghi ta đƣợc hỗ trợ sẵn phƣơng thức xếp, tìm kiếm, thêm xóa, sửa mà không cần công cài đặt, lại tiết kiệm vùng nhớ tạm thời Còn danh sách bạn bè trạng thái kèm theo chƣơng trình dùng hai mảng để lƣu lại, thƣờng xuyên đƣợc cập nhập Hai mảng tạm thời để xử lý, nội dung đƣợc lƣu list, kiểu cửa sổ có dạng danh sách, thành viên danh sách lại có biểu tƣợng kèm theo thể trạng thái nhập/xuất Phân tích thiết kế chi tiết 2.1 Các chức cần xây dựng chƣơng trình, biểu đồ user case Hệ thống gồm có hai tác nhân ngƣời dùng server Hình 2: Biểu đồ user case cho tác nhân người dùng Những thông tin mà ngƣời dùng yêu cầu luôn thay đổi, ngƣời dùng đăng nhập hay đăng xuất trạng thái ngƣời dùng thay đổi, nên chức show friend list cần cập nhập trạng thái tài khoản có mặt danh sách…Vì lý mà chƣơng trình cần cung cấp chức update để liên tục cập nhập thông tin cần thiết.login, logout chức đăng nhập đăng xuất, show friend list chức hiển thị danh sách bạn bè với trạng thái nhập/xuất kèm theo, show offline message chức hiển thị tin nhắn offline, chức add new friend để thêm bạn bè vào danh sách friend list, multi talking chức trò chuyện với nhiều ngƣời, save in to a file chức ghi lại đoạn hội thoại mà ngƣời dùng mong muốn Hình 3: Biểu đồ user case cho tác nhân server Mọi việc server thực phải tiến hành cập nhập lại sở liệu, user case server cần phải sử dụng chức thuộc tính user case cập nhập sở liệu 2.2 Biểu đồ trình tự số chức 2.2.1 Chức chính-update Nhƣ đƣợc phân tích phần đầu chƣơng, chƣơng trình chat phải theo định kỳ gửi yêu cần lên server để cập nhập thông tin Để làm đƣợc việc chƣơng trình phải có tiến trình riêng, tiến trình làm công việc kết nối với server nhận thông tin phản hồi để xử lý Cứ sau khoảng thời gian định kỳ tiến trình lại quay lại thực công việc nhƣ Giữa khoảng thời gian hai lần cập nhật, tiến trình khác hoạt động để đón bắt xử lý tƣơng tác ngƣời dùng Những tƣơng tác cuối đƣợc xử lý để làm thay đổi tham số mà tiến trình gửi lên server mà Chi tiết trình tự xảy hệ thống để phục vụ cho chức update đƣợc mô tả biểu đồ trình tự dƣới Tiến trình đƣợc lặp lặp lại để cập nhập thông tin ngƣời dùng đăng xuất, chƣơng trình không cần cập nhập thông tin nữa: Hình 4: Biểu đồ trình tự user case update Nhƣ lớp cần đƣợc cài đặt giao tiếp runnable để sử dụng tiến trình Mọi hoạt động lớp nằm phƣơng thức run(), phƣơng thức hoạt động tiến trình, phƣơng thức có vòng lặp không xác định, vòng lặp kết thúc ngƣời dùng có yêu cầu đăng xuất, sau lần thực kết nối cập nhập thông tin, lệnh cuối vòng lặp sleep(), lệnh cho tiến trình tạm nghỉ, tiến trình khác hoạt động Trong phƣơng thức run() có nhiều đoạn mã khác dành cho yêu cầu khác ngƣời dùng Việc bắt đầu đoạn mà phụ thuộc vào số biến boolean hay gọi cờ trạng thái Nếu ngƣời dùng chọn chức cờ tƣơng ứng với chức đƣợc bật, đoạn mã xử lý chức đƣợc thực thi lần hoạt động tiến trình Khi ngƣời dùng nhấn back để thoát khỏi chức đó, cờ trạng thái tƣơng ứng bị tắt đoạn mã tƣơng ứng không đƣợc xử lý cờ trạng thái lại đƣợc bật lại Mặt khác đặc thù chƣơng trình chat, cần có nhiều cửa sổ để giao lƣu với nhiều ngƣời, toàn chƣơng trình đƣợc phân rã thành cửa sổ, chức ngƣời dùng sử dụng đƣợc cung cấp cửa sổ Do lớp có thuộc tính cửa sổ Ngƣời dùng yêu cầu chức cho hiển thị cửa sổ tƣơng ứng 2.2.2 Chức đăng nhập đăng xuất Nếu ngƣời dùng nhấn nút login đƣợc gắn với form, kiện phát sinh, cờ login đƣợc bật, tham số đƣợc xác định thread đƣợc tạo để bắt đầu phục vụ ngƣời dùng, phƣơng thức run lớp chính, chuỗi url login đƣợc dùng để kết nối với server, thành công, midlet cửa sổ chƣơng trình, ngƣợc lại tài khoản không hợp lệ, cờ login bị tắt, chƣơng trình không thực kết nối, thông báo yêu cầu nhập lại đƣợc form login Trong đoạn mã thực nhiệm vụ login lớp chính, kết chia làm hai nửa: phần thể danh sách bạn bè đƣợc cắt dựa vào dấu hiệu “offm” để đƣa vào lớp friendList, lớp hiển thị danh sách bạn bè ngƣời dùng, tên trạng thái ngƣời dùng đƣợc bóc tách ra, hình ảnh tƣơng ứng đƣợc gắn vào tên để hiển thị trạng thái nhập xuất Phần lại đƣợc đƣa vào lớp offlineMessage-lớp hiển thị tin nhắn offline, lớp form, nhận liệu, xử lý gắn tin nhắn vào cửa sổ nó, có yêu cầu xem tin offline form đƣợc gọi hiển thị không cần xử lý thêm, trạng thái ngƣời dùng đƣợc server cập nhật lại thành trạng thái online Hình 5: Biểu đồ trình tự user case login Hình 6: Biểu đồ trình tự user case logout 2.2.3 Chức hiển thị tin nhắn offline Tin nhắn offline đƣợc hiển thị form riêng, thành phần form StringItem, nội dung thông điệp, lable tên ngƣời gửi Những thông tin đƣợc lấy từ chuỗi thông tin offline có đƣợc từ kết kết nối đăng nhập Mỗi thông điệp đƣợc chích nhờ vào kí tự phân cách “;”, phần lable đƣợc lấy nhờ kí tự “:” Form đƣa cho ngƣời dùng thông tin số tin nhắn offline đƣợc gửi đến, thông tin dòng thông báo đƣợc đặt phía cửa sổ, để có đƣợc thông tin cần dùng biến đếm, lần tách đƣợc tin nhắn chuỗi offline lấy từ server, biến đếm tăng lên đơn vị Do tin nhắn cửa sổ cửa sổ trống, thông tin 10 Hình 7: Biểu đồ trình tự user case show offline message Khi ngƣời dùng nhấn back cửa sổ không đƣợc hiển thị để nhƣờng chỗ cho cửa sổ Việc xác định có hiển thị hay không dựa vào việc bật tắt cờ trạng thái để thực đoạn mã tƣơng ứng hàm run() 2.2.4 Chức thêm bạn bè Tƣơng tự, chức form, tƣơng tự có cờ trạng thái nhƣ chức khác Chỉ có điều có thuộc tính khác mà Form gồm textfield để nhập tên ngƣời cần thêm vào danh sách bạn bè, hai nút nhấn, để thay đổi tham số, gửi yêu cầu đến server để thêm bạn bè Một để quay lại chƣơng trình Nếu chuỗi nhập vào không quy cách tên tài khoản, chƣơng trình xử lý không cho phép gửi lên server Sau thêm thành công vấn đề cần xử lý update lại danh sách bạn bè, lớp phải gọi phƣơng thức update form chứa danh sách 11 Hình 8: Biểu đồ trình tự user case add new friend 2.2.5 Chức trò chuyện Đây chức quan trọng phức tạp chƣơng trình, thời điểm có nhiều thông điệp đƣợc gửi lên server, tranh chấp tài nguyên khiến 12 thông điệp không đƣợc gửi đi, làm tính an toàn ổn định chƣơng trình, phía server cần phải có xử lý cho vấn đề tranh chấp tài nguyên Hình 9: Biểu đồ trình tự user case multi talking 13 Khi ngƣời dùng di chuyển danh sách bạn bè dừng lại ngƣời cần nói chuyện, nhấn talk menu Một cửa sổ tƣơng ứng đƣợc mở Cửa sổ nhiều cửa sổ talk lớp chính, tên cửa sổ tên ngƣời đƣợc chọn danh mục, form chứa textfield để nhập nội dung thông tin cần trao đổi, ngƣời dùng nhấn gửi thông điệp đƣợc append vào form chuỗi url đƣợc thay đổi với cờ trạng thái đƣợc bật Địa url địa trỏ đến trang servlet phục vụ nhu cầu gửi thông điệp từ client lên server Nếu thông điệp hợp lệ, nội dung thông điệp đƣợc lƣu vào bảng message CSDL, ngƣời đƣợc nhận đăng nhập truy xuất Lớp chƣơng trình sở hữu mảng cửa sổ này, biến đếm, cửa sổ trò chuyện đƣợc tạo biến đếm tăng lên Còn không chƣơng trình so sánh tên ngƣời đƣợc chọn danh sách, với tên form đƣợc tạo ra, kết vị trí form tƣơng ứng mảng, giá trị đƣợc lƣu vào biến kiểu int, dùng để hiển thị xác form trò chuyện mà ngƣời dùng cần Việc dùng form làm cửa sổ trò chuyện có lợi, form chƣa bị hủy lƣu lại item đƣợc append vào Do dù chƣơng trình thay đổi form hiển thị, quay trở lại nội dung trò chuyện không bị 2.3 Các servlet phía server Đầu tiên, server cần lớp chung để xử lý việc kết nối truy xuất đến sở liệu Việc cài đặt sẵn lớp khiến việc cài đặt servlet trở nên tƣờng minh Lớp đơn giản, cần có chức kết nối, cập nhật, sửa đổi, thêm, xóa ghi bảng CSDL, cần phải có chức so sánh để phục vụ cho mục đích khẳng định tính đắn liệu mà client gửi lên server Các servlet nói chung gần giống nhau, phải có đối tƣợng truy xuất CSDL nhƣ Trong hàm doGet() hàm xử lý yêu cầu phía client, lúc dòng lệnh kiểm tra tính đắn tham số truyền lên, sau thực phục vụ client Servlet login: nhận yêu cầu đăng nhập từ client Tham số truyền lên username password Nếu so sánh thấy tiếp tục thực hiện, sai phải thông báo lại client Tiếp kiểm tra xem trạng thái tài khoản đó, login không đƣợc phép login trả thông báo Nếu hoàn toàn thỏa mãn điều kiện tiến hành sửa đổi lại trạng thái cho tài khoản “on” thay “off” Thông tin phản hồi danh sách bạn bè tài khoản lấy từ bảng friend tin nhắn offline lấy từ 14 bảng message Các record đƣợc nối lại với trƣớc truyền theo quy cách đƣợc giới thiệu Servlet logoff tƣơng tự nhƣ vậy, gồm hai tham số nhƣ servlet logoff Mọi công việc tƣơng tự có điều phải đổi từ “on” sang “off” Không có thông tin để trả lại cho client servlet cả, trừ thông báo lỗi Servlet getFriends để lấy lại thông tin phàn hồi tƣơng tự nhƣ servlet login, hoàn toàn tƣơng tự login, khác lúc tài khoản đăng nhập client yêu cầu thông tin để cập nhập để login Các servlet khác có kiểm tra tham số ban đầu tƣơng tự nhƣ servlet login, bao gồm kiểm tra liệu riêng Nhƣ servlet add, để thêm bạn, tên ngƣời cần thêm phải có bảng user, cần phải có thêm dòng mã kiểm tra tham số tƣơng ứng, hợp lệ đƣợc thêm vào, ngƣợc lại trả lại cảnh báo Còn servlet recieveMe, servlet để nhận thông điệp đƣợc gửi server, servlet lƣu lại CSDL đƣợc lấy ra, bị xóa Servlet cần thêm thông điệp vào bảng message, kiểm tra ngƣời gửi ngƣời nhận có hợp lệ hay không Vì mục tiêu toán không đƣợc đặt vào servlet, server đƣợc thiết kế an toàn, nhƣng thành công có sức ảnh hƣởng lớn đến toán, nên dù đơn giản nhƣng đảm bảo tính tiện dụng an toàn 2.4 Biểu đồ lớp Dựa vào biểu đồ trình tự ta nhìn thấy đƣợc phần lớn lớp cần xây dựng chƣơng trình, lớp ứng dụng midlet, lớp form để phục vụ chức khác ngƣời dùng, login, logout, talk, show friend list…Và vài lớp phụ phục vụ cho phƣơng thức lớp nhƣ: kết nối với server, lƣu trữ liệu, xử lý liệu chuẩn hóa xâu Các lớp chƣơng trình đƣợc mô tả biểu đồ lớp dƣới đây, biểu đồ tập trung vào lớp quan trọng, hàm thuộc tính lớp thuộc tính phƣơng thức trọng tâm, thực tế để chƣơng trình hoạt động đƣợc, cần có nhiều xử lý phụ, biến tạm để phục vụ cho hàm lớp đáp ứng tốt nhu cầu ngƣời dùng mà không vấp phải lỗi thông thƣờng liệu, thao tác không xác ngƣời sử dụng 15 Hình 10: Biểu đồ lớp Lớp main lớp chính, nơi xử lý hoạt động, thay đổi chƣơng trình, nơi định form đƣợc hiển thị, chuỗi url đƣợc gửi đi, lớp tiến hành định cập nhập lại thông tin cần thiết, nên cần phải có đối tƣợng connect để kết nối, sau lấy lại kết quả, lƣu trữ xử lý kết đối tƣợng record Hệ thống đƣợc thiết kế tập hợp form tƣơng ứng với yêu cầu ngƣời dùng, nhƣ biểu đồ lớp, thuộc tính lớp lớp lớp form, ngƣời dùng yêu cầu chức lớp cho hiển thị form tƣơng ứng với yêu cầu Các lớp form có thuộc tính midlet, tức lớp chính, cần thuộc tính lớp form cần trao đổi thông điệp với nhau, gọi đến thuộc tính chúng lại thuộc tính lớp chính, lớp cần phải cập nhập đƣợc thông tin thay đổi từ lớp form để xử lý Các lớp chứa thuộc tính chuỗi url nhƣ lớp chính, ngƣời dùng hoạt động với form chuỗi url form đƣợc phát sinh, cờ tƣơng ứng form đƣợc bật, thay đổi đƣợc truyền cho lớp nhờ thuộc tính midlet Từ yêu cầu đƣợc đáp ứng nhờ việc kết nối với server theo chuỗi url lớp 16 GIỚI THIỆU VỀ CHƢƠNG TRÌNH VÀ CÁC CÔNG CỤ XÂY DỰNG CHƢƠNG TRÌNH Các công cụ xây dựng chƣơng trình Để xây dựng chƣơng trình công cụ sau đƣợc sử dụng: - Chƣơng trình Client (trên điện thoại di động) đƣợc xây dựng J2ME: J2ME phiên JAVA, đƣợc xây dựng để đƣa sức mạnh lập trình JAVA đến với thiết bị cầm tay, J2ME ngôn ngữ phổ biến để lập trình điện thoại di động - Chƣơng trình Server đƣợc xây dựng Servlet JAVA: Servlets tập mã lệnh java đƣợc chạy ứng dụng web (do tên Servlets, tƣơng tự nhƣ Applets phía client) để trả lời yêu cầu từ phía client Servlets sử dụng chuẩn mở rộng java nhƣ class gói javax.servlet javax.servlet.http - Server chạy trình chủ Tomcat: Tomcat trình chủ mã nguồn mở Webserver hỗ trợ Java tiếng Có thể download miễn phí mã nguồn cài TomCat địa http://jakarta.apache.org - Cơ sở liệu đƣợc dùng hệ quản trị SQL SERVER 2000 Giới thiệu chƣơng trình Các chức chƣơng trình chat:  Đăng nhập  Đăng xuất  Hiển thị danh sách bạn bè với trạng thái nhập/xuất  Hiển thị tin nhắn offline  Thêm bạn bè vào danh sách  Chat với nhiều ngƣời Mặc dù chƣơng trình nhiều hạn chế, nhiên hoàn thành yêu cầu đề tài đặt ra, chức giao diện giống với chƣơng trình chat phổ biến nhƣ yahoo, với danh sách bạn bè đƣợc cập nhật trạng thái nhập/xuất, ngƣời dùng chọn thành viên vào danh sách để trò chuyện, ngƣời mà ngƣời dùng trò chuyện có cửa sổ riêng để giao lƣu với nhiều ngƣời lần đăng nhập Những thông điệp gửi tới thành viên offline đƣợc lƣu vào danh sách tin nhắn offline ngƣời Từ cửa sổ 17 khác ngƣời dùng hoàn toàn quay lại chuyển sang cửa sổ khác cách dễ dàng tiện dụng Chi tiết chức giao diện chƣơng trình đƣợc mô tả chi tiết mục sau Các chức chƣơng trình Ngay sau khởi động chƣơng trình giao diện nhƣ hình lên, ngƣời dùng nhập thông tin username password vào ô văn tƣơng ứng nhấn nút login để đăng nhập: Hình 11: Giao diện ban đầu chương trình Sau đó, ngƣời dùng nhập sai username hay password tài khoản có ngƣời sử dụng rồi, chƣơng trình cảnh báo yêu cầu ngƣời dùng nhập lại tài khoản nhập vào hợp lệ: username, password chƣa có ngƣời sử dụng tài khoản (hình 2) Nếu tài khoản hợp lệ, chƣơng trình cho phép ngƣời dùng login cửa sổ, nơi hiển thị danh sách bạn bè với trạng thái nhập/xuất kèm theo chức chƣơng trình (hình 3) 18 Hình 12: Tài khoản không hợp lệ Giao diện chƣơng trình - cửa sổ danh sách bạn bè với trạng thái nhập/xuất menu chứa chức chƣơng trình: Hình 13: Giao diện chương trình 19 Nhấn vào nút menu giao diện chính, ngƣời dùng thấy danh sách chức chƣơng trình:  Offline message: nhấn vào để xem tin nhắn offline  Addfriend: thêm bạn  Talk: chọn ngƣời danh sách sau nhấn tùy chọn để bắt đầu trò chuyện  Tùy chọn logoff bên trái cho phép ngƣời dùng đăng xuất khỏi chƣơng trình Trong ngƣời dùng chọn mục menu, chƣơng trình cho hiển thị cửa sổ riêng thực thi chức đƣợc chọn Các chức có thiết kế tƣơng tự nhau, gồm hai nút nhấn, để thực công việc để quay lại giao diện Hình 14: Các cửa sổ chức Chức talk: ngƣời dùng dùng nút back để quay lại chọn ngƣời khác để trò chuyện, ngƣời dùng quay lại nói chuyện với ngƣời trƣớc đó, nội dung trò chuyện đƣợc giữ nguyên, tin nhắn đƣợc cập nhật lúc ngƣời dùng rời khỏi cửa sổ 20 [...]... đƣợc sử dụng: - Chƣơng trình trên Client (trên điện thoại di động) đƣợc xây dựng bằng J2ME: J2ME là một phiên bản của JAVA, đƣợc xây dựng để đƣa sức mạnh lập trình của JAVA đến với các thiết bị cầm tay, hiện nay J2ME là một ngôn ngữ rất phổ biến để lập trình trên điện thoại di động - Chƣơng trình trên Server đƣợc xây dựng bằng Servlet của JAVA: Servlets là tập mã lệnh java đƣợc chạy trên ứng dụng web... dùng hoạt động với form nào thì chuỗi url của form đó sẽ đƣợc phát sinh, cờ tƣơng ứng của form cũng đƣợc bật, sự thay đổi này sẽ đƣợc truyền cho lớp chính nhờ thuộc tính midlet Từ đó các yêu cầu sẽ đƣợc đáp ứng nhờ việc kết nối với server theo chuỗi url của lớp chính 16 GIỚI THIỆU VỀ CHƢƠNG TRÌNH VÀ CÁC CÔNG CỤ XÂY DỰNG CHƢƠNG TRÌNH 1 Các công cụ xây dựng chƣơng trình Để xây dựng chƣơng trình các công... và tiện dụng Chi tiết về các chức năng và giao di n của chƣơng trình sẽ đƣợc mô tả chi tiết trong các mục sau 3 Các chức năng của chƣơng trình Ngay sau khi khởi động chƣơng trình giao di n nhƣ hình 1 sẽ hiện lên, ngƣời dùng nhập thông tin là username và password vào ô văn bản tƣơng ứng và nhấn nút login để đăng nhập: Hình 11: Giao di n ban đầu của chương trình Sau đó, nếu ngƣời dùng nhập sai username... chƣơng trình (hình 3) 18 Hình 12: Tài khoản không hợp lệ Giao di n chính của chƣơng trình - cửa sổ hiện danh sách bạn bè với trạng thái nhập/xuất và một menu chứa các chức năng của chƣơng trình: Hình 13: Giao di n chính của chương trình 19 Nhấn vào nút menu trên giao di n chính, ngƣời dùng có thể thấy danh sách các chức năng của chƣơng trình:  Offline message: nhấn vào đây để xem các tin nhắn offline... vào các biểu đồ trình tự ta có thể nhìn thấy đƣợc phần lớn các lớp cần xây dựng của chƣơng trình, một lớp chính là một ứng dụng midlet, các lớp form để phục vụ các chức năng khác nhau của ngƣời dùng, login, logout, talk, show friend list…Và một vài lớp phụ phục vụ cho các phƣơng thức của lớp chính nhƣ: kết nối với server, lƣu trữ dữ liệu, xử lý dữ liệu và chuẩn hóa xâu Các lớp của chƣơng trình đƣợc mô... javax.servlet và javax.servlet.http - Server chạy trên trình chủ Tomcat: Tomcat là trình chủ mã nguồn mở Webserver hỗ trợ Java rất nổi tiếng Có thể download miễn phí tại mã nguồn và bộ cài TomCat tại địa chỉ http://jakarta.apache.org - Cơ sở dữ liệu đƣợc dùng là hệ quản trị SQL SERVER 2000 2 Giới thiệu chƣơng trình Các chức năng chính của chƣơng trình chat:  Đăng nhập  Đăng xuất  Hiển thị danh sách... trọng và phức tạp nhất của chƣơng trình, tại một thời điểm sẽ có nhiều thông điệp đƣợc gửi lên server, sự tranh chấp tài nguyên có thể khiến 12 thông điệp không đƣợc gửi đi, làm mất tính an toàn và ổn định của chƣơng trình, do đó phía server cần phải có những xử lý cho vấn đề tranh chấp tài nguyên Hình 9: Biểu đồ trình tự của user case multi talking 13 Khi ngƣời dùng di chuyển trên danh sách bạn bè và... đang sử dụng rồi, thì chƣơng trình sẽ hiện cảnh báo và yêu cầu ngƣời dùng nhập lại cho đến khi tài khoản nhập vào là hợp lệ: đúng username, password và chƣa có ngƣời đang sử dụng tài khoản đó (hình 2) Nếu tài khoản hợp lệ, chƣơng trình sẽ cho phép ngƣời dùng login và hiện ra một cửa sổ, nơi hiển thị danh sách bạn bè với trạng thái nhập/xuất kèm theo và các chức năng của chƣơng trình (hình 3) 18 Hình... Hiển thị danh sách bạn bè với trạng thái nhập/xuất  Hiển thị tin nhắn offline  Thêm bạn bè vào danh sách  Chat với nhiều ngƣời Mặc dù chƣơng trình còn nhiều hạn chế, tuy nhiên đã hoàn thành căn bản những yêu cầu của đề tài đặt ra, các chức năng và giao di n khá giống với các chƣơng trình chat đang phổ biến nhƣ yahoo, với một danh sách bạn bè luôn đƣợc cập nhật trạng thái nhập/xuất, ngƣời dùng có... chuyện  Tùy chọn logoff bên trái cho phép ngƣời dùng đăng xuất khỏi chƣơng trình Trong đó mỗi khi ngƣời dùng chọn một mục trên menu, chƣơng trình sẽ cho hiển thị một cửa sổ riêng thực thi chức năng đã đƣợc chọn đó Các chức năng đều có thiết kế tƣơng tự nhau, đều gồm hai nút nhấn, một để thực hiện công việc và một để quay lại giao di n chính Hình 14: Các cửa sổ chức năng Chức năng talk: ngƣời dùng có

Ngày đăng: 17/05/2016, 22:44

Tài liệu cùng người dùng

Tài liệu liên quan