56 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, giải thích code nếu cần 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ừ quý 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.
Trang 1Liê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
Trang 2Lờ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ừ quý thầy cô và bạnbè
Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến quý thầy cô ở khoaCô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 chochú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!
Trang 3MỤ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
Trang 4Chươ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
Trang 5CHƯƠ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
Trang 6v4.1 Đánh giá kết quả 544.2 Hướng phát triển 55TÀI LIỆU THAM KHẢO 56
Trang 7DANH 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 toà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
Trang 8Hì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
Trang 9DANH 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
Trang 11Nắ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ơnnữ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ườngcũ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ếm95% 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 đượccá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
Trang 123.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êmnhư thế giới di động, FPT Store, Viettel Store từ đó phân tích chi tiếttừ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ế 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àolậ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ốngkhông đáp ứng được kế hoạch đề ra
- Bảo trì hệ thống khi có lỗi phát sinh trong quá 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ả yê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
Trang 14CHƯƠ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ìnhtạ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 trangweb 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ờigian 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: WebForms, 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àobạ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ếnthứ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áctrang web dựa trên giao diện người dùng phức tạp, mạnh mẽ với quyền truycậ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 toàn quyền kiểm soát việc đánh dấu để phát triển thú vị, nhanhnhẹn và linh hoạt ASP.NET MVC bao gồm nhiều tính năng cho phép pháttriển nhanh chóng, thân thiện với TDD để tạo các ứng dụng phức tạp bằngcách sử dụng các tiêu chuẩn website mới nhất
Trang 15Cả ba khung ASP.NET đều dựa trên NET Framework và chia sẻ chứcnă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ủachức năng ASP.NET cốt lõi
Hơn nữa, ba khung không hoàn toà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 khuôn 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ácthà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ụngmẫ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 NETFramework
ASP.NET WebHooks - Triển khai mẫu Webhook để đăng ký và xuất bảncá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ữamáy khách và máy chủ
Trang 161.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ữ toà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:
Trang 17từ 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 Ngoà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
Trang 18Mỗ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ờ
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ảmbă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 nhanhtrướ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ò quantrọ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ôngviệ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ạomộ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ểmthử 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êngmình với cú pháp đơn giản hơn các công cụ truyền thống
Trang 19Nhược điểm mô hình MVC
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ớnchuyên về website, đối với dự án nhỏ việc áp dụng mô hình MVC gâyphứ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
Dựa trên ASP.NET, ASP.NET MVC cho phép các nhà phát triển phầnmề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 theoGiấ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ụngnhanh, 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ênWindows
Đáp ứng nhiều loại thiết bị truy cập và hỗ trợ nhiều ngôn ngữ
An toàn, Dễ tích hợp
Khuyết điểm:
Trang 20Đối với dự án nhỏ việc áp dụng mô hình MVC gây cồng kềnh, tốn thờigian 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
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ụngthành Model, View, Controller
Không sử dụng view state hoặc server-based form Điều này tốt chonhữ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êucầ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ậptrì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
Views
Cú pháp chương
trình
Sử dụng cú pháp của webform, tất cả các sự kiện vàcontrols do server quản lý
Các sự kiện dượcđiều khiểnbởi controllers, các controls
không do server quản lý
Truy cập dữ liệu Sử dụng hầu hết các công
nghệ truy cập dữ liệu trong ứng dụng
Phần lớn dùng LINQ to SQL class để tạo mô hình
truy cập đối tượng
Debug Debug chương trình phải thực
hiện tất cả bao gồm các lớp truy cập dữ liệu, sự hiển thị, điều khiển các controls
Debug có thể sử dụng các unit test kiểm tra các phương thức trong
controller
Tốc độ phân tải Tốc độ phân tải chậm khi
trong trang có quá nhiều các
Phân tải nhanh hơn do không phải quản lý
Trang 21controls vì ViewState quá lớn ViewState để quản lý các
control trong trang
Tương tác với
javascrip
Tương tác với javascrip khó khăn vì các controls được điềukhiển bởi server
Tương tác với javascrip dễ dàng vì các đối tượng không do server quản lý
điều khiển không khó
URL Address Cấu trúc địa chỉ URL có dạng
<filename>.aspx?&<các tham số>
Cấu trúc địa chỉ rành mạch theo dạng
- Ở phiên bản MVC 2.0 trong phiên bản net 3.5 và net 4.0 được bổ sungcác tính năng như: Area, Asynchronous controller, Các phương thứctrì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ăngnổ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 projecttemplate, 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, Newscaffolding 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ậptrung 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
Trang 2220 September 2011 ASP.NET MVC 4 Developer Preview
15 February 2012 ASP.NET MVC 4 Beta
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
Trang 232.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
- 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
Trang 24Dangki
datmuadienthoai QLgi ohang
QLthongtincanhan
QLhedieuhanh QlnhanhangQLtaikhoanadmin
QLdonhang
QL:quan ly
QLdienthoai QLtaikhoankhachhang
timkiem xemdi enthoai khachhang
Dangnhap
quanly Dangnhapadmin
Hình 2 1 Biểu đồ use case toàn hệ thống
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
Dangnhap
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
Luồng sự kiện:
o Luồng cơ bản:
Trang 251 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ênmà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ệ
KHACHHANG
MaKH HoTen Taikhoan Matkhau Email DiachiKH DienthoaiKH Ngaysinh LayTTKhachHang()
Hình 2 3 Biểu đồ lớp tham gia ca sử dụng đăng nhập
Trang 26xxv2.2.1.2 Biểu đồ tuần tự
: khachhang : DangkiUI : Dangkicontroller : khachhang : ICSDL 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
8:return ket qua() 9:hienthiramanhinh()
7:Get khachhang()
Hình 2 4 Biểu đồ tuần tự đăng nhập
2.1.2 Use Case đăng kí
2.2.2.1 Đặc tả use case
dangki khachhang
Nhapthongtin
Hình 2 5 Use case đăng kí
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
Luồng sự kiện:
Trang 27o Luồng cơ bản:
4 Use này bắt đầu khi khách hàng chọn “Đăng kí” 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 vàcác thông tin người dùng lên màn hình
5 Người dùng nhập thông tin và kích nút “Đăng kí” trong màn hình đăng
kí Hệ thống truy xuất vào bảng User xác thực tài khoản Hiển thị giao diệngiao diện người dùng
6 Use case kết thúc
o Luồng rẽ nhánh:
2 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 chưa có tài khoản trên hệ thống
Hậu điều kiện: Đăng kí thành công.
2.2.2.2 Biểu đồ lớp tham gia ca sử dụng
KHACHHANG
MaKH HoTen Taikhoan Matkhau Email DiachiKH DienthoaiKH Ngaysinh LayTTKhachHang()
Hình 2 6 Biểu đồ lớp tham gia ca sử dụng đăng kí
Trang 28xxvii2.2.2.3 Biểu đồ tuần tự
: khachhang : DangkiUI : Dangkicontroller : khachhang : ICSDL
1:kich chon dang ki()
2:hien thi dang ki() 3:nhap tai khoan()
4:kich nut dangki()
Hình 2 7 Biểu đồ tuần tự đăng kí
2.1.3 Use Case quản lí sản phẩm
2.2.3.1 Đặc tả use case
Biểu đồ Use Case quản lí sản phẩm
Hình 2 8 Biểu đồ UC quản lí sản phẩm
- Đặc tả UC
Trang 292) Tìm kiếm sản phẩm
a Quản lý nhập từ khóa vào textbox tìm kiếm
b Quản lý kích vào nút “Tìm kiếm” Hệ thống lấy thông tin từ bảng
DIENTHOAI dựa theo các từ khóa đã nhập và hiển thị kết quả lên màn hình.3) Thêm sản phẩm
a Quản lý kích vào nút “Thêm mới” Hệ thống hiển thị màn hình yêu cầu nhập thông tin chi tiết (như mô tả ở trên) của sản phẩm
b Quản lý nhập thông tin cho sản phẩm mới và kích vào nút “Lưu” Hệ thống lưu thông tin sản phẩm mới vào bảng DIENTHOAI và hiển thị lại danh sách sản phẩm được cập nhật
5) Xóa sản phẩm
Trang 30a Quản lý chọn một sản phẩm muốn xóa và kích vào nút “Xóa” Hệ thống hiển thị màn hình yêu cầu xác nhận xóa
b Quản lý kích nút “Đồng ý” Hệ thống xóa sản phẩm khỏi bảng
DIENTHOAI, hiển thị thông báo đã xóa thành công khách hàng và hiển thị lạidanh sách các sản phẩm được cập nhật
6) Use case kết thúc
Luồng rẽ nhánh
1) Tại bước 2b hoặc 3b trong luồng cơ bản, khi người quản trị kích nút “Quaylại” hệ thống sẽ bỏ qua thao tác thêm mới hoặc sửa sản phẩm và hiển thị danhsách thông tin chi tiết của các sản phẩm từ bảng DIENTHOAI cùng với các lựa chọn thêm sản phẩm, sửa sản phẩm, xóa sản phẩm
2) Tại bước 2b trong luồng cơ bản, khi không thêm được bản ghi mới vào bảng DIENTHOAI Hệ thống hiển thị thông báo lỗi và quay lại bước 1
3) 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 cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
Các yêu cầu đặc biệt
Không có
Tiền điều kiện
Quản lý phải đăng nhập thành công
Hậu điều kiện
Thông tin được lưu vào bảng DIENTHOAI
2.2.3.2 Biểu đồ lớp tham gia ca sử dụng
Trong Ca sử dụng Quản lý sản phẩm có các use case con:
Trang 31quanly
Quanly
Themsanpham() Suasanpham() Xoasanpham() Timkiemsanpham() TimKiemSanPham
LayTTTimKiem() KiemTra()
DIENTHOAI
MaDT TenDT Giaban Manhinh Ram Rom cammera Mota Anhbia Ngaycapnhat Soluongton MaHDH MaNSB LayTTsanpham()
Hình 2 9 Biểu đồ lớp tham gia ca sử dụng tìm kiếm sản phẩm
Biểu đồ lớp tham gia ca sử dụng thêm mới sản phẩm
quanly
Quanly
Themsanpham() Suasanpham() Xoasanpham() Timkiemsanpham() ThemSanPham
LayTTsanpham()
DIENTHOAI
MaDT TenDT Giaban Manhinh Ram Rom cammera Mota Anhbia Ngaycapnhat Soluongton MaHDH MaNSB LayTTsanpham()
Hình 2 10 Biểu đồ lớp tham gia ca sử dụng thêm mới sản phẩm
Biểu đồ lớp tham gia ca sử dụng cập nhật thong tin sản phẩm
Trang 32quanly
Quanly
Themsanpham() Suasanpham() Xoasanpham() Timkiemsanpham() CapNhatSanPham
LayTTSanPham() LayMaSPCanSua()
DIENTHOAI
MaDT TenDT Giaban Manhinh Ram Rom cammera Mota Anhbia Ngaycapnhat Soluongton MaHDH MaNSB LayTTsanpham()
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
Biểu đồ lớp tham gia ca sử dụng xóa sản phẩm
quanly
Quanly
Themkhachhang() Suakhachhang() Xoakhachhang() Timkiemkhachhang() XoaKhachHang
LayMaKHCanXoa()
DIENTHOAI
MaDT TenDT Giaban Manhinh Ram Rom cammera Mota Anhbia Ngaycapnhat Soluongton MaHDH MaNSB LayTTsanpham()
Hình 2 12 Biểu đồ lớp tham gia ca sử dụng xóa sản phẩm
Trang 33xxxii2.2.3.3 Biểu đồ tuần tự
: quanly :
QuanlydienthoaiUI : QuanlydienthoaiUI
: Quanlydienthoaicontroller
: Quanlydienthoaicontroller
: dienthoai : ICSDL 1:kich nut them()
2:hienthigiaodienthoai() 3:nhap thong tin()
4:kich nut them()
5:them dienthoai()
7:insert dienthoai()
9:return ketqua() 10:hienthi danhsach()
6:insert dienthoai()
Hình 2 13 Biểu đồ tuần tự quản lý điện thoại