Phân tích thiết kế hệ thống

Một phần của 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 doc (Trang 39 - 59)

4.1.1 Biu đồ ng cnh h thng

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

33

4.1.2 Biu đồ phân rã chc năng

4.1.3 Chc năng chi tiết h thng

4.1.3.1 Đăng nhp 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 dng ni dung bài hc 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

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 hc 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 Loi b bài hc đã hc

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 liu

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 Biu đồ d liu

Hình 4.1-3 Biểu đồ dữ liệu

4.1.4.2 Cơ s d liu 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

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)

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)

39

4.1.5 Lung x lý phía client

40

4.2 Cài đặt

4.2.1 Yêu cu phn cng và phn mm

Đố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 Kch bn và giao din ng dng 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.

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.

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 nghim

4.3.1 D liu th nghim

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 nghim

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 Nhn 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’

Một phần của 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 doc (Trang 39 - 59)

Tải bản đầy đủ (PDF)

(59 trang)