Báo cáo đồ án website bán điện thoại bằng asp.net mvc, code thuê làm thuê đồ án cntt, Phú Phan chuyên nhận code thuê tất cả đồ án công nghệ thông tin, uy tín chất lượng, Đồ án với nhiều tính năng hay, nhiều tính năng nổi bật
GIỚI THIỆU VỀ ĐỀ TÀI
Lý do chọn đề tài
Sự phát triển của công nghệ thông tin đã thúc đẩy sự phát triển của hầu hết các lĩnh vực, trong đó có kinh doanh Với sự ra đời của internet cùng sự vươn lên của công nghệ đã dẫn đến hình thức kinh doanh online Hình thức kinh doanh online hiện đang được rất nhiều cửa hàng lựa chọn để tăng doanh thu của cửa hàng và để giới thiệu sản phẩm đến người tiêu dùng một cách dễ dàng, nhanh chóng.
Với những hình thức quản lý cửa hàng nói chung hay những cửa hàng bán điện thoại đi động nói riêng, việc quản lý theo hình thức truyền thống là gây khó khăn và tốn kém nhân lực trong rất nhiều khâu quản lý như tìm kiếm, lưu trữ thông tin, thống kê các mặt hàng… Và với hình thức truyền thống thì những thông tin về cửa hàng, cũng như các mặt hàng điện thoại và phụ kiện mà cửa hàng bán sẽ không được tiếp cận nhanh chóng đến người dùng. Để giải quyết những vấn đề nan giải này, em quyết định chọn đề tài
“Phân tích thiết kế và xây dựng phần mềm bán điện thoại đi động” Nhằm giúp những người quản lý hay chủ cửa hàng có thể mở rộng thị trường mua bán, quản lý cửa hàng, doanh nghiệp dễ dàng và nhanh chóng hơn.
Nhiệm vụ của đề tài
Nghiên cứu và khảo sát thực trạng các cửa hàng bán điện thoại di động, để rút ra các yêu cầu cần đạt được.
Nêu ra các lý thuyết áp dụng, phân tích và thiết kế hệ thống cần triển khai theo mô hình hiện đại, mà vẫn đảm bảo các nghiệp vụ của hệ thống cũ.
Triển khai, lập trình website bán điện thoại di động theo các yêu cầu đã đặt ra sau khi khảo sát và dựa theo phân tích thiết kế hệ thống đã tiến hành.
Dự kiến kết quả đạt được
Tìm hiểu nhu cầu, nghiệp vụ của các cửa hàng bán điện thoại đi động và phụ kiện đi kèm.
Hiểu về ngôn ngữ lập trình C#, hệ quản trị cơ sở dữ liệu SQL và áp dụng xây dựng phần mềm.
Hoàn thành phần mềm với các tính năng:
- Quản lý: Quản lý hệ thống với các mục quản lý sản phẩm, quản lý thông tin khách hàng, quản lý các đơn hàng, quản lý các bài viết của cửa hàng, quản lý các bình luận…
- Khách hàng: Có thể thực hiện chức năng tìm kiếm sản phẩm, xem các thông tin chi tiết của các sản phẩm điện thoại di động, thêm vào giỏ hàng, bình luận, đăng ký hay đăng nhập tài khoản…
Ý nghĩa của đề tài
Ý nghĩa khoa học: Vận dụng các kiến thức đã học để xây dựng website bán điện thoại di động:
- Nghiên cứu và lập trình với các ngôn ngữ thiết kế website HTML, CSS, cùng với các ngôn ngữ lập trình C#, JavaScript.
- Sử dụng mô hình MVC.
- Nghiên cứu phân tích và thiết kế hệ thống.
- Nghiên cứu xây dựng giao diện phần mềm.
Ý nghĩa thực tiễn: Phần mềm bán điện thoại giúp việc quản lý nhanh chóng, lưu trữ lượng dữ liệu lớn, còn có giao diện thân thiện, dễ sử dụng… Phần mềm bán điện thoại di động mang lại rất nhiều lợi ích cho người dùng:
- Giúp quản lý các sản phẩm điện thoại và phụ kiện với nhiều thao tác (thêm, sửa, xóa, tìm kiếm) nhanh chóng.
- Quản lý, theo dõi các đơn hàng dễ dàng, cập nhật các trạng thái liên tục.
- Các sản phẩm điện thoại được cập nhật thường xuyên.
- Khách hàng dễ dàng chọn mua những sản phẩm mình yêu thích thông qua chức năng tìm kiếm, và đặt mua nhanh chóng với chức năng đặt hàng.
Bố cục của đồ án
Chương I: Giới thiệu về đề tài:
Giới thiệu tổng quan về đề tài bao gồm nêu lý do chọn đề tài, nhiệm vụ của đề tài, dự kiến các kết quả sẽ đạt được khi xây dựng đề tài, ý nghĩa đề tài mang lại.
Chương II: Kiến thức nền tảng:
Nêu các cơ sở lý thuyết như ngôn ngữ HTML, CSS, ngôn ngữ lập trình C#, JavaScript,… và công cụ, mô hình sử dụng như mô hình MVC, phần mềm lập trình Visual Studio,… mà đề tài sử dụng.
Chương III: Phân tích và thiết kế hệ thống:
Tìm hiểu và triển khai việc phân tích các chức năng qua các biểu đồ Use Case, biểu đồ hoạt động, biểu đồ tuần tự và thiết kế cơ sở dữ liệu của hệ thống.
Chương IV: Giao diện phần mềm:
Từ những phân tích và thiết kế ở trên, tiến hành xây dựng triển khai giao diện phần mềm của hệ thống.
Trình bày những kết quả đạt được, hạn chế và hướng phát triển của đề tài trong tương lai.
Nêu các tài liệu tham khảo trong quá trình xây dựng.
KIẾN THỨC NỀN TẢNG
Ngôn ngữ HTML và CSS
HTML(Hypertext Markup Language) là mã được dùng để xây dựng nên cấu trúc và nội dung của trang web Ví dụ, nội dung có thể được cấu thành bởi một loạt các đoạn văn, một danh sách liệt kê, hoặc sử dụng những hình ảnh và bảng biểu
2.1.2 Tính năng mới trong HTML5:
Phần tử dùng để chỉ hiển thị cỡ nhỏ, nó có thể được ký hiệu là trình bao bọc chính xác cho thông tin này.
Việc sử dụng dấu ngoặc kép có thể phụ thuộc vào người dùng.
Cho phép người dùng chỉnh sửa bất kỳ văn bản nào có trong phần tử, bao gồm cả phần tử con của nó.
HTML5 loại bỏ hoàn toàn thuộc tính .
Cung cấp các đầu vào email cho phép hướng dẫn trình duyệt chỉ cho phép các chuỗi xác nhận địa chỉ email.
Dễ dàng tạo thanh trượt với phạm vi đầu vào.
CSS (viết tắt của Cascading Style Sheets) dùng để miêu tả cách trình bày các tài liệu viết bằng ngôn ngữ HTML và XHTML CSS được hiểu một cách mà chúng ra thêm các kiểu hiển thị (font chữ, kích thước, màu sắc,…) cho một tài liệu Web.
2.1.4 Tính năng mới trong CSS3:
Bo tròn ở các góc ảnh.
Xây dựng phần tử động, tạo đối tượng động animation.
Biến đổi phần tử bằng cách quay, dịch chuyển…
Đổ bóng cho phần tử với box-shadow.
Tạo gradient với hai kiểu linear và radial.
Bo trong các đường viền ở 4 góc của phần tử box.
Hình 2.1 Minh họa trang web sử dụng HTML và CSS
Tổng quan về ngôn ngữ lập trình C#
C# (C Sharp, đọc là "xi-sáp") là một ngôn ngữ lập trình hướng đối tượng đa năng vô cùng mạnh mẽ được phát triển bởi Microsoft C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC
C# là một ngôn ngữ lập trình hướng đối tượng đầy năng lực, được dẫn xuất từ Java và C++, và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java Nếu bạn đã sử dụng ngôn ngữ C++ hayJava, bạn sẽ thấy rằng cú pháp của C# rõ ràng tương thích.
C# có một số ưu điểm:
Dễ học, dễ đọc mã hơn C++.
Dễ dàng tạo nhiều chủ đề.
Phát triển nhanh hơn và ít lỗi hơn C++ hoặc Java (có các loại không dấu, có ref/out, có thể tạo các giá trị ngoài và nhiều thứ hữu ích mà Java bỏ qua; tức là có thể xây dựng chương trình ít nhảy qua các vòng, độ phức tạp mã ít cần thiết hơn).
Có một IDE miễn phí tuyệt vời(Visual C# Express).
Có số nguyên không dấu(trong C++ và Java không có điều này).
Các chương trình được biên dịch thành các tệp exe và không cần phải biên dịch lại cho các hệ điều hành khác.
Chương trình được biên dịch thành các nhị phân riêng được tối ưu hóa cho nền tảng khi nó được chạy.
Nếu chương trình gặp sự cố, sẽ có một hộp thoại hiển thị cho người lập trình biết mã ở đâu và tại sao lỗi (trên windows) hoặ ghi dấu vết ngăn xếp vào bàn điều khiển.
2.2.3 Lý do nên chọn ngôn ngữ lập trình C#:
Có một số lý do nên lựa chọn ngôn ngữ C# như:
C# là một ngôn ngữ dễ học:
C# thân thiện hơn một số ngôn ngữ nổi tiếng khó học như C, C++… C# là ngôn ngữ lập trình được đánh giá là phù hợp với người mới bắt đầu Những ngôn ngữ bậc thấp hơn như C và C++ vẫn sẽ thực hiện chương tình ngay cả khi có những lỗi nghiêm trọng, còn C# sẽ tiến hành kiểm tra code khi biên dịch và nếu có lỗi sẽ cảnh báo để ngăn chặn lỗi nghiêm trọng.
C# có cộng đồng trực tuyến rộng lớn:
Bên cạnh tài liệu phong phú, được Microsoft cập nhật thường xuyên, luôn có một cộng đồng lớn cho các nhà phát triển và lập trình viên C# cùng nhau xây dựng để giúp đỡ, hỗ trợ những thành viên mới cùng trao dồi kinh nghiệm Rất nhiều kênh Youtube hay các blog cá nhân chia sẻ về lập trình C# dành cho người mới bắt đầu đến nâng cao.
Tạo các phần mềm đa nền tảng:
C# đã được sử dụng trong gần 20 năm để tạo các ứng dụng Windows trên NET framework và Windows thì vẫn đã đang chiếm lĩnh thị trường hệ điều hành trên toàn cầu.
ASP.NET và ASP.NET Core:
ASP.NET là back-end framework lớn thứ 2 trên Internet, chỉ sau PHP.
Là ứng dụng dịch vụ của Microsoft dành cho các trang web động và C# là ngôn ngữ lập trình chính được sử dụng để lập trình Có thể làm việc với ASP.NET framework để tạo API cho trang web, cung cấp dữ liệu cho người dùng trang web một cách linh hoạt.
Phát hành NET Core cũng mở rộng sang ASP.NET Phiên bản Core của ASP.NET tạo nhiều sự linh hoạt hơn để phát triển web, vì nó chạy được trên mọi nền tảng Giờ đây, có thể phát triển các trang web ASP.NET Core MVC trên MacOS hay Linux(mã nguồn mở) hay bất kì máy chủ nào khác.
Có điểm tựa vững chắc là Microsoft:
C# đứng thứ 4 trong số các ngôn ngữ phổ biến nhất theo bảng xếp hạng (PopularitY of Programming Language Index - Chỉ số phổ biến của ngôn ngữ lập trình) và đứng thứ 6 trong các ngôn ngữ có nhu cầu cao nhất năm 2018 (theo Truth.com)
Visual Studio – môi trường tích hợp dùng để phát triển phần mềm (IDE) của Microsoft được viết bằng C# Mặc dù có thể lập trình bất kỳ ngôn ngữ nào trong Visual Studio nhưng tối ưu nhất vẫn là ngôn ngữ lập trình C#.
Hình 2.2 Biểu đồ chỉ số phổ biến của ngôn ngữ lập trình
Mô hình MVC
Mô hình MVC là một mô hình lập trình web được sử dụng rộng rãi hiện nay, được viết tắt bởi ba từ Model – View – Controller, tương ứng với ba bộ phận tạo nên cấu trúc của ứng dụng Mỗi thành phần kiến trúc được xây dựng để xử lý khía cạnh phát triển cụ thể của một ứng dụng.
Chức năng cụ thể của từng bộ phận trong mô hình MVC:
View: là một phần của ứng dụng chịu trách nhiệm cho việc trình bày dữ liệu Thành phần này được tạo bởi dữ liệu thu thập từ dữ liệu mô hình, và giúp người dùng có cái nhìn trực quan về trang web, cũng như ứng dụng.
Model: là thành phần chính đảm nhiệm chức năng lưu trữ dữ liệu và các bộ phận logic liên quan của toàn bộ ứng dụng Model chịu trách nhiệm cho các thao tác dữ liệu giữa Controller hoặc bất kỳ logic nghiệp vụ liên quan nào khác như cho phép xem, truy xuất dữ liệu
Controller: xử lý tương tác người dùng của ứng dụng Nó xử lý dữ liệu đầu vào từ bàn phím và chuột của người dùng, sau đó thông báo tới View và Model Controller gửi các lệnh tới Model để thay đổi trạng thái của Model. Controller cũng gửi các lệnh tương tự tới View để thực hiện các thay đổi về giao diện.
Hình 2.3 Mô hình MVC 2.3.2 Ưu điểm của mô hình MVC:
Một số ưu điểm của mô hình MVC:
Mô hình MVC quy hoạch các class/function vào các thành phần riêng biệt, việc đó làm quá trình phát triển - quản lý - vận hành - bảo trì web diễn ra thuận lợi hơn.
Tạo ra được các chức năng chuyên biệt hóa, đồng thời kiểm soát được luồng xử lý.
Tạo mô hình chuẩn cho dự án, người chuyên môn ngoài dễ tiếp cận hơn.
Xử lý nghiệp đơn giản và dễ dàng triển khai với các dự án nhỏ.
Phần mềm Visual Studio
Visual studio là một trong những công cụ hỗ trợ lập trình và thiết kế website rất nổi tiếng nhất hiện nay của Mcrosoft và chưa có một phần mềm nào có thể thay thế được nó Visual Studio được viết bằng 2 ngôn ngữ đó chính là C# và VB+ Đây là 2 ngôn ngữ lập trình giúp người dùng có thể lập trình được hệ thống một các dễ dàng và nhanh chóng nhất thông qua Visual Studio.
Visual Studio là một phần mềm lập trình hệ thống được sản xuất trực tiếp từ Microsoft Từ khi ra đời đến nay, Visual Studio đã có rất nhiều các phiên bản sử dụng khác nhau Điều đó, giúp cho người dùng có thể lựa chọn được phiên bản tương thích với dòng máy của mình cũng như cấu hình sử dụng phù hợp nhất.
2.4.2 Một số tính năng nổi bật:
Giống như bất kỳ một IDE khác, Visual Studio gồm có một trình soạn thảo mã hỗ trợ tô sáng cú pháp và hoàn thiện mã, không chỉ cho các hàm, biến và các phương pháp mà còn sử dụng cho các cấu trúc ngôn ngữ như: Truy vấn hoặc vòng điều khiển.
Bên cạnh đó, các trình biên tập mã Visual Studio cũng hỗ trợ cài đặt dấu trang trong mã để có thể điều hướng một cách nhanh chóng và dễ dàng Hỗ trợ các điều hướng như: Thu hẹp các khối mã lệnh, tìm kiếm gia tăng,… Visual Studio còn có tính năng biên dịch nền tức là khi mã đang được viết thì phần mềm này sẽ biên dịch nó trong nền để nhằm cung cấp thông tin phản hồi về cú pháp cũng như biên dịch lỗi và được đánh dấu bằng các gạch gợn sóng màu đỏ.
Visual Studio có một trình gỡ lỗi có tính năng vừa lập trình gỡ lỗi cấp máy và gỡ lỗi cấp mã nguồn Tính năng này hoạt động với cả hai mã quản lý giống như ngôn ngữ máy và có thể sử dụng để gỡ lỗi các ứng dụng được viết bằng các ngôn ngữ được hỗ trợ bởi Visual Studio.
- Windows Forms Designer: Sử dụng với mục đích xây dựng GUI, xây dựng các nút điều khiển bên trong cũng như có thể khóa chúng cạnh mẫu Điều khiển trình bày dữ liệu có thể được liên kết với các nguồn dữ liệu như cơ sở dữ liệu hay truy vấn.
- Web Designer/Development: Có một trình soạn thảo và thiết kế website cho phép các trang web được thiết kế theo tính năng kéo thả các đối tượng.
2.4.3 Lý do nên sử dụng Visual Studio:
Là công cụ hỗ trợ việc Debug dễ dàng và mạnh mẽ, xem giá trị của các biến trong quá trình chạy, hỗ trợ debug trong từng câu lệnh.
Giao diện Visual Studio dễ sử dụng với người bắt đầu lập trình.
Visual Studio được đông đảo lập trình viên trên thế giới sử dụng, nên có thể nhanh chóng được giải đáo khi gặp những vấn đề.
Hỗ trợ lập trình trên nhiều ngôn ngữ như C, C++, C#, Visual Basic…
Giới thiệu về SQL Server
Hệ quản trị cơ sở dữ liệu (Database Management System) là hệ thống được thiết kế để quản lý một khối lượng dữ liệu nhất định một cách tự động và có trật tự Các hành động quản lý bao gồm chỉnh sửa, xóa, lưu và tìm kiếm thông tin trong một nhóm dữ liệu nhất định.
Hình 2.4 Kiến trúc của một Hệ quản trị cơ sở dữ liệu
SQL Server là một hệ quản trị cơ sở dữ liệu, viết tắt của Structure Query Language ( hay ngôn ngữ truy vấn mang tính cấu trúc ) được sử dụng nhiều trong các lĩnh vực bởi chức năng quản lý dữ liệu Các ngôn ngữ cấp cao như: Visual C, Oracle, Visual Basic,… đều có thể hỗ trợ SQL Những ứng dụng khi chạy phải sử dụng SQL khi người dùng truy cập đến cơ sở dữ liệu thì không cần sử dụng trực tiếp đến SQL.
2.5.2 Vai trò của SQL Server:
Trong hầu hết các hệ quản trị cơ sở dữ liệu, SQL Server có vai trò:
Là ngôn ngữ có tính tương tác: Người sử dụng có thể nhúng các câu lệnh thông qua các trình tiện ích để gửi yêu cầu dưới dạng các câu lệnh SQLServer đến cơ sở dữ liệu và nhận kết quả trả về.
Là ngôn ngữ quản trị cơ sở dữ liệu: Các lập trình viên có thể nhúng các câu lệnh SQL Server vào trong các ngôn ngữ lập trình để xây dựng các chương trình ứng dụng làm việc với cơ sở dữ liệu.
Là ngôn ngữ cho các hệ thóng client/server(khách/chủ): Trong các hệ thống cơ sở dữ liệu khách/chủ, SQL Server được sử dụng như công cụ để giao tiếp giữa các trình ứng dụng máy khách với máy chủ cơ sở dữ liệu.
Là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL Server với vai trò là ngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Biểu đồ Use Case
Hình 3.1 Use Case tổng quát
Hình 3.2 Use Case hệ thống
Mô tả tổng quát: Khách hàng truy cập website có thể đăng ký thành viên, xem các sản phẩm và chi tiết sản phẩm, tìm kiếm các sản phẩm mong muốn.
Điều kiện đầu vào: Khi khách hàng truy cập với nhu cầu xem các sản phẩm.
Dòng sự kiện chính: o Khách hàng chọn đăng ký. o Nhập các trường dữ liệu, và chọn đăng ký. o Hệ thống kiểm tra các trường dữ liệu:
Nếu đúng thì lưu tài khoản của khách hàng.
Nếu sai thực hiện luồng sự kiện phụ A1.
Dòng sự kiện rẽ nhánh A1: o Hệ thống thông báo việc nhập dữ liệu không hợp lệ. o Nhập lại thông tin. o Quay lại trang đăng ký.
Điều kiện đầu ra: Lưu tài khoản khách hàng đã đăng ký.
Tác nhân: Người quản lý và khách hàng.
Mô tả tổng quát: Người quản lý và khách hàng đăng nhập vào hệ thống.
Điều kiện đầu vào: UseCase sử dụng khi người dùng muốn đăng nhập vào hệ thống.
Dòng sự kiện chính: o Hệ thống yêu cầu nhập tài khoản và mật khẩu. o Người dùng nhập tài khoản và mật khẩu. o Hệ thống kiểm tra tên và mật khẩu vừa nhập:
Nếu đúng sẽ kiểm tra quyền, và hiển thị quyền tương ứng của tài khoản.
Nếu sai thực hiện luồng sự kiện phụ A1.
Dòng sự kiện phụ A1: o Hệ thống sẽ thông báo việc nhập dữ liệu không hợp lệ. o Người dùng nhập lại tài khoản và mật khẩu. o Quay lại bước 3 của luồng sự kiện chính, hoặc hủy bỏ việc đăng nhập, khi đó ca sử dụng kết thúc.
Tác nhân: Người quản lý và khách hàng.
Mô tả tổng quát: Người quản lý và khách hàng muốn thoát tài khoản khỏi hệ thống.
Điều kiện đầu vào: UseCase sử dụng khi người quản trị và thành viên chọn đăng xuất.
Dòng sự kiện chính: o Hệ thống hủy việc lưu thông tin đăng nhập. o Quay về màn hình trang chủ.
Hình 3.3 Use Case của KHACHHANG
Xem chi tiết sản phẩm:
Mô tả tổng quát: Khách hàng muốn xem chi tiết một sản phẩm.
Điều kiện đầu vào: UseCase sử dụng khi khách hàng chọn một sản phẩm.
Dòng sự kiện chính: o Hệ thống lấy thông tin chi tiết của sản phẩm theo mã. o Hiển thị form chi tiết sản phẩm.
Xem chi tiết tin tức:
Mô tả tổng quát: Khách hàng muốn xem chi tiết một tin tức.
Điều kiện đầu vào: UseCase sử dụng khi khách hàng chọn một bài tin tức.
Dòng sự kiện chính: o Hệ thống lấy thông tin chi tiết của bài tin tức theo mã. o Hiển thị form chi tiết bài tin tức.
Mô tả tổng quát: Các khách hàng muốn đặt mua sản phẩm của cửa hàng.
Điều kiện đầu vào: UseCase sử dụng khi bắt đầu đăng nhập thành công hệ thống.
Dòng sự kiện chính: o Ca sử dụng bắt đầu khi khách hàng đăng nhập vào hệ thống. o Chọn giỏ hàng. o Hệ thống hiển thị chức năng: Cập nhật số lượng trong giỏ hàng, xóa sản phẩm trong giỏ và thanh toán đơn hàng:
Cập nhật số lượng trong giỏ hàng:
Người dùng chọn số lượng sản phẩm mong muốn.
Hệ thống kiểm tra số lượng sản phẩm còn lại trong cửa hàng:
Nếu còn hàng sẽ cập nhật số lượng trong giỏ hàng.
Nếu sai, thực hiện luồng sự kiện rẽ nhánh A1.
Xóa sản phẩm trong giỏ hàng:
- Người dùng chọn sản phẩm muốn xóa.
- Hệ thống xóa sản phẩm khỏi giỏ hàng của khách hàng.
- Khách hàng chọn thanh toán các sản phẩm trong giỏ hàng.
- Hệ thống hiển thị form thanh toán.
- Khách hàng nhập các thông tin cần thiết, và chọn đặt hàng.
- Hệ thống kiểm tra các trường thông tin: Nếu thỏa mãn thực hiện cập nhật thông tin đơn hàng và chi tiết vào cơ sở dữ liệu Nếu không thì yêu cầu nhập lại.
Dòng sự kiện rẽ nhánh A1: o Hệ thống báo số lượng sản phẩm không đủ. o Quay lại bước 2 của dòng sự kiện chính.
Mô tả tổng quát: Khách hàng muốn tìm kiếm sản phẩm.
Điều kiện đầu vào: UseCase sử dụng khi khách hàng truy cập hệ thống.
Dòng sự kiện chính: o Khách hàng nhập từ khóa muốn tìm kiếm. o Hệ thống lấy danh sách sản phẩm. o Hệ thống so sánh dữ liệu từ khóa với thông tin các sản phẩm, và hiển thị các sản phẩm trùng khớp theo từ khóa khách hàng nhập.
Mô tả tổng quát: Khách hàng có thắc mắc, và muốn trao đổi, nhận tư vấn từ cửa hàng.
Điều kiện đầu vào: Khi khách hàng đăng nhập hệ thống thành công và chọn liên hệ.
Dòng sự kiện chính: o Khách hàng chọn liên hệ. o Hệ thống hiển thị form nhập thông tin và nội dung liên hệ. o Khách hàng nhập thông tin và nội dung, chọn gửi. o Hệ thống kiểm tra các trường dữ liệu:
Nếu đầy đủ và đúng định dạng thì chuyển qua bước tiếp theo.
Nếu không thì thực hiện dòng sự kiện rẽ nhánh A1. o Hệ thống lưu đánh giá, bình luận vào cơ sở dữ liệu.
Dòng sự kiện rẽ nhánh A1: o Hệ thống thông báo việc nhập dữ liệu không hợp lệ. o Nhập lại thông tin. o Quay lại bước 3 của sự kiện chính.
Điều kiện đầu ra: Thông tin liên hệ được cập nhật vào cơ sở dữ liệu.
Mô tả tổng quát: Khách hàng đánh giá, bình luận sản phẩm sau khi mua hàng.
Điều kiện đầu vào: Khi khách hàng đăng nhập hệ thống thành công và chọn bình luận sản phẩm.
Dòng sự kiện chính: o Khách hàng chọn đơn hàng muốn đánh giá. o Khách hàng đánh giá sản phẩm có trong đơn hàng, và chọn lưu. o Hệ thống kiểm tra các trường dữ liệu:
Nếu đầy đủ và đúng định dạng thì chuyển qua bước tiếp theo.
Nếu không thì thực hiện dòng sự kiện rẽ nhánh A1. o Hệ thống thông báo cập nhật bình luận của khách hàng thành công. o Hệ thống lưu đánh giá, bình luận vào cơ sở dữ liệu.
Dòng sự kiện rẽ nhánh A1: o Hệ thống thông báo việc nhập dữ liệu không hợp lệ. o Nhập lại thông tin. o Quay lại bước 3 của sự kiện chính.
Điều kiện đầu ra: Các bình luận về sản phẩm được cập nhật đầy đủ vào cơ sở dữ liệu.
3.1.4 Use Case Quản lý nhà cung cấp:
Hình 3.4 Use Case Quản lý nhà cung cấp
Mô tả tổng quát: Người quản trị quản lý nhà cung cấp của các sản phẩm.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Dòng sự kiện chính: o Quản trị đăng nhập hệ thống. o Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống, và chọn quản lý nhà cung cấp. o Hệ thống hiển thị danh sách nhà cung cấp, và các chức năng: thêm, sửa và xóa và xem chi tiết nhà cung cấp:
- Hệ thống hiển thị form nhập thông tin nhà cung cấp.
- Người quản lý nhập thông tin nhà cung cấp.
- Nhập nút thêm nhà cung cấp.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo thêm nhà cung cấp thành công.
- Hệ thống lưu lại thông tin nhà cung cấp.
- Hệ thống hiển thị form cập nhật thông tin nhà cung cấp.
- Người quản lý nhập thông tin cần thay đổi.
- Nhập nút cập nhật nhà cung cấp.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo cập nhật nhà cung cấp thành công.
- Hệ thống cập nhật thông tin nhà cung cấp.
- Người quản lý chọn thông tin nhà cung cấp cần xóa.
- Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện bước tiếp theo Ngược lại, hủy xóa.
Xem chi tiết nhà cung cấp:
- Quản lý chọn nhà cung cấp muốn xem chi tiết.
- Chọn xem chi tiết nhà cung cấp.
- Hệ thống lấy thông tin chi tiết nhà cung cấp theo ID.
- Hệ thống hiện thị form chi tiết nhà cung cấp trên màn hình.
Dòng sự kiện rẽ nhánh A1: o Hệ thống báo lỗi. o Quản trị thưc hiện nhập lại dữ liệu. o Quay lại bước 3 của sự kiện phụ.
Điều kiện đầu ra: Danh sách các nhà cung cấp được cập nhật đầy đủ vào cơ sở dữ liệu.
3.1.5 Use Case Quản lý danh mục:
Hình 3.5 Use Case Quản lý danh mục
Tác nhân: Người quản trị.
Mô tả tổng quát: Người quản trị quản lý danh mục, giúp phân loại các sản phẩm dễ dàng.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Dòng sự kiện chính: o Quản trị đăng nhập hệ thống. o Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống, và chọn quản lý danh mục. o Hệ thống hiển thị danh sách danh mục, và các chức năng: thêm, sửa và xóa danh mục:
- Hệ thống hiển thị form nhập thông tin danh mục.
- Người quản lý nhập thông tin danh mục.
- Nhập nút thêm danh mục.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo thêm danh mục thành công.
- Hệ thống lưu lại thông tin danh mục.
- Hệ thống hiển thị form cập nhật thông tin danh mục.
- Người quản lý nhập thông tin cần thay đổi.
- Nhập nút cập nhật danh mục.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo cập nhật danh mục thành công.
- Hệ thống cập nhật thông tin danh mục.
- Người quản lý chọn thông tin danh mục cần xóa.
- Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện bước tiếp theo Ngược lại, hủy xóa.
Dòng sự kiện rẽ nhánh A1: o Hệ thống báo lỗi. o Quản trị thưc hiện nhập lại dữ liệu. o Quay lại bước 3 của sự kiện phụ.
Điều kiện đầu ra: Danh sách các danh mục được cập nhật đầy đủ vào cơ sở dữ liệu.
3.1.6 Use Case Quản lý sản phẩm:
Hình 3.6 Use Case Quản lý sản phẩm
Tác nhân: Người quản trị.
Mô tả tổng quát: Người quản trị quản lý các sản phẩm.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Dòng sự kiện chính: o Quản trị đăng nhập hệ thống. o Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống, và chọn quản lý nhà cung cấp. o Hệ thống hiển thị danh sách sản phẩm, và các chức năng: thêm, sửa, xóa, tìm kiếm và xem chi tiết sản phẩm:
- Hệ thống hiển thị form nhập thông tin sản phẩm.
- Người quản lý nhập thông tin sản phẩm.
- Nhập nút thêm sản phẩm.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo thêm sản phẩm thành công.
- Hệ thống lưu lại thông tin sản phẩm.
- Hệ thống hiển thị form cập nhật thông tin sản phẩm.
- Người quản lý nhập thông tin cần thay đổi.
- Nhập nút cập nhật sản phẩm.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo cập nhật sản phẩm thành công.
- Hệ thống cập nhật thông tin sản phẩm.
- Người quản lý chọn thông tin sản phẩm cần xóa.
- Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện bước tiếp theo Ngược lại, hủy xóa.
- Quản lý nhập từ khóa cần tìm.
- Hệ thống kiểm tra thông tin sản phẩm: Nếu có hiển thị danh sách sản phẩm Nếu không, hiển thị trang rỗng.
Xem chi tiết sản phẩm:
- Quản lý chọn sản phẩm muốn xem chi tiết.
- Chọn xem chi tiết sản phẩm.
- Hệ thống lấy thông tin chi tiết sản phẩm theo ID.
- Hệ thống hiện thị form chi tiết sản phẩm trên màn hình.
Dòng sự kiện rẽ nhánh A1: o Hệ thống báo lỗi. o Quản trị thưc hiện nhập lại dữ liệu. o Quay lại bước 3 của sự kiện phụ.
Điều kiện đầu ra: Danh sách các sản phẩm được cập nhật đầy đủ vào cơ sở dữ liệu.
3.1.7 Use Case Quản lý khách hàng:
Hình 3.7 Use Case Quản lý khách hàng
Tác nhân: Người quản trị.
Mô tả tổng quát: Người quản trị quản lý các tài khoản khách hàng đã đăng ký trên hệ thống.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Dòng sự kiện chính: o Quản trị đăng nhập hệ thống. o Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống, và chọn quản lý khách hàng. o Hệ thống hiển thị danh sách khách hàng, và các chức năng: xóa và xem chi tiết khách hàng:
- Người quản lý chọn thông tin khách hàng cần xóa.
- Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện bước tiếp theo Ngược lại, hủy xóa.
Xem chi tiết khách hàng:
- Quản lý chọn khách hàng muốn xem chi tiết.
- Chọn xem chi tiết khách hàng.
- Hệ thống lấy thông tin chi tiết khách hàng theo ID.
- Hệ thống hiện thị form chi tiết khách hàng trên màn hình.
Dòng sự kiện rẽ nhánh A1: o Hệ thống báo lỗi. o Quản trị thưc hiện nhập lại dữ liệu. o Quay lại bước 3 của sự kiện phụ.
Điều kiện đầu ra: Danh sách các khách hàng được cập nhật đầy đủ vào cơ sở dữ liệu.
3.1.8 Use Case Quản lý nhân viên:
Hình 3.8 Use Case Quản lý nhân viên
Tác nhân: Người quản trị.
Mô tả tổng quát: Người quản trị quản lý thông tin nhân viên làm việc trong cửa hàng.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Dòng sự kiện chính: o Quản trị đăng nhập hệ thống. o Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống, và chọn quản lý nhân viên. o Hệ thống hiển thị danh sách nhân viên, và các chức năng: thêm, sửa và xóa và xem chi tiết nhân viên:
- Hệ thống hiển thị form nhập thông tin nhân viên.
- Người quản lý nhập thông tin nhân viên.
- Nhập nút thêm nhân viên.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo thêm nhân viên thành công.
- Hệ thống lưu lại thông tin nhân viên.
- Hệ thống hiển thị form cập nhật thông tin nhân viên.
- Người quản lý nhập thông tin cần thay đổi.
- Nhập nút cập nhật nhân viên.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo cập nhật nhân viên thành công.
- Hệ thống cập nhật thông tin nhân viên.
- Người quản lý chọn thông tin nhân viên cần xóa.
- Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện bước tiếp theo Ngược lại, hủy xóa.
Xem chi tiết nhân viên:
- Quản lý chọn nhân viên muốn xem chi tiết.
- Chọn xem chi tiết nhân viên.
- Hệ thống lấy thông tin chi tiết nhân viên theo ID.
- Hệ thống hiện thị form chi tiết nhân viên trên màn hình.
Dòng sự kiện rẽ nhánh A1: o Hệ thống báo lỗi. o Quản trị thưc hiện nhập lại dữ liệu. o Quay lại bước 3 của sự kiện phụ.
Điều kiện đầu ra: Danh sách các nhân viên được cập nhật đầy đủ vào cơ sở dữ liệu.
3.1.9 Use Case Quản lý tin tức:
Hình 3.9 Use Case Quản lý tin tức
Tác nhân: Người quản trị.
Mô tả tổng quát: Người quản trị quản lý các tin tức.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Dòng sự kiện chính: o Quản trị đăng nhập hệ thống. o Hệ thống kiểm tra tài khoản và quyền, nếu đúng thì truy cập hệ thống, và chọn quản lý tin tức. o Hệ thống hiển thị danh sách tin tức, và các chức năng: thêm, sửa và xóa và xem chi tiết tin tức:
- Hệ thống hiển thị form nhập thông tin tin tức.
- Người quản lý nhập thông tin tin tức.
- Nhập nút thêm tin tức.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo thêm tin tức thành công.
- Hệ thống lưu lại thông tin tin tức.
- Hệ thống hiển thị form cập nhật thông tin tin tức.
- Người quản lý nhập thông tin cần thay đổi.
- Nhập nút cập nhật tin tức.
- Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
- Hệ thống thông báo cập nhật tin tức thành công.
- Hệ thống cập nhật thông tin tin tức.
- Người quản lý chọn thông tin tin tức cần xóa.
- Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện bước tiếp theo Ngược lại, hủy xóa.
Xem chi tiết tin tức:
- Quản lý chọn tin tức muốn xem chi tiết.
- Chọn xem chi tiết tin tức.
- Hệ thống lấy thông tin chi tiết tin tức theo ID.
- Hệ thống hiện thị form chi tiết tin tức trên màn hình.
Dòng sự kiện rẽ nhánh A1: o Hệ thống báo lỗi. o Quản trị thưc hiện nhập lại dữ liệu. o Quay lại bước 3 của sự kiện phụ.
Điều kiện đầu ra: Danh sách các tin tức được cập nhật đầy đủ vào cơ sở dữ liệu.
3.1.10 Use Case Quản lý đơn hàng:
Hình 3.10 Use Case Quản lý đơn hàng
Tác nhân: Người quản trị.
Mô tả tổng quát: Người quản trị quản lý các đơn hàng của khách hàng.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Biểu đồ hoạt động
Hình 3.12 Biểu đồ hoạt động Đăng nhập
Hình 3.13 Biểu đồ hoạt động Tìm kiếm sản phẩm
Hình 3.14 Biểu đồ hoạt động Xem chi tiết đơn hàng
Hình 3.15 Biểu đồ hoạt động Đặt hàng
Hình 3.16 Biểu đồ hoạt động Thêm sản phẩm
Hình 3.17 Biểu đồ hoạt động Cập nhật sản phẩm
Biểu đồ tuần tự
Hình 3.18 Biểu đồ tuần tự Đăng nhập
Hình 3.19 Biểu đồ tuần tự Tìm kiếm sản phẩm
Hình 3.20 Biểu đồ tuần tự Xem chi tiết đơn hàng
Hình 3.21 Biểu đồ tuần tự Đặt hàng
Hình 3.22 Biểu đồ tuần tự Thêm sản phẩm
Hình 3.23 Biểu đồ tuần tự Cập nhật sản phẩm
Thiết kế cơ sở dữ liệu
3.4.1 Xác định các bảng thực thể:
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
STT Tên thực thể Kiểu dữ liệu Ràng buộc Null
3.4.2 Lược đồ quan hệ cơ sở dữ liệu:
Hình 2.5 Lược đồ quan hệ cơ sở dữ liệu
GIAO DIỆN PHẦN MỀM
Giao diện người dùng
4.1.1 Giao diện trang đăng ký:
Hình 4.1 Giao diện trang đăng ký 4.1.2 Giao diện trang chủ:
Hình 4.2 Giao diện trang chủ
4.1.3 Giao diện trang chi tiết sản phẩm:
Hình 4.3 Giao diện trang chi tiết sản phẩm 4.1.4 Giao diện trang chi tiết tin tức:
Hình 4.4 Giao diện trang chi tiết tin tức
4.1.5 Giao diện trang giỏ hàng:
Hình 4.5 Giao diện trang giỏ hàng 4.1.6 Giao diện trang đặt hàng:
Hình 4.6 Giao diện trang đặt hàng
Giao diện quản trị
4.2.1 Giao diện trang đăng nhập:
Hình 4.7 Giao diện trang đăng nhập 4.2.2 Giao diện trang quản lý sản phẩm:
Hình 4.8 Giao diện trang quản lý sản phẩm
4.2.3 Giao diện trang thêm sản phẩm:
Hình 4.9 Giao diện trang thêm sản phẩm 4.2.4 Giao diện trang cập nhật sản phẩm:
Hình 4.10 Giao diện trang cập nhật sản phẩm
4.2.5 Giao diện trang chi tiết sản phẩm:
Hình 4.11 Giao diện trang chi tiết sản phẩm 4.2.6 Giao diện trang quản lý khách hàng:
Hình 4.12 Giao diện trang quản lý khách hàng
4.2.7 Giao diện trang quản lý đơn hàng:
Hình 4.13 Giao diện trang quản lý đơn hàng 4.2.8 Giao diện trang thống kê:
Hình 4.14 Giao diện trang thống kê
TỔNG KẾT
Kết quả đạt được
Từ những hướng dẫn tận tình của thầy, cùng những gì đã học được ở trường, em đã phân tích và xây dựng phần mềm với các kết quả đạt được:
Áp dụng các kiến thức đã học xây dựng phần mềm bán điện thoại, phân quyền khách hàng và người quản lý.
Quản lý các thông tin cần thiết của cửa hàng như thông tin khách hàng, sản phẩm, tin tức, đơn hàng…
Có hầu như đầy đủ chức năng cơ bản để quản lý cửa hàng bán điện thoại di động.
Hạn chế tồn tại
Bên cạnh đó cũng có những hạn chế như:
Chưa có nhiều kiến thức thực tế, nên việc xây dựng phần mềm áp dụng vào thực tế còn có sự thiếu sót.
Giao diện chưa thật sự bắt mắt.
Một số chức năng còn hạn chế.