CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG
2.1. Xác định yêu cầu
2.1.1. Các chức năng chính của chương trình
Xem tài liệu:
Cho phép người sử dụng lựa chọn bài lý thuyết cần xem sau đó hiển thị nội dung của bài lý thuyết đó và hiển nội dung dịch bài lý thuyết tiếng anh sang tiếng việt lên màn hình.
Từ điển:
Cho phép người sử dụng nhập từ cần tra cứu.
Hiển thị nghĩa, loại từ của từ cần tra.
Phát âm từ tra cứu theo tiếng Anh – Mỹ.
Ngữ pháp:
Cho phép người sử dụng lựa chọn bài ngữ pháp cần xem sau đó hiển thị nội dung của bài ngữ pháp lên màn hình.
Xem Video:
Xem video về môn học, video ca nhạc bằng tiếng anh. Sau đó hiển thị video lên màn hình.
Thi trắc nhiệm:
Cho phép người sử dụng lựa chọn bộ câu hỏi trắc nghiệm.
Khi người dùng lựa chọn xong bộ câu hỏi, hiển thị các câu hỏi trong bộ câu hỏi đó.
Hiển thị điểm khi người sử dụng hoàn thành bài thi.
Giới thiệu:
Giới thiệu thông tin về ứng dụng. 2.1.2. Biểu đồ UserCase
Biểu đồ UserCase thể hiện số lượng chức năng mà người sử dụng có thể tương tác trực tiếp với chương trình. Sau khi chương trình hoạt động người sử dụng sẽ có thể sử dụng một số chức năng nhất định sau:
30
Hình 2.1 Biểu đồ UserCase
2.2. Phân tích thiết kế
2.2.1 Sơ đồ phân cấp chức năng
Hình 2.2 Sơ đồ phân cấp chức năng
Người sử dụng Học ngữ pháp
Xem video Xem nội dung
Xem nội dung
Tra từ điển - Xem nghĩa - Phát âm Làm bài tập trắc nhiệm N.Hằng mobile learning
31 2.2.2 Sơ đồ luồng dữ liệu
2.2.2.1 Sơ đồ luồng dữ liệu mức khung cảnh
Trả lời yêu cầu
Yêu cầu chức năng
Hình 2.3 Sơ đồ luồng dữ liệu mức khung cảnh 2.2.2.2 Sơ đồ luồng dữ liệu mức đỉnh
Hình 2.4 Sơ đồ luồng dữ liệu mức đỉnh
Người sử dụng N.Hằng
32
2.2.2.3 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Tra từ
Hình 2.5 Sơ đồ luồng dữ liệu chức năng Tra từ
2.2.2.4 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Học ngữ pháp
Hình 2.6 Sơ đồ lường dữ liệu chức năng Học ngữ pháp 2.2.2.5 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Xem video
33
2.2.2.6 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng Làm bài trắc nghiệm.
Hình 2.8 Sơ đồ luồng dữ liệu chức năng Làm bài tập trắc nghiệm
2.2.3. Mô hình tổng quát.
2.2.3.1 Danh sách các thực thể
Bảng 2.1 Danh sách các thực thể
Tên thực thể Mô tả Thuộc tính, chú thích
Từ điển Từ điển
ID: mã từ
Từ khóa: Tên từ khóa Loại: loại từ
Nghĩa: nghĩa của từ khóa
Câu hỏi Câu hỏi trắc nhiệm
ID: mã câu hỏi
Câu hỏi: nội dung câu hỏi A: Đáp án A
B: Đáp án B C: Đáp án C D: Đáp án D
Đáp án: Đáp án đúng
2.2.3.2. Bảng thiết kế chi tiết
Bảng từ điển
Ý nghĩa: Thể hiện những từ ngữ chuyên ngành tiếng anh tin học. Mỗi từ sẽ có phần dịch nghĩa, loại từ và phát âm
34
Bảng 2.2 Bảng từ điển
Cột Kiểu dữ liệu Khóa
chính Ý nghĩa
ID interger X Mã phân biệt từng từ
Từ khóa text Từ
Nghĩa text Nghĩa từ
Loại text Loại từ
Bảng câu hỏi
Ý nghĩa: Thể hiện các câu hỏi trắc nhiệm
Bảng 2.3 Bảng câu hỏi
Cột Kiểu dữ liệu Khóa chính Ý nghĩa
ID interger X Mã phân biệt từng câu hỏi
Câu hỏi text Nội dung câu hỏi
A text Đáp án A
B text Đáp án B
C text Đáp án C
D text Đáp án D
Đáp án interger Đáp án đúng của câu hỏi
2.2.4 Mô hình lớp
Mô hình lớp thể hiện mối liên hệ giữa các lớp với nhau, liên kết với nhau tạo giúp chương trình hoạt động tốt, tối ưu.
35
Hình 2.9 Mô hình lớp
Lớp MainActivity
Là lớp chính của chương trình, nó xử lý đa số yêu cầu của người sử dụng. Lớp này liên kết, có quan hệ đến hầu hết các lớp khác trong mô hình.
Lớp Grammar Activity
Lớp này dùng để hiển thị list các tài liệu để cho người dùng lựa chọn
Bảng 2.4 Code màn hình tài liệu
public class mhlisttl extends Activity {
ListView lvds; LvAdapter adapter;
ArrayList<Tailieu> arr_tl = new ArrayList<Tailieu>(); @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mhlisttl);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_F
36
N);
iniArr();
lvds = (ListView)findViewById(R.id.listviewDS); adapter = new LvAdapter(mhlisttl.this,arr_tl); lvds.setAdapter(adapter);
lvds.setOnItemClickListener(new
AdapterView.OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent nd = new Intent(mhlisttl.this,ndlistview.class); nd.putExtra("sobai",arr_tl.get(position).getSobai()); nd.putExtra("tenbai",arr_tl.get(position).getTenbai()); startActivity(nd);
} }); }
public void iniArr(){
arr_tl.add(new Tailieu("Unit1","CONFIGURATION"));
arr_tl.add(new Tailieu("Unit2","HISTORY OF COMPUTER"));
arr_tl.add(new Tailieu("Unit3","CHARATERISTICS OF
COMPUTER"));
arr_tl.add(new Tailieu("Unit4","INSIDE THE COMPUTER"));
arr_tl.add(new Tailieu("Unit5","MAIN MEMORY – RAM AND
ROM"));
arr_tl.add(new Tailieu("Unit6","CENTRAL PROCESS UNIT"));
arr_tl.add(new Tailieu("Unit7","TYPES OF MEMORY"));
arr_tl.add(new Tailieu("Unit8","INPUT DEVICES"));
arr_tl.add(new Tailieu("Unit9","THE INTERNET"));
arr_tl.add(new Tailieu("Unit10","DISK AND DISK DRIVE"));
arr_tl.add(new Tailieu("Unit11","STORAGE DEVICES"));
arr_tl.add(new Tailieu("Unit12","PROGRAMS AND
PROGRAMMING LANGUAGES"));
arr_tl.add(new Tailieu("Unit13","DATABASE"));
} }
Lớp Info Grammar
37
Bảng 2.5 Code cho chức năng hiển thị tài liệu đuôi txt
Intent intent = getIntent();
String sb = intent.getStringExtra("sobai"); String tb = intent.getStringExtra("tenbai");
txtsobai.setText(sb); String ht = sb + ".txt";
txttenbai.setText(tb);
try {
InputStream is = getAssets().open(ht); int size = is.available();
byte[] buffer = new byte[size]; is.read(buffer);
is.close();
String text = new String(buffer); txtnoidung.setText(text);
}
catch (IOException ex){
ex.printStackTrace();
}
Lớp Tudien Activity
Lớp này giúp cho người sử dụng có thể tra từ, dịch nghĩa và phát âm.
Bảng 2.6 Code chức năng phát âm.
private void phatam(){
btnphatam.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) { final String laydulieu1 =
edtnhaptu.getText().toString().toLowerCase();
toSpeech = new TextToSpeech(manitudien.this, new
TextToSpeech.OnInitListener() { @Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR){
toSpeech.setLanguage(Locale.ENGLISH);
toSpeech.speak(laydulieu1,TextToSpeech.QUEUE_FLUSH,null); } } } }
38
Lớp Video Activity
Lớp này có chức năng cho người dùng chọn video muốn xem đã có sẵn của ứng dụng
Lớp Info Video Activity
Lớp này có chức năng hiển thị video mà người dùng đã chọn.
Lớp GioiThieu Activity
Giới thiệu thông tin khái quát về phần mềm.
Bảng 2.7 Code chức năng xem video
private void video(){
btnphatam.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) { final String laydulieu1 =
edtnhaptu.getText().toString().toLowerCase();
toSpeech = new TextToSpeech(manitudien.this, new
TextToSpeech.OnInitListener() { @Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR){
toSpeech.setLanguage(Locale.ENGLISH);
toSpeech.speak(laydulieu1,TextToSpeech.QUEUE_FLUSH,null); }
} }
39
CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG. 3.1. Danh sách các màn hình 3.1. Danh sách các màn hình
Bảng 3.1 Danh sách các màn hình
STT Tên màn hình Ý nghĩa, ghi chú
1 Trang chính Gồm các menu, tùy chức năng chính của chương trình 2 Trang từ điển Danh mục các từ, loại từ, ý nghĩa, phát âm 3 Trang lựa chọn ngữ pháp Danh mục các bài học ngữ pháp 4 Trang hiển thị nội dung ngữ pháp Nội dung bài học ngữ pháp 5 Trang dịch nội dung tài liệu Nội dung các bài học ngữ pháp
6 Trang lựa chọn video
Danh mục các video 10 Màn hình hiển thị video Hiển thị các video có
7 Trang chọn video Danh mục các video
8 Trang xem video Nội dung video
9 Trang lựa chọn câu hỏi trắc nghiệm
Danh mục các bộ câu hỏi trắc nghiệm
10 Trang trả lời câu hỏi trắc nghiệm
Danh mục các bộ câu hỏi trắc nghiệm
11 Trang điểm cao Hiện thị điểm cao
40
3.2. Chi tiết các trang
3.2.1. Trang chính (Home)
Gồm các tùy chọn cho người dùng để sử dụng chức năng của chương trình
Ảnh chi tiết
Hình 3.1 Màn hình chính
Mô tả chi tiết
Bảng 3.2 Mô tả chi tiết màn hình chính
STT Tên Loại Ý nghĩa
1 btnxtl Image Button Vào màn hình chọn tài
liệu
2 btnvideo Image Button Vào màn hình chọn video
3 btntd Image Button Vào màn hình tra từ điển
4 btngth Image Button Vào màn hình giới thiệu
41 3.2.2. Các trang về tài liệu
3.2.2.1. Trang chọn tài liệu
Ảnh chi tiết
Hình 3.2 Màn hình chọn tài liệu
Mô tả chi tiết
Bảng 3.3 Mô tả chi tiết màn hình chọn tài liệu
STT Tên Loại Ý nghĩa
1 lvds List View
Cho phép người dùng chọn bài lý thuyết cần
42
3.2.2.2. Trang nội dung tài liệu
Ảnh chi tiết
Hình 3.3 Màn hình nội dung tài liệu
Mô tả chi tiết
Bảng 3.4 Mô tả chi tiết màn hình nội dung tài liệu
STT Tên Loại Ý nghĩa
1 txtsb Text View Hiển thị số bài
2 txttb Text View Hiển thị tên bài
3 scr Scroll View Cuộn lên/xuống nội dung
tài liệu
4 txtndung Text View Hiển thị nội dung
3.2.2.3 Trang dịch nội dung tài liệu
43
Hình 3.4 Màn hình dịch nội dung
Mô tả chi tiết
Bảng 3.5 Mô tả chi tiết màn hình dịch tài liệu
STT Tên Loại Ý nghĩa
1 txtsb Text View Hiển thị số bài
2 txttb Text View Hiển thị tên bài
3 scr Scroll View Cuộn lên/xuống nội dung
tài liệu
44 3.2.3. Trang tra từ điển
Ảnh chi tiết
Hình 3.5 Màn hình tra từ điển
Mô tả chi tiết
Bảng 3.6 Mô tả chi tiết màn hình tra từ điển
STT Tên Loại Ý nghĩa
1 txttd Text View Hiển thị tiêu đề
2 edtnt Edit Text Nhập từ cần tra nghĩa
3 btntt Button Xuất hiện nghĩa từ cần tra
4 btnnl Button Nhập lại từ cần tra
5 btnpa Button Nghe phát âm từ cần tra
6 txtnt Text View Hiển thị nghĩa từ cần tra 7 txtlt Text View Hiển thị loại từ từ cần tra
45 3.2.4. Các trang về ngữ pháp
3.2.4.1. Trang lựa chọn ngữ pháp
Ảnh chi tiết
Hình 3.6 Màn hình lựa chọn ngữ pháp
Mô tả chi tiết
Bảng 3.7 Mô tả chi tiết màn hình lựa chọn ngữ pháp.
STT Tên Loại Ý nghĩa
1 tbtenthi ToolBar Hiển thị tên thì
2 txthienthi TextView Hiển thị nội dung
3 btndon Button Hiển thị nội dung tên thì + tên nút 4 btntd Button Hiển thị nội dung tên thì + tên nút 5 btnht Button Hiển thị nội dung tên thì + tên nút 6 btnhttd Button Hiển thị nội dung tên thì + tên nút
46
3.2.4.2. Trang hiển thị nội dung ngữ pháp
Ảnh chi tiết
Hình 3.7 Màn hình nội dung ngữ pháp
Mô tả chi tiết
Bảng 3.8 Mô tả chi tiết màn hình hiển thị nội dung ngữ pháp.
STT Tên Loại Ý nghĩa
1 tbtenthi ToolBar Hiển thị tên thì
2 txthienthi TextView Hiển thị nội dung
3 btndon Button Hiển thị nội dung tên thì + tên nút 4 btntd Button Hiển thị nội dung tên thì + tên nút 5 btnht Button Hiển thị nội dung tên thì + tên nút 6 btnhttd Button Hiển thị nội dung tên thì + tên nút
47 3.2.5. Các trang video
3.2.5.1. Trang lựa chọn video
Ảnh chi tiết
Hình 3.8 Màn hình lựa chọn video
Mô tả chi tiết
Bảng 3.9 Mô tả chi tiết màn hình chọn video
STT Tên Loại Ý nghĩa
48
3.2.5.2. Trang hiển thị video
Ảnh chi tiết
Hình 3.9 Màn hình hiển thị video
Mô tả chi tiết
Bảng 3.10 Mô tả chi tiết màn hình hiển thị video
STT Tên Loại Ý nghĩa
1 vvclip VideoView Hiển thị Video
49 3.2.6. Các trang về trắc nhiệm.
3.2.6.1. Trang lựa chọn bộ câu hỏi trắc nhiệm
Ảnh chi tiết
Hình 3.10 Màn hình lựa chọn câu hỏi trắc nhiệm.
Mô tả chi tiết
Bảng 3.11 Mô tả chi tiết màn hình lựa chọn câu hỏi.
STT Tên Loại Ý nghĩa
1 imvtieude ImageView Hiển thị tiêu đề
2 imvlogo ImageView Hiển thị Logo
3 txtlc TextView Hiển thị thông báo
4 spncbd Spinner Hiện list chọn bộ đề thi
5 btnbatdau Button Chuyển sang trang thi trắc
50
3.2.6.2. Trang nội dung câu hỏi trắc nhiệm.
Ảnh chi tiết
Hình 3.11 Màn hình nội dung câu hỏi trắc nhiệm.
Mô tả chi tiết
Bảng 3.12 Mô tả chi tiết màn hình nội dung câu hỏi.
STT Tên Loại Ý nghĩa
1 txtcauhoi Text View Hiển thị câu hỏi
2 cbA,cbB,cbC,cbD Check Box Lựa chọn/ hiển thị đáp án
3 btntraloi Button Trả lời câu hỏi
51
3.2.6.3. Trang trả lời câu hỏi trắc nhiệm
Ảnh chi tiết
Hình 3.12 Màn hình trả lời câu hỏi trắc nhiệm. 3.2.6.4. Trang kết quả thi trắc nhiệm
52 3.2.7. Trang giới thiệu
Ảnh chi tiết
Hình 3.14 Màn hình giới thiệu
Mô tả chi tiết
Bảng 3.13 Mô tả chi tiết màn hình giới thiệu.
STT Tên Loại Ý nghĩa
1 txttieude TextView Hiển thị tiêu đề.
2 txttentrch TextView Hiển thị tên trò chơi.
3 txtpb, txttg,
txtgt TextView
Hiển thị nội dung giới thiệu.
53
C. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Sau quá trình nghiên cứu, tìm hiểu và thực hiện, tác giả đã xây dựng thành công ứng dụng hỗ trợ học tiếng anh chuyên ngành trên thiết bị di động.
Về mặt lý thuyết, đề tài khóa luận đã trình bày một số nghiên cứu về nền tảng Android.
Về tính thực dụng, ứng dụng có khả năng triển khai trong thực tế, mang lại lợi ích cho người dùng.
Kết quả đạt được:
- Ứng dụng đã đạt được những yêu cầu đề ra.
- Chương trình cung cấp khá đầy đủ các chức năng của một chương trình học tiếng anh.
- Chương trình có giao diện thân thiện, đẹp mắt và dễ sử dụng.
Tồn tại:
- Lý thuyết + bài tập của chương trình còn hạn chế. - Chương trình chưa được triển khai trên hệ thống lớn.
Hướng phát triển:
- Chương trình có thể phát triển trên nền tảng khác như IOS, Window phone.
- Thêm một số tính năng hữu ích mới. - Mở rộng bộ từ điển tra cứu.
54
D. TÀI LIỆU THAM KHẢO Tiếng Việt: Tiếng Việt:
[1]. Cleverlearn Vietnam English Language Center, 3000 từ vựng
tiếng Anh thông dụng nhất của Oxford, 2013.
[2]. Võ Thành Nhật - Phan Thành Trung (2010), Tìm hiểu hệ điều hành android và xây dựng ứng dụng minh họa, Khoá luận tốt nghiệp đại
học, Trường Đại Học Khoa Học Tự Nhiên HCM, TP. Hồ Chí Minh.
Tiếng Anh:
[3]. Rick Rogers, Android Application Developmen, Gravenstein
Highway North, Sebastopol, CA 95472: O’Reilly Media Inc, May 2009. [4]. Kyle Merrifield Mew, Android 3.0 Application Development Cookbook, B27 6PA, UK: 32 Lincoln RoadOlton Birmingham, July 2011.
[5]. Wei-Meng Lee, Beginning Android™ Application Development
Indianapolis, Indiana: Wiley Publishing, Inc., 2011.
[6]. Mark L. Murphy, Beginning Android 2, 233 Spring Street, 6th