1. Tìm hiểu về lập trình trên Android và phát triển phần mề m Hearti Messenger
SVTH: Lê Phan Phú Thuận 14S Trang 1
LỜI CẢM ƠN
Trong đợt thực tập vừa qua, em đã nhận được sự huớng dẫn, giúp đỡ và
động viên tận tình từ nhiều phía. Tất cả những điều đó đã trở thành một động
lực rất lớn giúp em có thể hoàn thành tốt đợt thực tập tốt nghiệp này. Với tất cả
sự cảm kích và trân trọng, em xin được gửi lời cảm ơn đến tất cả mọi người.
Trước tiên cho em được gửi lời cảm ơn đến Ban lãnh đạo Công ty
ParacelSoftware đã tạo điều kiện cho em được tham gia thực tập tại công ty
cũng như cung cấp tất cả các cơ sở vật chất và trang thiết bị có thể cho em
trong thời gian vừa qua. Xin cảm ơn anh Nguyễn Thành Vương, Trần Thị Xuân
Trang và các anh chị trong công ty đã tận tình hướng dẫn giúp đỡ em trong suốt
thời gian em tham gia thực tập.
Em cũng xin được gửi lời cảm ơn đến lãnh đạo trường Cao Đẳng Công
Nghệ Thông Tin, lãnh đạo khoa Công nghệ thông tin đã tổ chức các buổi giao
lưu giữa các doanh nghiệp và sinh viên thật sự bổ ích, giúp em có cơ hội tìm
được một đơn vị thực tập tốt.
Em xin chân thành cảm ơn các thầy cô giáo của trường Cao Đẳng Công
Nghệ Thông Tin, xin cảm ơn quý thầy cô đã tận tình dạy bảo, giúp đỡ em trong
suốt thời gian em học tại trường cũng như trong thời gian em thực tập vừa qua.
Xin trân trọng cảm ơn!
2. Tìm hiểu về lập trình trên Android và phát triển phần mề m Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 2
LỜI CAM ĐOAN
Tôi xin cam đoan :
1. Những nội dung trong báo cáo này là do chúng tôi thực hiện.
2. Mọi tham khảo dùng trong báo cáo này đề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á,
chúng tôi xin chịu hoàn toàn trách nhiệm.
Sinh viên, Lê Phan Phú Thuận
3. Tìm hiểu về lập trình trên Android và phát triển phần mề m Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 3
NHẬN XÉT CỦA CÔNG TY
..........................................................................................................
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
................................................................................................ ..........
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
......................................................................... .................................
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
..........................................................................................................
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
..................................................................... .....................................
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
....................................................................................................... ...
4. Tìm hiểu về lập trình trên Android và phát triển phần mề m Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 4
MỤC LỤC
MỞ ĐẦU.................................................................................................................................6
I. GIỚI THIỆU VỀ CÔNG TY THỰC TẬP: ..................................................................6
1. Tên công ty: ..............................................................................................................6
2. Trụ sở làm việc:........................................................................................................6
3. Hoạt động chính: ......................................................................................................6
II. ĐỀ TÀI: ...........................................................................................................................6
1. Bối cảnh:....................................................................................................................6
2. Mục đích và ý nghĩa: ...............................................................................................7
3. Nhiệm vụ trong dự án: .............................................................................................7
CHƯƠNG 1: QUÁ TRÌNH THỰC TẬP TẠI CÔNG TY...................................8
I. ĐÀO TẠO CÔNG NGHỆ: .............................................................................................8
1. Công cụ quản lý phiên bản: ....................................................................................8
2. Công cụ trao đổi giữa các thành viên trong dự án: ..............................................9
3. Phân công thực hiện dự án: .....................................................................................9
CHƯƠNG 2: HỆ ĐIỀU HÀNH ANDROID VÀ BỘ CÔNG CỤ LẬP
TRÌNH ANDROID SDK.................................................................................................10
I. HỆ ĐIỀU HÀNH ANDROID: .....................................................................................10
1. Lịch sử phát triển: ..................................................................................................10
2. Tính năng mở của hệ điều hành Android:...........................................................11
II. ANDROID SDK:..........................................................................................................11
III. ANDROID PROGRAMMING: ................................................................................11
1. Giới thiệu: ...............................................................................................................11
2. Mô hình: ..................................................................................................................12
3. Vòng đời của ứng dụng: ........................................................................................12
CHƯƠNG 3: DỰ ÁN HEARTI MESSENGER.....................................................13
I. GIỚI THIỆU DỰ ÁN:...................................................................................................13
1. Giới thiệu chung: ....................................................................................................13
2. Mục đích và ý nghĩa: .............................................................................................13
3. Phân tích các chức năng: .......................................................................................13
4. Yêu cầu tính năng kỹ thuật: ..................................................................................14
5. Đặc tả yêu cầu: .......................................................................................................15
6. Thiết kế ứng dụng: .................................................................................................17
7. Kết quả dự kiến: .....................................................................................................18
8. Kết quả và hướng phát triển của dự án:...............................................................19
KẾT LUẬN..........................................................................................................................27
TÀI LIỆU THAM KHẢO ..............................................................................................28
5. Tìm hiểu về lập trình trên Android và phát triển phần mề m Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 5
DANH MỤC HÌNH ẢNH
Hình 1: Mô hình hệ thống hoạt động của hệ điều hành Andorid.................................... 12
Hình 2: Sơ đồ UserCase của ứng dụng............................................................................... 15
Hình 3: Sơ đồ Photoshop của ứng dụng ............................................................................. 17
6. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 6
MỞ ĐẦU
I. GIỚI THIỆU VỀ CÔNG TY THỰC TẬP:
1. Tên công ty:
Tên tiếng Anh: Paracel Software Solutions
Tên tiếng Việt: Công ty TNHH giải pháp phần mềm Hoàng Sa
2. Trụ sở làm việc:
Văn phòng làm việc của công ty tại: 135 Nguyễn Chí Thanh, Tp. Đà Nẵng.
3. Hoạt động chính:
Công ty TNHH MTV Tư vấn giải pháp và phát triển phần mềm Thái Bình
Dương chuyên kết nối tầm nhìn của khách hàng với kinh nghiệm thiết kế website có
tính thẩm mỹ cao để đưa ra những lời khuyên cho khách hàng. Công ty làm việc với
khách hàng để cung cấp những website chất lượng nhất với những công nghệ hiện đại
và tiên tiến nhất. Mặc dù công ty chỉ mới thành lập cách đây không lâu nhưng công ty
luôn hướng đến thị trường quốc tế. Đối tác của công ty đều là những khách hàng có uy
tín trên thế giới đồng thời công ty cũng cung cấp những dịch vụ cho các doanh nghiệp
nhỏ. Những lĩnh vực mà công ty đang thực hiện và dự định thực hiện trong tương lai:
- Phát triển phần mềm trên thiết bị di động.
- Gia công phần mềm (Android, iPhone, iPad).
II. ĐỀ TÀI:
Trong quá trình thực tập dưới sự hướng dẫn của anh Trần Văn Giáp cũng như
lĩnh vực hoạt động của công ty. Em quyết định chọn đề tài: Tìm hiểu về lập trình trên
hệ điều hành Andoird và phát triển phần mềm Hearti Messenger.
1. Bối cảnh:
Với hơn 150 triệu thuê bao, trong đó 70% là người dùng trẻ, thị trường ứng dụng
cho di động tại Việt Nam đang trở nên vô cùng hấp dẫn cho những ai yêu lập trình trên
di động... Sự phát triển mạnh mẽ của thương mại điện tử, cộng thêm sự ưa chuộng đặc
biệt với các dòng điện thoại thông minh, Việt Nam được đánh giá là thị trường đầy
tiềm năng cho các ứng dụng mobile.
Trong vài năm nay trở lại đây, ứng dụng di động vẫn là cách tiếp cận được ưa
thích trong việc cung cấp các dịch vụ hay nội dung mới trên các thiết bị di động. Và có
lẽ một ngày không xa nữa, thay vì phải ghé vào kho ứng dụng App Store hay Android
7. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 7
Market, người dùng chỉ cần nhấn một đường liên kết (link) ở màn hình chính để thực
thi ứng dụng ngay trên trình duyệt.
Vì vậy, phát triển ứng dụng cho các thiết bị di động là một môi trường đầy tiềm
năng cho các lập trình viên và các nhà đầu tư vào lĩnh vực này.
Trong quá trình thực tập tại công ty và trải qua khóa đào tạo của công ty, đồng
thời công ty giao cho tôi thực hiện nghiên cứu về lập trình cho hệ điều hành Android
và tham gia vào dự án Hearti Messenger. Đây là một dự án vừa nên cần hai người vào
một nhóm dưới sự hướng dẫn anh Trần Văn Giáp. Chúng tôi đảm nhận vai trò thực
hiện lập trình cho Android Mobile.
2. Mục đích và ý nghĩa:
Đề tài tìm hiểu lập trình trên hệ điều hành Android và phát triển phần mềm
Hearti Messenger là một dự án tầm vừa và nhỏ. Đây là ứng dụng gồm các chức năng
nhắn tin online, gọi thoại video, chatbot phục vụ cho việc trao đổi thông tin của các
nhân viên trong công ty thông qua một mạng lưới chung.
Thực hiện đề tài giúp chúng tôi nắm vững cách tương tác giữa các thành phần
trong một ứng dụng, có những kỹ năng cần thiết để phát triển lập trình các ứng dụng
lơn hơn, đòi hỏi kỹ thuật nhiều hơn.
3. Nhiệm vụ trong dự án:
Trong dự án này tôi đảm nhận vai trò lập trình viên của dự án. Nhiệm vụ của tôi
trong dự án này:
- Nghiên cứu hệ điều hành Android, tìm hiểu công cụ lập trình Android SDK.
- Tìm hiểu các ứng dụng nhắn tin mạng xã hội trên Android như Skype,
WhatsApp, Messenger.
- Phân tích và thiết kế yêu cầu của dự án.
- Thực hiện các giai đoạn: prototype và UAT.
- Sửa lỗi và hoàn tiện ứng dụng khi giao cho người dùng.
8. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 8
CHƯƠNG 1:
QUÁ TRÌNH THỰC TẬP TẠI CÔNG TY
I. ĐÀO TẠO CÔNG NGHỆ:
Trong thời gian thực tập tại công ty, tôi được công ty giao cho nghiên cứu về
ngôn ngữ Java for Android và bộ công cụ lập trình Android SDK để chuẩn bị tham gia
vào một dự án của công ty. Với sự giúp đỡ của các anh chị có kinh nghiệm trong công
ty, sau 8 tuần nghiên cứu và làm quen cùng với kiến thức sẵn có tôi đã hoàn thành
công việc nghiên cứu của mình.
Tôi cũng được làm quen với quy trình làm việc và sử dụng các công cụ quản lý
công việc để thực hiện công việc của mình tốt hơn.
1. Công cụ quản lý phiên bản:
GibHub là một dịch vụ cung cấp kho lưu trữ mã nguồn dựa trên nền web cho các
dự án phát triển phần mềm. GitHub cung cấp cả phiên bản trả tiền lẫn miễn phí cho
các tài khoản. Các dự án mã nguồn mở sẽ được cung cấp kho lưu trữ miễn phí. Tính
đến tháng 4 năm 2016, GitHub có hơn 14 triệu người sử dụng với hơn 35 triệu kho mã
nguồn, làm cho nó trở thành máy chủ chứa mã nguồn lớn trên thế giới. GitHub đã trở
thành một yếu tố có sức ảnh hưởng trong cộng đồng phát triển mã nguồn mở. Dự án
trên GitHub có thể được truy cập và thao tác sử dụng một giao diện dòng lệnh và làm
việc với tất cả các lệnh Git tiêu chuẩn. GitHub cũng cho phép người dùng đăng ký và
không đăng ký để duyệt kho công cộng trên trang web. Trang web cung cấp các chức
năng mạng xã hội như feed, theo dõi, wiki (sử dụng phần mềm Gollum Wiki) và đồ thị
mạng xã hội để hiển thị cách các nhà phát triển làm việc trên kho lưu trữ.
Bitbucket là dịch vụ web hỗ trợ quản lý phiên bản phân tán cho cả Git và
Mercurial (một hệ thống quản lý phiên bản phân tán khác). Bitbucket cung cấp cả
phiên bản trả tiền lẫn miễn phí cho các tài khoản. Nếu người dùng cần server Git dành
cho một nhóm không quá 5 người làm việc với nhau thì có thể dùng miễn phí vĩnh
viễn ở Bitbucket. Vì tài khoản miễn phí ở đây người dùng sẽ được quyền tạo private
repository không giới hạn nhưng sẽ giới hạn 5 thành viên được quyền truy cập vào
private repository. Các tính năng ở Bitbucket hầu như đầy đủ cho nhu cầu sử dụng Git.
9. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 9
2. Công cụ trao đổi giữa các thành viên trong dự án:
Chúng tôi trao đổi với nhau qua các hình thức:
Chat thông qua Skype: thông báo, trao đổi …
Email: các tài liệu, phần mềm, báo cáo …
Trello: quản lý task công việc cá nhân và estimate công việc
TeamViewer: hỗ trợ sửa lỗi thông qua mạng internet.
Gặp mặt trực tiếp: trao đổi, thảo luận.
3. Phân công thực hiện dự án:
STT Tên Vai Trò Nhiệm vụ
1 Lê Phan Phú Thuận Developer Làm prototype tất cả các màn
hình: Sign In, List Active Chat,
Search, Chat Screen, Image Video
View, Document View, Map
View, Capture Image.
Thực hiên các module :
o Đăng nhập
o Load danh sách các nhóm
chat từ server
o Load tin nhắn từ server
o Hiển thị tin nhắn lên di động
o Các chức năng webservices
2 Hồ Ngọc Sơn Developer Làm prototype các màn hình:
New Message, Voice Call, New
Group, Create Group, Group
Profile, User Profile, Chatbot.
Thực hiên các module :
o Load user, tạo nhóm chat
o Hiển thị thông tin nhóm chat,
user
o Các chức năng webservices
10. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 10
CHƯƠNG 2:
HỆ ĐIỀU HÀNH ANDROID VÀ BỘ CÔNG CỤ
LẬP TRÌNH ANDROID SDK
I. HỆ ĐIỀU HÀNH 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).
Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java. Sự ra mắt
của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị
cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm
mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai.
1. Lịch sử phát triển:
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 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ủ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.
Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di động
dựa trên hạt nhân Linux, được họ tiếp thị đến các nhà sản xuất thiết bị cầm tay và các
nhà mạng trên những tiền đề về việc cung cấp một hệ thống mềm dẻo, có khả năng
nâng cấp mở rộng cao. Một số nguồn tin cho biết trước đó Google đã lên danh sách
các thành phần phần cứng và các đối tác phần mềm, đồng thời ra hiệu với các nhà
mạng rằng họ sẵn sàng hợp tác ở nhiều cấp độ khác nhau. Ngày càng nhiều suy đoán
rằng Google sẽ tham gia thị trường điện thoại di động xuất hiện trong tháng 12 năm
2006. Tin tức của BBC và Nhật báo phố Wall chú thích rằng Google muốn đưa công
nghệ tìm kiếm và các ứng dụng của họ vào điện thoại di động và họ đang nỗ lực làm
11. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 11
việc để thực hiện điều này. Các phương tiện truyền thông in và online cũng sớm có bài
viết về những tin đồn cho rằng Google đang phát triển một thiết bị cầm tay mang
thương hiệu Google. Và lại càng có nhiều suy đoán sau bài viết về việc Google đang
định nghĩa các đặc tả công nghệ và trình diễn các mẫu thử với các nhà sản xuất điện
thoại di động và nhà mạng.
2. Tính năng mở của hệ điều hành Android:
Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứng dụ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ó được xây dựng để
được thực sự mở. Ví dụ, một ứng dụng có thể kêu gọi bất kỳ chức năng lõi của điện
thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằng cách sử dụng máy ảnh,
cho phép các nhà phát triển để tạo ra phong phú hơn và nhiều hơn nữa những kinh
nghiệm cố kết cho người dùng. Android được xây dựng trên mở Linux Kernel. Hơn
nữa, nó sử dụng một máy ảo tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài
nguyên phần cứng trong một môi trường di động. Android là mã nguồn mở, nó có thể
được liberally mở rộng. Nền tảng này sẽ tiếp tục tiến triển như cộng đồng nhà phát
triển công việc cùng nhau để xây dựng các ứng dụng di động sáng tạo.
II. ANDROID SDK:
Android SDK là nền tảng xây dựng ứng dụng Android trên nền Java và được
cung cấp trực tiếp trên trang web: http://developer.Android.com/SDK/index.html với 3
phiên bản dành cho ba hệ điều hành khác nhau gồm Windows, Mac và Linux.
III. ANDROID PROGRAMMING:
1. Giới thiệu:
Để viết ứng dụng Android, chúng ta cần Java SE Development Kit (JDK),
Android SDK, môi trường phát triển phần mềm (IDE) và các công cụ hỗ trợ phát triển
phần mềm Android trên IDE đó.
Một cách “ngông cuồng” mà nói, ta có thể lập trình trên bất cứ trình soạn thảo
văn bản nào nhưng làm vậy sẽ mất rất nhiều thời gian trong khi lập trình ứng dụng
Android với IDE và các công cụ đi kèm có sự hỗ trợ cao về các công cụ hỗ trợ lập
trình giao diện, kiểm lỗi, hỗ trợ biên dịch chương trình, …
12. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 12
2. Mô hình:
Hình 1: Mô hình hệ thống hoạt động của hệ điều hành Andorid.
3. Vòng đời của ứng dụng:
Vòng đời của một ứng dụng Activity trong Android thì nó sẽ có các trạng thái
sau :
Đang hiệu lực hoặc đang chạy: khi nó trực tiếp giao tác với người dùng.
Tạm dừng: khi nó không còn được hiệu lực nhưng vẫn được nhìn thấy bởi
người dùng. Nói dễ hiểu hơn, có Activity này nằm trên một Activity khác mà Activity
này trong suốt hoặc không che phủ hết màn hình vì vậy Activity khác được nhìn thấy.
Một Activity đang dừng thì hoàn toàn “còn sống” nhưng có thể bị “giết đi” bởi hệ
thống trong trường hợp bộ nhớ thấp.
Dừng hẳn: nếu Activity bị che khỏa hoàn toàn bởi một Activity khác. Nó vẫn
còn duy trì tất cả trạng thái và thông tin thành viên. Tuy nhiên, người dùng không còn
thấy nó vì màn hình của nó ẩn đi và thường bị “giết” bởi hệ thống khi không đủ bộ
nhớ.
13. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 13
CHƯƠNG 3:
DỰ ÁN HEARTI MESSENGER
I. GIỚI THIỆU DỰ ÁN:
1. Giới thiệuchung:
Dự án Hearti Messenger là một dự án xây dựng các chức năng nhắn tin online,
gọi thoại video, chatbot phục vụ cho việc trao đổi thông tin của các nhân viên trong
công ty thông qua một mạng lưới chung trên các thiết bị cầm tay chạy hệ điều hành
Android.
Dự án hướng đến việc phát triển gọn nhẹ và cung cấp các chức năng lên một kế
hoạch và mục tiêu đề ra một cách nhanh nhất, hoàn thành các mục tiêu nhỏ và lớn đã
đề ra.
2. Mục đích và ý nghĩa:
Mục đích chính của dự án là để chúng tôi nắm bắt được những bước cơ bản trong
việc phát triển ứng dụng trên các thiết bị di động chạy hệ điều hành Android. Ứng
dụng thao tác truy vấn dữ liệu giữa Client và Server qua hệ thống webservices… Và
làm việc với các API của các bên thứ ba như Skype, WhatsApp, Messenger.
3. Phân tích các chức năng:
STT Tên chức năng Mô tả chi tiết
1 Đăng nhập
I.1. Cho phép người dùng đăng nhập bằng số để chạy
thử sản phẩm.
2
Hiển thị danh sách group
chat và private chat
I.2. Các group chat và private chat được hiển thị ở màn
hình “Home”.
3 Tìm kiếm nhóm chat
Cho phép người dùng tìm kiếm group chat và
private chat ở màn hình “Search”
4 Menu Hiện thị các danh mục người dùng có thể thao tác
5 Tạo private chat
Cho phép người dùng tạo tin nhắn riêng tư ở màn
hình “New Message”
14. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 14
6 Tạo group chat
Cho phép người dùng tạo nhóm chat ở màn hình
“New Group” và “Create Group”
7 Tạo voice call
Cho phép người dùng tạo cuộc gọi thoại ở màn hình
“Voice Call”
8 Chat
Cho phép người dùng gửi tin nhắn (văn bản, ảnh,
video, document, location) tới user khác.
4. Yêu cầu tính năng kỹ thuật:
STT Nội dung yêu cầu
1
Ứng dụng thao tác với dữ liệu Server thông qua hệ thống webservices. Có
thể đồng bộ dữ liệu ở mọi nơi.
2
Giao diện được trình bày khoa học, hợp lý và đảm bảo mỹ thuật hài hòa với
mục đích của phần mềm.
15. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 15
5. Đặc tả yêu cầu:
5.1. Sơ đồ Use-Case:
Hình 2: Sơ đồ UserCase của ứng dụng.
16. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 16
5.2. Sơ đồ liên kết các màn hình:
Màn hình đăng
nhập
Màn hình
“Home”
Màn hình
“Search”
Màn hình
“New Message”
Màn hình
“New Group”
Màn hình
“Voice Call”
Màn hình
“Chatbot”
Màn hình
“Chat”
Màn hình
“Create Group”
Màn hình
“Profile”
17. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 17
6. Thiết kế ứng dụng:
6.1. Thiết kế bằng PhotoShop:
Hình 3: Sơ đồ Photoshop của ứng dụng
18. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 18
6.2. Kế hoạch tiến hành:
Với một dự án vừa phải với sự tham gia của hai thành viên, nhóm chúng em
quyết địng sử dụng mô hình Scrum để áp dụng vào phát triển dự án. Vì mô hình tiêu
chuẩn của Scrum là một nhóm từ 5 đến 10 thành viên mà thực hiện dự án chỉ có hai
người nên vẫn chưa thật sự hoàn thành chính xác mô hình trên. Tuy nhiên chúng em
đã cố gắng thực hiện dựa trên tinh thần hoàn thành bản mẫu một cách đúng tiến độ.
Hai thành viên nhiều lần thực hiện Daily Meeting cũng như liên tục đưa ra các phiên
bản để đáp ứng được tiến độ của dự án.
Trong quá trình thực hiện chúng em đã sử dụng website quản lý dự án theo mô
hình Scrum của công ty. Phân chia các task rất rõ ràng và làm việc có trách nhiệm với
phần task mình được giao.
Một số khái niệm trong Scrum:
- Daily Meeting:
- Sprint Backlog:
- Produce Backlog:
- …
7. Kết quả dự kiến:
- Xây dựng hoàn thành ứng dụng đúng thời gian dự kiến và đúng các chức
năng đề tài yêu cầu.
- Ứng dụng chạy tốt trên các phiên bản Android 2.6 trở lên.
- Ứng dụng được đưa vào Google Play và được Google kiểm định
19. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 19
8. Kết quả và hướng phát triểncủa dự án:
8.1. Kế hoạch tiến hành:
Hoàn thành ứng dụng. Các màn hình của ứng dụng:
- Màn hình đăng nhập:
20. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 20
- Màn hình Home:
- Màn hình Search:
21. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 21
- Màn hình Chọn thao tác:
- Màn hình New Message:
22. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 22
- Màn hình New Group:
- Màn hình Create Group:
23. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 23
- Màn hình Create Group:
- Màn hình Chatbot:
24. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 24
- Màn hình Group Profile:
- Màn hình User Profile:
25. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 25
- Màn hình Pick Location:
- Màn hình Pick Document:
26. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 26
8.2. Hướng phát triển của dự án:
- Hoàn thành sản phẩm và đưa lên Google Store.
- Cải thiện hiệu suất của ứng dụng.
27. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 27
KẾT LUẬN
Qua những ngày thực tập tại công ty thì tôi đã tích lũy nhiều kiến thức bổ ích về
các nền tảng di động, đồng thời cho mình nhiều kinh nghiệm thực tế về mô hình quản
lý và quy trình hoạt động của công ty phần mềm. Với những học hỏi ở công ty tôi đã
biết về lập trình Android, cũng như nắm rõ các quy trình quản lý dự án từ bước phân
tích thiết kế đến lúc giao sản phẩm cho khách hàng. Mặt khác, nó còn giúp tăng cường
những kỹ năng làm việc nhóm, giao tiếp trong công ty nói chung và nhóm dự án nói
riêng. Bên cạnh những mặt thuận lợi còn có nhiều thiếu sót về mặt kinh nghiệm trong
quá trình làm dự án.
28. Tìm hiểu về lập trình trên Android và phát triển phần mềm Hearti Messenger
SVTH: Lê Phan Phú Thuận- Lớp 14S Trang 28
TÀI LIỆU THAM KHẢO
[1] http://developer.android.com/
[2] http://docs.oracle.com/javase/tutorial/
[3] Apress - Android Essentials (2008) – Chris Haseman
[4] Android Programmer’s Guide – Jerom (J.F.) Dimazo
[5] Hello Android (2008) – Ed Burnette