1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ ÁN TỐT NGHIỆP: XÂY DỰNG ỨNG DỤNG DAILYMOODZ TRÊN NỀN TẢNG ANDROID

81 585 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 6,43 MB

Nội dung

Ngày này, thị trường di động đang phát triển mạnh mẽ chưa từng thấy với vô vàng các nhãn hiệu, kiểu dáng, tính năng...Đã biến chiếc điện thoại thành một thiết bị giải trí đa phương tiện không thể thiếu. Với lợi thế nhỏ gọn, được mọi người sử dụng đem theo mọi lúc mọi nơi, nhưng cũng vì nhỏ g ọn như vậy cũng là một bất lợi về xử lý và tốc độ. Để đảm bảo một chiếc điện thoại thông minh hoạt động tốt thì nó cần có một hệ điều hành quản lý thiết bị.Đi kèm với sự phát triển phần cứng trên thiết bị động thì cuộc chiến của các nhà phát triển các hệ điều hành trên điện thoại di động cũng diễn ra hết sức khốc liệt. Hiện nay, các nền tảng di động lớn được biết đến như sau 1.1.1 IOS IOS là hệ điều hành trên các thiết bị di động của Apple. Ban đầu hệ điều hành này chỉ được phát triển để chạy trên iPhone, nhưng sau đó nó đã được mở rộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV. Ngày 31 tháng 5, 2011, App Store của Apple chứa khoảng 500 000 ứng dụng iOS, và được tải về tổng cộng khoảng 15 tỷ lần. Trong quý 4 năm 2010, có khoảng 26% điện thoại thông minh chạy hệ điều hành iOS, sau hệ điều hành Android của Google và Symbian của Nokia. Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay. Người dùng có thể tương tác với hệ điều hành này thông qua rất nhiều động tác bằng tay trên màn hình cảm ứng của các thiết bị của Apple. Tháng 6 năm 2010, Apple đổi cái tên iPhone OS thành iOS. Nhãn hiệu IOS đã được Cisco dùng để đặt tên cho hệ điều hành của mình. Để tránh các vụ kiện cáo, Apple đã xin giấy phép sử dụng nhãn hiệu iOS từ Cisco. 1.1.2 ANDROID Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một số đầu phát HD, HD Player, TV) phát triển bởi Google và dựa trên nền tảng Linux. Trước đây, Android được phát triển bởi công ty liên hợp Android ( sau đó được Google mua lại vào năm 2005). Tháng 7 năm 2005, Google mua lại Android, Inc., một công ty nhỏ mới thành lập có trụ sở ở Palo Alto, California, Mỹ. Những nhà đồng sáng lập của Android chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng là phó chủ tịch của TMobile), và Chris White (trưởng nhóm thiết kế và phát triển giao diện tại WebTV). Khi đó, có rất ít thông tin về các công việc của Android, ngoại trừ việc họ đang phát triển phần mềm cho điện thoại di động. Điều này tạo những tin đồn về việc Google có ý định bước vào thị trường điện thoại di động.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 736 949, Fax (84-511) 842 771

Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

ĐỒ ÁN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : D480201

ĐỀ TÀI : XÂY DỰNG ỨNG DỤNG DAILYMOODZ

Trang 2

Tôi xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng đã truyền đạt những kiến thức quý báu cho tôi trong những năm học vừa qua và nhất là đã tạo điều kiện thuận lợi cho tôi học tập, thực hiện đề tài tốt nghiệp này.

Đặc biệt, tôi xin chân thành cảm ơn Thầy giáo PGS.TS Võ Trung Hùng

đã trực tiếp, tận tình giúp đỡ và hướng dẫn tôi trong suốt thời gian thực hiện đề tài.

Để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình và bạn bè

đã động viên, khích lệ, giúp đỡ và tạo điều kiện thuận lợi nhất có thể trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.

Mặc dù đã cố gắng nỗ lực hết sức để thực hiện đề tài này, song luận văn của tôi chắc chắn khó tránh khỏi những thiếu sót Do vậy, tôi rất mong nhận được sự thông cảm, góp ý và chỉ bảo tận tình của thầy cô.

Một lần nữa xin chân thành cám ơn!

Đà Nẵng, ngày 08 tháng 06 năm 2016

Sinh viên thực hiện

Bùi Xuân Thế

Trang 3

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy PGS.TS Võ Trung Hùng.

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu trách nhiệm.

Sinh viên

Bùi Xuân Thế

Trang 4

Đà Nẵng, ngày … tháng … năm 2016

CÁN BỘ HƯỚNG DẪN

PGS.TS VÕ TRUNG HÙNG

Trang 5

Trang 6

MỞ ĐẦU 1

1 GIỚI THIỆU ĐỀ TÀI 1

2 MỤC ĐÍCH VÀ HƯỚNG XÂY DỰNG ĐỀ TÀI 1

2.1 Mục đích của đề tài 1

2.2 Ý nghĩa đề tài 1

2.3 Phạm vi đề tài 1

2.4 Nhiệm vụ cần thực hiện 2

2.5 Công cụ xây dựng 2

2.6 Dự kiến kết quả đạt được 2

3 TÓM TẮT PHƯƠNG PHÁP TRIỂN KHAI 3

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4

1.1 Tìm hiểu nền tảng di động 4

1.1.1 IOS 4

1.1.2 ANDROID 5

1.1.3 WINDOWN PHONE 5

1.2 Hệ điều hành Android 6

1.2.1 Giới thiệu 6

1.2.2 Kiến trúc 7

1.2.3 Ngôn ngữ lập trình Java 9

1.2.4 Môi trường lập trình Android Studio và Eclipse 10

1.3 WEB SERVICE 11

1.3.1 Giới thiệu 11

1.3.2 Giới thiệu về ngôn ngữ PHP 12

1.3.3 Giới thiệu về JSON 12

1.3.4 Giới thiệu hệ quản trị cơ sở dữ liệu MySql 13

1.4 KẾT CHƯƠNG 13

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14

2.1 PHÂN TÍCH YÊU CẦU 14

2.1.1 Mô tả bài toán 14

2.1.2 Phân tích yêu cầu bài toán 14

2.1.3 Mô tả những yêu cầu phi chức năng 15

Trang 7

2.2.1 Yêu cầu hệ thống 18

2.2.2 Biểu đồ ca sử dụng 28

2.2.3 Biểu đồ hoạt động 31

2.2.4 Biểu đồ tuần tự 34

2.2.5 Biểu đồ lớp 37

2.3 Cơ sở dữ liệu 38

2.3.1 Các bảng cơ sở dữ liệu 38

2.3.2 Mô hình quan hệ cơ sở dữ liệu 47

2.4 KẾT CHƯƠNG 50

CHƯƠNG 3: TRIỂN KHAI CHƯƠNG TRÌNH 51

3.1 Công cụ, môi trường phát triển ứng dụng 51

3.1.1 Công cụ 51

3.1.2 Môi trường phát triển ứng dụng 51

3.2 Đánh giá kết quả 51

3.2.1 Kết quả 51

3.2.2 Những điều đạt được 61

3.2.3 Những điều chưa đạt được 61

3.3 KẾT CHƯƠNG 61

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 62

1 Kết luận 62

2 Hướng phát triển 62

TÀI LIỆU THAM KHẢO 63

Trang 8

Hình 1: Hệ điều hành trên điện thoại 4

Hình 2: Các thiết bị Android 6

Hình 3: Kiến trúc hệ điều hành Android 8

Hình 4 : Android Studio 10

Hình 5: Biểu đồ ca sử dụng tổng quát 28

Hình 6: Biểu đồ ca sử dụng Check In Moodz 29

Hình 7 : Use Case hiển thị Maps 29

Hình 8: Biểu đồ ca sử dụng Post Image 29

Hình 9: Biểu đồ ca sử dụng Mood 30

Hình 10: Biểu đồ ca sử dụng Feed 30

Hình 11: Biểu đồ ca sử dụng Connections 30

Hình 12: Biểu đồ ca sử dụng Update Profile 31

Hình 13: Biểu đồ ca sử dụng Settings 31

Hình 14: Biểu đồ hoạt động Check In Mood 31

Hình 15: Biểu đồ hoạt động Maps 31

Hình 16 : Biểu đồ hoạt động Mood 32

Hình 17: Biểu đồ hoạt động Post Image 32

Hình 18: Biểu đồ hoạt động Phục hồi ảnh/video đã lưu trữ 32

Hình 19: Biểu đồ hoạt động Chức năng xem biểu đồ tâm trạng 33

Hình 20: Biểu đồ hoạt động Connections 33

Hình 21: Biểu đồ hoạt động View Profile 33

Hình 22: Biểu đồ tuần tự Login 34

Trang 9

Hình 24: Biểu đồ tuần tự Maps 35

Hình 25: Biểu đồ tuần tự Post Image 35

Hình 26: Biểu đồ tuần tự Connections 35

Hình 27: Biểu đồ tuần tự Analytics 36

Hình 28: Biểu đồ hoạt động Profile 36

Hình 29: Biểu đồ tuần tự Comment Image 36

Hình 30 : Biểu đồ lớp giản lược 37

Hình 31: Biều đồ quan hệ thực thể trong quản lí User 47

Hình 32: Biều đồ quan hệ thực thể trong chức năng Check In Mood 48

Hình 33: Biều đồ quan hệ thực thể trong chức năng Post Image 49

Hình 34: Màn hình Login 52

Hình 35: Màn hình Register 52

Hình 36: Màn hình Menu các chức năng của tài khoản Basic 53

Hình 37: Màn hình Menu các chức năng của tài khoản Plus 53

Hình 38: Màn hình Home tài khoản Basic 54

Hình 39: Màn hình Home tài khoản Plus 54

Hình 40: Màn hình Profile tài khoản Plus 55

Hình 41: Màn hình Check In 55

Hình 42: Màn hình Maps 56

Hình 43: Màn hình Mood 56

Hình 43: Màn hình Feed 57

Hình 45: Màn hình Detail Image 57

Hình 46: Màn hình Detail Mood 58

Trang 10

Hình 49: Màn hình Profile của tài khoản Plus 59 Hình 50: Màn hình Search Friends 60 Hình 51: Màn hình Your Mood Trend 60

Trang 11

Bảng 1: Bảng dự diện kiến kết quả đạt được 2

Bảng 2: Bảng các chức năng 17

Bảng 3: Bảng đăng kí tài khoản, thiết lập mật khẩu lần đầu 18

Bảng 4: Bảng yêu cầu chức năng đăng nhập 19

Bảng 5: Bảng yêu cầu chức năng quên mật khẩu 19

Bảng 6 : Bảng yêu cầu chức năng thay đổi mật khẩu 20

Bảng 7 : Bảng yêu cầu chức năng Check In với Icon Mood 21

Bảng 8: Bảng yêu cầu chức năng Maps 21

Bảng 9: Bảng yêu cầu chức năng Post Image 22

Bảng 10 : Bảng yêu cầu chức năng Mood : xem lịch sử Check In của người dùng 23 Bảng 11 : Bảng yêu cầu chức năng Feed 24

Bảng 12 : Bảng yêu cầu chức năng xem biểu đồ trạng thái 24

Bảng 13 : Bảng yêu cầu chức năng cài đặt cho ứng dụng 25

Bảng 14 : Bảng yêu cầu chức năng cập nhật thông tin cá nhân 26

Bảng 15: Bảng yêu cầu chức năng tạo mối quan hệ bạn bè trên ứng dụng 27

Bảng 16: Bảng User 38

Bảng 17: Bảng Countries 39

Bảng 18: Bảng Devices 39

Bảng 19: Bảng user_image 39

Bảng 20: Bảng colors 40

Bảng 21: Bảng comment_likes 41

Trang 12

Bảng 24: Bảng email_activation 42

Bảng 25: Bảng image_like 42

Bảng 26: Bảng devices 43

Bảng 27: Bảng mood_comment_like 43

Bảng 28: Bảng mood_comment 44

Bảng 29: Bảng mood_likes 44

Bảng 30: Bảng purchase_token 45

Bảng 31: Bảng reports 45

Bảng 32: Bảng user_mood 46

Trang 13

MỞ ĐẦU

1 GIỚI THIỆU ĐỀ TÀI

Thời đại ngày nay, khi Internet ngày càng phổ biến, đời sống con ngườiđược nâng cao, cùng với sự bùng nổ của điện thoại Nhu cần giải trí ngày củng mộttăng Check In , chụp ảnh, chia sẽ ảnh với bạn bè, trò chuyện nhóm là một trong cáchình thức giải trí được rất nhiều người lựa chọn

Xuất phát từ các nhu cầu thực tế đó, ứng dụng DailyMoodz là nơi các bạn

có thể chia sẻ tâm trạng, chia sẻ ảnh với bạn bè Chỉ với chiếc điện thoại, máy tínhbảng… có hệ điều hành Android thì bạn có thể tha hồ làm những việc đó

Xuất phát từ ý tưởng cung cấp một ứng dụng giúp mọi người giải trí trong

thời gian rảnh rỗi, tôi đã chọn đề tài “Xây dựng ứng dụng DailyMoodz” làm đề tài

- Thực hiện các chức năng nhằm mục đích giải trí cho người dùng :

 Check In tâm trạng tại một vị trí, địa điểm nào đó với cácmood icon và ảnh

 Chia sẻ ảnh với mọi người

 Kết bạn và trò chuyện với bạn bè

2.2 Ý nghĩa đề tài.

DailyMoodz là ứng dụng giải trí, nhằm mục đích giải trí sau những giờ làmviệc, hoặc trong thời gian rảnh

Trang 14

2.3 Phạm vi đề tài

“DailyMoodz” là ứng dụng trên điện thoại di động, trong giai đoạn nàyđược phát triển trên nền tảng di động Android phiên bản 2.3 trở lên

2.4 Nhiệm vụ cần thực hiện

- Tìm hiểu phát triển ứng dụng trên nền Android

- Xây dựng cơ sở dữ liệu

2.5 Công cụ xây dựng

2.5.1 Phần ứng dụng:

- Ứng dụng được viết bằng ngôn ngữ Java

- Cơ sở dữ liệu Webservice

2.5.2 Môi trường triển khai:

- Thiết bị chạy Android 2.3 trở lên

- Các máy ảo Android như máy ảo mặc định của Android DeveloptionToolkit, Genymotion, …

2.6 Dự kiến kết quả đạt được

Bảng 1: Bảng dự diện kiến kết quả đạt được

Check In Người dung có thể Check In tâm trạng của mình tại một vị

trí nào đó, và sẽ được hiển thị trên Maps

Post Image Người dùng có thể chia sẻ ảnh của mình với mọi người

Maps Hiển thị vị trí người dùng Check In và Post Image.

Feed Như một dòng thời gian hiển thị các ảnh mà người dùng

đăng Connections Người dùng có thể kết bạn với nhiều người khác.

Profile Người dùng có thể thay đổi thông tin tài khoản cá nhân

Chart Biểu đồ tâm trạng của người dùng trong ngày, trong tuần.Settings Người dùng có thể cài đặt cho ứng dụng của mình

Trang 15

Login,Register,

Sign Out Người dùng có thể đăng ký mới tài khoản, đăng nhập để

đăng bài đăng, và có thể đăng xuất nếu sử dụng

3 TÓM TẮT PHƯƠNG PHÁP TRIỂN KHAI

- Tìm hiểu đề tài

- Thiết kế và phân tích hệ thống

- Xây dựng ứng dụng

- Kiểm thử

- Chạy thử nghiệm và kiểm thử

- Viết báo cáo và tổng kết đề tài và đề ra hướng phát triển

Trang 16

1.1 TÌM HIỂU NỀN TẢNG DI ĐỘNG

Hình 1: Hệ điều hành trên điện thoại

Ngày này, thị trường di động đang phát triển mạnh mẽ chưa từng thấy với

vô vàng các nhãn hiệu, kiểu dáng, tính năng Đã biến chiếc điện thoại thành mộtthiết bị giải trí đa phương tiện không thể thiếu Với lợi thế nhỏ gọn, được mọi người

sử dụng đem theo mọi lúc mọi nơi, nhưng cũng vì nhỏ g ọn như vậy cũng là một bấtlợi về xử lý và tốc độ Để đảm bảo một chiếc điện thoại thông minh hoạt động tốtthì nó cần có một hệ điều hành quản lý thiết bị.Đi kèm với sự phát triển phần cứngtrên thiết bị động thì cuộc chiến của các nhà phát triển các hệ điều hành trên điệnthoại di động cũng diễn ra hết sức khốc liệt Hiện nay, các nền tảng di động lớnđược biết đến như sau

1.1.1 IOS

IOS là hệ điều hành trên các thiết bị di động của Apple Ban đầu hệ điềuhành này chỉ được phát triển để chạy trên iPhone, nhưng sau đó nó đã được mởrộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV Ngày

31 tháng 5, 2011, App Store của Apple chứa khoảng 500 000 ứng dụng iOS, vàđược tải về tổng cộng khoảng 15 tỷ lần Trong quý 4 năm 2010, có khoảng 26%điện thoại thông minh chạy hệ điều hành iOS, sau hệ điều hành Android của Google

và Symbian của Nokia

Trang 17

Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay Người dùng

có thể tương tác với hệ điều hành này thông qua rất nhiều động tác bằng tay trênmàn hình cảm ứng của các thiết bị của Apple

Tháng 6 năm 2010, Apple đổi cái tên iPhone OS thành iOS Nhãn hiệu

"IOS" đã được Cisco dùng để đặt tên cho hệ điều hành của mình Để tránh các vụkiện cáo, Apple đã xin giấy phép sử dụng nhãn hiệu iOS từ Cisco

1.1.2 ANDROID

Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một

số đầu phát HD, HD Player, TV) phát triển bởi Google và dựa trên nền tảng Linux.Trước đây, Android được phát triển bởi công ty liên hợp Android ( sau đó đượcGoogle mua lại vào năm 2005)

Tháng 7 năm 2005, Google mua lại Android, Inc., một công ty nhỏ mớithành lập có trụ sở ở Palo Alto, California, Mỹ Những nhà đồng sáng lập củaAndroid chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập công

ty Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications), NickSears (từng là phó chủ tịch của T-Mobile), và Chris White (trưởng nhóm thiết kế vàphát triển giao diện tại WebTV) Khi đó, có rất ít thông tin về các công việc củaAndroid, ngoại trừ việc họ đang phát triển phần mềm cho điện thoại di động Điềunày tạo những tin đồn về việc Google có ý định bước vào thị trường điện thoại diđộng

Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứngdụng di động hấp dẫn tận dụng tất cả một chiếc điện thoại đã cung cấp Nó đượcxây dựng để được thực sự mở

1.1.3 WINDOWN PHONE

Windows Phone là hệ điều hành được Microsoft phát triển để thay thế cho

hệ điều hành di động Windows Mobile trước đây Windows Phone bắt đầu từ phiênbản thứ 7 (khi ra mắt, Microsoft gọi nó là Windows Phone 7, còn hiện giờ nó đã lênđến 7.5) Được biết, do phát triển trong thời gian ngắn nên Windows Phone rất hạn

Trang 18

lý do nữa để Microsoft không quan tâm nhiều đến nền tảng cũ đó là vì màn hìnhcảm ứng bằng ngón tay ngày càng phổ biến hơn trên điện thoại và Windows Mobilevốn thiết kế cho bút stylus đã trở nên rất lỗi thời.

Một cột mốc quan trọng của Windows Phone đó là sự hợp tác giữaMicrosoft với Nokia sau khi hãng điện thoại Phần Lan này quyết định không còntập trung vào điện thoại Symbian nữa Kết quả của sự hợp tác này đó là dòng NokiaLumia ra đời ở sự kiện Nokia World 2011 Đến CES 2012, Nokia tiếp tục ra mắt haimáy Lumia mới nữa (mình sẽ đề cập ở phần sau) Việc tích hợp các dịch vụ củaMicrosoft (Bing, Bing Maps, Windows Phone Marketplace,…) lên thiết bị Nokiađược cho là sẽ tạo nên lợi thế cạnh tranh cho WIndows Phone với hai đối thủ lớnhiện thời là iOS và Android

Trang 19

Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầmtay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mụctiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động Chiếc điện thoại đầu tiênchạy Android được bán vào tháng 10 năm 2008.

Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thôngminh phổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được cáccông ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khảnăng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từđầu Kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng,Android đã xuất hiện trên TV, máy chơi game và các thiết bị điện tử khác Bản chất

mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những ngườiđam mê sử dụng mã nguồn mở để tạo ra những dự án do cộng đồng quản lý Những

dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìm tòi hoặcđưa Android vào các thiết bị ban đầu chạy hệ điều hành khác

Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vàothời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3triệu lượt kích hoạt mỗi ngày Sự thành công của hệ điều hành cũng khiến nó trởthành mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cáigọi là "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ

1.2.2 Kiến trúc

Hệ điều hành Android có các thành phần phần mềm tạm chia thành 5 phầnvới 4 tầng chính trong sơ đồ kiến trúc như hình dưới đây :

Trang 20

Hình 3: Kiến trúc hệ điều hành Android

1.2.2.2 Libraries

Tầng này là một tập hợp các thư viện bao gồm trình duyệt web mã nguồn

mở sử dụng WebKit engine, thư viện libc, cơ sở dữ liệu SQLite là một kho lưu trữhữu ích cho việc lưu trữ và chia sẻ dữ liệu của ứng dụng, có các thư viện đểchơi/ghi lại âm thanh và video, các thư viện SSL chịu trách nhiệm về bảo mậtInternet, v.v

Trang 21

1.2.2.3 Android Runtime

Đây là phần thứ ba của kiến trúc Android Phần này cung cấp một thànhphần quan trọng được gọi là Dalvik Virtual Machine - một loại máy ảo Java đượcthiết kế đặc biệt và tối ưu hóa cho Android

Android Runtime cũng cung cấp một tập các thư viện lõi cho phép các nhàphát triển ứng dụng Android viết các ứng dụng Android sử dụng ngôn ngữ lập trìnhJava (J2SE)

Bạn sẽ viết ứng dụng và các ứng dụng mà bạn viết được cài đặt ở tầng này

Ví dụ: Angry Bird, Facebook, Viber, v.v

1.2.3 Ngôn ngữ lập trình Java

- Giới thiệu

Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp.Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồnthành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch

mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtimeenvironment) chạy

Trước đây, Java chạy chậm hơn những ngôn ngữ dịch thẳng ra mã máy như

C và C++, nhưng sau này nhờ công nghệ "biên dịch tại chỗ" - Just in timecompilation, khoảng cách này đã được thu hẹp, và trong một số trường hợp đặc biệtJava có thể chạy nhanh hơn Java chạy nhanh hơn những ngôn ngữ thông dịch nhưPython, Perl, PHP gấp nhiều lần Java chạy tương đương so với C#, một ngôn ngữkhá tương đồng về mặt cú pháp và quá trình dịch/chạy

Trang 22

1.2.4 Môi trường lập trình Android Studio và Eclipse

Eclipse sẵn sàng cho phát triển ứng dụng trên máy trạm bằng ngôn ngữJava, vì thế người ta hay mặc định Eclipse là Java và ngược lại Cấu hình máy đòihỏi không cao (bộ nhớ RAM 512 MB), thích hợp cho sinh viên Ngoài ra, chươngtrình viết bằng Java có thể chạy trên các hệ điều hành khác nhau

Để lập trình Android, Eclipse cần được tích hợp bộ công cụ phát triểnAndroid ADT

1.2.4.2 Android Studio

Hình 4 : Android Studio

Một trong số những tính năng mới của môi trường phát triển này đó là nó

hỗ trợ tốt hơn việc bố cục ứng dụng cho nhiều thiết bị khác nhau, đảm bảo rằng appviết ra có thể tương thích với màn hình của cả smartphone lẫn tablet Những thay

Trang 23

đổi trong mã lập trình sẽ được hiển thị theo thời gian thực trên công cụ mô phỏng đikèm Google cũng bổ sung thêm khả năng kéo thả các thành phần đồ họa để quátrình xây dựng ứng dụng trở nên dễ dàng và nhanh chóng hơn Android Studio còncho phép xem lại app ở nhiều ngôn ngữ khác nhau trong cùng một giao diện để lậptrình viên có thể chỉnh sửa những lỗi còn tồn tại Đặc biệt là tiếng Việt cũng được

hỗ trợ trong Android Studio

Web service thì rất linh động : Vì với UDDI và WSDL, thì việc mô tả và pháttriển web service có thể được tự động hóa

Web service có thể công bố (publish) và gọi thực hiện qua mạng

Ngày nay web services được sử dụng rất nhiều trong những lĩnh vực khác nhaucủa cuộc sống

- Nâng cao khả năng tái sử dụng

- Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiếntrình/chức năng nghiệp vụ đóng gói trong giao diện dịch vụ Web

Trang 24

3.1.1.2 Nhược điểm

- Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của dịch vụ Web, giaodiện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu cácgiao thức cho việc vận hành

- Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt

- Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật

1.3.2 Giới thiệu về ngôn ngữ PHP

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lậptrình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụngviết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp vớiweb và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứngdụng web, tốc độ nhanh, nhỏgọn, cú pháp giống C và Java, dễ học và thời gian xâydựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanhchóng trở thành một ngôn ngữ lập trình web phổ biến nhất thếgiới

PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do RasmusLerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các

mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trênmạng

1.3.3 Giới thiệu về JSON

Json (JavaScript Object Noattion) là 1 định dạng hoán vị dữ liệu nhanh Chúng

dễ dàng cho chúng ta đọc và viết Dễ dàng cho thiết bị phân tích và phát sinh JSon

là cơ sở dựa trên tập hợp của ngôn ngữ lập trình JavaScript

JSon được xây dựng trên 2 cấu trúc :

 Là tập hợp của các cặp tên và giá trị như name – value Trong nhữngngôn ngữ khác nhau, đây dược nhận thấy như là 1 đối tượng (object), sựghi (record), cấu trúc ( struct), từ điển (dictionary), bảng băm (hashtable), danh sách khóa (keyed list), hay mảng liên hợp

 Là 1 tập hợp các giá trị đã được sắp xếp

Trang 25

1.3.4 Giới thiệu hệ quản trị cơ sở dữ liệu MySql

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới vàđược các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạtđộng trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rấtmạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng cótruy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải vềMySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiênbản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác,

nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,

1.4 KẾT CHƯƠNG

Chương này trình bày các lý thuyết cơ bản về lập trình di động, lập trìnhAndroid, các dịch vụ trực tuyến và cơ sở dữ liệu phục vụ cho việc xây dựng ứngdụng

Trang 26

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 PHÂN TÍCH YÊU CẦU

2.1.1 Mô tả bài toán

- Thực hiện các chức năng nhằm mục đích giải trí cho người dùng :

 Check In tâm trạng tại một vị trí, địa điểm với icon Mood vàImage

 Chia sẻ ảnh với mọi người

 Kết bạn và trò chuyện

2.1.1.4 Triển khai

Từ những phân tích trên hệ thống sẽ được chia làm 2 phần :

- Cơ sở dữ liệu :

 Sử dung Web service và hệ quan trị cơ sở dữ liệu Navicat

- Ứng dụng : Là thành phần chương trình đặt tại thiết bị di động nền tảng

Android Chương trình sẽ tương tác trực tiếp với người sử dụng

2.1.2 Phân tích yêu cầu bài toán

Trang 27

 Check In tâm trạng tại một vị trí, địa điểm với icon Mood vàImage

 Chia sẻ ảnh với mọi người

2.1.3 Mô tả những yêu cầu phi chức năng

2.1.3.1 Yêu cầu về tính năng của hệ thống

- Hiệu năng: Ứng dụng chạy nhanh và mượt, truy xuất cơ sở dữ liệu nhanh

- Tính sẵn sàng: Ứng dụng có khả năng phục vụ mọi thời điểm người dùngcần sử dụng

- Tính tương thích: Cài đặt và chạy được trên mọi thiết bị dùng hệ điềuhành Android 2.3 trở lên

2.1.3.2 Yêu cầu về giao diện người dùng

- Giao diện thiết kế dạng phẳng, đẹp, dễ nhìn, dễ sử dụng

- Ngôn ngữ hiển thị bằng tiếng Anh

Trang 28

2.1.3.3 Phân tích khả thi

- Nhu cầu bảo mật thông tin cá nhân ngày càng cao, người ta càng chútrọng đến vấn đề riêng tư khi sử dụng điện thoại thông minh

- Lượng người dùng điện thoại thông minh chạy Android rất đông đảo

- Ứng dụng được cung cấp miễn phí cho mọi người dùng và hướng tới pháttriển trên mọi nền tảng di động phổ biến hiện nay

2.1.3.4 Chi phí phát triển

- Điện thoại thông mình ngày nay đang phát triển các dòng điện thoại bìnhdân, nghĩa là chi phí cho một chiếc điện thoại hỗ trợ đầy đủ các tính năng

mà chương trình yêu cầu thì hoàn toàn không đắt

- Phát triển một ứng dụng Android rất dễ dàng với công cụ miễn phí nhưAndroid Studio hay Eclipse và bộ ADT

Trang 30

2.2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.2.1 Yêu cầu hệ thống

2.2.1.1 Yêu cầu chức năng và đặc tả use case

• Đăng kí tài khoản.

Mô tả Là ca sử dụng cho phép người dùng đăng kí tài khoản

và thiết lập mật khẩu lần đầu

Điều kiện trước Ứng dụng đã được cài đặt trong điện thoại

Người dùng muốn đăng kí một tài khoản mới

Các bước thực

hiện chính

Bước 1 : Mở ứng dụng tại giao diện điện thoại

Bước 2 : Điền đầy đủ thông tin bắt buộc

Kết quả mong đợi Tạo tài khoản thành công

Trường hợp lỗi Không tạo được tài khoản, Không kết nối được với

server

Trang 31

 Đăng nhập bằng tài khoản của người dùng.

Bảng 4: Bảng yêu cầu chức năng đăng nhập.

Ứng dụng đã được cài đặt trong điện thoại

Mô tả Là ca sử dụng cho phép người dùng dùng lấy lại mật

khẩu khi bị quên hoặc bị đánh cắp

Điều kiện trước Ứng dụng đã được cài đặt trong điện thoại

Người dùng đã đặt mật khẩuCác bước thực hiện

Trang 32

Kết quả mong đợi Một email chứa password được gửi về email của

người dùng

Trường hợp lỗi Ứng dụng không kết nối được với cơ sở dữ liệu

 Thay đổi mật khẩu

Bảng 6 : Bảng yêu cầu chức năng thay đổi mật khẩu

Mô tả Là ca sử dụng cho phép người dùng dùng thay đổi

mật khẩu khi cần thiết

Điều kiện trước Ứng dụng đã được cài đặt trong điện thoại

Người dùng đã đặt mật khẩuCác bước thực hiện

chính

Bước 1 : Mở ứng dụng tại giao diện điện thoại.Bước 2 : Chọn “Profile”

Bước 2 : Chọn thay đổi mật khẩu

Bước 4 : Nhập mật khẩu cũ, mật khẩu mới và xác nhận

Kết quả mong đợi Báo đã thay đổi mật khẩu thành công

Trường hợp lỗi Ứng dụng không kết nối được với cơ sở dữ liệu

 Chức năng Check In tâm trạng

Bảng 7 : Bảng yêu cầu chức năng Check In với Icon Mood.

Mô tả Là ca sử dụng cho phép người dùng Check In tâm

trạng của mình tại một vị trí nào đó

Trang 33

Điều kiện trước Người dùng đã đăng nhập vào ứng dụng

Ứng dụng đang hiển thị màn hình Check In

Kết quả mong đợi Vị trí và caption sẽ hiển thị trên Maps

Trường hợp lỗi Không kết nối được với server

Mô tả Là ca sử dụng cho phép người dùng thấy được vị trí

Check In và Post Image của mình và mọi người trên Maps

Điều kiện trước Người dùng đã đăng nhập vào ứng dụng

Ứng dụng đang hiển thị màn hình chínhCác bước thực hiện

chính

Bước 1 : Người dùng chọn nút “Maps” trên màn hìnhBước 2 : Màn hình Maps hiện ra

Kết quả mong đợi Vị trí người dùng Check In và Post image sẽ được

hiển thị trên Maps

Trường hợp lỗi Không kết nối được với server Không hiển thị được

Trang 34

 Chức năng Post Image

Bảng 9: Bảng yêu cầu chức năng Post Image.

Mô tả Là ca sử dụng cho phép người dùng đăng ảnh và chia

sẻ ảnh với mọi người

Điều kiện trước Người dùng đã đăng nhập vào ứng dụng và đã

upgrade tài khoản thành công

Bước 3 : Người dùng điền caption và address

Bước 4 : Người dùng bấm nut “Post Image”

Kết quả mong đợi Ảnh sẽ được đăng lên dòng thời gian Feed

Trường hợp lỗi Không kết nối được với server Post Image không

Trang 35

Các bước thực hiện

chính

Bước 1 : Người dùng Login vào ứng dụngBước 2 : Người dùng chọn chức năng Mood trên menu của ứng dụng

Bước 3 : Người dùng chọn ngày, và sau đó nhấn

“OK”

Kết quả mong đợi Lịch sử Check In sẽ được hiển thị trên màn hình

Trường hợp lỗi Không kết nối được với server

 Chức năng Feed : Dòng thời gian hiển thị ảnh mà người dùng đãđăng lên trước đó

Bảng 11 : Bảng yêu cầu chức năng Feed

Mô tả Là ca sử dụng cho phép người dùng xem tất cả các

ảnh mà mọi người đăng lên trước đó

Điều kiện trước Người dùng đã đăng nhập vào ứng dụng

Tài khoản đã Upgrade thành công

Trường hợp lỗi Không kết nối được với Server

 Chức năng Analytics : Người dùng có thể xem biểu đồ trạng tháitrong ngày và trong tuần

Bảng 12 : Bảng yêu cầu chức năng xem biểu đồ trạng thái trong ngày và trong

tuần.

Trang 36

Mã chức nắng M.3.10

Mô tả Là ca sử dụng cho phép người dung xem biểu đồ trạng

thái của mình theo ngày, theo tuần

Điều kiện trước Người dùng đã đăng nhập vào ứng dụng

Tài khoản Upgrade thành công

Các bước thực

hiện chính

Bước 1 : Người dùng chọn Analytics trên thanh Menu của ứng dụng

Bước 2 : Chọn tab “Your Mood Trends”

Bước 2 : Chọn Dayly để xem biểu đồ tâm trạng theo ngày, và Weekly để xem biểu đồ tâm trạng theo tháng.Kết quả mong

Trang 37

gọi đã lưu trữ trong danh sáchBước 3 : Người dùng bấm nút “Restore”

Kết quả mong

đợi

Tin nhắn được chọn sẽ được phục hồi và lưu trong bộ sưu tập

Trường hợp lỗi Ứng dụng không kết nối được với cơ sở dữ liệu SQLite

Ứng dụng không giải mã được dữ liệu

 Chức năng Update Profile

Bảng 14 : Bảng yêu cầu chức năng cập nhật thông tin cá nhân

Dữ liệu được tự động backup lên khi có mạng

Trường hợp lỗi Lỗi trong quá trình upload

 Connections

Bảng 15: Bảng yêu cầu chức năng tạo mối quan hệ bạn bè trên ứng dụng

Trang 38

Điều kiện trước Người dùng đã đăng nhập vào ứng dụng

Tài khoản đã được Upgrade thành công

Trang 39

2.2.2 Biểu đồ ca sử dụng

2.2.2.1 Biểu đồ mức 0

Hình 5: Biểu đồ ca sử dụng tổng quát

Trang 40

2.2.2.2 Biểu đồ mức 1

 Check In Moodz

Hình 6: Biểu đồ ca sử dụng Check In Moodz

 Hiển thị Maps, Xem vị trí Check In Moodz and Post Image

Hình 7 : Use Case hiển thị Maps.

 Post Image

Hình 8: Biểu đồ ca sử dụng Post Image

 Mood : Xem lại lịch sử Check In với Icon Mood

Ngày đăng: 29/05/2016, 10:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w