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

Chuyên đề thực tập tốt nghiệp: Xây dựng phần mềm bán đồ ăn nhanh FastFood

84 1 0

Đ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

Nội dung

Trang 1

CHUYEN DE THUC TAP TOT NGHIEP Dé tai:

XAY DUNG APP BAN DO AN NHANH FASTFOOD

Sinh viên thực hiện : Nguyễn Ngọc Khánh

Mã sinh viên : 11162581

Lép chuyên ngành : Tin học kinh tế 58

Giảng viên hướng dẫn — : TS Nguyễn Thị Bạch Tuyết

HÀ NỘI, 2020

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời cảm ơn sâu sắc nhất đến cô TS Nguyễn Thị Bạch Tuyết đã giúp đỡ em tận tình, cho em những góp ý trong suốt thời gian thực tập để

có thể hoàn thiện tốt chuyên đề này.

Em xin cảm ơn đến thầy Nguyễn Văn Thành và toàn bộ anh chị trong công ty

TNHH Một thành viên Dịch vụ Giáo dục Thành Nguyên đã giúp đỡ, chỉ bảo và tạo

điều kiện cho em trong suốt quá trình thực tập tại công ty.

Một lân nữa, em xin chân thành cảm ơn!

Trang 3

CHUONG 1 TONG QUAN VE CÔNG TY TNHH MỘT THÀNH VIÊN DỊCH

VỤ GIÁO DỤC THÀNH NGUYÊN ° 2< sss+ssssevssersserseesssrsserse 31.1 Thông tin cơ bản của doanh nghiỆp - 525cc sseessereeereres 3

1.2 Quá trình thành lập và phát triễn -2- 2 2 s+xzxzEzzExerxerxez 3 1.3 Đặc điểm hoạt động kinh doanh - 2 2 s2E+E+Exerxerrerrxrrkerxee 4

s7 an (.34 5

1.5 Thực trạng về việc ứng dụng CNTT trong hoạt động sản xuất, kinh

doanh của công ty - - c 1121 119111 1111 110111011111 H11 TH Hưng nhàng Hy 8

1.6 Đánh giá việc ứng dụng CNTT trong hoạt động sản xuất, kinh doanh I0

CHUONG 2 CƠ SỞ LÝ LUẬN VE XÂY DUNG PHAN MÉM 11

2.1 Tổng quan về phần mm 2 ¿22+ E2 EE+EE£EE£+EE+EEtEEtZEEZEErEErrxerree 11

2.1.2 Đặc trưng của phần mềm 2-2 2 £+£EE+EE£EE£EE+EE2EE£EeEEeEEerkrrxrvee 11 2.1.3 Phân loại phần mềm + 2 2 E2 £+E£+E£EE£EE#EE£EE+EEZEEEEEEerEerxrrkrree 12 2.1.4 Quy trình xây dựng phần mềm 2-2-2 2+E££E+£E£zE£+E+Exerxrxez 13 2.2 Một số mô hình triển khai xây dựng phần mềm - - 5- - 21

Phun h(ìì0t và OƯƯỜợợNợgợg,1 - 21

2.2.2 Mô hình xoắn Ốc -¿ ©++++c2++ttE ki 22

2.3 Công cụ thực hiện - - Là LH TH HH HH TH ng Hit 232.3.1 Android StUd1O - - + 1H HH HH rưy 232.3.2 SQLite Databse 2 24

2.4 Cơ sở lý thuyết về Android, ngôn ngữ lập trình Java - 25

2.4.1 Lý thuyết Android -:- 2-52 +5s+SE+EE2E2EESEEEEEEEEE2E127171211211 1111 cxe 25

2.4.2 Kiến trúc Android :-cs++ccxx2EEkxtttrktrttrttrrtrttrrrrrrrrrrirrrrirriio 26

2.3.4 Ngôn ngữ lập trình ]2aVa - - c 119 1v SH HH kg ky 31

2.3.5 Mô hình thiết kế Model View Presenter (MWVP), -5-ccccssce2 31

2.4 LocalDatabase trong Android — Room Database - 32

Trang 4

2.4.1 Khái niệm ROOI - G222 333222183 3188 €3 1 3 112 1v ng ng re 32

2.4.2 Các bước dé tạo CSDL Room ¿2-52 ©+2E£2EE+EE+£EzEzEsrkerxerree 33

CHUONG 3 XÂY DUNG APP BAN ĐỎ AN NHANH FASTEOOD - APP

DÀNH CHO KHACH HANG cccssscsssssssssscsssssscssscsnscssscnscsnscssscascenscsnscssccasceneessees 343.1 Mô tả bài toán cr 34

3.2 Phân tích hệ thống - 2-2 2 +E£SE£EEEEEEEE2E12E1211212 212111111 xe 35

3.3 Thiết kế kiến trúc -©+++ckc2 k2 22121121171 cxe 38

3.4 Thiết kế CSDL 2-©22©2<+EESEEEEE22121171211211211 712121 Exxe 38 3.5 Thiết kế giải thuật -:- 52-52 tt EE 121121121121 11 111111 44 3.6 Thiết kế giao diện - ¿52 Se tt TT 1211211211211 11111 te 41

3.7 Lap trình máy tính -. + Sc + 32331 1911151111111 1 111111 1E ket 563.7.1 Khai báo thư viện cho ADP -. Ă 3n 2t 2 vn HH ng re, 56

3.7.2 Khai báo quyền người dùng cho App .scsssesssessessesssecssecssessesssecsseeseesses 57 3.7.3 Khởi tạo các đối tƯỢng: -:- ¿522k ke EE1EE121121121 1111111 xe 58 9100000177 ,ÔỎ 67

TÀI LIEU THAM KHAO 2-2 5< ©s£©ss£Es2€SssSs£EsseEsexserssersserssre 68

PHU LUC CAC DOAN CODE 2- 2° ©©EveseEEEEveeEEEvresertrvresrrrrrrsee 69

Trang 5

DANH MỤC HÌNH ANH

Hình 1 1: Sơ đồ cơ cấu t6 chứỨc - 2 5+ +5£+S++Ex£EEEEEEEEEEEEEEEEEEEErkrrkrrrrrrkervee 5

Hình 2 1: Ký hiệu UML dùng cho ca sử dụng - 55c +ksseeeeseseeers 14

Hình 2 2: Ký pháp của phương pháp Use Case ¿5c + Sc sssssssrsserrss 15

Hình 2 3: Ký pháp sử dụng trong sơ đồ chức năng BFD 5 5c s2 16 Hình 2 4: Ký pháp sơ đồ luồng thông tin IFD 2¿- 5: ©5£55z22x2z++zxeszsz 16 Hình 2 5: Ký pháp sơ đồ ngữ cambie c.ccecceccccsscescsssssessessessessessessessesssessssessessesseeseaes 17 Hình 2 6: Ký pháp sơ đồ luồng dit liệu DFD -2- 2-2 2 2+E£+Ee£Eezxerxerssez 18 Hình 2 7: Ky pháp sơ đồ giải thuat 0 0.ccccccccccsessessessessesstsssessecsesssesseesessesssseseeseess 19

Hình 2 8: Mô hình thác HưỚC - 2 «+ s1 E19 119111911 1 nh ng run 21

Hình 2 9: Mô hình xoắn 6c o.seeeessessssssseessneessssseesssnecessneeessneeessneeeesnseesneeesnnesensnesee 23 Hình 2 10: Kiến trúc của Android - ¿- s5 ++£2££+EE+EE£EE+2EESEEeEEerEerrkerkerkrrex 26 Hình 2 11: Tang Applications trong Kiến trúc Android -¿s¿ s2 27 Hình 2 12: Tang Application Framework trong Kiến trúc Android - 27 Hình 2 13: Tầng Libries và Android Runtime trong Kiến trúc Android 28 Hình 2 14: Tang Linux Kernel trong Kiến trúc Android . ¿s¿ s2 29 Hình 2 15: Cấu trúc của một màn hình Android - - << «+ ++++<*+++sxc++sex+ 30

Hình 2 16: Mô hình MVP Pattern Des1gn - - 6s v1 SH g re 32

Hình 2 17: Cấu trúc của Room trong Android -:- 5s 2+sz+sezx+zx+zx+zszzszsez 33 Hình 3 1: Sơ đồ chức năng xây dựng App FASTFOOD - ¿2-5 sccscs2 35 Hình 3 2: Sơ đồ ngữ cảnh xây dựng App FASTFOOD -¿ ¿©csc©5+cc+2 36

Hình 3 3: Sơ đồ DFD mức ( .-¿ 22+++++tEExtrtttEEktrrrttttrrrrrtrrirrrrrrrrrrrrieg 36

Hình 3 4: Sơ đồ DFD mức 1 “Quản lý người dùng”” ¿22c ccccxccersscee 37 Hình 3 5: Sơ đồ DFD mức 1 “Quản lý bán hàng”” - 2-2 + xc2z+zesrxerecrez 37 Hình 3 6: So đồ Kiến trúc xây dựng App EASTFOOD 2-5-5 scsscsce2 38

Hình 3 7: Giải thuật thêm, xóa món ăn trong danh sách yêu thích 44

Hình 3 8: Giải thuật tính tiền cho một đơn hàng ch re, 45

Hình 3 9: Giải thuật thanh toán - - - Ă E1 3322221111111 1 2831111111188 1 11 key, 46

Hình 3 10: Màn hình Splash và Onboarding - «5s + + xs+vexsseeeeerseeere 48

Trang 6

13: Màn hình Khám phá và Dialog Detail Food -. -s -««<-s+<s

14: Màn hình Danh sách món ăn yêu thích + ++-s>+<x++s++ex++

15: Màn hình Danh sách món ăn yêu thích - . - -+++-s+++<x++sex+ss+

16: Màn hình Hóa đơn chỉ tiết và Lịch sử đơn hàng -5- 5-52

17: Màn hình thông tin cá nhân 55 3251323 E+*EEEeeesreereesereee

18 Màn hình Khuyến Mãi - 2-22 52+cx2EEt2EEtEESEErrrkerkrerkrerxee

Trang 7

LOI MỞ DAU 1 Ly do lựa chọn đề tài

Ngày nay, khi mức độ cạnh tranh trên thị trường truyền thống ngày càng gay gắt và các thành tựu công nghệ thông tin ngày càng phát triển thì hoạt động kinh doanh thông qua website trở thành lựa chọn hàng đầu của các doanh nghiệp muốn tham gia vào thị trường thương mại điện tử Tuy nhiên, không có nghĩa là chỉ cần một website cập nhật thường xuyên tin tức, sản phâm là đủ, mà còn cần có khả năng liên

kết, liên lạc với khách hàng dé tiếp thu đóng góp và giải đáp thắc mắc của họ, nhằm

tạo dựng niềm tin, uy tín đối với khách hàng Việc thiết kế website với những tinh năng nào dé thu hút khách hang là điều hết sức can thiết đối với doanh nghiệp.

Tham gia vào dự án outsourcing của công ty TNHH MTV Dịch vụ giáo dục

Thành Nguyên, nhận thấy dự án này là cơ hội để áp dụng được những kiến thức đã được học cũng như tiếp thu được các kiến thức mới, em xin tham gia dự án và đảm nhiệm nhiệm vụ dựng App dành cho khách hàng nhằm nâng cao, học hỏi và cải thiện kĩ năng của bản thân Vì vậy, em nghiên cứu thực hiện đề tài: “Xây dựng phần mềm bán đồ ăn nhanh FastFood — App dành cho khách hàng.

2 Mục đích nghiên cứu

- Nghiên cứu công nghệ lập trình ứng dụng với Android

- Nắm rõ các hoạt động trong qui trình vận hành kinh doanh, Xây dựng phan mềm quản lý bán hàng giải quyết yêu cầu trong quản lý của cửa hàng.

- _ Xây dựng thành công App Client FastFood cho dự án, phát trién ứng dụng đưa vào thực tế.

3 Đối tượng, phạm vi nghiên cứu

Đối tượng nghiên cứu

- Khách hàng, cửa hàng bán đồ ăn nhanh, các món ăn tại cửa hàng

Pham vi nghiên cứu:

Trang 8

- Để tài nghiên cứu được thực hiện trong thời gian 3 tháng ké từ ngày 1/2/2020

đến ngày 31/5/2020

- Thực trạng quan lý mua hàng: nghiệp vụ dat bàn, mua hang, quan lý đơn đặt

hàng, quản lý đơn đặt bàn, thanh toán và phân tích thiết kế yêu cầu, chức năng nhằm giải quyết bài toán

- Phạm vi nghiệp vụ: Xây dưng App dành cho khách hàng.4 Phương pháp nghiên cứu

Đề thực hiện đề tài, em sử dụng phương pháp:

- Phương pháp thu thập thông tin

» Phuong pháp thực nghiệm khoa học

* Phương pháp điều tra

- Chương 2 Cơ sở lý luận về xây dựng phan mềm

- Chương 3 Xây dựng App bán đồ ăn nhanh FASTFOOD

Trang 9

CHUONG 1 TONG QUAN VE CÔNG TY TNHH MỘT THÀNH VIÊN

DỊCH VỤ GIÁO DỤC THÀNH NGUYÊN

Thông tin cơ bản của doanh nghiệp

Thuộc loại hình doanh nghiệp Công ty Trách nhiệm hữu hạn Một thành

viên Với tên chính thức là CÔNG TY TNHH MỘT THÀNH VIÊN DỊCH VỤ

GIAO DỤC THÀNH NGUYEN Ông Nguyễn Văn Thành — người đại diện theo pháp luật của công ty, đã thành lập công ty vào ngày 05/02/2018 với vốn điều lệ đăng ký là 50.000.000 đồng Công ty nằm tại số 87 Vương Thừa Vũ, Phường Khương Mai, Quận Thanh Xuân, Thành Phố Hà Nội Giấy phép hoạt động được cấp ngày 05/02/2018 cùng với ngày thành lập, tại cơ quan Sở kế

hoạch và đầu tư Thành phố Hà Nội với mã số thuế là 0108160009 Số điện

thoại công ty khi thành lập cũng là số điện thoại của chủ công ty: 0961234680 với tài khoản giao dich tại ngân hàng: Ngân hàng thương mại cổ phần Ngoại

thương Việt Nam là : 0851000022934

Quá trình thành lập và phát triển

Công Ty TNHH Một Thành Viên Dịch Vụ Giáo Dục Thành Nguyên làcông ty trách nhiệm hữu hạn một thành viên được thành lập vào ngày05/02/2018 và đi vào hoạt động chính thức ngày 05/02/2018.

Khi mới đi vào hoạt động, công ty chỉ có 1 nhân viên và bối cảnh thị trường cạnh tranh với rất nhiều công ty lớn trong ngành Tuy nhiên với sự chỉ đạo của giám đốc và sự nỗ lực của tất cả nhân viên trong công ty đã tạo nên cho công ty chỗ đứng trên thi trường và tạo niềm tin, sự hài long của khách hàng giúp cho công ty ngày càng phát triển và mở rộng quy mô.

Sau 2 năm hoạt động, với các chiến lược kinh doanh và các chính sách bán hàng, công ty đã mở rộng thị trường ra tất cả hầu hết các tỉnh thành trong

nước, có được các khách hàng tiêm năng và thị trường riêng của mình.

Trang 10

1.3 Dac điểm hoạt động kinh doanh

Ngành nghề kinh doanh: Công ty TNHH MTV Dịch vụ giáo dục Thành

Nguyên kinh doanh trong lĩnh vực:e Giáo dục

Bắt đầu từ khi thành lap, công ty TNHHMTV Dịch vụ giáo dục Thanh Nguyên đã đặt lĩnh vực giáo dục là lĩnh vực chính của công ty Trải qua nhiều

khóa học, công ty đã thành công trong việc đảo tạo nhân lực lĩnh vực công

nghệ thông tin nói chung và đảo tạo lập trình viên nói riêng Chính thức từ khi

thành lập công ty đã hoàn thành xong 6 khóa học Các học viên được đào tạo

từ cơ bản đến nâng cao kỹ năng lập trình, lập trình máy tính, thành thạo ngôn ngữ lập trình, hiểu rõ tư duy lập trình và ngày càng hiện đại phù hợp với sự thay đổi không ngừng nghỉ của công nghệ Các học sinh đang là lập trình viên

của nhiều công ty lớn nhứ: FPTSoftware, VNPT-IT, MISA, FAST, Viettel, Nhiều học viên đã đạt cũng từ đây mà đạt được những thành công

lớn Với khảo sát đầu ra, mức lương trung bình sau khi hoàn thành khóa học

là 12.000.000đ/ 1 học viên.

e Outsource — Gia công phân mêm.

Bên cạnh lĩnh vực chính là lĩnh vực giáo dục, ông Nguyễn Văn

Thành-giám đốc công ty cũng sáng suốt khi đã thực hiện và dẫn dắt chương trình dự

án Outsource dành cho các học viên cuối khóa, vừa rèn luyện kĩ năng áp dụng

kiến thực một cách chuyên sâu, vừa tạo ra thu nhập cho học viên Theo em

đây được coi là chiến lược đúng đắn kết hợp cả 2 lĩnh vực một cách có hiệu

Từ khi thành lập công ty đã thực hiện không ít dự án lớn nhỏ, đặc biệt

có thé kê đến cá dự án thành công đã chạy như:

Ứng dung 3SDMS:

https://play.google.com/store/apps/details ?id=com.neos.frwamvp

Trang 11

Ứng dụng TiKi:

https://play.google.com/store/apps/details ?id=com.neos.fima

Thị trường kinh doanh

Công ty đây mạnh hoạt động kinh doanh tại Thành phố Hà Nội, ngoài ra còn

mở rộng các dự án trên địa bàn toàn quôc.

Hiện nay về giáo dục, học sinh của công ty chủ yếu tại địa bàn thành phố Hà Nội, đối với cá học sinh ở khu vực khác, công ty đang tiến hành xây dựng chương

trình học online phục vụ nhu câu học của các học viên.

Về mang outsourcing, đối tác khách hang của công ty có từ các khách hàng

nhỏ lẻ đến các khách hàng là các công ty lớn Các khách hàng nhỏ lẻ chủ yếu là các

cửa hàng muốn tin học hóa quá trình quản lý kinh doanh Các khách hàng lớn thường

thuê đội ngũ lập trình viên của công ty đê bảo trì và nâng câp các sản phâm của họ.

1.4 Co cấu tổ chức

Công ty TNHH MTV Dịch vụ giáo dục Thành Nguyên là một công ty nhỏ nên

được tô chức gọn nhẹ, linh hoạt theo mô hình chức năng giúp cho việc điều hành và

quản lý có hiệu quả:

Trang 12

Chức năng, nhiệm vụ của các bộ phận trong công ty:

* Giám Đốc : Ông Nguyễn Văn Thành là người sáng lập công ty, ông là người

đại diện pháp lý, trực tiếp điều hành tất cả các hoạt động sản xuất, kinh doanh của

công ty Là người đưa ra chiến lược và mục tiêu phát triển của công ty cũng là người trực tiếp trao đôi và kí kết hợp đồng với khách hàng Dẫn dắt công ty từ ngày đầu mới thành lập, Ông Nguyễn Văn Thành ngày một khăng định năng lực cũng như.

* Phòng Kế Toán

Ghi chép, phản ánh chính xác và trung thực các nghiệp vụ kinh tế trong công ty

vào số sách kế toán; lưu trữ, bảo quản các chứng từ kế toán và số sách kế toán của

công ty.

- _ Cung cấp các tài liệu kế toán cần thiết cho giám đốc và các cơ quan quản lý

- Theo dõi các khoản công nợ, phải trả, các khoản tiền mặt, của công ty.

- _ Lập báo cáo kế toán định kì theo yêu cầu của giám đốc và theo qui định của

nhà nước.

- Tham mưu cho giám đốc các kế hoạch tài chính.

- Kê khai, quyết toán thuế của công ty và nộp các khoản thuế phải nộp cho cơ

quan thuế.

¢ Phòng Nhân Sự

- Trién khai và thực hiện các chính sách vê nhân sự, tiên lương.

- Cham công hàng ngày, tính lương và trả lương hàng tháng cho nhân viên

¢ Phòng Kỹ Thuật

- _ Xây dựng, phát triển sản phẩm theo yêu cầu của khách hàng - Nhân viên thiết kế:

= Tư vấn công nghé,thiét kế sản phẩm nhăm đáp ứng đầy đủ các yêu cầu

về sản phâm của khách hàng.

Trang 13

“Phối hop với các phòng ban khác dé cho ra sản phẩm tốt nhất, giải quyết các van đề ứng dụng của sản phẩm.

- _ Nhân viên kỹ thuật

“Thực hiện lập trình theo thiết kế có sẵn.

= Phối hợp với nhân viên thiết dé đưa ra các giải pháp cho sản phẩm tốt nhất.

= Phối hợp với phòng kiểm thử dé khắc phục lỗi trong quá trình phát triển sản phẩm.

- _ Nhân viên kiểm thử & đảm bảo chất lượng = Đưa ra kế hoạch kiêm thử sản phẩm.

= Phối hợp với các nhân viên kỹ thuật dé dua ra giải pháp tối ưu cho sản phần.

= Thực hiện các công việc kiểm thử.

= Lên báo cáo tổng hợp quá trình nghiệm thu sản phẩm.

Phòng kinh doanh, triển khai

- Tim kiếm các khách hang mới cho công ty, nghiên cứu thị trường - _ Xây dựng hình ảnh, tiếp thị, quảng cáo sản phẩm của công ty

- _ Tiếp nhận và xử lý các ý kiến phản hồi từ khách hàng.

- _ Thống kê, báo cáo tình hình kinh doanh của công ty từ đó đưa ra đánh giá, nhận xét một cách khách quan nhất.

- Thong kê các hợp đồng với đối tác, xử lý giải quyết các van đề có liên quan - Lap kế hoạch triển khai phần mềm với khách hàng.

- _ Triển khai dự án, lắp đặt sản phẩm của công ty cho khách hàng trên địa bàn

các tỉnh thành.

- Tu vấn, đào tạo và hướng dẫn khách hang sử dụng sản phẩm.

- Thuong xuyên theo dõi, thăm hỏi các khách hàng đã sử dung sản phẩm của công ty dé có thé khắc phục kip thời các sự cố, tư van và hướng dẫn khách

hàng tỷ mi.

Trang 14

1.5 Thực trạng về việc ứng dụng CNTT trong hoạt động sản xuất, kinh doanh

của công ty

Công ty đã được thành lập và đi vào hoạt động 2 năm, thêm vào đó là việc đầu

tư các công nghệ với phục vụ các hoạt động của công ty lại được ban giám đốc công ty chú trọng nên đa số các hoạt động chính, các bộ phận của công ty đã và đang được

ứng dụng CNTT một cách hoàn thiện.

Qua qua trình khảo sát, thực trạng ứng dụng CN TT của các bộ phận trong côngty như sau:

* Các phòng ban đều được trang bi máy tính dé bàn Dell được kết nối với

internet; các máy in hỗ trợ in ấn văn bản, chứng từ cần thiết.

* Các phần mềm ứng dụng: Bao gồm các phần mềm quản lý văn phòng cơ ban

như Microsoft Word 2016; Microsoft Exel 2016, trong công việc quan lý, lưu trữ

dữ liệu về kho, công tác kế toán, bán hàng trong công ty.

* Phần mềm thiết kế đồ họa: Corel Draw giúp thiết kế catolog, mẫu mã, logo

sản phâm theo yêu cầu, hình anh sản phẩm hỗ trợ công tác bán hàng, giới thiệu sản

phẩm đến khách hàng.

* Phần mềm bảo vệ: BKAV pro

- Phần mềm don dep máy tính: Ccleaner

» Cac trình duyệt web: Cốc cốc, Chrome và Firefox.

* Phan mềm lập trình: AndroidStudio IDE

* Ngoai ra còn trang bi máy chiếu phục vu giảng day, hệ thống camera giám sát

giúp việc quản lý nhân viên hiệu quả hơn.

- Giám đốc công ty và trưởng các phòng ban đều được cấp Macbook của công

ty.

Trang 15

Thực trạng sử dụng các công nghệ trong công ty

3| Điện thoại di động Gọi điện giao dịch.

4 | Máy cham công vân tay Chấm công.

5 |Hệ thông camera Quan sát, theo dõi các bộ phận trong

công ty.

II | Phan mém

1 | Phan mềm soạn thảo Word | Soạn thảo giấy tờ, văn bản trong công ty 2016 Lam các số sách kế toán.

2 | Bang tinh Exel Luu trữ dữ liệu, quan lý dit liệu.

Giúp tính toán, tạo các báo, cáo thống kê Thực hiện công việc kế toán, kho.

3 | Phan mềm Corel Draw Thiết kế logo, mau mã, hình ảnh san

7 | Git Phục vụ lưu trữ source cho lập trình viên

8 | Android Studio IDE lập trình cho lập trình viên

9 | Postman Kiểm thử Api cho lập trình viên va Tester

Trang 16

1.6 Đánh giá việc ứng dụng CNTT trong hoạt động sản xuất, kinh doanh

- Tất cả các nhân viên đều có kỹ năng sử dụng thành thạo các phần mềm văn

phòng như Word, Exel.

* Cac máy tính trong công ty đều được trang bi các phân mềm quản lý văn phòng mức tốt.

* Các phần mềm, công luôn được cập nhật phiên bản mới nhất phục vụ kinh

doanh cũng như thực hiện dự án của nhân viên trong công ty.

Trang 17

CHUONG 2 CO SO LY LUAN VE XAY DUNG PHAN MEM

2.1 Tổng quan về phan mềm 2.1.1 Khái niệm phan mềm

Phần mềm máy tính (Computer Software) gọi tắt là Phần mềm (Software) có thé hiểu là tập hợp những câu lệnh hay chỉ thi (Instruction) được viết bang một hoặc nhiều ngôn ngữ lập trình và tuân một trật tự xác định, và các dữ liệu, tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một van đề

cụ thể nào đó.

Phần mềm thực hiện các chức năng của nó băng cách gửi các chỉ thị trực tiếp đến phần cứng (hay phần cứng máy tính, Computer Hardware) hoặc bằng cách cung

cấp dữ liệu để phục vụ các chương trình hay phần mềm khác.

Phần mềm khác với phan cứng ở chỗ là “phần mềm không thé sờ hay đụng vào”, và cần phải có phần cứng máy tính mới có thé thực thi được chức năng của minh.Theo Edward R Pressman - một nhà tin học người Mỹ, Phần mềm là một tô

hợp bao gồm ba thành tố:

» Cac chương trình máy tính (Programs)

* Các kiêu loại cấu trúc dit liệu cài đặt chương trình máy tinh (Data structure) * Các tài liệu hướng dẫn sử dụng (Document)

2.1.2 Đặc trưng của phan mém

Phan mềm là một hệ thống logic, chính vì vậy mà một sản phằm phần mềm không

được sản xuất theo nghĩa cô điển có nghĩa là được lắp ráp từ các thiết bị có san Sản

pham phần mềm không dùng đến các nguyên liệu thô như các sản phẩm khác mà nó hàm chứa một khối lượng chất xám lớn kết tinh trí tuệ của các kỹ sư phần mềm.

Phần mềm sẽ không bị hỏng đi trong quá trình sử dụng hoặc hao mòn dưới tác động của môi trường xung quanh, nó chỉ lạc hậu, lỗi thời và không còn phù hợp với yêu cầu thực tiễn của người sử dụng.

Mỗi phần mềm được thiết kế theo yêu cầu của người sử dụng mang lại tính độc

đáo của mỗi sản pham phân mém.

Trang 18

2.1.3 Phân loại phan mém

Đề phân loại phần mềm, dựa vào rất nhiều tiêu chí như: độ lớn, giá cả, chức

năng, điều kiện sử dụng Tùy thuộc vào tiêu chí phân, có thé chia phan mém thanh

các phần mềm khác nhau.

Đối với việc phân loại theo phương thức hoạt động phương thức hoạt động:

* Phan mém hệ thong: muc dich chinh cua loai phan mém nay 1a van hanh may

tính, thiết bi điện tử Ví dụ có thé kế đến như: Window, Unix, Linux, các trình điều

khiến hay còn gọi là driver, các phần sụn — firmware và ca BIOS Hơn thế nữa cũng

bao gồm các hệ điều hành di động Android, iOS, WindowPhone.,

° Phan mém ứng dụng: Các phần mềm văn phòng, (Microsoft Office,

OpenOffice), các công cụ tiện ich, trò choi điện tử,

* Phan mém dịch mã: trình biên dịch và trình thông dịch ( các phần mềm này

được gọi là “phiên dịch viên” giữa người và máy tính, giúp con người giao tiếp và

điều khiển máy tính làm việc.

* Nền tảng ứng dụng: các phần mềm là nền tang ứng dụng thì hỗ trợ tạo ra các

ứng dụng khác

Phân theo khả năng hay quyền hạn can thiệp mã nguồn:

* Phần mêm mã nguồn đóng: những phần mềm “đóng” không được công bố Dé

được phép sử dụng các phần mềm này, người sử dụng cần phải được cấp bản quyền.

* Phan mém mã nguồn mở: mã nguồn của các phần mềm loại này được công bố

rộng rãi, công khai và thường miễn phí Cho phép người dùng tự do sử dụng và tỉnh

chỉnh mã nguồn.

Quy trình xây dựng phần mềm gồm một tập hợp các hoạt động được tổ chức mà mục đích của nó là xây dựng và phát triển một phần mềm cụ thé.

Giúp xác định :

* Nhân sự: Ai làm), Ai làm gì?; Thời gian: Khi nào làm? Mat bao lâu? * Phương pháp: Làm như thé nào?

- Công cụ: Dùng công cụ gì dé làm?

Trang 19

» Chi phí: Chi phí? Doanh thu?

* Mục tiêu: Mục tiêu hướng đến là gì?

* Xác định: Khung và tiêu chuẩn dé xây dựng phần mềm.

» - Xác định: Phải thực hiện những công việc gi?

Những loại phần mềm khác nhau thì cần những quy trình riêng của nó.

Ví dụ: Phan mém sử dụng hệ thống thời gian thực thì can phải hoàn thành đặc

tả hệ thống trước khi chuyển sang giai đoạn xây dựng Tuy nhiên với phan mém

thương mại điện tu thì lại có thể vừa đặc tả và vừa xây dựng đồng thời 2.1.4 Quy trình xây dung phan mém.

Quy trình cơ ban dé xây dựng một phan mềm trải qua các bước sau:

Là bước đặt ra khung kê hoạch của quá trình, tính toán điêm mạnh, điêm yêu củadự án Công đoạn này giúp bat dau một dự án phân mêm trở nên tôi ưu va tác độngtích cực đên tiên độ của dự án

Phân tích yêu cau

Là công việc giúp xác định được các yêu câu cho phân mêm hay những thay đôi

dựa trên các nhu câu trong quá trình sử dụng phân mêm Đây là công việc có ý nghĩa

rât quan trọng đôi với việc hình thành và thành công của phân mêm Các yêu câu đưa

Trang 20

ra phải có tính đo được, kiêm thử được liên quan đên các nhu câu của khách hàng và

được định nghĩa phục vụ thiết kế hệ thống phần mềm.

Các phương pháp được sử dụng:

1 Nghiên cứu tài liệu

2 Quan sát thực tế 3 Phỏng vấn

4 Sử dụng biểu mẫu, bảng hỏi, điều tra

Một trong những cách để phân tích yêu cầu một cách dự án đó là dùng use cases Uses Case là một phần của ngôn ngữ mô hình thống nhất (UML), là tập hợp

các kỹ thuật biéu đồ được sử dụng dé mô tả các khía cạnh khác nhau của quy trình

phần mềm Ca sử dụng là những mô tả các cách thức mà các loại người dùng khác nhau tương tác với hệ thống khác nhau.

Ca sử dụng có thê ở nhiêu mức độ khác nhau, từ mục tiêu doanh nghiệp ở mứccao đên mô tả các modules chương trình nhỏ.

Kí hiệu UML dùng cho ca sử dụng:

Trang 21

La một công đoạn quan trọng nhất của quá trình xây dựng phần mềm, công

đoạn giúp mô hình hóa quy trình và nghiệp vụ, các yêu câu của phân mêm

Dé mô hình hóa các nghiệp vu, sử dụng:

- So đồ ngữ cảnh ( CD — Context Diagram )

* Sơ đồ chức năng (Bussiness Funtion Diagram) - So đồ luồng dữ liệu (Data Flow Diagram)

* Sơ đồ luéng thông tin (Information Flow Diagram)

So đồ chức nang (BFD)

+ Là mô hình được sử dụng dé phân tích chức năng, diễn tả sự phân chia các

chức năng thành các chức năng nhỏ hơn trong hệ thống.

* Ý nghĩa:

* Cho phép xác định các chức năng

* Cho biết vị trí của mỗi chức năng trong toàn bộ hệ thống

» - Làm cơ sở đê xây dựng sơ đô luông dữ liệu, nghiên cứu câu trúc của hệ thông

Các ký pháp

Trang 22

* Chức năng tông quát nhất được biểu diễn ở khối đầu tiên của sơ đồ * Trong cùng một sơ đồ, các chức năng không được trùng tên.

- Các chức năng phân cấp phải nằm trong giới hạn các chức năng phía trên Sơ đồ luông thông tin (IFD)

Mục đích: Mô tả sự di chuyền của dữ liệu, việc xử lý, lưu trữ dữ liệu trong thế

Thủ công s Tin học s Did

Hình 2 4: Ký pháp so đồ luong thông tin IFD

Trang 23

CĐ Tất cả van đề can nghiên cứu

a Đối tượng tham gia vào quá trình

— y Mỗi liên hệ

Hình 2 5: Ký pháp sơ đô ngữ cảnh

Luu ý:

* Khi biểu diễn so đồ ngữ cảnh, giữa van đề nghiên cứu và các đôi tượng tham

gia thông thường phải có hai luồng thông tin theo chiều thuận và chiều ngược * _ Tên của vấn đề nghiên cứu được đặt trong hình tròn và phải là động từ.

* Giữa các đối tượng tham gia không có mối quan hệ với nhau * Tên quá trình và đối tượng tham gia phải ngắn gọn.

So đồ luông dữ liệu (DFD)

Là sơ đồ chỉ ra cách thông tin vận chuyên từ tiến trình này sang tiến trình khác

trong hệ thống.

Quy tắc phân rã: Tùy vào nhu cầu phân rã mà phân rã sơ đồ thành nhiều mức - Sơ đồ mức 0: là sơ đồ phân rã từ sơ đồ ngữ cảnh.

* Sơ đồ mức i: là sơ đồ phân rã từ sơ đồ mức i-1; các sơ đồ phân rã về sau thì

càng chỉ tiết.

Trang 24

* Khi biểu diễn sơ đồ DED, tên các dòng dữ liệu phải ngắn gon, không có hai

tên trùng nhau trong một sơ đồ.

» - Các tác nhân bên ngoài hoặc cáckho dữ liệu không có mối quan hệ với nhau.

* Các dòng dữ liệu vào 1 quá trình đều phải được xử lý trước khi đi ra.

* Moi kho đữ liệu bắt bược phải có 1 dòng dữ liệu vào và dòng dữ liệu ra - C6 thể biểu diễn nhiều lần nguồn và đích trong cùng 1 sơ đô.

Thiết kê phan mém

Là quá trình giải quyết vấn đề và lập kế hoạch cho một giải pháp phần mềm Khi mục đích, đặc điểm kĩ thuật của phần mềm đã xác định, lập trình viên sẽ thiết kế dé phát triển kế hoạch cho giải pháp phần mềm Kết quả của giai đoạn này là tạo được bản hồ sơ thiết kế cho phần mềm, cơ sở cho công đoạn lập trình máy tính Bao gồm:

Trang 25

1 Thiết kế kiến trúc 2 Thiết kế CSDL

3 Thiết kế giải thuật 4 Thiết kế giao diện Thiết kế kiến trúc

Mục tiêu: phát triển cấu trúc chương trình module, biểu diễn mối quan hệ điều khiển giữa các module.

Thiết kế cơ sở dữ liệu

Hiện nay, có 2 phương pháp thiết kế CSDL: * Thiết kế từ các thông tin đầu ra

* _ Thiết kế bằng phương pháp mô hình hóa Thiết kế các giải thuật

* Giải thuật được hiểu là một thủ tục có thể thực hiện được bằng máy tính, là quá trình xử lý trong mỗi bài toán.

* Dé biểu diễn các giải thuật, thông thường hay sử dụng lưu đồ nhằm xác định E—] Khối nhập dữ liệu

Hình 2 7: Ký pháp sơ đồ giải thuật

Trang 26

Thiết kế giao diện

Mục dich: tạo ra cách bố trí, cơ chế tương tác giữa người sử dụng với phần mềm.

Nguyên tắc thiết ké:

* Tao ra giao diện dé sử dụng, thân thiện với người dùng, gần giống với hình

ảnh thực mag nghười sử dụng đã quen.

* Khi thiết kế chỉ sử dụng tối đa 3 màu -_ Không thiết kế giao diện nhấp nháy.

Lập trình máy tính

Lập trình máy tính hay còn gọi tắt là lập trình: lập trình viên cài đặt một hoặc nhiều thuật toán trừu tượng bằng một ngôn ngữ lập trình để tạo ra một chương trình

máy tính.

Bao gôm các công đoạn:

1 Lựa chọn hệ quản trị CSDL nhằm cài đặt CSDL

2 Lựa chọn công cụ lập trình

3 Lập trình tích hợp

Kiểm thứ phan mém:

Là công đoạn kiêm tra chât lượng của sản phâm, đánh giá hiệu năng cũng như

độ đáp ứng các yêu câu của phân mêm Công đoạn này nhăm phát hiện và yêu câu

khăc phục những sai sót của phân mêm Kiêm thử phân mêm có thê thực hiện xuyên

suốt trong quá trình phát triển phần mềm dưới dạng kiểm thử các modul Triển khai phan mềm

Khi phần mềm đã qua quá trình kiểm thử và khắc phục toàn bộ những sai sót được phát hiện và đảm bảo phần mềm có thê vận hành Phần mềm sẽ được triển khai cho khách hàng sử dụng Công đoạn này bao gồm cài đặt cấu hình phần mềm theo

Trang 27

yêu cầu của khách hàng và hướng dẫn sử dụng cho khách hàng nhằm đạt hiệu quả

cao trong quá trình sử dụng.

Bao tri

Đây là công đoạn sau cùng của quá trình xây dựng phần mềm, tuy nhiên lại là quá trình đi kèm suốt quá trình hoạt động của phần mềm Trong quá trình phần mềm hoạt động, nếu phát sinh những lỗi chưa được phát hiện ở các công đoạn trước, hay khách hàng muốn nâng cấp những tinh năng mới dé đáp ứng các nhu cầu mới, đây là quá trình sẽ giải quyết những vấn đề này đảm bảo cho phần mềm luôn đáp ứng tốt

nhất những yêu cầu của khách hàng.

2.2 Một số mô hình triển khai xây dựng phan mềm

2.2.1 Mô hình thác nước

Là mô hình cô điển và đầu tiên, phổ biến được áp dụng trong quá trình phan mềm Nó chia quá trình phát triển phần mềm thành các giai đoạn tuần tự nối tiếp nhau Mỗi giai đoạn có một mục đích riêng, đầu ra của giai đoạn trước sẽ là đầu vào

của giai đoạn sau

Trang 28

Ứng dụng

Các ứng dụng thường được xây dựng dựa trên mô hình này

Các phần mềm của các dự án nhỏ, ngắn

Các dự án thường giữ nguyên những yêu cau ban đầu, ít thay đổi, ít và hầu

như không cập nhật chức năng mới.

Ưu điểm

Sử dụng dễ dàng, tiếp cận nhanh chóng, quản lý thuận tiện, đơn giản

Các giai đoạn được xác định rõ ràng, đầu ra, đầu vào

Cuôi môi giai đoạn sẽ được xác nhận, đảm bảo phát hiện sớm các sai sót đê

khắc phục

Nhược điểm

Độ linh hoạt và phạm vi điều chỉnh còn hạn chế

Khó có dé đo lường hay đánh giá tiến độ của các giai đoạn

Không thích hợp cho các dự án lớn, kéo dài, yêu cầu điều chỉnh cao Việc quay lại giai đoạn đã kết thúc khá khó khăn

2.2.2 Mô hình xoắn ốc

Là mô hình phù hợp cho các dự án lớn, chi phí cao, độ phức tạp lớn và yêucâu điêu chỉnh thường xuyên.

Trang 29

pha tiếp theo

Hình 2 9: Mô hình xoắn ốc ( Nguon: https://slideplayer.com/slide/144767 12/,

Slide 18)

Uu diém

» Pht hợp với các dự có quy mô lớn

» Dê kiêm soát các quá trình theo các yêu câu

* Đánh giá các quá trình một cách thực tế, phù hợp

Nhược điểm

» _ Yêu cầu quản lý dự án cần có kỹ năng tốt, đánh giá được các rủi ro kịp thời.

* Chỉ phí cao, thời gian cần dé hoàn thành dự án lớn

» Phir tạp và không thích hop với các dự án nhỏ và ít rủi ro.

* _ Yêu cầu thay đổi thường xuyên dẫn có thể đến lặp vô hạn * Chưa phố biến

2.3 Công cụ thực hiện2.3.1 Android Studio

Là IDE chính thức trong phát triển ứng dụng Android, là môi trường phát triển tích hợp chuyên nghiệp hỗ trợ thiết kế và xây dựng các ứng dụng trên nền tảng

Android.

Trang 30

Các tính năng chính:

Một hệ thống xây dựng Gradle linh hoạt.

Trình mô phỏng nhanh và tính năng phong phú

Phát triển cho tất cả thiết bị Android

Instant Run dé đây các thay đôi vào ứng dụng đang chạy của bạn mà không cần xây dựng một APK mới

Mẫu mã và tích hợp GitHub đề giúp bạn xây dựng các tính năng ứng dụng phô biến và nhập mã mẫu

Các công cụ và khuôn khổ thử nghiệm mở rộng

Lint công cụ dé bắt hiệu suất, kha năng sử dụng, tương thích phiên bản, và các vấn đề khác

Hỗễ trợ C ++ và NDK

Tích hợp hỗ trợ Google Cloud Platform , giúp dé dàng tích hợp Google Cloud

Messaging và App Engine

Hỗ trợ tích hợp sâu Firebase vào trong các ứng dụng chỉ sau một click chuột.

SQLite Databse

SQLite là thư viện phần mềm trién khai một SQL Database Engine, không cần máy chủ, linh hoạt khép kín và nhỏ gọn Là cơ sở dữ liệu không cần cấu hình.

Các đặc trưng nồi bật của SQLite:

SQLite không yêu cầu một quy trình hoặc hệ thống máy chủ riêng biệt đề hoạt

SQLite không cần cấu hình, có nghĩa là không cần thiết lập hoặc quản trị.

Một cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một file disk da nền

tảng (cross-platform disk file).

SQLite rất nhỏ và trọng lượng nhẹ, dưới 400KiB được cấu hình đầy đủ hoặc

dưới 250KIB với các tính năng tùy chọn bị bỏ qua.

SQLite là khép kín (self-contained), có nghĩa là không có phụ thuộc bên ngoài.

Các transaction trong SQLite hoàn toàn tuân thủ ACID, cho phép truy cập an

toàn từ nhiều tiến trình (process) hoặc luồng (thread).

Trang 31

* SQLite hỗ trợ hầu hết các tính năng ngôn ngữ truy van (query language) được tìm thấy trong tiêu chuẩn SQL92 (SQL2).

* SQLite được viết bằng ANSI-C và cung cap API đơn giản và dé sử dung.

* SQLite có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và Windows

(Win32, WinCE, WinRT).

2.4 Cơ sở lý thuyết về Android, ngôn ngữ lập trình Java 2.4.1 Lý thuyết Android.

Là hệ điều hành trên nền tảng Linux, thiết kế tạo ra dành cho các thiết bị di

động có màn hình cảm ứng (điện thoại thông minh, máy tính bảng, tablet, wearable,

Auto ) Thời gian đầu Android được phát triển bởi Android Inc cùng với hỗ trợ của

Google, sau này chính thức được Google mua lại vào năm 2005.

Và sau tiếp, vào cuối năm 2007, thuộc về Liên minh Thiết bị Cầm tay Mã

Nguồn mở (Open Handset Alliance) gồm các thành viên nổi bật trong ngành viễn thông và thiết bi cam tay như: Texas Instruments, Broadcom Corporation,

Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm,Samsung Electronics, Sprint Nextel, T-Mobile, ARM Holdings, Atheros

Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson,

Toshiba Corp, and Vodafone Group,

Mục tiêu của Liên minh nay là nhanh chóng đổi mới dé đáp ứng tốt hon cho nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android.

Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất thiết, các nhà khai thác và các lập trình viên thiết bị cầm tay Phiên bản SDK lần đầu tiên phát hành vào

tháng 11 năm 2007, hãng TMobile cũng công bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếc smartphone đầu tiên dựa trên nền tảng Android Một vài ngày sau đó, Google lại tiếp tục công bố sự ra mắt phiên bản Android SDK release

Candidate 1.0 Trong tháng 10 năm 2008, Google được cấp giấy phép mã nguồn mở

cho Android Platform Khi Android được phát hành thì một trong s6 các mục tiêu

Trang 32

trong kiến trúc của nó là cho phép các ứng dụng có thê tương tác được với nhau và có thể sử dụng lại các thành phần từ những ứng dụng khác Việc tái sử dụng không

chỉ được áp dụng cho các dịch vụ mà nó còn được áp dụng cho cả các thành phần dữ

liệu và giao diện người dùng Vào cuối năm 2008, Google cho phát hành một thiết bi cam tay được gọi là Android Dev Phone | có thé chạy được các ứng dụng Android mà không bị ràng buộc vào các nhả cung cấp mạng điện thoại di động Mục tiêu của thiết bị này là cho phép các nhà phát triển thực hiện các cuộc thí nghiệm trên một thiết bị thực có thê chạy hệ điều hành Android mà không phải ký một bản hợp đồng

nào Vào khoảng cùng thời gian đó thì Google cũng cho phát hành một phiên vản vá

lỗi 1.1 của hệ điều hành này Ở cả hai phiên ban 1.0 va 1.1 Android chưa hỗ trợ soft-keyboard mà đòi hỏi các thiết bị phải sử dụng bàn phím vật lý Android cố định

van đề này bằng cach phát hành SDK 1.5 vào tháng Tư năm 2009, cùng với một

số tính năng khác Chăng hạn như nâng cao khả năng ghi âm truyền thông, vật dụng,

Activity Manager Window Manager Content Provider View System

Telephony Resource Location NotificationPackage Manager Manager Manager Manager Manager

Surface Manager Framework Core Libraries

OpenGL) ES FreeType Balvik Virtual

SäL SSL

LINUX KERNEI

Touch screen Memory Card Power

Display Driver Driver Driver Management

Keypad Driver WiFi Driver Audio Drivers

Hình 2 10: Kiến trúc của Android

Trang 33

Tang 1: Tang thuộc về người dùng - Applications.

Hình 2 11: Tang Applications trong Kiến trúc Android

- Applications — là tang chứa các ứng đụng được cài đặt trong chương trình.

- _ Người dùng sử dụng điện thoại Android sẽ tương tác trong tầng này.

- System App: La ứng dụng được nhà phát triển cài đặt san vào trong điện thoại (

Hinh 2 12: Tang Application Framework trong Kiến trúc Android

Là tầng dành cho nhà phát triển ứng dụng Tầng này chứa tất cả các đối tượng được Android định nghĩa sẵn dé giúp lập trình viên phát trién một ứng dụng Bao gồm:

= Activity Manager: là đối tượng quản lý các giao diện của chương trình và xử

lý các thao tác của người dùng trên giao diện đó.

= Window Manager: quản lý các thông số của màn hình điện thoại bao gồm: Độ

phân giải, kích thước và tương tác của người dùng trên màn hình.

Trang 34

" Content Provider: là đối tượng quan lý co sở dữ liệu (Database) của tất cả các ứng dụng trong điện thoại, bằng việc sử dụng đối tượng này có thể chia sẻ tài

nguyên giữa các ứng dụng.

Ví dụ: khi tạo ứng dụng media thì phải vào cơ sở dữ liệu của máy đọc toàn bộ

các bai nhạc dé chạy trong ứng dụng media Dùng Content Provider.

= View System: là đôi tượng quản lý tat cả các đối tượng giao diện được sử dụng

trong chương trình.

= Package Manager: là đối tượng quản lý tat cả các gói ứng dụng được sử dụng trong điện thoại, dựa vào nó sẽ biết được ứng dụng nảo đang được sử dụng.

= Telephony Manager: là đôi tượng quản lý cuộc gọi, tin nhắn, network được

sử dụng trong điện thoại, băng việc sử dụng đối tượng nảy sẽ biết được cuộc gọi

đến, cuộc gọi đi, cuộc gọi nhỡ, nội dung tin nhắn, tình trạng của mạng.

= Resource Manager: là đối tượng dé quan lý các tài nguyên bên trong một ứng dụng bao gồm: hình ảnh, âm thanh, màu sắc

= Location Manager: là đối tượng được sử dụng dé theo dõi vị trí của điện thoại,

hiển thị vi trí lên bản đồ thé giới.( Dựa vào GPS, hoặc sim khi bật 3G) tức là dựa

Hình 2 13: Tang Libries va Android Runtime trong Kiến trúc Android

= Libraries: La tang chứa các thư viện được viet băng C va C++ là câu nôi giữa

phần cứng và tầng application framework.

Trang 35

= ART là tầng chứa thư viện lõi giúp vận hành và quản lý các ứng dụng và các

dịch vụ được sử dụng trong điện thoại.

VD: RAM là 2G, khi bật chương trình nào đó lên và nó ton 1,8 GB Bong nhién

có cuộc gọi đến yêu cau 0,3GB thì lúc day Android Runtime sẽ thấy cuộc gọi ưu tiên hơn, lúc đấy để giải phóng và làm chết ứng dụng đang sử dụng mà không vì lỗi gì cả Tang 4: Nhân Linux (Linux Kernel)

LINUX KERNEI

Touch screen Memory Card Power

Driver Driver Management

Keypad Driver WiFi Driver Audio Drivers

Hình 2 14: Tang Linux Kernel trong Kiến trúc Android

Với khoảng 115 ban vá, tang nay liên hệ với phan cứng va chứa toàn bộ các

driver phần cứng cần thiết như camera, bàn phím, màn hình

2.4.3 Giao diện

Giao diện Android hoạt động dựa trên nguyên tắc tác động trực tiếp, sử dụng

cảm ứng như các động tác, kéo dãn, vuốt, chạm, giữ dé xử lý các đối tượng trên màn hình Hiệu ứng rung dé tạo phản hồi rung cho người dùng Thiết bi phan cứng

bên trong hỗ trợ điều khiển các hành động khác của người dùng như chuyên chế độ

màn hình.

Cấu trúc 1 màn hình ứng dụng

Trang 36

Statusbar(indicator): Nơi hiển thicột sóng, đồng hỗ pim,

Actionbar, hiển thị các thao tác

nhanh của người dùng trên giao

Layout: Giao diện chính

Bottom Bar: Là nơi điều hướng

của đt

a ¬

Back Press Recent Task

Hình 2 15: Cấu trúc của một màn hình Android

Trong đó:

Statusbar: Là thanh trạng thái của màn hình giao diện.

* NO giúp hiển thị trạng thái của ứng dụng hoạt động dưới nền.

* Có thé: 1 đổi màu của thanh trạng thái, ân nó đi.

Acfionbar: là thanh chứa những thao tác của người dùng trên giao diện, thường

được thé hiện bang cac icon.

NavigationBar: là thanh điều hướng trong ứng dụng, thường sử dụng bang 3 thao

lệtac.

¢ - Với thao tac BackPress ( <I | ) : Trở về màn hình trước đó, nếu là màn hình đầu

tiên, thì nó sẽ thoát chương trình.

* Với thao tác Home Il: Dua app xuống nền background, lúc này app vẫn đang

hoạt động, giao diện trở vé man hình Home.

* Với thao tác RecentTasKRli Hiển thị danh sách các ứng dụng gần đây.

Trang 37

2.3.4 Ngôn ngữ lập trình Java.a Ngôn ngữ lập trình Java.

Là một ngôn ngữ lập trình hướng đối tượng và dựa trên các lớp Java được

phát triển bởi tập đoàn Oracle.Chương trình phần mềm viết bằng Java có thể chạy

trên mọi nền tảng khác nhau như Linux, Mac OS, Windows, Android,

b Java Development Kit.

Java Development Kit: (Bộ công cụ mã nguồn mở cho người phat triển ứng dụng bằng ngôn ngữ lập trình Java) là một tập hợp những công cụ phần mềm được phát triển bởi Sun Microsystems dành cho các nhà phát triển phần mềm, dùng để viết

những applet Java hay những ứng dụng Java.

Được phát hành miễn phí gồm có:

°_ Bộ thư viện mã nguồn: Là bộ mã nguồn chứa các cậu lệnh và cú pháp được

thiết kế sẵn giúp cho lập trình viên có thé sử dụng dé thiết kế chuwong trình

* Trình biên dịch (Complier): giúp biên dịch các câu lệnh được viết băng ngôn ngữ Java sang mã Bytecode Khi chạy chương trình, chỉ cần sử dụng các mã byte

code này là được.

* Trinh thông dich (Interpreter): Giúp thông dịch từng dòng lệnh sau đó chuyên

qua ngôn ngữ máy dé máy tính thực thi

5 Trinh giúp sửa lỗi (Debugger): Giúp tạo ra các nút dừng( block point ) tại các dong code thực thi chương trình dé kiểm tra giá trị tức thời của các đối tượng,

qua đó giúp cho việc rà soát lỗi của chương trình hiệu quả 2.3.5 Mô hình thiết kế Model View Presenter (MVP)

MVP- mô hình kiến trúc hướng giao diện người dùng, thiết kế tạo thuận lợi cho việc kiểm thử cũng như tạo ra sự tách biệt giữa tầng hiển thị dữ liẹu và tầng dữ

liệu.

Trang 38

Model changed User actionsJpdate mode Jpdate |

Hình 2 16: Mô hình MVP Pattern Design

Trong đó:

* Model: Interface xác định cách mà đữ liệu hiển thị

* View: Là giao diện hién thị giao diện và tiếp nhận tương tác của người dùng

sau đó gửi cho Presenter

* Presenter: Là nơi xử lý logic, thay đối, update Model sau đó đưa tới View dé hiền thị

MVP cho phép tách tang Presenter ra khỏi tang Model, chính nhờ vậy giao diện được tương tác tách biệt với việc thê hiện giao diện lên màn View Có thể hiểu

đơn giản, toàn bộ phần logic được tách ra và đưa vào Presenter đề xử lý sau đó sẽ trả kết quả để update View và Model.

2.4 LocalDatabase trong Android — Room Database

2.4.1 Khái niệm Room.

Room là một cơ sở dữ liệu trên nền tang SQLite Database Là cơ sở dir liệu

được giới thiệu bởi google.

Room được tạo ra 1 lần đầu tiên sử dụng ứng dụng, được ton tại và lưu trữ vào

vùng nhớ System Storage của ứng dụng đó.

Trang 39

Room bao gồm 3 thành phan chính:

* Database: Là đối tượng giúp tạo hoặc kết nối đến CSDL

* DAO: Là các đối tượng quản lý, giúp thực hiện hành vi logics: tìm kiếm/ thêm/

sửa/ xóa trên các bảng của CSDL

* Enfites: Là các đôi tượng định nghĩa các bang dit liệu trong CSDL.

[ Room Database |

Get Entities from dbPersist changes

Get DAO back to db

| | get / set field values

Rest of The App |

Hình 2 17: Cấu trúc của Room trong Android

2.4.2 Các bước để tạo CSDL Room.

Bước 1: Tạo RoomEntities: Mỗi đối tượng (mỗi bảng) được coi là 1 class và cũng chính là một RoomEntities Mỗi thuộc tính của các đối tượng được khai báo trước đó một tiền tố @Columinfor(name= “ten_cot”) Tiền tố này sẽ tạo thành các

cột thuộc tinh trong bảng RoomEntities tương ứng khi tạo CSDL.

Bước 2: Tạo DAO Interface: Đây là công cụ đề giao tiếp giữa RoomDatabase và App Trong DAO Interface là các lệnh Query cần thiết.

Bước 3: Tạo RoomDatabase Khai báo class kế thừa RoomDatabase và gọi các DAO và RoomEntities dé khởi tạo.

Bước 4: Khởi tạo Database trong Androistudio.

Trang 40

CHUONG 3 XÂY DUNG APP BAN DO AN NHANH FASTFOOD - APP DANH CHO KHACH HANG

3.1 M6 tả bai toán

Cửa hàng FastFood là cửa hàng bán đồ ăn nhanh trên dia bàn Hà Nội.

Chủ cửa hàng muốn có một App bán hàng nhằm hỗ trợ việc quản lý cửa hàng khi nhu cầu và định hướng phát triển cửa hàng tăng cao, ngoài ra giúp cửa hàng giảm thiêu chi phí nhân công thủ công lâu nay Về phía App của khách

hàng, chủ cửa hàng muốn khách hàng của mình có thê đăng nhập App bằng

tải khoản cá nhân và tự quản lý tài khoản cá nhân đó Khách hàng khi sử dụng

App có thé xem toàn bộ các mặt hàng bán của cửa hàng cũng như các chương

trình khuyến mãi, giảm giá Có thể đặt bàn trước tại cửa hàng trên App, cũng như đặt hàng online Khi đặt hàng online, khách hàng chọn mua các sản phẩm và tiễn hành thanh toán, lựa chọn địa điểm giao hàng, sau khi thanh toán thành

công hay đặt bàn thành công, đơn hàng, đơn đặt bàn sẽ được gửi đến App của

quản lý cửa hàng Ngoài ra, khách hàng còn có thé tự tạo danh sách đồ ăn yêu thích cho bản thân dé dé dang cho việc mua hàng tại cửa hàng, cũng như quản

lý các đơn hàng đã mua trong quá khứ.

Qua yêu cầu của chủ cửa hàng, em xây dựng những chức năng sau dành

cho App phiên bản khách hàng như sau:

Các chức năng cần có của phần mềm:

» Quan lý tài khoản:

" Chức năng đăng nhập

= Chứa năng đăng ký

= Chức năng cập nhật thông tin tài khoản ( thay đồi thông tin, cấp mật khẩu )

* Quản lý mua hàng:

= Chức năng xem thông tin sản phẩm

= Chức năng mua hang

Ngày đăng: 11/04/2024, 20:38

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w