CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1. Lý do chọn đề tài Ngày nay, các ứng dụng công nghệ thông tin được áp dụng trong mọi lĩnh vực nghiên cứu khoa học kỹ thuật cũng như đời sống, máy tính trở thành công cụ trợ giúp đắc lực cho con người trong lưu trữ, phân tích và xử lý thông tin. Ở nước ta, cùng với sự phát triển chung của nền kinh tế, tin học ngày càng được ứng dụng rộng rãi trong các công tác quản lý và từng bước khẳng định sức mạnh cũng như vị trí quan trọng của mình. Trong cuộc sống, nhu cầu mua sắm cho bản thân của mọi người càng tăng cao dẫn đến sự phát triển vượt trội của các sàn thương mại điện tử lớn như: Lazada, Shopee, Tiki,… bên cạnh những sàn thương mại điện tử lớn thì các sàn thương mại điện tử nhỏ cũng đang phát triển song song với nhu cầu thị yếu của người dung.
Trong bối cảnh thời trang ngày càng quan trọng và đa dạng, việc tạo ra một trang web bán quần áo trực tuyến trở nên cực kỳ quan trọng để đáp ứng nhu cầu ngày càng tăng của khách hàng. Vì vậy, qua thời gian khảo sát thực tế và vận dụng những kiến thức đã được học, nên em quyết định chọn và thực hiện đề tài “Xây dựng Website bán quần áo cho shop thời trang Thu Huyền” là đề tài báo cáo tốt nghiệp dưới sự giám sát và hướng dẫn của giảng viên – Khoa công nghệ thông tin – Trường đại học Công nghệ giao thông vận tải. Mục tiêu - Xây dựng một website bán quần áo cho Shop thời trang Thu Huyền bằng ngôn ngữ lập trình javascript và C#, với sự hỗ trợ của các framework liên quan và hệ quản trị cơ sở dữ liệu SQL Server. - Triển khai cài đặt chương trình trên môi trường thực tế.
Giới hạn và phạm vi thực hiện - Khảo sát phần mềm cụ thể, phân tích thiết kế hệ thống. - Tìm hiểu quy trình hoạt động của một website bán hàng. - Tìm hiểu và xây dựng các chức năng cần thiết của một website bán hàng. Kết quả dự kiến - Hiểu được quy trình, phương thức bán hàng cơ bản của website bán hàng.
- Nắm chắc được quy trình cần và đủ để làm ra một website bán quần áo như những 3 website bán hàng khác. - Xây dựng được một website bán quần áo trực tuyến với các chức năng tối thiểu mà website bán hàng phải có: - Đối với khách hàng: Cho phép khách hàng tìm kiếm các sản phẩm. Cho phép khách hàng xem chi tiết về sản phẩm. Cho phép khách hàng phản hồi về chất lượng phục vụ.
Cho phép khách hàng tiến hành đặt hàng sau khi chọn hàng. Cho phép khách hàng lựa chọn một trong hai hình thức thanh toán tại nhà hoặc thanh toán tại cửa hàng. - Đối với người quản trị: Quản lý thêm, sửa, xóa sản phẩm và danh mục sản phẩm Quản lý đơn đặt hàng và các phản hồi từ khách hàng Quản lý thêm, xóa khách hàng. Quản lý các giao dịch.
Quản lý nhà cung cấp - Đáp ứng được nhu cầu người dùng. - Giao diện thân thiện, trực quan với người dùng, sử dụng dễ dàng. - Ưu tiên áp dụng những công nghệ mới nhất trong việc xây dựng. - Hoàn thành và báo cáo đồ án tốt nghiệp đúng thời hạn quy định.
4 CHƯƠNG 2: KIẾN THỨC NỀN TẢNG Qua quá trình học trên ghế nhà trường cùng với thời gian nghiên cứu tài liệu tham khảo, thời gian làm việc và tự học em đã tóm tắt được những kiến thức nền tảng chính được sử dụng trong thiết kế cơ sở dữ liệu và xây dựng chương trình như sau.1 Cơ sở lý thuyết Để có thể xây dựng một website thì phân tích thiết kế, cơ sở dữ liệu và ngôn ngữ lập trình là 3 phần không thể thiếu, vì vậy em đã nghiên cứu và tóm tắt những tài liệu và trọng điểm chính sau đây.1 Phân tích thiết kế hướng đối tượng Định nghĩa: Phân tích thiết kế hướng đối tượng là giai đọan phát triển một mô hình chính xác và súc tích của vấn đề, có thành phần là các đối tượng và khái niệm đời thực, dễ hiểu đối với người sử dụng [3]. Ưu điểm: Một trong những ưu điểm quan trọng bậc nhất của phương pháp phân tích và thiết kế hướng đối tượng là tính tái sử dụng: Có thể tạo các thành phần (đối tượng) một lần và dùng chúng nhiều lần sau đó.2 Cơ sở dữ liệu Định nghĩa: Cơ sở dữ liệu là một hệ thống các thông tin có cấu trúc, được lưu trữ trên các thiết bị lưu trữ nhằm thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng chạy cùng một lúc với những mục đích khác nhau [1]. Việc sử dụng hệ thống CSDL này sẽ khắc phục được những khuyết điểm của cách lưu trữ dưới dạng hệ thống tập tin đó là: Giảm trùng lặp thông tin ở mức thấp nhất, đảm bảo tính nhất quán và toàn vẹn dữ liệu, đảm bảo dữ liệu được truy xuất theo nhiều cách khác nhau, từ nhiều người khác nhau và nhiều ứng dụng khác nhau, tăng khả năng chia sẽ thông tin.3 Ngôn ngữ thiết kế website HTML Ngôn ngữ HTML là một trong các loại ngôn ngữ được sử dụng trong lập trình web. HTML là ngôn ngữ lập trình web được đánh giá là đơn giản.
Mọi trang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML. Hiện nay, phiên bản mới nhất của HTML là HTML5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản HTML cũ.4 CSS CSS (Cascading Style Sheets) là một ngôn ngữ dùng để định dạng cho các phần tử HTML (Ví dụ: chỉnh kích cỡ chữ, chỉnh font chữ, màu chữ, màu nền, hình nền, đường viền,.) dựa trên các cặp thuộc tính : giá trị thuộc tính [5].5 JAVASCRIPT và JQUERY Javascript là một ngôn ngữ lập trình kịch bản dựa vào đối tượng phát triển có sẵn hoặc tự định nghĩa ra tạo ra các trang web có tính tương tác, javascript được sử dụng rộng rãi trong các ứng 5 dụng Website. Javascript được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox, Chrome, v. thậm chí các trình duyệt trên thiết bị di động cũng có hỗ trợ [5].
JQuery là một thư viện kiểu mới của JavaScript, hệ thông lại các hàm của JavaScript để cho ngắn gọn, dễ nhớ, dễ dùng, được tạo bởi John Resig vào năm 2006. JQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện và tương tác với Ajax, tích hợp nhiều module khác nhau từ module hiệu ứng cho đến module truy vấn selector [5]. C# C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ sư của Microsoft vào năm 2000. C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được biên dịch trực tiếp thành mã thực thi của hệ điều hành. Trong các ứng dụng sử dụng .NET Framework, mã nguồn chương trình (C#, VB.NET) được biên dịch thành mã ngôn ngữ trung gian MSIL (Microsoft intermediate language). Sau đó mã này được biên dịch bởi Common Language Runtime (CLR) để trở thành mã thực thi của hệ điều hành. Hình bên dưới thể hiện quá trình chuyển đổi MSIL code thành native code.
Quá trình chuyển đổi MSIL code thành native code. C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class). Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân thiện với C và C++ hoặc 6 thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn.
ReactJS là một thư viện Javascript mã nguồn mở để xây dựng các thành phần giao diện có thể tái sử dụng. Nó được tạo ra bởi Jordan Walke, một kỹ sư phần mềm tại Facebook. Người bị ảnh hưởng bởi XHP (Một nền tảng thành phần HTML cho PHP). React lần đầu tiên được triển khai cho ứng dụng Newsfeed của Facebook năm 2011, sau đó được triển khai cho Instagram năm 2012.
ReactJS xây dựng lên các single-page-app (Thao tác xử lý trang web diễn ra trên một trang) và cho phép nhúng code html trong code javascript nhờ vào JSX. JSX là một dạng ngôn ngữ cho phép viết các mã HTML trong Javascript. JSX thực hiện tối ưu hóa trong khi biên dịch sang mã Javacsript. Các mã này cho thời gian thực hiện nhanh hơn nhiều so với một mã tương đương viết trực tiếp bằng Javascript.
Ngược với Javascript, JSX là kiểu statically-typed (biên dịch trước khi chạy) giống như Java, C++. Vì thế các lỗi sẽ được phát hiện ngay trong quá trình biên dịch. Ngoài ra, nó cũng cung cấp tính năng gỡ lỗi khi biên dịch rất tốt. Redux là một thư viện Javascript giúp tạo ra thành một lớp quản lý trạng thái của ứng dụng.
Được dựa trên nền tảng tư tưởng của kiến trúc Flux do Facebook giới thiệu, do vậy Redux thường là bộ đôi kết hợp hoàn hảo với ReactJS và React Native. 2 Sự khác biệt giữa việc sử dụng và không sử dụng redux 2.9 UML UML là viết tắt của “Unifiled Modeling Language” – là ngôn ngữ mô hình hóa thống nhất, dùng để đặc tả, trực quan hóa và tư liệu hóa phần mềm hướng đối tượng, có phần chính bao gồm những ký hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống. Nó là một ngôn ngữ để đặc tả, trực quan hoá [4]. Diagram (Biểu đồ): Đồ thị biểu diễn đồ họa về tập các phần tử trong mô hình và mối quan hệ của chúng.
Trong phiên bản mới nhất có 13 loại biểu đồ trong đó có 9 loại biểu đồ chính được sử dụng. Use Case Case Diagram (Biểu đồ ca sử dụng): Mô tả sự tương tác giữa các tác nhân ngoài và hệ thống thông qua các ca sử dụng. Class Diagram (Biểu đồ lớp): Mô tả cấu trúc tĩnh, mô hình khái niệm bao gồm các lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng. Object Diagram (Biểu đồ đối tượng): Là một phiên bản của biểu đồ lớp và thường cũng sử dụng các ký hiệu như biểu đồ lớp.
Sequence diagram (Biểu đồ trình tự): Thể hiện sự tương tác của các đối tượng với nhau.