Tải bản đầy đủ (.docx) (66 trang)

Đồ án tốt nghiệp | xây dựng website bán điện thoại sử dụng ASP NET MVC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.43 MB, 66 trang )

Liên hệ zalo:0388542661 để
lấy mã nguồn, báo cáo, slide
thuyết trình, hướng dẫn cài
đặt, gải thích code nếu cần


1

Lời cảm ơn
Trên thực tế khơng có sự thành cơng nào mà không gắn liền với những
sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác.
Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường đại học đến nay,
chúng em đã nhận được rất nhiều sự quan tâm, giúp đỡ từ q thầy cơ và bạn
bè.
Với lịng biết ơn sâu sắc nhất, chúng em xin gửi đến quý thầy cô ở khoa
Công nghệ thông tin – Trường Đại học Công nghiệp Hà Nội, những người đã
cùng với tri thức và tâm huyết của mình truyền đạt vốn kiến thức quý báu cho
chúng em trong suốt thời gian học tập. Và đặc biệt, trong học kỳ này, khoa đã
tổ chức cho chúng em được thực hiện làm “Đồ án tốt nghiệp”.
Chúng em xin chân thành cảm ơn thầy giáo TS. Phạm Văn Hà - là
người trực tiếp hướng dẫn, và giảng dạy chúng em trong học phần, cũng như
là người cố vấn đã đưa cho chúng em nhiều lời khuyên, lời chỉ bảo rõ ràng,
quan trọng và đã tận tâm hướng dẫn chúng em qua từng buổi thảo luận về vấn
đề xây dựng đồ án. Một lần nữa, em xin chân thành cảm ơn thầy!


2

MỤC LỤC

MỤC LỤC...........................................................................................................ii


DANH MỤC HÌNH VẼ.....................................................................................vi
DANH MỤC BẢNG........................................................................................viii
DANH MỤC CÁC THUẬT NGỮ, KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT......ix
Mở đầu.................................................................................................................1
1.Lí do chọn đề tài...........................................................................................1
2.Mục tiêu nghiên cứu.....................................................................................1
3.Nội dung thực hiện.......................................................................................2
4.Kết quả mong muốn đạt được.......................................................................2
5.Cấu trúc của báo cáo.....................................................................................2
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ASP.NET MVC..............................4
1.1 Giới thiệu về ASP.NET..........................................................................4
1.2 Giới thiệu về mơ hình MVC......................................................................6
1.2.1 Giới thiệu về mơ hình MVC...............................................................6
1.2.2 Lịch sử của MVC................................................................................8
1.2.3 Ưu và nhược điểm của MVC..............................................................8
1.3 Tổng quan về ASP.NET MVC...................................................................9
1.3.1 Giới thiệu............................................................................................9
1.3.2 Ưu và nhược điểm...............................................................................9
1.3.3 Lợi ích web dựa trên mơ hình MVC.................................................10
1.3.4 Sự khác biệt với WebForm................................................................10
1.3.5 Lịch sử phát triển ASP.NET MVC....................................................11


3
Chương 2. Phân tích và đặc tả yêu cầu.............................................................13
2.1. Xây dựng biểu đồ Use Case....................................................................13
2.1.1 Xác định các tác nhân hệ thống........................................................13
2.1.2 Xác định các ca sử dụng hệ thống....................................................13
2.2 Chi tiết các Use Case...............................................................................14
2.2.1 Use case đăng nhập...........................................................................14

2.1.2 Use Case đăng kí...............................................................................16
2.1.3 Use Case quản lí sản phẩm...............................................................18
2.1.4 Use Case quản lí khách hàng............................................................24
2.1.5 Use case quản lí đơn hàng.................................................................29
2.1.6 Use case mua điện thoại....................................................................31
2.1.7 Use Case tìm kiếm............................................................................34
2.1.8 Use case Quản lý giỏ hàng................................................................36
Chương 3:Thiết kế hệ thống..............................................................................38
3.1 Biểu đồ thực thể.......................................................................................38
3.1.1 Biểu đồ thực thể liên kết mức logic..................................................38
3.2. Thiết kế bảng dữ liệu..............................................................................38
3.2.1 Bảng thiết kế nhãn hàng....................................................................38
3.2.2 Bảng thiết kế hệ điều hành................................................................38
3.2.3 Bảng thiết kế điện thoại....................................................................39
3.2.4 Bảng thiết kế đơn đặt hàng...............................................................39
3.2.5 Bảng thiết kế chi tiết đơn đặt hàng...................................................40
3.2.6 Bảng thiết kế khách hàng..................................................................40
3.2.7 Bảng thiết kế Admin.........................................................................41


4
CHƯƠNG 4. Phát triển hệ thống......................................................................42
4.1. Giới thiệu về công cụ và môi trường cài đặt..........................................42
4.1.1 SQL Server Management Studio (SSMS)........................................42
4.1.2 Visual Studio.....................................................................................42
4.1.3 Các bước cài đặt chương trình..........................................................43
4.2. Trang màn hình giao diện của khách hàng.............................................45
4.2.1 Trang chủ..........................................................................................45
4.2.2 Trang đăng nhập................................................................................45
4.2.3 Trang đăng ký...................................................................................46

4.2.4 Trang giỏ hàng..................................................................................47
4.2.5 Trang Xem sản phẩm........................................................................47
4.2.6 Tìm kiếm...........................................................................................48
4.2.7 Giao diện đặt hàng............................................................................48
4.2.8 Giao diện thơng tin khách hàng........................................................49
4.3. Trang màn hình giao diện của người quản trị.........................................50
4.3.1. Trang chủ.........................................................................................50
4.3.2. Đăng nhập quản trị...........................................................................50
4.3.3. Trang quản lý nhãn hàng..................................................................51
4.3.4. Trang quản lý sản phẩm...................................................................51
4.3.5. Trang quản lý hệ điều hành..............................................................52
4.3.6. Trang quản lý đơn hàng...................................................................52
4.3.7. Trang quản lý tài khoản khách hàng................................................53
4.3.8 Trang quản lý tài khoản Admin.........................................................53
KẾT LUẬN.......................................................................................................54


5
4.1 Đánh giá kết quả......................................................................................54
4.2 Hướng phát triển......................................................................................55
TÀI LIỆU THAM KHẢO.................................................................................56


6

DANH MỤC HÌNH
Hình 1. 1 Cấu trúc mơ hình MVC.......................................................................6
Hình 1.2 Luồng tương tác giữa các thành phần trong MVC..............................7
Y
Hình 2. 1 Biểu đồ use case tồn hệ thống.........................................................14

Hình 2. 2 Use case đăng nhập..........................................................................14
Hình 2. 3 Biểu đồ lớp tham gia ca sử dụng đăng nhập....................................15
Hình 2. 4 Biểu đồ tuần tự đăng nhập................................................................16
Hình 2. 5 Use case đăng kí...............................................................................16
Hình 2. 6 Biểu đồ lớp tham gia ca sử dụng đăng kí.........................................17
Hình 2. 7 Biểu đồ tuần tự đăng kí.....................................................................18
Hình 2. 8 Biểu đồ UC quản lí sản phẩm...........................................................18
Hình 2. 9 Biểu đồ lớp tham gia ca sử dụng tìm kiếm sản phẩm.......................21
Hình 2. 10 Biểu đồ lớp tham gia ca sử dụng thêm mới sản phẩm....................21
Hình 2. 11 Biểu đồ lớp tham gia ca sử dụng cập nhật thơng tin sản phẩm......22
Hình 2. 12 Biểu đồ lớp tham gia ca sử dụng xóa sản phẩm.............................22
Hình 2. 13 Biểu đồ tuần tự quản lý điện thoại..................................................23
Hình 2. 14 Biểu đồ UC quản lí khách hàng......................................................24
Hình 2. 15 Biểu đồ lớp tham gia ca sử dụng tìm kiếm khách hàng..................26
Hình 2. 16 Biểu đồ lớp tham gia ca sử dụng thêm mới khách hàng.................27
Hình 2. 17 Biểu đồ lớp tham gia ca sử dụng cập nhật thơng tin khách hàng...27
Hình 2. 18 Biểu đồ lớp tham gia ca sử dụng xóa khách hàng..........................27
Hình 2. 19 Biểu đồ tuần tự quản lý khách hàng...............................................28
Hình 2. 20 Use case quản lý đơn hàng.............................................................29
Hình 2. 21 Biểu đồ lớp tham gia ca sử dụng cập nhật tình trạng đơn hàng....30
Hình 2. 22 Biểu đồ lớp tham gia ca sử dụng xemchi tiết đơn hàng..................30
Hình 2. 23 Biểu đồ tuần tự quản lý đơn hàng...................................................31
Hình 2. 24 Use case mua điện thoại.................................................................32


7
Hình 2. 25 Biểu đồ lớp tham gia ca sử dụng đặt hàng.....................................33
Hình 2. 26 Biểu đồ tuần tự mua hàng...............................................................34
Hình 2. 27 Biểu đồ lớp tham gia ca sử dụng....................................................35
Hình 2. 28 Biểu đồ tuần tự tìm kiếm.................................................................35

Hình 2. 29 Biểu đồ tuần tự quản lý giỏ hàng......................................................3
Hình 3. 1 Biểu đồ thực thể liên kết mức logic...................................................38
Y
Hình 4. 1 Chạy database...................................................................................43
Hình 4. 2 Tên server trên SSMS........................................................................44
Hình 4. 3Thư mục config trên visual studio......................................................44
Hình 4. 4 Trang chủ..........................................................................................45
Hình 4. 5 Đăng nhập.........................................................................................46
Hình 4. 6 Đăng kí..............................................................................................46
Hình 4. 7 Giỏ hàng............................................................................................47
Hình 4. 8 Xem sản phẩm...................................................................................47
Hình 4. 9 Tìm kiếm............................................................................................48
Hình 4. 10 Giao diện đặt hàng..........................................................................48
Hình 4. 11 Giao diện đặt hàng thành cơng.......................................................49
Hình 4. 12 Trang thơng tin khách hàng............................................................49
Hình 4. 13 Trang chủ quản trị..........................................................................50
Hình 4. 14 Đăng nhập quản trị.........................................................................50
Hình 4. 15 Quản lý nhãn hàng..........................................................................51
Hình 4. 16 Quản lý sản phẩm...........................................................................51
Hình 4. 17 Giao diện quản lý hệ điều hành......................................................52
Hình 4. 18 Giao diện quản lý đơn hàng............................................................52
Hình 4. 19 Chi tiết đơn đặt hàng......................................................................52
Hình 4. 20 Giao diện quản lý tài khoản khách hàng........................................53
Hình 4. 21 Giao diện quản trị Admin................................................................53


8

DANH MỤC BẢNG
Bảng 1. 1 Bảng so sánh sự khác biệt với WebForm..........................................11

Bảng 1. 2 Bảng liệt kệ lịch sử tóm tắt của ASP.NET MVC...............................13

Bảng 3. 1Bảng thiết kế nhãn hàng....................................................................38
Bảng 3. 2Bảng thiết kế hệ điều hành................................................................39
Bảng 3. 3 Bảng thiết kế điện thoại....................................................................39
Bảng 3. 4 Bảng thiết kế đơn đặt hàng...............................................................40
Bảng 3. 5 Bảng thiết kế chi tiết đơn đặt hàng...................................................40
Bảng 3. 6 Bảng thiết kế khách hàng.................................................................41
Bảng 3. 7 Bảng thiết kế Admin..........................................................................41


9

DANH MỤC CÁC THUẬT NGỮ, KÝ HIỆU VÀ CÁC CHỮ
VIẾT TẮT
Từ viết tắt

Nội dung đầy đủ

CSDL

Cơ sở dữ liệu

SSMS

SQL Server Management Studio

KH

Khách hàng


UC

USE CASE

QL

QUẢN LÝ


1

Mở đầu
1.Lí do chọn đề tài
Hiện nay, kinh tế Việt Nam đang phát triển rất nhanh. Điều đó kéo theo
nhu cầu tiêu dùng được tăng lên đáng kể đặc biệt là thiết bị thơng minh như
Smartphone.Thêm vào đó đại dịch covid-19 diễn biến phức tạp tại nước ta
làm cho nhu cầu mua sắp online của người dân tăng cao làm cho các cửa hàng
phải chuyển sang hình thức kinh doanh online.
Nắm bắt được nhu cầu đó, em đã quyết định lựa chọn đề tài “xây dựng
website bán điện thoại sử dụng ASP.NET MVC” để có thể tạo ra một cửa
hàng điện thoại online giúp khách hàng có thể mua sắp ở bất cứ đâu. Hơn
nữa, đề tài này cũng giúp em áp dụng được các kiếm thức đã học tại trường
cũng như 2 tháng thực tập tại FPT-Software.
Tại thị trường Việt Nam hiện nay, các doanh nghiệp vừa và nhỏ chiếm
95% tổng số doanh nghiệp.Vậy nên nhu cầu về những website nhỏ, đơn giản,
gọn nhẹ sẽ phù hợp với quy mơ doanh nghiệp hoặc hộ kinh doanh, và đó là
mục đích mà đề tài này hướng đến, vừa áp dụng được những kiến thức đã học
được tại trường, vừa có tính thực tiễn và áp dụng cao.
2.Mục tiêu nghiên cứu

Thiết kế và phát triển hệ thống phần mềm bán điện thoại, đáp ứng được
các yêu cầu như sau:
+ Phân quyền truy cập;
+ Quản lý danh mục, hàng hóa: thêm, sửa, xóa;
+ Hiển thị sản phẩm một cách logic, hợp lý;
+ Cho phép tìm kiếm sản phẩm nhanh chóng, chính xác;
+ Cho phép đặt hàng và tạo đơn hàng;
+ Cho phép so sánh sản phẩm;
+ Phần mềm dễ sử dụng.


2
3.Nội dung thực hiện
- Khảo sát thực tế, phân tích yêu cầu
+ Khảo sát các của hàng bán điện thoại trên địa bàn Quận Nam Từ Liêm
như thế giới di động, FPT Store, Viettel Store từ đó phân tích chi tiết
từng chức năng của bài toán quản lý và bán điện thoại online.
- Thiết kế các chức năng hệ thống
+ Từ q trình khảo sát, phân tích và đưa ra bảng các chức năng chính
của hệ thống.
+ Thiết kế các biểu đồ User Case, Biểu đồ tuần tự, Biểu đồ lớp của hệ
thống.
+ Thiết kế bảng cơ sở dữ liệu của hệ thống.
- Thực hiện xây dựng chương trình theo kế hoạch
+ Tiến hành lựa chọn môi trường và các cơng cụ phát triển, bắt tay vào
lập trình, thiết kế cụ thể, chi tiết, đầy đủ các chức năng của sản phẩm.
- Kiểm thử chương trình
+ Tiến hành kiểm tra các chức năng tìm ra lỗi vận hành, lỗi hệ thống
khơng đáp ứng được kế hoạch đề ra.
- Bảo trì hệ thống khi có lỗi phát sinh trong q trình sử dụng.

4.Kết quả mong muốn đạt được
Xây dựng được một website bán hàng online cơ bản bằng ASP.NET
MVC
5.Cấu trúc của báo cáo
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, cuốn báo cáo gốm
các phần chính sau:
Chương 1: Tổng quan về ASP.NET MVC
- Nêu ra được khái niệm, đặc điểm, ưu nhược điểm của ASP.NET MVC.
Chương 2: Phân tích và đặc tả u cầu
- Trình bày mơ tả hệ thống, các use case và các biểu đồ phân tích.


3
Chương 3: Thiết kế hệ thống
- Thiết kế biểu đồ thực thể liên kết và cơ dữ liệu.
Chương 4: Phát triển hệ thống
- Giới thiệu cơng cụ phát triển, trình bày sản phẩm đã làm được.


4

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ASP.NET MVC
1.1 Giới thiệu về ASP.NET
ASP.NET là một nền tảng ứng dụng web (web application framework)
được phát triển và cung cấp bởi Microsoft, cho phép những người lập trình
tạo ra những trang web động, những ứng dụng web và những dịch vụ web.
ASP.NET là một khung cơng tác web miễn phí để xây dựng các trang
web và ứng dụng web tuyệt đẹp bằng cách sử dụng HTML, CSS và
JavaScript. Bạn cũng có thể tạo các API web và sử dụng các công nghệ thời
gian thực như cổng thông tin web.

ASP.NET cung cấp ba khuôn khổ để tạo các ứng dụng Web: Web Forms,
ASP.NET MVC và ASP.NET Web Pages. Cả ba framework đều ổn định và
trưởng thành, và bạn có thể sử dụng bất kỳ framework nào trong số chúng để
tạo các ứng dụng web tuyệt vời. Bất kể bạn chọn khuôn khổ nào, bạn sẽ nhận
được tất cả các lợi ích và tính năng của ASP.NET ở mọi nơi.
Mỗi khuôn khổ nhắm đến một phong cách phát triển khác nhau. Cái nào
bạn chọn phụ thuộc vào sự kết hợp của các tài sản lập trình của bạn (kiến
thức, kỹ năng và kinh nghiệm phát triển), loại ứng dụng bạn đang tạo và
phương pháp phát triển mà bạn quen thuộc.
Với ASP.NET Web Forms, bạn có thể tạo các trang web động bằng cách
sử dụng mô hình kéo thả quen thuộc theo hướng sự kiện. Giao diện thiết kế và
hàng trăm điều khiển và thành phần cho phép bạn nhanh chóng xây dựng các
trang web dựa trên giao diện người dùng phức tạp, mạnh mẽ với quyền truy
cập dữ liệu.
ASP.NET MVC cung cấp cho bạn một cách mạnh mẽ, dựa trên mẫu để
xây dựng các trang web động, cho phép tách biệt rõ ràng các mối quan tâm và
cho phép bạn tồn quyền kiểm sốt việc đánh dấu để phát triển thú vị, nhanh
nhẹn và linh hoạt. ASP.NET MVC bao gồm nhiều tính năng cho phép phát
triển nhanh chóng, thân thiện với TDD để tạo các ứng dụng phức tạp bằng
cách sử dụng các tiêu chuẩn website mới nhất.


5
Cả ba khung ASP.NET đều dựa trên .NET Framework và chia sẻ chức
năng cốt lõi của .NET và ASP.NET. Ví dụ: cả ba khung đều cung cấp mơ hình
bảo mật đăng nhập dựa trên tư cách thành viên và cả ba khung đều chia sẻ
cùng một công cụ để quản lý các yêu cầu, phiên, v.v. Nó là một phần của chức
năng ASP.NET cốt lõi.
Hơn nữa, ba khung khơng hồn tồn độc lập và việc chọn một khung
khơng loại trừ việc sử dụng một khung khác. Vì các khn khổ có thể cùng

tồn tại trong cùng một ứng dụng web, nên khơng có gì lạ khi các thành phần
riêng lẻ của các ứng dụng được viết bằng các khuôn khổ khác nhau. Ví dụ:
phần khách hàng của một ứng dụng có thể được phát triển trong MVC để tối
ưu hóa cho đánh dấu, trong khi các phần quản trị và truy cập dữ liệu được
phát triển trong Biểu mẫu Web để tận dụng các kiểm soát dữ liệu và truy cập
dữ liệu đơn giản.
ASP.NET hỗ trợ một số mơ hình lập trình để xây dựng các ứng dụng
web:
ASP.NET Web Forms - Một khung để xây dựng các trang mô-đun từ các
thành phần, với các sự kiện giao diện người dùng được xử lý phía máy chủ.
ASP.NET MVC - Cho phép xây dựng các trang web bằng cách sử dụng
mẫu thiết kế model-view-controller .
ASP.NET Web Pages - Một cú pháp nhẹ để thêm mã động và truy cập dữ
liệu trực tiếp trong đánh dấu HTML.
ASP.NET Web API - Một khung để xây dựng các API Web trên .NET
Framework .
ASP.NET WebHooks - Triển khai mẫu Webhook để đăng ký và xuất bản
các sự kiện qua HTTP.
SignalR - Một khung giao tiếp thời gian thực để giao tiếp hai chiều giữa
máy khách và máy chủ.


6
1.2 Giới thiệu về mơ hình MVC
1.2.1 Giới thiệu về mơ hình MVC
MVC (viết tắt của Model-View-Controller) là một mẫu kiến trúc phầm
mềm để tạo lạp giao diện người dùng trên máy tính. MVC chia một ứng dụng
thành ba phần tương tác được với nhau để tách biệt giữa cách thức mà thông
tin được xử lý nội hàm và phần thơng tin được trình bày và tiếp nhận từ phía
người dung.

Mơ hình MVC gồm 3 thành phần chính khơng thể thiếu khi áp dụng mơ
hình này:

Hình 1. 1 Cấu trúc mơ hình MVC

Model:
Nó là thành phần có chức năng lưu trữ tồn bộ dữ liệu của ứng dụng.
Phần này có nhiệm vụ kết nối giữa hai bộ phận View và Controller. Mơ hình
được trình bày dưới dạng cơ sở dữ liệu hoặc đôi khi chỉ là một tệp XML
thuần túy. Các model thể hiện rõ ràng các hoạt động trên cơ sở dữ liệu, chẳng
hạn như truy xuất, cho phép xem, xử lý dữ liệu, v.v.
View:


7
Đây là giao diện người dùng . Người dùng tìm kiếm trang web hoặc các thao
tác truy vấn như sử dụng để có thể lấy thơng tin dữ liệu MVC .
Thông thường, MVC View được dùng như một phần của hệ thống các
ứng dụng web, nơi tạo ra các thành phần HTML. Ngồi ra, View có khả năng
ghi lại hoạt động của người dùng để tương tác với Controller. Nhưng View
khơng có mối quan hệ trực tiếp với Controller, cũng như khơng thể lấy dữ liệu
từ Controller, nó chỉ hiển thị yêu cầu chuyển đến Controller.
Ví dụ: Nút "Lưu" do chế độ xem tạo sẽ tạo ra một hành động trong
Controller khi người dùng nhấp vào nút.
Controller :
Bộ phận này chịu trách nhiệm xử lý các yêu cầu của người dùng được
đưa ra thơng qua các View. Từ đó, Controller cung cấp dữ liệu chính xác cho
người dùng. Ngồi ra Controller cịn có khả năng kết nối các model.

Hình 1.2 Luồng tương tác giữa các thành phần trong MVC.


Ví dụ: Chức năng thêm sản phẩm mới trong trang web bán hàng. Nơi
đây có các trường nhập về thơng tin sản phẩm, thì trong đó:
 View sẽ hiển thị ra phần nhập form để người dùng có thể nhập vào.
 Khi nhấn lưu Controller lấy dữ liệu từ đó và gửi tới Model.
 Model lúc này sẽ nhận dữ liệu từ Controller để lưu trữ trong cơ sở dữ
liệu.


8
Mỗi bộ phận thực hiện chức năng nhất định, nhưng chúng có sự thống nhất,
liên kết với nhau tạo nên mơ hình MVC. Mơ hình này tương đối nhẹ. Nó có thể
tích hợp được nhiều tính năng có trong ASP.NET hiện giờ.
1.2.2 Lịch sử của MVC
Mơ hình MVC được giới thiệu với ngơn ngữ lập trình Smalltalk-76 khi
Tiến sĩ Trygve Reenskaug đến Trung tâm Nghiên cứu Xerox Palo Alto
(PARC) vào giữa những năm 1970. Sau đó, việc thực hiện đã được sử dụng
rộng rãi trong các phiên bản khác nhau. Tạp chí Cơng nghệ-1988 đã nói rằng
mơ hình MVC đem đến sự hiểu quả vào tối ưu
1.2.3 Ưu và nhược điểm của MVC
Ưu điểm mơ hình MVC
 Trước tiên, nói về ưu điểm của mơ hình MVC, đó là băng thơng nhẹ, vì
nó khơng sử dụng trạng thái xem nên tiết kiệm đường chuyền. Giảm
băng thông giúp website chạy ổn định hơn.
 Các bài kiểm tra sử dụng đơn giản giúp kiểm tra lỗi phần mềm nhanh
trước khi giao lại cho người dùng.
 Một trong những ưu điểm chính của MVC là các thành phần model,
controller và view độc lập với nhau giúp phát triển ứng dụng nhanh, dễ
nâng cấp, bảo trì...
 Sử dụng mơ hình MVC, chức năng Bộ điều khiển đóng vai trị quan

trọng và tối ưu trên các nền tảng ngôn ngữ khác nhau
 Nhiều nhà phát triển có thể được chia để làm việc cùng một lúc. Công
việc của các nhà phát triển không ảnh hưởng đến nhau.
 Hỗ trợ cho TTD (Phát triển theo hướng kiểm tra). Chúng ta có thể tạo
một ứng dụng với các bài kiểm tra đơn vị và viết các trường hợp kiểm
thử thành công.
 Phiên bản mới nhất của MVC hỗ trợ thiết kế trang web đáp ứng mặc
định và các mẫu di động. Chúng ta có thể tạo cơng cụ xem của riêng
mình với cú pháp đơn giản hơn các cơng cụ truyền thống.
Nhược điểm mơ hình MVC


9
Bên cạnh những ưu điểm mà MVC mang lại thì nó cũng tồn tại một số
nhược điểm cần khắc phục.
 MVC chủ yếu phù hợp với các công ty hoặc các dự án quy mô lớn
chuyên về website, đối với dự án nhỏ việc áp dụng mơ hình MVC gây
phức tập, làm chậm tiến độ dự án trong quá trình phát triển
 Tốn thời gian trung chuyển dữ liệu của các thành phần.
 Khó triển khai.
1.3 Tổng quan về ASP.NET MVC
1.3.1 Giới thiệu
ASP.NET MVC là một khung ứng dụng Web được phát triển bởi
Microsoft, thực hiện mơ hình Model-View-Controller (MVC). Nó khơng cịn
được phát triển tích cực. Nó là phần mềm mã nguồn mở.
Dựa trên ASP.NET, ASP.NET MVC cho phép các nhà phát triển phần
mềm xây dựng một ứng dụng Web như các thành phần trong ba vai trò:
Model (truy xuất cơ sở dữ liệu), View (hiển thị) và Controller (bộ điều khiển).
Vào tháng 4 năm 2009, mã nguồn ASP.NET MVC được phát hành theo
Giấy phép Công cộng Chung của Microsoft .

1.3.2 Ưu và nhược điểm
Ưu điểm:
 Thể hiện tính chuyên nghiệp trong lập trình
 Được chia thành các thành phần độc lập nên giúp phát triển ứng dụng
nhanh, dễ nâng cấp, bảo trì..
 Vì được phát triển bởi Microsoft nên ứng dụng tạo ra chạy ổn định trên
Windows
 Đáp ứng nhiều loại thiết bị truy cập và hỗ trợ nhiều ngơn ngữ
 An tồn, Dễ tích hợp
Khuyết điểm:
 Đối với dự án nhỏ việc áp dụng mơ hình MVC gây cồng kềnh, tốn thời
gian trong quá trình phát triển.
 Tốn thời gian trung chuyển dữ liệu của các thành phần


10
1.3.3 Lợi ích web dựa trên mơ hình MVC
 Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng
thành Model, View, Controller.
 Không sử dụng view state hoặc server-based form. Điều này tốt cho
những lập trình viên muốn quản lý hết các khía cạnh của một ứng dụng.
 Sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests (yêu
cầu) chỉ thông qua một Controller.
 Hỗ trợ tốt hơn cho mơ hình phát triển ứng dụng hướng kiểm thử
 Hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập
trình viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng.
1.3.4 Sự khác biệt với WebForm
Tính năng
Kiến trúc


ASP.NET WebForm
Kiến trúc mơ hình WebForm

ASP.NET MVC
Kiến trúc sử dụng cơng việc

chương trình

=> Business =>Database.

phân chia chương trình
thành Cỏtrollers, Models,

Cú pháp chương Sử dụng cú pháp của

Views.
Các sự kiện dượcđiều khiển

trình

webform, tất cả các sự kiện và bởi controllers, các controls

Truy cập dữ liệu

controls do server quản lý.
Sử dụng hầu hết các công

không do server quản lý
Phần lớn dùng LINQ to


nghệ truy cập dữ liệu trong

SQL class để tạo mơ hình

ứng dụng
Debug chương trình phải thực

truy cập đối tượng
Debug có thể sử dụng các

hiện tất cả bao gồm các lớp

unit test kiểm tra các

truy cập dữ liệu, sự hiển thị,

phương thức trong

điều khiển các controls.
Tốc độ phân tải chậm khi

controller
Phân tải nhanh hơn do

trong trang có q nhiều các

khơng phải quản lý

controls vì ViewState quá lớn


ViewState để quản lý các

Tương tác với

Tương tác với javascrip khó

control trong trang
Tương tác với javascrip dễ

javascrip

khăn vì các controls được điều dàng vì các đối tượng

Debug

Tốc độ phân tải


11

URL Address

khiển bởi server

không do server quản lý

Cấu trúc địa chỉ URL có dạng

điều khiển khơng khó
Cấu trúc địa chỉ rành mạch


<filename>.aspx?&
theo dạng

số>

Controllers/Action/Id

Bảng 1. 1 Bảng so sánh sự khác biệt với WebForm

1.3.5 Lịch sử phát triển ASP.NET MVC
- MVC 1.0 có trong Visua studio 2008 với phiên bản .net 3.5 có các chức
năng cơ bản như Kiến trúc MVC với công cụ biểu mẫu web, Routing,
HTML Helpers, Ajax Helpers, Auto binding.
- Ở phiên bản MVC 2.0 trong phiên bản .net 3.5 và .net 4.0 được bổ sung
các tính năng như: Area, Asynchronous controller, Các phương thức
trình trợ giúp html với biểu thức lambda, Thuộc tính DataAnnotations,
Xác thực phía khách hàng, Mẫu tùy chỉnh, Scaffolding.
- Đến phiên bản MVC 3.0 trong Visua studio 2010 bổ sung các tính năng
nổi bật như: Unobtrusive javascript validation, Razor view engine,
Global filters, Remote validation, Dependency resolver for IoC,
ViewBag.
- Trong phiên bản 4.0 Microsotf đã thêm các tính năng Mobile project
template, Bundling and minification và hỗ trợ cho Windows Azure SDK
- Trên phiên bản Visua studio 2013 đã sử dụng MVC 5.0 với nhiều hỗ trợ
thay đổi giao diện : Authentication filters; Bootstrap support, New
scaffolding items, ASP.Net Identity.
- Cịn trên phiên bản 5.2 khơng có nhiều cải tiến lớn thay vào đó tập
trung vào việc sửa các lỗi còn tồn tại và cập nhật các tính năng nhỏ.

Ngày phát hành

Phiên bản

10 December 2007

ASP.NET MVC CTP

13 March 2009

ASP.NET MVC 1.0

16 December 2009

ASP.NET MVC 2 RC

4 February 2010

ASP.NET MVC 2 RC 2

10 March 2010

ASP.NET MVC 2

6 October 2010

ASP.NET MVC 3 Beta

9 November 2010


ASP.NET MVC 3 RC


12
10 December 2010

ASP.NET MVC 3 RC 2

13 January 2011

ASP.NET MVC 3

20 September 2011

ASP.NET MVC 4 Developer Preview

15 February 2012

ASP.NET MVC 4 Beta

31 May 2012

ASP.NET MVC 4 RC

15 August 2012

ASP.NET MVC 4

30 May 2013


ASP.NET MVC 4 4.0.30506.0

26 June 2013

ASP.NET MVC 5 Preview

23 August 2013

ASP.NET MVC 5 RC 1

17 October 2013

ASP.NET MVC 5

17 January 2014

ASP.NET MVC 5.1

10 February 2014

ASP.NET MVC 5.1.1

4 April 2014

ASP.NET MVC 5.1.2

22 June 2014

ASP.NET MVC 5.1.3


1 July 2014

ASP.NET MVC 5.2.0

28 August 2014

ASP.NET MVC 5.2.2

9 February 2015

ASP.NET MVC 5.2.3

12 February 2018

ASP.NET MVC 5.2.4

2 May 2018

ASP.NET MVC 5.2.5

11 May 2018

ASP.NET MVC 5.2.6

29 November 2018

ASP.NET MVC 5.2.7

12 April 2022


ASP.NET MVC 5.2.8 (Current)

Bảng 1. 2 Bảng liệt kệ lịch sử tóm tắt của ASP.NET MVC

Chương 2. Phân tích và đặc tả yêu cầu
2.1. Xây dựng biểu đồ Use Case
2.1.1 Xác định các tác nhân hệ thống
Trong hệ thống có các tác nhân là:
 Quản lý
 Khách hàng
2.1.2 Xác định các ca sử dụng hệ thống
- Xác định ca sử dụng hệ thống với tác nhân khách hàng:
 Đăng nhập, đăng kí ,cập nhật tài khoản cá nhân
 Xem, tra cứu điện thoại
 Đặt điện thoại, thêm, xóa điện thoại trong giỏ hàng, cập nhật số
lượng điện thoại
 Mua sản phẩm:thêm đơn đặt hàng, thêm chi tiết đơn đặt hàng


13
- Xác định ca sử dụng hệ thống với tác nhân quản lý:
 Đăng nhập tài khoản Admin.
 Quản lý điện thoại:thêm, sửa, xóa, tìm kiếm điện thoại.
 Quản lý khách hàng:thêm, sửa, xóa, tìm kiếm tài khoản khách hàng
 Quản lý đơn hàng:sửa đơn hàng, xem chi tiết hóa đơn
 Quản lý hệ điều hành:thêm, sửa, xóa hệ điều hành
 Quản lý nhãn hàng:thêm, sửa, xóa nhãn hàng
 Quản lý tài khoản admin :thêm, sửa, xóa tài khoản Admin

QL:quan ly


QLgi ohang

Dangki

khachhang

xemdi enthoai

timkiem

datmuadienthoai

Dangnhap

QLthongtincanhan

QLtaikhoanadmin

QLdienthoai
Dangnhapadmin

quanly
QLdonhang

QLtaikhoankhachhang

QLhedieuhanh

Qlnhanhang


Hình 2. 1 Biểu đồ use case tồn hệ thống


14
2.2 Chi tiết các Use Case
2.2.1 Use case đăng nhập
2.2.1.1 Đặc tả use case

khachhang

Dangnhap

Nhapthongtin

Hình 2. 2 Use case đăng nhập

Mơ tả vắn tắt use case: Use case này cho phép người dùng tham gia vào hệ
thống để sử dụng các chức năng yêu cầu quyền người dùng.

o
1.

Luồng sự kiện:
Luồng cơ bản:
Use này bắt đầu khi khách hàng chọn “Đăng nhập” trên giao diện. Hệ

thống sẽ hiển thị màn hình gồm các trường gồm: tên đăng nhập, mật khẩu lên
màn hình.
2.

Người dùng nhập thơng tin và kích nút “Đăng nhập” trong màn hình
đăng nhập. Hệ thống truy xuất vào bảng User xác thực tài khoản. Hiển thị
giao diện giao diện người dùng
3.
Use case kết thúc.
o
Luồng rẽ nhánh:
1.
Không kết nối được với CSDL: Tại bất kỳ thời điểm nào trong quá
trình thực hiện use case nếu không kết nối được với CSDL thì hệ thống sẽ
hiển thị một thơng báo lỗi và use case kết thúc.

Tiền điều kiện: Khách hàng có tài khoản trên hệ thống
Hậu điều kiện: Đăng nhập thành công và sử dụng các chức năng của hệ
thống.


15
2.2.1.2 Biểu đồ lớp tham gia ca sử dụng

KHACHHANG
DangNhapkhachhang

MaKH
HoTen
Taikhoan
Matkhau
Email
DiachiKH
DienthoaiKH

Ngaysinh

Dangnhap()
DangNhap
khachhang
LaytTTkhachhang()
Kiemtra()

LayTTKhachHang()

Hình 2. 3 Biểu đồ lớp tham gia ca sử dụng đăng nhập

2.2.1.2 Biểu đồ tuần tự

: khachhang

: Dangkicontroller

: DangkiUI

: khachhang

1:kich chon dang nh...
2:hien thi dang nh...

3:nhap tai khoan()
4:kich nut dangnh...
5:Kiem tra tai khoan()
6:lay bang kach ha...


7:Get khachhang()

8:return ket qua()

9:hienthiramanhinh()

Hình 2. 4 Biểu đồ tuần tự đăng nhập

: ICSDL


×