Mục tiêu - Ngày nay với sự phát triển mạnh mẻ của công nghệ thông tin và những ứng dụng cảu nó trong đời sống ,điện thoại ,máy tính không còn là một thứ phương tiện lạ lẩm đốivới mọi ngư
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ
ĐỒ ÁN CHUYÊN NGÀNH
XÂY DỰNG WEBSITE BÁN ĐIỆN THOẠI DI ĐỘNG
TẠI CỬA HÀNG SMARTPHONE STORE
Giảng viên hướng dẫn : ThS Lê Vũ
Sinh viên thực hiện : Trần Hoàng Vỹ Lớp : 16T5
Ngành : Công nghệ thông tin
Đà Nẵng, tháng 7 -2019
Trang 2MỤC LỤC
CHƯƠNG I TỔNG QUAN ĐỀ TÀI 8
1 Lý do chọn đề tài 8
2 Mục tiêu và nhiệm vụ của đề tài 9
2.1 Mục tiêu 9
2.2 Nhiệm vụ 9
3 Đối tượng và phạm vi nghiên cứu 9
3.1 Đối tượng 9
3.2 Phạm vi nghiên cứu 9
4 Phương pháp nghiên cứu 9
4.1 Phương pháp thu thập 9
4.2 Phương pháp xử lý thông tin 9
5 Tổng kết 10
CHƯƠNG II CƠ SỞ LÝ THUYẾT 11
1 Ngôn ngữ lập trình ASP.NET 11
1.1 Giới thiệu về ASP.NET? 11
2 tổng quan về ASP.NET MVC 14
2.1 Tổng quan 14
2.2 Lợi ích của ứng dụng web dựa trên mô hình MVC 16
2.3 Các tính năng của nền tảng ASP.NET MVC 16
3 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server 17
4 DATATABLE 18
4.1 Installation 18
4.2 Data 18
4.3 Data Sources 18
CHƯƠNG III PHÂN TÍCH THIẾT KẾ HỆ THỐNG 19
1 Đối tượng sử dụng hệ thống 19
1.1 Khách hàng vãng lai 19
1.2 Khách hàng thành viên 19
1.3 Nhân viên quản lý khokho 19
1.4 Nhân viên quản trị (admin) 19
1.5 Nhân viên giao hàng 20
2 Phân tích 20
2.1 Yêu cầu chất lượng 20
Trang 32.2 Yêu cầu chức năng 20
2.2.1 Tổng quát chức năng 20
2.2.3 Sơ đồ hoạt động 27
2.2.4 Sơ đồ tuần tự 33
3 Giới thiệu công nghệ: 40
3.1 ASP.NET MVC: 40
3.2 SQL SERVER 40
SQL server chính là cụm từ viết tắt của Structure Query Language đượ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ó trình hỗ trợ là SQL Những ứng dụng khi chạy phải sử dụng SQL khi người dùng truy cập tới cơ sở dữ liệu thì không cần sử dụng trực tiếp SQL.Thiết kế hệ thống40 3.3 Thiết kế cơ sở dữ liệu 40
3.3.1 Bảng Quyen 40
3.3.2 Bảng Khách hàng 40
3.3.3 Bang loại sản phẩm 41
3.3.4 Bảng sản phẩm 41
3.3.5 Bảng nhân viên 42
3.3.6 Bảng đơn hàng 42
3.3.7 Bảng chi tiết đơn hàng 44
3.3.8 Bảng nhà cung cấp 44
3.3.9 Bảng phiếu nhập 44
3.3.10 Bảng chi tiết nhập kho 45
3.4 Đặc tả chức năng 45
3.4.1 Đăng ký 45
3.4.2 Đăng nhập 45
3.4.3 Xem thông tin sản phẩm 46
3.4.4 Cập nhật thông tin giỏ hàng 46
3.4.5 Đặt hàng 46
3.4.6 Cập nhật thông tin sản phẩm 47
3.4.7 Xử lý đơn hàng 47
3.4.8 Bảo hành sản phẩm 47
3.4.9 Quản lý thông tin nhập và xuất kho 48
CHƯƠNG IV KẾT QUẢ TRIỂN KHAI HỆ THỐNG WEBSITE 49
1 Thiết kế giao diện 49
Trang 41.1 Trang bán hàng 49
1.2 Trang chi tiết sản phẩm 49
1.3 Tìm hảng sản phẩm 50
1.4 Trang giỏ hàng 50
1.5 Trang chỉnh sửa giỏ hàng 51
1.6 Trang quản lý loại sản phẩm 51
1.7 Xem trang quản lý sản phẩm 52
1.8 Xem trang chọn nhân viên giao hàng 52
1.9 Xem trang đơn hàng 53
1.10 Trang đăng nhập 53
1.11 Trang đăng ký 54
KẾT LUẬN 54
1 Ưu điểm 54
2 Những việc chưa đạt được 54
3 Hướng phát triển 55
PHỤ LỤC 56
1 Cài đặt STS 56
Trang 5DANH MỤC HÌNH ẢNH
Hình 1: Mẫu Model – View – Controller 14
Hình 2:sơ đồ User Case 22
Hình 3: Usecase khách hàng 23
Hình 4: Usecase khách hàng vãng lai 23
Hình 5: Usecase nhân viên quản trị 24
Hình 6: Usecase nhân viên quản trị quản lý sản phẩm 24
Hình 7: Usecase nhân viên quản trị quản lý tin tức 25
Hình 8: Usecase nhân viên quản trị quản lý đơn đặt hàng 25
Hình 9: Usecase nhân viên quản lý kho 26
Hình 10: Usecase xuat nhap kho 26
Hình 11: Sơ đồ hoạt động thống kế doanh số 27
Hình 12: Sơ đồ hoạt động đăng nhập 28
Hình 13: Sơ đồ hoạt động khách hàng đổi mật khẩu 29
Hình 14: Sơ đồ hoạt động khách hàng mua hàng 30
Hình 15: Sơ đồ hoạt động mhaan viên quản trị xem thông tin khách hàng 31
Hình 16: Sơ đồ hoạt động nhân viên quản trị thêm sản phẩm 32
Hình 17: Sơ đồ hoạt tuần tự khách hàng đăng nhập 33
Hình 18: sơ đồ tuần tự khách hàng đổi mật khẩu 34
Hình 19: sơ đồ tuần tự mua hàng 35
Hình 20: sơ đồ tuần tự nhân viê quản trị xem thông tin khách hàng 36
Hình 21: sơ đồ tuần tự nhân viên quản trị thêm sản phẩm 37
Hình 22: sơ đồ phân cấp chức năng phía Frontend 37
Hình 23: sơ đồ phân cấp chức năng backend 38
Hình 24: Sơ đồ ERD 39
Hình 25: Giao diện trang bán hàng 49
Hình 26: Giao diện trang danh sách đơn hàng 49
Hình 27: Giao diện trang thống kê doanh số 50
Hình 28: Giao diện trang thống kê theo hàng hóa 50
Hình 29: Giao diện trang tồn kho – hàng tồn 51
Hình 30: Giao diện trang tồn kho – Nhập xuất tồn 51
Hình 31: Giao diện trang tồn kho – Xuất trả hàng hóa 52
Hình 32: Giao diện phiếu nhập kho 52
Hình 33: Giao diện phiếu xuất kho 53
Hình 34: Giao diện trang đăng nhập 53
Hình 35: Giao diện trang đăng ký 54
Trang 6DANH MỤC BẢNG BIỂ
Bảng 1: Tác nhân của hệ thống 21
Bảng 2: Table quyen 40
Bảng 3: Table khachhang 41
Bảng 4: Table loaisanpham 41
Bảng 5: Table sanpham 42
Bảng 6: Table nhanvien 42
Bảng 7: Table donhang 43
Bảng 8: chitietdonhang 44
Bảng 9: Table nhacungcap 44
Bảng 10: Table phieunhap 45
Bảng 11: Table chitietphieunhap 45
Trang 7LỜI CẢM ƠN
Lời đầu tiên, em xin gởi lời cảm ơn chân thành đến quý thầy cô đã giúp đỡ chúng em thực
hiện đề tài này Đặc biệt là ThS Lê Vũ đã tận tình giúp đỡ chúng em trong xuất quá trình thực
hiện đề tài tốt nghiệp này.
Đồng thời, chúng em cũng xin cảm ơn quý thầy cô thuộc ngành Công Nghệ Thông Tin trường Cao Đẳng Công Nghệ - Đại Học Đà Nẵng đã truyền đạt những kiến thức cần thiết và những kinh nghiệm quý báu cho chúng em trong suốt thời gian 3 năm trên giảng đường để em
có thể thực hiện tốt đề tài này Đặc biệt, em xin gởi lời cảm ơn chân thành tới ThS Hoàng Thị
Mỹ Lệ - giáo viên chủ nhiệm lớp 14T1 cùng ThS Nguyễn Thị Hà Quyên đã giúp đỡ chúng em
rất nhiều trong quá trình học tập và công việc.
Trong quá trình thực hiện đề tài, do kiến thức và thời gian còn hạn chế nên không thể tránh khỏi những sai sót Vì vậy em mong quý thầy, cô thông cảm và góp ý để em có thể hoàn thiện đề tài Và những lời góp ý đó có thể giúp chúng em có thể tránh được những sai lầm sau này.
Chúng em xin chân thành cảm ơn!
Đà Nẵng, ngày 04 tháng 7 năm 2019
Sinh viên thực hiện
Trần hoàng vỹ
Trang 8CHƯƠNG I TỔNG QUAN ĐỀ TÀI
Khi xã hội ngày càng phát triển, mức sống của người dân được nâng cao thu nhập kinh tế ngày càng được cải thiện thì chiếc điện thoại di động không còn trở nên xa lạ với mọi người nữa mà ngược lại nó là một vật dụng không thể thiếu đối với người dân hiện nay Hầu hết mỗi người đều trang bị cho mình một chiếc điện thoại phù hợp với nhu cầu và túi tiền của mình Tuy nhiên, với cuộc sống ngày càng bận rộn như hiện nay thì việc muốn mua một chiếc điện thoại mình ưa thích thì người tiêu dùng phải đến tận cửa hàng để chọn lựa vì thế
sẽ mất khá nhiều thời gian và công sức
Cùng với các lý do nêu trên, qua tìm hiểu nhóm đồ án được biết việc ứng dụng bán điện thoại di động trực tuyến sẽ giúp cho khách hàng giảm bớt được thời gian và công sức phải đến tận cửa hàng để mua Muốn lựa chọn cho mình một chiếc điện thoại ưng ý phù hợp với túi tiền thì khách hàng chỉ cần ngồi bên chiếc máy tính có nối mạng internet là có thế mua được mặt hàng điện thoại mình cần
Do đó e chọn thực hiện đề tài “ xây dựng website bán điện thoại di động trực tuyến cho cữa hàng smartphone store
Phần mềm được xây dựng với định hướng giúp việc mua sắm điện thoại của khách hàng
dễ dàng và nhanh gọn hơn, không mất thời gian và công sức
ASP.NET là ngôn ngữ lập trình có bộ thư việc phải nói là cực kỳ đa dạng và phong phú,được cung cấp bởi Net Framewrork nên có nhiều ưu điểm rất nổi bật Chưa kể là ngôn ngữ lậptrình này còn được hỗ trợ rất tốt về XML và khả năng truy cập cơ sở dữ liệu qua ADO.net cókhả năng hoạt động tốt trên nhiều ứng dụng để đảm bảo hiệu suất tốt nhất, cao nhất cho website.Khi sử dụng ASP.NET, chúng ta có thể tách bạch phần code và giao diện thành 2 phần riêng biệthoàn toàn để tạo ra những nét thú vị nhất cho web Ngoài ra thì cũng nhờ vậy mà việc quản lý vàbảo trì web trong quá trình vận hành, sử dụng đã trở nên dễ dàng và thuận tiện hơn rất nhiều
Từ những lý do trên, chúng tôi chọn đề tài“ Xây dựng website bán điện thoại di động tại cữa hàng smartphone store ” làm hướng nghiên cứu cho đề tài.
Trang 92 Mục tiêu và nhiệm vụ của đề tài
2.1 Mục tiêu
- Ngày nay với sự phát triển mạnh mẻ của công nghệ thông tin và những ứng dụng cảu
nó trong đời sống ,điện thoại ,máy tính không còn là một thứ phương tiện lạ lẩm đốivới mọi người mà nó dần trở thành một công cụ làm việc hữu ích và giải trí thôngdụng và Website bán hàng DTDD trực tuyến hướng đến trẻ tuổi,năng động và yêuthích công nghệ.Website được xây dựng nhằm giúp tiết kiệm thời gian của kháchhàng và chi phí cho của hàng trong việc giới thiệu ,hỗ trợ khách hàng lựa chọn sảnphẩm phù hợp với nhu cầu của mình
- Quản lý các thông tin khách hàng, ban quảng trị
- Đưa ra các sản phẩm điện thoại di động đa dạng và hợp túi tiền
- Cung cấp cho khách hàng những cập nhật mới nhất về sản phẩm và giá cả
- Khảo sát thực trạng tại công ty smartphone store
- thu thập các yêu cầu về phía người dùng
4.2 Phương pháp xử lý thông tin
Phân tích thiết kế hệ thống theo yêu cầu của người dung
Trang 10 Nghiên cứu các công cụ xây dựng hệ thống
Phương pháp tổng hợp: Áp dụng lựa chọn tốt nhất từ bước phân tích kết hợp vớicông nghệ, từ đó từng bước hoàn thành đề tài
5 Tổng kết
Nội dung đồ án bao gồm:
Chương I: Tổng quan đề tài
Chương II: Cơ sở lý thuyết
Chương III: Phân tích, thiết kế hệ thống
Chương IV: Kết quả triển khai hệ thống website
Kết Luận
Phụ Lục
Trang 11CHƯƠNG II CƠ SỞ LÝ THUYẾT
1 Ngôn ngữ lập trình ASP.NET
1.1 Giới thiệu về ASP.NET?
Tại sao phải quan tâm tới ASP.NET ?
Ta phải công nhận một điều là NET Framework và các ứng dụng của nó đã và đang tạomột cuộc cách mạng kỹ thuật trong công nghệ tin học (Information Technology), thay đổi tậngốc rễ các kiểu mẫu lập trình hay phét triển và triển khai mạng trên thế giới và do đó tạo mộtvận hội mới đáp ứng mọi yêu cầu khẩn thiết cho các ngành nghề kỹ thuật và thương mại hiệnnay cũng như vạch một hướng đi vững chắc và lâu dài cho tương lai tin học ASP.NET chính
là một trong những ứng dụng quan trọng nhất để phát triển và triển khai mạng một cách dễdàng chưa từng thấy từ xưa đến nay
Hãy lắng nghe chính Microsoft nói về ASP.NET như thế nào:
“ASP.NET is a revolutionary programming frramework that enables the rapiddevelopment of powerful web applications and services Part of the Microsoft NET Platform,
it provides the easiest and most scalable way to develop, deploy and run distributed webapplications that can target any browser or any application.”
Chúng ta cùng tìm hiểu những đặc tính của ASP.NET:
- Easy Programming Model:
ASP.NET giúp chúng ta phát triển và triển khai các ứng dụng về mạng trong một thời gian kỷ lục vì nó cung cấp cho ta một kiểu mẫu lập trình dễ dàng và gọn gàng nhất Ngoài ra, các trang ASP.NET còn làm việc với mọi browsers hiện nay như Internet Explorer (IE),
Netscape, Opera, AOLmà không cần đổi tới đổi lui các nguồn mã vật vã như trước
- Flexible Language Options:
Không như ASP kiểu cổ điển chỉ giới hạn với VBScripts and JScripts, ASP.NET yểm trợ trên
25 ngôn ngữ lập trình (dĩ nhiên ngoài các ngôn ngữ mới thiết lập đã cài sẵn yểm trợ NETframework như là VB.NET, C# và JScript.NET còn có MC++.NET, Smalltalk.NET,COBOL.NET, Eiffel.NET, Perl.NET, Component Pascal.NET, Mercury.NET, Oberon.NET,Python.NET)
- Great Tool Support:
Mặc dù ta có thể chỉ dùng đến Notepad để triển khai các trang ASP.NET nhưng VisualStudio.NET giúp năng suất triển khai mạng thêm phần hiệu quả vì ta có thể quan sát các kế
Trang 12hoạch của ta dễ dàng hơn khi phác họa các thành phần của ASP.NET bằng hình ảnh vớiASP.NET Web Forms hay Services theo phương pháp “drag-drop-doubleclick” quen thuộc củanền Windows Hơn nữa, còn yểm trợ ta trong việc phát hiện và loại bỏ các lỗi sai một cách rấtthuận lợi trong khi phát triển các ứng dụng về mạng (support for debugging and deployingASP.NET Web applications).
- Rich Class Framework:
Nhờ nền tảng vững vàng và tài nguyên phong phú NET Framework với hơn 5000 classes baogồm đủ thứ như XML, data access, file upload, regular expressions, transactions, messagequeuing, SMTP mail, nên việc thiết kế các đặc tính trong một ứng dụng trở nên nhẹ nhàng vàthoải mái hơn xưa rất nhiều
- Rich output caching:
ASP.NET có khả năng lưu trữ một kết quả chung trong bộ phận memory của trang để gửi giảiđáp cho cùng một yêu cầu từ nhiều khách hàng khác nhau và nhờ đó không những tiết kiệmđược sự lặp đi lặp lại công tác thi hành của một trang web mà còn gia tăng hiệu suất một cáchngoạn mục do giới hạn tối đa việc chất vấn các cơ sở dữ liệu ( eliminating the need to query thedatab ase on every request ) rất tốn nhiều thời gian
- NET Outperforms J2EE:
Trong việc đối đầu nhau về hiệu suất (performance) và scalability với cùng một ứng dụngphát triển giữa Sun's Java Pet Store J2EE và ASP.NET thì ASP.NET không những nhanh vượttrội hơn J2EE đến 28 lần (khoảng 2700%), nguoonfmaxlaij it hơn nhiều (khoảng ¼ nguồn mãcủa J2EE) mà còn dùng bộ xử lý (processor) chỉ khoảng 1/6 lần so với việc sử dụng processorcủa J2EE
- Memory Leak, DeadLock và Crash protection:
ASP.NET cũng có khả năng dò tìm và phục hồi (detects and recovers) những trở ngại nghiêmtrọng như deadlocks hay bộ nhớ bị rỉ để đảm bảo ứng dụng của bạn luôn luôn sẵn sàng khi dùng
mà không làm cản trở việc cung ứng dịch vụ cần thiết thường lệ
Trang 13- Simple application deployment:
ASP.NET đơn giản hóa việc triển khai ứng dụng mạng, do đó biến việc triển khai toàn bộ ứngdụng trở nên dễ dàng và thuận tiện hơn hẳn trước kia vì bây giờ ta chỉ cần sao (với XCOPY) vàlưu trữ ở server chứ không cần phải chạy chương trình “regsrv32” để đăng ký bất cứ thành phầnnào cả, và thêm nữa khi cần lưu trữ những yếu tố phụ cần thiết cho việc thiết lập hay bố trí cácứng dụng, ta chỉ cần lưu trữ nó vào trong một hồ sơ dưới dạng XML là đủ
- Dynamic update of running application:
ASP.NET cho phép ta tự động cập nhật hóa các thành phần đã compiled (compiledcomponents) mà không cần phải khởi động lại các Web server
- Easy Migration Path:
Ta không cần phải du nhập những ứng dụng được phát triển và triển khia bằng ASP cổ điểnhiện có vào ASP.NET vì ASP.NET có thể chạy song song với ASP ở cùng một InternetInformation Server (IIS) trong nền windows 2000 hay windowx XP Các ứng dụng cũ vẫn đượcchạy hết sức thoải mái với ASP.DLL trong khi ASP.NET sẽ xử lý các ứng dụng mới Ngoài ra,ASP.NET còn cho phép bạn dùng lại những thành phần thương mại hiện nay kiểu COM cổ điểntrong các ứng dụng của nó
- Mobile Web Service Support:
Thêm nữa, ASP.NET Mobile Controls còn giúp ta phát triển và triển khai mạng nhắm vào thịtrường những cell phone hay PDA với gần hơn 80 Mobile Web Services được cung cấptrong NET framework Bạn chỉ cần lập trình cho ứng dụng của bạn rồi phó mặc cho MobileControls đó tự động phát sinh ra những nguồn mã WAP/WML, HTML hay iMode thích hợp vớitừng loại thiết bị riêng biệt
Trang 142 tổng quan về ASP.NET MVC
2.1 Tổng quan
Mẫu kiến trúc Model – View – Controller được sử dụng nhằm chi ứng dụng thành ba thành phầnchính: model, view và controller Nền tảng ASP.NET MVC giúp cho chúng ta có thể tạo được các ứng dụng web áp dụng mô hình MVC thay vì tạo ứng dụng theo mẫu ASP.NET Web Forsm.Nền tảng ASP.NET MVC có đặc điểm nổi bật là nhẹ (lighweigt), dễ kiểm thử phần giao diện (sovới ứng dụng Web Forms), tích hợp các tính năng có sẵn của ASP.NET Nền tảng ASP.NET MVC được định nghĩa trong namespace System.Web.Mvc và là một phần của name space System.Web
MVC là một mẫu thiết kế (design pattern) chuẩn mà nhiều lập trình viên đã quen thuộc Một số loại ứng dụng web sẽ thích hợp với kiến trúc MVC Một số khác vẫn thích hợp với ASP.NET Web Forms và cơ chế postbacks Đôi khi có những ứng dụng kết hợp cả hai kiến trúc trên
Nền tảng MVC bao gồm các thành phần dưới đây:
Hình 1: Mẫu Model – View – Controller
Models: Các đối tượng Models là một phần của ứng dụng, các đối tượng này thiết lập logic của phần dữ liệu của ứng dụng Thông thường, các đối tượng model lấy và lưu trạng thái của model trong CSDL Ví dụ như, một đối tượng Product (sản phẩm) sẽ lấy
dữ liệu từ CSDL, thao tác trên dữ liệu và sẽ cập nhật dữ liệu trở lại vào bảng Products ở SQL Server.
Trang 15Trong các ứng dụng nhỏ, model thường là chỉ là một khái niệm nhằm phân biệt hơn là được cài đặt thực thụ, ví dụ, nếu ứng dụng chỉ đọc dữ liệu từ CSDL và gởi chúng đến view, ứng dụng khong cần phải có tầng model và các lớp lien quan Trong trường hợp này, dữ liệu được lấy như là một đối tượng model (hơn là tầng model).
Views: Views là các thành phần dùng để hiển thị giao diện người dùng (UI) Thông thường, view được tạo dựa vào thông tin dữ liệu model Ví dụ như, view dùng để cập nhật bảng Products sẽ hiển thị các hộp văn bản, drop-down list, và các check box dựa trên trạng thái hiện tại của một đối tượng Product.
Controllers: Controller là các thành phần dùng để quản lý tương tác người dùng, làm việc với model và chọn view để hiển thị giao diện người dùng Trong một ứng dụng MVC, view chỉ được dùng để hiển thị thông tin, controller chịu trách nhiệm quản lý và đáp trả nội dung người dùng nhập và tương tác với người dùng Ví dụ, controller sẽ quản lý các
dữ liệu người dùng gởi lên (query-string values) và gởi các giá trị đó đến model, model
sẽ lấy dữ liệu từ CSDL nhờ vào các giá trị này
Mẫu MVC giúp bạn tạo được các ứng dụng mà chúng phân tách rạch ròi các khía cạnh của ứng dụng (logic về nhập liệu, logic xử lý tác vụ và logic về giao diện) Mẫu MVC chỉ
ra mỗi loại logic kể trên nên được thiếp lập ở đâu trên ứng dụng Logic giao diện (UI logic) thuộc về views Logic nhập liệu (input logic) thuộc về controller Và logic tác vụ (Business logic – là logic xử lý thông tin, mục đích chính của ứng dụng) thuộc về model
Sự phân chia này giúp bạn giảm bớt được sự phức tạp của ứng dụng và chỉ tập trung vào mỗi khía cạnh cần được cài đặt ở mỗi thời điểm Ví dụ như bạn chỉ cần tập trung vào giao diện (views) mà không phải quan tâm đến logic xử lý thông tin của ứng dụng.
Để quản lý sự phức tạp của ứng dụng, mẫu MVC giúp cho chúng ta có thể kiểm thử ứng dụng dễ dàng hơn hẳn so với khi áp dụng mẫu Web Forms Ví dụ, trong một ứng dụng ASP.NET Web Forms, một lớp thường được sử dụng để hiển thị thông tin xuất ra cho người dùng và đồng thời xử lý thông tin người dùng nhập Việc xây dựng các bộ test tự động cho ứng dụng Web Forms là rất phức tạp, bởi để kiểm thử mỗi trang web, bạn phải khởi tạo đối tượng trang, khởi tạo tất cả các control được sử dụng trong trang và các lớp phụ thuộc trong ứng dụng Và bởi vì có quá nhiều lớp cần được khởi tạo để chạy được trang, thật khó để có thể viết các test chỉ tập trung vào một khía cạnh nào đó của ứng dụng Và vì thế, kiểm thử đối với các ứng dụng dứa trên nền tảng Web Forms sẽ khó khăn hơn nhiều so với khi áp dụng trên ứng dụng MVC Hơn thế nữa, việc kiểm thử trên nền tảng Web Forms yêu cầu phải sử dụng đến web server Nền tảng MVC phân tách các thành phần và sử dụng các interface (khái niệm giao diện trong lập trình hướng đối tượng), và nhờ đó có thể kiểm thử các thành phần riêng biệt trong tình trạng phân lập với các yếu tố còn lại của ứng dụng.
Sự phân tách rạch ròi ba thành phần của ứng dụng MVC còn giúp cho việc lập trình diễn
ra song song Ví dụ như một lập trình viên làm việc với view, lập trình viên thứ hai lo cài
Trang 16đặt logic của controller và lập trình viên thứ ba có thể tập trung vào logic tác vụ của model tại cùng một thời điểm.
Lựa chọn áp dụng MVC trong xây dựng ứng dụng
Bạn cần phải xem xét kỹ càng việc áp dụng mô hình ASP.NET MVC hay mô hình
ASP.NET Web Forms khi xây dựng một ứng dụng Mô hình MVC không phải là mô hình thay thế cho Web Forms, bạn có thể dùng một trong hai mô hình.
Trước khi quyết định sử dụng MVC hay Web Forms cho một web site cụ thể, bạn cần phải phân tích lợi ích khi chọn một trong hai hướng.
2.2 Lợi ích của ứng dụng web dựa trên mô hình MVC
Nền tảng ASP.NET MVC mang lại những lợi ích sau:
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 ba thành phần model, view, controller
Nó 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
Nó 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 Nhờ đó bạn có thể thiết kế một hạ tầng quản lý định tuyến Để có nhiều thông tin hơn, bạn nên xem phần Front Controller trên web site MSDN
Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử (TDD)
Nó 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
Lợi ích của ứng dụng được xây dựng trên nền tảng Web Forms
Nó hỗ trợ cách lập trình hướng sự kiện, quản lý trạng thái trên giao thức HTTP, tiện dụngcho việc phát triển các ứng dụng Web phục vụ kinh doanh Các ứng dụng trên nền tảng Web Forms cung cấp hàng tá các sự kiện được hỗ trợ bởi hàng trăm các server controls
Sử dụng mẫu Page Controller Xem thêm ở mục Page Controller trên MSDN
Mô hình này sử dụng view state hoặc server-based form, nhờ đó sẽ giúp cho việc quản lý trạng thái các trang web dễ dàng
Nó rất phù hợp với các nhóm lập trình viên quy mô nhỏ và các thiết kế, những người muốn tận dụng các thành phần giúp xây dựng ứng dụng một cách nhanh chóng
Nói tóm lại, áp dụng Web Forms giúp giảm bớt sự phức tạp trong xây dựng ứng dụng, bởi vì các thành phần (lớp Page, controls,…) được tích hợp chặc chẽ và thường thì giúp bạnviết ít code hơn là áp dụng theo mô hình MVC
Trang 172.3 Các tính năng của nền tảng ASP.NET MVC
Tách bạch các tác vụ của ứng dụng (logic nhập liệu, business logic, và logic giao diện),
dễ dàng kiểm thử và mặc định áp dụng hướng phát triển TDD Tất cả các tính năng chính của mô hình MVC được cài đặt dựa trên interface và được kiểm thử bằng cách sử dụng các đối tượng mocks, mock object là các đối tượng mô phỏng các tính năng của những đối tượng thực sự trong ứng dụng Bạn có thể kiểm thử unit-test cho ứng dụng mà không cần chạy controller trong tiến trình ASP.NET, và điều đó giúp unit test được áp dụng nhanh chóng và tiện dụng Bạn có thể sử dụng bất kỳ nền tảng unit-testing nào tương thích với nềntảng NET
MVC là một nền tảng khả mở rộng (extensible) & khả nhúng (pluggable) Các thành phầncủa ASP.NET MVC được thiết kể để chúng có thể được thay thế một cách dễ dàng hoặc dễ dàng tùy chỉnh Bạn có thể nhúng thêm view engine, cơ chế định tuyến cho URL, cách kết xuất tham số của action-method và các thành phần khác ASP.NET MVC cũng hỗ trợ việc
sử dụng Dependency Injection (DI) và Inversion of Control (IoC) DI cho phép bạn gắn các đối tượng vào một lớp cho lớp đó sử dụng thay vì buộc lớp đó phải tự mình khởi tạo các đốitượng IoC quy định rằng, nếu một đối tượng yêu cầu một đối tượng khác, đối tượng đầu sẽ lấy đối tượng thứ hai từ một nguồn bên ngoài, ví dụ như từ tập tin cấu hình Và nhờ vậy, việc sử dụng DI và IoC sẽ giúp kiểm thử dễ dàng hơn
ASP.NET MVC có thành phần ánh xạ URL mạnh mẽ cho phép bạn xây dựng những ứng dụng có các địa chỉ URL xúc tích và dễ tìm kiếm Các địa chỉ URL không cần phải có phần
mở rộng của tên tập tin và được thiết kế để hỗ trợ các mẫu định dạng tên phù hợp với việc tối ưu hóa tìm kiếm (URL) và phù hợp với lập địa chỉ theo kiểu REST
Hỗ trợ sử dụng đặc tả (các thẻ) của các trang ASP.NET(.aspx), điều khiển người dùng (.ascx) và trang master page (.marter) Bạn có thể sử dụng các tính năng có sẵn của
ASP.NET như là sử dụng lồng các trang master page, sử dụng in-line expression (<%=
%>), sử dụng server controls, mẫu, data-binding, địa phương hóa (localization) và hơn thế nữa
Hỗ trợ các tính năng có sẵn của ASP.NET như cơ chế xác thực người dùng, quản lý thànhviên, quyền, output caching và data caching, seession và profile, quản lý tình trạng ứng dụng, hệ thống cấu hình…
ASP.NET MVC 3 còn bổ sung một view engine mới là Razor View Engine cho phép thiết lập các view nhanh chóng, dễ dàng và tốn ít công sức hơn so với việc sử dụng Web Forms view engine
3 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server
SQL Server, cũng được gọi là Microsoft SQL Server, đã tồn tại thậm chí còn lâu hơn MySQL Microsoft phát triển SQL Server từ giữa thập niên 80s, với lời hứa RDBMS cung cấp giải pháp đáng tin cậy và có thể mở rộng Việc này trở thành đặc tính đáng giá của SQL Server cho tới tận bây giời, vì nó là một nền tảng được-chọn cho những phần mềm doanh nghiệp cần-mở-rộng-lớn theo thời gian
Trang 18 SQL Server được lập trình viên sử dung khi dùng với NET, đối trọng của PHP và MySQL.
Cả NET và SQL server đều được bảo vệ dưới cái tên Microsoft
DataTables là một plug-in cho thư viện jQuery Javascript Nó là một công cụ tuyệt vời đểthực hiện các công việc liên quan tới các bảng biểu được hiển thị trên các trang HTML Sự tuyệtvời ấy được thể hiện qua các ưu điểm nổi bật như sau:
- Phân trang, search tức thì, sắp xếp nhiều cột dữ liệu
- Hỗ trợ rất nhiều các data source: DOM, Javascript, Ajax và các xử lý trên máy chủ
- Có rất nhiều các tính năng được mở rộng:
- Tùy chọn mở rộng các tính năng bằng API
- Xử lý thông minh về độ rộng của các cột, search dữ liệu nhanh chóng, tự động load dữliệu bằng ajax,
4.1 Installation
Datatable là một thư viện Javascript tuyệt vời cho sự thêm các tương tác với bảng dữ
liệu trong HTML Thoạt nhìn, Datatable có vẻ như rất phức tạp, tuy nhiên đi sâu vào tìm hiểuthì sẽ thấy công cụ này hỗ trợ cho cả phía develop cũng như phía người dùng những điều rấttuyệt vời Datatable rất dễ dàng sử dụng, chỉ cần sử dụng cấu trúc bảng HTML bằng các thẻ
<table></table> và nhúng thêm Jquery từ phiên bản 1.7 trở lên là có thể sử dụng đượcdataTable
4.2 Data
Data thì tương đối phức tạp, và tất cả các dạng data thì khác nhau Tuy nhiên, đối vớiDatatable thì chúng đều được xử lý gọn nhẹ, và dữ liệu được hiển thị luôn luôn trông khá bắtmắt với front end Có 3 khái niệm cốt lõi trong cách xử lý dữ liệu của DataTable:
- Processing mode
- Data types
- Data sources
Trang 194.3 Data Sources
Các khái niệm về xử lý dữ liệu đã được định nghĩa ở phần trên, phần này tiếp tục tìmhiểu làm thế nào để DataTable có thể lấy được dữ liệu Có 3 nguồn cơ bản cho dữ liệu màDataTable sẽ hiển thị trong bảng:
- Javascript
- Ajax sourced data
Trang 20CHƯƠNG III PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 Đối tượng sử dụng hệ thống
Website bán điện thoại di động này hoạt động chủ yếu phục vụ cho 5 đối tượng chính :khách hàng vãng lai , khách hàng thành viên , nhân viên quản lý kho , nhân viên quản trị (admin), nhân viên giao hàng
Xem thông tin sản phẩm
Phương thức thanh toán
+ thanh toán trực tiếp
+ thanh toán online
Phiếu xuất kho
1.4 Nhân viên quản trị (admin)
Quản lý tài khoản
+ Quyền truy cập
Quản lý thông tin sản phẩm
Quản lý danh mục sản phẩm
Trang 21 Quản lý dơn hàng
In hóa đơn
Quản lý phản hồi
Thống kê báo cáo danh thu
1.5 Nhân viên giao hàng
Là người trực tiếp tiếp nhận và giao sản phẩm cho khách hàng
Xem đơn hàng
Cập nhật tình trạng đơn hàng
1.6 nhân viên sữa chữa
Là người sửa chữa sản phẩm khi bị hư hỏng hoặc có sản phẩm cần bảo hànhTiếp nhận sản phẩm bảo hành
Giao sản phẩm:
2 Phân tích
2.1 Yêu cầu chất lượng
Giao diện đơn giản, dễ sử dụng
Ngôn ngữ tiếng Việt
các thông tin của hàng hóa Họ có thể nhập, xuất hàng hóakhi cần thiết
Nhân viên quản trị Là người giám sát, quản lý các chức năng của hệ thống sẽ
Trang 22tiến hành lữu trữ thông tin và bảo mật thông tin cho khách hàng trong sql Phân quyền nhân viên, in hóa đơn
Nhân viên giao hàng
Là người trực tiếp tiếp nhận và giao sản phẩm cho khách hàng và cập nhật tình trạng đơn hàng cho trang web
nhân viên sữa chữa Là người sửa chữa sản phẩm khi bị hư hỏng hoặc có sản
phẩm cần bảo hành , Tiếp nhận sản phẩm bảo hành
Bảng 1: Tác nhân của hệ thống
Trang 232.2.2 Biểu đồ Use Case
Hình 2:sơ đồ User Case
Trang 252.2.2.3 Usercase nhân viên quản trị
Hình 5: Usecase nhân viên quản trị
2.2.2.4 Usecase nhân viên quản trị quản lý sản phẩm
Hình 6: Usecase nhân viên quản trị quản lý sản phẩm
25
Trang 262.2.2.5 Usecase nhân viên quản trị quản lý tin tức
Hình 7: Usecase nhân viên quản trị quản lý tin tức
2.2.2.6 Usecase nhân viên quản trị quản lý đơn đặt hàng
Hình 8: Usecase nhân viên quản trị quản lý đơn đặt hàng
26
Trang 272.2.2.7 Usecase nhân viên quản lý kho
Hình 9: Usecase nhân viên quản lý kho
2.2.2.8 Usecase xuat nhap kho
Hình 10: Usecase xuat nhap kho
27
Trang 282.2.3 Sơ đồ hoạt động
2.2.3.1 Sơ đồ hoạt động thống kế doanh số
Hình 11: Sơ đồ hoạt động thống kế doanh số
28