Đề tài Phân tích thiết kế hệ thống bán hàng qua mạng

Danh mục hay còn gọi là thư viện, chúng bao gồm các bảng dữ liệu dạng danh mục như tblProvinces, tblCategories, tblItems, tblGroups

Đối với loại này, chúng bao gồm chức năng phụ như: thêm mới một mẩu tin, cập nhật, xoá mẩu tin, tìm kiếm và Activate hay Deactivate (cập nhật cột activate với một trong hai giá trị 0,1) của mẩu tin đó.

Để thực hiện chức năng Directories, chúng tôi lấy các mặt hàng (Items) để làm mẫu. Các danh mục còn lại, bạn có thể sao chép và đổi tên giống như thay thế một số cột dữ liệu chẳng hạn, để trình bày cho phù hợp.

Ngoài ra, trên quan điểm trình bày dữ liệu dạng liệt kê, chúng tôi đều cài đặt navigation, paging, searching và sắp xếp theo ký tự alphanumeric, bạn có thể tham khảo chi tiết trong phần kế tiếp.

Tương tự, như trong trường hợp Items, bạn thực hiện quá trình sao chép và sửa đổi ứng với các danh mục khác như: tblAuthors, tblGroups, tblProvines.

 

doc38 trang | Chia sẻ: maiphuongdc | Lượt xem: 1517 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề tài Phân tích thiết kế hệ thống bán hàng qua mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng bước này, bạn có thể khai báo biến session với kiểu dữ liệu dạng mảng hai chiều. Sau mỗi lần người dùng thay đổi sản phẩm hay số lượng, bạn có thể cập nhật lại giá trị trong mảng này, sau đó, đọc trong mảng và trình bày lên màn hình, nếu làm điều này, nguời dùng sẽ tính được số tiền họ cần phải trả ngay trong bước này thay vì chọn cách tính tiền trong bảng kế tiếp. Điều này có nghĩa là nếu một mẩu tin, thì tổng số phần tử trong form là <=5(hai nút, 1 thẻ text, 2 thẻ checkbox). Trong trường hợp không có sản phẩm nào trong giỏ hàng, nếu khách hàng chọn ViewCart, trang viewcart.asp sẽ xuất hiện thông báo. Nếu khách hàng chọn Continue mà không chọn bất kỳ sản phẩm nào trong danh sách, bạn cũng không cho phép họ tiếp tục xử lý bằng cách khai báo đoạn JavaSript có tên checkinput và gọi nó trong biến cố onsubmit của thẻ form. Kế đến, khách hàng chọn nút Comtinue, trang xác nhận các sản phẩm khách hàng chọn ứng với số lượng đặt hàng (preorder.asp) . Bằng cách đọc giá trị từ thẻ hidden có tên chkid trong trang viewcart.asp, bạn nhận được số lượng sản phẩm khách hàng chọn mua. Ngoài ra, để tiếp tục trong các trang kế tiếp, bạn cần phải lưu mã sản phẩm, tên sản phẩm, số lượng đơn giá và các giá trị như giảm giá và biến session. Trong trường hợp khách hàng không chấp nhận với các thông tin của sản phẩm đã chọn, khách hàng sẽ bấm nút Back để trở về trang trước đó. 3.đặt hàng qua mạng Sau khi xác nhận sản phẩm và số lượng cần mua, khách hàng bấm nút Continue từ trang perorder.asp, trang custtype.asp sẽ xuất hiện. 3.1 Đăng nhập Nếu khách hàng là khách hàng thường xuyên, điều này có nghĩa là có đăng ký thông tin công ty hay cá nhân trước đây, bạn chỉ cần cho phép họ đăng nhập bằng cách cung cấp username (email address) và password, trong trường hợp này khách hàng chọn thứ 2 và nhập password nếu có. Tuy nhiên, nếu khách hàng lần đầu tiên mua hàng, bạn có thể yêu cầu họ chọn tuỳ chọn thứ 1. Trong trường hợp, khách hàng cho rằng họ là khách hàng thường xuyên và đã đăng ký trước đây, nhưng cung cấp username haypassword sai, bạn cần phải xử lý. Để làm điều này, trong trang kế tiếp sẽ giải quyết và trở về trang custtype.asp với biến session có tên errors có giá trị là old, có nghĩa là khách hàng có tài khoản trong hệ thống nhưng không cung cấp đúng username haypassword . Bạn phải thông báo cho khách hàng biết rằng họ không cung cấp đúng username haypassword. Ngoài ra, để kiểm tra người dùng chọn tuỳ chọn và cung cấp username hay password trước khi tiếp tục hay không, bạn cần khai báo phương thức javascript và gọi chúng cho biến cố onsubmit của thẻ form . 3.2 Đăng ký tài khoản người dùng. Nếu khách hàng lần đầu tiên mua hàng hay họ không muốn sử dụng tài khoản đã có nếu họ không cần, bạn yêu cầu khách hàng cung cấp các thông tin giao hàng như: Tên (txtfullname), địa chỉ (txtaddress), điện thoại (txttel),...bằng cách trỏ đến trang registry.asp. Khi đăng ký người dùng vào hệ thống, họ có thể muốn trở thành khách hàng thường xuyên bằng cách chọn vào tuỳ chọn thứ 2. Điều này có nghĩa là họ có thể sử dụng lại tài khoản này cho lần mua hàng kế tiếp. Ngoài ra, trong form đăng ký người dùng trên, chúng tôi yêu cầu khách hàng cung cấp các thông tin bắt buộc, ứng với các fiedl có dấu* màu đỏ, để ràng buộc quá trình đăng ký, chúng tôi viết một phương thức JavaScript và gọi nó trong biến cố onsubmit của thẻ form. 3.3 Đặt hàng Sau khi cung cấp đầy đủ các thông trên, nếu khách hàng bấm nút Order, trang orders.asp sẽ xuất hiện với các thông tin đăng ký nếu người dùng mới từ trang registry.asp, đọc thông tin từ tblCustormers nếu người dùng đăng nhập thành công. Ngược lại, trường hợp đăng nhập với tài khoản trong hệ thống thành công từ trang custtype.asp, bạn dẫn khách hàng đến trang ordres.asp và kiểm tra username tồn tại hay không. Để tiếp tục cho các trang kế tiếp, ứng với trường hợp khách hàng có tài khoản trong hệ thống và đăng nhập thành công, bạn cần phải lưu trữ lại mã khách hàng . ..... Ngoài ra, nếu khách hàng chọn nút Order trên trang orders,asp. Điều này có nghĩa là khách hàng đặt hàng qua mạng, bạn đọc các thông tin và lưu vào cơ sở dữ liệu. Nhưng sau khi lưu dữ liệu thành công, nếu người dùng tiếp tục bấm nút Refresh trên trình dyệt hay F5 hoặc Back trở lại và tiếp tục bấm nút Order, ứng dụng sẽ lưu dữ liệu thêm một lần nữa. Để tránh sự cố này, trong trang kế tiếp chỉ lưu dữ liệu vào cơ sở dữ liệu khi biến session có tên $isSave có giá trị là “ “. 3.4 Lưu dơn đặt hàng vào cơ sở dữ liệu Trước khi lưu dữ liệu vào cơ sở dữ liệu, bạn cần phải kiểm tra biến session coss tên $isSave có giá trị là rỗng thì cho phép lưu, nếu giá trị khác rỗng được xem như đã lưu trước đó. 3.4.1 Thông tin khách hàng Trong trường hợp khách hàng đăng nhập, bạn chỉ cần lấy mã khách hàng từ biến form. Ngược lại, bạn phải đọc giá trị từ các thẻ hidden trong trang trước và lưu vào tblCustomers hay tblTempCustomers. Lưu vào một trong hai bảng này phụ thuộc vào tuỳ chọn của khách hàng. Nếu khách hàng muốn trở thành khách hàng thường xuyên, họ tuỳ chọn thứ 2 trong trang orders.asp. Trong trường hợp khách hàng đăng ký nhiều lần, điều này có nghĩa là họ mua nhiều lần mà không cần đăng ký tài khoản, email của khách hàng sẽ lặp lại. 3.4.2 Lưu thông tin hợp đồng mua hàng. Cho dù khách hàng có tài khoản trong hệ thống hay vừa đăng ký, bạn đều phải lưu thông tin hợp đồng mua vào tblOrders ứng với mã khách hàng vừa có(từ đăng nhập hay vừa đăng ký). 4.phương thức thanh toán Trong khi thanh toán, tuỳ khả năng cho phép mà cửa hàng hay siêu thị có thể thanh toán tiền với khách hàng bằng nhiều phương thức khác nhau. Trong thực tế, bạn có thể trả tiền mặt, chuyển khoản ngân hàng, trả bằng Card do cửa hàng hay siêu thị phát hành. Ngoài ra, nếu ở một số nước tiến bộ có hệ thống thanh toán bằng Credit Card Đối với thương mại điện tử cũng tương tự, nếu ứng dụng của bạn không có khả năng liên thông với ngân hàng, bạn không thể thu tiền bằng phương thức nào khác với phương thức thanh toán tiền mặt. Điều này có nghĩa là người mua hàng sẽ đến trả tiền công ty hay nhân viên công ty sẽ đến lấy tiền khi giao hàng. Trong trường hợp bạn có tài khoản ngân hàng chẳng hạn, uy tín công ty của bạn được người dùng đánh giá rất cao. Khách hàng có thể trả tiền thông qua ngân hàng trước khi nhận hàng, bằng cách chuyển khoản số tiền mua hàng vào tài khoản của công ty. Sau khi, bạn nhận được thông báo của ngân hàng, số tiền của khách hàng đó chuyển vào tài khoản của công ty, bạn sẽ giao hàng cho khách hàng với chi phí vận chuyển đã được kèm trong tổng gía trị hàng mua. Tuy nhiên trong trường hợp công ty của bạn có đối tác của ngân hàng, thông qua ngân hàng việc chuyển khoản tiền vào tài khoản của công ty, bạn có thể liên doanh với ngân hàng để phát hành loại Card cửa hàng với danh nghĩa công ty. Để làm được điều này, bạn phải lưu ý rằng phải có sự đồng ý của ngân hàng và một số quy định pháp lý khác. Trong trường hợp này, số tiền của khách hàng (mệnh giá của Card mà khách hàng đã mua) nằm trong ngân hàng. Mỗi nghiệp vụ mua bán trên ứng dụng của bạn với khách hàng đều được chi trả bằng loại Card này. Như vậy, khi thanh toán trên mạng bằng Card do công ty phát hành, nghiệp vụ này phải được liên thông với ngân hàng. Điều này có nghĩa là khi khách hàng mua hàng trên mạng, họ có thể trả số tiền bằng tổng giá trị giá mua hàng, số tiền đó sẽ bị trừ vào tài khoản trong ngân hàng ứng với mã Card mà khách hàng dùng để mua. Sau khi khách hàng nhận được sản phẩm của công ty, ngân hàng bắt đầu chuyển số tìên đó vaò tài khoản của công ty, đồng thời số tiền của khách hàng cũng bị trừ đi số tiền đúng bằng số tiền mua hàng cộng thêm chi phí thanh toán nếu có. quản lý danh mục 1.Giới thiệu tổng quan về chức năng admin. Như đã giới thiệu ở trên, trong ứng dụng có sử dụng cơ sở dữ liệu, bạn phải xây dựng hai phần: phần thứ nhất chính là phần cho phép người dùng sử dụng, phần thứ hai là phần cho phép bộ phận doanh nghiệp quản lý ứng dụng. Trong phần thứ hai, chúng tôi giới thiệu với các bạn các chức năng chính như sau: Danh mục. Danh mục hay còn gọi là thư viện, chúng bao gồm các bảng dữ liệu dạng danh mục như tblProvinces, tblCategories, tblItems, tblGroups…… Đối với loại này, chúng bao gồm chức năng phụ như: thêm mới một mẩu tin, cập nhật, xoá mẩu tin, tìm kiếm và Activate hay Deactivate (cập nhật cột activate với một trong hai giá trị 0,1) của mẩu tin đó. Để thực hiện chức năng Directories, chúng tôi lấy các mặt hàng (Items) để làm mẫu. Các danh mục còn lại, bạn có thể sao chép và đổi tên giống như thay thế một số cột dữ liệu chẳng hạn, để trình bày cho phù hợp. Ngoài ra, trên quan điểm trình bày dữ liệu dạng liệt kê, chúng tôi đều cài đặt navigation, paging, searching và sắp xếp theo ký tự alphanumeric, bạn có thể tham khảo chi tiết trong phần kế tiếp. Tương tự, như trong trường hợp Items, bạn thực hiện quá trình sao chép và sửa đổi ứng với các danh mục khác như: tblAuthors, tblGroups, tblProvines.. 1.2 Quản trị người dùng(Users) Phần này cũng tương tự như phần trên, các chức năng thêm mới một mẩu tin, cập nhật, xoá mẩu tin, tìm kiếm và Activate hay Deactivate (bật cột activate với một trong hai giá trị 0, 1), chúng tôi cũng cài đặt navigation, paging, searching và sắp xếp theo ký tự alphanumeric. Tuy nhiên trong phần này, chúng tôi muốn đề cập đến vấn đề phân quyền, ứng với mỗi người dùng họ sẽ có một trong 3 quyền cơ bản trên mỗi module. Sau khi tham khảo phần này, bạn có thể tự thiết kế chi tiết cho từng chức năng con trong mỗi module, ví dụ trong ứng dụng này, cứ một người dùng có thể có một quyền trên module có tên là Directories. Nếu quyền của người dùng là F, điều này có nghĩa là họ có thể có tất cả quyền thao tác trên phần này. Trong trường hợp người dùng có quỳên R trên module này, họ chỉ có quyền xem tìm kiếm dữ liệu chẳng hạn. Ngoài ra họ không thể thao tác thêm mẩu tin hay cập nhật dữ liệu cũng như xoá mẩu tin. Thêm vào đó, nếu người dùng có quyền được gán là N, khi chọn module này, chương trình sẽ dẫn người dùng đến trang errors,asp với thông báo chẳng hạn như: You do not have permission to access this module. Please contact administrator for more information 1.3 Quản lý khách hàng Đối với module này, chúng tôi trình bày phần thao tác trên danh sách khách hàng tương tự như phần trên, chúng cũng bao gồm các chức năng thêm mới một mẩu tin, cập nhật, xoá mẩu tin, tìm kiếm và Activate hay Deactivate (bật cột activate với một trong hai giá trị 0, 1) của mẩu tin đó. Ngoài ra, trên quan điểm trình bày dữ liệu, chúng tôi đều cài đặt navigation, paging, searching và sắp xếp theo ký tự alphanumeric, bạn có thể tham khảo trong phần kế tiếp. Đặc biệt với phần quản lý khách hàng, chúng tôi trình bày làm thế nào để theo dõi bắt đầu quá trình đặt hàng cho đến khi kết thúc hợp đồng. 1.4 Nhân viên kinh doanh. Đối với phần phục vụ cho nhân viên kinh doanh, chúng tôi trình bày làm thế nào để theo dõi hợp đồng, thanh toán và phân công giao hàng cho nhân viên giao hàng chẳng hạn. 1.5 Feedback Feedback là tất cả các thông tin mà người dùng gửi đến công ty, bao gồm vấn đề góp ý kíên, khiếu nại, cũng như các hướng dẫn hỗ trợ từ phía dịch vụ. Phần này, bạn cần phải thực hiện phúc đáp cho người dùng những thông tin họ gửi đến, trong thực tế phần này bao gồm cả ngân hàng dữ liệu cho quá trình cung cấp dịch vụ cho khách hàng. 1.6 Báo cáo. Phần cuối cùng là phần báo cáo các loại, bao gồm báo cáo doanh số bán hàng, thanh toán và các báo cáo khác phục vụ cho quá trình kinh doanh ứng dụng Web. 1.7 Phần khác. Ngoài các phần trên, trong phần quản trị ứng dụng Web, chúng tôi trình bày logic cho một người dùng từ khi đăng nhập chp đến khi thoát khỏi ứng dụng. 2.các tập tin chèn. Để tạo ra một kiểu thồng nhất cho tất cả các trang trong ứng dụng quản trị ứng dụng, chúng tôi xây dựng một số trang ASP, Javascript, HTML dùng chung. Bạn có thể sử dụng các trang này khi cần xây dựng các module của ứng dụng. Tuy nhiên, bạn cũng có thể tự mình tối ưu hoá hay có thể thêm vào những phần đặc thù cho ứng dụng của mình, bằng cách khai báo tương tự như vây. Trong trương hợp này, chúng tôi tạo một thư mục có tên là includes( nằm trong thư mục Examples). Trong thư mục này, bao gồm các trang bottom.htm, trang này dùng để khai báo require() hay include() vào mỗi cuối trang Web để trình bày thông tin về công ty và bản quỳên (copyright). Trong quá trình xây dựng ứng dụng hoàn chỉnh, chúng ta có thể tạo thêm một số phương thức khác, bạn có thể tìm hiểu cách viết javascritp . Để cho phép người dùng chọn một phần tử từ thẻ select dạng listbox bên trái rồi thêm vào thẻ select dạng listbox bên phải và ngược lại, chúng tôi cũng xây dựng một trang javascritp có tên là lib.js, trang này có hai phương thức AddTo (srcobj, desobj ) và SortItem (obj). Phương thức AddTo (srcobj, desobj ) cho phép thêm phần tử được chọn từ thẻ select này sang thẻ select khác. Nhiệm vụ của phương thức này là, duyệt trên các phần tử của thẻ select nguồn. Nếu có chọn thì thêm chúng vào thẻ select đích. Sau đó xoá các phần tử này khỏi danh sách của thẻ select nguồn và gọi phương thức sắp xếp giá trị phần tử trong cả hai thẻ. Để sắp xếp phần tử trong hai thẻ, chúng ta thiết kế một phương thức có tên SortItem (obj). Phương thức này đọc tất cả các phần tử ( value và label của thẻ option) và lưu vào hai mảng tương ứng (anArrayValue, anArraytext). Sau đó, dùng thụât toán sắp xếp buble sort, chúng ta khai báo biến tạm và duyệt tất cả các phần tử mảng, đồng thời sắp xếp chúng theo chiều tăng dần. Sau khi có hai mảng dữ liệu sắp xếp theo thứ tự tăng dần, chúng ta xoá hết các phần tử trong thẻ select và sử dụng phát biểu vòng lặp for để đọc dữ liệu từ hai mảng trên vào thẻ select trở lại. Tương tự như vâỵ, module quản trị chúng ta thường cài đặt phần cho phép người dùng chọn hay không chọn tất cả các thẻ checkbox. 2.1 Các trang JavaScript khai báo chèn. Khi người dùng chọn và liên kết Check All, tất cả các thẻ checkbox có tên chkid trên đều được đánh dấu chọn (checked) Ngược lại, trong trường hợp người dùng chọn Clear All, tất cả các thẻ checkbox trên đều unchecked. Đối với trường hợp này, chúng ta viết phương thức docheck( status bar) trong rang javascript. Làm việc với thẻ option bằng trang ASP. Nếu bạn muốn khai báo thẻ select bằng các thẻ option tĩnh, điều này có nghĩa là nhãn và giá trị của thẻ option được định nghĩa sẵn, bạn có thể làm điều này một cách dễ dàng. Tuy nhiên, trong trường hợp bạn đọc dữ liệu từ bảng trong cơ sở dữ liệu và tạo danh sách thẻ option, sau đó đưa vào thẻ select, bạn có thể tạo một trang ASP với chức năng đọc Table và tạo ra danh sách thẻ option. Khi người dùng chọn nhãn trên thẻ select, ứng với nhãn đó chúng có giá trị khai báo bên trong. Sau khi người dùng chọn một nhãn ứng với một giá trị, trong trang kế tiếp chẳng hạn, bạn có thể trình bày tên ( nhãn) ứng với giá trị người dùng chọn thay vì trình bày giá trị . Tương tự như vậy, trong trường hợp mỗi trang liệt kê, chúng tôi trình bày menu(submenu) có 3 chức năng New, Search, Back . Ngoài ra, còn hai menu chính khác, menu phía trên hết là menu chính của ứng dụng quản trị bao gồm các liên chính của ứng dụng. Menu kế tiếp là menu cho từng module của ứng dụng. 3. cài đặt session và permission Mỗi người dùng muốn sử dụng một trong các chức năng cuả phần quản trị đều phải đăng nhập, điều này có nghĩa là nếu người dùng chưa đăng nhập hay biến session của họ hết hạn, ứng dụng sẽ yêu cầu bạn đăng nhập trở lại. Tuy nhiên, một người dùng đã đăng nhập thành công không có nghĩa là họ có thể thực hiện mọi chức năng của ứng dụng. Trong trường hợp này, chúng ta phải xây dựng Module có tên Users Management, trong đó bao gồm việc phân quyền cho từng người dùng đối với từng chức năng với 3 quyền cơ bản như: Full Control( F), Read Only(R), No Access(N). Để kiểm tra quyền của người dùng đối với từng chức năng ta sẽ viết riêng một trang ASP có tên permission.asp. 4. chức năng quản lý danh mục Trên quan điểm trình bày dữ liệu dạng liệt kê, chúng tôi đều cài đặt navigation, paging, searching và sắp xếp theo ký tự alphanumeric, bạn có thể tham khảo chi tiết trong phần kế tiếp. Tương tự như trong trường hợp Items, bạn thực hiện quá trình sao chép và sửa đổi ứng với các danh mục khác như: tblAuthors, tblGroups, tblProvines.. Liệt kê sản phẩm. Trước tiên chúng tôi trình bày phần quản lý sản phẩm hàng bán. Khi người dùng chọn liên kết Items hay Directories trong menu chính, trang items.asp sẽ xuất hiện. Thêm mới sản phẩm. Chức năng thêm mới sản phẩm chỉ cho phép người dùng có quyền là F. Điều này có nghĩa là họ có quyền thêm, xoá, cập nhật mẩu tin. Nếu người dùng có quyền là N hay R, lập tức trang errors. asp sẽ xuất hiện. Kích hoạt và cập nhật sản phẩm 4.4 Tìm kiếm sản phẩm. Để tìm kiếm một sản phẩm, bạn cũng có thể thiết kế các danh mục khác cũng tương tự như danh mục sản phẩm. Trong trường hợp này, chúng tôi thiết kế một trang itemsearch.asp bao gồm một số criteria điển hình. Đối với trang này bạn có thể khai báo chèn tập tin menu.asp. Kế đó bạn có thể thiết kế form cho phép người dùng nhập các tiêu chuẩn và action đến trang itemresult.asp . Trong trường hợp, bạn yêu cầu người dùng cung cấp ít nhất một từ khoá để tìm kiếm, bạn có thể víêt thêm phương thức checkInput() và gọi nó trong biến cố onsubmit của form. Sau khi người dùng cung cấp thông tin tìm kiếm hợp lệ, nếu họ nhấn nút Search, trang kết quả tìm kiếm có tên itemresult.asp. Nội dung bên trong trang kết quả này cũng tương tự như trang item.asp . Khi người dùng chọn một hay nhiều sản phẩm trên trang kết quả tìm kiếm hay trang item.asp, nếu họ bấm nút Delete/Activate hay Deactivate thì trang itemdo.asp sẽ được gọi. Tuỳ thuộc vào hành động của người dùng, chúng ta phân biệt gía trị của nút $cmdaction để biết được người dùng đang bấm một trong 3 nút Delete/Activate hay Deactivate. Nếu lần đầu tiên người dùng bấm một trong 3 nút đó, chúng tôi trình bày dữ liệu dưới dạng xác nhận. Trong trường hợp người dùng tiếp tục bấm nút tương tự trong trang itemdo.asp, chúng tôi thực hiện việc cập nhật hay xoá trong cơ sở dữ liệu. Sau khi thực hiện thành công yêu cầu người dùng, nếu họ bấm nút Continue, hệ thống sẽ trỏ đến trang items.asp . Phân quyền người sử dụng đối với ứng dụng 1.kiểm soát quyền người dùng. Trong thương mại địên tử với chức năng qua mạng, bạn phải xây dựng phần phân quyền cho người sử dụng, để kiểm soát các hành động của họ đối với ứng dụng mỗi khi họ đăng nhập và làm việc trên từng Module. Trong phần thứ nhất, chúng tôi cài đặt phần kiểm soát phân quyền người dùng vào mỗi trang ASP. Nếu quyền của người dùng có giá trị là N( No Access), lập tức hệ thống sẽ trỏ đến một trang có tên là errors.asp. Trang này sẽ thông báo cho người dùng biết rằng, họ không có quyền truy cập vào các tập tin thuộc chính Module này. Tương tự như vậy, trong trường hợp người dùng có quyền là R( Read Only), người dùng có thể duyệt trang Web nhưng không thể xoá, cập nhật hay thêm mới phần tử. Ngược lại của hai quyền trên là F(Full Control) , hệ thống cho phép người dùng xoá, cập nhật hay thêm mới các phần tử bằng cách xuất hiện các liên kết cũng như các nút liên quan đến các hành động thao tác trên cơ sở dữ liệu. Nói chung, nếu người dùng có quyền là F, họ có thể thao tác và xử lý mọi vấn đề trên cơ sở dữ liệu mà ứng dụng cho phép. 2. xây dựng bảng dữ liệu Ngoài bảng lưu trữ danh sách người sử dụng có tên tblUsers, chúng tôi khai báo thêm hai bảng liên quan đến cấu trúc phân quyền là tblmodule và tblmoduleanduser. Bảng tblmodule cho phép bạn lưu trữ các module , chẳng hạn trong trường hợp ứng dụng đính kèm, chúng tôi khai báo các module có tên: Directories, Users, Customers, Sales… Để biết được quyền của người dùng trên từng Module, chúng tôi thiết kế bảng tblmoduleanduser, bảng này lưu trữ thông tin quyền người sử dụng ứng với một Module là một trong 3 giá trị N, F, R . 3.quản lý người sử dụng Để quản lý người sử dụng, bạn cũng có thể xây dựng các trang ASP tương tự như trong trường hợp quản lý sản phẩm. Trong trường hợp này, chúng tôi xây dựng thêm một số trang dùng chung. Người sử dụng có thể còn hiệu lực sử dụng ứng dụng, nhưng cũng có một số người sử dụng không còn hiệu lực . Tuy nhiên, họ vẫn còn lưu trữ trong cơ sở dữ liệu. Nếu bạn chọn All trong thẻ select dạng Combobox có tên là cbtype, tất cả người sử dụng trong bảng dữ liệu có tên tblusers đều xuất hiện. Trong trường hợp bạn chọn Activate, hệ thống trình bày các người sử dụng có giá trị trong cột Activate xuất hiện. Để làm điều này, trước tiên chúng tôi viết một hàm listof() trong trang ASP dùng chung có tên combo.asp, hàm này trình bày thẻ select dạng combo với 3 gía trị tuỳ chọn: All, Activate, Deactivate. Hàm này có 3 tham số, tham số thứ nhất chính là giá trị hiện tại của thẻ cbtype, mục đích để chọn lại đúng gía trị của người sử dụng đã chọn. Chẳng hạn như trong trường hợp bạn chọn Activate, lập tức hệ thống trình bày những người sử dụng có giá trị trong cột Activate là 1. Tham số thứ hai chính là tên của trang ASP cần submit đến. 3.1 Liệt kê người sử dụng . Trở lại trang users.asp, để trình bày nội dung trang này cũng tương tự như cách trình bày trong trang items.asp đã trình bày trong chương trước. Tuy nhiên, trong trường hợp này có sự phân biệt giá trị trong cột Activate dựa trên tuỳ chọn người dùng chọn từ cbtype. Cũng như trong trang items.asp, để người dùng sử dụng được trang users.asp. Trước tiên bạn cũng cần kiểm tra biến session để biết người dùng đã đăng nhập hay chưa, kế tiếp bạn kiểm tra quyền sử dụng của người dùng đối với Module này. Tuỳ thuộc vào giá trị của tuỳ chọn cbtype, nút Activate hay Deactiate xuất hiện cùng với nút Delete hay một trong hai nút thì form sẽ được submit đến trang userdo.asp. 3.2 Delete và Activate hay Deactivate Nếu như người dùng chọn hai mẩu tin từ trang users.asp. để Deactivate. Trong trang này có khai báo một thẻ hidden có tên là “chon”, thẻ này lưu lại giá trị của các thẻ chkid. Sau khi người dùng chọn mẩu tin và bấm nút Deactivate, trang users.asp sẽ được gọi, trang này xác nhận lại với người sử dụng hai mẩu tin cần được Deactivate. Mỗi khi bạn muốn xoá người sử dụng trong cơ sở dữ liệu, bạn cần phải xoá những mẩu tin liên quan đến người sử dụng này, trong trường hợp này là danh sách quỳên của người sử dụng trên từng Module. Thêm người sử dụng vào cơ sở dữ liệu . Để thêm người sử dụng vào cơ sở dữ liệu, bạn có thể tham khảo trang users.asp. Cập nhật người sử dụng . Nếu một người sử dụng đang tồn tại trong bảng tblUsers, người dùng muốn cập nhật thông tin về họ, người dùng cần phải edit dữ liệu bằng cách gọi trang useredit.asp. Trang này trình bày thông tin về người sử dụng, cho phép người dùng thay đổi thông tin và cập nhật trở lại cơ sở dữ liệu. Sau khi người dùng nhập mới người sử dụng hay hiệu chỉnh thông tin một người sử dụng, người dùng chọn nút Save hay Update để lưu hay cập nhật thông tin trở lại cơ sở dữ liệu. Sau khi kiểm tra quyền sử dụng của người dùng, đối với trường hợp thêm mới, chúng ta kiểm tra người sử dụng đã tồn tại hay chưa trong cơ sở dữ liệu. 4. Phân quyền người sử dụng trên ứng dụng Để gán quỳên sử dụng của người sử dụng cho từng Module của ứng dụng, sau khi bạn có danh sách các Module trong tblModules như ở phần thiết kế bảng dữ liệu liên quan, bạn có thể trình bày danh sách người sử dụng. Những người sử dụng đã phân quyền sử dụng trên các Module, chúng tôi sử dụng dấu + để hiển thị quyền của họ trên từng Module. Nếu người dùng chọn vào dấu + của người sử dụng, lập tức danh sách các Module cùng với quyền của người sử dụng đó xuất hiện. Cập nhật quyền sử dụng cho người sử dụng. Khi người dùng chọn vào link ứng với tên người sử dụng, nếu người dùng đã có cấp quỳên sử dụng trước đây, trang kế tiếp là usermoduleedit.asp sẽ hiển thị quyền sử dụng của người sử dụng ứng với từng Module của ứng dụng. Trong trường hợp người sử dụng chưa cấp quyền sử dụng trên từng Module của ứng dụng, lập tức những quyền này được gán với giá trị mặc định là No Access(N). Trong khi trình bày danh sách các Module của ứng dụng, nếu người sử dụng có giá trị cột Assign là 0, tất cả các quyền sử dụng của từng Module được gán giá trị mặc định là No Access. Cấp quyền sử dụng cho người sử dụng. Nếu người dùng chọn vào link, trang kế tiếp (usermodulenew.asp) sẽ hiển thị danh sách người sử dụng bằng thẻ select dạng combobox cùng với quyền sử dụng trên từng Module của ứng dụng mặc định là No Access. Bằng cách chọn một trong những người sử dụng chưa cấp quyền sử dụng trong thẻ select dạng combobox , kế tiếp bạn chọn các quyền tương ứng với từng Module của ứng dụng mà bạn cho phép người sử dụng này quyền sử dụng. Lưu quyền sử dụng vào cơ sở dữ liệu. Sau khi cập nhật lại quyền sử dụng hay cấp quyền sử dụng của từng Module cho người sử dụng, người dùng chọn nút Save hay Update dể tiếp tục lưu dữ liệu vào cơ sở dữ liệu, trang usermodulenew.asp được gọi dể thực hiện quá trình này. quản lý khách hàng hợp đồng mua hàng 1.Quản

Các file đính kèm theo tài liệu này:

  • doc77382.DOC