LỜI MỞ ĐẦU Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt động của chính phủ, tố chức, cũng như của các côn
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Nghệ An,1/2017
Trang 3LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn chân thành đến các thầy, các cô trong trường Đại học Vinh, đặc biệt là các thầy, các cô khoa Công Nghệ Thông Tin – những người đã trực tiếp giảng dạy, giúp đỡ em trong những năm tháng học tập ở trường, cảm ơn nhà trường và khoa Công Nghệ Thông Tin đã tạo điều kiện cho chúng em được học tập ở trường để học hỏi rèn luyện các kĩ năng cần thiết cho công việc sau này
Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên hướng dẫn ThS Phạm Thị Thu Hiền đã quan tâm, góp ý cho đồ án và sẵn sàng trả lời những thắc mắc khi cần thiết giúp em hoàn thành tốt bài báo cáo của mình
Mặc dù có nhiều cố gắng nhưng do kiến thức còn hạn chế nên bài báo cáo của em cũng không tránh khỏi những thiếu sót Vì vậy em rất mong nhận được những ý kiến đóng góp, bổ sung của các Thầy giáo, Cô giáo và các bạn để đề tài của em được hoàn thiện hơn
Cuối cùng, em xin gửi lời chào, lời chúc sức khỏe đến toàn thể Thầy Cô giáo trong khoa Công Nghệ Thông Tin
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Lương Thị Mơ
Trang 4LỜI MỞ ĐẦU
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt động của chính phủ, tố chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ra các bước đột phá mạnh mẽ
Cùng với sự phát triển không ngừng của kỹ thuật máy tính và mạng điện tử, công nghệ thông tin cũng là những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này sang đỉnh cao khác Mạng internet là một trong những sản phẩm có giá trị hết sức lớn lao, và là một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu
Giờ đây mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng: chỉ cần có một máy tính kết nối internet và một dòng dữ liệu truy tìm thì gần như lập tức cả thê giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ thông tin, hình ảnh và thậm chí đôi lúc còn có cả âm thanh nếu bạn cần
Bằng internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh hơn
và chi phí thấp hơn nhiều so với cách thức truyền thống Chính điều này đã thúc đẩy
sự khai sinh các website bán hàng qua mạng, mua bán online làm thay đổi đáng kể bộ mặt đời sống văn hóa và nâng cao chất lượng cuộc sống con người
Trong hoạt động sản xuất, kinh doanh, giờ đây, kinh doanh điện tử đã khẳng định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp Đối với một cửa hàng hay shop, việc quảng bá và giới thiệu đến khách hàng các sản phẩm mới đáp ứng được các nhu cầu của khách hàng sẽ là cần thiết Vậy phải quảng bá như thế nào cho hiệu quả? Đó là xây dựng một website quảng bá tất cả các sản phẩm của mình bán – cách nhanh nhất, hiệu quả nhất để khách hàng tiếp cận các sản phẩm của mình
Vì vậy, em đã thực hiện đồ án “XÂY DỰNG WEBSITE BÁN HÀNG THỰC PHẨM HINMARK”
Mặc dù đã có nhiều cố gắng nhưng do trình độ bản thân còn nhiều hạn chế, thời gian thực hiện chưa được nhiểu nên đề tài không tránh khỏi thiếu sót, rất mong nhận được sự đóng góp ý kiến từ Thầy, Cô và các bạn để đề tài được hoàn thiện hơn
Trang 5MỤC LỤC
LỜI CẢM ƠN 1
LỜI MỞ ĐẦU 2
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 5
1.1Đặt vấn đề 5
1.1.1 Giới thiệu đề tài 5
1.1.2 Nhận xét đề tài 5
1.1.3 Hướng giải quyết của đề tài 6
1.2Yêu cầu của đề tài 8
1.3Phương pháp nghiên cứu 8
1.4Phạm vi ứng dụng của đề tài 10
CHƯƠNG 2 CƠ SỞ LÝ LUẬNVÀ NỀN TẢNG XÂY DỰNG HỆ THỐNG 11
2.1 Tổng quan về Java 11
2.1.1 Đặc điểm chung của ngôn ngữ lập trình Java 11
2.1.2 Công dụng của Java 12
2.1.3 Công cụ để lập trình Java 13
2.2 Tìm hiểu về mô hình MVC trong Java 13
2.2.1 Khái niệm mô hình MVC 13
2.2.2 Mô hình ví dụ của MVC 14
2.2.3 Định nghĩa các thành phần của mô hình MVC 15
2.2.4 Mối quan hệ giữa các thành phần trong mô hình MVC 16
2.2.5 Quá trình phát triển của mô hình MVC 16
2.3Hệ quản trị cơ sở dữ liệu SQL Server 18
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 19
3.1 Mô hình bán hàng 19
3.2Phân tích và thiết kế hệ thống 19
3.2.1 Mô hình use case tổng quát(mô hình để nắm bắt yêu cầu chức năng của hệ thống) 19
3.2.2 Use case của khách hàng 20
3.2.3 Use case administrator 22
Trang 63.2.4 Hoạt động 25
3.2.5 Thiết kế cơ sở dữ liệu 31
CHƯƠNG 4 THIẾT KẾ GIAO DIỆN WEBSITE 34
4.1 Trang chủ 34
4.2 Trang quản trị 35
4.3 Trang quản lý sản phẩm 36
4.4 Trang quản lý danh mục sản phẩm 37
4.5 Trang quản lý người dùng 38
4.6 Trang quản lý đơn hàng 39
4.7 Trang quản lý nhà cung cấp 40
4.8 Trang chi tiết sản phẩm 41
4.9 Trang giỏ hàng 42
4.10 Trang thanh toán 43
KẾT LUẬN 44
TÀI LIỆU THAM KHẢO 45
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Đặt vấn đề
1.1.1 Giới thiệu đề tài
Như chúng ta đã biết hiện nay việc cạnh tranh về kinh doanh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công ty lớn đều rất chú tâm đến việc làm thoả mãn khách hàng một cách tốt nhất
Trên thị trường hiện nay có 2 hình thức kinh doanh chủ yếu là kinh doanh truyền thống và kinh doanh online
Kinh doanh online hay còn gọi là kinh doanh trực tuyến là một khái niệm chỉ việc chúng ta sử dụng các công cụ trực tuyến kết nối mạng internet để tiến hành các giao dịch mua bán hàng hóa hay cung cấp dịch vụ
Trước khi mạng Internet ra đời và ngay cả khi nó đã ra đời được một thời gian thì chúng ta vẫn còn quá quen thuộc với việc giao dịch mua bán hàng hóa, dịch vụ trên môi trường truyền thống là những cửa hàng, khu chợ, siêu thị, trung tâm thương mại…Chúng ta quen với việc đến tận nơi xem xét sản phẩm, ngã giá, thanh toán và mang sản phẩm về, bị hạn chế về không gian và thời gian
Nhưng sự phát triển của công nghệ hiện đại cùng với nhu cầu của con người ngày càng muốn tiết kiệm thời gian, công sức và mong muốn có nhiều lựa chọn hơn đã làm phát sinh một hình thức kinh doanh khác giúp chúng ta không còn phải tốn thời gian đến tận cửa hàng để giao dịch mua bán nữa mà chỉ cần ngồi ở nhà truy cập vào Internet, click chuột, xác nhận qua điện thoại và có người mang sản phẩm tới tận nhà cho chúng ta Người ta gọi hình thức kinh doanh này là Kinh doanh Online
Biết được những nhu cầu đó, những “Website bán hàng online” được xây dựng nhằm đáp ứng cho mọi người tiêu dùng trên toàn quốc có thể đặt mua và thanh toán các sản phẩm cần thiết thông qua hệ thống Website này
Việc xây dựng một Website bán hàng online có rất nhiều ưu điểm đó là khả năng tiếp cận rộng, đối tượng khách hàng hướng đến không giới hạn phạm vi, tiết kiệm được chi phí đầu tư mặt bằng, nhân công và thời gian Chúng ta có thể làm viêc bất cứ
ở đâu, bất cứ thời gian nào vì thế nên năng suất hiệu quả sẽ cao hơn Giúp nhà quản lý
dễ dàng quản lý sản phẩm, khách hàng, đơn hàng
1.1.2 Nhận xét đề tài
Kinh doanh online là một bài toán lớn và phức tạp với nhiều module khác nhau như: tìm kiếm sản phẩm, đưa hàng vào giỏ hàng, đăng ký thành viên, bảo mật, các chức năng quản lý…
Trang 8Những khó khăn của hệ thống hiện tại: cùng với sự xuất hiện đa dạng của các loại thực phẩm, nhu cầu mua sắm ngày càng lớn của con người song song với đó an toàn thực phẩm đang là vấn đề đáng báo động; yêu cầu về mở rộng thị trường cũng như việc tiếp thị sản phẩm nhanh nhất đến khách hàng, cửa hàng phải đối mặt với những vấn đề khó giải quyết do cơ cấu cũ không đáp ứng được:
Khách hàng phải tốn thời gian trực tiếp đến các cửa hàng, siêu thị, chợ để xem
và mua sản phẩm
Khả năng tiếp thị sản phẩm đến khách hàng còn thấp, chất lượng sản phẩm và vấn đề an toàn vệ sinh của thực phẩm chưa được đảm bảo
Việc quản lý tồn kho không chặt chẽ và thiếu linh động giữa các nhà phân phối sản phẩm dẫn đến khó khăn trong khâu quản lý và tình trạng thiếu thông tin cho khách hàng
1.1.3 Hướng giải quyết của đề tài
Trên cơ sở vấn đề đặt ra như đã phân tích ở trên, em đã quyết định xây dựng website bán hàng thực phẩm HinMark Hệ thống bán hàng được chia làm hai phần
chính: thứ nhất là cho người quản trị hệ thống, thứ hai cho khách hàng
Mô tả hệ thống:
Người quản trị: là người quản lý trang web, và thêm mới, cập nhật xóa cơ sở dữ liệu, xem các chi tiết đơn hàng, quản lý các thông tin danh mục, sản phẩm, nhà cung cấp, khách hàng, đơn đặt hàng,…
Khách hàng: là những người cần mua sản phẩm online Họ có thể chọn những sản phẩm cần mua Họ tham quan website, xem và mua các sản phẩm khác nhau, chọn sản phẩm bỏ vào giỏ hàng, tạo đơn hàng cho nhà quản trị Loại khách hàng này là khách hàng đã đăng ký tài khoản và mật khẩu để tiện cho lần giao dịch tiếp theo
Khách hàng chưa có tài khoản là những người chỉ xem sản phẩm trong danh mục,
có thể xem quảng cáo giá cả chất lượng sản phẩm, có thể đưa sản phẩm vào giỏ hàng nhưng không thể tiến hàng giao dịch thanh toán Khách vãng lai muốn mua hàng phải đăng ký thành viên
Trang 9Mô hình hóa khách hàng:
Hình 1.1 Mô hình hóa khách hàng
Mô hình hóa quản trị viên:
Hình 1.2 Mô hình hóa quản trị viên
Trang 101.2 Yêu cầu của đề tài
Để đề tài có tính thực tế và khả thi thì nó cần đáp ứng được những yêu cầu sau:
Đối với người quản trị hệ thống website:
Có thể tra cứu, cập nhật thông tin sản phẩm, nhà sản xuất, thông tin khách hàng, hóa đơn, tạo website thân thiện, nhanh chóng và hiệu quả
Người quản trị dễ dàng thao tác quản lý thông tin khách hàng, quản lý các đơn hàng, quản lý hàng hóa, nhà cung cấp
Ngoài ra họ cũng có thể tham quan website, mua bán trao đổi như những khách hàng thông thường
Đối với khách hàng:
Cho phép khách hàng không cần đăng ký tài khoản vẫn có thể tham quan trang web, tìm kiếm các danh mục sản phẩm, sản phẩm, giá cả và chỉ phải đăng ký, đăng nhập khi mua hàng
Cho phép khách hàng đăng ký tài khoản
Tìm kiếm những mặt hàng mong muốn theo danh mục sản phẩm, tên sản phẩm, giá cả
Ngoài ra khách hàng còn có thể xem những mặt hàng mới nhất, những sản phẩm bán chạy nhất, …
Cho phép khách hàng tiến hành đặt hàng Nếu khách hàng đã có tài khoản trong cửa hàng thì tiến hàng đặt hàng, nếu chưa có tài khoản khách hàng phải đăng ký trở thành thành viên của cửa hàng và tiến hành đặt hàng
Đặt hàng, mua hàng nhanh chóng, không mất nhiều thời gian
1.3 Phương pháp nghiên cứu
Về mặt lý thuyết:
Tìm hiểu cách thức hoạt động và các đối tượng:
Chức năng quản lý danh mục sản phẩm
o Thêm mới, cập nhật, xóa danh mục sản phẩm
Chức năng quản lý giỏ hàng
o Thêm mới, xóa sản phẩm trong giỏ hàng
Chức năng quản trị và xử lý đơn hàng
o Thêm mới, cập nhật, xóa đơn hàng
o Kiểm tra trạng thái đơn hàng đã giao hàng và thanh toán hay chưa?
Trang 11 Chức năng quản lý thành viên, khách hàng
o Thêm mới, cập nhật, xóa thành viên
Chức năng quản lý sản phẩm
o Thêm mới, cập nhật, xóa sản phẩm
Chức năng quản lý menu
Chức năng thanh toán
Hiểu được cách thức hoạt động của mô hình MVC
Hiểu được cách thức lưu trữ dữ liệu của hệ quản trị cơ sở dữ liệu SQL Server
Về mặt lập trình
Việc lựa chọn ngôn ngữ lập trình cần đáp ứng được các yêu cầu sau:
Chương trình viết bằng ngôn ngữ phải chạy được trên các máy tính có hệ điều hành khác nhau như Windows, Unix, Linux,…
Có tính an toàn và bảo mật cao
Trong sáng, dễ hiểu, dễ sửa chữa và bảo trì
Mã nguồn rõ ràng, tách biệt giữa mã nguồn với giao diện html
Hướng đối tượng để phù hợp với nhu cầu đồ án đặt ra
Về cơ sở dữ liệu:
Việc lựa chọn hệ quản trị cơ sở dữ liệu cần đáp ứng được những yêu cầu sau:
Ngân hàng dữ liệu thích hợp với mô hình thông tin phong phú và đáp ứng được về nhu cầu áp dụng vào thực tiễn
Phải có các công cụ hữu hiệu để ngăn chặn tranh chấp và xung đột dữ liệu
Ngôn ngữ mạch lạc, dễ sử dụng, cho phép người lập trình ứng dụng, tùy biến mềm dẻo, nhanh chóng, đáp ứng được tất các nhu cầu trong hệ thống
Phổ biến, dễ cài đặt, dễ quản trị
Về mặt hoạt động:
Để đáp ứng được những yêu cầu trên, trong khuôn khổ đồ án này em đã sử dụng ngôn ngữ lập trình Java và hệ quản trị cơ sở dữ liệu SQL Server 2008 R2 Đây là ngôn ngữ và hệ quản trị rất phổ biến và phù hợp với yêu cầu đề tài đặt ra
Trang 121.4 Phạm vi ứng dụng của đề tài
Xây dựng website bán hàng thực phẩm HinMark. Xây dựng một website bán hàng trực tuyến, nơi mọi người có thể an tâm lựa chọn cho mình những loại sản phẩm sạch, xuất xứ rõ ràng Hỗ trợ giao hàng tận nơi, thanh toán trực tiếp khi nhận hàng Trong thời đại công nghệ thông tin đang phát triển mạnh, việc ứng dụng nó vào hoạt động “Website bán hàng trực tuyến” đã mang lại nhiều ý nghĩa như:
Tiết kiệm thời gian cho người dùng cũng như nhà quản lý trong quá trình mua bán
Thu thập, tìm kiếm được lượng thông tin lớn và nhanh chóng
Giảm chi phí sản xuất, bán hàng, tiếp thị và giao dịch
Tạo ra lợi thế cạnh tranh trong kinh doanh
Giúp người tiêu dùng có được giá cả và hình ảnh về mặt hàng một cách nhanh chóng và chính xác
Trang 13CHƯƠNG 2 CƠ SỞ LÝ LUẬN
VÀ NỀN TẢNG XÂY DỰNG HỆ THỐNG
2.1 Tổng quan về Java
Ngôn ngữ lập trình Java ban đầu được phát triển bởi SunMicrosystem do James Gosling khởi xướng và phát hành năm 1995 (Java 1.0 [J2SE]) Tính đến thời điểm này, phiên bản mới nhất của Java Standard Edition (JSE) là 8 Với ưu thế đa nền tảng (multi platform) Java càng lúc càng ứng dụng rộng rãi được trên nhiều thiết bị từ máy tính đến mobie và nhiều thiết bị phần cứng khác
Hình 2.1 Biểu tượng Java
2.1.1 Đặc điểm chung của ngôn ngữ lập trình Java
Java là ngôn ngữ lập trình hướng đối tượng nên nó có 4 đặc điểm chung của ngôn ngữ lập trình hướng đối tượng:
Tính trừu tượng (Abtraction): là tiến trình xác định và nhóm các thuộc tính, các hành động liên quan đến một thực thể đặc thù xét trong một mối quan hệ tương quan với các ứng dụng đang phát triển
Tính đa hình (Polimosphirm): cho phép một phương thức có tác động khác nhau trên nhiều loại đối tượng khác nhau Với tính đa hình, nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa đến những kết quả khác nhau Bản chất của sự việc chính là các phương thức này bao gồm cùng một số lượng các tham số
Tính kế thừa (Inheritance): Điều này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không cần tiến hành định nghĩa lại
Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những chi
tiết của một đối tượng đối với người sử dụng đối tượng ấy
Trang 14Bên cạnh đó Java còn có một số đặc tính khác:
Độc lập nền: Khi Java được biên dịch, nó không được biên dịch sang mã máy
cụ thể, mà thay vào đó là mã byte code chạy trên máy ảo Java (JVM) Điều này đồng nghĩa với việc bất cứ thiết bị nào có cài đặt JVM sẽ có thể thực thi được các chương trình Java
Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóa một chiều (one way hashing) hoặc mã hóa công cộng (public key)
Đa luồng: Với tính năng đa luồng Java có thể viết chương trình có thể thực thi nhiều task cùng một lúc Tính năng này thường được xử dụng rất nhiều trong lập trình game
Hiệu suất cao nhờ vào trình thu gom rác, giải phóng bộ nhớ đối với các đối tượng không được dùng đến
Linh hoạt: Java được xem là ngôn ngữ linh hoạt vì nó được thiết kế để thích ứng với nhiều môi trường phát triển
Hình 2.2 Mô hình các đặc tính của Java
2.1.2 Công dụng của Java
Viết ứng dụng web (J2EE): Java thường được sử dụng để xây dựng hệ thống web lớn đòi hỏi bảo mật cao, số lượng người dùng lớn như: ngân hàng, phần mềm quản lý bệnh viện, Đối với các website nhỏ thông thường rất ít viết bằng Java
Viết ứng dụng mobie (J2ME): Trước đây nền tảng J2ME thường được sử dụng
để viết game và application cho di động feature phone (file.jar) và bây giờ khi smartphone Android lên ngôi Java lại được sử dụng để viết game và application cho nền tảng Android (file.apk)
Viết ứng dụng desktop (J2SE): Các ứng dụng desktop viết bằng Java không nhiều có thể kể đến một số phần mềm như Jmeter hoặc Disigner Vista Lợi thế lớn nhất của ứng dụng Java là ta chỉ viết một lần và sau đó có thể đem chương trình lên Windows, Linux hay Mac để chạy mà không cần phải viết lại Tuy
Trang 15nhiên do chạy trên JVM nên hiệu suất của ứng dụng thấp hơn một chút so với các ngôn ngữ như C/C++, C#
2.2 Tìm hiểu về mô hình MVC trong Java
2.2.1 Khái niệm mô hình MVC
Hình 2.3 Mô hình MVC
Model – View – Controller (MVC) là một mẫu thiết kế nhằm mục tiêu chia tách phần giao diện và code để dễ quản lý, phát triển và bảo trì MVC chia ứng dụng phần mềm ra làm 3 phần có tương tác với nhau là Model (Dữ liệu), View (Giao diện), và Controller (Code điều khiển tương tác giữa Model và View cũng như nghiệp vụ)
Mô hình MVC tách biệt phần ánh xạ, lưu trữ và xử lỹ dữ liệu (Model) tách biệt hoàn toàn với phần trình bày giao diện kết quả cho người dùng hay phần giao diện giúp đón nhận nhập xuất cho người dùng (View)
Bên cạnh đó, mô hình cho phép việc thay đổi thành phần của dữ liệu (Model) sẽ không ảnh hưởng đến giao diện của người dùng vì mô hình đưa ra Model để không cho phép người dùng thao tác trực tiếp vào dữ liệu vật lý (Cơ sở dữ liệu hay là tập tin)
mà phải thông qua Model, do vậy cho dù dữ liệu vật lý thay đổi cấu trúc nhưng cấu trúc Model cho việc truy cập, xử lý, lưu trữ dữ liệu sẽ không bị ảnh hưởng Nhìn theo khái niệm các thành phần giao tiếp trên Model là tên hàm – tham số truyền (interface)
Trang 16ít khi thay đổi, nội dung thay đổi chính là cách thức cài đặt bên trong hàm Nhưng nội dung đó người sử dụng chức năng trên giao diện không quan tâm vì đa số họ chỉ quan tâm giao diện trên interface là gì, giá trị nhập xuất và kết quả ra sao? Vì vậy đây là một trong những tính linh hoạt và uyển chuyển của mô hình MVC
Ngoài ra việc tách biệt và rời rạc giữa Model và View theo phân tích của chúng ta đang thể hiện tính ưu việt Tuy nhiên một ứng dụng có rất nhiều các Model và View,
do vậy mô hình cần có một thành phần lựa chọn và kết nối các thành phần này lại với nhau theo cách hiệu quả nhất Controller là một trong những đối tượng đưa ra để đón nhận yêu cầu nhập xuất từ người dùng, xác định Model tương ứng với View nhập để đưa Model xử lý, kết quả xử lý của Model sẽ được chuyển lên Controller để Controller xác định View kết xuất để đổ kết quả xử lý và hiện thị cho người dùng
Để đọc được các đĩa CD/ DVD thì phải dùng đầu máy đọc đĩa trong nhà A
Đầu máy này đặc biệt không có đầu nút điều khiển trực tiếp, đầu máy này nhận hàng loạt các đĩa – tối đa là 5 cái, do vậy muốn kích hoạt và chọn đĩa xem A bắt buộc phải sử dụng remote control – điều khiển từ xa
Như vậy ta có cách thức xem phim của A như sau:
A sẽ sử dụng remote control điều khiển đầu máy để chọn đĩa mà A thích xem nhất để mở nó ra
Đĩa được chọn từ máy được đọc và trình chiếu lên màn hình ti vi
Khi dữ liệu được trình chiếu lên màn hình ti vi thì A sẽ thấy được nội dung
Và cách thức này sẽ được lặp đi lặp lại khi A chọn một phim khác, đó là vẫn dùng điều khiển để chọn đĩa và đầu đĩa để đưa dữ liệu lên truyền hình tivi Qua mô tả trên chúng ta thấy rằng:
Đầu máy là nơi xử lý dữ liệu, lựa chọn các cách thức xử lý, nội dung cần thiết, nghĩa là đầu máy chính là Model
Màn hình tivi chỉ đảm nhiệm nhiệm vụ duy nhất để trình bày kết quả mà đầu máy Model – đã thực hiện, được lựa chọn Màn hình tivi không thể lựa chọn và
Trang 17không có cách chọn lựa là trình bày các thành phần truyền đến đã được xử lý Màn hình tivi là View
Thành phần hỗ trợ đưa dữ liệu từ Model đến View đó là đồ điều khiển, ngoài ra
đồ điều khiển cũng là nơi kết nối người dùng với đầu máy truyền hình Chức năng của điều khiển là chọn đúng model để đưa ra view Đồ điều khiển – remote control là một Controller
Dựa trên cách tiếp cận ta thấy được sự tối ưu của MVC đó là:
Khi chúng ta thay đổi nội dung đang xem thành nội dung khác thì nó không làm ảnh hưởng gì đến toàn hệ thống
Tương tự như vậy, nếu đầu máy hư thì thay đổi đầu máy khác vẫn không làm thay đổi gì lớn
Như vậy việc tách biệt giúp chúng ta có nhiều lợi ích trong việc phân chia công việc và xử lý các công việc
2.2.3 Định nghĩa các thành phần của mô hình MVC
Model:
Là các thành phần hỗ trợ ánh xạ dữ liệu vật lý lên bộ nhớ, lưu trữ dữ liệu tạm thời lên bộ nhớ, hỗ trợ các cách thức xử lý dữ liệu, hỗ trợ khả năng giao tiếp và trao đổi dữ liệu giữa các đối tượng khác nhau trong bộ nhớ và cơ sở dữ liệu
Cụ thể là một đối tượng Object trong khái niệm của lập trình hướng đối tượng OOP và mang đầy đủ khái niệm, tính chất của một Object
Trong ứng dụng web của Java, Model sẽ là JavaBean, Enterprise JavaBean hay Web Service
Trong mô hình ứng dụng Web thì html, servlet, jsp là những thành phần đại diện cho View
Trang 18 Hỗ trợ kết nối giữa Model và View, giúp Model xác định được View cần trình bày
Trong mô hình ứng dụng Web thì Servlet đóng vai trò là Controller
2.2.4 Mối quan hệ giữa các thành phần trong mô hình MVC
Giữa Model và Controller:
Controller phụ thuộc vào Model bởi vì Controller được thiết kế để kết nối với Model, điều khiển, truy xuất Model Do vậy Model có sự thay đổi là Controller phải thay đổi theo để có thể truy xuất và điều khiển Model cho phù hợp
Giữa Model và View:
View lệ thuộc vào Model bởi vì khi các tổ chức interface của Model thay đổi nghĩa là View phải thay đổi theo
Khái niệm ở trên là tách biệt giữa View và Model là có lợi nhưng ở đây View lại phụ thuộc và Model Vì khái niệm của chúng ta ở đây là tách biệt dữ liệu và thành phần xử lý bên trong, hệ thống sẽ trở nên uyển chuyển khi chúng ta thay đổi thành phần cài đặt trong Model, không phải thay đổi interface Model Và khái niệm trên đã nêu rõ giữa dữ liệu vật lý và dữ liệu được chứa trong Model
Giữa View và Controller:
Controller sẽ là đối tượng lựa chọn View tùy thuộc theo yêu cầu sử dụng của người dùng, tùy thuộc theo kết quả xử lý của Model
2.2.5 Quá trình phát triển của mô hình MVC
Mô hình MVC model 1:
Là mô hình tương tự như html nhưng các web ở dạng động có thể đón nhận và trình bày dữ liệu từ server, nhưng tất cả các trang liên kết đều là các đường dẫn tĩnh và các cách thức xử lý đều thực hiện trực tiếp trên trang Ngoài ra các trang thực hiện gọi trực tiếp lẫn nhau
Hình 2.4 Mô hình MVC model 1
Trang 19Mô hình này chỉ phù hợp với các ứng dụng nhỏ vì các đường dẫn rất khó tìm kiếm và sửa đổi, đặc biệt trên trang đang lẫn lộn giữa html, javascript, xml, javacode,
Mô hình MVC model 2:
Đây là mô hình thực tế áp dụng tiếp cận theo đúng khái niệm đã nêu ra ở trên, tách biệt riêng biệt thành từng phần, tạo nên sự uyển chuyển khi vận dụng và cài đặt, đặc biệt là bảo trì, nâng cấp
Controller gửi View qua response cho người dùng để brower có thể trình bày
dữ liệu trong Web brower
Cơ chế thực hiện trên cho thấy mọi tập trung xử lý và kiết xuất đều hướng vào Controller Do vậy đây cũng là một phần hạn chế vì Controller là nơi tập trung xử lý
dữ liệu
Ưu điểm:
Tính tin cậy (reliability): việc chia thành từng phần riêng biệt giúp chúng ta sửa đổi từng thành phần riêng biệt, không ảnh hưởng, có thể thay thế từng thành
Trang 20phần tương đương, có thể chia công việc theo nhóm, biên dịch độc lập, tăng cường khả năng tích hợp với khả năng đúng đắn cao
Tính tương thích cao (compatibility): có khả năng sử dụng các loại công nghệ khác nhau không lệ thuộc
Tính tái sử dụng (reusable): chúng ta có thể sử dụng các thành phần chia cắt lại trong các ứng dụng khác, hay sử dụng lại nhiều lần trong cùng một ứng dụng, tăng tính hiệu quả trong lập trình
Khả năng triển khai nhanh chóng và bảo trì nhanh chóng: vì các thành phần là độc lập với nhau
2.3 Hệ quản trị cơ sở dữ liệu SQL Server
SQL Server là một hệ thống quản lý cơ sở dữ liệu hoạt động theo mô hình khách chủ cho phép đồng thời cùng lúc nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy nhập hợp lệ và các quyền hạn của từng người dùng trên mạng Ngôn ngữ truy vấn quan trọng là Transact - SQL để trao đổi dữ liệu giữa Client và SQL Server
SQL Server 2008 R2 có nhiều cải thiện hữu dụng và thiết thực như:
Mã hóa dữ liệu: cho phép toàn bộ cơ sở dữ liệu, các bảng và dữ liệu có thể được
mã hóa mà không cần phải lập trình ứng dụng mà đều có thể được mã hóa bằng SQL Engine
Backup Encryption: SQL Server 2008 R2 có một phương pháp mã hóa các backup dùng để tránh lộ và can thiệp của người khác vào dữ liệu Thêm vào đó việc phục hồi backup có thể được hạn chế với từng người dùng cụ thể
Sự thay đổi và truy cập dữ liệu có thể được thẩm định Thêm vào việc thẩm định chuẩn cho logon/ logoff và các thay đổi được phép, SQL Server 2008 R2 cho phép kiểm tra sự thay đổi hay truy cập dữ liệu
Nén dữ liệu với hiệu suất cao
Tài nguyên được bảo đảm an toàn
Bộ đếm hiệu suất được mở rộng Dữ liệu đã được chọn bằng bộ đếm sẽ được lưu trong trung tâm dữ liệu tập trung
Với các ưu điểm như đã phân tích ở trên, em quyết định chọn 2 công cụ này để thực hiện đồ án với các công cụ hỗ trợ thêm như: Photoshop CS6, Paint, Fastone Captune,…
Trang 21CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
- Xem thông tin sản phẩm
- Thêm, xoá, cập nhật ở giỏ hàng
Trang 223.2.2 Use case của khách hàng
Hình 3.2 Use case khách hàng là thành viên
Hình 3.3 Use case của khách hàng vãng lai
Trang 23Hình 3.4 Use case khách hàng quản lý giỏ hàng
Hình 3.5 Use case khách hàng tìm kiếm