3.2 Mục tiêu của hệ thống: Bên cạnh việc phát triển các cửa hàng bán lẻ truyền thống, với sự phát triển mạnh mẻ của internet, thương mại điện tử và dịch vụ băng thông tốc độ cao, công ty
Trang 1MỤC LỤC
Phần I: Cơ sở lý thuyết 3
Chương 1: Công cụ lập trình Web ASP.NET 4
Chương 2: Bài toán phân tích thiết kế hê thống thông tin 11
2.1 Các hệ thống thông tin 10
2.2 Các bước thực hiện PTTKHTTT 11
Phần II: Thực hành 39
Chương 3: Khảo sát hệ thống 39
Chương 4: Phân tích thiết kế hệ thống 45
4.1 Phân tích xử lý của hệ thống 4.1.1Sơ dồ Use Case 21
4.1.2 Đặc tả Use Case
4.2 Phân tích dữ liệu hệ thống 21
4.2.1 Mô hình thực thể quan hệ 42
4.2.2 Chi tiết các quan hệ thực thể 43
4.3 Thiết kế cơ sở dữ liệu 48
Chương 5: Thiết kế giao diện 63
5.1 Cấu trúc chức năng (mô tả các chức năng 5.2 Thiết kế các giao diện 59 Chương 6: Triển khai và đánh giá hệ thống
6.1- Triển khai (cài đặt và giới thiệu 1 số giao diện chủ yếu)
6.2-Đánh giá hệ thống
-Đã làm được
-Chưa làm được
-Hướng phát triển
Trang 2MỞ ĐẦU:
Trang 3Hiện nay, nhờ có công nghệ thông tin, cuộc sống con người được cải thiện rất nhiều, nhanh hơn và thuận tiện hơn Trong xu thế đó, thương mại điện tử đóng một vai trò quan trọng Công nghệ thông tin giúp con người tiết kiệm đáng kể các chi phí như chi phí vận chuyển trung gian, chi phí giao dịch… và đặc biệt là giúp tiết kiệm thời gian để con người có thể đầu tư vào các hoạt động khác Do đó, lợi nhuận con người kiếm được gia tăng gấp bội Không những thế, thương mại điện tử còn giúp con người có thể tìm kiếm tự động theo nhiều mục đích khác nhau, tự động cung cấp thông tin theo nhu cầu và sở thích của con người… Giờ đây, với những thao tác đơn giản trên máy tính có nối mạng Internet, con người có thể ngồi tại nhà
để mua sắm mọi thứ theo ý muốn
Những lý do trên cho thấy tận dụng được lợi điểm do thương mại điện tử đem lại là một thế mạnh để phát triển nền kinh tế đất nước và cải thiện đời sống người dân
Trong khi thương mại điện tử đang phát triển rất mạnh trong khu vực cũng như trên thế giới thì ở Việt Nam, các dịch vụ thanh toán điện tử qua ngân hàng chưa phổ biến, người tiêu dùng vẫn quen tập quán sinh hoạt ra chợ hay đến cửa hàng chọn hàng, mua hàng, trả tiền mặt và mang hàng về Do đó, mặc dù, cũng có nhiều doanh nghiệp đang tiến hành thương mại hóa trên Internet nhưng chỉ dừng lại ở mức độ giới thiệu sản phẩm và tiếp nhận đơn đặt hàng thông qua web
Qua phân tích trên chúng ta thấy được sự hạn chế trong thương mại điện tử là một trong những lý do khiến nền kinh tế Việt Nam không thực sự phát triển mạnh như một số nước khác Chúng em xây dựng dịch vụ thương mại điện tử này nhằm giới thiệu các tiện ích mà thương mại điện tử mang lại, với mong muốn bé nhỏ là góp phần phát triển thương mại điện tử ở Việt Nam Có thể đây chưa là một dịch vụ hoàn chỉnh nhưng với những ý tưởng ban đầu này, hy vọng chúng em có thể phát triển và hoàn thiện hơn trong tương lai để có thể áp dụng và đem lại những ý nghĩa thiết thực Rất mong sự đóng góp ý kiến của các thầy cô để chúng em có thêm kinh nghiệm cũng như có những ý tưởng hay trong dịch vụ của mình
Trang 4PHẦN I: CƠ SỞ LÝ THUYẾT
CHƯƠNG 1: CÔNG CỤ LẬP TRÌNH WEB ASP.NET
1.1 Tổng quan về kỹ thuật lập trình Web ASP.NET
1.1.1 Ứng dụng Web là gì
Ứng dụng web là một trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như Internet hay intranet, đây là hệ thống phức tạp dựa trên nhiều yếu tố: phần cứng, phần mềm, giao thức, ngôn ngữ và thành phần giao diện 2 thành phần
cơ bản của ứng dụng web đó là HTTP (giao thức trao đổi tài nguyên) và HTML (ngôn ngữ xây dựng trang web)
1.1.1.1 HTTP (Hypertext Transfer Protocol)
Kỹ thuật cơ bản của lập trình ứng dụng web khởi đầu là HyperText Transfer Protocol, đây là một trong năm giao thức chuẩn về mạng Internet, được dùng để liên hệ thông tin giữa Máy cung cấp dịch vụ (Web server) và Máy sử dụng dịch vụ (Web client) là giao thức Client/Server dùng cho WWW (World Wide Web), HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet)
1.1.1.2 HTML (HyperText Markup Language)
HTML là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web, nghĩa là các mẫu thông tin được trình bày trên WWW HTML giờ đây đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì
Trang 5HTML sử dụng các ký hiệu quy định sẵn (được gọi là tag) để trình bày nội dung văn bản.
Ưu điểm của kỹ thuật này là:
+ Web server không cần xử lý nhiều
+ Tiết kiệm được băng thông
+ Trang web đẹp, có nhiều hiệu ứng như hình động
1.1.2.2 Kỹ thuật Sever-side
Đây là kỹ thuật lập trình web mà ở đó ứng dụng web được xử lý trên WebServer (IIS, Netscape Enterprise Server)
Quá trình thực hiện ứng dụng Server-Side gồm 2 giai đoạn:
+ Tạo trang Web có chứa cả Srcipt Client-Side và Server-Side
+ Khi client browser yêu cầu thực hiện, server (run-time engine) sẽ thực hiện các lệnh server-side scripts và trả trang Web HTML về trình duyệt
Ưu điểm của kỹ thuật server–side:
+ Dễ truy cập: có thể dùng bất kì trình duyệt nào ở bị nào để truy cập vào trang web
+ Dễ quản lý: không đòi hỏi việc sắp xếp code trong đổi code
+ Bảo mật: code không bị lộ khi trang web bị lỗi
+ Dễ mở rộng: Ứng dụng được xây dựng theo mô hình 3 tầng nên dễ dàng mở rộng
1.2 Giới thiệu về ASP.NET
1.2.1 Tìm hiểu về.Net Framework
.NET Framework của Microsoft là một khung lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows Nó
Trang 6cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng.
Kiến trúc.Net Framework
1.2.1.1 Hệ điều hành (Operation System)
Với vai trò quản lý việc xây dựng và thi hành ứng dụng,.NET Framework cung cấp các lớp đối tượng (Class) để có thể gọi thi hành các chức năng mà đối tượng
đó cung cấp, điều này phụ thuộc vào khả năng hệ điều hành đang chạy ứng dụng của chúng ta
1.2.1.2 Common Language Runtime
Là thành phần "kết nối" giữa các phần khác trong.NET Framework với hệ điều hành Common Language Runtime (CLR) giữ vai trò quản lý việc thi hành các ứng dụng viết bằng.NET trên Windows CLR sẽ thông dịch các lời gọi từ chương trình cho Windows thi hành, đảm bảo ứng dụng không chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống Nó cũng không cho phép các lệnh "nguy hiểm" được thi hành Các chức năng này được thực thi bởi các thành phần bên trong CLR như Class loader, Just In Time compiler, Garbage collector, Exception handler, COM marshaller, Security engine,…
Trang 71.2.1.3 Bộ thư viện các lớp đối tượng
Framework chính là một tập hợp hay thư viện các lớp đối tượng hỗ trợ người lập trình khi xây dựng ứng dụng
Microsoft Foundation Class là bộ thư viện mà lập trình viên Visual C++ sử dụng trong khi Java Foundation Class là bộ thư viện dành cho các lập trình viên Java
a Base class library – thư viện các lớp cơ sở
Đây là thư viện các lớp cơ bản nhất, được dùng trong khi lập trình hay bản thân những người xây dựng.NET Framework cũng phải dùng nó để xây dựng các lớp cao hơn Ví dụ các lớp trong thư viện này là String, Integer, Exception,…
b ADO.NET và XML
Bộ thư viện này gồm các lớp dùng để xử lý dữ liệu ADO.NET thay thế ADO
để trong việc thao tác với các dữ liệu thông thường Các lớp đối tượng XML được cung cấp để bạn xử lý các dữ liệu theo định dạng mới: XML Các ví dụ cho bộ thư viện này là SqlDataAdapter, SqlCommand, DataSet,
XMLReader, XMLWriter,…
c ASP.NET
Đây là bộ thư viện các lớp đối tượng dùng trong việc xây dựng các ứng dụng Web ASP.NET không phải là phiên bản mới của ASP 3.0 Ứng dụng Web xây dựng bằng ASP.NET tận dụng được toàn bộ khả năng của.NET Framework
Bên cạnh đó là một phong cách lập trình mới đó là code behind Đây là cách
mà lập trình viên xây dựng các ứng dụng Windows based thường sử dụng – giao diện và lệnh được tách riêng Các trang web viết bằng ASP.NET thì code và HTML có thể được phân chia Việc phân chia đem lại rất nhiều thuận lợi sau: + Cho phép các nhà lập trình thao tác trên HTML mà không ảnh hưởng đến logic của trang
+ Cho phép bảo vệ tốt Source code
+ Được cung cấp, đáp ứng từ môi trường phát triển tích hợp IDE
ASP.NET làm cân xứng giữa quá trình xây dựng ứng dụng trên Windows và Web ASP.NET cung cấp một bộ các Server Control để lập trình viên bắt sự kiện
Trang 8và xử lý dữ liệu của ứng dụng như đang làm việc với ứng dụng Windows Nó cũng cho phép chúng ta chuyển một ứng dụng trước đây viết chỉ để chạy trên Windows thành một ứng dụng Web khá dễ dàng Ví dụ cho các lớp trong thư viện này là WebControl, HTMLControl, …
d Window form
Bộ thư viện về Window form gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows based Việc xây dựng ứng dụng loại này vẫn được hỗ trợ tốt từ trước tới nay bởi các công cụ và ngôn ngữ lập trình của Microsoft Giờ đây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service Ví dụ về các lớp trong thư viện này là: Form, UserControl,…
1.2.2 Tìm hiể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ì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.0 của.NET framework, là công nghệ nối tiếp của Microsoft's Active Server pages(ASP)
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.NET language
Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server, do đó đây là kỹ thuật lập trình sever-side
1.2.3 Các ưu điểm của ASP.NET:
ASP.NET có nhiều ưu điểm hơn các nền tảng khác khi dùng nó để tạo ứng dụng Web Phần lớn những ưu điểm quan trọng của nó đi kèm với các máy chủ Windows và các công cụ lập trình Windows Ứng dụng web được tạo bởi ASP.NET được tạo ra, bắt lỗi và triển khai rất dễ dàng thông qua các tác vụ có thể thực thi trọn vẹn trong một môi trường phát triển duy nhất – Visual Studio NET.Với những nhà phát triển ứng dụng Web, ASP.NET bộc lộ những ưu điểm sau đây :
Trang 9+ ASP.Net cho phép lựa chọn một trong các ngôn ngữ lập trình mà lập trình viên yêu thích: Visual Basic.Net, J#, C#,…
+ ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng
+ Các cập nhập hiệu lực ngay lập tức giúp cho việc triển khai các ứng dụng Web mà không phải khởi động lại máy chủ
+ Truy cập tới.NET Framework, có thể đơn giản hóa nhiều khía cạnh trong lập trình Windows
+ Trang ASP.Net được biên dịch trước Thay vì phải đọc và thông dịch mỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP
+ Hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của.Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, …
+ Các tính năng bảo mật được xây dựng sẵn thông qua máy chủ Windows hoặc thông qua các phương thực xác nhận/phân quyền khác
+ Sử dụng phong cách lập trình mới: Code behide Tách code riêng, giao diện riêng dễ đọc, dễ quản lý và bảo trì
+ Kiến trúc lập trình giống ứng dụng trên Windows
+ Hỗ trợ quản lý trạng thái của các control
+ Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser
+ Hỗ trợ nhiều cơ chế cache
+ Giúp tối ưu hệ thống, giải quyết hiện tượng thắt cổ chai (nghẽn) khi có nhiều truy cập cùng lúc
+ Có đặc tính kế thừa cao (inheritance): Đặc tính này cho phép một đối tượng
có thể có sẵn các đặc tính mà đối tượng khác đã có thông qua kế thừa Đ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 phải tiến hành định nghĩa lại
+ Khả năng mở rộng cao hơn: có ý nghĩa là một ứng dụng có thể trãi rộng tương tác trên nhiều server, khả năng giao tiếp giữa các server được tăng cường
Trang 10+ Thuận lợi khi triển khai cài đặt:
Không cần lock, không cần đăng ký DLL
Cho phép nhiều hình thức cấu hình ứng dụng
+ Hỗ trợ quản lý ứng dụng ở mức toàn cục
Global.aspx có nhiều sự kiện hơn
Quản lý session trên nhiều Server, không cần Cookies
CHƯƠNG 2: BÀI TOÁN PHÂN TÍCH THIẾT KẾ HỆ THỐNG
THÔNG TIN
2.1 Các hệ thống thông tin
Ngày nay, hệ thống thông tin đã được ứng dụng trong mọi lĩnh vựa khác nhau của đời sống xã hội Tuỳ theo quan điểm mà có thể phân loại các hệ thống thông tin theo các tiêu chí khác nhau Xét về mặt ứng dụng, hệ thống thông tin có thể được phân chia thành một số dạng như sau:
Hệ thống thông tin quản lý: Bao gồm các hệ thống thông tin hỗ trợ các hoạt
độngnghiệp vụ và quản lý của các doanh nghiệp, các tổ chức Ví dụ các hệ thống quản lý nhân sự, hệ thống kế toán, hệ thống tính cước và chăm sóc khách hàng, hệ thống quản lý thư viện, hệ thống đào tạo trực tuyến
Các hệ thống Website: là các hệ thống có nhiệm vụ cung cấp thông tin cho
người dùng trên môi trường mạng Internet Các hệ thống Website có đặc điểm là
Trang 11thông tin cung cấp cho người dùng có tính đa dạng (có thể là tin tức hoặc các dạng file đa phương tiện) và được cập nhật thường xuyên.
Hệ thống thương mại điện tử: Là các hệ thống website đặc biệt phục vụ việc
trao đổi mua bán hàng hoá, dich vụ trên môi trường Internet Hệ thống thương mại điện tử bao gồm cả các nền tảng hỗ trợ các giao thức mua bán, các hình thức thanh toán, chuyển giao hàng hoá
Hệ thống điều khiển: là các hệ thống phần mềm gắn với các thiết bị phần cứng
hoặc các hệ thống khác nhằm mục đích điều khiển và giám sát hoạt động của thiết
bị hay hệ thống đó Mỗi loại hệ thống thông tin có những đặc trưng riêng và cũng đặt ra những yêu cầu riêng cho việc phát triển hệ thống Ví dụ, các hệ thống điều khiển đòi hỏi những yêu cầu về môi trường phát triển, hệ điều hành và ngôn ngữ lập trình riêng; các hệ website thực thi các chức năng trên mội trường mạng phân tán đòi hỏi cách phát triển riêng Do vậy, không có một phương pháp luận chung cho tất cả các dạng hệ thống thông tin
Phạm vi của phần tìm hiểu này chủ yếu trình bày về một số khái niệm cơ bản của UML cho phát phiển các hệ thống thông tin
2.2 Các bước thực hiện trong bài toán PTTKHT:
2.2.1 Phân tích hệ thống
Phân tích hệ thống là bước đầu tiên rất quan trọng cho dự án phát triển phần mềm
Công việc phân tích hệ thống bao gồm:
+ Thu thập yêu cầu và quy trình nghiệp vụ hiện tại
+ Phân tích và xác lập các quy trình sẽ được phát triển/thay thế bằng máy tính.+ Xác thực các yêu cầu/tính năng của hệ thống
Kết quả của việc phân tích hệ thống là các tài liệu đặc tả tính năng hệ thống Các tài liệu này thông thường ở dạng các sơ đồ, biểu đồ,… Kết quả này dùng cho việc xác thực các tính năng của hệ thống với khách hàng
Đây là đầu vào của quá trình tiếp theo là thiết kế hệ thống
2.2.1.1 Quy trình phân tích hệ thống
Trang 12Thu thập thông tin hệ thống hiện tại: Tìm hiểu và xây dựng lại hiện trạng của
hệ thống
+ Các quy trình hoạt động/nghiệp vụ
+ Phương thức và ý nghĩa của các quá trình xử lý
+ Dữ liệu của hệ thống
+ Điều kiện hạ tầng: thiết bị, con người
Thu thập yêu cầu: Xác định các yêu cầu
+ Các yêu cầu về chức năng của hệ thống
+ Các yêu cầu về môi trường vận hành: thiết bị, con người
Phân tích yêu cầu
+ Phân tích các yêu cầu theo quy trình xử lý
+ Bổ sung các quy trình cho phù hợp với máy tính
+ Yêu cầu bổ sung các thông tin
2.2.1.2 Phân tích hệ thống theo hướng phát triển kỹ thuật lập trình OOP
Use case diagrams (Lược đồ use case)
Use case diagrams mô tả hệ thống làm gì từ quan điểm của người quan sát
tổng quan Điều quan trọng là nhấn mạnh hệ thống làm gì hơn là làm như thế nào Lược đồ Use case quan hệ gần gũi đến các sự kiện Sự kiện (scenario) là những gì xảy ra khi ai đó tương tác với hệ thống Đây là sự kiện về một khoa y học: một bệnh nhân gọi phòng khám để hẹn gặp cho việc kiểm tra hàng năm Người tiếp tân tìm thời gian trống gần nhất trong sổ hẹn gặp và lịch hẹn gặp cho thời qian đó
Trang 13Use case là tập hợp các sự kiện về một công việc đơn giản hoặc mục đích của
nó actor là người tham gia vào các sự kiện trong phiên làm việc Actor đóng vai trò là người hoặc đối tượng hoạt động Hình dưới là mô tả use case là Make Appointment, actor là Patient Mối liên hệ giữa use case và actor là mội quan hệ kết hợp ( communication association) (gọi tắt là communication).
Hình 2.1: actor và use case
Lược đồ Use case hỗ trợ 3 phạm vi sau :
+ Xác định các đặc trưng : Use case mới thường thường phát sinh các yêu cầu
mới khi hệ thống phân tích và đưa ra các mô hình
+ Giao tiếp với clients : các kí hiệu đơn giản giúp cho lược đồ use case có thể
giao tiếp với client
+ Phát sinh các trường hợp test : tập hợp các sự kiện cho một use case có thể
đề nghị các trường hợp cho các sự kiện này
Class diagrams (Lược đồ lớp)
Class diagram đưa ra tổng quan hệ thống bằng cách hiển thị các lớp và quan
Giai đoạn thiết kế quan tâm đến “HOW”:
+ Thứ tự các thông điệp trao đổi, thông số của thông điệp
+ Thuật giải của tác vụ đáp ứng
+ Cấu trúc dữ liệu cho các thuộc tính
+ Framework (console, document/view, 3-tier )
Trang 14+ Thiết kế cũng chịu ảnh hưởng từ:
+ Ngôn ngữ lập trình và thư viện lập trình (Hỗ trợ Vector, List, Map hay không ? Hỗ trợ template hay không ? )
+ Kiến trúc hệ thống (COM, CORBA hay EJB)
Thiết lập mô hình động (dynamic modeling) và chi tiết hoá mô hình tĩnh
2.2.2.1 Sequence diagrams (Lược đồ tuần tự)
Lược đồ lớp và lược đồ đối tượng là các cấu trúc (view) mô hình tĩnh Lược đồ
tương tác (Interaction diagrams) là cấu trúc động, mô tả các đối tượng cộng tác
như thế nào
Lược đồ tuần tự (sequence diagram) là lược đồ tương tác diễn tả các phương thức (operations) hoạt động như thế nào, thông điệp nào được gởi đến và khi nào Lược đồ tuần tự được tổ chức theo thời gian Các đối tượng liên quan đến phương thức được liệt kê từ trái sang phải khi chúng tham gia vào thông điệp tuần tự
2.2.2.2 Statechart diagrams (Lược đồ trạng thái)
Các đối tượng có các hành vi và trạng thái Trạng thái của đối tượng phụ thuộc
vào hoạt động hoặc điều kiện hiện hành Lược đồ trạng thái (statechart diagram)
hiển thị các trạng thái của đối tượng và các biến đổi trong trạng thái
2.2.2.3 Activity diagrams (Lược đồ hoạt động)
Activity diagram là một biểu đồ tiến trình (flowchart) Lược đồ hoạt động và
lược đồ trạng thái có quan hệ với nhau Khi lược đồ trạng thái tập trung vào một đối tượng thông qua một quá trình, lược đồ hoạt động tập trung vào luồng hoạt động liên quan đến một tiến trình đơn Lược đồ hoạt động biểu diễn có nhiều hoạt động này phụ thuộc vào nhiều hoạt động khác
2.2.2.4 Hoàn chỉnh lược đồ lớp
Nhận diện một số lớp thiết kế
+ Mô hình thiết kế phần nào chịu ảnh hưởng từ ngôn ngữ lập trình, thư viện hỗ trợ, framework, hệ điều hành và loại máy tính
+ Một số lớp sẽ xuất hiện khi áp dụng những yếu tố trên
+ Ngôn ngữ lập trình: template, CObject
+ Thư viện hỗ trợ: lớp Date, Time, List, Map, vector, iostream…
Trang 15+ Framework: Applet, Panel, CDocument, CView, HttpServlet…
+ Hệ điều hành: các lớp thao tác file, mở cầu nối network, các phần tử giao diện…
+ Một số lớp khác xuất hiện làm chức năng duyệt (iterate) một lớp khác hay thực hiện các tính toán phức tạp
+ Sử dụng trực tiếp các lớp do thư viện hay ngôn ngữ cung cấp, hoặc
+ Tạo ra lớp mới bằng cách thừa kế hay tích hợp các lớp có sẵn,
+ Bổ sung các lớp mới vào lược đồ lớp đồng thời cập nhật các mối quan hệ mới (bao gộp, phụ thuộc)
PHẦN II: THỰC HÀNH
CHƯƠNG 3: KHẢO SÁT HỆ THỐNG
3.1 Giới thiệu công ty:
CrossstitchSaiGon Ltd Company là công ty chuyên kinh doanh về tranh thêu
và các sản phẩm thêu cao cấp Các sản phẩm chủ lực của công ty gồm: Tranh thêu tay chữ thập, chỉ thêu cao cấp,… Với phương châm: mang lại vẻ đẹp hoàn hảo cho những bức tranh thêu tay nghệ thuật, chúng tôi không ngừng sáng tạo và nâng cấp dịch vụ nhằm mang đến cho quý khách những sản phẩm hoàn hảo với cung cách
phục vụ chuyên nghiệp nhất CrossstitchSaiGon, hướng đến cuộc sống Chân -
Thiện - Mỹ
3.2 Mục tiêu của hệ thống:
Bên cạnh việc phát triển các cửa hàng bán lẻ truyền thống, với sự phát triển mạnh mẻ của internet, thương mại điện tử và dịch vụ băng thông tốc độ cao, công
ty CrossstitchSaiGon quyết định thành lập website tranhtheuchuthap.com
Tranhtheuchuthap.com sẽ mang đến cho khách hàng cái nhìn rõ nét hơn về
công ty, các sản phẩm và dịch vụ hiện có của công ty, đồng thời mang đến cho
Trang 16khách hàng phương thức mua hàng trực tuyến với ưu điểm: nhanh chóng, an toàn, tiện lợi Tuy nhiên, do một số hạn chế về mặt kỹ thuật, ứng dụng web này chỉ dừng lại ở việc đặt hàng trực tuyến, không thể mua bán trực tuyến Do đó, khách hàng chỉ có thể đặt mua những sản phẩm ưng ý, sau đó sản phẩm sẽ được giao đến tận nơi và khách hàng thanh toán bằng tiền mặt khi nhận được hàng.
Đồng thời, CrossstitchSaiGon cũng mong muốn tranhtheuchuthap.com sẽ là
nhịp cầu giữa công ty và khách hàng, là nơi trao đổi và tiếp nhận các thông tin, yêu cầu của khách hàng để công ty ngày càng phục vụ khách hàng tốt hơn
3.3 Phát biểu bài toán:
3.3.1 Khảo sát hoạt động bán hàng của công ty:
Công ty CrossstitchSaiGon hiện nay chuyên kinh doanh các sản phẩm: tranh
thêu chữ thập (cross-stitch) bao gồm các bộ (chart,kit,chỉ,kim) dùng để thêu tranh, các bức tranh thêu thành phẩm; tranh ghép giấy 3D; các loại chỉ thêu, kit,… cao cấp; các dụng cụ cần thiết để thêu tranh
Việc bán hàng của công ty có thể được mô tả tóm tắt như sau:
- Tất cả các mặt hàng ngoại trừ tranh đã thành phẩm đều được cung cấp từ các đại lý Do đó, thông tin về các đại lý cũng được quản lý chung với mặt hàng
- Khách hàng khi đến mua hàng có thể mua trực tiếp tại showroom, hay liên hệ với bộ phận kinh doanh để đặt hàng Đối với hình thức đặt hàng, sau khi chọn mua những sản phẩm ưng ý, khách hàng sẽ được xuất đơn đặt hàng Hàng sẽ được giao theo thời hạn và xuất hóa đơn dựa theo thông tin từ phiếu giao hàng
- Công ty có mẫu đơn đặt hàng chuẩn và mẫu này được đánh số trước và phải được người có thẩm quyền ký duyệt khi chấp nhận đơn đặt hàng Đơn này phản ánh cụ thể:
+ Quy trình bán hàng liên quan;
+ Từng điều khoản, điều kiện và quy cách cụ thể mà có thể khác nhau giữa các đơn hàng khác nhau;
+ Đã kiểm tra về việc xác nhận về tình trạng còn hàng và lịch giao hàng;
+ Đã kiểm tra chất lượng tín dụng của khách hàng, hoặc, đối với những khách hàng mới (khách hàng mua với số lượng lớn) thì cần có sự phê duyệt của bộ phận kiểm tra tín dụng hoặc cán bộ phụ trách kiểm tra chất lượng tín dụng khách hàng
Trang 17- Đối với khách hàng mua sỉ, công ty có chế độ chiết khấu và bán chịu riêng được duyệt từ ban lãnh đạo.
- Việc quản lý hàng tồn được cập nhật hàng ngày vào cuối ngày, dựa vào thông tin các hóa đơn đã lập trong ngày
- Công ty cũng thực hiện nhiều chương trình khuyến mãi theo chủ yếu 2 hình thức là giảm giá trực tiếp và tặng kèm sản phẩm khác Tại một thời điểm, một mặt hàng chỉ có 1 chương trình khuyến mãi Các mặt hàng khuyến mãi không được quy thành tiền
3.3.2 Mô tả bài toán:
Hiện nay, công ty CrossstitchSaiGon yêu cầu ứng dụng web thương mại điện
tử của mình phải đáp ứng các chức năng sau:
- Tiếp nhận sản phẩm từ phía công ty Trình bày lên trang web để giới thiệu với khách hàng
Đối với công tác quản lý:
+ Ứng dụng web phải hỗ trợ cho công ty trong việc nhập liệu, việc thay đổi thông tin về sản phẩm để đảm bảo khách hàng luôn nhận được thông tin mới nhất, chính xác nhất về sản phẩm Đồng thời quản trị web của công ty cũng được cung cấp các chức năng thay đổi nội dung trình bày ở phía website của khách hàng.+ Ứng dụng web phải đảm nhận nhiệm vụ quản lý chương trình khuyến mãi do công ty đưa ra đối với mặt hàng
+ Ban quản lý công ty có thể trao đổi thông tin với khách hàng về sản phẩm, về hình thức mua bán,v.v…
+ Ứng dụng web phải cung cấp chức năng quản lý việc kinh doanh một cách cơ bản như: cung cấp các số liệu thống kê kinh doanh: doanh số hàng tháng, khách hàng mua nhiều sản phẩm nhất, sản phẩm bán chạy nhất, v.v…
+ Tại thời điểm này, ứng dụng web chỉ mang mục tiêu chính là quảng bá thương hiệu, thăm dò thị trường, và bán lẻ Khi khách hàng mua với số lượng lớn,
họ cần liên hệ trực tiếp với bộ phận kinh doanh
Đối với khách hàng:
Trang 18+ Ứng dụng web cần tạo môi trường thân thiện với người dùng khi khách hàng tham gia vào hoạt động kinh doanh của công ty Đồng thời, ứng dụng còn phải xây dựng thêm chức năng giới thiệu về công ty để tạo điều kiện cho khách hàng tìm hiểu thêm về công ty.
+ Khi khách hàng vào mua hàng, ứng dụng web phải cung cấp cho mỗi khách hàng một giỏ hàng để chứa các mặt hàng cần mua Khách mua hàng có thể bỏ lại mặt hàng đã chọn hay thêm mặt hàng mới vào giỏ hàng
+ Khi khách hàng hòan tất việc chọn lựa hàng hóa, ứng dụng web tiến hành tính tiền cho khách hàng
+ Ngoài ra , hệ thống có thể cho khách hàng biết được sản phẩm nào trong giỏ hàng có chương trình khuyến mãi và khách hàng sẽ được khuyến mãi gì với sản phẩm đó Nên có cơ chế duyệt từ chế độ khuyến mãi từ cao xuống thấp đảm bảo cho khách hàng bao giờ cũng được hưởng chế độ khuyến mãi tối đa
+ Khi mua hàng, điều làm khách hàng lúng túng nhất đó chính là không biết nên chọn sản phẩm nào Để giải quyết vấn đề này, ứng dụng cần xây dựng chức năng tìm kiếm theo tiêu chí, theo tính đặc thù của mặt hàng Những tiêu chí này đại diện cho những yêu cầu của khách hàng về một mặt hàng nào đó Ví dụ như:
“Cross-Stitch được nhiều người mua nhất” được xem là một tiêu chí Và kết quả đánh giá của những tiêu chí được rút ra từ các số liệu thống kê ý kiến thăm dò từ khách hàng
+ Khách hàng có thể thông qua ứng dụng để đóng góp ý kiến, trao đổi thông tin với công ty
+ Khách hàng khi đăng ký làm thành viên có thể tạo được thư viện ảnh lưu trữ các tác phẩm thêu của mình Tất cả các khách hàng đều có thể xem được thư viện tác phẩm này
3.4 Yêu cầu đối với hệ thống:
Từ các yêu cầu trên của công ty, ứng dụng web có thể được xây dựng gồm các module sau:
01 Thiết kế giao diện - Thiết kế giao diện đẹp có Flash
02 Module giới thiệu công ty - Trình bày thông tin giới thiệu về công ty, lĩnh vực
Trang 19hoạt động, cơ cấu tổ chức, các đơn vị thành viên
03 Module giới thiệu về sản
phẩm, dịch vụ
- Cung cấp cho khách hàng những thông tin cần thiết
về các sản phẩm dịch vụ được chia theo danh mục mỗi danh mục có nhiều sản phẩm bên trong trình bày dưới dạng list sản phẩm/dịch vụ Các thành phần này
có thể bao gồm hình ảnh, mô tả và giá thành (Không giới hạn danh mục sản phẩm)
04 Module quản lý sản phẩm - Có thể thêm/xóa/sửa các thể loại sản phẩm, không giới hạn số lượng.
05 Module giỏ hàng(Shopping Cart) - Bao gồm các chức năng giỏ hàng, đơn hàng, quản lý khách hàng Khách hàng có thể chọn hàng và đăng
ký đặt mua hàng một cách dễ dàng
06 Module sản phẩm mới
- Hiển thị các sản phẩm/dịch vụ mới nhất của công ty bằng các hình ảnh tiêu biểu, khách hàng có thể click vào hình sản phẩm để xem thông tin và hình ảnh mô
tả chi tiết về sản phẩm đó
07 Module tiện ích, thăm dò ý kiến - Giúp công ty thu thập được những phản hồi của khách hàng một cách hiệu quả nhất
08 Module tìm kiếm - Cho phép tìm các thông tin trên website bằng các từ khóa có liên quan Tìm kiếm theo tiêu chí.
09 Form liên hệ trực tuyến
- Cung cấp 1 mẫu biểu trực tuyến cho phép khách hàng của doanh ngiệp có thể dễ dàng gửi những đánh giá, nhận xét cũng như những yêu cầu của mình đến với doanh nghiệp
10 Bộ đếm số người đã truy cập website. - Cung cấp thông tin về số lượt người truy cập website công ty
Về mặt chức năng:
- Quản trị web:
• Đăng nhập vào tài khoản
• Thoát khỏi tài khoản
• Đổi mật khẩu
• Xem,thêm, xóa, sửa thông tin cho mặt hàng bất kì
• Xem,thêm, xóa, sửa chương trình khuyến mãi
• Xem, duyệt, xóa danh sách đặt hàng hiện tại của các khách hàng
• Xem, sửa, thêm, xóa tin tức
• Xem, trả lời các câu hỏi từ phía khách hàng
• Xem, duyệt, xóa các thông tin đóng góp ý kiến, đánh giá của khách hàng
• Thay đổi thông tin công ty
Trang 20• Xem danh mục mặt hàng và mặt hàng
• Mua hàng
• Thay đổi giỏ hàng
• Xem đơn đặt hàng trong quá khứ
• Xem giỏ hàng hiện tại
• Tìm kiếm mặt hàng
• Xem thông tin liên hệ với công ty, các hướng dẫn mua hàng,…
• Xem và gửi các câu hỏi đến công ty
• Tham gia đóng góp ý kiến và bình chọn sản phẩm
• Tạo thư viện hình ảnh các tác phẩm của mình, xem thư viện tác phẩm của các thành viên khác
Trang 21CHƯƠNG 4 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG
4.1 Phân tích xử lý của hệ thống
4.1.1 Sơ đồ use case:
Từ yêu cầu về chức năng của ứng dụng nêu trên, lược đồ use-case sau đây sẽ trình bày cụ thể chức năng của hệ thống:
Hình 4.1 Lược đồ Use case 4.1.2 Đặc tả use case:
4.1.2.1 Danh sách các use case:
Trang 22Tác nhân chính Tên use case
Người dùng Xem danh mục hàng hóa
Người dùng Xem thông tin, FAQ
Người dùng Xem thư viện tác phẩm
Người dùng Tìm kiếm mặt hàng
Khách hàng Đăng ký làm thành viên
Thành viên Đóng góp ý kiến
Thành viên Tạo thư viện tác phẩm
Thành viên Quản lý thông tin khách hàng (tài khoản thành viên của chính
mình)Thành viên Xem đơn đặt hàng trong quá khứ
Khách hàng, thành viên Đặt mua hàng
Khách hàng, thành viên Tiến hành chương trình khuyến mãi
Quản lý Quản lý chương trình khuyến mãi
Quản lý Quản lý thông tin-tin tức, FAQ
Quản lý Quản lý thăm dò/đóng góp ý kiến khách hàng
Bảng 5.1 Danh sách use case
Tác nhân Thành viên, quản lý
Tóm tắt Use case này là nơi mà người sử dụng được nhận diện
trong hệ thống Nếu người dùng đã có một account trong
hệ thống, người dùng cung cấp một user name và password để xác nhận Nếu người dùng chưa được xác nhận thì chưa đăng nhập vào hệ thống được
Nếu người dùng không có một account trong hệ thống thì có thể tạo mới Khi account được tạo mới thì người dùng đó được đăng nhập
Điều kiện trước
(Pre-condition) Không có
Điều kiện sau
(Post-condition) Nếu đăng nhập thành công, người dùng được xác nhận vào hệ thống
Trang 23Luồng sự kiện chính 1 Người dùng nhập username và password.
2 Hệ thống kiểm tra xem user name và password có tồn tại trong cơ sở dữ liệu không Nếu có, hệ thống thông báo thao tác đăng nhập thành công
Luồng sự kiện phụ 1 New User: Người dùng không có một account, hệ thống
cho phép tạo account Một khi account được tạo, người dùng được xem như đã đăng nhập
2 Lỗi xác nhận người sử dụng: người dùng nhập user name và password bị sai, sự đăng nhập không thành công, hệ thống báo lỗi yêu cầu trở lại đăng nhập tiếp.4.1.2.2.2 Use case tạo tài khoản:
Tóm tắt Use case này cho phép người dùng tạo và kích hoạt một
account chứa thông tin người dùng Một khi account đã được tạo và đã được kích hoạt, người dùng đó được xem như đã được đăng nhập
Điều kiện trước
(Pre-condition)
Không có
Điều kiện sau
(Post-condition) 1 Account người dùng được tạo.2 Account không được tạo: điều này xảy ra khi người
dùng nhập thông tin không hợp lệLuồng sự kiện chính 1 Người dùng yêu cầu đăng kí tham gia làm thành viên
của website Trang đăng kí mở ra Người dùng điền một số thông tin sau: Họ, Tên, Mật khẩu, Xác nhận lại mật khẩu, Email, Câu hỏi bí mật, Câu trả lời bí mật, Điện thoại, Di động, Quốc gia, Thành phố, Địa chỉ
2 Người dùng yêu cầu đăng kí Trang web tiến hànhkiểm tra phiếu đăng kí của người dùng có thỏa mãncác thông tin sau hay không :
• Phải nhập vào đầy đủ những thông tin bắtbuộc (những thông tin có dấu *)
• Thông tin ở 2 ô: Mật khẩu và Xác nhận mậtkhẩu phải trùng khớp với nhau hòan tòan
• Thông tin email phải chính xác và không được trùng
3 Sau khi phiếu đăng kí đã đầy đủ các yêu cầu trên thì tiến hành đăng kí cho người dùng này Dữ liệu của khách hàng được lưu vào cơ sở dữ liệu Sau việc lưu dữ liệu thành công, hệ thống sẽ tự động gởi thư về cho người dùng để thông báo việc đăng kí đã thành công.Luồng sự kiện phụ Người dùng nhập thông tin của account không hợp lệ Nếu
hệ thống xác định thông tin mà người dùng nhập vào không hợp lệ thì xảy ra các điều sau:
Trang 24- Hệ thống thông báo những dữ liệu nhập vào không hiệu lực, yêu cầu nhập lại.
- Người dùng nhập lại thông tin và hệ thống xác nhận lại những thông tin đó
- Nếu nhập vào thông tin hợp lệ thì sẽ được lưu vào hệ thống
- Nếu không hợp lệ thì hệ thống yêu cầu nhập lại cho đến khi hợp lệ
4.1.2.2.3 Use case xem danh mục hàng hóa – xem hàng
hóa:
Tóm tắt Use case này cho phép người dùng xem danh mục hàng
hóa có sự phân loại theo 2 cấp (cấp danh mục và cấp hàng hóa)và xem thông tin chi tiết của 1 mặt hàng
Điều kiện trước
(Pre-condition) Không có
Điều kiện sau
(Post-condition) Không có
Luồng sự kiện chính 1 Người mua xác định danh mục (loại hàng hóa) mình cần
xem Khi người dùng đã chọn một loại hàng hóa cần tìm, hệ thống sẽ hiển thị tất cả các mặt hàng của lọai này Thông tin hiển thị ra chỉ là thông tin trích dẫn của thông tin về mặt hàng đó, bao gồm các thông tin như sau: Tên, Giá, Hình ảnh Trong đó, mỗi cái tên hay mỗi hình ảnh đều liên kết đến một trang mô tả về thông tin chi tiết của mặt hàng này
2 Khách hàng nhấn vào 1 trong 2 mối liên kết đó thì hệ thống sẽ hiển thị ra thông tin chi tiết về mặt hàng này gồm có: Tên, Giá, Hình ảnh, Mã mặt hàng, Công ty sản xuất, Mô tả chi tiết, Số lượng mặt hàng hiện có …
Luồng sự kiện phụ Chương trình sẽ thông báo cho khách hàng biết nếu khách
hàng chọn một danh mục mà không có mặt hàng nào thuộc danh mục đó
4.1.2.2.4 Use case đặt mua hàng:
Tác nhân Khách hàng, Thành viên
Tóm tắt Use case này cho phép người dùng chọn mặt hàng và
đặt vào giỏ hàng Khi người dùng chọn xong những món
Trang 25hàng mình cần mua thì xác nhận đồng ý mua Hệ thống yêu cầu người mua nhập thông tin cần thiết Hệ thống sẽ xác nhận tính hợp lệ của những thông tin Sau đó người dùng submit hoá đơn đến hệ thống Hệ thống gửi thông điệp xác nhận thông qua email.
Điều kiện trước
Luồng sự kiện chính 1 Thực hiện thêm, xóa, sửa mặt hàng trong giỏ hàng
Thêm mặt hàng:
Người dùng chọn mặt hàng mong muốn, sau đó yêu cầu cho vào giỏ hàng Hệ thống xác định thông tin về đối tượng vừa mới đựơc chọn: mã mặt hàng, giá tiền, lọai mặt hàng, thông tin khuyến mãi Trong khi mua hàng, người dùng có thể vào xem chi tiết giỏ hàng của mình Hệ thống
sẽ liệt kê ra tất cả các mặt hàng: tên, giá cả của từng mặt hàng và tổng tiền Đồng thời hệ thống xác định khuyến mãi của mặt hàng (nếu có) rồi tính tổng số tiền của giỏ hàng hiện tại mà khách hàng đang mua Các thông tin về đơn đặt hàng được lưu tạm thời ở phía server
Xóa mặt hàng:
Người dùng chọn một mặt hàng trong giỏ hàng rồi yêu cầu xóa mặt hàng đó, hệ thống cập nhật tạm thời lại đơn đặt hàng ở phía server
Điều chỉnh số lượng:
Người dùng chỉnh lại số lượng mặt hàng của một mặt hàng bất kì Sau khi chỉnh xong, hệ thống cập nhật tạm thời đơn hàng ở phía server
2 Sau khi khách hàng chọn xong các sản phẩm, hệ thống
sẽ yêu cầu khách hàng xác nhận thông tin Tùy vào từng trường hợp hệ thống sẽ xử lý như sau:
Đối với thành viên: Sau khi đã đăng nhập thành công,
hệ thống sẽ lấy thông tin của thành viên kết hợp với thông tin về giỏ hàng của người dùng (các mặt hàng hiện có, giá tiền của các mặt hàng, tổng tiền …)
Đối với khách hàng (chưa đăng ký thành viên): hệ
thống sẽ hiện form yêu cầu khách hàng nhập thông tin cần thiết và kết hợp với thông tin về giỏ hàng
3 Người dùng yêu cầu cập nhật đơn đặt hàng, hệ thống
sẽ tiến hành kiểm tra tính hợp lệ của đơn đặt hàng : Xác định thông tin khách hàng nhập vào, cũng như các chương trình khuyến mãi liên quan đến các mặt
Trang 26hàng.Sau đó, hệ thống sẽ lưu đơn đặt hàng tạm này vào trong cơ sở dữ liệu Đồng thời, hệ thống cũng xác định chương trình khuyến mãi cho từng mặt hàng trong đơn đặt hàng mới này.
4 Khi đơn đặt hàng đã được lưu vào cơ sở dữ liệu, hệ thống sẽ gởi mail thông báo về “Đơn đặt hàng thành công “ đến cho khách hàng, trong đó liệt kê ra các mặt hàng mà khách hàng đã mua và các khuyến mãi mà khách hàng nhận được nếu có
Luồng sự kiện phụ 1 Người dùng mua một mục hàng nào đó với số lượng
vượt quá số lượng cho phép Hệ thống sẽ tự điều chỉnh lại thành số lượng lớn nhất cho phép
2 Thông tin về địa chỉ hoá đơn, email… người dùng nhập vào không hợp lệ Hệ thống sẽ xóa hết thông tin và yêu cầu người dùng nhập lại
4.1.2.2.5 Use case tiến hành chương trình khuyến mãi:
Luồng sự kiện chính Người dùng yêu cầu cập nhật đơn đặt hàng Hệ thống xác
định chương trình khuyến mãi dành một mặt hàng cho từng mặt hàng trong đơn đặt hàng Nếu có hệ thống sẽ xác định mặt hàng trong đơn đặt hàng đó có thỏa điều kịên của chi tiết khuyến mãi nào hay không Nếu thỏa điều kiện, hệ thống sẽ xác định chế độ khuyến mãi dành cho khách hàng.Luồng sự kiện phụ
4.1.2.2.6 Use case đóng góp ý kiến khách hàng:
Tác nhân Khách hàng, Thành viên
Tóm tắt Use case này giúp đóng góp ý kiến của mình cho tác phẩm
bất kỳ trong thư viện tác phẩm
Điều kiện trước
(Pre-condition)
Không có
Điều kiện sau
(Post-condition) Phần đóng góp ý kiến của khách hàng sẽ được tạo ra và được duyệt từ phía quản lý trước khi thể hiện trên ứng
dụng web
Luồng sự kiện chính 1 Khi xem các tác phẩm của các thành viên khác, người
Trang 27dùng yêu cầu đóng góp ý kiến cho mặt hàng đó Hệ thống mở ra trang đóng góp ý kiến.
2 Người dùng nhập ý kiến hay yêu cầu của mình vào và đồng thời bình chọn cho mặt hàng theo số điểm tương ứng
3 Người dùng xác nhận đồng ý với ý kiến đó Hệ thống gởi ý kiến về để server lưu lại
Luồng sự kiện phụ Nếu người dùng chưa đăng nhập thì cần phải điền tên, địa
chỉ email Nếu điền email sai, hệ thống sẽ xóa hết thông tin
và yêu cầu người dùng nhập lại
4.1.2.2.7 Use case tìm kiếm mặt hàng:
Danh sách các mặt hàng tìm kiếm sẽ được thể hiện
Luồng sự kiện chính Khách hàng có thể tìm kiếm sản phẩm dựa vào công cụ tìm
kiếm nhanh và tìm kiếm nâng cao:
1 Ở mục tìm kiếm nhanh, khách hàng có thể tìm theo danh mục sản phẩm và theo giá của sản phẩm
2 Ở mục tìm kiếm nâng cao, ngoài 2 tiêu chí trên khách hàng còn tìm theo các tiêu chí như: kích cỡ tranh, theo số điểm bình chọn, v.v
Luồng sự kiện phụ
4.1.2.2.8 Use case tạo thư viện tác phẩm:
Tóm tắt Use case này giúp các thành viên của trang web có thể tạo
và trình diễn các tác phẩm thêu của mình cho mọi người xem
Điều kiện trước
(Pre-condition) Phải đăng nhập trước.
Điều kiện sau
(Post-condition)
Một thư viện ảnh phải được tạo và lưu trên server
Luồng sự kiện chính 1 Thành viên upload ảnh của mình lên trang web Mỗi
file ảnh phải <=800KB Dung lượng tối đa cho 1 thư viện tác phẩm là 5MB Mỗi file upload phải có lời bình
đi kèm
2 Các ảnh sau khi được upload phải chờ được quản trị duyệt, sau đó mới thể hiện lên thư viện
Trang 28Luồng sự kiện phụ Nếu file được upload không phải là file ảnh, hệ thống phải
thông báo và yêu cầu chọn lại file khác
4.1.2.2.9 Use case xem đơn đặt hàng trong quá khứ:
Phải đăng nhập trước
Điều kiện sau
(Post-condition)
Các đơn đặt hàng sẽ được thể hiện
Luồng sự kiện chính Sau khi đặt hàng xong, khách hàng sẽ có thể coi lại đơn đặt
hàng mới vừa tạo cũng như các đơn đặt hàng trước đó Thông tin ở đây sẽ không được thay đổi nữa
Luồng sự kiện phụ
4.1.2.2.10 Use case xem thông tin/FAQ:
Tác nhân Khách hàng, Thành viên
Tóm tắt Use case này giúp khách hàng xem các tin tức, thông tin
hướng dẫn, các FAQ Đồng thời cũng có thể đặt câu hỏi cho công ty
Điều kiện trước
(Pre-condition)
Không có
Điều kiện sau
(Post-condition) Không có
Luồng sự kiện chính 1 Xem các thông tin mới nhất liên quan đến các sản phẩm
của công ty Những thông tin hữu ích trong lĩnh vực thêu tranh cũng được trình bày ở đây
2 Các câu hỏi trả lời thường gặp sẽ được trình bày ở đây Ngoài ra người dùng có thể hỏi bất cứ câu hỏi gì về phía công ty Thông tin của người dùng phải được cung cấp đầy
đủ trước khi submit câu hỏi để lưu tại server
Luồng sự kiện phụ Nếu khách hàng chưa nhập đầy đủ thông tin trước khi
submit câu hỏi thì hệ thống yêu cầu nhập lại
4.1.2.2.11 Use case quản lý đơn đặt hàng:
Tóm tắt Use case này giúp người quản lý có thể xem, xóa, tìm
kiếm, chuyển đổi trạng thái của các đơn đặt hàng Ngoài
Trang 29ra, tại đây người quản lý còn có được các con số thống kê: tổng số đơn đặt hàng, tổng giá trị, top 10 sản phẩm bán chạy nhất trong tháng-năm, v.v…
Điều kiện trước
(Pre-condition) Phải đăng nhập trước.
Điều kiện sau
(Post-condition)
Không có
Luồng sự kiện chính 1 Xem, hiệu chỉnh trạng thái, xóa đơn đặt hàng: hệ thống
sẽ hiển thị tất cả các đơn đặt hàng được lưu ở server Người quản trị cần kiểm tra các đơn này và thay thay đổi trạng thái của đơn từ “chưa giao hàng” sang “đã giao hàng” nếu hàng đã được giao và thanh toán đầy
đủ Trong trường hợp khách hàng đổi ý không mua sản phẩm, đơn đặt hàng sẽ bị xóa
2 Tìm kiếm các đơn đặt hàng theo mã đơn đặt hàng, ngày đặt hàng, họ tên người đặt; theo tiêu chí đơn đặt trong ngày, đơn đã giao, đơn chưa giao,…
3 Xem các số liệu thống kê cơ bản về: tổng số đơn đặt hàng, tổng giá trị, tổng số đơn chưa giao, tổng số đơn chưa giao; top 10 sản phẩm bán chạy nhất trong tháng-năm, thống kê chi tiết từng tháng
Luồng sự kiện phụ
4.1.2.2.12 Use case quản lý mặt hàng:
Tóm tắt Use case này giúp người quản lý có thể xem, xóa, hiệu
chỉnh chi tiết các mặt hàng được trình bày trên trang web.Điều kiện trước
(Pre-condition) Phải đăng nhập trước.
Điều kiện sau
(Post-condition)
Không có
Luồng sự kiện chính 1 Xem, xóa, hiệu chỉnh chi tiết mặt hàng: hệ thông sẽ
hiển thị danh sách các mặt hàng theo từng danh mục Ở đây, người quản lý có thể chọn từng mặt hàng để thay đổi thông tin, xóa mặt hàng
2 Thêm mặt hàng mới sẽ được thực hiện theo từng danh mục mặt hàng cụ thể Thông tin của mặt hàng thêm vào sẽ được kiểm tra trước khi lưu vào server Luồng sự kiện phụ
4.1.2.2.13 Use case quản lý thông tin/FAQ:
Trang 30Tóm tắt Use case này giúp người quản lý có thể xem, xóa, hiệu
chỉnh chi tiết các thông tin-tin tức trên trang web, cũng như xem các câu hỏi của khách hàng Đồng thời tại đây người quản lý sẽ duyệt các câu FAQ để trình bày lên trang web
Điều kiện trước
(Pre-condition)
Phải đăng nhập trước
Điều kiện sau
(Post-condition)
Không có
Luồng sự kiện chính 1 Xem, xóa, hiệu chỉnh chi tiết các thông tin-tin tức:
hệ thông sẽ hiển thị danh sách các thông tin về các hướng dẫn sử dụng, tin tức có liên quan với các mặt hàng được bày bán Ở đây, người quản lý có thể chọn từng thông tin để thay đổi chi tiết, hay xóa thông tin-tin tức
2 Quản lý FAQ: Các câu hỏi từ phía người dùng sẽ được hiển thị tại đây Các câu hỏi được phân loại
“chưa trả lời” và “đã trả lời” Người quản lý căn cứ vào địa chỉ email để trả lời người dùng Ở đây, quản
lý có thể xóa câu hỏi khỏi dữ liệu lưu trên server và cho câu hỏi-trả lời này vào phần FAQ hiện lên trang web
Phải đăng nhập trước
Điều kiện sau
(Post-condition) Không có
Luồng sự kiện chính Sau khi khách hàng post ý kiến của mình lên server Người
quản lý có thể dùng chức năng này để duyệt xem nội dung đóng góp ý kiến có đúng qui định không Đồng thời có thể chấp nhận cho ý kiến đó được trình bày lên trang web hay không
Luồng sự kiện phụ
4.1.2.2.15 Use case quản lý chương trình khuyến mãi:
Trang 31Tóm tắt Use case này giúp quản lý có thể thêm, theo dõi các
chương trình khuyến mãi
Điều kiện trước
(Pre-condition)
Phải đăng nhập trước
Điều kiện sau
(Post-condition) Nếu thêm chương trình khuyến mãi thành công, quản lý phải được chuyển tự động qua phần đăng tin khuyến mãi.Luồng sự kiện chính 1 Theo dõi CTKM: quản lý có thể xem qua tất cả các
CTKM, theo dõi tình trạng của các CT đang thực hiện (số lượng quà khuyến mãi còn, bao nhiêu khách hàng hưởng CTKM…)
2 Thêm CTKM mới bằng cách điền vào các thông tin cần thiết Hệ thống sẽ tự động áp dụng CTKM khi đến thời gian bắt đầu KM, cũng như kết thúc CTKM khi đến điều kiện kết thúc
Luồng sự kiện phụ
4.1.2.2.16 Use case quản lý thư viện tác phẩm:
Tóm tắt Use case này giúp quản lý có thể duyệt các tác phẩm
do các thành viên post lên Có thể xóa nếu tác phẩm không thích hợp
Điều kiện trước
(Pre-condition)
Phải đăng nhập trước
Điều kiện sau
(Post-condition)
Luồng sự kiện chính 1 Liệt kê các tác phẩm do thành viên post lên server
2 Cung cấp chức năng duyệt tác phẩm để tác phẩm có thể được trình bày trên website, chức năng xóa tác phẩm (nếu tác phẩm không phù hợp)
Luồng sự kiện phụ
4.1.3 Lược đồ tuần tự một số chức năng nổi bật:
Trang 32Hình 4.2 Lược đồ tuần tự mô tả quy trình cho hàng vào giỏ
Trang 33Hình 4.3 Lược đồ tuần tự mô tả quy trình thay đổi giỏ hàng
4.1.3.3 Thêm chương trình khuyến mãi
Trang 34Hình 4.3 Lược đồ tuần tự mô tả quy trình thêm CTKM 4.1.4 Một số kỹ thuật xử lý trong ứng dụng:
Trang 35+ Hệ thống hỗ trợ được việc nhập chương trình khuyến mãi một cách dễ dàng Chức năng khuyến mãi cần phải quản lý được phần lớn các hình thức khuyến mãi cũng như các điều kiện khuyến mãi do công ty đưa ra
Tạo chương trình khuyến mãi
• Chương trình khuyến mãi có nội dung sau:
Chương trình khuyến mãi “Mừng Quốc Khánh 2-9” dùng cho mặt hàng MT0002
Với số lượng mua >= 5 bộ KIT thì được tặng 1 bộ KIT MT0001
Với số lượng mua >= 3 bộ KIT và khách hàng mua là nữ thì được tặng 1 bộ KIT MT0001 và 1 tép chỉ thêu
Với số lượng mua >= 10 bộ KIT thì giảm 10% tiền
• Với chương trình khuyến mãi trên thì ta phân tích như sau:
Mặt hàng áp dụng: MT0002
Tặng phẩm: MT0001, 1 tép chỉ thêu
Chi tiết khuyến mãi:
SL mua >= 5 -> Tặng phẩm: 1 bộ KIT MT0001
Trang 36SL mua >= 3 & Giới tính = Nữ -> Tặng phẩm: 1 bộ KIT MT0001 + 1 tép chỉ thêu.
SL mua >= 10 -> Giảm tiền: 10%
ii Mô tả xử lý
Quá trình xử lý bao gồm các công việc sau:
Bước 1: Xử lý các thông tin chung của chương trình khuyến mãi: tên chương trình, ngày bắt đầu, ngày kết thúc
Bước 2: Kiểm tra tính hợp lệ của các mặt hàng được dùng làm tặng phẩm:
• Phải tồn tại mặt hàng và tình trạng còn hàng
Bước 3: Kiểm tra tính hợp lệ của các chi tiết khuyến mãi:
• Kiểm tra điều kiện khuyến mãi của chi tiết khuyến mãi: mô tả điều kiện do công ty đưa vào phải thỏa qui tắc ghi do hệ thống qui định
• Kiểm tra hình thức khuyến mãi của chi tiết khuyến mãi: hệ thống chỉ hỗ trợ 3 hình thức khuyến mãi thông dụng: giảm tiền, giảm %, tặng phẩm
Trang 37Hình 4.4 Mô hình kiểm tra chi tiết KM hợp lệ.
Trang 38iii Xử lý 1 chi tiết khuyến mãi
Qui định
+ Chuỗi điều kiện nhập vào phải có dạng sau: ((ĐK1) và (ĐK2)) hay (ĐK3)
• ĐK: là một mệnh đề: [Tên thuộc tính ] Phép_so_ sánh Giá_trị
• Tên thuộc tính: là những thuộc tính mà hệ thống hỗ trợ như các thuộc tính của KHACH_HANG: Là nữ, Ngày sinh, …
• Phép_so_sánh: >, <, =
+ Chuỗi hình thức khuyến mãi: [Loại hình thức]: Giá_trị
• Loại hình thức là một trong các loại sau: Tặng phẩm, Giảm phần trăm, Giảm tiền
Xử lý chuỗi mô tả điều kiện
Tiến hành phân tích chuỗi thành cây như sau:
Hình 4.5 Mô hình mô tả phân tích chuỗi điều kiện thành cây
Sau khi phân tích ra thành cây điều kiện như trên, nội dung của câu được
biểu diễn lại dưới dạng mội chuỗi theo định dạnh XML như sau:
Trang 39Xử lý chuỗi mô tả hình thức khuyến mãi
Phân tích chuỗi hình thức khuyến mãi do công ty nhập vào thành một chuỗi XML như sau:
ii Xử lý
Bước 1: Khi khách chọn mua một mặt hàng, hệ thống sẽ tiến hành kiểm tra xem mặt hàng này hiện có đang có chương trình khuyến mãi nào hợp lệ không: thời gian khuyến mãi còn hợp lệ, số lượng KH ưu tiên <> 0