1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng website thương mại điện tử cho shop mĩ phẩm xách tay bằng laravel

51 490 1

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 11,62 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT Hệ thống website giới thiệu các món ăn của Việt Nam được phân tích hướng đối tượng UML, sử dụng hệ quản trị cơ sở dữ liệu MySQL, ngôn ngữ lập trình PHP kết hợp v

Trang 1

LỜI CẢM ƠN

Để hoàn thành được tốt báo cáo này, em xin gửi lời cảm ơn chân thành nhất

đến thầy giáo TS Vũ Vinh Quang thầy đã hướng dẫn dìu dắt và tạo điều kiện giúp

đỡ em trong thời gian thực hiện đề tài báo cáo đồ án Thầy không chỉ truyền lại cho chúng em những kiến thức chuyên nghành mà còn rèn luyện cho chúng em nghị lực, khát khao vươn lên, phát huy khả năng tư duy sáng tạo trong mọi lĩnh vực Bên cạnh đó, em còn có cơ hội được tiếp xúc và làm việc trong một môi trường chuyên nghiệp và thực tế

Sau một thời gian tìm hiểu đề tài, em đã hoàn thành đúng tiến độ dự kiến Để đạt được kết quả này, em đã nỗ lực thực hiện và đồng thời cũng nhận được rất nhiều

sự giúp đỡ, quan tâm, ủng hộ của các thầy cô bạn bè và gia đình

Em xin chân thành cảm ơn các thầy cô và ban lãnh đạo trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên đã nhiệt tình giảng dạy và truyền đạt kiến thức quý báu và bổ ích trong suốt quá trình em học tập tại trường

Vì thời gian có hạn nên không thể tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp ý kiến từ thầy cô và các bạn Em xin chân thành cảm ơn!

Thái Nguyên, ngày tháng năm 2017

Sinh viên thực hiện

Phạm Trường Giang

Trang 2

LỜI CAM ĐOAN

Sinh viên: Phạm Trường Giang xin cam đoan:

- Đồ án tốt nghiệp là thành quả từ sự nghiên cứu hoàn toàn thực tế trên cơ sở các số liệu thực tế và được thực hiện theo hướng dẫn của giáo viên hướng dẫn

- Đồ án được thực hiện hoàn toàn mới, là công trình nghiên cứu khoa học của bản thân, không sao chép theo bất cứ đồ án tương tự nào

- Kết quả trình bày trong đồ án là trung thực, chưa từng được công bố trước đây

- Mọi sự tham khảo sử dụng trong đồ án đều được trích dẫn các nguồn tài liệu trong báo cáo và danh mục tài liệu tham khảo

- Mọi sao chép không hợp lệ, vi phạm quy chế của nhà trường, em xin hoàn toàn chịu trách nhiệm

Thái Nguyên, ngày tháng năm 2017

Sinh viên cam đoan

Phạm Trường Giang

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH 5

LỜI NÓI ĐẦU 6

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

1.2 Tìm hiểu UML 7

1.2.1 Giới thiệu tổng quan UML 7

1.3 Ngôn ngữ PHP 8

1.3.1 Giới thiệu 8

1.3.2 Một số quy tắc cơ bản 8

1.4 Giới thiệu về Laravel Framework 10

1.4.1 Giới thiệu chung 10

1.4.2 Sơ lược các tính năng cơ bản của Laravel Framework 10

1.4.3 Làm việc với dữ liệu trong laravel 17

CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 19

2.1 Khảo sát thực trạng và tìm hiểu nhu cầu 19

2.1.1 Thực trạng 19

2.1.3 Yêu cầu bài toán 20

2.2 Phân tích và thiết kế hệ thống 20

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

2.2.2 Phân tích yêu cầu hệ thống 21

2.3 Phân tích thiết kế hệ thống 23

2.3.1 Biểu đồ Usecase của hệ thống 23

2.3.2 Biểu đồ trình tự 29

2.3.3 Biểu đồ lớp 41

CHƯƠNG 3: CÁI ĐẶT HỆ THỐNG 42

3.1 Trang chủ 42

Trang 4

3.3 Đặt hàng – giỏ hàng 44

3.4 Thanh toán 44

3.5 Đặt hàng thành công 45

3.6 Quản trị 45

3.6.1 Quản lý – Thêm mới bài viết 46

3.6.2 Quản lý sản phẩm 46

3.6.3 Quản lý danh mục sản phẩm 47

3.6.4 Quản lý đơn hàng 47

3.6.5 Chi tiết đơn hàng 48

3.6.4 Quản lý người dùng 48

KẾT LUẬN 49

TÀI LIỆU THAM KHẢO 50

Trang 5

DANH MỤC HÌNH

Hình 2.1: Biểu đồ usecase tổng quát 24

Hình 2.2: Biểu đồ usecase chuyên mục 25

Hình 2.3 : Biểu đồ usecase danh mục 25

Hình 2.4: Biểu đồ usecase sản phẩm 26

Hình 2.5: Biểu đồ usecase đơn hàng 26

Hình 2.6: Biểu đồ usecase tin tức 27

Hình 2.7: Biểu đồ usecase quản lý thống kê 27

Hình 2.8: Biểu đồ usecase người quản trị 28

Hình 2.9: Biểu đồ trình tự đăng nhập 29

Hình 2.10: Biểu đồ trình tự đăng xuất 29

Hình 2.11: Biểu đồ trình tự tìm kiếm 30

Hình 2.12: Biểu đồ trình tự cho sản phẩm vào giỏ hàng 30

Hình 2.13: Biểu đồ trình tự cập nhật giỏ hàng 31

Hình 2.14: Biểu đồ trình tự đặt hàng 32

Hình 2.15: Biểu đồ trình tự quản lý xem chuyên mục 33

Hình 2.16: Biểu đồ trình tự quản lý thêm chuyên mục 33

Hình 2.17: Biểu đồ trình tự quản lý sửa chuyên mục 34

Hình 2.18: Biểu đồ trình tự quản lý xóa chuyên mục 34

Hình 2.19: Biểu đồ trình tự quản lý xem danh mục 35

Hình 2.20: Biểu đồ trình tự quản lý thêm danh mục 36

Hình 2.21: Biểu đồ trình tự quản lý sửa danh mục 37

Hình 2.22: Biểu đồ trình tự quản lý xóa danh mục 37

Hình 2.23: Biểu đồ trình tự quản lý xem sản phẩm 38

Hình 2.24: Biểu đồ trình tự quản lý thêm sản phẩm 38

Hình 2.25: Biểu đồ trình tự quản lý sửa sản phẩm 39

Hình 2.26: Biểu đồ trình tự quản lý xóa sản phẩm 39

Hình 2.27: Biểu đồ trình tự quản lý xem đơn hàng 40

Hình 2.28: Biểu đồ trình tự quản lý sửa đơn hàng 40

Hình 2.29: Biểu đồ trình tự quản lý xóa đơn hàng 41

Hình 2.30: Biểu đồ lớp 41

Trang 6

LỜI NÓI ĐẦU

Tin học đã và đang được phát triển rộng rãi trong hầu hết các lĩnh vực của nền kinh tế xã hội Việc ứng dụng rộng rãi của tin học đã đem lại những thành tựu

vô cùng to lớn trong nhiều nghành, nhiều lĩnh vực khác nhau, đặc biệt trong lĩnh vực quản lý và lưu trữ Trước tình hình đó, là một sinh viên nghành công nghệ thông tin đang được học tập trong ĐH CNTT& TT- Đại học Thái Nguyên em luôn

có nguyện vọng muốn đem những kiến thức mới về công nghệ thông tin áp dụng vào đời sống nói chung và công tác quản lý nói riêng

Với công nghệ Word Wide Web, hay còn gọi là Web sẽ giúp bạn đưa những thông tin mong muốn của mình lên mạng Internet cho mọi người cùng xem một cách dễ dàng với các công cụ và những ngôn ngữ lập trình khác nhau Sự ra đời của các ngôn ngữ lập trình cho phép chúng ta xây dựng các trang Web đáp ứng được các yêu cầu của người sử dụng PHP (Personal Home Page) là kịch bản trên phía trình chủ (Server Script) cho phép chúng ta xây dựng trang Web trên cơ sở dữ liệu Với nhiều ưu điểm nổi bật mà PHP và MySQL được rất nhiều người sử dụng

Với lí do đó, được sự hướng dẫn và giúp đỡ của thầy giáo Tiến sĩ Vũ Vinh

Quang, em lựa chọn đề tài “Xây dựng website thương mại điện tử cho shop mĩ phẩm xách tay bằng Laravel”

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

- Khảo sát yêu cầu thực tế tại cửa hàng mĩ phẩm xách tay để nắm bắt các thông tin về sản phẩm mà cửa hàng đang kinh doanh, quy trình quản lý, đồng thời thu nhập các biểu mẫu chứng từ thực tế tại công ty

- Phân tích thiết kế hệ thống dựa trên các nội dung khảo sát

- Tìm hiểu các ngôn ngữ lập trình cần thiết để thiết kế và xây dựng website

Trang 7

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

Hệ thống website giới thiệu các món ăn của Việt Nam được phân tích hướng đối tượng UML, sử dụng hệ quản trị cơ sở dữ liệu MySQL, ngôn ngữ lập trình PHP kết hợp với JavaScript, HTML, CSS, các thư viện của jQuery, PHP Framework: Laravel 5.2

1.2 Tìm hiểu UML

1.2.1 Giới thiệu tổng quan UML

Ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language, viết tắt thành UML) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng

Cách xây dựng các mô hình trong UML phù hợp mô tả các hệ thống thông tin cả về cấu trúc cũng như hoạt động Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho những người thiết kế và thực hiện hệ thống thông tin cũng như những người sử dụng nó; tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng Cách nhìn bao quát này giúp nắm bắt trọn vẹn các yêu cầu của người dùng; phục vụ từ giai đoạn phân tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin Các mô hình hướng đối tượng được lập cũng là cơ sở cho việc ứng dụng các chương trình tự động sinh mã trong các ngôn ngữ lập trình hướng đối tượng, chẳng hạn như ngôn ngữ C++, Java, Phương pháp

mô hình này rất hữu dụng trong lập trình hướng đối tượng Các mô hình được sử dụng bao gồm Mô hình đối tượng (mô hình tĩnh) và Mô hình động

UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phần tử mô hình (model elements) Tập hợp các phần tử mô hình tạo thành các Sơ đồ UML (UML diagrams) Có các loại sơ đồ UML chủ yếu sau:

● Sơ đồ lớp (Class Diagram)

● Sơ đồ đối tượng (Object Diagram)

● Sơ đồ tình huống sử dụng (Use Cases Diagram)

● Sơ đồ trình tự (Sequence Diagram)

● Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure

Trang 8

● Sơ đồ trạng thái (State Machine Diagram)

● Sơ đồ thành phần (Component Diagram)

● Sơ đồ hoạt động (Activity Diagram)

● Sơ đồ triển khai (Deployment Diagram)

● Sơ đồ gói (Package Diagram)

● Sơ đồ liên lạc (Communication Diagram)

● Sơ đồ tương tác (Interaction Overview Diagram - UML 2.0)

● Sơ đồ phối hợp thời gian (Timing Diagram - UML 2.0)

1.3 Ngôn ngữ PHP

1.3.1 Giới thiệu

PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML

Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C

và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới

1.3.2 Một số quy tắc cơ bản

Bắt đầu viết mã PHP

● Các câu lệnh PHP phải được đặt trong file có đuôi mở rộng là php

● Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã

PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng

● Khai báo biến: $tên_biến = [giá trị];

Trang 9

● Khai báo hằng: define(‘ten_hang’, ‘gia_tri’);

Trong đó $array là mảng cần lặp, $key là số chỉ mục (mảng có chỉ mục) hoặc

là key (trong mảng kết hợp), $value là giá trị của phần tử ở vị trí $key

vô hạn nếu biểu thức điều kiện bạn truyền vào luôn luôn đúng

Khai báo class và hàm

● Tạo class

class <tên class> [extends <tên class>]{

// các câu lệnh;

}

● Khai báo hàm tự định nghĩa

function <tên hàm>([các tham số]){

// Các câu lệnh;

}

Trang 10

Có thể khai báo tên hàm trùng tên class để khai báo hàm khởi tạo Hàm khởi tạo tự động chạy đầu tiên khi đối tượng được tạo

● Hàm hủy: function destruct(){[ câu lệnh] }

Hàm khởi tạo tự động load cuối cùng khi đối tượng được tạo

1.4 Giới thiệu về Laravel Framework

1.4.1 Giới thiệu chung

Laravel được tạo ra bởi Taylor Otwell và phát hành chính thức vào 06/2011 Laravel là 1 open source, là một framework dùng để xây dựng web application, được thiết kế dựa trên mô hình MVC (Model, Controller, View), toàn bộ source code được đặt trên github Theo kết qủa khảo sát của các Developer vào tháng 12 năm 2013, thì Laravel Framework đứng top 1 một trong những framework phổ biến nhất, tiếp sau là Phalcon, Symfony2, CodeIgniter và các framework khác Tháng 8 năm 2014, Laravel Framework được xem như là một dự án PHP phổ biến nhất trên Github

1.4.2 Sơ lược các tính năng cơ bản của Laravel Framework

1.4.2.1 Route

Route trong laravel có nhiệm vụ định hướng request của laravel

Hầu hết các route của laravel định nghĩa trong file app/Http/routes.php Và

đây là danh sách các loại Route bao gồm các loại cơ bản và thường được sử dụng sau:

● Route::get phương thức GET

● Route::post phương thức POST

● Route::match kết hợp hiều phương phức

● Route::any nhận tất cả các phương thức

● Route::filter tạo ra bộ lọc nhằm mục đích nào đó, ví dụ tạo bộ lọc kiểm tra

đã đăng nhập hay chưa

● Route::group gom các route lại với nhau thành một nhóm

● Route::controller gọi đến controller tương ứng

● Route::resource sử dụng với resource controller

Sử dụng route:

Trang 11

Route::<loại route>( $uri, $action );

Trong đó $action có thể là 1 mảng, hàm hoặc 1 chuỗi

1.4.2.2 Controller

Sau khi route nhận được request thì sẽ chuyển hướng request đến cho controller và giao cho controller này xử lý Controller sẽ gọi tới Model để tương tác với cơ sở dữ liệu (database) và đưa dữ liệu tới View và View sẽ nhận dữ liệu và chuyển thành những đoạn mã HTML rồi gửi về cho Client

Tất cả controller trong laravel được chứa trong thư mục app/Http/controllers

và việc tạo tên file, đặt tên controller cũng phải tuân theo nguyên tắc của nó như sau:

● Trong laravel có một lớp xử lý Controller chính của nó, do đó các Controller tạo mới phải kế thừa controller này

● Tên controller phải trùng với tên file

Có hai cách tạo controller:

● Tạo trực tiếp trong thư mục app/Http/controllers:

Class <Tên controller> extends Controller{

//Các action

}

● Tạo bằng câu lệnh artisan:

Trỏ đến thư mục gốc chứa project laravel, sau đó nhập câu lệnh:

php artisan make:controller tên_controller

Tạo các action trong controller

Khi làm việc với Route::controller thì cần chú ý việc đặt tên action phải tuân

theo quy tắc methodUri như sau:

● method là post, get, và viết thường

● Uri: Chữ cái đầu tiên của Uri sẽ bắt buộc viết in hoa, cứ 1 chữ in hoa sẽ được tính là 1 đoạn uri được phân cách bởi dấu -

Ví dụ: action getDemoAction sẽ có method là get và Uri là demo-action

Trang 12

● Khi làm việc với Route::resource thì controller laravel hỗ trợ 8 action:

index, create, store, show, edit, update, destroy nhưng trong controller không nhất thiết phải tạo đủ 8 action này

Ngoại trừ những điều trên thì action bạn có thể đặt tên tùy ý

1.4.2.3 View

View là một thành phần khá quan trọng trong mô hình MVC Nhiệm vụ của View là nhận dữ liệu từ Controller và sau đó dựa vào layout của giao diện nó sẽ xử

lý dữ liệu theo yêu cầu

Trong laravel 5.2, mặc định tất cả các file view sẽ được lưu trong thư mục

app/resources/views với đuôi file là php hoặc blade.php nếu ta sử dụng

blade-template (khuyên dùng), việc tạo thì 2 loại file này tương tự nhau, bạn chỉ việc tạo

file mới trong thư mục app/resources/views là được

Để gọi một view trong laravel ta dùng cú pháp sau:

view($view, $data = array(), $mergeData = array());

Trong đó:

● $view là tên view mà bạn đã tạo

● $data là mảng dữ liệu bạn truyền cho view thao tác để hiển thị

● $mergeData là mảng dữ liệu sẽ được merge với $data bằng hàm array_merge

● $view là bắt buộc, còn 2 tham số còn lại là tùy chọn

Nếu bạn muốn gọi sub-view thì sử dụng dấu chấm để biểu thị cho 1 cấp thư mục Ví dụ bạn gọi đến sub-view login ở thư mục auth như ví dụ ở trên thì bạn viết

như sau:

view(‘auth.login’);

Trang 13

Theo mô hình MVC thì View sẽ được gọi trong Controller nên trong laravel tương tự như vậy, tuy nhiên bạn có thể gọi nó trong route cũng được

- Truyền biến qua view

Có 3 cách để truyền biến qua view:

● Truyền biến ngay khi gọi view

view(‘$view’, [‘$key’ => ‘$value’]);

Trong đó:

● $view (string): là tên view sẽ được gọi

● $key(string): là tên biến

● $value(string): là giá trị của biến;

● Sử dụng with

view(‘<view>’)->with($key, $value);

Trong đó:

● $view (string): là tên view sẽ được gọi

● $key (string hoặc array): nếu là chuỗi thì $key sẽ đóng vai trò là biến dùng

để sử dụng trong view nếu là mảng thì mỗi khóa của mảng sẽ là 1 biến trong view

● $value (string): nếu $key là chuỗi thì $value chính là giá trị của $key trong view, ngược lại thì $value không có giá trị trong view

- with sẽ là bắt buộc có và viết hường

- Name ở đây là tên biến sẽ gọi trong view và chữ cái đầu tiên viết in hoa và các chữ cái còn lại viết thường

- $value: giá trị của biến của $name

Ngoài ra ta có thể sử dụng hàm compact để truyền biến trong view

Cú pháp: view($view, compact(‘$var’));

Trang 14

Trong đó:

- $view (string): là tên view sẽ được gọi

- $var(string): là biến cần truyền

1.4.2.4 Sử dụng blade engine trong laravel

Template engine có tác dụng giúp sạch đi những đoạn code PHP nằm trong View nên tách biệt hoàn toàn giữa người cắt CSS và người code PHP Hiện nay có khá nhiều template engine như Smarty, tuy nhiên việc sử dụng nó đang là một câu hỏi lớn vì tốc độ xử lý của ứng dụng sẽ trở nên chậm hơn Lý do mỗi khi render qua view thì PHP sẽ phải duyệt toàn bộ nội dung của view và tìm những biểu thức của engine và gán dữ liệu vào Template engine Blade là một engine khá đơn giản nhưng đầy mạnh mẽ Template engine này được tích hợp sẵn bên trong laravel và

tất cả blade template engine đều có phần mở rộng là blade.php

- Tạo Blade template engine

Tất cả các Blade template engine đều có phần mở rộng là blade.php và nằm trong thư mục app/resources/views

Các đoạn mã htlm trong file viết như file html bình thường Ví dụ:

- Các cú pháp sử dụng trong Blade template engine

● Blade sử dụng cặp ngoặc {{}} hoặc {!! !!} để echo giá trị

Ví dụ: Hôm nay là ngày: {{date("d-m-Y")}}

● Sử dụng or để xuất giá trị mặc định

Trang 15

Ví dụ: Hello, {{ $name or 'Buzz' }}

Nếu biến $name không tồn tại thì sẽ echo ra Buzz

● Sử dụng 3 cặp ngoặc {{{}}} để xuất giá trị dưới dạng HTML entities

● Sử dụng các vòng lặp, câu lệnh điều kiện

Để sử dụng vòng lặp hoặc câu điều kiện if thì ta chỉ việc thêm @ ngay trước câu lệnh (theo cú pháp PHP) và kết thúc bằng @end +tên hàm

Lưu ý: Giả sử file a.blade.php include file b.blade.php thì những biến sử

dụng được ở file a.blade.php thì đều có thể sử dụng trong file b.blade.php

Trang 16

Laravel 5 đi kèm với model User mặc định app/User.php và class này sẽ đại

diện cho User trong toàn bộ ứng dụng của chúng ta

Migration trong laravel giúp quản lý sự thay đổi cấu trúc dữ liệu Sử dụng migration giúp lập trình viên giảm nhẹ việc triển khai ứng dụng

- Tạo model:

● Tạo file trong thư mục app với quy tắc tên file phải trùng tên model, hoặc

tạo với câu lệnh:

Php artisan make:model model_name

Trong đó model_name là tên model

● Với mỗi một model thì đều phả kế thừa Model của laravel để nó có thể

chấp nhận và xử lý model ta tự tạo

- Tạo Migration

Lệnh tạo:

Php artisan make:migration minration_name

Trong đó: minration_name là tên của migration ta định tạo

Trang 17

Sau khi tạo thì migration sẽ nằm trong thư mục app/database/migrations

1.4.3 Làm việc với dữ liệu trong laravel

1.4.3.1 Eloquent

Để sử dụng được Eloquent thì cần tạo model và định nghĩa model đó

Ví dụ: Tạo model User.php trong thư mục app/models/User.php

class User extends Eloquent {

protected $table = 'my_users';

protected $fillable = ['name', 'email'];

protected $hidden = ['password', 'remember_token'];

}

● Khi model được định nghĩa là chúng ta có thể thao tác trên nó,và lớp model đều phải kế thừa từ lớp Eloquent

● Thuộc tính $table sẽ khai báo bảng dữ liệu mà ta sẽ thao tác

● Thuộc tính $fillable khai báo những trường dữ liệu nào có thể hiển thị

● Thuộc tính $fillable khai báo các trường ẩn

- Thao tác với dữ liệu

Cú pháp:

$Model::bieuthuc->laydulieu();

Trong đó:

- $Model: là model đã được định nghĩa

- Bieuthuc: là các biểu thức mà trong câu truy vấn sẽ thực

- laydulieu(): là phương thức để thực thi câu truy vấn bao gồm các biểu thức trước đó

Các biểu thức truy vấn dữ liệu:

● get(): kiết xuất dữ liệu

● find($id): tìm và chọn bộ dữ liệu có id là $id

● where($where): Truy vấn dữ liệu với điều kiện $where

● orderBy($name, $type): Sắp xếp dữ liệu trả về theo trường $name và kiểu

$type

Trang 18

● paginate($number): Phân trang tự động với số bộ trên một trang là

$number

● all(): lấy tất cả dữ liệu được chọn trong bảng;

● take($n1)->skip($n2): Lấy $n2 bộ dữ liệu bắt đầu từ bộ thứ $n1

Ngoài ra còn một sơ biểu thức khách như: orWhere, whereIn, groupBy, …

Trang 19

CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát thực trạng và tìm hiểu nhu cầu

Muốn thực hiện được thì cần có phương tiện quảng bá cũng như bán hàng cho khách hàng có thể dễ dàng tiếp cận và sử dụng

Hiện tại việc mua bán của cửa hàng vẫn thực hiện trên giấy tờ, việc kiết xuất thông tin, cập nhật hàng hóa được ghi chép lưu trữ trên sổ sách, không có những trang web quảng cáo cho công ty nên việc bán hàng trở lên kém hiệu quả, tốn công sức cho tổng hợp thống kê và báo cáo tổng hợp, ngoài ra còn có thể dẫn đến thông

tin thiếu sót, thừa hoặc bị sai lệch

Nguồn cung cấp mĩ phẩm là các đại lý lớn trong thành phố

Việc tra cứu tìm kiếm thông tin các loại mĩ phẩm mất nhiều thời gian, công sức, khách hàng chỉ có thể xem qua các tờ quảng cáo của cửa hàng nhưng lại không thực sự đầy đủ

Khó cập nhật thường xuyên các thông tin thay đổi, như mỗi khi cửa hàng có các loại mĩ phẩm mới

- Khác hàng đến với cửa hàng để lựa chọn mặt hàng và mua

- Khác hàng xem thông tin chi tiết về mặt hàng, lựa chọn loại mĩ phẩm ưng ý

Trang 20

 Chưa biết rõ các dịch vụ bảo hành của công ty

- Thanh toán

Sau khi khách hàng đã tìm hiểu đầy đủ thông tin sách và quyết định mua sách, khách hàng sẽ đến bàn thanh toán để thực viện việc mua hàng với nhân viên của cửa hàng:

 Khách hàng cung cấp chi tiết thông tin cá nhân cho quá trình thanh toán: tên, tuổi , địa chỉ, số điện thoại…

 Nhân viên dựa vào thông tin khách hàng cung cấp sẽ ghi hóa đơn thanh toán

 Khách hàng xác nhận vào hóa đơn rồi trả tiền

 Sau khi khách hàng đã mua hàng, hàng sẽ được chuyển tới đúng địa chỉ

- Nhân viên bán hàng tổng hợp báo cáo việc bán hàng theo định kỳ tháng, quý, năm Tổng hợp những sách bán chạy, sách tồn kho…

- Cửa hàng đầu tư kinh phí vào quảng cáo các loại mĩ phẩm, để tăng lượng khách hành, tăng doanh số bán hàng

Phương châm: Website là nơi giới thiệu,trưng bày hình ảnh thông tin liên

quan đến sản phẩm qua đó người sử dụng tham khảo là đặt hàng,mua sản phẩm thông qua website

Đối tượng khách hàng : nữ học sinh,sinh viên,người đi làm…

2.1.3 Yêu cầu bài toán

Cửa hàng yêu cầu tạo một website giúp người sử dụng tra cứu, theo dõi thông tin sản phẩm, các loại mĩ phẩm có mặt trên thì trường Website là công cụ để nguwofi mua giao tiếp với cửa hàng.Website phải hoạt động tốt,đầy đủ chức năng ,là kênh thông tin đáng tin cậy giữa người mua và cửa hàng

2.2 Phân tích và thiết kế hệ thống

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

 Xác định yêu cầu hệ thống

 Yêu cầu chức năng:

- Đảm bảo tính bảo mật thông tin

Trang 21

- Trang hiển thị bao gồm: Trang chủ hiển thị các sản phẩm mới nhất, tin tức

mới nhất,…

- Trang quản trị bao gồm: quản lý các trang menu, quản lý sản phẩm, quản

lý tin tức, đăng tin tức, đăng sản phẩm, quản lý hình ảnh,…

- Chức năng danh sách tin tức chính của website, bao gồm các tin tức liên

quan đến website

 Yêu cầu phi chức năng:

- Giao diện thân thiện, dễ sử dụng

- Đảm bảo tính chính xác trên mọi trình duyệt khác nhau

- Đáp ứng độ tin cậy, cũng hiệu quả trên thời gian và không gian

- Chuyển giao dễ dàng và dễ triển khai

- Nội dung hiển thị một cách khoa học và chi tiết theo từng chuyên mục được

bố trí một cách rành mạch rõ ràng, nhằm thúc đẩy tốt nhất việc giao thương trên website, tương tác hệ thống cao

2.2.2 Phân tích yêu cầu hệ thống

Sau khi khảo sát và xác định được các yêu cầu của hệ thống, có thể phân tích

để đưa ra các quy trình nghiệp vụ chung của hệ thống bao gồm các phần:

 Thao tác với thông tin khách hàng trong hệ thống

Người quản trị Admin là người có quyền thao tác với toàn bộ hệ thống Để đảm bảo tính bảo mật, yêu cầu có hệ thống phân quyền cụ thể và mật khẩu cho người dùng phải được mã hóa Các mục yêu cầu phải đạt được với thông tin người quản trị viên là:

 Thêm mới, sửa, xóa thông tin sản phẩm, tin tức

 Phân cấp quản lý làm 2 cấp: Admin và khách hàng truy cập Trong đó Admin là người có toàn quyền thao tác với hệ thống về vệc phân quyền và cập nhật người dùng, có toàn bộ thao tác quản lý tin tức trên website đối với việc đăng tin, duyệt tin, Còn đối với khách hàng thì có quyền xem sản phẩm, xem tin tức…

 Thao tác với chuyên mục

Việc thiết lập chuyên mục là yêu cầu bắt buộc Các yêu cầu gồm có:

Trang 22

- Thời gian thực hiện: khi hệ thống có nhu cầu mở thêm các chuyên mục mới đáp ứng nhu cầu trao đổi đối với khách hàng

- Tác nhân thực hiện: quản trị viên (Admin)

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

1 Quản trị viên mở phần quản trị website rồi nhập những thông tin cần thiết

để thêm mới vào form

2 Hệ thống kiểm tra thông tin rồi lưu lại vào trong cơ sở dữ liệu

 Sửa thông tin chuyên mục:

- Thời gian thực hiện: khi quản trị viên muốn cập nhật thông tin của chuyên mục đó

- Tác nhân thực hiện: quản trị viên

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

1 Quản trị viên chọn chuyên mục cần sửa trong trang quản lý chuyên mục

2 Quản trị viên sửa thông tin trong các điều khiển hiển thị trong chuyên mục vừa chọn

3 Thông tin chuyên mục được lưu lại vào trong cơ sở dữ liệu thay thế thông tin chuyên mục cũ

 Xóa thông tin chuyên mục:

- Thời gian thực hiện: Khi chuyên mục đã không cần thiết nữa

- Tác nhân thực hiện: quản trị viên

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

1 Quản trị viên chọn chuyên mục cần xóa trong bảng thông tin

2 Quản trị viên nhấn nút xóa trên trang quản lý chuyên mục

3 Thông tin được xóa khỏi csdl

 Thao tác với tin tức

Việc thiết lập tin tức là yêu cầu bắt buộc Các yêu cầu gồm có: thêm mới tin tức, hình ảnh,

 Thêm mới tin tức:

- Thời gian thực hiện: Cập nhật thường xuyên, tùy vào người quản trị hệ thống

Trang 23

- Tác nhân thực hiện: quản trị viên (Admin)

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

1 Quản trị viên mở phần quản lý tin tức rồi nhập những thông tin cần thiết

để thêm mới

2 Hệ thống kiểm tra thông tin rồi lưu lại vào trong cơ sở dữ liệu

 Sửa thông tin tin tức:

- Thời gian thực hiện: khi quản trị viên muốn cập nhật thông tin của tin tức đó

- Tác nhân thực hiện: quản trị viên

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

1 Quản trị viên chọn tin tức cần sửa trong trang quản lý tin tức

2 Quản trị viên sửa thông tin trong các điều khiển hiển thị trong tin tức vừa chọn

3 Thông tin tin tức được lưu lại vào trong cơ sở dữ liệu thay thế thông tin tin tức cũ

 Xóa thông tin tin tức:

- Thời gian thực hiện: Khi tin tức đã không phù hợp hoặc không cần thiết nữa

- Tác nhân thực hiện: quản trị viên

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

1 Quản trị viên chọn tin tức cần xóa trong bảng thông tin

2 Quản trị viên nhấn nút xóa trên trang quản lý tin tức

3 Thông tin được xóa khỏi csdl

2.3 Phân tích thiết kế hệ thống

2.3.1 Biểu đồ Usecase của hệ thống

Biểu đồ Usecase tổng quát

Biểu đồ cho cái nhìn tổng quát về hệ thống bao gồm đầy đủ các chức năng

mà hệ thống cung cấp Quản trị viên sẽ quản lý các chức năng cung cấp đến cho khách hàng các dịch vụ của mình

Trang 24

Hình 2.1: Biểu đồ usecase tổng quát

Danh sách các Usecase

1 Quản lý hệ thống Dùng để quản lý việc admin đăng nhập hay đăng

xuất vào hệ thống

2 Quản lý chuyên mục Dùng để quản lý các chuyên mục sản phẩm

3 Quản lý danh mục Dùng để quản lý danh mục sản phẩm

4 Quản lý hãng Dùng để quản lý hãng sản phẩm

5 Quản lý sản phẩm Dùng để quản lý sản phẩm

6 Quản lý đơn hàng Dùng để quản lý đơn hàng khách hàng đã đặt

7 Quản lý tin tức Dùng để quản lý các tin tức của công ty

8 Quản lý người quản trị Dùng để quản lý người quản trị

Bảng 2.1: Danh sách Usecase

Trang 25

Biểu đồ Usecase chức năng quản lý chuyên mục

Hình 2.2: Biểu đồ usecase chuyên mục

Biểu đồ Usecase chức năng quản lý danh mục

Hình 2.3 : Biểu đồ usecase danh mục

Ngày đăng: 07/11/2017, 16:12

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w