Chương 1: Giới thiệu công cụ và ngôn ngữ lựa chọn - Chương 2: Khảo sát hệ thống. - Chương 3: Phân tích hệ thống. - Chương 4: Thiết kế giao diện và cài đặt chương trình. GIỚI THIỆU CÔNG CỤ VÀ NGÔN NGỮ LỰA CHỌN 1.1 Giới thiệu về ASP.NET Khái niệm 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.
Lần đầu tiên được đưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.NET framework, là công nghệ nối tiếp của Microsoft's Active Server Pages(ASP).NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi. Lịch sử phát triển Sau khi phát hành phiên bản Internet Information Service 4.0 vào năm 1997, hãng Microsoft bắt đầu nghiên cứu một mô hình ứng dụng web để giải quyết những bất tiện của ASP, đặc biệt là việc tách riêng biệt phần thể hiện và phần nội dung cũng như cách viết mã rõ ràng hơn. Mark Anders, quản lý của nhóm IIS và Scott Guthrie, gia nhập Microsoft vào năm 1997 sau khi tốt nghiệp Đại học Duke, được giao nhiệm vụ định hình mô hình cần phát triển. Những thiết kế ban đầu được thực hiện trong vòng 2 tháng bởi Anders và Guthrie, Guthrie đã viết mã prototype đầu tiên trong khoảng thời gian nghỉ lễ Giáng sinh năm 1997.
Ưu điểm - Code chạy bằng ngôn ngữ asp.net rất ổn định tiêu biểu là trang vnexpress.net trang web tin tức online số 1 việt nam hiện nay, thời đầu vnexpress được xây dựng bằng ASP sau đó khi ASP.net ra đời được cập nhật lên, bên cạnh đó dân trí cũng chạy bằng asp.net cũng rất ổn định. - Bảo mật tốt được thiết kế bằng ngôn ngữ lập trình hướng đối tượng và thừa hưởng các điểm mạnh của JS giúp bảo mật cao hơn. - Có khả năng tùy biến cao. 2 - Có độ truy xuất dữ liệu nhanh nhờ sử dụng các đối tượng để truy xuất không những giúp bảo mật của ASP.net được đánh giá cao mà tốc độ xử lý, truy xuất dữ liệu của nó cũng được cải thiện một cách rõ rệt.
Nhược điểm - Không hỗ trợ cho các thiết bị sử dụng hệ điều hành Linux. - Không hỗ trợ Visual studio trong quá trình viết code.NET có phí sử dụng khá cao, không phù hợp sử dụng cho các doanh nghiệp nhỏ hay các cá nhân.2 Tổng quan mô hình MVC Khái niệm MVC (Model – View - Controller) là một design partern đã tồn tại rất lâu trong ngành công nghệ phần mềm. Một ứng dụng viết theo mô hình MVC sẽ bao gồm 3 thành phần tách biệt nhau đó là Model, View, Controller. Giống như trong cấu trúc Three – Tier, mô hình MVC giúp tách biệt 3 tầng trong mô hình lập trình web, vì vậy giúp tối ưu ứng dụng, dễ dàng thêm mới và chỉnh sửa code hoặc giao diện.
Mô tả - Model: ở phần trước mình đã nhắc lại cho các bạn về 3 tầng trong mô hình - Three – Tier thì trong đó gồm có 2 tầng Data Access Layer và tầng Business Logic Layer. Hai tầng này là hai tầng tương đương với tầng model trong mô hình MVC. - View: là tầng giao diện, hiển thị dữ liệu được truy xuất từ tầng model. Tầng này tương đương với tầng Presentation Layer trong cấu trúc Three – Tier.
- Controller: đây là tầng giúp kết nối giữa tầng model và tầng view trong mô hình MVC, có nghĩa là nếu phía client yêu cầu hiển thị dữ liệu thì controller gọi giữ liệu từ model và trả về cho view vì view tương tác trực tiếp với client 3 Các phiên bản của MVC Hình Giới thiệu công cụ và ngôn ngữ lựa chọn.1: Cơ chế hoạt động của MVC - User gửi 1 yêu cầu tới server bằng cách truyền vào 1 URL trong browser - Yêu cầu đó được gửi tới controller đầu tiên, controller sẽ xử lý yêu cầu, nếu yêu cầu cần truy xuất dữ liệu thì controller sẽ chuyển qua tầng model - Tại tầng model, dữ liệu được truy xuất từ database và sau đó truyền qua view thông qua controller - Controller sẽ giúp dữ liệu được chuyển từ model qua view - View là tầng cuối cùng giao tiếp với User, mọi dữ liệu sẽ được hiển thị cho User thông qua tầng View Ưu điểm - Thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế - Do được chia thành các thành phần độc lập nên giúp chúng phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp, bảo trì, … Nhược đ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.3 Các Framework dùng trong Website 1.1 Entity Framework Khái niệm Entity Framework là một khung ORM mã nguồn mở cho các ứng dụng .NET được Microsoft hỗ trợ. Nó cho phép các nhà phát triển làm việc với dữ liệu bằng cách sử dụng các đối tượng của các lớp cụ thể của miền mà không cần tập trung vào các bảng và cột cơ sở dữ liệu cơ bản nơi dữ liệu này được lưu trữ. Với Entity Framework, các nhà phát triển có thể làm việc ở mức độ trừu tượng cao hơn khi họ xử lý dữ liệu và có thể tạo và duy trì các ứng dụng hướng dữ liệu với ít mã hơn so với các ứng dụng truyền thống.
Các tính năng - Đa nền tảng: EF Core là một khung đa nền tảng có thể chạy trên Windows, Linux và Mac - Mô hình hóa: EF (Entity Framework) tạo EDM (Mô hình dữ liệu thực thể) dựa trên các thực thể POCO (Plain Old CLR Object) với các thuộc tính get / set của các loại dữ liệu khác nhau. Nó sử dụng mô hình này khi truy vấn hoặc lưu dữ liệu thực thể vào cơ sở dữ liệu cơ bản - Truy vấn: EF cho phép chúng tôi sử dụng các truy vấn LINQ (C # / VB.NET) để truy xuất dữ liệu từ cơ sở dữ liệu cơ bản. Nhà cung cấp cơ sở dữ liệu sẽ dịch các truy vấn LINQ này sang ngôn ngữ truy vấn dành riêng cho cơ sở dữ liệu (ví dụ: SQL cho cơ sở dữ liệu quan hệ). EF cũng cho phép chúng tôi thực hiện các truy vấn SQL thô trực tiếp đến cơ sở dữ liệu.
- Theo dõi thay đổi: EF theo dõi các thay đổi xảy ra đối với các phiên bản của các thực thể của bạn (Giá trị thuộc tính) cần được gửi đến cơ sở dữ liệu. - Lưu: EF thực thi các lệnh INSERT, UPDATE và DELETE vào cơ sở dữ liệu dựa trên những thay đổi xảy ra với các thực thể của bạn khi bạn gọi phương thức SaveChanges (). EF cũng cung cấp phương thức SaveChangesAsync () không đồng bộ. Đồng thời: EF sử dụng Đồng thời lạc quan theo mặc định để bảo vệ các thay đổi ghi đè do người dùng khác thực hiện do dữ liệu được lấy từ cơ sở dữ liệu.
5 - Giao dịch: EF thực hiện quản lý giao dịch tự động trong khi truy vấn hoặc lưu dữ liệu. Nó cũng cung cấp các tùy chọn để tùy chỉnh quản lý giao dịch. - Bộ nhớ đệm: EF bao gồm cấp bộ nhớ đệm đầu tiên ra khỏi hộp. Vì vậy, truy vấn lặp đi lặp lại sẽ trả về dữ liệu từ bộ đệm thay vì nhấn cơ sở dữ liệu.
- Các quy ước tích hợp: EF tuân theo các quy ước về mẫu lập trình cấu hình và bao gồm một bộ quy tắc mặc định tự động định cấu hình mô hình EF. - Cấu hình: EF cho phép chúng tôi định cấu hình mô hình EF bằng cách sử dụng các thuộc tính chú thích dữ liệu hoặc API Fluent để ghi đè các quy ước mặc định. - Di chuyển: EF cung cấp một tập hợp các lệnh di chuyển có thể được thực thi trên Bảng điều khiển Trình quản lý gói NuGet hoặc Giao diện dòng lệnh để tạo hoặc quản lý Lược đồ cơ sở dữ liệu cơ bản. KHẢO SÁT HỆ THỐNG 2.1 Giới thiệu về chung về hệ thống Công ty Cổ phần Văn hóa và Truyền thông Nhã Nam, thường gọi tắt là Nhã Nam là doanh nghiệp hoạt động trong lĩnh vực kinh doanh dịch vụ văn hóa và xuất bản phẩm tại Việt Nam.
Công ty được thành lập vào năm 2005 với một nhóm nòng cốt say mê văn chương, sách vở, cuốn sách best-seller đầu tiên là Nhật ký Đặng Thùy Trâm, tiêu thụ 500.000 bản ngay trong năm đầu tiên. Cuốn sách đã tạo nên một cú huých cực mạnh đưa cái tên Nhã Nam đến với nhiều độc giả hơn, đánh dấu thời kỳ chuyển mình của thương hiệu này. Nhã Nam là một trong những công ty cổ phần làm về xuất bản. Bắt đầu từ việc tập trung vào ba mảng sách: Văn - Sử - Triết, Nhã Nam đã dần mở rộng sang nhiều thể loại khác: sách thiếu nhi, sách kinh doanh, sách kỹ năng - tham khảo v.
Các đầu sách bao gồm cả mảng hư cấu và phi hư cấu, sách trong nước và sách dịch. Hình Khảo sát hệ thống.2: Logo của nhà sách Nhã Nam Xây dựng một hệ thống bán sách trực tuyến đơn giản, thân thiện, dễ sử dụng, cho phép khách hàng xem thông tin và đặt hàng qua mạng, người quản trị quản lý các thông tin về sản phẩm cũng như người dùng.2 Khảo sát chi tiết 2.1 Hoạt động của hệ thống - Người ghé thăm website có thể xem, tìm kiếm thông tin về các sản phẩm, tin tức, chương trình khuyến mãi của cửa hàng. - Cho phép khách hàng có thể chọn sản phẩm vào giỏ hàng để đánh dấu sản phẩm mình muốn hoặc có thể chọn, khi chắc chắn về sản phẩm muốn mua khách hàng có thể chọn đặt hàng để đặt sản phẩm mà không cần phải đăng nhập. - Khách hàng có thể liên hệ trực tiếp tới nhân viên của công ty để trao đổi, tư vấn.
- Có thể cho tổ chức lưu trữ, cập nhật thông tin tin tức, thông tin các chương trình của công ty. - Cho phép lưu trữ, cập nhật thông tin về sản phẩm, chi tiết sản phẩm. - Cho phép cập nhật thông tin của khách hàng đặt hàng. - Cho phép lưu trữ, cập nhật thông tin đặt hàng, đơn hàng.
- Cho phép người quản trị và nhân viên quản lý thực hiện dễ dàng các nghiệp vụ có liên quan. - Vào website và chọn sản phẩm để xem các mặt hàng mà cửa hàng cung cấp, có thể đăng kí tài khoản để thực hiện mua hàng trực tuyến - Có thể xem thông tin về cửa hàng, địa chỉ liên hệ, chính sách bảo mật, hướng dẫn đặt hàng.