Tải bản đầy đủ (.pdf) (42 trang)

Xây Dựng Web-App Online Travel Agent.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.57 MB, 42 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

Bùi Văn Huy 20198231Dươ ng Minh Châu 20198207Vi Đăng Khoa 20187245Ph m Đ c Longạ ứ 20187257

HÀ N I, 2023Ộ

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

M C L CỤỤ

<small>CHƯƠNG 1: KH O SÁT VÀ PHẦN TÍCH YỀU CẦỀUẢ...4</small>

<small>I.Kh o sát hi n tr ng.ảệạ...4</small>

<small>II. T ng quan ch c năng.ổứ...4</small>

<small>1.Use case t ng quát.ổ...4</small>

<small>2.Use case phân rã “qu n lý phòng khách s n”.ảạ...5</small>

<small>3.Use case phân rã “c p nh t phòng.”ậậ...6</small>

<small>4.Use case phân rã “đ t phòng khách s n”.ặạ...7</small>

<small>5.Use case phân rã “cho thuề phòng khách s n.”ạ...7</small>

<small>6.Bi u đồề quy trình nghi p v .ểệụ ...8</small>

<small>III.Đ c t ch c năngặảứ...10</small>

<small>1.Đ c t use case “Đăng ký.”ặả...10</small>

<small>2.ặĐ c t use case “Đăng nh p.”ảậ...10</small>

<small>3.ặĐ c t use case “Thuề phòng.”ả...11</small>

<small>4.ặĐ c t use case “Cho thuề phòng.”ả...12</small>

<small>5.Yều câều phi ch c năngứ...12</small>

<small>3.Thiềất kềấ chi tiềất gói...24</small>

<small>II. Thiềất kềấ chi tiềất...28</small>

<small>1.Thiềất kềấ l pớ ...28</small>

<small>2.Thiềất kềấ c s d li uơ ở ữ ệ ...32</small>

<small>III.Thiềất kềấ giao di nệ ...34</small>

<small>KỀẾT LU N VÀ HẬƯỚNG PHÁT TRI NỂ ...402</small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<small>TÀI LI U THAM KH OỆẢ ...41</small>

Hoàng H u Phúcữ 20194818 Xẫy d ng app cho khách ự

Bùi Văn Huy 20198231 Xẫy d ng back-end, API cho web adminự

Dương Minh Chẫu 20198207 Xẫy d ng front-end cho web adminự

Vi Đăng Khoa 20187245 Xẫy d ng front-end cho web adminự

Ph m Đ c Longạ ứ 20187257 Xẫy d ng app cho kháchự

<small>3</small>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

CHƯƠNG 1: KH O SÁT VÀ PHẦN TÍCH YỀU CẦỀUẢ

I. Kh o sát hi n tr ng.ả ệ ạ

Hi n nay trên Internet đã tr nên ph thông và không th thiêếuệ ở ổ ểtrong cu c sôếng. Vi c đ t phòng t i m t khách s n có th tr nên đ nộ ệ ặ ạ ộ ạ ể ở ơgi n h n, b n em đêề xuẫết h thôếng khách s n cho các v khách và cácả ơ ọ ệ ạ ịch khách s n đ có th tr c tiêếp làm vi c v i vô vàn l a ch n vàủ ạ ể ể ự ệ ớ ự ọkhông ph i ch u các r i ro khơng đáng có.ả ị ủ

S n ph m bao gơềm các tính năng đả ẩ ượ c nêu dướ i đẫy.

• Tính năng đăng nh p/đăng xuẫết, đẫy là tính năng băết bu c ph iậ ộ ảcó đ phẫn quyêền ngể ườ ử ụi s d ng, đơềng th i cung cẫếp các tính năngờcho t ng đơếi từ ượng c th .ụ ể

• Các tính năng liên quan đêến thơng tin khách s n và phịng kháchạs n, b o gơềm các tính năng thêm/s a/xóa đ t o ra danh sách các

khách s n và phòng c a khách s n đó.ạ ủ ạ

• Các tính năng tìm kiêếm, bao gơềm tìm kiêếm vi c khách s n vàệ ạphịng trong khách s n đó (đơếi v i khách) đ giúp dêẫ dàng h n trongạ ớ ể ơvi c l c các đôếi tệ ọ ượ ng quan tẫm v i ngớ ườ ử ụi s d ng.

• Quan tr ng nhẫết là các tính năng liên quan t i hơẫ tr quy trìnhọ ớ ợth phịng, bao gơềm đ t phịng, thanh tốn tr c tuyêến, chuy n tr ngặ ự ể ạthái phòng cho thuê và khách thuê, đ t o ra m t h thôếng hôẫ tr quyể ạ ộ ệ ợtrình tuy n d ng đẫềy đ t đẫều đêến cếi trong q trình s d ngể ụ ủ ừ ử ụ . II. ổT ng quan ch c năng.ứ

1. Use case t ng quát.ổ

<small>4</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Hình 1.1: Bi u đơề use case t ng quanể ổ

- H thôếng chia đôếi tệ ượ ng s d ng thành hai lo i ngử ụ ạ ườ i dùngchính là khách th phịng khách s n và qu n lý.ở ạ ả

- Hình trên đẫy mơ t ch c năng c a h thôếng. Môẫi khách seẫ yêuả ứ ủ ệcẫều ph i có m t tài kho n cá nhẫn đ tiêến hành đăng nh p vàả ộ ả ể ậđ t phịng khách s n cho mình. Mơẫi qu n lý cũng u cẫều có tàiặ ạ ảkho n đăng kí cho khách s n c a mình trên h thơếng đ đ aả ạ ủ ệ ể ưkhách s n vào ho t đ ng.ạ ạ ộ

2. Use case phân rã “qu n lý phịng khách s n”.ả ạ

<small>5</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Hình 1.2: Bi u đơề use case “qu n lý phịng khách s n”ể ả ạ- Hình veẫ mơ t use case qu n lý phòng c a khách s n cho phíaả ả ủ ạ

qu n lý. Trong đó ngả ười qu n lý seẫ tiêến hành qu n lý phịng choả ảkhách s n c a mình. Bao gơềm vi c thêm, xố và c p nh t phịngạ ủ ệ ậ ậc a khách s n.ủ ạ

3. Use case phân rã “c p nh t phịng.”ậ ậ

Hình 1.3: Bi u đơề use case “c p nh t phịng khách s n”ể ậ ậ ạ

<small>6</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

- Hình veẫ mơ t use case c p nh t phịng c a khách s n cho phíaả ậ ậ ủ ạqu n lý. Trong đó ngả ườ i qu n lý tiêến hành c p nh t tình tr ngả ậ ậ ạc a phòng cho thuê trong khách s n và qu n lý các v t t đ c

cung cẫếp cho khách thuê trong phòng đó.

4. Use case phân rã “đ t phịng khách s n”.ặ ạ

Hình 1.4: Bi u đơề use case “đ t phịng khách s n”ể ặ ạ

- Hình veẫ mơ t use case th phịng khách s n cho phía kháchả ạth. Trong đó khách seẫ xem thơng tin c th c a khách s n,ụ ể ủ ạphịng c a khách s n đó. Tiêếp đêến h có th đ t phòng t iủ ạ ọ ể ặ ạkhách s n đó và đ t c c m t sôế tiêền nhẫết đ nh.ạ ặ ọ ộ ị

5. Use case phân rã “cho thuề phòng khách s n.”ạ

<small>7</small>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Hình 1.5: Bi u đơề use case “cho th phịng khách s n”ể ạ- Hình veẫ mơ t use case cho thuê phòng khách s n cho phía qu nả ạ ả

lý. Trong đó qu n lý seẫ xem thơng tin các khách đã thanh tốn vàảđang ch thuê. Tiêếp đêến qu n lý seẫ ghi nh n khách thuê ho c tờ ả ậ ặ ừchơếi vi c cho th phịng.ệ

6. Bi u đồề quy trình nghi p v .ể ệ ụ

<small>8</small>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Hình 1.6: Bi u đơề quy trình nghi p vể ệ ụ

- Trong bi u đôề trên mô t quy trình th phịng khách s n v i sể ả ạ ớ ựtham gia c a hai đôếi tủ ượ ng là khách thuê và ch khách s n –ủ ạqu n lý, xoay quanh vi c đ t phịng là đơếi tả ệ ặ ượ ng tác đ ng chínhộtrong quy trình. Băết đẫều t khách th tìm kiêếm thơng tin chiừtiêết c a khách s n và phịng c a khách s n đó, sau khi xác nh nủ ạ ủ ạ ậseẫ tiêến t i vi c nh n thông tin c a khách t phía qu n lý kháchớ ệ ậ ủ ừ ảs n. Bên qu n lý seẫ xác đ nh chẫếp nh n đ t phòng c a kháchạ ả ị ậ ặ ủho c t chôếi.ặ ừ

<small>9</small>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

III. Đ c t ch c năngặ ả ứ

1. Đ c t use case “Đăng ký.”ặ ả

B ng ả dưới đẫy đ c t cho use case đăng ký, đôếi tặ ả ượ ng áp d ngụbao gôềm m i ngọ ườ ử ụi s d ng h thơếng đã đăng kí tài kho n.ệ ả

<small>Mã Use caseUSDKTền Use caseĐăng kýTác nhânKhách, qu n lýảTiềền điềều ki nệKhông</small>

<small>STT Th c hi n b iựệởHành đ ngộLềng</small>

<small>s ựki n ệchính</small>

<small>Người dùngH thơếngệNgười dùngH thơếngệ</small>

<small>Ch n tính năng đăng ký.ọHi n th giao di n đăng ký.ểịệ</small>

<small>Nh p thông tin tên tài kho n, m t kh u, ậảậẩl a ch n đăng ký.ựọ</small>

<small>Thông báo đăng ký thành công.Luôềng</small>

<small>s ựki n ệthay thêế</small>

<small>H thôếngệH thôếngệH thôếngệH thôếngệ</small>

<small>Thông báo lôẫi nêếu người dùng nh p ậthiêếu thông tin yêu cẫều.</small>

<small>Thông báo lôẫi nêếu người dùng ch a nh pưậtài kho n không h p l .ảợệ</small>

<small>Thông báo đ m nh c a m t kh u khi ộạủậẩngười dùng nh p m t kh u muôến l p ậậẩậcho tài kho n.ả</small>

<small>Kêết thúc use case nêếu người dùng không l a ch n t o tài kho n.ựọạả</small>

<small>H u điềều ki nậệKhông</small>

B ng 1.1:ả Đ c t use case đăng kýặ ả

2. Đ c t use case “Đăng nh p.”ặ ả ậ

B ng ả dưới đẫy đ c t cho use case đăng nh p, đôếi tặ ả ậ ượ ng ápd ng bao gôềm m i ngụ ọ ườ ử ụi s d ng h thôếng đã đăng kí tài kho n.ệ ả

<small>Mã Use caseUSDNTền Use caseĐăng nh pậTác nhânKhách, qu n lýảTiềền điềều ki nệKhông</small>

<small>STT Th c hi n b iựệởHành đ ngộLuôềng</small>

<small>s ựki n ệchính</small>

<small>Người dùngH thơếngệNgười dùng</small>

<small>Ch n tính năng đăng nh p.ọậHi n th giao di n đăng nh p.ểịệậNh p thông tin tên tài kho n, m t kh u, ậảậẩl a ch n đăng nh p.ựọậ</small>

<small>10</small>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<small>4.H thôếngệThông báo đăng nh p thành công.ậLuôềng</small>

<small>s ựki n ệthay thêế</small>

<small>H thôếngệH thôếngệ</small>

<small>Thông báo lôẫi nêếu người dùng nh p sai ậtài kho n ho c m t kh u.ảặậẩ</small>

<small>Thông báo lôẫi nêếu người dùng ch a nh pưậđ thông tin tài kho n ho c m t kh uủảặậẩ .H u điềều ki nậệKhông</small>

B ng 1.2:ả Đ c t use case đăng nh pặ ả ậ

3. Đ c t use case “Thuề phòng.”ặ ả

B ng dả ưới đ c t cho use case th phịng, đơếi tặ ả ượ ng áp d ngụbao gơềm các khách đã có tài kho n và đăng nh p vào h thơếng.ả ậ ệ

<small>Mã Use caseUSKTPTền Use caseTh phịngTác nhânKhách</small>

<small>Tiềền điềều ki nệKhách đã đăng nh pậSTT Th c hi n ựệ</small>

<small>b iở</small> <sup>Hành đ ng</sup><sup>ộ</sup><small>Lềng</small>

<small>s ựki n ệchính</small>

<small>KháchH thơếngệKháchH thơếngệKháchH thơếngệKháchH thơếngệ</small>

<small>Tìm kiêếm thơng tin vêề khách s n.ạHi n th giao di n vêề thơng tin các kháchểịệs n.ạ</small>

<small>Tìm kiêếm thơng tin vêề các phịng c a ủkhách s n đã tìmạ</small>

<small>Hi n th thơng tin chi tiêết c a các phịng ểịủtrong khách s nạ</small>

<small>L a ch n phòng đang kh d ng c a ựọả ụủkhách s n.ạ</small>

<small>Hi n th giao di n điêền thông tin yêu cẫều ểịệc a khách và thanh tốn</small>

<small>H thơếngệH thơếngệH thơếngệ</small>

<small>Thơng báo lơẫi phịng đang trong tr ng ạthái b o trì ho c đã có ngảặười th.Thơng báo lôẫi nêếu khách ch a đ a ra đẫềyưưđ thông tin yêu cẫều.ủ</small>

<small>Thông báo lôẫi nêếu khách ch a thanh tốnưtiêền c c.ọ</small>

<small>H u điềều ki nậệKhơng</small>

B ng 1.3:ả đ c t use case thuê phòngặ ả

<small>11</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

4. Đ c t use case “Cho thuề phòng.”ặ ả

B ng dả ướ ặ ải đ c t cho use case cho th phịng, đơếi tượ ng ápd ng bao gôềm các qu n lý đã có tài kho n và đăng nh p vào h thôếng.ụ ả ả ậ ệ

<small>Mã Use caseUSQLTPTền Use caseCho thuê phòngTác nhânQu n lýả</small>

<small>Tiềền điềều ki nệQu n lý đã đăng nh pảậSTT Th c hi n ựệ</small>

<small>b iở</small> <sup>Hành đ ng</sup><sup>ộ</sup><small>Lềng</small>

<small>s ựki n ệchính</small>

<small>Qu n lýảH thơếngệQu n lýảH thơếngệQu n lýảH thơếngệ</small>

<small>Tìm kiêếm thơng tin vêề khách mến th phịng khách s n.ạ</small>

<small>Hi n th giao di n vêề thông tin khách ểịệđang ch .ờ</small>

<small>Xem thông tin c a khách và phịng mà ủkhách mến th.</small>

<small>Hi n th giao di n vêề thông tin c a ểịệủkhách muôến thuê và tình tr ng c a ạủphịng đó.</small>

<small>Ghi nh n ho c t chôếi khách thuê.ậặừHi n th giao di n chẫếp nh n ho c t ểịệậặừchôếi khách th và g i thơng báo cho ửkhách</small>

b. Tính b o m tả ậ

Cẫền ph i đ m b o tính b o m t, đ m b o đôếi tả ả ả ả ậ ả ả ượ ng s d ng chử ụ ỉđ ược truy c p nh ng phẫền d li u đậ ữ ữ ệ ượ c phép. Đ m b o phẫn quềnả ả<small>12</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

đúng đơếi tượng và có c chêế b o v nh ng truy c p trái phép đêến các tàiơ ả ệ ữ ậnguyên.

c. Giao di nệ

Giao di n cẫền ph i đệ ả ượ c xẫy d ng phù h p v i ngự ợ ớ ườ ử ụi s d ng. Đ mảb o các yêếu tôế dêẫ dàng, thẫn thi n v i ngả ệ ớ ườ i dùng. Các phẫền c a giaoủdi n ph i đôềng b , thôếng nhẫết, đ n gi n, dêẫ tiêếp c n, dêẫ s d ng, cóệ ả ộ ơ ả ậ ử ụh ướng dẫẫn chi tiêết.

d. M t sồấ đ c tính câền có c a s n ph mộ ặ ủ ả ẩ

Đẫều tiên là vêề tính săẫn có. H thơếng ln ph i săẫn sàng ho t đ ng kệ ả ạ ộ ểt khi tri n khai đ đ m b o quá trình s d ng c a ng i dùng ít khi

ho c khơng bao gi g p vẫến đêề vêề gián đo n. ặ ờ ặ ạ

Tiêếp đêến là tính kh d ng, h thơếng cẫền ph i ho t đ ng n đ nh, th cả ụ ệ ả ạ ộ ổ ị ựhi n các yêu cẫều t ngệ ừ ườ i dùng m t cách nhanh chóng, chính xác, đ mộ ảb o đả ược các quá trình tìm kiêếm, x lý, hi n th cho ngử ể ị ườ i dùng m t cáchộhi u qu . ệ ả

Kêế đêến là tính đúng đăến, h thơếng cẫền đ m b o các quá trình ho tệ ả ả ạđ ng seẫ luôn đ m b o độ ả ả ược toàn v n d li u, các kêết qu thu đẹ ữ ệ ả ượ c luônph i đả ượ c đ m báo tính chính xác trong các hành vi th c hi n.ả ư ệ

e. Hi u năngệ

C s d li u cẫền đơ ở ữ ệ ượ c tôếi u, tránh d th a trong quá trình l u trư ư ừ ư ữd li u. Các kêết qu truy vẫến d li u không đữ ệ ả ữ ệ ượ c vượ t quá 5 giẫy. Đ mảb o phẫền tài nguyên cịn trơếng đ t tơếi thi u 20%. Có kh năng đáp ngả ạ ể ả ứtruy c p cho đôềng th i đêến đ n v nghìn ngậ ờ ơ ị ườ i.

f. Các yều câều khác

D li u cẫền đữ ệ ượ ưc l u tr lẫu dài, trong trữ ườ ng h p phẫền d li u đãợ ữ ệlẫu không đượ ử ục s d ng seẫ đượ c chuy n sang l u tr m t kho d li uể ư ữ ở ộ ữ ệkhác đ tránh quá t i đêến n i l u tr d li u hi n t i, v a đ m b o saoể ả ơ ư ữ ữ ệ ệ ạ ừ ả ảl u d li u, v a đ s d ng c s d li u l u tr thư ữ ệ ừ ể ử ụ ơ ở ữ ệ ư ữ ườ ng ngày hi u qu .ệ ảKhi cẫền seẫ truy c p vào kho d li u đó d lẫếy ra và s d ng. ậ ữ ệ ể ử ụ

H thôếng đệ ượ c tiêến hành b o trì đ nh kì theo chu kì 6 tháng.ả ị

<small>13</small>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

CHƯƠNG 2: CÔNG NGH S D NGỆ Ử Ụ

I. Cồng ngh phát tri n webệ ể

Hình 2.1: HTML, CSS, JS

HTML - HyperText Markup Language, là lo i ngôn ng đánh dẫếuạ ữsiêu văn b n, thả ườ ng đượ ử ục s d ng trong các tài li u web. Nh ng xétệ ưvêề b n chẫết, HTML l i không đả ạ ượ c xem nh m t ngơn ng l p trình,ư ộ ữ ậmà nó giơếng nh m t ngơn ng xác đ nh đẫu là ý nghĩa, m c đích vàư ộ ữ ị ụcẫếu trúc c a m t tài li u. Do đó, thay vì s d ng ngơn ng l p trìnhủ ộ ệ ử ụ ữ ậđ th c hi n các ch c năng, HTML l i dùng các th đ xác đ nh cácể ự ệ ứ ạ ẻ ể ịlo i n i dung khác nhau, cũng nh m c đích ph c v cho trang web.ạ ộ ư ụ ụ ụ

HTML có nhi m v xẫy d ng cẫếu trúc siêu văn b n trên m tệ ụ ự ả ộwebsite, hay khai báo các t p tin kyẫ thu t sơế nh hình nh, video,ậ ậ ư ảnh c. Ngồi ra, nó còn đạ ượ c dùng đ phẫn chia các đo n văn b n,ể ạ ảheading, links, blockquotes… Đôềng th i th c hi n dêẫ dang các côngờ ự ệvi c sau: ệ

+ Thêm tiêu đêề, đ nh d ng văn b n, ngăết dòng điêều khi n. ị ạ ả ể+ T o danh sách, nhẫến m nh văn b n, t o ký t đ c bi t, chènạ ạ ả ạ ự ặ ệhình nh và t o liên kêết. ả ạ

+ Góp phẫền xẫy d ng b ng, điêều khi n m t sôế ki u mẫẫu.ự ả ể ộ ểCSS - Cascading Style Sheets, là ngôn ng đ nh d ng đữ ị ạ ượ ử ục s d ngđ mơ t cách trình bày trong các trang web, bao gôềm màu săếc, cáchể ả<small>15</small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

bơế trí và phơng ch , giúp n i dung th hi n đữ ộ ể ệ ượ c phong cách riêngcho t ng th website. Nh có CSS nên các thành phẫền trong HTML c aổ ể ờ ủwebsite có th hi n th băết măết trên giao di n c a trang. CSS và HTMLể ệ ị ệ ủho t đ ng hồn tồn đ c l p, đơềng th i có th s d ng trên bẫết kỳạ ộ ộ ậ ờ ể ử ụngôn ng đánh dẫếu nào đữ ược xẫy d ng d a trên XML. ự ự

CSS ho t đ ng tuẫn theo chu n chung mà W3C đ a ra. Trong CSSạ ộ ẩ ưđ c phẫn thành 3 phong cách chính, đó là:

CSS seẫ giúp xẫy d ng nên “b m t” hồn h o cho m t website, đơềngự ộ ặ ả ộth i cũng mang đêến cho nó phẫền giao di n “ a nhìn” và trơng lơi cếnờ ệ ưh n trong q trình giao tiêếp. Ngồi ra, CSS còn giúp webmaster xácơđ nh đ c phong cách và đ nh nghĩa n i dung web. Thông qua đó có

JavaScript hay cịn đ ược viêết tăết là JS, đẫy là m t trong nh ngộ ữngôn ng l p trình ph biêến đữ ậ ổ ược nhiêều l p trình viên s d ng, doậ ử ụBrendan Eich ra măết vào năm 1995. Nh các tính năng n i b t c aờ ổ ậ ủmình mà hẫều hêết các Slideshow, Pop-up qu ng cáo, cùng tính năngảAutocomplete c a Google đêều có s góp s c c a JavaScript. JavaScriptủ ự ứ ủđược s d ng nhăềm m c đích biêến nh ng website tĩnh nhàm chánử ụ ụ ữsang trang thái đ ng cến hút, đơềng th i có kh năng t o s tộ ờ ả ạ ự ươ ngtác, c i thi n hi u suẫết máy ch và nẫng cao tr i nghi m ngả ệ ệ ủ ả ệ ườ i dùng.

<small>16</small>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Nh ng đ th c hi n tôết nh ng ho t đ ng trên, JavaScript ph i cẫềnư ể ự ệ ữ ạ ộ ảđêến s hôẫ tr c a HTML và CSS.ự ợ ủ

JavaScript cịn được biêết đêến là m t ngơn ng l p trình cho phépộ ữ ậcác nhà phát tri n web thiêết kêế ra các trang web có kh năng tể ả ươ ngtác. Nh có s hơẫ tr c a JavaScript, mà các công vi c tr nên đ nờ ự ợ ủ ệ ở ơgi n và dêẫ dàng h n khi th c hi n nh : ả ơ ự ệ ư

+ Băết đẫều ch nh s a v i th vi n nh, nhăềm m c đích t o nên m tỉ ử ớ ư ệ ả ụ ạ ộbôế c c chuy n đ ng. ụ ể ộ

+ Hôẫ tr xẫy d ng các trị ch i, ho t hình 2D ho c 3D, ng d ng cợ ự ơ ạ ặ ứ ụ ơs d li u toàn di n đ hoàn thi n website.

II. Cồng ngh phát tri n appệ ể

<small>17</small>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Hình 2.2: React Native

React Native là m t framework phát tri n ng d ng di đ ng mãộ ể ứ ụ ộnguôền m do Facebook t o ra. React Native s d ng ngôn ng l pở ạ ử ụ ữ ậtrình JavaScript đ t o các ng d ng di đ ng trên các h điêều hànhể ạ ứ ụ ộ ệiOS và Android v i m t c s mã duy nhẫết. Tính năng này giúp các l pớ ộ ơ ở ậtrình viên tiêết ki m rẫết nhiêều th i gian, công s c khi phát tri n ngệ ờ ứ ể ứd ng di đ ng. Và đó là lý do React Native tr thành m t trong nh ng

framework ph biêến nhẫết trong ngành. Theo kh o sát c a Stackổ ả ủOverflow năm 2021, có đêến 58,08% các nhà phát tri n u thích làmểvi c trên React Native trong năm qua và h seẫ tiêếp t c l a ch n Reactệ ọ ụ ự ọNative trong tương lai.

React Native ho t đ ng trên ba thread: ạ ộ

+ Chuôẫi giao di n ngệ ười dùng (UI Thread): Chuôẫi ng d ng chínhứ ụcó quền truy c p vào giao di n ngậ ệ ườ i dùng c a ng d ng. ủ ứ ụ

+ Shadow Thread: Thread nêền s d ng th vi n React đ tính tốnử ụ ư ệ ểbơế c c c a ng d ng. ụ ủ ứ ụ

+ Chuôẫi JavaScript (JavaScript Thread): Chẫi th c thi có ch a mãự ứReact (JavaScript)

React Native seẫ ho t đ ng băềng cách tích h p Main Thread và JSạ ộ ợThread cho m t ng d ng mobile. Main Thread seẫ có vai trị c p nh tộ ứ ụ ậ ậgiao di n ngệ ười dùng (UI) và x lý tử ươ ng tác c a ngủ ườ i dùng. JSThread là n i th c thi và x lyẫ mã Javascript. Main Thread và JSơ ự ử

<small>18</small>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Thread ho t đ ng đ c l p vì v y cẫền s d ng m t cẫều nôếi (Bridge) đạ ộ ộ ậ ậ ử ụ ộ ểgiúp 2 thread này t ương tác v i nhau. Cẫều nôếi cho phép chúng chuy nớ ểđ i d li u gi a thread này và thread kia, giúp chúng giao tiêếp mà

không ph i ph thu c vào nhau.ả ụ ộ

L a ch n công ngh phong phú và nhiêều ngự ọ ệ ườ ử ụi s d ng giúp chovi c phát tri n phẫền app dêẫ dàng h n nên nhóm đã l a ch n s d ngệ ể ơ ự ọ ử ụcông ngh này cho vi c xẫy d ng app.ệ ệ ự

III. Cồng ngh l u tr d li uệư ữ ữ ệ

Hình 2.3: Microsoft SQL Server

SQL Server hay Microsoft SQL Server là phẫền mêềm ng d ng choứ ụh thôếng qu n tr c s d li u quan h (Relational Databaseệ ả ị ơ ở ữ ệ ệManagement System – RDBMS) đượ c phát tri n b i Microsoft vào nămể ở1988. Nó đượ ử ục s d ng đ t o, duy trì, qu n lý và tri n khai h thôếngể ạ ả ể ệRDBMS. Phẫền mêềm SQL Server đượ ử ục s d ng khá r ng rãi vì nó độ ượ ctơếi u đ có th ch y trên môi trư ể ể ạ ường c s d li u rẫết l n lên đêếnơ ở ữ ệ ớTera – Byte cùng lúc ph c v cho hàng ngàn user. Bên c nh đó, ngụ ụ ạ ứd ng này cung cẫếp đa d ng ki u l p trình SQL t ANSI SQL (SQLụ ạ ể ậ ừtruyêền thôếng) đêến SQL và c T-SQL (Transaction-SQL) đả ược s d ngử ụcho c s d li u quan h nẫng cao.ơ ở ữ ệ ệ

V i qu n lý d li u, SQL Server cung cẫếp các d ch v nh : SQLớ ả ữ ệ ị ụ ưServer Integration Services (SSIS), SQL Server Data Quality Services vàSQL Server Master Data Services. Đ phát tri n c s d li u, ta cóể ể ơ ở ữ ệth s d ng công c SQL Server Data. Đ qu n lý, tri n khai và giámể ử ụ ụ ể ả ểsát c s d li u ta có SQL Server Management Studio (SSMS). ơ ở ữ ệ

<small>19</small>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

V i vi c phẫn tích d li u, SQL Server cung cẫếp SQL Server Analysisớ ệ ữ ệServices (SSAS), SQL Server Reporting Services (SSRS) và The MachineLearning Services (R Services).

Các l i ích c a SQL Server: ợ ủ

+ Giao di n SQL Server rẫết dêẫ dàng đ các Backend Developer t pệ ể ậtrung nhiêều vào vi c chăm sóc d li u h n là vi c nó ho t đ ng nhệ ữ ệ ơ ệ ạ ộ ưthêế nào.

+ Tích h p v i giao di n ngợ ớ ệ ười dùng: SQL Server đượ c tích h p v iợ ớng d ng giao di n ng i dùng, th ng là các ng d ng web đ cung

V i các l i ích trên, nhóm đã l a ch n h qu n tr c s d li uớ ợ ự ọ ệ ả ị ơ ở ữ ệnày cho project.

IV. Các cồng ngh hồễ tr khácệ ợ

Hình 2.4: GitHub

GitHub là m t d ch v n i tiêếng cung cẫếp kho l u tr mã nguôền Gitộ ị ụ ổ ư ữcho các d án phẫền mêềm. Github có đẫềy đ nh ng tính năng c a Git,ự ủ ữ ủngồi ra nó cịn b sung nh ng tính năng vêề social đ các developerổ ữ ểtương tác v i nhau. Và cũng nh u cẫều mơn h c, nhóm s d ng GitHubớ ư ọ ử ụlà công c giúp tụ ươ ng tác và phát tri n project này.ể

<small>20</small>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Hình 2.5: Figma

Figma là m t ng d ng gôềm nhiêều công c thiêết kêế m nh meẫ trênộ ứ ụ ụ ạnêền t ng website. V i Figma, ngả ớ ườ ử ụi s d ng có th sáng t o không gi iể ạ ớh n giao di n ngạ ệ ười dùng (UI/UX), thiêết kêế t o mẫẫu, t o bài đăng trênạ ạcác m ng xã h i và nhiêều d án thiêết kêế khác. Nhóm đã l a ch n cơng cạ ộ ự ự ọ ụnày đ hình thành nên các bi u đơề ban đẫều cho phẫền phẫn tích thiêết kêế.ể ể

Hình 2.6: docker

Docker là m t nêền t ng cho developers và sysadmin đ develop,ộ ả ểdeploy và run application v i container. Nó cho phép t o các môiớ ạtr ng đ c l p và tách bi t đ kh i ch y và phát tri n ng d ng và

môi tr ường này được g i là container. Khi cẫền deploy lên bẫết kỳ serverọnào ch cẫền run container c a Docker thì application c a b n seẫ đỉ ủ ủ ạ ượ ckh i ch y ngay l p t c.ở ạ ậ ứ

<small>21</small>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

CHNG 3: PHẦN TÍCH, THIỀẾT KỀẾ VÀ XẦY D NGƯƠỰ

I. Thiềất kềấ kiềấn trúc

1. L a ch n kiềấn trúc phâền mềềmự ọ

Kiêến trúc đ ược em l a ch n đ xẫy d ng s n phẫềm là kiêến trúcự ọ ể ự ảMVC (Model – View – Controller). Kiêến trúc c th cho ng d ng đụ ể ứ ụ ượ ctrình bày dưới đẫy.

Thành phẫền M ( ng v i Model) ch a các l p có vai trị tứ ớ ứ ớ ươ ng tácv i d li u. Các l p này cũng có kh năng tớ ữ ệ ớ ả ươ ng tác liên kêết v i nhau đớ ểlẫếy ra các d li u t các b ng có quan h v i nhau trong thiêết kêế. M t sôếữ ệ ừ ả ệ ớ ộl p trong thành phẫền này nh l p Guest – khách, l p Manager – qu n lý,ớ ư ớ ớ ảl p Hotel – khách s n, . . . Chi tiêết vêề các l p trong thành phẫền M seẫ đớ ạ ớ ượ ctrình bày trong phẫền sau.

Tiêếp đêến là thành phẫền V ( ng v i View) ch a các l p hi n th dứ ớ ứ ớ ể ị ữli u ra cho ngệ ườ ử ụi s d ng, bao gôềm các đôếi tượ ng giao di n nh nútệ ưbẫếm, bi u mẫẫu, hình nh, menu và cho phép ngể ả ườ ử ụi s d ng tươ ng tác đểg i các thông đi p vêề h thôếng. Các giao di n đử ệ ệ ệ ượ c chia thành các thưm c nh , môẫi th m c thụ ỏ ư ụ ường ng v i m t l p bên thành phẫền M và C.ứ ớ ộ ớVí d m t sôế th m c trong thành phẫền này nh th m c rents – gôềm cácụ ộ ư ụ ư ư ụgiao di n liên quan thuê phòng nh hi n th , bi u mẫẫu t o m i, . . . Chiệ ư ể ị ể ạ ớtiêết vêề các th m c trong thành phẫền M seẫ đư ụ ược trình bày tiêếp trong phẫềntiêếp theo.

Sau đó là thành phẫền C ( ng v i Controller) gôềm nh ng l p có vaiứ ớ ữ ớtrị nh n các yêu cẫều t ngậ ừ ườ ử ụi s d ng, sau đó điêều hướ ng, x lý nghi pử ệv logic và nh n kêết qu đ tr l i cho ngụ ậ ả ể ả ạ ườ ử ụi s d ng h thôếng. Các l pệ ớc a thành phẫền C thủ ường tươ ng ng v i m t l p thu c thành phẫền M vàứ ớ ộ ớ ộV. M t sôế l p c a thành phẫền này bao gôềm GuestController,ộ ớ ủManagerController. Chi tiêết vêề các l p trong thành phẫền C seẫ đớ ược trìnhbày tiêếp trong phẫền sau.

M t thành phẫền b tr là thành phẫền S (là thành phẫền b sungộ ổ ợ ổService), thành phẫền này có ch c năng b tr và gi m đ m t phẫền côngứ ổ ợ ả ỡ ộ<small>22</small>

</div>

×