Trong những năm gần đây, với sự phát triển mạnh mẽ, rộng khắp của công nghệ thông tin (CNTT), máy tính trên phạm vi toàn cầu. Chúng nhanh chóng ăn sâu và giữ vai trò chủ đạo trong các ngành kinh tế, quân sự, giáo dục...Việc ứng dụng tin học vào các lĩnh vực quản lý hết sức cần thiết, ngày càng được quan tâm và sử dụng hiệu quả, đem lại lợi ích to lớn về mọi mặt. Sự lớn mạnh của máy vi tính đã giúp đỡ con người rất nhiều trong công việc, đặc biệt là trong công tác quản lý, nghiên cứu khoa học,... Với sự phát triển không ngừng của CNTT và kỹ thuật lập trình, các công ty lớn, các doanh nghiệp bán sỉ và lẻ,... đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống CNTT của mình nhằm tin học hóa các hoạt động công tác của đơn vị, mức độ hoàn thiện tùy thuộc vào quá trình phân tích và thiết kế hệ thống.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN
Đinh Sỹ Trung
-o0o -PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG THÔNG TIN QUẢN LÝ XE TAXI CỦA MỘT CÔNG TY TAXI
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Hệ thống thông tin
Cán bộ hướng dẫn: Phùng Văn Ổn
Trang 3HÀ NỘI - 2018
Trang 4TÓM TẮT Tóm tắt: Trong những năm gần đây, với sự phát triển mạnh mẽ, rộng khắp của công
nghệ thông tin (CNTT), máy tính trên phạm vi toàn cầu Chúng nhanh chóng ăn sâu và giữvai trò chủ đạo trong các ngành kinh tế, quân sự, giáo dục Việc ứng dụng tin học vào cáclĩnh vực quản lý hết sức cần thiết, ngày càng được quan tâm và sử dụng hiệu quả, đem lại lợiích to lớn về mọi mặt Sự lớn mạnh của máy vi tính đã giúp đỡ con người rất nhiều trong côngviệc, đặc biệt là trong công tác quản lý, nghiên cứu khoa học, Với sự phát triển khôngngừng của CNTT và kỹ thuật lập trình, các công ty lớn, các doanh nghiệp bán sỉ và lẻ, đềutìm mọi biện pháp để xây dựng hoàn thiện hệ thống CNTT của mình nhằm tin học hóa cáchoạt động công tác của đơn vị, mức độ hoàn thiện tùy thuộc vào quá trình phân tích và thiết
kế hệ thống
Hiện nay, Công ty trách nhiệm hữu hạn (TNHH) Thương Mại Thiên Phong được thànhlập với thương hiệu THÀNH CÔNG TAXI đang quản lý xe taxi của mình bằng một phầnmềm cũ có nhiều thiếu xót Chính vì vậy việc kiểm soát tài xế đang còn nhiều hạn chế hoặc dễmất mát dữ liệu dẫn đến công tác quản lý gặp nhiều khó khăn và thiếu chính xác Để có thểnâng cao hiệu quả của quản lý thì viêc xây dựng một hệ thống thông tin quản lý là điều cần
thiết Do vậy, đô án đã quyết định lập kế hoạch và phân tích để tạo nên đề tài “Phân tích thiết
kế và xây dựng hệ thống thông tin quản lý xe taxi của một công ty taxi” nhằm đáp ứng yêu cầu
của người quản lý cũng như là việc quản lý hệ thống một cách thuận tiện và dễ dàng
Được sự giúp đỡ và hướng dẫn nhiệt tình của giảng viên TS.Phùng Văn Ổn Đồ án đã
hoàn thành đề tài “Phân tích thiết kế và xây dựng hệ thống thông tin quản lý xe taxi của một
công ty taxi” Nhưng do chương trình còn được phát triển trong quá trình nghiên cứu nên đô
án không tránh khỏi những sai sót trong việc thực hiện dự án Rất mong nhận được sự ủng hộ
và đóng góp ý kiến của thầy cô cũng như các bạn để đô án có thể hoàn thiện dự án một cáchtốt hơn
Từ khóa: Giữ vai trò chủ đạo, đem lại lợi ích to lớn, phân tích và thiết kế.
Trang 5LỜI CAM ĐOAN
Để hoàn thành đồ án này thực sự em không thể chỉ dựa vào kiến thức hạn hẹp của bảnthân em, vì vậy em đã tham khảo tài liệu, các công trình nghiên cứu của những người đitrước Thực sự em rất cảm ơn các tác giả đi trước đã cung cấp cho em những kiến thức để emhoàn thành tốt đô án của mình Em cam đoan tất cả những kiến thức Em tham khảo đều đãđược chỉ rõ trong phần tài liệu tham khảo
Hà Nội , ngày … tháng … năm 2018
Đinh Sỹ Trung
Trang 6LỜI CẢM ƠN
Lời đầu tiên em xin gửi lời tri ân và biết ơn sâu sắc đến Thầy Phùng Văn Ổn,
người hướng dẫn đồ án tốt nghiệp đã tận tình chỉ bảo, động viên, khích lệ em trongsuốt quá trình nghiên cứu và thực hiện đề tài
Em xin cảm ơn các thầy cô Khoa Công nghệ thông tin, trường Đại học Công
nghệ Giao Thông Vận Tải, đặc biệt các thầy cô trong bộ môn Hệ thống thông tin đã
nhiệt tình giảng dạy và tạo mọi điều kiện giúp đỡ em trong quá trình học tập và nghiêncứu
Cuối cùng em xin trân thành cám ơn những người thân trong gia đình em cùngtoàn thể bạn bè luôn giúp đỡ động viên em những lúc gặp phải khó khăn trong quátrình làm đồ án
Em xin chân thành cảm ơn !
Trang 7MỤC LỤC
TÓM TẮT
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
MỤC LỤC
DANH LỤC BẢNG
CHƯƠNG 1: TỔNG QUAN 1
1.1 LÝ DO CHỌN ĐỀ TÀI 1
1.2 MỤC TIÊU CỦA ĐỀ TÀI 1
1.3 GIỚI HẠN VÀ PHẠM VI ĐỀ TÀI 1
1.4 KẾT QUẢ ĐẠT ĐƯỢC 1
CHƯƠNG 2: KHẢO SÁT HỆ THỐNG 3
2 1 GIỚI THIỆU 3
2 2 CƠ CẤU TỔ CHỨC 6
HÌNH 2.3 :CƠ CẤU TỔ CHỨC BỘ MÁY CÔNG TY THÀNH CÔNG TAXI 6
2.2.1 Phòng Kế Toán 7
2.2.2 Phòng Nhân Sự 7
2.2.3 Phòng Kinh Doanh 7
2.2.4 Phòng Điều Hành 7
2.2.5 Phòng Giám Sát 7
2.2.6 Phòng Sửa Chữa 8
2 3 PHÂN TÍCH NGHIỆP VỤ 8
CHƯƠNG 3: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ SỬ DỤNG 12
3.1 CƠ SỞ LÝ THUYẾT 12
3.2 CÔNG NGHỆ SỬ DỤNG 14
3.2.1 Hệ quản trị CSDL MySQL 14
3.2.2 Ngôn ngữ PHP 16
3.2.3 Framework Laravel 20
CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ, XÂY DỰNG PHẦN MỀM 23
4.1 XÂY DỰNG BIỂU ĐỒ USE CASE 23
4.1.1 Xác định các Actor 23
4.1.2 Mô tả ca sử dụng 23
4.1.3 Xác định Use Case 24
4.1.4 Bản vẽ Use Case hệ thống 26
4.2 BIỂU ĐỒ TUẦN TỰ 32
4.3 BIỂU ĐỒ LỚP 35
4.3.1 Tìm các Class dự kiến 35
4.3.2 Xác định thuộc tính và quan hệ cho các Class 35
4.3.3 Xác định phương thức cho các Class 37
4.4 DATABASE 39
4.5 THIẾT KẾ GIAO DIỆN VÀ XÂY DỰNG PHẦN MỀM 41
4.5.1 Giao diện đăng nhập 41
4.5.2 Giao diện quản lý xe 41
4.5.3 Giao diện quản lý lộ trình 45
Trang 84.5.4 Giao diện quản lý nhập nhiên liệu 46
4.5.5 Giao diện admin 47
KẾT LUẬN 49
TÀI LIỆU THAM KHẢO 50
Trang 9DANH LỤC HÌNH ẢNH
MỤC LỤC
HÌNH 2.1: LOGO CÔNG TY THÀNH CÔNG TAXI 3
HÌNH 2.2:MÔ TẢ CÁC CHI NHÁNH CỦA THÀNH CÔNG TAXI TRÊN TOÀN QUỐC 4
HÌNH 2.3 :CƠ CẤU TỔ CHỨC BỘ MÁY CÔNG TY THÀNH CÔNG TAXI 6
HÌNH 2.4: QUY TRÌNH ĐIỀU XE 9
HÌNH 2.5: QUY TRÌNH TIẾP NHIÊN LIỆU 10
HÌNH 2.6: PHIẾU TIẾP NHIÊN LIỆU 10
HÌNH 2.7: QUY TRÌNH GỌI XE 11
HÌNH 3.1: IED NETBEANS 18
HÌNH 3.2: IDE SUBLIME 18
HÌNH 3.3: IDE CODELOBSTER 18
HÌNH 3.4: IED PHPSTORM 19
HÌNH 3.5: IDE NOTEPAD++ 19
HÌNH 3.6: IDE DREAMWEAVER 19
HÌNH 3.7: MÔ HÌNH MVC 21
HÌNH 4.1: BẢN VẼ USE CASE TỔNG QUÁT CỦA HỆ THỐNG 26
HÌNH 4.2: USE CASE CỦA ACTOR “NHÂN VIÊN QUẢN LÝ NHIÊN LIỆU” 27
HÌNH 4.3: USE CASE CỦA ACTOR “NHÂN VIÊN QUẢN LÝ XE” 28
HÌNH 4.4: USE CASE CỦA ACTOR “NHÂN VIÊN TRỰC BAN” 29
HÌNH 4.5: USE CASE CỦA ACTOR “ADMIN” 30
HÌNH 4.6: BẢN VẼ USE CASE CỦA HỆ THỐNG 31
HÌNH 4.7: CHỨC NĂNG ĐĂNG NHẬP 32
HÌNH 4.8: CHỨC NĂNG LẤY THÔNG TIN TÀI XẾ, XE 32
HÌNH 4.9: CHỨC NĂNG LẤY THÔNG TIN TIẾP NHIÊN LIỆU VÀ CHỨC NĂNG LẤY THÔNG TIN LỘ TRÌNH 33
HÌNH 4.10: NHẬP THÔNG TIN LỘ TRÌNH 33
HÌNH 4.11: NHẬP THÔNG TIN VỀ TÀI XẾ VÀ XE 34
HÌNH 4.12: NHẬP THÔNG TIN VỀ TAXI ĐÃ NHẬP NHIÊN LIỆU 34
HÌNH 4.13: BIỂU ĐỒ LỚP CỦA HỆ THỐNG 38
HÌNH 4.14: SCHEMA DATABASE CỦA TRANG WEB 39
BẢNG 4.1: BẢNG CẤU TRÚC DỮ LIỆU 39
HÌNH 4.15: GIAO DIỆN ĐĂNG NHẬP 41
HÌNH 4.16: GIAO DIỆN QUẢN LÝ XE ĐÃ PHÂN 41
HÌNH 4.17: THỐNG KÊ XE 42
HÌNH 4.18: THỐNG KÊ TÀI XẾ 42
HÌNH 4.19 THÊM TÀI XẾ 43
HÌNH 4.20: THÊM XE MỚI 43
HÌNH 4.21: TRANG CHI TIẾT 44
HÌNH 4.22: THỐNG KÊ XE THEO THÁNG NĂM 44
HÌNH 4.23: THỐNG KÊ LỘ TRÌNH 45
HÌNH 4.24: THÊM LỘ TRÌNH MỚI 45
Trang 10HÌNH 4.25: THỐNG KÊ LỘ TRÌNH 46
HÌNH 4.26: QUẢN LÝ NHẬP NHIÊN LIỆU 46
HÌNH 4.27: THỐNG KÊ ĐỔ NHIÊN LIỆU 47
HÌNH 4.28: QUẢN LÝ NGƯỜI DÙNG 47
Hình 4.29: Thêm người dùng 48
Trang 11DANH LỤC BẢNG
Bảng 4.1: Bảng cấu trúc dữ liệu………39
Trang 12CHƯƠNG 1: TỔNG QUAN 1.1 Lý do chọn đề tài
Với sự phát triển mạnh mẽ của công nghệ hiện nay thì tin học đã đi vào đời sốngcủa con người trong mọi lĩnh vực, giúp chúng ta làm việc hiệu quả, tiết kiệm thời giancũng như nâng cao chất lượng quản lý Việc quản lý hệ thống bằng các phần mềm sẽgiúp con người dễ dàng quản lý nhưng hiệu quả, chính xác lại gấp nhiều lần so vớithông thường
Hiện nay, Công ty TNHH Thương Mại Thiên Phong được thành lập với thươnghiệu THÀNH CÔNG TAXI đang quản lý xe taxi của mình bằng một phần mềm cũ cónhiều thiếu xót Chính vì vậy việc kiểm soát tài xế đang còn nhiều hạn chế hoặc dễmất mát dữ liệu dẫn đến công tác quản lý gặp nhiều khó khăn và thiếu chính xác Để
có thể nâng cao hiệu quả của quản lý thì viêc xây dựng một hệ thống thông tin quản lý
là điều cần thiết Do vậy, đồ án chọn công ty Thành Công Taxi làm đơn vị khảo sát vàứng dụng
Chính vì vậy đồ án đã chọn đề tài “Phân tích thiết kế và xây dựng hệ thống thông
tin quản lý xe taxi của một công ty taxi” với mục đích nghiên cứu và xây dựng ra một
hệ thống quản lý có thể quản lý được số lượng xe taxi, thông tin chi tiết của việc hoạtđộng hằng ngày của nó với quy mô lớn và hạn chế sai sót xảy ra, giúp cho công tyquản lý cũng như biết cách điều hành một cách hợp lý và hiệu quả
1.2 Mục tiêu của đề tài
- Xây dựng hệ thống quản lý xe taxi
- Triển khai và cài đặt chương trình trong thực tế
1.3 Giới hạn và Phạm vi đề tài
Trong phạm vi đề tài này sẽ nghiên cứu các vấn đề:
- Nghiên cứu về công tác quản lý xe taxi
- Ứng dụng được xây dựng sử dụng ngôn ngữ lập trình PHP và cơ sở dữ liệuđược xây dựng bằng MySQL
1.4. Kết quả đạt được
Hệ thống thông tin quản lý xe taxi của Công ty Thành Công Taxi với các chứcnăng chính sau:
Cập nhật dữ liệu cho hệ thống
Tìm kiếm thông tin về xe, tình trạng xe, lịch sử sửa chữa…
Xem tất cả thông tin của xe taxi
Tìm kiếm xe theo biển số, theo mã, theo tình trạng sử dụng xe
Thống kê
Thống kê được các tình trạng xe theo tháng, quý, năm
Trang 13 Thống kê số lượng xe từng thời điểm và tình trạng của nó.
Thống kê theo tên tài xế, mã xe, mã tài xế
1.5 Cầu trúc của đồ án
Ngoài phần mở đầu, kết luận, các nội dụng chính nằm trong 4 chương sau :
Chương 1: Tổng quan về bài toán
Chương 2: Khảo sát hệ thống
Chương 3: Cơ sở lý thuyết và công cụ sử dụng
Chương 4: Phân tích thiết kế xây dựng phần mềm
Trang 14CHƯƠNG 2: KHẢO SÁT HỆ THỐNG
2 1 Giới thiệu
Hình 2.1:Logo Công Ty Thành Công Taxi
Công ty TNHH Thương Mại Thiên Phong được thành lập với thương hiệu ThànhCông Taxi được mọi người biết đến không còn đơn thuần là tên của một công ty, mà
nó đã là tên của một thương hiệu nổi tiếng trên đất nước Việt Nam.[5]
http://thanhcongtaxi.vn
Trải qua gần 11 năm hoạt động, với tiêu chí “Lấy Con người làm trung tâm - Lấychữ Tín làm kim chỉ nam - Lấy Sáng tạo làm sức sống”, Công ty Thành Công Taxi đãgặt hái được nhiều thành công với mạng lưới thông tin phủ sóng thành công trên 5 tỉnhthành miền bắc là: Hà Nội, Vĩnh Phúc, Quảng Ninh, Hà Nam, Huế, giải quyết côngviệc cho hàng nghìn người dân lao động Chính vì lý do này nên việc quản lý phảiđược áp dụng những mô hình ứng dụng tiên tiến nhất
Địa chỉ công ty và liên hệ :
- Địa chỉ: Số 1 Long Biên, P Ngọc Lâm, Q Long Biên, Hà Nội.
- Tel: (+84 24) 62 615 618.
- Fax: (+84 24) 62 613 453.
- Email: info@thanhcongtaxi.vn
Lịch sử hình thành và phát triển :
- 10/10/2007 : Chính thức đi vào hoạt động với 16 xe đầu tiên.
- Năm 2010 : Đưa vào sử dụng P Điều hành mới với công suất đáp ứng
600 xe
- Năm 2011: Trang bị hệ thống tính cước tự động trên 100% xe.
- Năm 2012: Thành lập Thành Công Taxi Hà Nam và ra mắt dòng xe
Hyundai Avante
- Năm 2013: Đưa vào sử dụng P.Điều hành mới với công suất 1.500 xe.
Trang 15- Năm 2014: Thành lập Thành Công Taxi Vĩnh Phúc và lắp đặt POS trên
100% xe
- Năm 2015: Thành lập Thành Công Taxi Huế, ra mắt dịch vụ Taxi cho
người khuyết tật
Năm 2016 : Thành lập Taxi Thành Công Quảng Ninh, ra mắt thẻ TCC
-thanh toán không dùng tiền mặt, ra mắt ứng dụng đặt xe Thành CôngApp, ra mắt dịch vụ xe sang Thành Công Car
- Năm 2017: Gần 2.000 xe với 2 dòng xe: loại hình taxi có mào truyền
thống (Thành Công Taxi) và loại hình xe riêng không mào (ThànhCông Car)
Mạng lưới hoạt động : Không ngừng mở rộng phạm vi hoạt động trên toàn
quốc nhằm tăng cường khả năng phục vụ cộng đồng Hiện nay, Thành công Taxi đãphủ sóng thành công 5 tỉnh thành tại miền Bắc là: Hà Nội, Vĩnh Phúc, Quảng Ninh,
Hà Nam, Huế
Hình 2.2:Mô tả các chi nhánh của Thành Công Taxi trên toàn quốc
Trang 16Tầm nhìn : Với khát vọng vươn lên cùng chiến lược đầu tư và phát triển bền
vững, lấy Con người làm trung tâm, lấy chữ Tín làm niềm tin, Thành Công Taxihướng đến trở thành hãng dịch vụ vận tải hàng đầu Việt Nam, góp phần tạo ra mộtcuộc sống tốt đẹp hơn cho người Việt và nâng tầm vị thế của người Việt trên trườngquốc tế
Sứ mệnh :
- Đối với khách hàng: Đặt chữ tín và niềm tin của khách hàng lên cao nhất,
luôn luôn đổi mới – sáng tạo để cung cấp dịch vụ taxi tốt nhất với nhiềutiện ích cho khách hàng Với tư thế luôn đón đầu xu thế, với tinh thần luônsáng tạo và đổi mới, Thành Công Taxi tự tin trở thành một người bạn luônđồng hành trên mọi nẻo đường
- Đối với đối tác: Cùng hợp tác, cùng phát triển.
- Đối với nhân viên: Xây dựng mô̂i trường làm việc chuyên nghiệp, năng
động, sáng tạo và nhân văn song song với tạo điều kiện ổn định cuộc sống
và cơ hội phát triển cho tất cả nhân viên
- Đối với xã hội: Góp phần xây dựng hình ảnh của một đất nước Việt Nam
tốt đẹp hơn, tôn vinh tinh thần trách nhiệm công dân và niềm tự hào dântộc bằng những hành động thiết thực hướng về cộng đồng.
Trang 172 2 Cơ cấu tổ chức
Hình 2.3 :Cơ cấu tổ chức bộ máy Công Ty Thành Công Taxi
Hội Đồng Quản trị
Tổng Giám Đốc
Giám Đốc Điều Hành
Giám Đốc Tài Chính
Phòng
Nhân
Sự
Phòng Kinh Doanh
Phòng Giám Sát
Xưởng Sửa Chữa
Phòng Điều Hành
Phòng Kế Toán
Trang 182.2.1 Phòng Kế Toán
- Quản lý toàn bộ nguồn thu – chi tài chính theo đúng pháp luận hiện hành.
- Quản lý các quỹ tiền mặt, tiền gửi.
- Quản lý cơ sở vật chất bằng nghiệp vụ tài chính Xây dựng kế hoạch tài chính
ngắn hạn và dài hạn
- Hướng dẫn kiểm tra hoạt động tài chính tại các đơn vị trực thuộc.
- Kiểm tra việc mua sắm, sửa chữa, xây dựng.
- Tổng hợp báo cáo tình hình hoạt động tài chính hàng năm của Công Ty.
- Tham mưu và giúp Giám Đốc trong việc quản lý, tổng hợp, đề xuất ý kiến, tổ
chức thực hiện các công tác tài chính kế toán
2.2.2 Phòng Nhân Sự
- Quản lý công tác tuyển dụng công ty theo thủ tục tuyển dụng.
- Chuyển bảng đánh giá ứng viên cho phòng kế toán tính lương.
- Quản lý hồ sơ, lý lịch của cán bộ nhân viên toàn công ty.
- Quản lý việc đào tạo của công ty.
- Đề xuất các phương án thưởng lễ, tết, trợ cấp cho người lao động.
2.2.3 Phòng Kinh Doanh
- Thực hiện chiến lược, kế hoạch ngân sách hàng năm của từng phòng ban để
trình Tổng Giám Đốc phê duyệt
- Lập báo cáo thống kê, phân tích, đánh giá, nhận xét tình hình kinh doanh của
công ty
- Xây dựng các quy trình, quy định nghiệp vụ thuộc lĩnh vực của Phòng: Đánh giá
hiệu quả các quy trình, quy định này trong thực tế để liên tục cải tiến, giúp nângcao hoạt động của công ty
2.2.4 Phòng Điều Hành
- Lập kế hoạch và định hướng chiến lược chung cho công ty.
- Đưa ra mục tiêu, hướng phát triển và chiến lược cho công ty.
- Chịu trách nhiệm về lợi nhuận, hướng phát triển và tăng trưởng của công ty.
- Lập kế hoạch kinh doanh marketing.
- Đánh giá tình hình hoạt động của các phòng ban.
2.2.5 Phòng Giám Sát
- Phân chia, giám sát công việc cho từng phòng ban.
- Huấn luyện nghiệp vụ cho nhân viên.
Trang 19- Kiểm tra, đôn đốc, chỉ đạo và đánh giá công việc của nhân viên.
- Kiểm soát và theo dõi tình trạng hoạt động của Taxi.
2.2.6 Phòng Sửa Chữa
- Thực hiện và kiểm tra công tác kỹ thuật, bảo trì nhằm đảm bảo độ an toàn, chất
lượng mà xe Taxi đem lại
- Quản lý, sử dụng, sửa chữa, mua sắm thiết bị, máy móc phục vụ cho hoạt động
Công ty tổ chức các đội xe theo từng khư vực có mã số, tên và có một địa điểmcho taxi đậu khi không có khách Mỗi xe sẽ trực thuộc một khu vực Để phục vụ choviệc tiếp nhiên liệu, mỗi khu vực sẽ có một địa điểm cho các taxi đổ xăng, nhớt Tạiđây, tài xế sẽ phải ký nhận vào phiếu tiếp nhiên liệu gồm các chi tiết ngày, biển số xe,
Sau đó, trực ban sẽ ghi phiếu điều xe gồm các chi tiết như: Từ khu vực, Đến khuvực, Ngày giờ để đối chiếu với tài xế cuối tháng, các thông tin khác như số km và tiềnthu được sẽ được tài xé báo lại sau khi thu tiền khách
Mỗi tài xế sau khi đưa khách đến nơi khách yêu cầu, căn cứ vào máy tính tiền tựđộng trên xe theo số km mà sẽ thu tiền và ghi và sổ lộ trình của xe mình các chi tiếtnhư trên phiếu điều xe
Các quy trình nghiệp vụ
Trang 20Quy trình điều xe
NO Start
YES
End Hình 2.4: Quy trình điều xe
Nhập thông tin khu vực để tìm
tin
Ghi phiếu điều xe
Điều xe
Trang 21Quy trình tiếp nhiên liệu
NOStart
YES
EndHình 2.5: Quy trình tiếp nhiên liệu
Hình 2.6: Phiếu tiếp nhiên liệu
Nhập thông tin khu vực để tìm kiếm địa điểm tiếp nhiên liệu
Đủ thông tin
Ghi phiếu tiếp nhận nhiên liệu
Tiếp nhiên liệu
Trang 22Quy trình gọi xe
NO Start
Nghe máy
Gọi để hỏi chi tiết thông tin
Yêu cầu Taxi
Xác nhận
Trang 23CHƯƠNG 3: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ SỬ DỤNG 3.1 Cơ sở lý thuyết
Trong công nghệ phần mềm để sản xuất được một sản phẩm phần mềm người tachia quá trình phát triển sản phẩm ra nhiều giai đoạn như thu thập và phân tích yêucầu, phân tích và thiết kế hệ thống, phát triển (coding), kiểm thử, triển khai và bảo trì.Trong đó, giai đoạn phân tích, thiết kế bao giờ cũng là giai đoạn khó khăn và phức tạpnhất Giai đoạn này giúp chúng ta hiểu rõ yêu cầu đặt ra, xác định giải pháp, mô tả chitiết giải pháp Nó trả lời 2 câu hỏi What (phần mềm này làm cái gì?) và How (làm nónhư thế nào?)
Để phân tích và thiết kế một phần mềm thì có nhiều cách làm, một trong nhữngcách làm đó là xem hệ thống gồm những đối tượng sống trong đó và tương tác vớinhau Việc mô tả được tất cả các đối tượng và sự tương tác của chúng sẽ giúp chúng tahiểu rõ hệ thống và cài đặt được nó Phương thức này gọi là Phân tích thiết kế hướngđối tượng (OOAD)
a) Lịch sử ngôn ngữ lập trình hướng đối tượng[3]
Lập trình hướng đối tượng (OOP) đã được phát triển như là phương pháp lậptrình chủ đạo từ giữa thập niên 1980; nguyên do đáng kể là việc ảnh hưởng của C++,một ngôn ngữ mở rộng của C Địa vị thống trị của OOP đã được củng cố vững chắcbởi sự phổ biến của các GUI dành cho ngôn ngữ lập trình hướng đối tượng ngày càngtiện lợi Một ví dụ về quan hệ gần gũi của thư viện GUI động và ngôn ngữ OOP làphần mềm Cocoa, nó là khung cơ sở của Mac OS X được viết bằng Objective C
(Objective C là một loại ngôn ngữ hướng đối tượng mở rộng của C với việc thông báođộng) Công cụ cho OOP cũng được nâng cao phần "lập trình điều khiển theo sự kiện"(mặc dù khái niệm này không chỉ dành cho OOP)
Các chức năng của hướng đối tượng cũng đã đang được thêm vào nhiều ngônngữ trong suốt thời gian đó kể cả Ada, BASIC, Lisp, Fortran, Pascal và nhiều nữa.Việc cộng thêm các chức năng đó cho các ngôn ngữ mà được trước đó không chủ địnhthiết kế cho chúng ngay từ đầu cũng thường dẫn tới nhiều khó khăn trong khả năngtương thích (với mã nguồn viết cho các phiên bản cũ) và khả năng bảo trì mã Điểnhình của trường hợp này là Pascal và Visual Basic Các ngôn ngữ thuần túy hướng đốitượng, ở phía khác, lại thiếu các đặc tính mà nhiều người lập trình phụ thuộc vào Đểbắc cầu cho khoảng trống này, nhiều nỗ lực đã được xúc tiến để tạo ra các ngôn ngữđặt cơ sở trên các phương pháp hướng đối tượng nhưng lại cho phép dùng nhiều đặctính lập trình cấu trúc theo những phương cách "an toàn" Ngôn ngữ Eiffel củaBertrand Meyer đã sớm thành công với các mục tiêu này
Trong thập niên đã qua, Java được dùng rộng rãi một phần là do sự tương tự với
C và C++, nhưng có lẽ do phần khác quan trọng hơn là việc lắp đặt sử dụng máy ảo
mà chủ ý là thực thi cùng một mã nguồn cho nhiều nền tảng khác nhau .NET củaMicrosoft cũng mở đầu với các chủ ý tương tự và cộng thêm việc hỗ trợ nhiều ngônngữ hay các sự biến thể của các ngôn ngữ cũ (như trường hợp C# và Visual Basic)
Trang 24Gần đây, một số ngôn ngữ xuất hiện với chức năng chính là định hướng đốitượng nhưng lại tương thích được với phương pháp thủ tục như là Python và Ruby.Bên cạnh Java, C#và Visual Basic.NET là hai ngôn ngữ OOP quan trọng hiện tại thiết
- Tính phân loại (classification): gom nhóm các đối tượng có cùng cấu trúc vàhành vi vào một lớp (class)
- Tính kết hợp (aggregation): kết hợp các đối tượng và các đối tượng cấu thành nó
để mô tả cấu trúc cục bộ của đối tượng (ví dụ: toà nhà <-> phòng, xe <-> sườn xe,bánh xe, ) , hoặc sự liên kết phụ thuộc lẫn nhau giữa các đối tượng
- Tính thừa kế (heritage): phân loại tổng quát hoá và chuyên biệt hoá các đối tượng,
và cho phép chia sẽ các đặc trưng của một đối tượng
Phân loại
Phương pháp lập trình hướng đối tượng được chia thành 2 hướng như sau:
- Hướng lập trình: từ lập trình đơn thể chuyển sang lập trình hướng đối tượng với
lý thuyết cơ bản dựa trên việc trừu tượng hóa kiểu dữ liệu
- Hướng hệ quản trị CSDL: phát triển thành CSDL hướng đối tượng
Có 2 cách tiếp cận riêng biệt:
- Phương pháp kỹ thuật: hướng công nghệ phần mềm như OOD, HOOD, BON,BOOCH, MECANO, OODA,
- Phương pháp toàn cục: hướng về HTTT như OOA, OOSA, OOAD, OMT,
OOM,
Ưu điểm
- Cấu trúc hoá được các cấu trúc phức tạp và sử dụng được cấu trúc đệ qui: cácphương pháp đối tượng đều sử dụng các mô hình bao gồm nhiều khái niệm để biểudiễn nhiều ngữ nghĩa khác nhau của hệ thống Ví dụ: trong mô hình lớp của OMT cókhái niệm mối kết hợp thành phần cho phép mô tả một đối tượng là một thành phầncủa đối tượng khác, trong khi nếu dùng mô hình ER truyền thống không có khái niệmnày do đó không thể biểu diễn được quan hệ thành phần
Trang 25- Xác định được đối tượng của hệ thống qua định danh đối tượng
- Tính thừa kế được đưa ra tạo tiền đề cho việc tái sử dụng
c) Các khái niệm cơ bản của phân tích thiết kế hướng đối tượng
Đối tượng
Đối tượng là thành phần trọng tâm của cách tiếp cận hướng đối tượng Một đốitượng là một đại diện của bất kỳ sự vật nào cần được mô hình trong hệ thống và đóngmột vai trò xác định trong lãnh vực ứng dụng
- Là một biểu diễn từ thế giới thực sang thể hiện của tin học (ví dụ : một chiếc xe ô
tô trong thế giới thực được biểu diễn trong tin học dùng một khái niệm đối tượng xe ôtô)
- Là một sự trừu tượng hoá, một khái niệm có ý nghĩa trong lãnh vực ứng dụng
- Diễn đạt một thực thể vật lý, hoặc một thực thể quan niệm, hoặc một thực thểphần mềm
- Đối tượng có thể là một thực thể hữu hình trực quan (ví dụ : một con người, một
vị trí, một sự vật, ) hoặc một khái niệm, một sự kiện (ví dụ : phòng ban, bộ phận, kếthôn, đăng ký, )
Class
Lớp là khái niệm dùng để mô tả một tập hợp các đối tượng có cùng một cấu trúc,cùng hành vi và có cùng những mối quan hệ với các đối tượng khác:
− Lớp = các thuộc tính + các phương thức
− Lớp là một bước trừu tượng hóa
− Tìm kiếm các điểm giống, bỏ qua các điểm khác nhau của đối tượng
− Trừu tượng hóa làm giảm độ phức tạp
Gói (package)
Là một cách tổ chức các thành phần, phần tử trong hệ thống thành các nhóm.Nhiều gói có thể được kết hợp với nhau để trở thành một hệ thống con (subsystem)
Kế thừa
Trong phương pháp hướng đối tượng, một lớp có thể có sử dụng lại các thuộc tính
và phương thức của một hoặc nhiều lớp khác Kiểu quan hệ này gọi là quan hệ kếthừa, được xây dựng dựa trên mối quan hệ kế thừa trong bài toán thực tế
3.2 Công nghệ sử dụng
3.2.1 Hệ quản trị CSDL MySQL
Hệ thống sử dụng hệ quản trị cơ sở dữ liệu MySQL
3.2.1.1 Khái niệm
Trang 26MySQL là một hệ quản trị cơ sở dữ liệu quan hệ miễn phí hiện nay đã được hãngOracle mua lại từ hãng Sun Nó thường được sử dụng kết hợp với PHP để lưu trữ dữliệu của ứng dụng website khi người dùng thao tác trên website của chúng ta Nếu cácbạn đã từng học SQL Server một hệ cơ sở dữ liệu quan hệ của Microsoft thì khi tiếpcận với MySQL sẽ dễ dàng hơn, vì chúng vẫn được xây dựng giống nhau về tư tưởng,kiến trúc.[4]
3.2.1.2 Một số câu lệnh cơ bản[4]
Lệnh Insert
Lệnh Insert là câu lệnh SQL dùng để chèn một bản ghi vào table
Cú pháp:
INSERT INTO table_name (field1, field2) VALUES (‘value1’, ‘value2’);
table_name: là tên của bảng
field: là trường dữ liệu, các field được tách nhau bởi dấu phẩy
value: là giá trị tương ứng với các field cũng được tách nhau bởi dấu phẩy
field = ‘value’: các trường và giá trị tương ứng cần cập nhật
WHERE điều_kiện: Điều kiện giới hạn số bản ghi cần thực hiện (nếu không cóđiều kiện WHERE) MySQL sẽ xử lý toàn bộ các bản ghi trên bảng
Câu lệnh này sẽ thực hiện sửa tên của bản ghi có mã giảng viên = 1, chính là bảnghi mình vừa thực hiện INSERT vào
Lệnh Delete
Lệnh Delete là câu lệnh SQL dùng để xóa một hay nhiều bản ghi
Cú pháp:
DELETE FROM table_name WHERE điều_kiện
table_name: là tên bảng dữ liệu cần xóa
WHERE điều_kiện: là các điều kiện để giới hạn số bản ghi bị tác động (nếu bỏtrống toàn bộ các bản ghi trong bảng này sẽ bị xóa bỏ)
Lệnh SELECT
Trang 27Câu lệnh SELECT là câu lệnh SQL dùng để truy vấn các bản ghi trong cơ sở dữliệu của bạn Đây là câu lệnh SQL được sử dụng nhiều nhất, tùy biến nhất để giảiquyết mọi yêu cầu khai thác dữ liệu của bài toán.
Cú pháp:
SELECT field1, field2, FROM table_name WHERE điều_kiện ORDER BY fieldASC|field DESC|rand() LIMIT Số bản ghi|Giá trị đầu, giá trị cuối
Field1, Field2 là các trường dữ liệu cần truy vấn
table_name là bảng dữ liệu cần truy suất
WHERE điều_kiện là các điều kiện để có được dữ liệu mong muốn
ORDER BY field ASC lệnh sắp xếp dữ liệu tăng dần
ORDER BY field DESC lệnh sắp xếp dữ liệu giảm dần
ORDER BY rand() lệnh lấy ngẫu nhiên
LIMIT số_bản_ghi lấy n bản ghi
LIMIT o,n: lấy n bản ghi từ vị trí o
3.2.2 Ngôn ngữ PHP
Ngôn ngữ lập trình cho hệ thống là ngôn ngữ PHP
Giới thiệu về ngôn ngữ lập trình PHP
PHP – viết tắt của cụm từ “Hypertext Preprocessor”, là một ngôn ngữ lập
trình kịch bản được chạy phía server nhằm sinh ra mã html trên client PHP đãtrải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cáchviết mã rõ ràng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lậptrình web rất phổ biến và được ưa chuộng
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ
quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điềuhành Linux(LAMP)
- Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từtrình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lạicho trình duyệt
- MySQl cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgres,Oracle, SQL server ) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu
- Linux là hệ điều hành mã nguồn mở được sử dụng rộng rãi cho cácwebserver Thông thường các phiên bản được sử dụng nhiều nhất làRedHat Enterprise Linux, Ubuntu…
Đặc trưng của PHP
PHP là một ngôn ngữ lập trình web rất được ưa chuộng, hiện là ngôn ngữ lập trình web phổ biến nhất Nhờ vào một số đặc điểm sau:
PHP dễ học và linh động
Trang 28 Rất nhiều hàm hỗ trợ và nhiều phần mở rộng phong phú
Đặc biệt mã nguồn mở, thường xuyên nâng cấp, chạy được trên nhiềumáy chủ web, nhiều hệ điều hành (đa nền tảng)
Cộng đồng sử dụng và hỗ trợ đông đảo
Ngoài phần code chính (thường gọi là code thuần), các phần mở rộngcũng rất phong phú mà lại miễn phí như nhiều frame work, nhiềuCMS
Các mã nguồn chia sẻ trên mạng tìm được rất nhiều và dễ dàng
Được tích hợp và sử dụng ổn định trong một mô hình LAMP =Linux+Apache+Mysql+Php, mã nguồn mở, chi phí thấp
Ngoài ra PHP còn có thể:
Xử lý ảnh
Cho phép và xử lý file upload ( tải file lên server )
Thiếp lập và xử lý cookie, session
(*) Thao tác tới cơ sở dữ liệu
Gửi email
(*) Xử lý dữ liệu nhận được từ form nhập liệuThông qua php, một trang web tĩnh (static webpage), thường chỉ phầngiao diện tại máy khách - tương tác tới máy chủ web , trở thành một trang webđộng ( nội dung thay đổi, tùy biến theo các sự kiện, yêu cầu) - hay được gọi làdynamic webpage Học lập trình php vì thế cũng hay được gọi là: lập trình webđộng với php, lập trình ứng dụng web…
Trang 313.2.3 Framework Laravel
Framework đồ ánsử dụng cho hệ thống là Laravel
Giới thiệu về framework Laravel
Laravel là một Framework MVC (Model – View- Controller) với bundles,migrations và Artisan CLI Laravel cung cấp một bộ công cụ mạnh mẽ và một cấu trúcứng dụng kết hợp nhiều tính năng nổi trội của các framework khác như là Codeigniter,Yii, Ruby on Rails, ASP.NET MVC, Sinatra và vân vân…
Laravel là một framework mã nguồn mở Nó có một đống các tính năng mà cóthể giúp bạn tăng tốc quá trình phát triển website lên một cách nhanh chóng Vận dụngPHP khi học Laravel sẽ trở nên dễ dàng hơn rất nhiều Nó sẽ giúp bạn tiết kiệm mộtkhối lượng thời gian đáng kể nếu như bạn đang có ý định xây dựng một website từđầu Không chỉ vậy, website được xây dựng trên nền Laravel cực kì bảo mật tốt Nó sẽngăn chặn được rất nhiều các kiểu tấn công từ bên ngoài tới website của bạn
Tính năng nổi bật của Laravel
Dễ dàng sử dụng
Lý do đầu tiên khiến Laravel nhanh chóng được cộng đồng đón
nhận và sử dụng nhiều là do nó rất dễ để có thể sử dụng Ngay cả khi bạnchỉ mới chỉ có những kiến thức cơ bản nhất về lập trình web với PHP thì
việc bắt đầu sử dụng Laravel cũng chỉ mất vài giờ là bạn có thể bắt tay
vào việc làm một project nhỏ
Document mà Laravel cung cấp trên trang chủ của mình được viếtrất rõ ràng và dể hiểu giúp cho bạn nhanh chóng có thể tìm được những
gì mình muốn
Xây dựng theo mô hình MVC
Laravel được xây dựng và phát triển theo mô hình MVC
(Model-View-Controller) nhờ đó mà cấu trúc và cách tổ chức code trong projectđược sắp xếp một cách hợp lý dễ dàng cho việc maintain cũng như pháttriển về lâu dài