Lược đồ DFD

Một phần của tài liệu 32-51800198-51800243-51900732 (Trang 32 - 42)

Lược đồ DFD của hệ thống gồm có 3 thực thể bên ngoài bao gồm: Khách hàng, Người bán và Chủ cửa hàng.

2.14.1 Context Diagram

Hình 4: Lược đồ DFD mức độ context

2.14.2 Level-0 diagram

Lược đồ ở mức độ context sau khi phân rã được mức độ 0 gồm có 7 tiến trình chính bao gồm: (1) Mua hàng, (2) Quản lý sản phẩm, (3) Quản lý người bán, (4) Quản lý khách hàng, (5) Quản lý khuyến mãi, (6) Quản lý đơn hàng và (7) Xem thống kê.

Các kho dữ liệu được sử dụng gồm có Danh sách sản phẩm, Danh sách người bán, Danh sách khách hàng, Danh sách khuyến mãi và Danh sách đơn hàng.

2.14.3 Level-1 diagram

Lược đồ ở mức độ 0 sau khi phân rã tiến trình chính (1) Mua hàng, ta được mức độ 1 gồm có 5 tiến trình chính bao gồm: (1.1) Tìm kiếm sản phẩm, (1.2) Đặt hàng, (1.3) Cập nhật đơn hàng, (1.4) Thanh toán và (1.5) Đánh giá sản phẩm. Các kho dữ liệu được sử dụng gồm có Giỏ hàng, Danh sách sản phẩm, Danh sách đơn hàng chờ giao và Danh sách đơn hàng.

CHƯƠNG 3: HIỆN THỰC HỆ THỐNG

3.15 Framework lập trình

3.15.1 Front-end: BOOTSTRAP 4

Bootstrap là một framework front-end miễn phí giúp người dùng phát triển các ứng dụng web nhanh và dễ dàng hơn, nó bao gồm các mẫu thiết kế dựa trên HTML và CSS như typography, form, button, table, navigation, modal, image carousels cũng như các plugins JavaScript tuỳ ý, bootstrap cũng cung cấp cho người dùng khả năng thiết kế web responsive một cách dễ dàng hơn. (Trong đó, Responsive web design là phong cách thiết kế trang web mà đề tài của chúng em đang hướng đến, có thể tự động điều chỉnh kích cỡ trang web để hiển thị vừa vặn trên tất cả thiết bị, từ điện thoại di động đến máy tính desktops kích thước lớn.)

Bootstrap 4 (viết tắt là BS4) là phiên bản Bootstrap mới nhất hiện nay với nhiều component mới, stylesheet nhanh hơn và responsive hơn, bên cạnh đó nó hỗ trợ các bản phát hành ổn định, mới nhất của tất cả các trình duyệt và nền tảng chính. Tuy nhiên, Internet Explorer 9 trở xuống không được hỗ trợ. Bootstrap 4 cũng không hỗ trợ BS3 Glyphicons, vì vậy phải sử dụng Font-Awesome hoặc các thư viện icon khác để thay thế.

Bootstrap 4 có các lợi ích như sau:

- Dễ dàng sử dụng: Chỉ cần một lượng kiến thức cơ bản về HTML và CSS, bất cứ người dùng nào cũng có thể sử dụng Bootstrap 4.

- Các tính năng được đáp ứng: Responsive CSS của Bootstrap 4 điều chỉnh cho điện thoại, máy tính bảng và máy tính để bàn.

- Cách tiếp cận Mobile-first: Trong Bootstrap 4, mobile-first styles là một phần của core framework.

- Khả năng tương thích trình duyệt: Bootstrap 4 tương thích với tất cả các trình duyệt hiện nay như Chrome, Firefox, Internet Explorer 10+, Edge, Safari và Opera. . .

Có 2 cách để sử dụng Bootstrap 4 trên trang web: - Dẫn Bootstrap 4 từ CDN.

- Tải xuống Bootstrap 4 từ getbootstrap.com.

Hình 7: Mẫu Bootstrap 4 cơ bản

3.15.2 Back-end: EXPRESS.JS

Expressjs là một framework nhỏ nhưng khá linh hoạt, được xây dựng trên nền tảng của Nodejs. Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile. Expressjs có vô số các package hỗ trợ nên người dùng không phải lo lắng trong khi làm việc với nó. Expressjs còn cung cấp thêm về các tính năng (feature) để lập trình tốt hơn, nhưng không gây giảm tốc độ của Nodejs. Expressjs cũng hỗ trợ các method HTTP và midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng. Hơn hết, các framework nổi tiếng của Nodejs hiện nay đều sử dụng Expressjs như một core function, chẳng hạn như SailsJS, MEAN,...

Expressjs có một số tính năng chính như sau:

- Define router cho phép sử dụng với các hành động khác nhau dựa trên phương thức HTTP và URL.

- Cho phép trả về các trang HTML dựa vào các tham số. Cấu trúc của Expressjs vô cùng đơn giản, gồm các phần: - Root:

• app.js chứa các thông tin về cấu hình, khai báo, các định nghĩa,...

• package.json chứa các package cho ứng dụng chạy. - Folder routes: chứa các route có trong ứng dụng. - Folder view: chứa view/template cho ứng dụng.

- Folder public: chứa các file css, js, images,...cho ứng dụng.

Hình 8: Cấu trúc của Expressjs

Các bước cài đặt Expressjs: - Cài đặt NodeJS.

- Cài đặt NPM.

3.15.3 DB engine: MONGODB

MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở, là một dạng NoSQL database được hàng triệu người sử dụng. Vì MongoDB là một database hướng tài liệu (document), nó sẽ tránh cấu trúc table-based của relational database để thích ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON.

MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một collection sẽ các các kích cỡ và các document khác nhau thay vì lưu trữ dạng bảng và hàng. Các dữ liệu được lưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh. MongoDB đã trở thành một trong những NoSQL database nổi trội nhất bấy giờ, được dùng làm backend cho rất nhiều website như eBay,

SourceForge và The New York Times.

MongoDB có những ưu điểm và nhược điểm như sau:

Ưu điểm Nhược điểm

Dữ liệu lưu trữ là phi cấu trúc, không có tính ràng buộc, toàn vẹn nên tính sẵn sàng cao, hiệu suất lớn và dễ dàng mở rộng lưu trữ.

Không ứng dụng được cho các mô hình giao dịch nào có yêu cầu độ chính xác cao do không có ràng buộc.

Dữ liệu sẽ được ghi đệm lên RAM, hạn chế truy cập vào ổ cứng nên làm tăng tốc độ đọc và ghi lên cao hơn.

Không ứng dụng được cho các mô hình giao dịch nào có yêu cầu độ chính xác cao do không có ràng buộc.

Không có cơ chế giao dịch để phục vụ các ứng dụng ngân hàng.

Dữ liệu lấy RAM làm trọng tâm hoạt động vì vậy khi hoạt động nó yêu cầu một bộ nhớ RAM lớn.

Mọi thay đổi về dữ liệu mặc định đều chưa được ghi xuống ổ cứng ngay lập tức vì vậy khả năng bị mất dữ liệu từ nguyên nhân mất điện đột xuất là rất cao.

Các thuật ngữ hay sử dụng trong MongoDB:

- id: Là trường bắt buộc có trong mỗi document. Trường id đại diện cho một giá trị duy nhất trong document MongoDB. Trường id cũng có thể được hiểu là khóa chính trong document. Nếu bạn thêm mới một document thì MongoDB sẽ tự động sinh ra một id đại diện cho document đó và nó là duy nhất trong cơ sở dữ liệu MongoDB.

- Collection: Là nhóm của nhiều document trong MongoDB. Collection có thể được hiểu là một bảng tương ứng trong cơ sở dữ liệu RDBMS. Collection nằm trong một cơ sở dữ liệu duy nhất. Các collection không phải định nghĩa các cột, các hàng hay kiểu dữ liệu trước.

- Cursor: Là một con trỏ đến tập kết quả của một truy vấn. Máy khách có thể lặp qua một con trỏ để lấy kết quả.

- Database: Là nơi chứa các Collection, giống với cơ sở dữ liệu RDMS chúng chứa các bảng. Mỗi Database có một tập tin riêng lưu trữ trên bộ nhớ vật lý. Một mấy chủ MongoDB có thể chứa nhiều Database.

- Document: Một bản ghi thuộc một Collection thì được gọi là một Document. Các Document lần lượt bao gồm các trường tên và trường giá trị.

- Field: Là một cặp name – value trong một document. Một document có thể có không hoặc nhiều trường. Các trường giống các cột ở cơ sở dữ liệu quan hệ. - JSON: Viết tắt của JavaScript Object Notation. Con người có thể đọc được ở định dạng văn bản đơn giản thể hiện cho các dữ liệu có cấu trúc. Hiện tại JSON đang hỗ trợ rất nhiều ngôn ngữ lập trình.

- Index: Là những cấu trúc dữ liệu đặc biệt, dùng để chứa một phần nhỏ của các tập dữ liệu một cách dễ dàng để quét. Chỉ số lưu trữ giá trị của một fields cụ thể hoặc thiết lập các fields, sắp xếp theo giá trị của các fields này. Index hỗ trợ độ phân tích một cách hiệu quả các truy vấn. Nếu không có chỉ mục, MongoDB sẽ phải quét tất cả các documents của collection để chọn ra những document phù hợp với câu truy vấn. Quá trình quét này là không hiệu quả và yêu cầu MongoDB để xử lý một khối lượng lớn dữ liệu.

Mặc dù MongoDB rất hữu dụng nhưng tùy theo tình huống khác nhau mà người dùng sẽ cân nhắc có nên sử dụng chương trình này hay không:

Nên dùng Không nên dùng

Khi trang web có tính chất Insert bởi MongoDB có thể ghi với tốc độ cao và bảo mật an toàn.

Hệ thống cần xử lý nhiều transaction như các giao dịch mua bán, chuyển tiền, ngân hàng.

Khi một số hệ thống Big Data có yêu cầu truy vấn nhanh vì chương trình này có hiệu suất truy vấn dữ liệu khá cao. Khi muốn tìm kiếm thông tin trong bộ nhớ tràn đầy những dữ liệu khác nhau, MongoDB có khả năng tìm kiếm thông tin liên quan nhanh.

Cần sử dụng đến các lệnh JOIN.

Khi muốn tìm kiếm thông tin trong bộ nhớ tràn đầy những dữ liệu khác nhau, MongoDB có khả năng tìm kiếm thông tin liên quan nhanh.

Khi máy chủ không có hệ quản trị cơ sở dữ liệu thì đây là chương trình phù hợp nên được sử dụng.

Một phần của tài liệu 32-51800198-51800243-51900732 (Trang 32 - 42)

Tải bản đầy đủ (PDF)

(67 trang)