Khóa luận Xây dựng cổng thông tin cá nhân hỗ trợ truy cập từ thiết bị di động

XÂY DỰNG CỔNG THÔNG TIN CÁ NHÂN HỖ TRỢ TRUY CẬP TỪ THIẾT BỊ DI ĐỘNG Tóm tắt nội dung Trong tương lai mỗi gia đình đều có một máy tính kết nối Internet. Nối mạng đã trở thành một xu thế. Bằng chứng là sự phát triển như vũ bão của mạng Internet. Nhu cầu về có một cổng thông tin cá nhân trên Internet dành cho mỗi người là một điều kiện thiết yếu. Nó sẽ là một công cụ phục vụ đắc lực cho cuộc sống và cho công việc và là nơi để giới thiệu bản thân với bạn bè khắp nơi trên thế giới. Khái niệm cổng thông tin cá nhân không đồng nghĩa với website cá nhân. Trên thế giới đã có rất nhiều các trang web cho phép tạo các trang web cá nhân một cách dễ dàng. Nhưng những trang web đó chỉ dừng lại ở việc giới thiệu về bản thân, không phục vụ cho công việc của bạn được. Cổng thông tin các nhân mà tác giả muốn đề cập đến là một công cụ phục vụ đắc lực cho cuộc sống và cho công việc. Là một cổng thông tin kết nối các thiết bị di động đối với internet. Cổng thông tin cá nhân ngoài khả năng giới thiệu về bản thân, quản lý và chia sẻ tài liệu phần mềm, cổng thông tin còn có khả năng giao tiếp với các thiết bị di động. Một sự khác biệt lớn nữa là cổng thông tin này đựợc đặt tại các máy tính ở các gia đình. Khi bạn đi công tác ở bất cứ nơi đâu, đều có thể dễ dàng truy cập vào cổng thông tin, để lấy các thông tin, như xem có công văn nào mới, hoặc xem tên các công việc phải làm trong ngày và có thể kiểm tra thông tin về khách hàng trong sổ địa chỉ của hệ thống. Mục lục : Lời cảm ơn 3 Tóm tắt nội dung . 4 Mục lục : . 5 Các từ viết tắt 7 CHƯƠNG 1: MỞ ĐẦU 7 I.1 Mục tiêu của hệ thống . 7 I.2 Tổng quan về hệ thống . 8 1.3 Sự cần thiết của cổng thông tin cá nhân . 8 1.4 Các chức năng cổng thông tin sẽ cung cấp9 CHƯƠNG 2: KIẾN THỨC CƠ SỞ . 11 2.1 Giới thiệu về Java Server Page11 2.1.1 Cơ chế hoạt động của Java Server Page(JSP) . 11 2.1.2 Cú pháp cơ bản của Java Server Page . 12 2.2 Giới thiệu về J2ME14 2.2.1 Các ứng dụng của J2ME14 2.2.2 Lịch sử J2ME . 14 2.2.3 Lý do chọn J2ME14 2.2.4Kiến trúc J2ME . 15 2.2.5 Tìm hiểu chương trình J2ME đầu tiên . 17 2.2.6 Các gói hỗ trợ lập trình: . 23 CHƯƠNG 3: XÂY DỰNG CỔNG THÔNG TIN CÁ NHÂN 26 3.1 Mô tả bài toán26 3.2 Biểu đồ ngữ cảnh27 3.3Biểu đồ phân rã chức năng28 3.4 Mô tả chi tiết các chức năng . 28 3.5Biểu đồ luồng dữ liệu hệ thống mức 038 3.7 Thiết kế cơ sở dữ liệu47 3.7.1 Xác định các thực thể . 47 3.7.2 Mô hình quan hệ thực thể50 3.7.3 Cấu trúc chi tiết các bảng . 51 3.8 Chi tiết về một số module của chương trình54 3.9 Một số giao diện của chương trình.63 3.10 Triển khai hệ thống cổng thông tin cá nhân67 CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH TRÊN THIẾT BỊ DI ĐỘNG 68 4. 1 Mô tả bài toán . 68 4.2 Biểu đồ phân rã chức năng . 68 4.2.1 Biểu dồ luồng dữ liệu mức 1 chức năng xem công văn . 69 4.2.2 Biểu đồ luồng dữ liệu mức 1 chức năng xem công việc70 4.2.3 Biểu đồ luồng dữ liệu mức 1 chức năng xem sổ địa chỉ . 71 4.3 Mốt số module tiêu biểu . 72 4.4 Một số giao diện của chương trình . 77 4.5 Triển khai chương trình trên thiết bị di động82 Kết luận và phương hướng phát triển tiếp theo 84 Tài liệu tham khảo 85

doc85 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2279 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Khóa luận Xây dựng cổng thông tin cá nhân hỗ trợ truy cập từ thiết bị di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
a sẽ tìm hiểu, đó là nền tảng J2ME- Java 2 Platform,Micro Edition. 2.2.2 Lịch sử J2ME J2ME được phát triển từ kiến trúc Java Card, Embeded Java và Personal Java của phiên bản Java 1.1. Đến sự ra đời của Java 2 thì Sun quyết định thay thế Personal Java và đươc gọi với tên mới là Java 2 Micro Edition, hay viết tắt là J2ME. Đúng với tên gọi, J2ME là nền tảng cho các thiết bị có tính chất nhỏ, gọn. 2.2.3 Lý do chọn J2ME Lý do chính để chọn J2ME là vì : Java ban đầu được thiết kế dành cho các máy với tài nguyên bộ nhớ hạn chế . Nhưng sau đó thị trường của J2ME được mở rộng ra cho nhiều chủng loại thiết bị như: Các lọai thẻ cá nhân như Java Card Máy điện thoại di động Máy PDA (Personal Digital Assistant - thiết bị trợ giúp cá nhân) Các hộp điều khiển dành cho tivi, thiết bị giải trí gia dụng … 2.2.4 Kiến trúc J2ME Phần này sẽ trình bày kiến trúc tổng quát toàn bộ nền tảng Java, để qua đó ta có thể thấy rõ hơn chiến lược về Java của Sun Hình 3. Kiến trúc tổng quát nền tảng của Java Giới thiệu các thành phần trong nền tảng J2ME: Định nghĩa về cấu hình: Cấu hình là đặc tả định nghĩa một môi trường phần mềm cho một dòng các thiết bị được phân loại bởi tập hợp các đặc tính, ví dụ như: Kiểu và số lượng bộ nhớ, kiểu và tốc độ bộ vi xử lý, kiểu mạng kết nối CLDC (Connected Limited Device Configuration-Cấu hình thiết bị kết nối giới hạn): được thiết kế để nhắm vào thị trường các thiết bị cấp thấp, các thiết bị này thông thường là máy điện thọai di động và PDA với khoảng 512 KB bộ nhớ. Vì tài nguyên bộ nhớ hạn chế nên CLDC được gắn với Java không dây (Java Wireless ), dạng như cho phép người sử dụng mua và tải về các ứng dụng Java, ví dụ như là Midlet. Cấu hình thiết bị kết nối (CDC- Connected Device Configuration ): CDC được đưa ra nhắm đến các thiết bị có tính năng mạnh hơn dòng thiết bị thuộc CLDC nhưng vẫn yếu hơn các hệ thống máy để bàn sử dụng J2SE. Những thiết bị này có nhiều bộ nhớ hơn (thông thường là trên 2Mb) và có bộ xử lý mạnh hơn. Các sản phẩm này có thể kể đến như các máy PDA cấp cao, điện thoại web, các thiết bị gia dụng trong gia đình … Sơ lược về MIDP Định nghĩa: Đây là định nghĩa dành riêng cho các thiết bị di động và là thành phần chính trong J2ME. MIDP cung cấp các chức năng cơ bản cho hầu hết các dòng thiêt bị di động phổ biến nhất như các máy điện thoạI di động và các máy PDA. Tuy nhiên MIDP không phải là cây đũa thần cho mọi lập trình viên vì như chúng ta đã biết, MIDP được thiết kế cho các máy di động có cấu hình rất thấp. Trong phần sau sẽ liệt kê qua các tính năng mà MIDP cung cấp và những giới hạn của nó. Những chức năng MIDP không thể làm được: Phép tính dấu phẩy động : Phép tính này đòi hỏi rất nhiều tài nguyên CPU và phần lớn các CPU cho các thiết bị di động không hỗ trợ phép tính này, do đó MIDP cũng không có. Bộ nạp lớp Việc “dọn dẹp“ tài nguyên trước khi nó bị xóa được đẩy về phía các lập trình viên. Không hỗ trợ JNI Hỗ trợ hạn chế thao tác bắt lỗi. Phần lớn các thư viện API cho Swing và AWT không thể sử dụng được trong MIDP. Không hỗ trợ các tính năng quản lý file và thư mục: Đây có thể làm bạn ngạc nhiên nhưng thực tế là các thiết bị J2ME không có hỗ trợ các thiết bị lưu trữ thông thường như ổ cứng v.v. Tuy nhiên, điều đó không có nghĩa là bạn phải mất đi mọi dữ liệu quan trọng mỗi khi tắt máy, Sun đã cung cấp một chức năng khác tương đương gọi là Record Management system (RMS) để cung cấp khả năng lưu trữ cho các thiết bị này. Những chức năng MIDP cung cấp: Các lớp và kiểu dữ liệu: Phần lớn các lớp mà các lập trình viên Java quen thuộc vẫn còn được giữ lại ví dụ như các lớp trong gói java.util như Stack, Vector và Hastable cũng như Enumeration. Trong phần phụ lục, ta sẽ liệt kê các gói cũng như số lượng của chúng được hỗ trợ trong môi trường J2ME bao gồm CLDC, CDC và MIDP. Hỗ trợ đối tượng hiển thị: Đúng như tên gọi một chương trình MIDP sẽ hỗ trợ duy nhất một đối tượng hiển thị là đối tượng quản lý việc hiển thị dữ liệu trên màn hình điện thoại. Hỗ trợ Form và các giao diện người dùng. Hỗ trợ Timer và Alert Cung cấp tính năng Record Management System (RMS) cho việc lưu trữ dữ liệu 2.2.5 Tìm hiểu chương trình J2ME đầu tiên Thiết lập môi trường lập trình: Cài đặt: Bạn cần cài đặt bộ J2SE vào máy tính của bạn. Ta giả sử là đang sử dụng Windows 2000 phiên bản Professional. Địa chỉ tải J2SE về là việc cài đặt này khá dễ dàng nên không đi vào chi tiết, giả sử là bạn cài đặt ở thư mục j2sdk1.4.0_03 ở thư mục gốc ổ đĩa C Thiết lập giá trị cho các biến môi trường: Bạn vào Control Panel -> System -> chọn tab Advanced, click vào nút Environment Variables. Bạn thêm giá trị JAVA_HOME với giá trị là c:\j2sdk1.4.0_03. Thiết lập đường dẫn: Cũng vẫn ở trong cửa sổ Environment Variables. Thêm giá trị c:\j2sdk1.4.0_03\bin vào biến môi trường Path Cài đặt J2ME Wireless Toolkit Đây là bộ công cụ do Sun phát triển, giúp các lập trình viên có thể test và chạy thử chương trình của mình mà không cần phải có máy điện thoại thật. Bạn đọc có thể lấy bộ công cụ này về từ địa chỉ Chú ý là phải đăng ký thành viên trước khi download. Việc đăng ký này là hoàn toàn miễn phí. Để cài đặt, bạn làm theo hướng dẫn của chương trình. Tác giả giả sử bạn sẽ cài đặt vào thư mục Wtk104 trên thư mục gốc ổ đĩa C Sau khi cài đặt thành công, bạn sẽ có thư mục chương trình trong menu Start như hình vẽ Để chạy bộ Tool Kit này, bạn chọn Ktoolbar. Nếu mọi việc suôn sẻ, bạn sẽ thấy cửa bộ chính hiện ra Chúc mừng bạn, bạn đã sẵn sàng cho việc viết chương trình cho chiếc điện thoại của mình Tìm hiểu chương trình đầu tiên: Sau khi hoàn thành các các bước ở trên, đây là lúc bắt đầu viết những dòng code đầu tiên. Bạn nhấp chuột vào nút bấm New Project và nhập vào tên Project và Class mà bạn muốn tạo, ví dụ TestMidlet. Chú ý là bạn không nhất thiết phải tạo trùng tên class với tên Project. Trên cửa sổ chương trình sẽ hiển thị các thông báo về việc tạo các thư mục phục vụ cho việc xây dựng và thực thi mã chương trình Bạn hãy dùng Windows Explorer để xem xét các thư mục vừa tạo ToolKit sẽ tự động tạo 1 thư mục con trong thư mục apps có tên trùng với tên Project mà bạn vừa tạo, trong trường hợp này là TestMidlet. Ta hãy điểm sơ qua vài thư mục quan trọng. bin: Chứa 2 file để cài đặt,.Jar ( Java ARchive) và file miêu tả.jad lib: Chứa các thư viện bổ sung mà bạn muốn thêm vào chương trình res: là thư mục để bạn để các file tài nguyên dành riêng cho chương trình như file văn bản và hình ảnh. src: Đây là thư mục quan trọng nhất, là nơi bạn đặt các file chứa mã nguồn Ngòai ra, khi chạy chương trình bộ Toolkit này còn tạo ra một số thư mục để dành mục đích riêng. Bây giờ là đến lúc bắt đầu viết mã chương trình. Bạn hãy dùng 1 chương trình sọan thảo văn bản nào đó và viết đọan code sau import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class TestMidlet extends MIDlet implements CommandListener { private Form mMainForm; public TestMidlet() { mMainForm = new Form("Chuong trinh so 1"); mMainForm.append(new StringItem(null, "Chao cac ban, MIDP!")); mMainForm.addCommand(new Command("Exit", Command.EXIT, 0)); mMainForm.setCommandListener(this); } public void startApp() { Display.getDisplay(this).setCurrent(mMainForm); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commandAction(Command c, Displayable s) { notifyDestroyed(); } } Sau đó, hãy lưu đoạn code trên vào file tên là TestMidlet.java trong thư mục src. Sau đó bấm vào nút Build, nếu code của bạn không bị lỗi, bạn sẽ nhận được thông báo sau Project settings saved Building "TestMidlet" Build complete Nhấn nút Run để chạy Emulator, chọn TestMidlet Nếu bạn thấy trên máy bạn xuất hiện hình như hình vẽ bên dưới thì xin chúc mừng bạn. Chương trình J2ME đầu tiên đã chạy thành công Tìm hiểu chi tiết mã nguồn: Giống như dạng chương trình Applet trên J2SE, một Midlet luôn luôn kế thừa javax.microedition.midlet Hàm cơ bản nhất trong mọi Midlet là startApp(), hàm này sẽ khởi tạo Midlet cũng như vận hành các thành phần hoặc đối tượng khác, ngoài startApp(), mỗi Midlet còn có pauseApp() và destroyApp(), mỗi hàm này sẽ đựợc gọi thực thi tương ứng khi user chọn dừng hoặc thoát chương trình. Màn hình thật sự trên điện thọai di động được hình tượng hóa bằng đối tượng Display. Mỗi Midlet chỉ có một và duy nhất một đối tượng Display, mà bạn có thể truy cập bằng cách dùng lệnh getDisplay(this) 2.2.6 Các gói hỗ trợ lập trình: Bảng 1: Tổng số class và interface trong CLDC Tên gói Miêu tả Số lượng class và interface java.io Quản lý việc xuất nhập của hệ thống 18 java.lang Các lớp Java cơ bản 38 java.util Các lớp hỗ trợ việc tính thời gian, quản lý tập hợp v.v 10 javax.microedition Quản lý kết nối 10 Bảng 2: Các lớp bổ sung trong MIDP 1.0 Tên gói Miêu tả Số lượng class và interface javax.microedition.rms Quản lý việc lưu trữ dữ liệu 10 javax.microedition.midlet Giao diện trung gian giữa Midlet và môi trường Midlet đang chạy 2 javax.microedition.io Hỗ trợ HTTP 1 javax.microedition.lcdui Hỗ trợ giao diện người dùng 24 Bảng 3: Tổng số class và interface trong CDC Tên gói Miêu tả Số lượng class và interface java.io Quản lý việc xuất nhập của hệ thống 62 java.lang Các lớp Java cơ bản 77 java.lang.ref Các lớp hỗ trợ bộ thu gom “rác” của JVM 5 java.lang.reflect Hỗ trợ tính năng reflection trong Java 12 java.math Hỗ trợ các phép tính trong toán học 1 java.net Hỗ trợ mạng 23 java.security Cung cấp các tính năng bảo mật 36 java.security.cert Hỗ trợ các chứng thực trong bảo mật 4 java.text Cung cấp các lớp hỗ trợ thao tác trên text 13 java.util Các lớp hỗ trợ việc tính thời gian, quản lý tập hợp v.v 47 java.util.jar Hỗ trợ thao tác trên file Jar 7 java.util.zip Hỗ trợ thao tác trên file Zip 9 javax.microedition Quản lý kết nối 10 CHƯƠNG 3: XÂY DỰNG CỔNG THÔNG TIN CÁ NHÂN 3.1 Mô tả bài toán Cổng thông tin cá hỗ trợ truy cập từ thiết bị di động là một sự kết hợp cần thiết giữa một cổng thông tin cá nhân và khả năng cho phép truy cập từ thiết bị di động. Cổng thông tin cá nhân quản lý các thông tin liên quan đến cá nhân. Các thông tin đó bao gồm các thông tin về công việc, các tài liệu, phần mềm, sổ địa chỉ, các thông tin giới thiệu về bản thân…Cổng thông tin cá nhân thực hiện nhiệm vụ lưu trữ, sắp xếp các thông tin cá nhân đó một cách khoa học nhất và dễ dàng cho tìm kiếm và lưu trữ. Ngoài khả năng lưu trữ cổng thông tin cá nhân còn cho phép truy cập bằng rất nhiều cách khác nhau. Ta có thể truy cập cổng thông tin từ bất kỳ nơi đâu trên thế giới chỉ vói một chiếc máy tính kết nối Internet. Khi truy cập vào cổng thông tin cá nhân sẽ tạo cho ta cảm giác như đang ngồi tại máy tính ở nhà, bởi vì ở đó có tất cả các thông tin cần thiết phục vụ cho công việc và một điều thật đặc biệt là thông tin đó có thể truy cập từ bất kỳ nơi đâu với sự trợ giúp của Internet. Ta cũng có thể truy cập cổng thông tin từ thiết bị di động. Khi thiết bị di động truy cập vào cổng thông tin cá nhân có thể xem công văn, xem thông tin về công việc trong ngày và tra cứu điạ chỉ của một ai đó. Các dịch vụ truy cập đó có thể mở rộng ra rất nhiều các dịch vụ khác.Các thiết bị di động đang ngày càng trở nên phổ biến, vì thế mà thiết bị di động cũng đang trở thành một vật dụng cho phép truy cập thông tin hữu dụng mọi lúc mọi nơi. 3.2 Biểu đồ ngữ cảnh Hình bên dưới là mô tả biểu đồ ngữ cảnh của hệ thống cổng thông tin cá nhân Hình 4. Biểu đồ ngữ cảnh CTTCN Download & xem thông tin Xem thông tin Yêu cầu truy cập Download tài liệu Thông tin địa chỉ Lấy thông tin sổ địa chỉ Lấy thông tin công việc Truy cập thông tin từ thiết bị di động Upload tài liệu Viết bài trên forum Download Tai liệu và phần mềm Cổng thông tin cá nhân Guest Friend Admin Máy di động Công văn Thông tin công việc Biểu đồ phân rã chức năng Cổng thông tin 1. Lập lịch 2.Sổ địa chỉ 3.Hỗ trợ truy cập mobile 4.Chia sẻ tài liệu 5.Forum 6.Upload ảnh 7. Quản trị hệ thông Hình 5. Biểu đồ phân rã chức năng Cổng thông tin cá nhân gồm các chức năng sau: Lập lịch Lưu thông tin sổ địa chỉ Hỗ trợ truy cập mobile Chia sẻ tài liệu Forum Upload Ảnh Quản trị hệ thống 3.4 Mô tả chi tiết các chức năng 1. Chức năng lập lịch Chức năng hỗ trợ cho lập lịch cá nhân. Các công việc được lập ra trước sau đó xem lại để tránh không quên bất cứ một công việc nào mà định làm trong ngày. 1.0. Lập lịch 1.1. Tạo mới công việc 1.2. Xem công việc 1. 3.Xóa 1.4 Chỉnh sửa 1. Tìm kiếm Hình 6. Biểu đồ phân rã chức năng lập lịch Mô tả chi tiết các mức dưới của chức năng lập lịch Tạo mới công việc Để tạo mới một công việc, đầu tiên chọn thời gian mà công việc cần được làm.Thời gian có thể là trong ngày hoặc có thể là một ngày trong tương lai, nếu là ngày trong tương lai thì đến ngày đó thì hệ thống sẽ hiện ra công việc đã lập để nhắc nhở bạn. Sau đó ghi tên của công việc. Và ghi nội dung của công việc cần làm. Thường thì các công việc của một ngày thường được lập từ tối hôm trước, ngày hôm sau ta chỉ cần xem vào đó để thực hiện các công việc đã được lập từ trước. Nếu một ngày có khoảng 10 cuộc hẹn gặp thì bạn sẽ không thể nhớ hết được và dễ dàng bỏ quên một cuôc gặp nào đó. Chức năng này sẽ rất hữu ích cho bạn. Xem công việc Sau khi tạo xong có thể xem tất cả các công việc đã lập. Hệ thống chỉ hiển thị các công việc của chính ngày hôm đó, nếu công việc được lập từ ngày hôm trước, hoăc cho một ngày trong tương lai thì không thể xem được trong ngày hiện tại. Tức là hệ thống chỉ hiển thị công việc của ngày hôm đó, điều này giúp dễ dàng cho việc xem và thực hiện. Xóa công việc Xóa một công việc, ví dụ như bạn cần hủy bỏ một công việc nào đó trong ngày thì chỉ cần xóa công việc đó. Chỉnh sửa một công việc Chức năng này dùng chỉnh sửa nội dung của công việc đã lập. Nội dung chỉnh sửa có thể là về thời gian thực hiện công việc, hoặc có thể thay đổi nội dung của một công việc. Tìm kiếm Chức năng tìm kiếm hỗ trợ nhiều định dạng tìm kiếm. Ví dụ như tìm kiếm theo thời gian (ta có thể nhập vào một thời gian cụ thể hoặc có thể nhập vào một khoảng thời gian ) , tìm kiếm theo tên công việc ... 2. Chức năng sổ địa chỉ Chức năng này lưu trữ sổ địa chỉ của bạn bè, người thân, đối tác làm ăn. Việc lưu trữ giúp dễ dàng cho việc xem và tra cứu. Hình bên dưới phân rã các mức nhỏ hơn bên trong chức năng sổ địa chỉ. 2.0. Sổ địa chỉ 2.1. Tạo mới địa chỉ 2.2. Xem 2. 3.Xóa 2.4 Chỉnh sửa 2.5 Tìm kiếm Hình 7. Biểu đồ phân rã chức năng sổ địa chỉ Mô tả chi tiết các mức dưới của chức năng sổ địa chỉ Tạo mới một địa chỉ Bạn có thể tạo mới một địa chỉ bằng cách điền đầy đủ các thông tin của người cần tạo. Các thông tin gồm có họ và tên, số điện thoại, địa chỉ, nơi công tác, thời gian có thể gặp… Xem địa chỉ Danh sách của địa chỉ sẽ được liệt kê theo thứ tự chữ cái. Để xem một địa chỉ bạ chọn vào địa chỉ đó hệ thống sẽ hiển thị các thông tin chi tiết về đối tượng đó. Xóa địa chỉ Xóa một địa chỉ cũ Chỉnh sửa địa chỉ Sửa một địa chỉ Tìm kiếm địa chỉ Chức năng tìm kiếm hỗ trợ nhiều định dạng tìm kiếm ví dụ như theo họ và tên hoặc tìm kiếm theo địa chỉ email, tìm kiếm theo nơi ở … 3. Hỗ trợ truy cập mobile Module này thiết kế nhằm hỗ trợ cho phép truy cập từ thiết bị di động. Cụ thể nó cung cấp các dịch vụ truy cập công văn, truy cập thông tin công việc, truy cập sổ địa chỉ. Hình dưới đây sẽ liệt kê chi tiết các chức năng đó 3.0. Hỗ trợ truy cập mobile 3.1. Truy cập công văn 3.2. Truy cập thông tin công việc 2. 3.Truy cập sổ địa chỉ Hình 8. Biểu đồ phân rã chức năng hỗ trợ truy cập mobile Chức năng hỗ trợ truy cập Mobile nhằm cung cấp nguồn thông tin cho thiết bị mobile khi có nhu cầu truy cập thông tin từ cổng thông tin. Phần tiếp theo sẽ nói rõ chi tiết hơn về các chức năng nhỏ bên trong chức năng lớn. Truy cập công văn Khi có yêu cầu truy cập công văn từ máy di động, module sẽ truy cập vào hệ thống để lấy thông tin về công văn. Trong khoa luận tác giả tạo ra một module giả lập việc tạo và nhận công văn, khi triển khai thực có thể làm như sau. Có thể yêu cầu admin của hệ thống quản lý công văn cho phép truy cập vào cơ sở dữ liệu của họ, hoặc là yêu cầu họ cung cấp một module (đầu vào là username và pass của người dùng, đầu ra là các dữ liệu về công văn của người đó). Truy cập thông tin công việc Cung cấp thông tin về thông tin công việc của thiết bị di động. Truy cập sổ địa chỉ Cung cấp thông tin về sổ địa chỉ. 4. Chia sẻ tài liệu Chức năng giúp cho người dùng dễ dàng xem và download tài liệu và phần mềm. Tài liệu được lưu theo theo các nhóm (catalog). Cách bố trí này giúp dễ dàng cho việc tìm kiếm. Hình bên dưới là phân rã các chức năng nhỏ bên trong chức năng chia sẻ tài liệu 4.0. Chia sẻ tài liệu 4.1. Xem và download 4.2. Upload tài liệu 4. 3.Tìm kiếm 4.4 Xóa Hình 9. Biểu đồ phân rã chức năng chia sẻ tài liệu Xem và download Tài liệu được sắp xếp theo nhóm, chọn một nhóm sẽ hiển thị ra chi tiết các tài liệu. Chọn một tài liệu sẽ có các thông tin chi tiết về tài liệu đó (gồm các thông tin tên tài liệu, thời gian gửi, mô tả nội dung tài liệu…) và có button cho phép download tài liệu đó một cách dễ dàng. Upload tài liệu Tài liệu cũng được upload theo nhóm. Trước tiên là chọn file cần upload (hỗ trợ nút Browser dễ dàng cho việc chọn). Sau đó chọn nhóm tài liệu, vị dụ tài liệu hiện đinh upload là một tài liệu về tin học thì chọn nhóm tin học. Sau đó mô tả tóm tắt nội dung của tài liệu. Sau đó quá trình đưa dữ liệu lên server được tiến hành. Xóa một tài liệu Xóa các tài liệu không cần thiết, để dành không gian cho các tài liệu mới. Tìm kiếm tài liệu Chức năng tìm kiếm hỗ trợ rất nhiều kiểu tìm kiếm, tìm kiếm theo tên tài liệu, theo nội dung, theo ngày gửi. 5. Forum 5.0. Forum 5.1. Tạo một chủ đề 5.2. Viết bài 5. 3.Trả lời 5.4 Xóa 5.5 Tìm kiếm Hình 10. Biểu đồ phân rã chức năng forum Cho phép trao đổi thông tin cùng bạn bè Tạo chủ đề mới Chức năng giúp tạo ra một chủ đề mới trên diễn đàn. Diễn đàn gồm nhiều chủ đề. Trong mỗi chủ đề người viết có thể bàn luận về vấn đề đó. Form view Module tạo chủ đề CSDL Tên chủ đề mới Thực hiện chèn chủ đề mới Module tạo chủ đề mới: Input: (Tên chủ đề) Output: thực hiện chèn vào CSDL chủ đề mới Viết bài Chọn một chủ đề cần tranh luận, sau đó chọn viết bài trong chủ đề đó. Một topic có thể gồm nhiều bài viết. Form view Module tạo bài viết CSDL Nội dung bài viết mới Thực hiện chèn bài viết mới Tên của chủ đề Module tạo bài viết: Input: (tên chủ đề, nội dung bài viết mới) Output: thực hiện lệnh chèn vào CSDL Trả lời Một bài viết được đưa ra có thể nhiều người cùng tranh luận. Cùng một bài viết có thể có nhiều người cùng trả lời. Để trả lời (Reply) một bài viết, khi xem xong bài viết người dùng chọn nút reply hệ thống sẽ hiển thị ra một form mới cho phép nhập liệu. Form view Module Reply CSDL id bài viết cần trả lời Thực hiện chèn vào CSDL Module Reply: Input: id của bài viết cần trả Output: thực hiện chèn bài viết trả lời vào CSDL Xóa bài viết Chức năng sẽ thực hiện xóa các bản ghi khi không còn cần thiết. Quá trính xử lý khi xóa một bản ghi. id bài viết Form view Module xóa CSDL Thực hiện xóa Module xóa: Input : id bài viết Output: thực hiện lệnh SQL xóa bài viết có id truyền vào Tìm kiếm bài viết Chức năng yêu cầu người dùng nhập vào từ khóa cần tìm kiếm, hệ thống sẽ trả về các bản ghi phù hợp.Quá trình xử lý tìm kiếm như sau. Form tìm kiếm Module truy vấn Từ khóa tìm kiếm CSDL Thực hiện truy vấn Các bản ghi phù hợp Các bản ghi phù hợp Module truy vấn : Input : từ khóa Output: các bản ghi phù hợp 6. Upload ảnh Chức năng giúp đưa ảnh lên cổng thông tin, ảnh sẽ được upload một cách dễ dàng 6.0. Upload ảnh 6.1. Upload 6.2. Xem 6. 3.Xóa 6.4 Tim kiếm Hình 11. Biểu đồ phân rã chức năng upload ảnh Phần tiếp theo sẽ mô tả chi tiết các mức bên dưới cả chức năng upload ảnh Upload ảnh Để upload ảnh, đầu tiên cần chọn ảnh cần upload. Nhập tên hiển thị của ảnh và có thể viết một vài chú thích về bức ảnh. Sau đó chọn nút upload, quá trinh upload sẽ được tiến hành. Quá trình upload được xử lý gồm 2 quá trình. Quá trình 1: Thực hiện đưa ảnh lên máy server Quá trình 2: thực hiện chèn các thông tin về bức ảnh vào CSDL(Tiêu đề, chú thích, Thời gian) Xem ảnh Hiển thị các bức ảnh đã được upload lên cổng thông tin.Có thể xem chi tiết một bức ảnh bằng cách chọn vào đường link “Tiêu đề ”. Khi đó id của ảnh đó sẽ được truyền đến module thực hiện cho phép xem ảnh một cách chi tiết. Bao gồm các thông tin như thời gian upload, các chú thích về bức ảnh. Xóa ảnh Đánh dấu vào bức ảnh cần xóa, sau đó chọn nút xóa, id của bức ảnh đó sẽ được truyền đến module thực hiện chức năng xóa ảnh. Quá trình xóa một bức ảnh sẽ diễn ra ở module đó. Tìm kiếm ảnh Chức năng này hỗ trợ tìm kiếm một cách thuận tiện nhất. Để tìm kiếm đầu tiên phải nhập tữ khóa tìm kiếm vào, sau từ khóa đó được chuyển đến module thực hiện chức năng tìm kiếm. Module này thực hiện tìm kiếm trong CSDL. Kết quả tìm kiếm sẽ đựợc trả về và hiển thị lên form các bức ảnh thỏa mãn điều kiện tìm kiếm. 7. Quản trị hệ thống Khi hệ thống bước đầu được xây dựng thì tác giả mới chỉ đặt 3 chức năng, khi hệ thống được mở rộng tích hợp thêm nhiều dịch vụ thì các chức năng quản trị hệ thống sẽ được tăng lên. 7.0. Quản trị hệ thống 7.1. Tạo mới user 7.2. Tạo nhóm tài liệu 7. 3.Xóa nhóm tài liệu Hình 12. Biểu đồ phân rã chức năng quản trị hệ thống Phần tiếp theo sẽ mô tả chi tiết các chức năng đã trình bày trong hình vẽ Tạo mới user Để tạo mói user cần nhập đầy đủ các thông tin về user đó như họ và tên, username, pass…… Sau đó chọn nút tạo mới. Quá trình xử lý tiếp theo sẽ lấy các thông tin mà ta vừa chèn và thực hiện chèn vào CSDL. Tạo nhóm tài liệu Tài liệu trong hệ thống được tổ chức thành các nhóm, mỗi nhóm có tên khác nhau.Để tạo một nhóm tài liệu mới, cần cho biết tên nhóm mói cần tạo và quá trinh tiếp theo hệ thống sẽ chèn tên nhóm mới vào bảng nhóm tài liệu. Xóa nhóm tài liệu Chọn tên nhóm cần xóa. Sau đó chọn nút xóa. Dữ liệu trong nhóm đó sẽ bị xóa hết cùng với tên nhóm đó. Quá trình xóa sẽ diễn ra theo 2 quá trình Quá tình 1: Xóa tất cả các tài liệu trong nhóm Quá trình 2: Xóa tên nhóm Biểu đồ luồng dữ liệu hệ thống mức 0 Hình 11 trình bày về biểu đồ luồng dữ liệu mức 0 của hệ thống Upload Viết bài Xem Xem Yêu cầu Upload tài liệu Tạo nhóm tài liệu Y/c quản lý Y/c thông tin công việc Công văn Y/c truy cập công văn Đọc Ghi Kết quả tìm kiếm Yêu cầu tìm kiếm Yêu cầu tạo địa chỉ Đọc Xem thông tin Yêu cầu tìm kiếm Yêu cầu lập lịch 1.0 Lập lịch 2.0 Sổ địa chỉ 3.0 Hỗ trợ truy cập mobile 4.0 Chia sẻ tài liêu 5.0 Forum 6.0 Upload ảnh 7.0 Quản trị hệ thống Máy di động Kết quả tìm kiếm Scheduled Ghi AddressBook Yêu cầu xóa Cong_Van Scheduled Thông tin công việc Y/c truy cập sổ địa chỉ Thông tin địa chỉ Admin Tạo mới người dùng Xóa nhóm yêu cầu báo cáo báo cáo User Document_Group Guest Document Message Photo Yêu cầu upload Guest Xem Guest Xem & download Friend Xem Friend Download Xem Friend xem Hình 13. Biểu đồ luồng dữ liệu mức 0 5.0 Forum 3.6 Biểu đồ luồng dữ liệu mức 1 3.6.1 Chức năng lập lịch Xem Xem Cập nhật Chỉnh sửa Y/c tìm kiếm Xóa bản ghi xóa Đọc dữ liệu Y/c xem Ghi Y/c tạo mới 1.1 Tạo mới công việc 1.2 Xem công việc 1.3 Xóa 1.4 Chỉnh sửa 1.5 Tìm kiếm Admin Kết quả Scheduled Kết quả Kết quả Scheduled Kết quả tìm kiếm Đọc bản ghi Thông tin cập nhật Scheduled Đọc Guest Friend Hình 14. Biểu đồ luồng dữ liệu mức 1 chức năng lập lịch Đối tượng truy cập là admin, guest, friend. 3.6.2 Chức năng sổ địa chỉ Đối tượng truy cập là admin. Cập nhật Chỉnh sửa Y/c tìm kiếm Xóa bản ghi xóa Đọc dữ liệu Y/c xem Ghi Y/c tạo mới 2.1 Tạo mới địa chỉ 2.2 Xem 2.3 Xóa 2.4 Chỉnh sửa 2.5 Tìm kiếm Admin Kết quả AddressBook Kết quả Kết quả AddressBook Kết quả tìm kiếm Đọc bản ghi Thông tin cập nhật AddressBook Đọc Hình 15. Biểu đồ luồng dữ liệu mức 1 chức năng sổ địa chỉ 3.0. Hỗ trợ truy cập mobile 3.1. Truy cập công văn 3.2. Truy cập thông tin công việc 3. 3.Truy cập sổ địa chỉ 3.6.3 Chức năng hỗ trợ truy cập mobile Kết quả tìm kiếm k.q tìm kiếm Y/c truy cập sổ địa chỉ Đọc TT địa chỉ Y/c tìm kiếm Y/c tìm kiếm Công việc đã lập Y/c truy cập tt công việc Y/c truy cập công văn 3.1 Truy cập công văn 3.2 Thông tin công việc 3.3 Truy cập Sổ địa chỉ Mobile Công văn Kết quả tìm kiếm Y/c tìm kiếm Cong_Van Đọc Scheduled Scheduled Hình 16. Biểu đồ luồng dữ liệu mức 1 chức năng hỗ trợ truy cập mobile 4.0. Chia sẻ tài liệu 4.1. Xem và download 4.2. Upload tài liệu 4. 3.Tìm kiếm 4.4 Xóa 3.6.4 Chức năng chia sẻ tài liệu Y/c download 4.1 Xem và Download 4.2 Upload tài liệu 4.3 Tìm kiếm 4.4 Xóa Admin File download Y/c Upload Trạng thái upload Y/c tìm kiếm k.q tìm kiếm Y/c xóa Thông báo trạng thái xóa Document Đọc Document Document_Group Ghi Ghi Document Document Đọc Xóa bản ghi Hình 17. Biểu đồ luồng dữ liệu mức 1 chức năng chia sẻ tài liệu 5.0. Forum 5.1. Tạo một chủ đề 5.2. Viết bài 5. 3.Trả lời 5.4 Xóa 5.5 Tìm kiếm 3.6.5 Chức năng forum Kết quả 5.1 Tạo một chủ đề Message 5.2 Viết bài 5.3 Trả lời 5.4 Xóa Admin Y/c tạo một chủ đề mới Ghi Y/c viết bài Form mới Id của msg Trả lời của msg Message Message Ghi Ghi Guest Viết bài Friend Viết bài 5.5 Tìm kiếm Message Xóa bản ghi Đọc bản ghi Hình 18. Biểu đồ luồng dữ liệu mức 1 chức năng forum Message 6.0. Upload ảnh 6.1. Yêu cầu upload 6.2. Xem kết quả 6. 3.Xóa 6.4 Tim kiếm 3.6.6 Chức năng upload ảnh Photo Ghi Photo Đọc 6.1 Yêu cầu upload 6.2 Xem kết quả 6.4 Tìm kiếm 6.3 Xóa Admin Y/c upload Kết quả Y/c xem Danh sách tài liệu Y/c Tìm kiếm k.q Tìm kiếm Y/c xóa Trạng thái xóa Photo Hình 19. Biểu đồ luồng dữ liệu mức 1 chức năng upload ảnh 3.6.7 Chức năng quản trị hệ thống 7.0. Quản trị hệ thống 7.1. Tạo mới user 7.2. Tạo nhóm tài liệu 7. 3.Xóa nhóm tài liệu 7.1 Tạo mới User 7.2 Tạo nhóm tài liệu 7.3 Xóa nhóm tài liệu Admin Y/ c tạo mới Hiển thị user vừa tạo Y/ c tạo nhóm Nhóm mới tạo Y/ c xóa TT nhóm vừa xóa User ghi Document_Group ghi Document Xóa bản ghi Xóa bản ghi Hình 20. Biểu đồ luồng dữ liệu mức 1 chức năng quản trị hệ thống 3.7 Thiết kế cơ sở dữ liệu 3.7.1 Xác định các thực thể Thực thể Sổ địa chỉ (Bảng: AddressBook) Các thuộc tính IdAddress (int, PK) HoVaTen (nchar, 50) Phone (char, 15) NoiCongTac(nchar, 100) DiaChiNhaRieng (nchar, 100) Email(char, 50) Fax(char, 16) ThoiGianGap(char, 20) ThongTinKhac (ntext) Thực thể Công văn (Bảng: Cong_Van) Các thuộc tính: idCongVan (int,PK) Nguoi_Gui (char, 20) Nguoi_Nhan (char, 20) Tieu_De (nchar, 100) Noi_Dung (ntext) Thoi_Gian_Gui (char, 20) Thực thể nhóm tài liệu (Bảng: Nhom_Tai_Lieu) Các thuộc tính: NhomID (int, PK) TenNhom (nchar, 30) MoTa (ntext) Thực thể ảnh (Bảng: Photo) Các thuộc tính: idPhoto (int, PK) TenAnh (char, 50) TieuDe (char, 50) MoTa (ntext) ThoiGian (char, 30) Thực thể tài liệu (Bảng : TaiLieu) Các thuộc tính MaTaiLieu (int, PK) TenTaiLieu (nchar, 50) MaNhom (int, 4, FK(Nhom_Tai_Lieu)) MoTa (ntext) ThoiGianCapNhat (char, 20) Thực thể người dùng(Bảng: User) Các thuộc tính: Ma_Người_Dung (int ) Ten (nchar,100) Ten_Dang_Nhap (char, 20) Mat_Khau (char 20) Ma_Quyen (int, 4) Email (char, 20) Thực thể quyền (Bảng : Quyền) Các thuộc tính: MaQuyen (int, 4) Ten_Quyen (nchar,100) Mo_Ta (ntext, 16) Thực thể message (Bảng : message) Các thuộc tính: Message_id (int, PK) Message_parent_id (int) Topic (varchar,100) Author (varchar, 100) Date_enter (datetime, 8) Message (varchar, 100) Thực thể ScheduledTask (Bảng: ScheduledTask) Các thuộc tính: idTask (int, PK) Ten_Cong_Viec (nchar, 100) Noi_Dung (ntext) Thoi_Gian (char, 50) 3.7.2 Mô hình quan hệ thực thể User Quyền Có TaiLieu Nhom_Tai_Lieu Thuộc Message Photo Download Download Download Viết Download Upload Hình 21. Mô hình quan hệ thực thể 3.7.3 Cấu trúc chi tiết các bảng AddressBook Field Type Attributes Null Default Extra IdAddress Int(4) No Auto_increment HoVaTen Nchar(50) No Phone Char(15) Yes 0000 NoiCongTac Nchar(100) No DiaChiNhaRieng Nchar(100) No Email Char(50) No Fax Char(16) Yes 0000 ThoiGianGap Char(20) Yes Buoi toi Thong tin khac Ntext Yes Khong co Cong_van Field Type Attributes Null Default Extra idCongVan Int(4) No Auto_increment Nguoi_Gui Char(20) No Nguoi_Nhan Char(20) No Tieu_De Nchar(100) No Noi_Dung Ntext Thoi_Gian_Gui Nchar(20) No Nhóm_Tai_lieu Field Type Attributes Null Default Extra NhomID Int(4) No Auto_increment TenNhom Nchar(30) No MoTa Ntext Photo Field Type Attributes Null Default Extra idPhoto Int(4) No Auto_increment TenAnh Char(50) Yes TieuDe nChar(50) No MoTa Ntext(16) Yes ThoiGian Char(30) Tai_Lieu Field Type Attributes Null Default Extra MaTaiLieu Int(4) Primary_Key No Auto_increment TenTaiLieu Nchar(50) No MaNhom Int(4) Foreing_Key No MoTa Ntext(16) Yes ThoiGianCapNhat Char(30) No Message Field Type Attributes Null Default Extra message_id Int(4) No message_parent_id Int(4) No Topic Varchar(100) No Author Varchar(100) No date_entered Datetime(8) No message Varchar(100) No ScheduledTask Field Type Attributes Null Default Extra idTask Int Primary_Key No Auto_increment Ten_Cong_Viec Nchar(100) No Noi_Dung Ntext(16) No Thoi_Gian Datetime(8) No 3.8 Chi tiết về một số module của chương trình 1. Module sử lý việc cung cấp dịch vụ cho thiết bị di động Thiết bị di động gửi dữ liệu đến cho cổng thông tin giao thức HTTP. Dữ liệu yêu cầu của thiết bị di động đối với server được phân biệt bởi các lệnh. Đoạn chương trình sau đây mô tả việc bắt các yêu cầu từ thiết bị di động và gửi dữ liệu trả về. <% String sStringCommand= request.getParameter("order"); sStringCommand = sStringCommand.replace('$',' '); java.util.ArrayList arr= new java.util.ArrayList(); if(sStringCommand.compareTo("ListTask") == 0) { String sSQL="select Ten_Cong_Viec from ScheduledTask"; java.sql.ResultSet rs = null; rs = openrs( stat, sSQL); while(rs.next()) { String ss= rs.getString(1); //out.println(ss); arr.add(ss); } // đưa các xâu vào thành định dạng String sFormat=""; for(int i=0; i<arr.size(); i++) { sFormat +=String.valueOf(arr.get(i)) ; sFormat +="???"; } out.println(sFormat); } else if(sStringCommand.indexOf("ListTask") == 0) { // tra ve du lieu chi tiet cua mot cong viec // lay phan string sau dau : int iIndex= sStringCommand.indexOf(":"); String sAfter= sStringCommand.substring(iIndex+1,sStringCommand.length()) ; String sSQL="select * from ScheduledTask where Ten_Cong_Viec='"; sSQL +=sAfter; sSQL +="'"; java.sql.ResultSet rs = null; rs = openrs( stat, sSQL); if(rs.next()) { String sNameTask= rs.getString(2); String sContent= rs.getString(3); String stime= rs.getString(4); String sOut= sNameTask; sOut +="???"; sOut +=stime; sOut +="???"; sOut +=sContent; sOut +="???"; out.println(sOut); } } // trường hợp yêu cầu danh sách sổ địa chỉ else if(sStringCommand.compareTo("ListAddress") == 0) { String sSQL="select HoVaTen from AddressBook order by idAdress DESC"; java.sql.ResultSet rs = null; rs = openrs( stat, sSQL); while(rs.next()) { String ss= rs.getString(1); //out.println(ss); arr.add(ss); } // dua cac xau vao mot format String sFormat=""; for(int i=0; i<arr.size(); i++) { sFormat +=String.valueOf(arr.get(i)) ; sFormat +="???"; } out.println(sFormat); } // yêu cầu xem chi tiết một điạ chỉ else if(sStringCommand.indexOf("ListAddress") == 0) { // tra ve du lieu chi tiet cua mot cong viec // lay phan string sau dau + int iIndex= sStringCommand.indexOf(":"); String sAfter= sStringCommand.substring(iIndex+1,sStringCommand.length()) ; String sSQL="select * from AddressBook where HoVaTen='"; sSQL +=sAfter; sSQL +="'"; java.sql.ResultSet rs = null; rs = openrs( stat, sSQL); if(rs.next()) { String sHoVaTen= rs.getString(2); String sPhone= rs.getString(3); String sNoiCongTac= rs.getString(4); String sDiaChi= rs.getString(5); String sEmail= rs.getString(6); String sFax= rs.getString(7); String sThoiGianGap= rs.getString(8); String sThongTinKhac= rs.getString(9); String sOut= sHoVaTen; sOut +="???"; sOut +=sPhone; sOut +="???"; sOut +=sNoiCongTac; sOut +="???"; sOut +=sDiaChi; sOut +="???"; sOut +=sEmail; sOut +="???"; sOut +=sFax; sOut +="???"; sOut +=sThoiGianGap; sOut +="???"; sOut +=sThongTinKhac; sOut +="???"; out.println(sOut); } } // truong hop yeu cau xem cong van den else if(sStringCommand.compareTo("ListDocument") == 0) { String sSQL="select Tieu_De from Cong_Van order by idCongVan DESC"; java.sql.ResultSet rs = null; rs = openrs( stat, sSQL); while(rs.next()) { String ss= rs.getString(1); //out.println(ss); arr.add(ss); } // dua cac xau vao mot format String sFormat=""; for(int i=0; i<arr.size(); i++) { sFormat +=String.valueOf(arr.get(i)) ; sFormat +="???"; } out.println(sFormat); ... } %> 2. Module sử lý in ra tất cả các công việc cần làm … Ten cong viec Thoi gian thuc hien <% // su ly viec lay du lieu va hien thi // liet ke tat cac cac cong viec khong ke ngay gio try{ String sSQL="select * from ScheduledTask where Thoi_Gian like '%"; sSQL +=sDay; sSQL +="' "; sSQL +="order by idTask DESC"; java.sql.ResultSet rs= openrs(stat,sSQL); while(rs.next()) { String idTask= rs.getString(1); String TaskName= rs.getString(2); String time= rs.getString(4); if(idTask == null) { out.println("Khong tim thay ket qua nao"); break; } %> ">Xem|Xoa <% } }catch(Exception e) { out.println(e.toString()); } %> … 3.9 Một số giao diện của chương trình. Form quản lý truy cập từ thiết bị di Hình 22. Giao diện của chức năng quản lý truy cập từ thiết bị mobile Form quản lý truy cập từ thiết bị di động. Các nguồn tài nguyên cho phép quản lý gồm có Quản lý truy cập công việc: Chức năng này cho phép quản lý các thông tin về công việc. Ví dụ như tạo mới công việc trong ngày, hoặc xóa bỏ và chỉnh sửa một công việc Quản lý truy cập sổ địa chỉ: Chức năng này cho phép quản lý sổ địa chỉ và các thông tin quản lý đó có thể truy cập được từ thiết bị di động Quản lý truy cập công văn: Chức năng này quản lý các thông tin liên quan đến công văn b. Form tạo mới địa chỉ Hình 23. Giao diện của chức năng tạo mới điạ chỉ Form tạo mới sổ địa chỉ. Để tạo mới một địa chỉ phải điền đầy đủ các thông tin về người được tạo. Sau đó chọn nút tạo mới, hệ thống sẽ thêm thông tin về địa chỉ mới vào cơ sở dữ liệu. Các thông tin bắt buộc phải có gồm Họ và tên Số điện thoại Nơi công tác Email c. Form tạo mới công việc Hình 24. Giao diện chức năng tạo mới công việc Form tạo mới công việc. Để tạo mới công việc trong ngày đầu tiên bạn phải chọn thời gian thực hiện công viêc. Sau đó nhập tên công việc, tên này ta sẽ hiển thị trong danh sách các công việc. Và cuối cùng là nhập nội dung công việc. d. Form hiển thị danh sách sổ địa chỉ Hình 25. Giao diện chức năng xem danh sách sổ điạ chỉ Form hiển thị danh sách sổ địa chỉ. Để xem chi tiết điạ chỉ của một ai đó, ta chọn click vào link xem, khi đó hệ thống sẽ hiển thị chi tiết về các thông tin của người đó. Để xóa ta click chức năng xóa cùng dòng bên phải. Khi danh sách điạ chỉ nhiều, để tìm một người nào đó ta có thể dùng chức năng tìm kiếm ở bên trên. Nhập từ khóa tìm kiếm vào sau đó click vào nút tìm. Hệ thống sẽ liệt kê các điạ chỉ phù hợp. Có thể tìm kiếm theo tên, theo điạ chỉ, theo địa chỉ email … 3.10 Triển khai hệ thống cổng thông tin cá nhân Vì cổng thông tin cá nhân được xây dựng nhằm đặt tại các máy tính cá nhân, nên việc triển khai hệ thống không có gì khó khăn. Sau đầy là các yêu cầu để triển khai: Để thực hiện triển khai cổng thông tin cá nhân cần có các yêu cầu sau: Máy tính cài đặt Java Web Server CSDL SQL Server 2000 Cài đặt JDK Cài đặt phần mềm Wireless Toolkit (Download tại địa chỉ phần mềm náy cho phép mô phỏng thiết bị di động truy cập vào cổng thông tin cá nhân Cổng thông tin cá nhân được đặt tại các máy tính ở nhà, để truy cập vào được cổng thông tin cá nhân từ bên ngoài, có hai giải pháp: Đăng ký với nhà cung cấp dịch vụ ADSL một điạ chỉ IP tĩnh. Đăng ký một tên miền Thiết bị phát sóng Wireless. CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH TRÊN THIẾT BỊ DI ĐỘNG 4. 1 Mô tả bài toán Thiết bị di động truy cập vào cổng thông tin cá nhân để lấy các thông tin về công văn, lịch làm việc, sổ địa chỉ. Mọi giao thức truyền dữ liệu giữa thiết bị di động và cổng thông tin đều dùng giao thức HTTP.Khi thiết bị di động có nhu cầu truy cập vào cổng thông tin, thì máy gửi yêu cầu tới server(Cổng thông tin), server sẽ gửi trả lại dữ liệu mà máy di động yêu cầu. Khi máy di động yêu cầu truy cập công văn, hệ thống sẽ gửi những dữ liệu về công văn cho máy di động, dữ liệu khi được gửi về máy di động sẽ được hiển thị tới người dùng . Để truy cập lịch làm việc và sổ địa chỉ quá trình cũng diễn ra tương tự 4.2 Biểu đồ phân rã chức năng Máy di động 1. Xem công văn 2.Xem công việc 3.Tra cứu địa chỉ 1.1 Xem 1.2. Tìm kiếm công văn 2.1 Xem 2.2. Tìm kiếm công việc 3.1 Xem 3.2. Tìm kiếm địa chỉ Hình 26. Biểu đồ phân rã chức năng Thiết bị di động sẽ cung cấp các dịch vụ sau: Truy cập vào cổng thông tin cá nhân xem công văn Truy cập vào CTTCN để xem công việc Truy cập vào CTTCN để tra cứu địa chỉ 4.2.1 Biểu dồ luồng dữ liệu mức 1 chức năng xem công văn 1. Xem công văn 1.1 Xem 1.2. Tìm kiếm công văn Hình 27. Biểu đồ phân rã chức năng xem công văn Chức năng Xem: Cho phép xem các công văn đến, các công văn sẽ hiển thị trên máy di dộng theo thứ tự thời gian. Công văn đến trước sẽ hiển thị lên trên cùng. Người dùng có thể xem các công văn một cách dễ dàng như trên máy tính của mình Chức năng Tìm kiếm: Chức năng này cho phép tìm kiếm một công văn, có thể tìm kiếm theo ngày gửi, theo tên người gửi, theo tiêu đề công văn Quá trình xử lý chức năng xem công văn Người dùng Module gửi dữ liệu Y/c xem công văn Cổng thông tin Y/c xem công văn Dữ liệu công văn Module phân tích dữ liệu Form hiển thị công văn Công văn Dữ liệu công văn Dữ liệu đã phân tích Người dùng Y/c tìm kiếm công văn Form hiển thị công văn Công văn Cổng thông tin Dữ liệu để hiển thị Form tìm kiếm Module gửi dữ liệu Từ khóa tìm kiếm Từ khóa tìm kiếm Kết quả Module phân tích dữ liệu Kết quả Quá trình xử lý chức năng tìm kiếm công văn 4.2.2 Biểu đồ luồng dữ liệu mức 1 chức năng xem công việc 2.Xem công việc 2.1 Xem 2.2. Tìm kiếm công việc Hình 28. Biểu đồ phân rã chức năng xem công việc - Chức năng xem công việc : Xem công việc bao gồm các thông tin về công việc, như thời gian thực hiện, nội dung công việc, địa điểm … - Chức năng tìm kiếm : Tìm kiếm một công việc theo tên công việc, theo thời gian. a. Quá trình xử lý chức năng xem công việc Người dùng Module gửi dữ liệu Y/c xem công việc Cổng thông tin Y/c xem công việc Dữ liệu công việc Module phân tích dữ liệu Form hiển thị công việc Công việc Dữ liệu công việc Dữ liệu đã phân tích b. Quá trình xử lý chức năng tìm kiếm công việcNgười dùng Y/c tìm kiếm công việc Form hiển thị công việc Công văn Cổng thông tin Dữ liệu để hiển thị Form tìm kiếm Module gửi dữ liệu Từ khóa tìm kiếm Từ khóa tìm kiếm Kết quả Module phân tích dữ liệu Kết quả 4.2.3 Biểu đồ luồng dữ liệu mức 1 chức năng xem sổ địa chỉ 3.Tra cứu địa chỉ 3.1 Xem 3.2. Tìm kiếm địa chỉ Hình 29. Biểu đồ phân rã chức năng tra cứ sổ địa chỉ Chức năng xem địa chỉ: Địa chỉ bao gồm các thông tin về họ và tên, địa chỉ, số điện thoại , nơi làm việc ….của bạn bè , người thân, đối tác làm ăn. Các sổ địa chỉ thường rất nhiều, yêu cầu quá trình xem và tìm kiếm phải thuận tiện. Chức năng Tìm Kiếm: Chức năng này hỗ trợ rất nhiều định dạng tìm kiếm. Tìm kiếm theo họ và tên, theo năm sinh, theo địa chỉ, nơi làm việc …. a.Quá trình xử lý chức năng xem sổ địa chỉ Người dùng Module gửi dữ liệu Y/c xem sổ địa chỉ Cổng thông tin Y/c xem địa chỉ Dữ liệu điạ chỉ Module phân tích dữ liệu Form hiển thị điạ chỉ Địa chỉ Dữ liệu điạ chỉ Dữ liệu đã phân tích Người dùng Y/c tìm kiếm điạ chỉ Form hiển thị điạ chỉ Điạ chỉ Cổng thông tin Dữ liệu để hiển thị Form tìm kiếm Module gửi dữ liệu Từ khóa tìm kiếm Từ khóa tìm kiếm Kết quả Module phân tích dữ liệu Kết quả b. Quá trình xử lý chức năng tìm kiếm điạ chỉ 4.3 Mốt số module tiêu biểu 1. Module xử lý việc gửi và nhận dữ liệu từ máy di động tới server public String processRequest(String sCommand) throws IOException { HttpConnection http=null; InputStream iStrm=null; // Noi them chuoi thong tin da nhap vao chuoi querry de gui ve Server String url=""+sCommand; String responseStr; try { // mở kêt nối tới server http=(HttpConnection)Connector.open(url); // đặt phương thức truyền dữ liệu là phương thức GET http.setRequestMethod(HttpConnection.GET); http.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuaration/CLDC-1.0"); // kiểm tra nếu dòng kết nối có dữ liệu thì thực hiện đọc if(http.getResponseCode()==HttpConnection.HTTP_OK) { iStrm=http.openInputStream(); int length=(int)http.getLength(); if(length!=-1) { byte serverData[]=new byte[length]; iStrm.read(serverData); // Luu thong tin vao chuoi can hien thi responseStr=new String(serverData); // trả về dữ liệu vừa đọc được return responseStr; } } } finally { // dong cac ket noi hien tai if(iStrm!=null) iStrm.close(); if(http!=null) http.close(); } Return “”; } 2. Module thực hiện tách dữ liệu và hiển thị danh sách các công việc Đầu vào(2 tham số): đối tuợng List để hiển thị và một String chứa dữ liệu Đẩu ra: thực hiện tách dữ liệu và đưa dữ liệu vào đối tượng List public void GetNameTask(List list, String smsg) { String ss= smsg.trim(); if(ss.length() > 0) { int next=0; while(true) { if(ss.length()>3) { // lấy vị trí của xâu đánh dấu next =ss.indexOf("???"); // thực hiện tách lấy đoạn dữ liệu list.append(ss.substring(0,next),imgItem); ss= ss.substring(next+3,ss.length()); } else break; } } } 3.Module khởi tạo Thread Việc truyền dữ liệu giữa máy di động và cổng thông tin cá nhân, rất dễ bị block, vì thế để thực hiện việc truyền và nhận cần tạo ra các Thread. Trong thread đó gọi đến modulee thực hiện truyền và nhận. // nếu trường hợp bị block hệ thống sẽ hiển thị form waitForm Form waitForm = new Form("Waiting..."); mDisplay.setCurrent(waitForm); // khai báo một Thread Thread t = new Thread() { public void run() { try{ String sSelected= ListTask.getString(ListTask.getSelectedIndex()) ; sSelected.trim(); String sOrder="ListTask:"; sOrder += sSelected; String sNotSpace = sOrder.replace(' ','$'); //gọi đến hàm thực hiện việc truyền và nhận dữ liệu trả về String sRe= processRequest(sNotSpace); // thực hiện tách dữ liệu và hiển thị lên form GetDetailTask(ListDetailTask,sRe); }catch(Exception e) { System.out.println(e.toString()); } mDisplay.setCurrent(ListDetailTask); } }; t.start(); 4.4 Một số giao diện của chương trình Man hinh chính khi truy cập vào cổng thông tin Hình 30. Màn hình chính của thiết bị di động Trong màn hình chính có 2 nút, nút exit và nút tiếp. Nếu chọn exit sẽ kết thúc quá trình truy cập. Nếu chọn tiếp sẽ thực hiện tiếp quá trình truy cập. Màn hình hiển thị các dịch vụ của máy di động Hình 31. Màn hình hiển thị các dịch vụ của thiết bị di động Sau khi chọn nút tiếp từ màn hình chính, hệ thống sẽ hiển thị màn hình cho phép chọn các dịch vụ truy cập. các dịch vụ đó đựợc hiển thị theo thứ tự : Thông tin công viêc Xem công văn Tra cứu sổ địa chỉ Chọn một dịch vụ mà bạn muốn sau đó chọn nút xem ở góc bên phải phía dưới của màn hình để truy cập vào dịch vụ đó. Màn hình xem danh sách công văn đến Hình 32. Màn hình hiển thị danh sách các công văn đến Khi chọn dịch vụ xem công văn. Hệ thống sẽ hiển thị danh sách các công văn đến. Quá trình thao tác tiếp theo tiến hành như sau: Để xem một công văn ta chọn vào công văn cần xem. Sau đó chọn nút “chọn” ở góc bên phải phía dưới của màn hình, hệ thống sẽ hiển thị chi tiết nội dung công văn đó. Để quay lại truy cập dịch vụ khác chọn nút “quay lại” 4. Màn hình xem chi tiết một công văn Hình 33. Màn hình hiển thị chi tiết nội dung của công văn Để xem công văn đầu tiên bạn phải chọn chức năng xem công văn từ màn hình hiển thị các dịch vụ truy cập. Sau khi chọn chức năng đó, hệ thống sẽ hiển thị danh sách các công văn của bạn. Để xem chi tiết một công văn, ta chọn vào tên công văn và chọn nút “xem” hệ thống sẽ hiển thị chi tiết nội dung của công văn. Nội dung của một công văn được bố trị như sau: Tiêu đề Người gửi Thời gian Nội dung 5. Màn hình xem danh sách các công việc Hình 34. Màn hình hiển thị danh sách các công việc trong ngày Màn hình hiển thị danh sách các công việc trong ngày. Để xem chi tiết nội dung của một công việc, ta chọn vào công việc. Sau đó hệ thống sẽ hiểnt hị chi tiết các thông tin liên quan đến công việc đó 6. Màn hình xem sổ điạ chỉ Hình 35. Màn hình hiển thị chi tiết một điạ chỉ Để xem địa chỉ đầu tiên ta phải chọn chức năng xem sổ địa chỉ từ màn hình hiển thị danh sách các dịch vụ của hệ thống. Sau đó hệ thống sẽ hiển thị danh sách các sổ điạ chỉ, để xem một điạ chỉ chỉ cần chọn điạ chỉ đó, hệ thống sẽ hiển thị chi tiết thông tin về địa chỉ đó. Ta có thể chọn chức năng tìm kiếm địa chỉ nếu danh sách các điạ chỉ quá nhiều. 4.5 Triển khai chương trình trên thiết bị di động Để ứng dụng J2ME mà ta vừa xây dựng chạy được trên thiết bị thật, bạn cần phải đóng gói toàn bộ ứng dụng vào file jar và file jad. Để đóng gọi ứng dụng bạn phải nhờ tới sự trợ giúp của phần mềm EclipseME. Bạn có thể download phần mềm này ở điạ chỉ Với sự trợ giúp của EclipseME việc đóng gói trở nên dễ dàng. Bạn hãy thực hiệnt theo các bước sau đây: Kích chuột phải trên J2ME Project. Trên menu hiện ra, chọn J2ME -> Create Package. Hãy mở rộng mục deployed, ta sẽ thấy có file.jad và.jar cho ứng dụng của mình. Việc cuối cùng là tải 2 file.jad và.jar đó lên thiết bị di động. Kết luận và phương hướng phát triển tiếp theo Kết quả đạt được: Kết quả đạt được trong luận văn này là tác giả đã xây dựng được thành công cổng thông tin cá nhân cho phép truy cập từ thiết bị di động. Những chức năng mà tác giả đã xây dựng là nền tảng cho một cổng thông tin hiện đại trong tương lai. Phần tiếp theo tác giả sẽ trình bày phương hướng phát triển của đề tài. Phương hướng phát triển tiếp theo: Như tác giả đã trình bày ở phần bên trên một cổng thông tin cá nhân hoàn thiện trong tương lai phải có khả năng kết nối với nhau để trao đổi thông tin. Ngoài ra cổng thông tin cá nhân còn có khả năng kết nối với các thiết bị điện tử trong nhà. Tóm lại tác giả sẽ tiếp tục phát triển các chức năng sau Kết nối các cổng thông tin vói nhau Khả năng tích hợp một số module cho phép giao dịch một cách tự động (như đặt vé tầu, thanh toán tiền điện, tiền nước hàng tháng bằng giao dịch điện tử ….) Kết nối các thiết bị điện tử trong nhà với cổng thông tin Kết luận: Mọi phát minh đều bắt nguồn từ ý tưởng. Một ý tưởng hay cũng được đánh giá rất cao. Ý tưởng về xây dựng cổng thông tin cá nhân của em, em tin là một ý tưởng có khả năng ứng dụng cao. Và chỉ vài năm nữa thôi, những cổng thông tin như thế sẽ xuất hiện rất nhiều trên Internet.Cổng thông tin chắc chắn sẽ giúp ích rất nhiều cho con người trong cuộc sống.Những gì mà em xây dựng trong luận văn này mới chỉ là bước khởi đầu của xây dựng một cổng thông tin. Một cổng thông tin hoàn chỉnh, phải tích hợp rất nhiều các dịch vụ như em đã đề cập đến trong luận văn.Và để thực hiện được hết các chức năng trong ý tưởng đã đề ra cần phải có thời gian, trong phạm vi luận văn này em mới chỉ phát triển một số các chức năng cơ bản. Sau này em se tiếp tục phát triển các chức năng tiếp theo. Cổng thông tin cá nhân chính là một phần của ý tưởng xây dựng ngôi nhà thông minh, mà đã được nói đến rất nhiều trong những năm gần đây. Một ngôi nhà thông minh là ngôi nhà ứng dụng công nghệ thông tin vào mọi vật dụng trong gia đình, kết nối mọi thiết bị lại với nhau, chúng có khả năng nói chuyện với nhau và việc điều khiển chung diễn ra rất dễ dàng. Mọi thiết bị điện tử kết nối với cổng thông tin và điện thoại di động của ta kết nối với cổng thông tin, cổng thông tin chính là một phương tiên gián tiếp cho phép điều khiển các thiết bị trong nhà từ xa. Tài liệu tham khảo Tài liệu in: TS. Nguyễn Văn Vỵ. Phân tích và thiết kế hệ thống. Khoa Công Nghệ Thông Tin, Đại Học Quốc Gia Hà Nội, 1998 Nguyễn Phương Lan – Trần Tiến Dũng. Java – tập 3. Nhà Xuất Bản Lao Động Xã Hội, 2005 Nguyễn Phương Lan - Hoàng Đức Hải. Lập trình ứng dụng Web với JSP/Servlet. Nhà Xuất Bản Lao Động – Xã Hội, 2005 Sách điện tử: [4] John W. Muchow. Core J2ME Technology & MIDP. Prentice Hall PTR, 2001 [5] Robert Flenner, Michael Abbott, Toufic Boubez. Java P2P Unleashed. Sams Publishing, 2002 [6] Cynthia Bloch, Annette Wagner. MIDP Style Guide for the Java 2 Platform Micro Edition. Addison Wesley, 2003 Các địa chỉ Internet: [7] : đây là một điạ chỉ rất hay cho những ai yêu thích lập trình Java [8] www.programmingtutorials.com : Đây là một địa chỉ chứa nhiều liên kết đến các nguồn tài liệu về các ngôn ngữ lập trình.

Các file đính kèm theo tài liệu này:

  • docNguyenNgocTuan_K47CB.doc
  • pdfNguyenNgocTuan_K47CB.pdf
Luận văn liên quan