Luận văn Nghiên cứu xây dựng ứng dụng học tiếng anh theo ngữ cảnh trên thiết bị di động

Trong ứng dụng thử nghiệm này thông tin ngữ cảnh được đặc trưng bởi các thông tin người học( tuổi tác, giới tính ), các thông tin về vị trí người học ( trong bệnh viện, trong rạp chiếu phim, trong cửa hàng dụng cụthểthao) , các thông tin về lịch sử học tập của người học ngoài ra là thông tin do người học cung cấp ( thời gian bài học mà người học mong muốn).

pdf59 trang | Chia sẻ: lylyngoc | Lượt xem: 3223 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu xây dựng ứng dụng học tiếng anh theo ngữ cảnh trên thiết bị di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iệt. Với mỗi mô hình này cho phép ta trả lời câu hỏi “Người sử dụng đang ở trong hoàn cảnh nào ? Trạng thái của người sử dụng như thế nào? Nó có tương tự như trạng thái XYZ nào đó không?” Trong khuôn khổ khóa luận này, ta chỉ ta tập trung vào các mô hình hỗn hợp đơn giản bao hàm các thông tin cần thiết. Hình 2.2-8 Phân loại ngữ cảnh Context Classification : Quá trình này phân loại các ngữ cảnh độc lập thành các dạng ngữ cảnh cơ bản một cách tự nhiên và hiệu quả. Kết quả của quá trình phân loại này chính là output của mô hình nhận biết ngữ cảnh. Hiếm khi có sự tương ứng một một giữa một mô hình đơn lẻ hoặc một loại mô hình nào đó với một hành động được thực hiện. Quá trình phân loại ngữ cảnh sử dụng ngôn ngữ xác suất tự nhiên để xác định ngữ cảnh nào đó. Giả dụ ta có tập luật : “Nếu ngày x là một ngày trong tuần (từ thứ 2 đến thứ 6) và thời gian là sau 17h00 và hành động của anh ta là giống như đang rời khỏi phòng”. Vậy thì bối cảnh hành động của anh ta là anh ta anh ta đang đi làm về. 11 Hình 2.2-9 Thực thi Thực thi (action) hay kết quả của quá trình Context Classification được đẩy lên cho ứng dụng. Tuy nhiên ứng dụng có thể tương tác với hệ thống nhận biết ngữ cảnh bằng cách thêm mới các tập luật, các mô hình và các tính năng. 2.2.3 Xây dựng nội dung Thông tin về ngữ cảnh ( cũng như là các hành động, phản ứng) của người sử dụng được gửi tới server. Từ các thông tin như vậy và dựa trên tập luật đã được xây dựng, server sẽ xử lý về nội dung phù hợp nhất với hoàn cảnh hiện tại của người sử dụng. Quá trình diễn ra hoàn toàn tự động. Thông tin trả về cho client thể hiện việc server phản ứng lại đối với các hành động vừa diễn ra của client. Do đó chúng ta cần xây dựng nội dung để trả về cho client. Vậy nội dung đó như thế nào? Làm sao để tạo ra nội dung ấy? 2.2.3.1 Khuôn dạng nội dung Nội dung trả về được chia làm 2 loại là tư liệu học tập và các thông báo của server với client. Tư liệu học tập : nội dung trả về là các lý ngữ pháp, bài tập, thực hành được trình bày dưới dạng text hoặc dưới dạng các file media ( mp3, wav..) hoặc cũng có thể là một cấu trúc thông tin sử dụng cho việc tạo bài test. Ví dụ : Nội dung về ngữ pháp Mệnh lệnh thức trực tiếp 12 Close the door Please turn off the light. Open the window. Be quiet. Sau đây là lời thoại trong một đoạn quảng cáo bia trên TV: Tên cướp xông vào một quán bia, rút súng ra chĩa vào mọi người và quát: - Give me your jewelry! Don’t move! Một thanh niên từ từ tiến lại từ phía sau, gí một chai bia Laser lạnh vào gáy hắn: - Drop your weapon! Tên cướp tưởng sau gáy hắn là một họng súng liền buông vũ khí đầu hàng. Giả sử cấu trúc một câu hỏi trong bài test Q1 - She played _____. beautiful beautifuly beautifully Hình 2.2-10 Hình hiển thị câu hỏi trên thiết bị Nội dung trả về một link file media. Có thể là thông điệp dưới dạng Thông điệp và các thông tin điều khiển client : Ngoài các ngữ liệu học tập ra thông điệp trả về cũng cần có những thông tin điều khiển giúp client hoạt động một cách đúng đắn. Ngoài các phương cách hiển thị nội dung, thì còn có thể có thêm các thông báo cho người sử dụng, hoặc các dạng form tương tác để lấy ý kiến người sử dụng… 13 2.2.3.2 Xây dựng nội dung thích nghi theo ngữ cảnh Vấn đề cơ bản nhất trong việc xác định nội dung bài học thích nghi theo ngữ cảnh hiện tại của người học đó là việc xác định được ngữ cảnh học tập và việc xác định nội dung. Trong khuôn khổ khóa luận này ta sẽ xây dựng một tập luật đơn giản để qua đó với mỗi ngữ cảnh độc lập ta lại xác định được một tập các nội dung phù hợp với ngữ cảnh đó. Để xây dựng tập luật này đầu tiên ta cần xác định được các thành phần cấu thành lên tập luật đó. Đầu tiên đó là “Location” của người dùng, “Location” tương ứng với khái niệm vị trí, không gian mà người dùng đang hiện hữu. Đó có thể là một siêu thị nào đó, một cửa hàng thể thao nào đó hoặc cũng có thể là trong một rạp chiếu phim… Sở dĩ ta chọn “Location” làm điểm đầu tiên để đánh giá về ngữ cảnh đó là do vị trí của người dùng rất quan trọng và nó ảnh hưởng đến hầu hết các thuộc tính khác của môi trường. Ở trong khuôn khổ khóa luận này ta coi “Location” như là một trường hợp đặc biệt của ngữ cảnh. Và đi coi như đó là một ngữ cảnh đã được phân loại. Thứ hai đó là “Thông tin người dùng”, các thông tin về người dùng sẽ cung cấp những thông tin về độ tuổi, giới tính, tình hình sức khỏe, trình độ hiện tại, … Nó sẽ giúp ta nhiều trong việc chọn lựa nội dung ngữ liệu và cách hiển thị. Thứ ba là “Lịch sử học tập “, những thông tin về quá trình học tập của người sử dụng, những kiến thức mà người học đã từng học qua… Với việc xây dựng một tập luật đơn giản ta chỉ cần 3 thành phần trên để minh họa cho phương cách hoạt động của module “xây dựng nội dung” cung cấp ngữ liệu cho người dùng. Nội dung = ND(“Location”, “User Info”, “Learning History”); Ở đây, để đơn giản ta sử dụng một dãy các luật if then để hình thành luật. Ví dụ : if( location== A ) then If( userInfo == U) then If( LearningHistory == E ) then {} If(userInfo == V ) then …. 14 2.2.4 Cơ sở dữ liệu Module ‘cơ sở dữ liệu’ đóng vai trò là nơi lưu trữ tất cả các thông tin về người dùng cũng như là nội dung tư liệu của bài học. Hệ sử dụng một hệ quản trị cơ sở dữ liệu : mysql hoặc mssql để quản lý dữ liệu người dùng. Hệ thống có thể lưu lại các lược sử sử dụng của người dùng như : thời gian, mô hình ngữ cảnh hiện tại, những nội dung đã cung cấp, trình độ hiện tại… Đối với ngữ liệu học tập thì được chia làm 2 loại : nội dung dạng text hoặc nội dung dạng media. Đối với mỗi loại dạng nội dung khác nhau ta có cách lưu trữ khác nhau để tối ưu bộ nhớ cũng như tối ưu cho việc truy suất cơ sở dữ liệu. 2.2.5 Nhà cung cấp nội dung Nhà cung cấp nội dung chuyên cung cấp các tư liệu học tập như : bài tập, giáo trình, bài kiểm tra, bài test, các bài luyện nghe, luyện phát âm…vv. Bên cung cấp dịch vụ khi có yêu cầu nội dung sẽ gửi yêu cầu tới nhà cung cấp nội dung. Từ đó nhà cung cấp nội dung sẽ trả lại nội dung mà nhà cung cấp dịch vụ yêu cầu. 15 CHƯƠNG 3 CÁC KHÁI NIỆM VÀ CÔNG NGHỆ LIÊN QUAN 3.1 Dịch vụ hướng vị trí (Location Base Services ) LBS là các dịch vụ có thể cung cấp cho các thiết bị di động thông qua mạng di động và chức năng của các thiết bị đó. LBS phát triển dựa trên công nghệ : GIS, internet và Mobile devices. Dựa vào công nghệ GIS và các kỹ thuật định vị đã chuyển dần các ứng dụng truyền thống sang các ứng dụng dựa trên vị trí. Thông qua việc tích hợp các công nghệ này vào các thiết bị di động. Các nhà cung cấp dịch vụ có thể cung cấp rất nhiều các ứng dụng khác nhau dựa cho các khách hàng khác nhau và ở những vị trí khác nhau. Các dịch vụ này được gọi là các dịch vụ dựa trên vị trí người sử dụng hay là dịch vụ hướng vị trí. Người sử dụng cung cấp thông tin cho nhà cung cấp dịch vụ : vị trí của họ, hoàn cảnh xung quanh họ, nhu cầu cần đáp ứng… . Dựa vào những thông tin do người dùng cung cấp, nhà cung cấp dịch vụ di động sẽ đưa ra những thông tin mà họ mong muốn. Dịch vụ hướng vị trí là gì ? Dịch vụ hướng vị trí (Location-Based Services) hay LBS là khái niệm xuất hiện từ những năm 2000 tuy nhiên có chưa một định nghĩa, một khái niệm rõ ràng về nó. Ví dụ như : LBS là những dịch vụ cung cấp thông tin thông qua mạng lưới di động và sử dụng khả năng xác định vị trí của các mạng di động [Virrantaus et al. 2001]. Hoặc LBS là dịch vụ mạng không dây sử dụng thông tin địa lý để phục vụ người sử dụng di động. Bất kỳ dịch vụ nào mà ứng dụng của nó có sử dụng vị trí của thiết bị đầu cuối đều là LBS. Một dịch vụ dựa trên vị trí (LBS) yêu cầu có 5 thành phần cơ bản : Phần mềm ứng dụng của nhà cung cấp dịch vụ • Mạng di động dùng để trao đổi dữ liệu và yêu cầu cho dịch vụ • Nhà cung cấp nội dung cho người dùng cuối dựa trên thông tin về vị trí của người dùng cuối. • Thiết bị định vị vị trí ( GPS được tích hợp trong điện thoại chẳng hạn) • Thiết bị di động của người dùng cuối 16 Hình 3.1-1 Những thành phần cơ bản của một LBS Trong nghiên cứu, LBS được coi như là một tập con đặc biệt của các dịch vụ nhận biết ngữ cảnh (Context-aware Services). Nói chung, các dịch vụ nhận biết ngữ cảnh được định nghĩa là các dịch vụ thích nghi tự động với các hành vi của chúng, ví dụ lọc hoặc biểu diễn thông tin đối với 1 hoặc nhiều tham số phản ánh ngữ cảnh hiện tại và mục tiêu. Các tham số này chính là thông tin ngữ cảnh. LBS luôn được xem là các dịch vụ nhận biết ngữ cảnh vì vị trí chính là một trường hợp đặc biệt của thông tin ngữ cảnh. Thông tin ngữ cảnh thường thì có những thông tin quan trọng và có những thông tin ít quan trọng hơn Hình 3.1-2 Phân loại thông tin ngữ cảnh LBS có 2 dạng đó là LBS phản ứng (reactive) và LBS thực hiện trước (proactive). Một LBS reactive luôn được kích hoạt bởi người dùng (kích hoạt phiên làm việc ), và có sự tương tác yêu cầu dịch vụ và trả về nội dung yêu cầu của người 17 dùng. Chu trình yêu cầu và hồi đáp có thể thực hiện nhiều lần trước khi phiên làm việc kết thúc. Do có chu trình lặp đi lặp lại như vậy nên LBS phản ứng thường được đặc trưng bởi một mẫu tương tác đồng bộ giữa người dùng và dịch vụ. Ví dụ, người dùng muốn tìm quán café vào buổi sáng ở gần nơi anh ta ở. Khi đó anh ta sẽ yêu cầu thiết lập phiên làm việc với dịch vụ. Lần đầu anh ta yêu cầu danh sách các quán café quanh anh ta. Dịch vụ sẽ tìm và lọc danh sách các quán café xung quanh nơi anh ta ở và trả về cho anh ta. Sau đó anh ta yêu cầu tiếp xem những quán nào đang trong giờ mở cửa hoặc quán nào có loại café Capuchino… Quá trình này sẽ tiếp tục cho tới khi nào dịch vụ tìm thấy quán đúng anh ta yêu cầu. Khác với LBS phản ứng thì LBS thực hiện trước được khởi tạo tự động ngay khi một sự kiện vị trí xác định trước xuất hiện. Giả sử một du khách sử dụng dịch vụ LBS trong một bảo tàng lịch sử rộng lớn. Khi du khách đi vào một vùng nào đó mới, thông tin giới thiệu về nơi đó hoặc những hiện vật xung quanh đó sẽ được tự động gửi về máy của du khách. Ở LBS proactive, dịch vụ tự thực hiện trước khi có yêu cầu của người dùng nên sự tương tác giữa người sử dụng và dịch vụ xảy ra không đồng bộ. 3.2 Ngữ cảnh và Học theo ngữ cảnh trên di động 3.2.1 Ngữ cảnh (Context) Context ta tạm dịch sang Tiếng Việt nghĩa là “Ngữ cảnh”. Nó là bất cứ thông tin nào có thể dùng để phân biệt, xác định tình trạng hiện thời của thực thể hoặc các hành động của thực thể. Ngữ cảnh bao hàm các thông tin về hiện trạng, trạng thái, vị trí, không gian liên quan đến một cá nhân hoặc sự kiện cụ thể. Một ngữ cảnh là một môi trường mà thực thể đó tồn tại hoặc sự kiện nào đó xảy ra. Ngữ cảnh là cực kỳ quan trọng vì nó kiểm soát, ảnh hưởng và tác động đến mọi thứ trong nó. Theo Dey e tal . (2001). Mọi thứ đều diễn ra trong một ngữ cảnh nhất định. Và ngữ cảnh đó là duy nhất, nó chi phối nội dung trong nó. Ta có thể xác định ngữ cảnh của một thực thể hoặc một sự kiện thông qua đặc điểm riêng của thực thể hoặc sự kiện đó và môi trường chứa nó. Như vậy với mỗi ngữ cảnh ta cần mã hóa và biểu diễn theo một dạng nào đó trên máy tính, thông tin dạng số này cho phép máy tính có thể phân biệt và nhận biết các ngữ cảnh và các thay đổi theo ngữ cảnh mà từ đó đưa ra các hành động thích hợp. 18 Khái niệm “context” có thể chia ra làm 2 dạng chính đó là : Ngữ cảnh về cá nhân (Personal context), Ngữ cảnh môi trường (Environmental context ). Ngữ cảnh cá nhân ( Personal context) : Nó tồn tại với mỗi người chúng ta, bao gồm tất cả các thông tin riêng liên quan đến cá nhân đó. Nó được xác định bới các thành phần tĩnh ( không thay đổi ) như tên, sở thích, quê quán và các thành phần động như tốc độ di chuyển, vị trí hiện tại… Ngữ cảnh cá nhân. Ngữ cảnh về môi trường : bao gồm tất cả các thông tin về hoàn cảnh, trạng thái, môi trường mà thực thể đó đang tồn tại. Ví dụ như vị trí hiện thời của thực thể, thời tiết ở xung quanh thực thể, … 3.2.2 Nhận biết ngữ cảnh (Context-Aware) Context-aware : Nhận biết ngữ cảnh. Một ứng dụng có khả năng nhận biết được ngữ cảnh nếu nó sử dụng các thông tin về ngữ cảnh để cung cấp thông tin hoặc dịch vụ tới người sử dụng sao cho thông tin đó liên quan chặt chẽ đến các hành động, ứng xử.. của họ. Khái niệm này gân tương tự như khái niệm Adaption-context, tuy nhiên Context-aware chính là một bước khởi đầu của toàn bộ quá trình Adaption-context. Context-aware sử dụng các luật tự xây dựng và thông tin đầu vào để xác định và phân loại các ngữ cảnh theo từng lớp sao cho từ đó có thể định nghĩa, cá thể hóa các hành động(action) hoặc phản ứng của người dùng cũng như môi trường xung quanh người dùng. Một hệ thống nhận biết ngữ cảnh thường có các tính năng : • Trình diễn thông tin và các dịch vụ đối với người sử dụng. • Tự động thực hiện một dịch vụ nào đó ( theo ngữ cảnh) • Gán nhãn cho ngữ cảnh để sử dụng cho lần sau. 3.2.3 Học trên di động (Mobile Learning ) Học trên di động, một khái niệm không còn xa lạ với các nước tiên tiến tuy nhiên lại là một khái niệm mới mẻ ở Việt Nam. Từ những năm 90, các trường đại học ở châu Âu đã phát triển các chương trình học trên di động dành cho sinh viên. Năm 2007, sinh viên trường Đại Học Cyber (Nhật Bản) được học thử nghiệm chương trình học qua điện thoại di động, với nội dung về bí ẩn các Kim Tự Tháp Ai Cập. Đối với các bài học trên PC, người học download bài giảng về máy tính. Bài học được cung cấp dưới dạng hình và chữ, và một màn hình video nhỏ ở góc trên sẽ phát hình giáo viên đang giảng bài. Còn đối với bài học trên di động thì đơn giản hơn nhiều – bài học chỉ 19 là các đoạn bài giảng bằng Power Point cho phù hợp với màn hình nhỏ xíu của điện thoại di động. Theo Georgiev, Georgieva, Smrikarov (2004) thì học trên di động (m-Learning) chính là một nhánh của Học từ xa (d-Learning) hay (e-Learning). M-Learning có thể được định nghĩa như là một cách sử dụng các thiết bị di động hoặc không dây để học tập khi người học di chuyển hay không cố định. Người học có thể học ở bất cứ đâu, vào bất cứ thời gian nào bao gồm cả những nơi như trường học, lớp học, ở nhà hay ở trên ô tô, tàu điện ngầm, xe bus… M-Learning cung cấp một giải pháp mạnh mẽ và thiết thực dành cho học tập và đào tạo, chẳng hạn như : Trong các dự án hợp tác và nghiên cứu thực địa Như là một lớp học thay thế cho sách vở và máy tính Các học viên không cần tập trung một nơi mà có thể ở nhiều nơi, địa điểm khác nhau. Đào tạo ‘just in time’ 3.2.4 Học theo ngữ cảnh trên di động (Mobile Learning in Context) Các phương pháp giáo dục hiện đại đều đòi hỏi học sinh có thể học tập khi ở trong lớp hoặc bên ngoài lớp học. Đặc biệt với việc học trong thực tế, học viên có thể nắm bắt được nội dung, kiến thức bài học nhanh hơn nhiều so với các phương pháp học lý thuyết nhàm chán. Tuy nhiên, cơ sở hạ tầng dành cho việc học tập hiện nay không thể đáp ứng được nhu cầu đó. Do vậy, Phương pháp học theo ngữ cảnh trên di động được áp dụng nhằm giải quyết vấn đề “học mọi lúc mọi nơi” và “nội dung học tùy theo thế giới thực xung quanh” nhằm giúp học sinh học tập với chiếc di động của mình. Đây là một phương pháp kết hợp phương pháp học trên di động (Mobile Learning) và phương pháp nhận diện ngữ cảnh (Context-aware) nhằm đưa ra những nội dung phù hợp nhất so với ngữ cảnh hiện thời của người học thông qua việc mô hình hóa ngữ cảnh và phân loại các ngữ cảnh. 20 3.3 Java 2 Micro Edition – J2ME 3.3.1 Đôi nét về J2ME Công nghệ di động ngày càng phát triển. Chiếc điện thoại di động hiện nay không còn đơn giản thực hiện nhiệm vụ thoại mà ngày càng trở thành một vật không thể thiếu trong cuộc sống hằng ngày. Cùng với sự gia tăng về số lượng thì tính năng dành cho điện thoại di động cũng tăng lên đáng kể. Hàng loạt các tính năng cao cấp được giới thiệu như chụp hình số, nghe nhạc và đặc biệt nhất là có thể sử dụng các chương trình không phải do nhà sản xuất điện thoại cung cấp. Đây có thể được coi là một cuộc cách mạng trong lĩnh vực di động, nó biến chiếc điện thoại nhỏ bé của bạn thành một chiếc máy tính thu nhỏ, với những chủng loại điện thoại này bạn có thể đọc báo, tiểu thuyết, tra từ điển, bản đồ, truy cập internet và nhất là mang thế giới giải trí đến bên cạnh, những bản nhạc hay, những games hay sẽ luôn sẵn sàng mỗi khi bạn cần đến Tuy nhiên, số lượng các loại máy di động ngày càng đa dạng cho nên việc phát triển một ứng dụng cho nhiều dòng điện thoại là rất khó khăn. Chính vì vậy Sun đã đi đầu trong việc phát triển một nền tảng sao cho có thể dung hòa các khác biệt về phần cứng của các dòng điện thoại di động sao cho các thiết bị phần cứng khác nhau có thể sử dụng chung một nền tảng phần mềm. Đó chính là Java 2 Platform Micro Edition ( J2ME). 3.3.2 Cấu trúc J2ME 3.3.2.1 Máy ảo Java - KMV Cơ chế thực thi đằng sau bất kỳ ứng dụng Java nào là JVM (Java Virtual Machine). Khi bạn biên dịch mã nguồn Java thành một lớp (.class) và đặt chúng vào trong file lưu trữ .JAD của Java, máy ảo JVM sẽ biên dịch file .class này thành mã thực thi điều khiển bởi JVM. Các mã trong file .class gọi là mã bytecode. Đối với thiết bị cấu hình dạng CDC, máy ảo JVM có toàn bộ chức năng tương đương với máy ảo phục vụ môi trường J2SE. Đối với thiết bị cấu hình dạng CLDC, Sun cài đặt một phiên bản thu nhỏ hơn dành cho JVM gọi là K Virtual Machine (KVM). Chính nhờ tầng này mà J2ME có thể dung hòa sự khác biệt giữa các phần cứng khác nhau. 21 3.3.2.2 Cấu hình (Configuration ) 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. • … Hiện nay Sun đã đưa ra 2 dạng Configuration. 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 (low-end), 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. CDC (Connected Device Configuration) Cấu hình thiết bị kết nối: 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 … 3.3.2.3 Mô tả (Profile) Profile mở rộng Configuration bằng cách thêm vào các lớp để bổ trợ các tính năng cho từng thiết bị chuyên biệt. Cả 2 Configuration đều có những profile liên quan và từ những profile này có thể dùng các lớp lẫn nhau. Ta có thể nhận thấy do mỗi profile định nghĩa một tập hợp các class khác nhau, nên thường ta không thể chuyển một ứng dụng Java viết cho một profile này và chạy trên một máy hỗ trợ một profile khác. Cũng với lý do đó, bạn không thể lấy một ứng dụng viết trên J2SE hay J2EE và chạy trên các máy hỗ trợ J2ME. Một số các profile tiêu biểu: 22 Mobile Information Device Profile (MIDP): Profile này sẽ bổ sung các tính năng như hỗ trợ kết nối, các thành phần hỗ trợ giao diện người dùng … vào CLDC. Profile này được thiết kế chủ yếu để nhắm vào điện thọai di động với đặc tính là màn hình hiển thị hạn chế, dung lượng chứa có hạn. Do đó MIDP sẽ cung cấp một giao diện người dùng đơn giản và các tính năng mạng đơn giản dựa trên HTTP. Có thể nói MIDP là profile nổi tiếng nhất bởi vì nó là kiến thức cơ bản cho lập trình Java trên các máy di động (Wireless Java). PDA Profile: Tương tự MIDP, nhưng với thị trường là các máy PDA với màn hình và bộ nhớ lớn hơn. Foundation Profile: Cho phép mở rộng các tính năng của CDC với phần lớn các thư viện của bộ Core Java2 1.3 và không hỗ trợ các ứng dụng GUI. Personal profile: Mở rộng từ Foundation profile và cung cấp các API cho lập trình GUI nhằm cung cấp giao diện đồ hoạ người dùng cho các trang Web có dùng Applet. RMI profile: Mở rộng từ Foundation prrofile cung cấp RMI cho thiết bị. RMI profile sẽ được dùng để tạo sự tương thích giữa các thiết bị cầm tay với J2SE RMI API. Ngoài ra còn có Personal Basis Profile, Game Profile. Hình 3.3-1 Vị trí các profile trong j2me 3.3.3 Vòng đời của một ứng dụng J2ME Hiện nay các dòng điện thoại có profile là MIDP phổ biến hơn và vòng đời của các ứng dụng j2me trên các cấu hình khác nhau, profile khác nhau là gần như nhau nên ở đây tôi sẽ chỉ trình bày về vòng đời của một ứng dụng MIDP. Một MIDlet phải chứa ba phương thức trừu tượng chúng được gọi bởi trình quản lý ứng dụng để quản lý vòng đời của một MIDlet. Các phương thức gồm có: 23 startApp(), pauseApp(), và destroyApp(boolean b) tương ứng với các trạng thái Active, Paused, và Destroyed. Phương thức startApp() được trình quản lý ứng dụng gọi khi một MIDlet được khởi tạo và mỗi khi MIDlet trở về trạng thái dùng. Các biến toàn cục sẽ được khởi tạo lại trừ hàm tạo vì các biến này đều được giải phóng bởi phương thức pauseApp(). Phương thức pauseApp() được gọi bởi trình quản lý ứng dụng mỗi khi ứng dụng cần tạm thời dừng hoạt động MIDlet. Trình quản lý ứng dụng khởi động lại MIDlet bằng việc gọi lại phương thức startApp(). Khi phương thức này được gọi sẽ thực hiện giải phóng các tài nguyên để dành cho các chức năng khác. Phương thức destroyApp() được trình quản lý ứng dụng gọi mỗi khi kết thúc hoạt động của một MIDlet. Phương thức này chỉ nhận một tham số kiểu Boolean. Nếu tham số này là true, MIDlet sẽ được thoát vô điều kiện; ngược lại MIDlet có thêm tuỳ chọn từ chối thoát bằng cách phát sinh ngoại lệ MIDletStateChangeException báo với trình quản lý ứng dụng biết MIDlet chưa muốn kết thúc. Chu kỳ của một MIDlet Hình 3.3-2 Vòng đời của một MIDlet 24 3.4 Webservice 3.4.1 Khái niệm Thuật ngữ “Dịch vụ web” (Web service ) nói đến truyền thông ứng dụng đến ứng dụng. Nó cho phép server có thể cung cấp các dịch vụ khác nhau thông qua trao đổi thông điệp dưới dạng web. Một dịch vụ web đơn giản là một dịch vụ trên internet có khả năng truy xuất thông qua giao diện theo khuôn dạng sử dụng các giao thức Internet chuẩn (HTTP). Các điểm đầu cuối sử dụng dịch vụ web service không cần phải quan tâm xem server viết bằng ngôn ngữ lập trình nào. Hình 3.4-1 Mô tả webservice Hai đặc tả quan trọng về Dịch vụ Web là Ngôn ngữ mô tả dịch vụ web ( Web Service Descripttion Language – WSDL ) và Giao thức truy xuất đối tượng đơn giản ( Simple Object Access Protocol – SOAP). WSDL được dùng để mô tả một dịch vụ web đã được triển khai. SOAP được dùng để định nghĩa dạng của thông điệp được trao đổi giữa các điểm đầu cuối ( client, server) của dịch vụ Web trong suốt quá trình hoạt động của dịch vụ web đó. Một dịch vụ web có thể tự đăng ký ở một nơi đăng ký thích hợp ( cung cấp mô tả WSDL ) để client có thể nhận ra nó. Các tiến trình này gọi là quá trình đăng ký và nhận biết dịch vụ. 25 3.4.2 Web Service Descripttion Language (WSDL) WSDL là một định dạng XML để mô tả các dịch vụ Web Service và cách thức client truy cập và sử dụng các dịch vụ đó. Hình 3.4-2 Cấu trúc chung của một văn bản WSDL Cấu trúc chung của một văn bản WSDL bao gồm 5 element chính : Type : optional, cung cấp định nghĩa các kiểu dữ liệu được sử dụng ở các thông điệp. Các định nghĩa kiểu dữ liệu thường được viết trong hệ thống XSD(extensible schema definition). Ví dụ : Sử dụng 1 XSD bên ngoài Method : String SayHello ( String name ) <xsd:import namespace= schemaLocation="HelloService_schema1.xsd" /> 26 Message : Định nghĩa các thông điệp sử dụng trong web service. Thứ tự của các message phản ánh cách hoạt động của web service: request/response hay solicit/response. Tên của các message có dạng ---In/---Out; ---Request/---Response với ‘---‘ phản ảnh operation liên kết với message. Port type : biểu diễn dịch vụ như là một tập named operation, mỗi operation được mô tả bởi các input/output message . Nó giống như là một interface trong ngôn ngữ Java: cho biết các operation và message nhưng không cho biết cài đặt bên trong. Binding : Mô tả các chi tiết rõ ràng của web service. Nó giống như là lớp cài đặt một interface trong Java. <binding name="HelloServiceSoap“ type="tns:HelloServiceSoapPort"> <soap:binding transport="" style="rpc"/> <soap:operation soapAction=" corexml/SayHello"/> 27 Service : Định nghĩa một hoặc nhiều endpoint mà service hoạt động. Một endpoint được mô tả là một URL mà các message có thể gửi tới để mà sử dụng dịch vụ. Service sẽ liệt kê một hoặc nhiều port, mỗi port gồm một portType (interface) và một binding(implementation). Thuật ngữ ‘port’ là lấy từ giao thức TCP, trong đó, một kết nối được mô tả bởi một cặp , mỗi port tại một IPAdress sẽ phục vụ một dịch vụ nhất định. <port name="HelloServiceSoap" binding="tns:HelloServiceSoap"> <soap:address location=""/> 3.4.3 Simple Object Access Protocol (SOAP) SOAP là một giao thức dựa trên XML xác định cách thức các ứng dụng có thể trao đổi thông tin với nhau thông qua HTTP. Hình 3.4-3 Mô tả cách thức SOAP làm việc Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm các phần tử sau: - Phần tử gốc - envelop: phần tử bao trùm nội dung thông điệp, khai báo văn bản XML như là một thông điệp SOAP. - Phần tử đầu trang - header: chứa các thông tin tiêu đề cho trang, phần tử này không bắt buộc khai báo trong văn bản. Header còn có thể mang những dữ liệu chứng thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các giao dịch khác. 28 - Phần tử khai báo nội dung chính trong thông điệp - body, chứa các thông tin yêu cầu và thông tin được phản hồi. - Phần tử đưa ra các thông tin về lỗi -fault, cung cấp thông tin lỗi xảy ra trong qúa trình xử lý thông điệp. Hình 3.4-4 Cấu trúc một thông điệp SOAP Một SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham chiếu tới một thể hiện của dịch vụ, một hoặc nhiều tham số. Có 3 kiểu thông báo sẽ được đưa ra khi truyền thông tin: request message(tham số gọi thực thi một thông điệp), respond message (các tham số trả về, được sử dụng khi yêu cầu được đáp ứng) và cuối cùng là fault message (thông báo tình trạng lỗi). <env:Envelope xmlns:env=“ envelope” xmlns:xsd="" xmlns:xsi="" xmlns:SOAP- ENC="" xmlns:stockquote=""> <am:customer xmlns:route="" 29 env:actor=" envelope/actor/next" env:mustUnderstand="true"> 4557799 12asd-34ccd-23cuden C GE DJI Kiểu truyền thông : Có 2 kiểu truyền thông • Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua mạng. Kiểu này được khai thác bởi nhiều dịch vụ Web. • Document: được biết đến như kiểu hướng thông điệp, nó cung cấp giao tiếp ở mức trừu tượng thấp, khó hiểu và yêu cầu lập trình viên mất công sức hơn. Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham số, lời gọi đến các API khác nhau nên việc sử dụng chúng tùy thuộc vào thời gian và sự phù hợp với dịch vụ Web cần xây dựng. Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống như trong các ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date…) hay những kiều phức tạp hơn như struct, array, vector… Định nghĩa cấu trúc dữ liệu SOAP được đặt trong namespace SOAP-ENC. Mã hóa: Giả sử service rquester và service provider được phát triển trong Java, khi đó mã hóa SOAP là việc làm thế nào để chuyển đổi từ cấu trúc dữ liệu Java sang SOAP XML và ngược lại, bởi vì định dạng cho Web Service chính là XML. Bất kỳ 30 một môi trường thực thi SOAP nào cũng phải có một bảng chứa thông tin ánh xạ nhằm chuyển đổi từ ngôn ngữ Java sang XML và từ XML sang Java - bảng đó được gọi là SOAPMappingRegistry. Nếu một kiểu dữ liệu được sử dụng dưới một dạng mã hóa thì sẽ có một ánh xạ tồn tại trong bộ đăng ký của môi trường thực thi SOAP đó. 3.5 Kỹ thuật định vị A-GPS (Assisted GPS) Có nhiều kỹ thuật định vị vị trí hiện thời của một thuê bao di động. Tuy nhiên ta có thể chia ra làm hai loại chính : phương pháp dựa trên cơ sở mạng như Cell-ID, TOA( Time Of Arrival), AOA ( Angle Of Arrival ), TDOA (Time Difference Of Arrival) và dựa trên máy di động như E-OTD và A-GPS. Ngoài ra, ta cũng có thể chia nó theo việc nó có phụ thuộc vào hệ thống định vị GPS hay không. Ở đây, ta chỉ đề cập đến phương pháp phổ biến, được dùng phổ biến hiện nay đó là phương pháp A-GPS. A-GPS có thể sử dụng trong các mạng GSM, GPRS và WCDMA. A-GPS sử dụng các vệ tinh làm các điểm tham chiếu để xác định vị trí. Bằng cách đo chính xác khoảng cách tới 3 vệ tinh từ đó máy thu xác định được vị trí của nó ở trên mọi nơi trên trái đất. Máy thu đo khoảng cách bằng cách đo thời gian mà tín hiệu đi từ vệ tinh tới máy thu , vì vậy yêu cầu chính xác thông tin về thời gian. Thời gian chính xác có thể nhận được từ các tín hiệu vệ tinh tuy nhiên quá trình để nhận được thông tin này khá lâu và khó khăn khi tín hiệu từ vệ tinh quá yếu. Để giải quyết vấn đề này người ta sử dụng một server (A-GPS Location Server) cung cấp cá thông tin liên quan đến vệ tinh cho các máy thu. Những thông tin hỗ trợ từ server này giúp máy thu giảm được thời gian xác định vị trí và cho phép các máy thu A-GPS hoạt động trong các môi trường khác nhau. Máy thu A-GPS hoạt động ở 2 dạng chính : Dựa trên MS-Mobile station và hỗ trợ từ MS. Ở dạng hỗ trợ từ MS, máy thu A-GPS trong MS nhận một ít thông tin từ server A-GPS và tính khoảng cách đến các vệ tinh, các thông tin này được MS gửi lại server để server này xác định vị trí của MS. Ở dạng dựa trên MS, MS xác định luôn vị trí của nó nhờ thông tin hỗ trợ từ server. 31 Hình 3.5-1 Nguyên lý hoạt động của A-GPS A-GPS cho độ chính xác cao hơn so với Cell-ID, E-OTD và có thể hoạt động ở mạng đồng bộ hoặc không đồng bộ. Tuy nhiên để sử dụng được A-GPS thì các MS phải có thêm phần mạch A-GPS. Bảng 3-1 Bảng đặc tính phương pháp A-GPS 32 CHƯƠNG 4 Mô hình thử nghiệm 4.1 Phân tích thiết kế hệ thống 4.1.1 Biểu đồ ngữ cảnh hệ thống Do trong khuôn khổ khóa luận , nội dung và các ngữ liệu học tập không nhiều do vậy ta tạm thời xây dựng hệ thống với Hệ thống cung cấp dịch vụ nhận thêm chức năng cung cấp nội dung. Với nội dung được lưu vào database. Mô hình gồm 2 thành phần chính đó là Client chạy trên máy di động người dùng và Server cung cấp dịch vụ. Client cung cấp giao diện tương tác và thu thập thông tin ngữ cảnh và gửi lên server. Server chịu trách nhiệm xử lý thông tin và xuất nội dung về cho client. NHÀ CUNG CẤP NỘI DUNG 0 HỆ THỐNG CUNG CẤP DỊCH VỤ NGƯỜI SỬ DỤNG Thông tin ngữ cảnh Ngữ liệu học tập Thông tin điều khiển Yêu cầu Nội dung yêu cầu Hình 4.1-1 Biểu đồ ngữ cảnh hệ thống 33 4.1.2 Biểu đồ phân rã chức năng 4.1.3 Chức năng chi tiết hệ thống 4.1.3.1 Đăng nhập và đăng ký Như ta đã nói ở trên, với mục tiêu người dùng là trung tâm và thông tin về người dùng là thông tin quan trọng trong quá trình xác định ngữ cảnh cũng như nội dung bài học. Do vậy, quá trình đăng ký thông tin người sử dụng và quá trình đăng nhập chính là quá trình thu thập thông tin do người dùng cung cấp và quá trình xác nhận lại thông tin đó nếu người dùng sử dụng dịch vụ lần sau. Quá trình đăng nhập yêu cầu tên đầy đủ của người dùng, tên đăng nhập, mật khẩu truy cập, tuổi tác, giới tính. Khi đăng nhập cần sử dụng tên đăng nhập và mật khẩu. 4.1.3.2 Xây dựng nội dung bài học theo người dùng Chức năng xây dựng nội dung bài học theo người dùng thực hiện thu thập từng thông tin về vị trí hiện tại của người dùng ( ở đây ta coi như vị trí hiện tại là một trường hợp đặc biệt của một mô hình ngữ cảnh trong thực tế ) đồng thời thêm các yêu cầu của người dùng từ đó xác định ra nội dung cần hiển thị. Do thời gian và công nghệ có hạn nên khóa luận chưa thể ứng dụng trực tiếp phương pháp xác định tọa độ A-GPS vào thực nghiệm để đoán nhận vị trí người dùng 5.Trợ giúp HỆ THỐNG CUNG CẤP DỊCH VỤ 1.Đăng nhập, đăng ký 2.Xây dựng nội dung 3.Tìm kiếm 4.Loại bỏ bài học 1.1 Đăng nhập 1.2 Đăng ký 4.1 Loại bỏ 4.2 Khôi phục Hình 4.1-2 Biểu đồ phân rã chức năng 34 được, và thay vào đó là ta sẽ nhận thông tin đó từ người sử dụng cung cấp bằng các thao tác chọn locaction cho bài học. Nội dung được xây dựng theo tiêu chí : thông tin người dùng (tuổi tác, giới tính ), vị trí hiện tại, lịch sử các lần học trước, thời gian mà người học có thể bỏ ra để học bài học này. Sau mỗi lần xây dựng nội dung bài học cho người học, hệ thống sẽ ghi nhận lại bài học này trong cơ sở dữ liệu để sử dụng tiếp cho lần sau. Nếu lần sau người học yêu cầu nôi dung đó thì hệ thống sẽ xem xét xem nội dung đó người học đã học nhiều chưa, đã thành thục chưa, nếu là thành thục rồi thì sẽ không đưa nội dung đó vào bài học nữa. 4.1.3.3 Tìm kiếm bài học theo vị trí Do có thể rất nhiều địa điểm khác nhau nên rất khó để tìm một vị trí cố định nào đó. Do vậy chức năng tìm kiếm thực hiện tìm kiếm trong cơ sở dữ liệu các vị trí phù hợp để người sử dụng lựa chọn. 4.1.3.4 Loại bỏ bài học đã học Trong quá trình học tập thì có những bài học mà người học cảm thấy mình đã khá thành thục rồi nên không cần học nưa. Do vậy chương trình cung cấp chức năng loại bỏ những bài học mà học viên đã học kỹ rồi. Khi đã loại bỏ bài học này thì từ đó về sau, bài học bị loại bỏ sẽ ko bao giờ được cung cấp lại cho người học nữa. Bên cạnh đó, nếu người học muốn học lại các bài học mà mình đã bỏ qua thì chương trình có thêm chức năng khôi phục lại hiện trạng các bài học ban đầu. Tất cả các bài học bị loại bỏ sẽ khôi phục và sẽ đươc đưa cho người sử dụng. 4.1.3.5 Trợ giúp Đối với người mới sử dụng thì các chức năng, cách thức hoạt động của dịch vụ và cách sử dụng dịch vụ có thể là mới. Do vây, phần trợ giúp sẽ cung cấp thông tin chương trình và hướng dẫn sử dụng để có thể hỗ trợ việc sử dụng chương trình của người dùng. 35 4.1.4 Cơ sở dữ liệu Cơ sở dữ liệu của hệ thống bao gồm tất cả các thông tin về tài khoản người dùng, quá trình học tập của người dùng, các nội dung để xây dựng lên bài học tiếng anh( Do ở đây nhà cung cấp dịch vụ sẽ kiêm cung cấp nội dung nên cơ sở dữ liệu của bên cung cấp dịch vụ sẽ bao gồm cả nội dung bài học). Dữ liệu được quản lý bằng hệ quản trị cơ sở dữ liệu MYSQL. Cơ sở dữ liệu gồm có các bảng : Context_members (uname, pword, name, sex, age) Context_group(gr_id, gr_name) Context_name(name_id, ct_name, gr_id) Context_detail(ct_id, name_id, ct_viet_conver, ct_eng_conver, sex, age, time, rank) Context_session_element(element_id, record_id, ct_id) Context_session_records(record_id, record_time, uname, name_id, session_time) Context_exception( uname, ct_id ) 36 4.1.4.1 Biểu đồ dữ liệu Hình 4.1-3 Biểu đồ dữ liệu 4.1.4.2 Cơ sở dữ liệu chi tiết CONTEXT_MEMBERS (Lưu trữ thông tin người dùng) Thuộc tính Kiểu dữ liệu Khóa Mô tả uname varchar(100) Khóa chính Tên đăng nhập của người dùng pword varchar(100) Mật khẩu người dùng name varchar(200) Tên đầy đủ của người dùng sex int(11) Giới tính age int(11) Tuổi 37 CONTEXT_GROUP (Mô tả thông tên về một nhóm các ngữ cảnh nào đó) Thuộc tính Kiểu dữ liệu Khóa Mô tả gr_id int(11) Khóa chính Mã của nhóm các ngữ cảnh gr_name varchar(200) Tên của nhóm ngữ cảnh CONTEXT_NAME (Mô tả một ngữ cảnh) Thuộc tính Kiểu dữ liệu Khóa Mô tả name_id int(11) Khóa chính Mã của ngữ cảnh ct_name varchar(200) Tên của ngữ cảnh gr_id int(11) Khóa ngoài Mã nhóm ngữ cảnh CONTEXT_DETAIL (Lưu trữ về nội dung cấu thành lên 1 bài học trong một ngữ cảnh xác đinh) Thuộc tính Kiểu dữ liệu Khóa Mô tả ct_id int(11) Khóa chính Mã của nội dung chia tiết name_id int(11) Khóa ngoài Mã của ngữ cảnh ct_viet_conver varchar(300) Nội dung bài học ( Tiếng Việt) ct_eng_conver varchar(300) Nội dung bài học (Tiếng Anh) sex int(11) Giới tính bài học hướng dến age int(11) Độ tuổi mà bài học hướng đến time int(11( Thời gian ( sáng , chiều, tối) rank int(11) Độ khó của nội dung 38 CONTEXT_SESSION_ELEMENT (Mô tả chi tiết nội dung bài học trong một record) Thuộc tính Kiểu dữ liệu Khóa Mô tả element_id int(11) Khóa chính Mã của một element record_id int(11) Khóa ngoài context_session_records(record_id) ct_id int(10) Khóa ngoài context_detail(ct_id) CONTEXT_SESSION_RECORDS (Lưu trữ thông tin về một phiên học của người sử dụng, lưu trũ thời gian, và nội dung đã học của người đùng) Thuộc tính Kiểu dữ liệu Khóa Mô tả record_id int(11) Khóa chính Mã của một bản ghi record_time datetime Thời gian lưu uname varchar(100) Khóa ngoài context_members(uname) name_id int(11) Khóa ngoài context_name(name_id) session_time int(10) Lượng thời gian dùng để học CONTEXT_EXCEPTION (Tập hợp các nội dung mà người dùng loại bỏ trong quá trình học) Thuộc tính Kiểu dữ liệu Khóa Mô tả uname varchar(100) Khóa chính, ngoài ref context_members(uname) ct_id int(11) Khóa chính, ngoài ref context_detail(ct_id) 39 4.1.5 Luồng xử lý phía client Hình 4.1-4 Luồng xử lý phía client 40 4.2 Cài đặt 4.2.1 Yêu cầu phần cứng và phần mềm Đối với client phải là dòng máy hỗ trợ Java và hỗ trợ kết nối mạng. Đối với server Phần cứng phải đáp ứng cấu hình để có thể chạy các ứng dụng java và server. Phần mềm : Netbean, thư viện kết nối cơ sở dữ liệu (MySQL JDBC), hệ quản trị cơ sở dữ liệu MySQL, SunGlassFish Server 3. 4.2.2 Client Client được cài đặt trên điện thoại có hỗ trợ java với cấu hình CLDC 1.1 và MIDP 2.0 trở lên . Trong khóa luận này ta chạy ứng dụng client trên một bộ mô phỏng (emulator) có sẵn trên netbean 6.7 . Ứng dụng gồm có 2 gói chính : gói hello và gói newwebserviceservice 4.2.2.1 Gói hello Gói Hello gồm 1 lớp HelloMIDlet duy nhất. Lớp được kế thừa từ lớp MIDlet bao gồm tất cả các tính năng chính của chương trình như : tìm kiếm, xây dựng nội dung.. và hiển thị nội dung bài học. 4.2.2.2 Gói newwebserviceservice Gói newwebserviceservice chứa các lớp NewWebServiceService và NewWebServiceService_Stub. Lớp NewWebServiceService là lớp khai báo các phương thức được cung cấp bởi Webservice. Lớp NewWebServiceService_Stub là lớp kế thừa lớp NewWebServiceService trong đó nó mô tả chi tiết các phương thức đã khai báo trong lớp NewWebServiceService. Các phương thức này có thể coi như một bản sao của các phương thức được thực hiện trên server. Tuy nhiên thay vì chạy trên client thì khi client gọi phương thức này, nó sẽ dựa trên các mô tả trong tập tin NewWebServiceService.wsdl và giao thức SOAP để gửi thông tin (các biến, tham số) lên server và nhờ server chạy giúp và trả về kết quả cũng theo định dạng xml. 41 4.2.3 Server Trên server cung cấp service bao gồm 2 lớp chính : Lớp GetMysqlConnection chịu trách nhiệm kết nối với hệ quản trị cơ sở dữ liệu thông qua thư viện MYSQL JDBC. Lớp NewWebService bao gồm các phương thức minh họa cho các Operator mà webservice cung cấp cho client gọi. Nó bao gồm một số phương thức sau : addContextException : đưa một nội dung nào đó vào danh sách các nội dung học mà người học đã học kỹ, hoặc không muốn học nữa. addUser : thêm một người sử dụng vào hệ thống checkLogin : kiểm tra xem tên đăng nhập và mật khẩu có phù hợp để đăng nhập vào hệ thống không clearAllException : Phục hồi lại tất cả các nội dung học đã xóa. findName : tìm địa điểm theo tên getNameOfUser : Lấy tên đầy đủ của người dùng getCtNameByWidthCondition : lấy ra nội dung phù hợp theo một điều kiện nào đó Ngoài ra còn một số các phương thức khác nhằm cung cấp thông tin chi tiết khi client muốn truy vấn. 4.2.3.1 Kịch bản và giao diện ứng dụng trên client. Client được chạy trên emulator mặc định được tích hợp trong Netbean 6.7 với CLDC 1.1 và MIDP 2.0. Khi bắt đầu vào chương trình sẽ hiện ra một màn hình đăng nhập gồm tên đăng nhập và mật khẩu để người dùng nhập tên đăng nhập và mật khẩu của mình. Nếu tên đăng nhập đúng thì chuyển về màn hình hiển thị các vị trí để người dùng lựa chọn. Nếu tên đăng nhập hoặc mật khẩu sai thì sẽ xuất hiện thông báo là tên đăng nhập và mật khẩu không đúng. 42 Hình 4.2-1 Màn hình đăng nhập và màn hình thông báo đăng nhập lỗi Nếu đây là lần đầu tiên và người sử dụng chưa có tài khoản thì sẽ phải đăng ký một tài khoản. Để đăng ký tài khoản thì người sử dụng chọn Menu và chọn đăng ký ở màn hình đăng nhập. Lúc này màn hình đăng ký hiện ra với các ô textfield để người dùng nhập thông tin về Họ tên, tên đăng nhập, mật khẩu, tuổi tác và giới tính. Khi nhấn vào command ‘Đăng ký’ chương trình sẽ gửi thông tin tới server yêu cầu đăng ký người dùng vào hệ thống. Nếu đăng ký thành công màn hình sẽ chuyển về màn hình chứa các vị trí để người dùng lựa chọn. Tương tự như khi đăng nhập thành công. Nếu trong quá trình đăng ký lỗi xảy ra lỗi khác hoặc người dùng chưa điền đầy đủ thông tin thì sẽ hiện ra thông báo lỗi. Hình 4.2-2 Màn hình đăng ký và màn hình thông báo nếu đăng ký xuất hiện lỗi 43 Màn hình ‘Nhóm lĩnh vực’ sẽ hiển thị danh sách các lĩnh vực mà người sử dụng cần học. Trong ứng dụng thí nghiệm này nội dung bao gồm các câu nói thông dụng hoặc giải trí hoặc mua sắm hoặc sức khỏe. Người dùng có thể chọn trực tiếp 1 trong các lĩnh vực hoặc là nhập các chữ cái đầu của lĩnh vực vần tìm vào ô textfield. Chương trình sẽ tự động lọc cho bạn. Sau khi chọn lĩnh vực, màn hình sẽ chuyển tiếp sang màn hình chứa danh sách các ngữ cảnh ( các địa điểm ) mà có nội dung trong lĩnh vực đó. Hình 4.2-3 Màn hình hiển thị nhóm lĩnh vực và màn hình hiển thị địa điểm thuộc lĩnh vực đó Sau khi chọn xong ngữ cảnh chương trình sẽ hiện ra màn hình hỏi xem bạn sẽ dùng bao nhiêu thời gian cho bài học này. Chương trình có 3 tùy chọn là 5 phút, 10 phút và xem hết. Nếu thời gian xem ngắn thì nội dung bài học càng cô đọng xúc tích, còn nếu thời gian dài hơn thì nội dung sẽ tăng lên, phong phú hơn, khó hơn. 44 Hình 4.2-4 Màn hình hỏi thời gian dành cho bài học và màn hình hiển thị nội dung chi tiết bài học Sau khi chọn xong thời gian xem thì chương trình sẽ đưa ra nội dung bài học cụ thể. Trong mô hình thực tế này, ta chọn nội dung đơn giản là những câu giao tiếp trong đời sống, tương tự như hình trên. Nếu người học muốn loại bỏ những câu mà người học cảm thấy đã quá quen thuộc thì người học có thể chọn “Menu -> Loại bỏ”. Chương trình sẽ đưa ra một cảnh báo với thông tin rằng các câu đã chọn sẽ bị loại khỏi nội dung đào tạo nếu người học chọn loại bỏ. Còn nếu người học muốn học lại những nội dung đã loại bỏ từ trước thì có thể chọn “Menu Æ Xóa bỏ ngoại lệ”. Tất cả nội dung mà đã loại bỏ từ trước sẽ trở lại trạng thái ban đầu. 45 Hình 4.2-5 Màn hình hiển thị thông báo confirm loại bỏ bài học và màn hình thông báo khôi phục lại bài học Mặt khác, nếu người sử dụng muốn tìm kiếm theo địa điểm (ngữ cảnh ) thì tại menu chọn tìm kiếm. Màn hình tìm kiếm hiển thị ô nhập nội dung địa điểm cần tìm. Nếu có kết quả thì chương trình sẽ đưa ra danh sách các kết quả để người sử dụng lựa chọn. Nếu không có kết quả chương trình sẽ đưa ra thông báo rằng không có địa điểm trong cơ sở dữ liệu. Các màn hình hiển thị nội dung chi tiết tương tự như hình dưới. Hình 4.2-6 Hiển thị ô tìm kiếm và hiển thị danh sách các kết quả tìm kiếm được 46 Hình 4.2-7 Màn hình hiển thị nội dung chi tiết bài học tìm được và hướng dẫn sử dụng Màn hình trợ giúp chỉ hiển thị nếu người sử dụng đang ở màn hình đầu tiên( tức là màn hình đăng nhập ). Khi người dùng chọn “Menu Æ Trợ giúp”. 4.3 Thử nghiệm 4.3.1 Dữ liệu thử nghiệm Tên Tuổi Giới tính Thanh Niên 23 Nam Cụ Già 60 Nữ Bảng 4-1 Dữ liệu thử nghiệm Trong dữ liệu thử nghiệm ta sử dụng dữ liệu có sự khác biệt cơ bản để kiểm chứng các tính năng của chương trình. Mục đích của cuộc thử nghiệm là cho thấy được sự khác nhau giữa nội dung bài học trả về đối với mỗi người dùng, mỗi ngữ cảnh và sau mỗi lần học tập. 47 4.3.2 Kết quả thử nghiệm Người học : Thanh niên Lần xem : 1 Ngữ cảnh : Đi xem phim Thời gian : 5 phút Số kết quả trả về : 2 Người học : Cụ già Lần xem : 1 Ngữ cảnh : Đi xem phim Thời gian : 5 phút Số kết quả trả về : 2 Người học : Thanh niên Lần xem : 2 Ngữ cảnh : Trong bệnh viện Thời gian : 5 phút Số kết quả trả về : 6 Người học : Cụ già Lần xem : 2 Ngữ cảnh : Trong bệnh viện Thời gian : 5 phút Số kết quả trả về : 8 48 Người học : Thanh niên Lần xem : 3 Ngữ cảnh : Trong bệnh viện Thời gian : 10 phút Số kết quả trả về : 11 Người học : Cụ già Lần xem : 3 Ngữ cảnh : Trong bệnh viện Thời gian :10 phút Số kết quả trả về : 10 Người học : Thanh niên Lần xem : 7 Ngữ cảnh : Trong bệnh viện Thời gian : 10 phút Số kết quả trả về : 5 Người học : Cụ già Lần xem : 7 Ngữ cảnh : Trong bệnh viện Thời gian :10 phút Số kết quả trả về : 6 49 4.3.3 Nhận xét Như kết quả trên ta thấy với mỗi lần học nội dung bài học đều thay đổi tương ứng với các thay đổi của ngữ cảnh. Ngay kể cả lần đầu tiên sử dụng, nội dung là bài học giữa ‘Thanh niên’ và ‘Cụ già’ là giống nhau tuy nhiên là cách hiển thị có khác đi, do người già nên màn hình hiển thị bài học với font chữ lớn hơn bình thương. Hoặc trong lần thứ 2 học của cả ‘Thanh niên’ và ‘Cụ già’ trong cùng hoàn cảnh là trong bệnh viện tuy nhiên kết quả là có sai khác nhau. Và sai khác cả với nội dung bài học lần 1. Tương tự với lần học thứ 3 tuy nhiên lần 3 ta thử ngiệm với thời gian học lâu hơn ta thấy nội dung của bài học được tăng lên. Cụ thể là đối với ‘Thanh niên’ tăng từ 6 lên 11 và ‘Cụ già’ tăng từ 8 lên 10. Ta thí nghiệm tới lần thứ 7 thì cũng trong hoàn cảnh tương tự như lần 2 và lần 3 tuy nhiên ta thấy kết quả đã rút đi nhiều. Điều này xảy ra là do chương trình đã dựa vào quá trình học tập của người học mà điều chỉnh nội dung. Loại bỏ bớt những bài học mà người học đã học nhiều lần. Như kết quả ta thấy, số lượng câu trả về chỉ còn 5 cầu đối với ‘Thanh Niên’ và 6 câu đối với ‘Cụ già’. Với kết quả đó, ta thấy nội dung bài học là được thay đổi một cách rõ ràng qua từng lần học với mỗi ngữ cảnh khác nhau ( ở đây ta coi ‘Địa điểm’ chính là 1 nhân tố quan trọng nhất trong ngữ cảnh). Đó chính là một cách học thích nghi theo ngữ cảnh mà tôi đã trình bày trong khóa luận này. 50 CHƯƠNG 5 TỔNG KẾT 5.1 Kết quả đạt được Tìm hiểu về các dịch vụ hướng vị trí, các khái niệm về ngữ cảnh và học theo ngữ cảnh. Xây dựng thử nghiệm ứng dụng “Học Tiếng Anh trên thiết bị di động”. Ứng dụng minh họa tính thích nghi của nội dung học tập theo những thay đổi của ngữ cảnh. Trong ứng dụng thử nghiệm này thông tin ngữ cảnh được đặc trưng bởi các thông tin người học( tuổi tác, giới tính ), các thông tin về vị trí người học ( trong bệnh viện, trong rạp chiếu phim, trong cửa hàng dụng cụ thể thao) , các thông tin về lịch sử học tập của người học ngoài ra là thông tin do người học cung cấp ( thời gian bài học mà người học mong muốn). Chương trình đã bước đầu xác định được từng ngữ cảnh của người dùng và đưa ra nội dung khác nhau cho từng người học trong từng ngữ cảnh khác nhau. Tìm hiểu về xây dựng và triển khai các ứng dụng dành cho các thiết bị di động, các ứng dụng webservice. Tìm hiểu về công nghệ định vị một thuê bao di động dựa trên công nghệ A-GPS. 5.2 Hạn chế Do công nghệ và thời gian có hạn nên chương trình chỉ giới hạn trong việc thử nghiệm trên cơ sở dữ liệu đơn giản. Nội dung bài học chỉ là các câu giao tiếp đơn giản, chưa có các cấu trúc ngư pháp, media,… , chưa mang tính học tập sâu. Ngoài ra, các thông tin ngữ cảnh được sử dụng trong thực nghiệm chỉ bó hẹp trong một số trường thông tin nhất định, chưa đủ để xác định tuyệt đối một mô hình ngữ cảnh mà chỉ mang tích chất tương đối. Tập luật để xác định một ngữ cảnh từ các thông tin ngữ cảnh vẫn còn thô sơ, chỉ là một dạng if else đơn giản chưa đủ để xác định được một mô hình ngữ cảnh chính xác. Một hạn chế nữa của khóa luận chính là việc chưa áp dụng được phương pháp định vị A-GPS vào chương trình để xác định vị trí người học từ đó xác định vị trí cũng như ngữ cảnh hiện tại. Trong ứng dụng thực nghiệm này thì thông tin về vị trí là được người học nhập vào. 51 5.3 Hướng phát triển Mô hình này rất có ý nghĩa và có tính thực tiễn cao hiện nay đã có một vài công ty của Việt Nam đang hướng đến mô hình trợ giúp học tập trên các thiết bị di động này. Trong tương lai, mô hình cần được phát triển hơn nữa. Thứ nhất , phát triển nội dung bài học đa dạng hơn. Thứ hai , áp dụng tất cả các thông tin( yếu tố) ngữ cảnh cần thiết để xác định một ngữ cảnh chính xác. Thứ ba, xây dựng một tập luật đủ mạnh sao cho từ các thông tin ngữ cảnh nhất định có thể xác định một cách đúng đắn ngữ cảnh mà các thông tin đó thể hiện. 52 TÀI LIỆU THAM KHẢO [1] R.O. Duda, P.E. Hart, and D.G. Stork, Pattern Classification. Wiley- Interscience, 2nd edition, 2000. [2] Virrantaus, K., Markkula, J., Garmash, A., Terziyan, Y.V., 2001. Developing GIS-Supported Location-Based Services. In: Proc. of WGIS’2001 – First International Workshop on Web Geographical In-formation Systems., Kyoto, Japan. , 423–432. [3] BillN.Schilit,NormanAdams, RoyWant. Context-Aware Computing Applications. [4] Lương Tiến Dũng. Khóa luận tốt nghiệp Nghiên cứu tìm hiểu hệ thống đối thoại ứng dụng trong dịch vụ hướng vị trí [5] Stefan Steiniger, Moritz Neun and Alistair Edwardes, Foundations of Location Based Services [6] PaulDourish, 2003, What we talk about when we talk about context [7] Đại học khoa học tự nhiên, Lập trình di động với J2ME, 04/2005 [8]

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

  • pdfLUẬN VĂN-NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG HỌC TIẾNG ANH THEO NGỮ CẢNH TRÊN THIẾT BỊ DI ĐỘNG.pdf