TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài
Như chúng ta cũng đã thấy trong xã hội hiện nay thì nội dung nhạc bản quyền ngày càng trở lên được thắt chặt v được chà ú ý hơn trước.Trước đây khi internet và công nghệ còn ang sđ ơ khai th ại Việt Nam ẫn trì t v àn lan tình trạng đĩa l ,ậu đĩa copy những bài nhạc mà các nhạc sĩ, ca sĩ,producer phát hành để nhằm thu lợi bất chính.Hiện nay thì công nghệ đã phát triển một cách vượt bậc nhưng tuy nhiên ình t trạng nghe nhạc, tải nhạc, sử dụng các bài hát… mà không trả tiền thù lao cho tác giả đang diễn ra ngày càng nhiều, ảnh hưởng trực tiếp đến tâm lý của tác giả, họ trở nên dè dặt, không có động lực để tiếp tục sáng tạo; bởi những đứa con tinh thần ừa ra đời đã ngay lập tức bị sao chép, ăn cắp; mà cũng do một phần là v tiền thù lao đáng ra phải được nhận từ thành quả của mình để tiếp tục phục vụ cho việc sáng tạo thì đã không đủ kinh phí để thực hiện.Và chính những điều đó làm ảnh hưởng rất lớn tới các producer,nhạc sĩ,ca sĩ khi họ muốn sản xuất những bài nhạc bản quyền ất ch lượng tới người nghe.Chính vì thế, từ những khó khăn đó mà em muốn tạo một Website bán nhạc bản quyền Việc áp dụng công nghệ thông tin giúp cho người có nhu cầu mua cảm thấy thoải mái,thuận tiện trong việc mua ạc bản nh quyền.
Mục tiêu của đề tài
- Mục tiêu chung của đồ án à l đưa ra 1 Website giới thiệu và đặt mua nhạc bản quyền ử dụng ASP.Net MVC và SQL Server s
- Web có thể hiển thị và tương thích với mọi loại thiết bị điện tử như laptop, máy tính bảng
- Dựa trên những hạn chế, bất cập của hệ thỗng cũ để tài được xây dựng nhằm mục đích đáp ứng nhu cầu đặt mua không mất nhiều thời gian mà khách hàng đã có thể mua được ạc bản quynh ền chỉ bằng một Click chuột Điều đó nhằm mục đích:
1.Mang lại hiệu quả, lợi ích kinh tế: giảm chi phí hoạt động, tăng doanh thu đối với ười chủ sở hữu ng website
Mang lại lợi ích sử dụng: tăng khả năng tương tác giữa người dùng và người bán hàng, 2 bên dễ dàng trao đổi thông tin nhạc bản quyền thuận tiện, nhanh chóng Hoàn thiện các chức năng còn thiếu của hệ thống cũ, cung cấp đa dạng, phong phú các thể loại nhạc Đồng thời, cũng tạo ra 1 thị trường nhạc bản quyền chất lượng và nhiều màu sắc âm nhạc
• Áp dụng HTML, CSS, JAVASCRIP, JQUERY thiết kế giao diện web
• Giao diện trang web cần bắt mắt, dễ sử dụng
• Trình bày thông tin 1 cách logic để thuận tiện cho việc tìm kiếm nhanh chóng Trang web cho phép người quản trị quản lí các thông tin sau:
• Quản lí thể loại nhạc
• Quản lí nhạc bản quyền
• Quản lí chi tiết hóa đơn
• Quản lí giỏ hàng Quản lí thông tin của user đăng nhập vào trang web
• Trang web cho phép người dùng thực hiện các chức năng sau:
• Tìm kiếm nhạc bản quyền
• Thực hiện mua nhạc,đăng ký dịch vụ theo tháng
• Sửa thông tin đơn đặt mua
• Sửa đổi thông tin cá nhân tài khoản
• Đăng nhập, đăng kí tài khoản
• Xóa thông tin đơn đặt mua
• Lưu thông tin các bản nhạc mà khách hàng đã xem.
Giới hạn và phạm vi của đề tài
1.3.1 Đối tượng nghiên cứu Đối tượng nghiên cứu:
- Các địa điểm,phương thức đặt mua bán nh c b n quy n ạ ả ề
- Người quản lý các cửa hàng cho mua bán nh c b n quy n ạ ả ề
- Khảo sát xin ý ki n cế ủa các khách hàng đã sử ụ d ng qua các trang web
- Các n n t ng nhề ả ạc trực tuy n ế
- Các khách hàng đang có nhu cầu đặt mua nhạc bản quyền
Phạm vi không gian: tại địa điểm cho mua bán nhạc bản quyền
Nội dung thực hiện
Website được thiết kế với:
• Giao diện hài hoà, thân thiện, giúp người dùng dễ dàng sử dụng
• Trang chủ sẽ hiển thị danh sách các ạc bản quynh ền mới nhất và bán chạy nhất giúp cho người dùng có thể dễ dàng hơn trong việc tìm kiếm
• Khách hàng có thể dễ dàng tìm thấy thông tin chi tiết các bài nhạc mà họ quan tâm
• Khách hàng có thể chọn các bản nhạc mà họ cần dựa trên khả năng tài chính và chức năng cần thiết bằng cách thêm vào giỏ hàng
• Có chức năng đăng ký, đăng nhập
Khách hàng có thể gửi ý kiến phản hồi, góp ý đến Website để gó phần làm p Website thêm phong phú và phát triển.
Xây dựng một hệ thống bán hàng trực tuyến đơn giản, thân thiện, dễ sử dụng, cho phép khác 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ề đơn đặt mua cũng như người dùng.
• Quản lý thể loại nhạc (quản trị)
Hiển thị thông tin và phân loại nhạc theo dòng nhạc Bài nhạc hiển thị lên website sẽ được hiển thị đầy đủ thông tin như: hình ảnh, tên bài nhạc, giá.
• Quản lý giỏ hàng (người dùng)
Khi tham khảo đầy đủ thông tin về bài nhạc,khách hàng có thể đặt mua ngay tại Website thông qua chức năng giỏ hàng mà không cần phải đến địa điểm giao dịch, giỏ hàng được làm mô phỏng như giỏ hàng trong thực tế có thể thêm, bớt, thanh toán tiền các bải nhạc có sẵn trong giỏ hàng Khi chọn thanh toán giỏ hàng khách hàng phải ghi đầy đủ các thông tin cá nhân, thông tin này được hệ thống lưu trữ và xử lý.
• Quản lý đăng ký thành viên và đăng nhập hệ thống (quản trị) iêng Mỗi khách hàng giao dịch tại Website sẽ được quyền đăng ký môt tài khoản r Tài khoản này sẽ được sử dụng khi hệ thống yêu cầu Một tài khoản do khách hàng đăng ký sẽ lưu trữ các thông tin cá nhân của khách hàng.
Khách hàng có thể liên hệ với nhân viên bán hàng về các thắc mắc, ý kiến của mình.
• Quản lý nhạc bản quyền, đơn hàng
Người quản trị có thể cập nhật thông tin các mặt hàng, loại hàng, quản lý thông tin đơn hàng.
Phương pháp tiếp cận
• Khảo sát chi tiết hệ thống quản lý và bán nhạc bản quyền
• Khảo sát những yêu cầu của khách hàng về hệ thống
• Nhóm khảo sát thực tế bằng việc đưa ra chức năng được yêu cầu sẵn của đề tài
• Thu thập được các tài liệu liên quan đến website về đặt mua nhạc bản quyền
• Phân tích hệ thống sau khi đã khảo sát: hệ thống quản lý để đưa ra những giải pháp, những ý tưởng mới cho việc xây dựng, thiết kế hệ thống website sau này.
CƠ SỞ LÝ THUYẾT
Quy trình phát triển phần mềm
Quy trình xây d ng ph n m m bao g m t p h p các thao tác và k t qu ự ầ ề ồ ậ ợ ế ả tương quan sử dụng trong việc phát triển để sản xuất ra một sản phẩm phần mềm
Mỗi m t ph n m m l i cộ ầ ề ạ ó đặc đ ểm và yêu c u khác nhau, tuy nhiên t t ci ầ ấ ả đều cần phải tr i quaả các bước sau:
Phân tích yêu c u là công vi c bao g m các tác vầ ệ ồ ụ xác định yêu c u cho mầ ột hệ thống mới hoặc được thay đổ ựa trên cơ sởi d là các nhu c u trong quá trình s d ng ầ ử ụ Việc phân tích yêu cầu có ý nghĩa quan trọng đối v i thành công c a m t d án ớ ủ ộ ự Các yêu c u phầ ải có tính đo được, ki m thể ử được, có liên quan đến các nhu cầu hoặc cơ hội doanh nghiệp đã được xác định, và phải được định nghĩa ở mức độ chi tiết đủ cho việc thiết kế hệ thống
Bước 2: Thi t kế ế phần mềm
Là m t quá trình gi i quy t vộ ả ế ấn đề và l p kậ ế hoạch cho m t gi i pháp phộ ả ần mềm Sau khi các mục đích và các đặc điểm kĩ thuật c a ph n mủ ầ ềm được giải quyết, l p trình viên sậ ẽ thiế ết k ho c thuê ặ người thi t kế ế để phát tri n m t kể ộ ế hoạch cho gi i pháp ph n m m Nó bao g m các thành ph n c p th p, các vả ầ ề ồ ầ ấ ấ ấn đề thuật toán cũng như một khung nhìn kiến trúc Thiết kế chức năng, cơ sở dữ liệu và giao diện
Bước 3: Lập trình máy tính
L p trình máy tính (g i t t là l p trình) là kậ ọ ắ ậ ỹ thuật cài t m t ho c nhi u thuđặ ộ ặ ề ật toán trừu tượng có liên quan v i nhau b ng m t ho c nhi u ngôn ng lớ ằ ộ ặ ề ữ ập trình để tạo ra một chương trình máy tính có các thành tố nghệ thuật, khoa h c, toán h c, k ọ ọ ỹ nghệ Các ngôn ng l p trình khác nhau hữ ậ ỗ trợ các phong cách l p trình khác nhau ậMột ph n c a công vi c l p trình là vi c l a ch n m t trong nh ng ngôn ng phù ầ ủ ệ ậ ệ ự ọ ộ ữ ữ hợp nh t vấ ới các bài toán c n gi i quy t Các ngôn ng l p trình khác nhaầ ả ế ữ ậ u đòi hỏi lập trình viên ph i x lý các chi tiả ử ết ở mức độ khác nhau khi cài đặt các thu t toán ậ
Sự thống nh t trong các cách x lý s t o thu n lấ ử ẽ ạ ậ ợi cho vi c l p trình và hi u qu ệ ậ ệ ả của chương trình
Bước 4: Ki m th ể ửphần mềm
Kiểm th ph n m m là m t cuử ầ ề ộ ộc kiểm tra được tiến hành để cung c p cho các ấ bên liên quan thông tin về chất lượng c a s n ph m ho c d ch vủ ả ẩ ặ ị ụ được ki m thể ử Kiểm th có th cung c p cho doanh nghi p mử ể ấ ệ ột quan điểm, một cách nhìn độc đáo về ph n mầ ềm để ừ đó đánh giá và thấ t u hiểu được nh ng r i ro trong quá trình tri n ữ ủ ể khai ph n m m Tùy thu c vào t ng pầ ề ộ ừ hương pháp, việc kiểm th có thử ể được thực hiện b t c lúc nào trong quá trình phát tri n ph n m m Theo truy n thấ ứ ể ầ ề ề ống thì các nỗ l c ki m thự ể ử được ti n hành sau khi các yêu cế ầu được xác định và vi c l p trìnệ ậ h được hoàn tất trong phương pháp phát triển “Agile” thì việc kiểm thử được tiến hành liên t c trong su t quá trình xây d ng ph n mụ ố ự ầ ềm Như vậy, m i mỗ ột phương pháp ki m th b chi phể ử ị ối theo một quy trình phát tri n ph n m m nhể ầ ề ất định
Bước 5: Tri n khai phể ần mềm
Sau khi ph n mầ ềm được ki m th và ể ử khắc ph c nh ng sai sót sụ ữ ẽ được triển khai đưa vào sử dụng trong thực tế Đối với những phần mềm thiết kế theo thỏa thuận v i khách hàng, vi c triớ ệ ển khai đơn giản ch lỉ à hướng d n cho khách hàng ẫ cách s dử ụng đạt hi u qu cao V i nh ng ph n m m mang tính thông d ng, việ ả ớ ữ ầ ề ụ ệc triển khai còn qua các chương trình giới thiệu và đưa sản phẩm ra thị trường Trong quá trình triển khai cũng luôn đánh giá hiệu qu s d ng c a ph n m m, xem xét ả ử ụ ủ ầ ề những nhược điểm để lên kế hoạch thiế ết k phần mềm hiệu quả hơn
Bước 6: B o trì phả ần mềm
B o trì ph n m m bao gả ầ ề ồm điều ch nh các lỉ ỗi mà chưa được phát hi n trong ệ các giai đoạn trước chu kỳ sống của phần mềm, nâng cấp tính năng sử dụng và an toàn v n hành c a ph n m m B o trì ph n m m có thậ ủ ầ ề ả ầ ề ể chiếm đến 65%-75% công sức chu kỳ s ng c a m t ph n m m Quá trình phát tri n ph n m m bao g m rố ủ ộ ầ ề ể ầ ề ồ ất nhiều giai đoạn: thu thập yêu cầu, phân tích, xây dựng, kiểm tra, triển khai và bảo trì phần mềm Nhiệm vụ ủa giai đoạ c n b o trì ph n m m là gi cho ph n mả ầ ề ữ ầ ềm được cập nh t khi môậ i trường thay đổi và yêu cầu người sử dụng thay đổi Mỗi một giai đoạn xây dựng phần mềm lại đòi hỏi các kỹ năng phân tích và ứng dụng kiến thức công nghệ khác nhau Để xây d ng ph n m m thi t th c, mang l i hi u qu kinh t ự ầ ề ế ự ạ ệ ả ế cao đòi hỏi con người lập trình viên phải tuân thủ các yêu cầu trong từng giai đoạn thiết kế
2.2 Phương pháp phân tích thiết kế hướ g đối tượng n
❖ Khái niệm OOAD (Object Oriented Analysis and Design)
Phân tích và thiết kế hướng đối tượng là một kỹ thuật tiếp cận phổ biến dùng để phân tích, thiết kế một ứng dụng, hệ thống Nó dựa trên bộ các nguyên tắc chung, đó là một tập các hướng dẫn để giúp chúng ta tránh khỏi một thiết kế xấu 5 nguyên tắc SOLID trong thiết kế hướng đối tượng:
• Một lớp chỉ nên có một lý do để thay đổi, tức là một lớp chỉ nên xử lý một chức năng đơn lẻ, duy nhất thôi Nếu đặt nhiều chức năng vào trong một lớp sẽ dẫn đến sự phụ thuộc giữa các chức năng với nhau và mặc dù sau đó ta chỉ thay đổi ở một chức năng thì cũng phá vỡ các chức năng còn lại
• Các lớp, module, chức năng nên dễ dàng Mở (Open) cho việc mở rộng (thêm chức năng mới) và Đóng (Close) cho việc thay đổi
• Lớp dẫn xuất phải có khả năng thay thế được lớp cha của nó
• Chương trình không nên buộc phải cài đặt một interface mà nó không sử dụng đến
• Các module cấp cao không nên phụ thuộc vào các module cấp thấp Cả hai nên phụ thuộc thông qua lớp trừu tượng Lớp trừu tượng không nên phụ thuộc vào chi tiết Chi tiết nên phụ thuộc vào trừu tượng
UML là ngôn ngữ mô hình hóa hợp nhất dùng để biểu diễn hệ thống Nói một cách đơn giản là nó dùng để tạo ra các bản vẽ nhằm mô tả thiết kế hệ thống Các bản vẽ này được sử dụng để các nhóm thiết kế trao đổi với nhau cũng như dùng để thi công hệ thống (phát triển), thuyết phục khách hàng, các nhà đầu tư v.v
• Tại sao lại là OOAD và UML?
OOAD cần các bản vẽ để mô tả hệ thống được thiết kế, còn UML là ngôn ngữ mô tả các bản vẽ nên cần nội dung thể hiện Do vậy, chúng ta phân tích và thiết kế theo hướng đối tượng và sử dụng UML để biểu diễn các thiết kế đó nên chúng thường đi đôi với nhau.
UML sử dụng để vẽ cho nhiều lĩnh vực khác nhau như phần mềm, cơ khí, xây dựng v… trong phạm vi các bài viết này chúng ta chỉ nghiên cứu cách sử dụng UML cho phân tích và thiết kế hướng đối tượng trong ngành phần mềm OOAD sử dụng UML bao gồm các thành phần sau:
Mỗi góc nhìn như thầy bói xem voi, nó không thể hiện hết hệ thống nhưng thể hiện rõ hệ thống ở một khía cạnh Chính vì thế trong xây dựng có bản vẽ kiến trúc (nhìn về mặt kiến trúc), bản vẽ kết cấu (nhìn về mặt kết cấu), bản vẽ thi công (nhìn về mặt thi công) Trong phần mềm cũng như vậy, OOAD sử dụng UML có các góc nhìn sau:
• Use Case View: cung cấp góc nhìn về các ca sử dụng giúp chúng ta hiểu hệ thống có gì? ai dùng và dùng nó như thế nào
• Logical View: cung cấp góc nhìn về cấu trúc hệ thống, xem nó được tổ chức như thế nào Bên trong nó có gì
• Process View: cung cấp góc nhìn động về hệ thống, xem các thành phần trong hệ thống tương tác với nhau như thế nào
• Component View: Cũng là một góc nhìn về cấu trúc giúp chúng ta hiểu cách phân bổ và sử dụng lại các thành phần trong hệ thống ra sao
• Deployment View: cung cấp góc nhìn về triển khai hệ thống, nó cũng ảnh hưởng lớn đến kiến trúc hệ thống
Tập hợp các góc nhìn này sẽ giúp chúng ta hiểu rõ hệ thống cần phân tích, thiết kế Trong hình trên chúng ta thấy góc nhìn Use Case View nằm ở giữa và chi phối tất cả các góc nhìn còn lại Chính vì thế chúng ta thường thấy các tài liệu nói về 4 view + 1 chứ không phải 5 view nhằm nhấn mạnh vai trò của Use Case View.
Diagram chúng ta có thể dịch là sơ đồ Tuy nhiên ở đây chúng ta sử dụng từ bản vẽ cho dễ hình dung Các bản vẽ được dùng để thể hiện các góc nhìn của hệ thống.
Thiết kế và lập trình front- end
Front End (còn được biết đến như client-side) là tất cả những gì liên quan đến điều mà người dùng nhìn thấy mỗi khi truy cập vào một trang web, bao gồm phạm trù thiết kế và các ngôn ngữ như HTML hay CSS.
Người dùng tương tác trực tiếp với nhiều khía cạnh thuộc front-end như: nhận biết vị trí đặt để của logo, màu sắc chủ đạo, tìm kiếm và đọc thông tin, sử dụng các button và tính năng trên web… Mục đích cuối cùng của Front End là nhằm mang lại một giao diện bắt mắt, giúp người dùng dễ dàng thao tác và sử dụng.
HTML (viết tắt của từ Hypertext Markup Language, hay là “Ngôn ngữ Đánh dấu Siêu văn bản”) là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên World Wide Web Cùng với CSS và JavaScript, HTML là một trong những ngôn ngữ quan trọng trong lĩnh vực thiết kế website HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp HTML đã trở thành một chuẩn mực của Internet do tổ chức World Wide Web Consortium (W3C) duy trì Phiên bản chính thức mới nhất của HTML là HTML 4.01 (1999) Sau đó, các nhà phát triển đã thay thế nó bằng XHTML Hiện nay, phiên bản mới nhất của ngôn ngữ này là HTML5. Lưu ý: HTML không phải là ngôn ngữ lập trình.
Bằng cách dùng HTML động hoặc Ajax, lập trình viên có thể được tạo ra và xử lý bởi số lượng lớn các công cụ, từ một chương trình soạn thảo văn bản đơn giản – có thể gõ vào ngay từ những dòng đầu tiên – cho đến những công cụ xuất bản WYSIWYG phức tạp Hypertext là cách mà các trang Web (được thiết kế bằng HTML) được kết nối với nhau Và như thế, đường link có trên trang Web được gọi là Hypertext Như tên gọi đã nói, HTML là ngôn ngữ đánh dấu bằng thẻ (Markup Language), nghĩa là bạn sử dụng HTML để đánh dấu một tài liệu text bằng các thẻ (tag) để nói cho trình duyệt Web cách để cấu trúc nó để hiển thị.
Có bốn loại phần tử đánh dấu trong HTML:
• Đánh dấu Có cấu trúc miêu tả mục đích của phần văn bản
• Đánh dấu trình bày miêu tả phần hiện hình trực quan của phần văn bản bất kể chức năng của nó là gì (ví dụ, boldface sẽ hiển thị đoạn văn bản boldface) (Chú ý là cách dùng đánh dấu trình bày này bây giờ không còn được khuyên dùng mà nó được thay thế bằng cách dùng CSS)
• Đánh dấu liên kết ngoài chứa phần liên kết từ trang này đến trang kia cụ thể
• Các phần tử thành phần điều khiển giúp tạo ra các đối tượng (ví dụ, các nút và các danh sách)
Cấu trúc của một trang HTML
Một số thẻ trong HTML:
Còn gọi là thẻ khai báo một tài liệu HTML Thẻ này xác định loại tài liệu phiên bản HTML.
Thẻ này chứa đựng các tài liệu HTML đầy đủ Ở đầu trang sẽ xuất hiện các thẻ, và than tài liệu là các thẻ
Thẻ này đại diện cho đầu trang tài liệu mà có thể giữ các thẻ
Thẻ được sử dụng trong thẻ chỉ tiêu đề tài liệu.
Thẻ này đại diện cho than tài liệu và giữ các thẻ như:,
Thẻ tag này đại diện cho các tiêu đề trang.
Thẻ tag này đại diện cho định dạng các đoạn văn trong trang web.
- CSS (Cascading Style Sheets) là mã bạn sử dụng để tạo kiểu cho trang web của mình, Giống như HTML, CSS không thực sự là một ngôn ngữ lập trình Nó không phải là một ngôn ngữ đánh dấu đó là một ngôn ngữ định kiểu Điều này có - nghĩa là nó cho phép bạn áp dụng kiểu có chọn lọc cho các phần tử trong tài liệu HTML.
• Cơ cấu bộ quy tắc CSS:
• Selector: Tên phần tử HTML bắt đầu của bộ quy tắc Nó chọn (các) phần tử được tạo kiểu (trong trường hợp này là phần tử p) Để tạo kiểu cho một phần tử khác, chỉ cần thay đổi bộ chọn
• Declaration: Một quy tắc duy nhất như: color: red; xác định thuộc tính của phần tử nào bạn muốn tạo kiểu
• Properties: Những cách mà bạn có thể tạo kiểu cho một phần tử HTML (Trong trường hợp này, color là một thuộc tính của phần tử) Trong CSS, bạn chọn thuộc tính nào bạn muốn tác động trong quy tắc của mình
• Giá trị thuộc tính: Ở bên phải của thuộc tính sau dấu hai chấm(:), chúng ta có giá trị thuộc tính, mà chọn một trong số nhiều lần xuất hiện có thể cho một thuộc tính cụ thể (color có rất nhiều giá trị ngoài red)
• Chọn nhiều phần tử: Bạn cũng có thể chọn nhiều kiểu phần tử và áp dụng một quy tắc duy nhất được đặt cho tất cả các yếu tố đó Bao gồm nhiều bộ chọn được phân biệt bởi dấu phẩy (,)
Tên bộ chọn Nó chọn gì Ví Dụ
(đôi khi được gọi là thẻ hoặc loại bộ chọn)
Tất cả (các) thành phần HTML của loại được chỉ định. p Chọn
Bộ chọn ID Phần tử trên trang có ID được chỉ #my-id định (Trên một trang HTML nhất định, bạn chỉ được phép chọn một phần tử cho mỗi ID và tất nhiên là mỗi ID cho mỗi phần tử).
Chọn
or
Bộ chọn Class (Các) thành phần trên trang có lớp (class) được chỉ định (lớp có thể đề xuất hiện nhiều lần trên một trang).
Chọn
- và
(Các) thành phần trên trang có thuộc tính được chọn img[src]
Chọn nhưng không phải
(Các) thành phần được chỉ định, nhưng chỉ khi ở trạng thái được chỉ định, ví dụ: rê chuột. a:hover Chọn , nhưng chỉ khi con trỏ chuột đang di chuột qua liên kết.
• Hạn chế tối thiểu việc làm rối mã HTML của trang Web bằng các thẻ quy định kiểu dáng (chữ đậm, chữ in nghiêng, chữ có gạch chân, chữ màu), khiến mã nguồn của trang Web được gọn gàng hơn, tách nội dung của trang Web và định dạng hiển thị, dễ dàng cho việc cập nhật nội dung
• Tạo ra các kiểu dáng có thể áp dụng cho nhiều trang Web, giúp tránh phải lặp lại việc định dạng cho các trang Web giống nhau
❖ Có 3 cách để sử dụng CSS:
• “Inline CSS”: Áp dụng trực tiếp trên một đối tượng nhất định bằng thuộc tính style
• “Internal CSS”: Đặt CSS ở đầu trang Web để áp dụng kiểu dáng cho toàn bộ trang ấy, khi đó chỉ cần đặt đoạn CSS vào trong cặp thẻ rồi đặt vào trong phần header của Web (giữa và )
• “External CSS”: Đặt các thuộc tính CSS vào một tệp tin riêng biệt (*.css), khi đó có thể tham chiếu đến từ nhiều trang Web khác nhau
• Tham chiếu tới tệp tin CSS trên từ trang Web bằng đoạn mã:
JavaScript (viết tắt là JS): là một ngôn ngữ lập trình được sử dụng để tạo ra những trang web tương tác Nó được tích hợp và nhúng trong HTML JavaScript cho phép kiểm soát các hành vi của trang web tốt hơn so với khi chỉ có một mình HTML JavaScript kết hợp vào HTML, chạy trên Windows, Macintosh và các hệ thống hỗ trợ Netscape khác JavaScript hoặc JS sẽ giúp tăng tính tương tác trên website Script này chạy trên các trình duyệt của người dùng thay vì trên server và thường sử dụng thư viện của bên thứ 3 nên có thể tăng thêm chức năng cho website mà không phải code từ đầu.
Tổng quan về ASP.NET MVC
❖ Tổng quan về ASP.NET MVC
Mẫu kiến trúc Model – View – Controller được sử dụng nhằm chi ứng dụng thành ba thành phần chính: model, view và controller Nền tảng ASP.NET MVC giúp cho chúng ta có thể tạo được các ứng dụng web áp dụng mô hình MVC thay vì tạo ứng dụng theo mẫu ASP.NET Web Forsm Nền tảng ASP.NET MVC có đặc điểm nổi bật là nhẹ (lighweigt), dễ kiểm thử phần giao diện (so với ứng dụng Web Forms), tích hợp các tính năng có sẵn của ASP.NET Nền tảng ASP.NET MVC được định nghĩa trong namespace System.Web.Mvc và là một phần của name space System.Web
MVC là một mẫu thiết kế (design pattern) chuẩn mà nhiều lập trình viên đã quen thuộc Một số loại ứng dụng web sẽ thích hợp với kiến trúc MVC Một số khác vẫn thích hợp với ASP.NET Web Forms và cơ chế postbacks Đôi khi có những ứng dụng kết hợp cả hai kiến trúc trên
Nền tảng MVC bao gồm các thành phần dưới đây:
Models: Các đối tượng Models là một phần của ứng dụng, các đối tượng này thiết lập logic của phần dữ liệu của ứng dụng Thông thường, các đối tượng model lấy và lưu trạng thái của model trong CSDL Ví dụ như, một đối tượng Product (sản phẩm) sẽ lấy dữ liệu từ CSDL, thao tác trên dữ liệu và sẽ cập nhật dữ liệu trở lại vào bảng Products ở SQL Server.
Trong các ứng dụng nhỏ, model thường là chỉ là một khái niệm nhằm phân biệt hơn là được cài đặt thực thụ, ví dụ, nếu ứng dụng chỉ đọc dữ liệu từ CSDL và gửi chúng đến view, ứng dụng không cần phải có tầng model và các lớp lien quan Trong trường hợp này, dữ liệu được lấy như là một đối tượng model (hơn là tầng model).
• Views: Views là các thành phần dùng để hiển thị giao diện người dùng (UI) Thông thường, view được tạo dựa vào thông tin dữ liệu model Ví dụ như, view dùng để cập nhật bảng Products sẽ hiển thị các hộp văn bản, drop-down list, và các check box dựa trên trạng thái hiện tại của một đối tượng Product.
Controllers: Controller là các thành phần dùng để quản lý tương tác người dùng, làm việc với model và chọn view để hiển thị giao diện người dùng Trong một ứng dụng MVC, view chỉ được dùng để hiển thị thông tin, controller chịu trách nhiệm quản lý và đáp trả nội dung người dùng nhập và tương tác với người dùng Ví dụ, controller sẽ quản lý các dữ liệu người dùng gởi lên (query-string values) và gởi các giá trị đó đến model, model sẽ lấy dữ liệu từ CSDL nhờ vào các giá trị này
Mẫu MVC giúp bạn tạo được các ứng dụng mà chúng phân tách rạch ròi các khía cạnh của ứng dụng (logic về nhập liệu, logic xử lý tác vụ và logic về giao diện) Mẫu MVC chỉ ra mỗi loại logic kể trên nên được thiếp lập ở đâu trên ứng dụng Logic giao diện (UI logic) thuộc về views Logic nhập liệu (input logic) thuộc về controller Và logic tác vụ (Business logic – là logic xử lý thông tin, mục đích chính của ứng dụng) thuộc về model Sự phân chia này giúp bạn giảm bớt được sự phức tạp của ứng dụng và chỉ tập trung vào mỗi khía cạnh cần được cài đặt ở mỗi thời điểm Ví dụ như bạn chỉ cần tập trung vào giao diện (views) mà không phải quan tâm đến logic xử lý thông tin của ứng dụng Để quản lý sự phức tạp của ứng dụng, mẫu MVC giúp cho chúng ta có thể kiểm thử ứng dụng dễ dàng hơn hẳn so với khi áp dụng mẫu Web Forms Ví dụ, trong một ứng dụng ASP.NET Web Forms, một lớp thường được sử dụng để hiển thị thông tin xuất ra cho người dùng và đồng thời xử lý thông tin người dùng nhập Việc xây dựng các bộ test tự động cho ứng dụng Web Forms là rất phức tạp, bởi để kiểm thử mỗi trang web, bạn phải khởi tạo đối tượng trang, khởi tạo tất cả các control được sử dụng trong trang và các lớp phụ thuộc trong ứng dụng Và bởi vì có quá nhiều lớp cần được khởi tạo để chạy được trang, thật khó để có thể viết các test chỉ tập trung vào một khía cạnh nào đó của ứng dụng Và vì thế, kiểm thử đối với các ứng dụng dứa trên nền tảng Web Forms sẽ khó khăn hơn nhiều so với khi áp dụng trên ứng dụng MVC Hơn thế nữa, việc kiểm thử trên nền tảng Web Forms yêu cầu phải sử dụng đến web server Nền tảng MVC phân tách các thành phần và sử dụng các interface (khái niệm giao diện trong lập trình hướng đối tượng), và nhờ đó có thể kiểm thử các thành phần riêng biệt trong tình trạng phân lập với các yếu tố còn lại của ứng dụng
Sự hân tách rạch ròi ba thành phần của ứng dụng MVC còn giúp cho việc p lập trình diễn ra song song Ví dụ như một lập trình viên làm việc với view, lập trình viên thứ hai lo càiđặt logic của controller và lập trình viên thứ ba có thể tập trung vào logic tác vụ của model tại cùng một thời điểm.
Bạn cần phải xem xét kỹ càng việc áp dụng mô hình ASP.NET MVC hay mô hình ASP.NET Web Forms khi xây dựng một ứng dụng Mô hình MVC không phải là mô hình thay thế cho Web Forms, bạn có thể dùng một trong hai mô hình
Trước khi quyết định sử dụng MVC hay Web Forms cho một website cụ thể, bạn cần phải phân tích lợi ích khi chọn một trong hai hướng
Lợi ích của ứng dụng web dựa trên mô hình MVC
Nền tảng ASP.NET MVC mang lại những lợi ích sau:
• Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng thành ba thành phần model, view, controller
• Nó không sử dụng view state hoặc server-based form Điều này tốt cho những lập trình viên muốn quản lý hết các khía cạnh của một ứng dụng.
• Nó sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests (yêu cầu) chỉ thông qua một Controller Nhờ đó bạn có thể thiết kế một hạ tầng quản lý định tuyến Để có nhiều thông tin hơn, bạn nên xem phần Front Controller trên web site MSDN
• Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử (TDD)
• Nó hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập trình viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng
Lợi ích của ứng dụng được xây dựng trên nền tảng Web Forms
• Nó hỗ trợ cách lập trình hướng sự kiện, quản lý trạng thái trên giao thức HTTP, tiện dụng cho việc phát triển các ứng dụng Web phục vụ kinh doanh Các ứng dụng trên nền tảng Web Forms cung cấp hàng tá các sự kiện được hỗ trợ bởi hàng trăm các server controls
• Sử dụng mẫu Page Controller Xem thêm ở mục Page Controller trên MSDN
• Mô hình này sử dụng view state hoặc server ased form, nhờ đó sẽ giúp -b cho việc quản lý trạng thái các trang web dễ dàng
• Nó rất phù hợp với các nhóm lập trình viên quy mô nhỏ và các thiết kế, những người muốn tận dụng các thành phần giúp xây dựng ứng dụng một cách nhanh chóng
• Nói tóm lại, áp dụng Web Forms giúp giảm bớt sự phức tạp trong xây dựng ứng dụng, bởi vì các thành phần (lớp Page, controls,…) được tích hợp chặc chẽ và thường thì giúp bạn viết ít code hơn là áp dụng theo mô hình MVC
Các tính năng của nền tảng ASP.NET MVC
• Tách bạch các tác vụ của ứng dụng (logic nhập liệu, business logic, và logic giao diện), dễ dàng kiểm thử và mặc định áp dụng hướng phát triển TDD Tất cả các tính năng chính của mô hình MVC được cài đặt dựa trên interface và được kiểm thử bằng cách sử dụng các đối tượng mocks, mock object là các đối tượng mô phỏng các tính năng của những đối tượng thực sự trong ứng dụng Bạn có thể kiểm thử unit test cho ứng - dụng mà không cần chạy controller trong tiến trình ASP.NET, và điều đó giúp unit test được áp dụng nhanh chóng và tiện dụng Bạn có thể sử dụng bất kỳ nền tảng unit-testing nào tương thích với nền tảng NET.
• MVC là một nền tảng khả mở rộng (extensible) & khả nhúng
Công nghệ thao tác dữ liệu Entity framework (hoặc ADO.NET)
Entity Framework ra đời nhằm hỗ trợ sự tương tác giữa các ứng dụng trên nền tảng NET với các cơ sở ữ liệ d u quan h Hay, Entity Frmework chính là công c giúp ệ ụ ánh x giạ ữa các đối tượng trong ng d ng, ph n m m c a b n v các b ng c a mứ ự ầ ề ủ ạ ới ả ủ ột cơ sở dữ liệu quan hệ
Emntity Framework giúp các nhà phát triển Web tương tác vớ ữ liệi d u quan h theo ệ phương pháp hướng đối tượng với ít mã hơn so với các ứng dụng truyền thống Lợi ích l n nh t c a nó là giúp l p trình viên giớ ấ ủ ậ ảm thiểu vi c l p trình mã nguệ ậ ồn để thực hiện truy cập và tương tác với cơ sở ữ d liệu.
Hiện nay, Entity framwork là 1 framework mạnh để phát tri n ng d ng Web vể ứ ụ ới sự hỗ trợ đông đảo của cộng đồng
Entity Framework được cho ra mắt vào năm 2008 Nhờ ự ra đợ ủ s i c a nó vi c truy ệ vấn cơ sở dữ liệu quan hệ trở lên đơn giản, dễ học, giúp giảm bớt thời gian phát triển dự án xuống đáng kể
• EF 1.0 (hoặc 3.5) 2008 NET 3.5 SP1, VS 2008
❖ Lịch sử phiên bản lõi (core) của EF
• EF Core 2.0 tháng 8 năm 2017 NET Core 2.0, VS 2017
• Lõi EF 1.1 Tháng 11 năm 2016 NET Lõi 1.1
• EF Core 1.0 tháng 6 năm 2016 NET Core 1.0
• Tại sao l i sạ ử d ng Entity Framework? ụ
Sử dụng Entity Framework s ẽ đem lại những lợi ích sau:
• Nếu b n ạ thực hi n truy v n dệ ấ ữ liệu B n có th s d ng Linq toạ ể ử ụ Entities để thao tác với objects được sinh ra t Entity Frameworkừ , nghĩa là bạn không phải viết code sql
• Việc update các classes,commands d dàng mễ ỗi khi cơ sở ữ liệ d u có s thay ự đổi, điều này giúp bạn ti t kiệm thời gian đáng kể ế
• Entity Framework s tẽ ự động tạo ra các classes, commands tương ứng cho việc select, insert, update,delete dữ u tliệ ừ cơ sở ữ d u quan h liệ ệ
• Entity Framework tự động t o ra các classes cho vi c truy suạ ệ ất cơ sở ữ liệu d giúp l p trình viên giậ ảm được th i gian vi t code thao tác v i database H ờ ế ớ ỗ trợ bạn không phải mất quá nhiều th i gian cho việc viờ ết code để thao tác với database
Cấu trúc được mô tả đơn giản qua hình sau:
• Conceptual Model: Chứa các model class và các quan h cệ ủa nó Nó độc lập với thi t kế ế b ng CSDL cả ủa bạn
• Mapping: gồm có thông tin v cách Conceptual model k t nề ế ối v i Storagớ e model
• Storage Model: Đây là database design model bao gồm các b ng, views, ả stored procedures, và nh ng quan h và các khóa ữ ệ
Là ngôn ng truy v n s dữ ấ ử ụng để ế vi t các truy v n t i object model Tr v các thấ ớ ả ề ực thể được định nghĩa bên trong Conceptual model
❖ Entity SQL: Đây là một ngôn ngữ truy vấn khác, nó giống LINQ to Entities
Object service s có trách nhi m trong vi c cẽ ệ ệ ụ thể hóa quá trình chuyển đổ ữ liệi d u trả v t m t entity client data provider t i m t ề ừ ộ ớ ộ entity object structure.
Nhiệm vụ chính c a nó là chuyủ ển đổi L2E hoặc những truy v n Entity SQL vào mấ ột truy vấn SQL Nó được hi u bể ởi CSDL cơ bản Giao ti p v i ế ớ ADO.Net data provider lần lượt g i ử và nh n d u t CSDL ậ ữliệ ừ
Thực hiện giao ti p v i CSDL b ng s dế ớ ằ ử ụng chu n ADO.Ne ẩ t.
❖ Những tính năng của Entity Framework
Những tính năng đáng chú ý nhất của Entity framework:
• Entity framework hỗ trợstored procedure.
• Nó làm vi c v i b t kệ ớ ấ ỳ cơ sở ữ liệ d u quan h nào có Entity Framework h p ệ ợ lệ
• Entity Framework t o tạ ruy vấn SQL t LINQ to Entities ừ
• Nó được phát triển như một sản phẩm mã ngu n mồ ở
• Entity framework là một sản phẩm của Microsoft
• EF cho phép tạo nh ng câu l nh thêm, xóa, c p nh ữ ệ ậ ật.
• Theo dõi những thay đổi của các đối tượng trong b nh ộ ớ
Mô hình thao tác dữ liệu 3 layer
2.6.1 Mô hình 3 lớp là gì?
• Mô hình 3 lớp hay còn được gọi là mô hình Three Layer(3-Layer), mô hình này ra đời nhằm phân chia các thành phần trong hệ thống, các thành phần cùng chức năng sẽ được nhóm lại với nhau và phân chia công việc cho từng nhóm để dữ liệu không bị chồng chéo và chạy lộn xộn
• Mô hình này phát huy hiệu quả nhất khi bạn xây dựng một hệ thống lớn, việc quản lý code và xử lý dữ liệu lỗi dễ dàng hơn
• Phân loại rõ ràng các lớp có các nhiệm vụ khác nhau Từ đó ta có thể quản lý và maintain project tốt hơn
• Dễ dàng phân loại các hành động tại Business
• Dễ dàng phân loại các hàm truy xuất tại Database, phân loại hàm theo table,…
• Ứng dụng được cho các project lớn ở bên ngoài
❖ Lưu ý khi xây dựng mô hình 3 lớp:
• Cần một solution riêng cho project
• Cần 3 project khác nhau để làm nên 3 lớp, tên Project đặt như sau:
• Lớp GUI: (VD: QuanLy_GUI)
• Lớp Business: (VD: QuanLy_BUS)
• Lớp Data Access: (VD: QuanLy_DAL)
• Lớp DTO: (VD: QuanLy_DTO)
2.6.2 Giới thiệu về mô hình 3 lớp
❖ Mô hình 3-layer gồm có 3 phần chính:
• Lớp này có nhiệm vụ chính là giao tiếp với người dùng Nó gồm các thành phần giao diện ( winform, webform, …) và thực hiện các công việc như nhập liệu, hiển thị dữ liệu, kiểm tra tính đúng đắn dữ liệu trước khi gọi lớp Business Logic Layer (BLL)
• Business Logic Layer (BLL) Layer này phân ra 2 thành nhiệm vụ:
• Đây là nơi đáp ứng các yêu cầu thao tác dữ liệu của GUI layer, xử lý chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ quản trị CSDL
• Đây còn là nơi kiểm tra các ràng buộc, tính toàn vẹn và hợp lệ dữ liệu, thực hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả về Presentation Layer
• Lớp này có chức năng giao tiếp với hệ quản trị CSDL như thực hiện các công việc liên quan đến lưu trữ và truy vấn dữ liệu ( tìm kiếm, thêm, xóa, sửa,…)
2.6.3 Các thành phần của từng lớp
Có hai thành phần chính sau đây với những tác vụ cụ thể :
• UI Components : gồm các thành phần tạo nên giao diện của ứng dụng (GUI) Chúng chịu trách nhiệm thu nhận và hiển thị dữ liệu cho người dùng… Ví dụ : textbox, button, combobox, …
• UI Process Components : là thành phần chịu trách nhiệm quản lý các quá trình chuyển đổi giữa các UI… Ví dụ : Sắp xếp quá trình kiểm tra thông tin khách hàng:
1 Hiển thị màn hình tra cứu ID
2 Hiển thị màn hình thông tin chi tiết khách hàng tương ứng
3 Hiển thị màn hình liên lạc với khách hàng
Lớp này gồm 4 thành phần:
• Service Interface : là thành phần giao diện lập trình mà lớp này cung cấp cho lớp Presentation sử dụng
• Business Workflows : chịu trách nhiệm xác định và điều phối các quy trình nghiệp vụ gồm nhiều bước và kéo dài Những quy trình này phải được sắp xếp và thực hiện theo một thứ tự chính xác
• Business Components : chịu trách nhiệm kiểm tra các quy tắc nghiệp vụ, ràng buộc logic và thực hiện các công việc Các thành phần này cũng thực hiện các dịch vụ mà Service Interface cung cấp và Business Workflows sẽ sử dụng nó
• Business Entities : thường được sử dụng như Data Transfer Objects ( DTO ) Bạn có thể sử dụng để truyền dữ liệu giữa các lớp (Presentation và Data Layer) Chúng thường là cấu trúc dữ liệu ( DataSets, XML,… ) hay các lớp đối tượng đã được tùy chỉnh Ví dụ : tạo 1 class Student lưu trữ các dữ liệu về tên, ngày sinh, ID, lớp
• Data Access Logic Components : chịu trách nhiệm chính lưu trữ và truy xuất dữ liệu từ các nguồn dữ liệu (Data Sources) như XML, file system,… Hơn nữa còn tạo thuận lợi cho việc dễ cấu hình và bảo trì Service Agents : giúp bạn gọi và tương tác với các dịch vụ từ bên ngoài một cách dễ dàng và đơn giản.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Đặc tả yêu cầu phần mềm
3.1.1 Các yêu cầu chức năng a) Chức năng của phân hệ quản trị nội dung
• Các chức năng của trang quản trị
STT Chức năng Mô tả
1 Quản lý thể loại nhạc Người quản trị có thể thay đổi thông tin trang chủ như: thêm, sửa, xóa thông tin trên trang
2 Quản lý tác phẩm ạc nh
Người quản trị có thể thay đổi thông tin trang chủ như: thêm, sửa, xóa thông tin trên trang
3 Quản lý người sản xuất Người quản trị có thể thay đổi thông tin người sản xuất như: thêm, sửa, xóa thông tin trên trang của người sản xuất
Người quản trị có thể thay đổi thông tin nhân viên như: thêm, sửa, xóa thông tin nhân viên
Người quản trị có thể lưu lại và thay đổi thông tin nhập hàng: thêm, sửa, xóa thông tin trên trang của hóa đơn nhập
Chức năng này cho phép thống kê những sản phảm bán chạy nhất của cửa hàng theo ngày, tháng, năm
Bảng 3.1: Các chức năng của trang qu n tr ả ị
• Biểu đồ Use Case tổng quát của trang quản trị
Hình 3.1: Biểu đồ UseCase t ng quát trang qu n trổ ả ị
• Các biểu đồ phân rã của trang quản trị
• Use Case quản lý thể loại nhạc
Hình 3.2: UseCase qu n lý thả ể loại nhạc
Hành động của tác nhân Phản ứng của hệ thống
Người dùng yêu cầu chức năng quản lý thể loại nh ạc
Hiển thị giao diện lựa chọn các chức năng quản lý th loể ại nhạc
Người dùng yêu cầu chức năng thêm th loể ại nhạc
Hệ thống hiển thị giao diện trang quản lý thêm thể loại nhạc
Người dùng yêu cầu chức năng sửa th loể ại nhạc
Hệ thống hiển thị giao diện quản lý chức năng sửa thông tin thể loại nhạc
Người dùng yêu cầu chức năng xóa th loể ại nhạc
Hệ thống hiển thị giao diện quản lý chức năng xóa thông tin thể loại nhạc
Người dùng yêu cầu chức năng tìm kiếm thể loại nhạc
Hệ thống hiển thị giao diện quản lý chức năng tìm kiếm thông tin thể loại nhạc
Bảng 3.2: Dòng s ựkiện chính c a UseCase qu n lý th ủ ả ểloại nhạc
• Dòng sự kiện phụ UC QLCN A1: Nhập - thể ại nhạclo
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã thể loại nhạc Hệ thống kiểm tra tính hợp lệ của mã thể loại nhạc nhập v ào
Người dùng nhập tên thể loại nhạc Hệ thống kiểm tra tính hợp lệ của tên thể loại nhạc nhập vào Người dùng nhập mô tả thể loại nhạc
Người dùng xác nhận thêm thông tin thể loại nhạc Hệ thống lưu thông tin thêm mới vào CSDL
Bảng 3.3: Dòng sự kiện ph nh p thụ ậ ể loại nhạc
• Dòng sự kiện phụ UC-QLCN A2: Sửa thể loại nhạc
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã thể loại nhạc cần sửa thông tin Hệ thống kiểm tra tính hợp lệ của mã thể loại nhạc nhập vào
Người dùng nhập tên thể loại nhạc sau khi sửa thông tin
Hệ thống kiểm tra tính hợp lệ của tên thể loại nhạc nhập vào
Người dùng nhập mô tả thể loại nhạc
Người dùng xác nhận sửa thông tin thể loại nhạc
Hệ thống lưu thông tin thể loại nhạc sau khi sửa vào CSDL
Bảng 3.4: Dòng sự kiện ph s a thụ ử ể loại nh c ạ
• Dòng sự kiện UC-QLCN A3: Xóa thông tin thể loại nhạc
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã thể loại nhạc cần xóa thông tin
Hệ thống kiểm tra tính hợp lệ của mã thể loại nhạc nhập vào
Người dùng xác nhận xóa thông tin thể loại nhạc
Hệ thống lưu thông tin thể loại nhạc sau khi sửa vào CSDL
• Use Case quản lý tác phẩm nhạc
Hành động của tác nhân Phản ứng của hệ thống
Người dùng yêu cầu chức năng quản lý tác phẩm nhạc Hiển thị giao diện lựa chọn các chức năng quản lý tác phẩm nhạc
Người dùng yêu cầu chức năng thêm tác phẩm nhạc
Hệ thống hiển thị giao diện trang quản lý thêm tác phẩm nhạc
Người dùng yêu cầu chức năng sửa tác phẩm nhạc
Hệ thống hiển thị giao diện quản lý chức năng sửa thông tin tác phẩm nhạc
Người dùng yêu cầu chức năng xóa tác phẩm nhạc
Hệ thống hiển thị giao diện quản lý chức năng xóa thông tin tác phẩm nhạc
Người dùng yêu cầu chức năng tìm kiếm tác phẩm nhạc Hệ thống hiển thị giao diện quản lý chức năng tìm kiếm thông tin tác phẩm nhạc
• Dòng sự kiện phụ UC QLHDT A1: Nhập tác phẩm nhạc-
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã tác phẩm nhạc Hệ thống kiểm tra tính hợp lệ của mã tác phẩm nhạc nhập vào
Người dùng nhập tên tác phẩm nhạc Hệ thống kiểm tra tính hợp lệ của tên tác phẩm nhạc nhập vào Người dùng nhập mô tả tác phẩm nhạc
Người dùng xác nhận thêm thông tin tác phẩm nhạc Hệ thống lưu thông tin tác phẩm nhạc thêm mới vào CSDL
• Dòng sự kiện phụ UC-QLHDT A2: Sửa thông tin tác phẩm nhạc Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã tác phẩm nhạc cần sửa
Hệ thống kiểm tra tính hợp lệ của mã tác phẩm nhạc nhập vào
Người dùng nhập tên tác phẩm nhạc Hệ thống kiểm tra tính hợp lệ của tên tác phẩm nhạc nhập vào Người dùng nhập mô tả tác phẩm nhạc
Người dùng xác nhận sửa thông tin tác phẩm nhạc Hệ thống lưu thông tin tác phẩm nhạc sau khi sửa mới vào CSDL
• Dòng sự kiện phụ UC-QLHDT A3: Xóa thông tin tác phẩm nhạc Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã tác phẩm nhạc cần xóa
Hệ thống kiểm tra tính hợp lệ của mã tác phẩm nhạc nhập vào
Người dùng xác nhận xóa thông tin tác phẩm nhạc
Hệ thống lưu thông tin tác phẩm nhạc sau khi xóa mới vào CSDL
• Use Case quản lý người sản xuất
Hành động của tác nhân Phản ứng của hệ thống
Người dùng yêu cầu chức năng quản lý người sản xuất
Hiển thị giao diện lựa chọn các chức năng quản lý người sản xuất
Người dùng yêu cầu chức năng thêm người sản xuất
Hệ thống hiển thị giao diện trang quản lý thêm người sản xuất
Người dùng yêu cầu chức năng sửa người sản xuất
Hệ thống hiển thị giao diện quản lý chức năng sửa thông tin người sản xuất
Người dùng yêu cầu chức năng xóa người sản xuất
Hệ thống hiển thị giao diện quản lý chức năng xóa người sản xuất
Người dùng yêu cầu chức năng tìm kiếm người sản xuất Hệ thống hiển thị giao diện quản lý chức năng tìm kiếm thông tin người sản xuất
• Dòng sự kiện phụ UC-QLLH A1: Thêm người sản xuất
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã người sản xuất Hệ thống kiểm tra tính hợp lệ của mã người sản xuất nhập vàoNgười dùng nhập tên người sản xuất Hệ thống kiểm tra tính hợp lệ của tên người sản xuất nhập vào Người dùng nhập mô tả người sản xuất
Người dùng xác nhận thêm thông tin người sản xuất
Hệ thống lưu thông tin người sản xuất thêm mới vào CSDL
• Dòng sự kiện phụ UC-QLHDT A2: Sửa thông tin người sản xuất
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã người sản xuất cần sửa Hệ thống kiểm tra tính hợp lệ của mã người sản xuất nhập vào
Người dùng nhập tên người sản xuất Hệ thống kiểm tra tính hợp lệ của tên người sản xuất vào
Người dùng nhập mô tả người sản xuất
Người dùng xác nhận sửa thông tin người sản xuất
Hệ thống lưu thông tin người sản xuất sau khi sửa mới vào CSDL
• Dòng sự kiện phụ UC-QLHDT A3: Xóa thông tin người sản xuất Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã người sản xuất cần xóa
Hệ thống kiểm tra tính hợp lệ của mã người sản xuất nhập vào
Người dùng xác nhận xóa thông tin người sản xuất
Hệ thống lưu thông tin chuyên ngành sau khi xóa mới vào CSDL
• Use Case quản lý hóa đơn
Hành động của tác nhân Phản ứng của hệ thống
Người dùng yêu cầu chức năng quản lý hóa đơn nhập
Hiển thị giao diện lựa chọn các chức năng quản lý hóa đơn nhập
Người dùng yêu cầu chức năng thêm hóa đơn nhập
Hệ thống hiển thị giao diện trang quản lý thêm hóa đơn nhập
Người dùng yêu cầu chức năng sửa hóa đơn nhập
Hệ thống hiển thị giao diện quản lý chức năng sửa thông tin hóa đơn nhập
Người dùng yêu cầu chức năng xóa hóa đơn nhập
Hệ thống hiển thị giao diện quản lý chức năng xóa hóa đơn nhập
Người dùng yêu cầu chức năng tìm kiếm hóa đơn nhập
Hệ thống hiển thị giao diện quản lý chức năng tìm kiếm thông tin hóa đơn nhập
• Dòng sự kiện phụ UC-QLLH A1: Thêm hóa đơn nhập
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã người sản xuất Hệ thống kiểm tra tính hợp lệ của mã hóa đơn nhập nhập vào Người dùng nhập tên người sản xuất Hệ thống kiểm tra tính hợp lệ của tên hóa đơn nhập nhập vào
Người dùng nhập mô tả người sản xuất
Người dùng xác nhận thêm thông tin người sản xuất
Hệ thống lưu thông tin hóa đơn nhập thêm mới vào CSDL
• Dòng sự kiện phụ UC QLHDT A2: Sửa thông tin hóa đơn nhập-
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã hóa đơn nhập cần sửa Hệ thống kiểm tra tính hợp lệ của mã hóa đơn nhập nhập vào
Người dùng nhập tên hóa đơn nhập Hệ thống kiểm tra tính hợp lệ của tên hóa đơn nhập vào Người dùng nhập mô tả hóa đơn nhập
Người dùng xác nhận sửa thông tin hóa đơn nhập
Hệ thống lưu thông tin hóa đơn nhập sau khi sửa mới vào CSDL
• Dòng sự kiện phụ UC-QLHDT A3: Xóa thông tin hóa đơn nhập Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã hóa đơn nhập cần xóa
Hệ thống kiểm tra tính hợp lệ của mã hóa đơn nhập nhập vào
Người dùng xác nhận xóa thông tin hóa đơn nhập
Hệ thống lưu thông tin hóa đơn nhập sau khi xóa mới vào CSDL
• Use Case quản lý khách hàng
Hành động của tác nhân Phản ứng của hệ thống
Người dùng yêu cầu chức năng quản lý khách hàng Hiển thị giao diện lựa chọn các chức năng quản lý khách hàng
Người dùng yêu cầu chức năng thêm khách hàng
Hệ thống hiển thị giao diện trang quản lý thêm khách hàng
Người dùng yêu cầu chức năng sửa khách hàng
Hệ thống hiển thị giao diện quản lý chức năng sửa thông tin khách hàng
Người dùng yêu cầu chức năng xóa khách hàng
Hệ thống hiển thị giao diện quản lý chức năng xóa khách hàng
Người dùng yêu cầu chức năng tìm kiếm khách hàng
Hệ thống hiển thị giao diện quản lý chức năng tìm kiếm thông tin khách hàng
• Dòng sự kiện phụ UC-QLLH A1: Thêm khách hàng
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã khách hàng Hệ thống kiểm tra tính hợp lệ của mã khách hàng nhập vào
Người dùng nhập tên khách hàng Hệ thống kiểm tra tính hợp lệ của tên khách hàng nhập vào Người dùng nhập mô tả khách hàng
Người dùng xác nhận thêm thông tin khách hàng
Hệ thống lưu thông tin khách hàng thêm mới vào CSDL
• Dòng sự kiện phụ UC-QLHDT A2: Sửa thông tin khách hàng
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã khách hàng cần sửa
Hệ thống kiểm tra tính hợp lệ của mã khách hàng nhập vào
Người dùng nhập tên khách hàng Hệ thống kiểm tra tính hợp lệ của tên khách hàng nhập vào Người dùng nhập mô tả khách hàng
Người dùng xác nhận sửa thông tin khách hàng
Hệ thống lưu thông tin khách hàng sau khi sửa mới vào CSDL
• Dòng sự kiệ phụ UCn -QLHDT A3: Xóa thông tin khách hàng
Hành động của tác nhân Phản ứng của hệ thống
Người dùng nhập mã khách hàng cần xóa
Hệ thống kiểm tra tính hợp lệ của khách hàng nhập vào
Người dùng xác nhận xóa thông tin khách hàng
Hệ thống lưu thông tin khách hàng sau khi xóa mới vào CSDL
• Use Case quản lý đơn hàng b Chức năng của phân hệ người dùng
• Các chức năng của phân hệ người dùng
STT Chức năng Mô tả
1 Hiển thị tác phẩm nhạc -Hiển thị tác phẩm nhạc trong trang web
2 Quản lý giỏ hàng -Xem thông tin giỏ hàng
-Sửa thông tin giỏ hàng
-Xóa thông tin giỏ hàng
3 Tìm kiếm tác phẩm nhạc -Tìm kiếm tác phẩm nhạc theo tên
-Tìm kiếm tác phẩm nhạc theo mã
4 Quản lý tài khoản -Đăng nhập tài khoản
-Đăng ký tài khoản -Lấy lại tài khoản
6 Quản lý giỏ hàng -Xem thông tin giỏ hàng
-Sửa thông tin giỏ hàng -Xóa thông tin giỏ hàng
• Use Case tổng quát phân hệ người dùng
• Use Case xem tác phẩm nhạc
1.Khách hàng truy cập vào trang web
2.System hệ thống hiển thị tất cả tác phẩm nhạc của cửa hàng
• Use Case quản lý giỏ hàng
1 Người dùng yêu cầu chức năng quản lý giỏ hàng
2 SYSTEM Hệ thống kiểm tra có ản phẩm trong giỏ hàng hay không, nếu không có chuyển sang luồng phụ 2a
3 SYSTEM Hiển thị giao diện quản lý giỏ hàng
4 SYSTEM Hệ thống lấy về danh sách sản phẩm đã đặt hiển thị lên giao diện
2.a Không có sản phẩm trong giỏ hàng
1 SYSTEM Hệ thống hiển thị thông báo là không có sản phẩm trong giỏ hàng
• Sửa thông tin giỏ hàng:
1.Từ giao diện người dùng chọn Sửa.
2 System hệ thống hiển thị giao diện sửa.
3 Người dùng nhập số lượng nhạc cần sửa và chọn nút Đồng ý.
4 System kiểm tra thông tin cần sửa.
5.Hệ thống trả về kết quả thông tin ác phẩm nhạc đã sửa.t
• Xóa thông tin giỏ hàng
1 Người dùng chọn tác phẩm nhạc cần xóa
2 Người dùng chọn nút Xóa
3 System Hệ thống yêu xác thực lại có thật sự muốn xóa không Nếu người dùng không muốn xóa thông tin tác phẩm nhạc chuyển sang luồng 3a
4 Người dùng xác nhận là muốn xóa.
5 Loại ản phs ẩm được chọn xóa khỏi hệ thống, use case Xóa kết thúc Extension
3a Người dùng không muốn xóa thông tin dồi nội thất.
1 Người dùng xác nhận là không muốn xóa
2 Use case Xóa kết thúc.
• Use Case quản lý đơn hàng b Luồng sự kiện
• Luồng sự kiện quản lý thể loại nhạc
1.Yêu cầu chức năng thêm mới
2.System hiển thị giao diện thêm mới
3.Nhập thông tin thể loại nhạc cần thêm Nếu khách hàng thêm thể loại nhạc không hợp lệ thì chuyển sang luồng phụ 3a.
5.System hệ thống kiếm tra thông tin thể loại nhạc
6.System thiết lập trạng thái đã thêm thể loại nhạc thành công
3a Thông tin thể loại nhạcthêm không hợp lệ
1 System hệ thống thông báo thông tin thể loại nhạc cần thêm không hợp lệ Nếu Khách hàng không muốn thêm thể loại nhạc mới chuyển sang luồng phụ 3b. 2.System hiển thị thông báo “Thêm đồ nội không hợp lệ, yêu cầu nhập lại”.
3b Nhân viên không muốn thêm thể loại nhạc mới.
1.System Nhân viên chọn nút bỏ qua
2.Kết thúc use case thêm thể loại nhạc
• Cập nhật thể loại nhạc
1 Nhân viên chọn thể loại nhạ cần cập nhậtc
2 System hiển thị giao diện cập nhật
3 Nhân viên nhập lại thông tin thể loại nhạc Nếu nhân viên cập nhật thể loại nhạc không hợp lệ thì chuyển sang luồng phụ 3a.
5 System Hệ thống kiểm tra thông tin thể loại nhạc
6 System thiết lập trạng thái đã cập nhật thể loại nhạc thành công.
3a Thông tin thể loại nhạc cập nhật không hợp lệ
1 System hệ thống thông báo thông tin thể loại nhạc cần cập nhật không hợp lệ Nếu Nhân viên không muốn cập nhật thể loại nhạc ới chuyển sang luồng phụ 3b m
2 System hiển thị thông báo “Cập nhật tác phẩm nhạc không hợp lệ, yêu cầu nhập lại”
3b Nhân viên không muốn cập nhật thể loại nhạc mới.
1 System Nhân viên chọn nút bỏ qua
2 Kết thúc use case cập nh thể loật ại nhạc.
1 Nhân viên chọn thể loại nhạc cần xóa.
2 Nhân viên chọn nút Xóa.
3 System Hệ thống yêu xác thực lại có thật sự muốn xóa không Nếu không muốn xóa chuyển sang luồng 3a.
4 System Thể loại nhạc được chọn xóa khỏi hệ thống.
3a: Nhân viên không muốn xóa thể loại nhạc
1 Nhân viên xác nhận là không muốn xóa.
2 Không xóa thể loại nhạc, use case kết thúc
• Tìm kiếm thể loại nhạc
1 Từ giao diện Nhân viên chọn tìm kiếm.
2 System hiển thị giao diện tìm kiếm
3 Nhân viên nhập thông tin thể loại nhạc cần tìm kiếm Nếu Nhân viên nhập sai thông tin tìm kiếm chuyển sang luồng 3a.
5 Nhân viên nhập thông tin thể loại nhạc cần tìm kiếm và chọn nút đồng ý
6 System Hệ thống trả về kết quả tìm kiếm.
3a Nhân viên nhập sai thông tin của thể loại nhạc cần tìm.
1 System Hệ thống kiểm tra thông tin thể loại nhạc.
2 System hiển thị thông báo “không tìm thấy thể loại nhạc”
• Luồng sự kiện quản lý tác phẩm nhạc
1 Yêu cầu chức năng thêm mới
2 System hiển thị giao diện thêm mới
3 Nhập thông tin tác phẩm nhạc cần thêm Nếu Nhân viên thêm tác phẩm nhạc không hợp lệ thì chuyển sang luồng phụ 3a.
5 System hệ thống kiểm tra thông tin tác phẩm nhạc.
6 System thiết lập trạng thái đã thêm tác phẩm nhạc thành công.
3a Thông tin tác phẩm nhạc thêm không hợp lệ
1 System hệ thống thông báo thông tin tác phẩm nhạc cần thêm không hợp lệ Nếu Nhân viên không muốn thêm tác phẩm nhạc mới chuyển sang luồng phụ 3b.
2 System hiển thị thông báo “Thêm tác phẩm nhạc không hợp lệ, yêu cầu nhập lại”
3b Nhân viên không muốn thêm tác phẩm nhạc mới.
1 System Nhân viên chọn nút bỏ qua
2 Kết thúc use case thêm tác phẩm nhạc.
• Cập nhật tác phẩm nhạc
1 Nhân viên chọn tác phẩm nhạc cần cập nhật
2 System hiển thị giao diện cập nhật
3 Nhân viên nhập lại thông tin tác phẩm nhạc Nếu Nhân viên cập nhật tác phẩm nhạc không hợp lệ thì chuyển sang luồng phụ 3a.
4 System Hệ thống kiểm tra thông tin tác phẩm nhạc.
5 System thiết lập trạng thái đã cập nhật tác phẩm nhạc thành công.
3a Thông tin tác phẩm nhạc cập nhật không hợp lệ
1 System hệ thống thông báo thông tin tác phẩm nhạc cần cập nhật không hợp lệ Nếu Nhân viên không muốn cập nhật tác phẩm nhạc mới chuyển sang luồng phụ 3b.
2 System hiển thị thông báo “Cập nhật tác phẩm nhạc không hợp lệ, yêu cầu nhập lại”
3b Nhân viên không muốn cập nhật tác phẩm nhạc mới.
1 System Nhân viên chọn nút bỏ qua
2 Kết thúc use case cập nhật tác phẩm nhạc.
1 Nhân viên chọn tác phẩm nhạc cần xóa.
2 Nhân viên chọn nút Xóa.
3 System Hệ thống yêu xác thực lại có thật sự muốn xóa không Nếu không muốn xóa chuyển sang luồng 3a.
4 System tác phẩm nhạc được chọn xóa khỏi hệ thống.
3a: Nhân viên không muốn xóa tác phẩm nhạc.
1 Nhân viên xác nhận là không muốn xóa.
2 Không xóa tác phẩm nhạc, use case kết thúc.
• Tìm kiếm tác phẩm nhạc
1 Từ giao diện Nhân viên chọn tìm kiếm.
2 System hiển thị giao diện tìm kiếm.
3 Nhân viên nhập thông tin tác phẩm nhạc cần tìm kiếm Nếu Nhân viên nhập sai thông tin tìm kiếm chuyển sang luồng 3a.
5 Nhân viên nhập thông tin tác phẩm nhạc cần tìm kiếm và chọn nút Đồng ý
6 System Hệ thống trả về kết quả tìm kiếm.
3a Nhân viên nhập sai thông tin của tác phẩm nhạc cần tìm.
1 System Hệ thống kiểm tra thông tin tác phẩm nhạc.
2 System hiển thị thông báo “không tìm thấy tác phẩm nhạc”
• Luồng sự kiện quản lý người sản xuất
1 Yêu cầu chức năng thêm mới
2 System hiển thị giao diện thêm mới
3 Nhập thông tin người sản xuất cần thêm Nếu Nhân viên thêm người sản xuất không hợp lệ thì chuyển sang luồng phụ 3a.
5 System hệ thống kiểm tra thông tin người sản xuất.
6 System thiết lập trạng thái đã thêm người sản xuất thành công.
3a Thông tin người sản xuất thêm không hợp lệ
1 System hệ thống thông báo thông tin người sản xuất cần thêm không hợp lệ Nếu Nhân viên không muốn thêm người sản xuất mới chuyển sang luồng phụ 3b.
2 System hiển thị thông báo “Thêm người sản xuất không hợp lệ, yêu cầu nhập lại” 3b Nhân viên không muốn thêm người sản xuất mới.
1 System Nhân viên chọn nút bỏ qua
2 Kết thúc use case thêm người sản xuất
• Cập nhật người sản xuất
1 Nhân viên chọ người sản xuất cần cập nhậtn
2 System hiển thị giao diện cập nhật
3 Nhân viên nhập lại thông tin người sản xuất Nếu Nhân viên cập nhật người sản xuất không hợp lệ thì chuyển sang luồng phụ 3a.
4 System Hệ thống kiểm tra thông tin người sản xuất.
5 System thiết lập trạng thái đã cập nhật người sản xuất thành công.
3a Thông tin người sản xuất cập nhật không hợp lệ
1 System hệ thống thông báo thông tin người sản xuất cần cập nhật không hợp lệ Nếu Nhân viên không muốn cập nhật người sản xuất mới chuyển sang luồng phụ 3b.
2 System hiển thị thông báo “Cập nhật người sản xuất không hợp lệ, yêu cầu nhập lại”
3b Nhân viên không muốn cập nhật người sản xuất mới.
1 System Nhân viên chọn nút bỏ qua
2 Kết thúc use case cập nhật người sản xuất.
1 Nhân viên chọn người sản xuất cần xóa.
2 Nhân viên chọn nút Xóa.
3 System Hệ thống yêu xác thực lại có thật sự muốn xóa không Nếu không muốn xóa chuyển sang luồng 3a.
4 System người sản xuất được chọn xóa khỏi hệ thống.
3a: Nhân viên không muốn xóa người sản xuất.
1 Nhân viên xác nhận là không muốn xóa.
2 Không xóa người sản xuất vàng, use case kết thúc.
• Tìm kiếm người sản xuất
1 Từ giao diện Nhân viên chọn tìm kiếm.
2 System hiển thị giao diện tìm kiếm.
3 Nhân viên nhập thông tin người sản xuất cần tìm kiếm Nếu Nhân viên nhập sai thông tin tìm kiếm chuyển sang luồng 3a.
5 Nhân viên nhập thông tin người sản xuất cần tìm kiếm và chọn nút Đồng ý
6 System Hệ thống trả về kết quả tìm kiếm.
3a Nhân viên nhập sai thông tin của người sản xuất cần tìm.
1 System Hệ thống kiểm tra thông tin người sản xuất.
2 System hiển thị thông báo “không tìm thấy người sản xuất”
• Luồng sự kiện quản lý khách hàng
1.Yêu cầu chức năng Thêm mới.
2 System hiển thị giao diện thêm mới
3 Nhập thông tin khách hàng cần thêm Nếu Nhân viên thêm thông tin khách hàng không hợp lệ thì chuyển sang luồng phụ 3a.
5 System hệ thống kiểm tra thông tin khách hàng
6 System thiết lập trạng thái đã thêm khách hàng thành công.
3a Thông tin khách hàng thêm không hợp lệ
1 System hệ thống thông báo thông tin khách hàng cần thêm không hợp lệ Nếu Nhân viên không muốn thêm khách hàng mới chuyển sang luồng phụ 3b.
2 System hiển thị thông báo “Thêm khách hàng không hợp lệ, yêu cầu nhập lại” 3b Nhân viên không muốn thêm khách hàng mới.
1 System Nhân viên chọn nút bỏ qua
2 Kết thúc use case thêm khách hàng.
• Sửa thông tin khách hàng
1.Yêu cầu chức năng sửa thông tin khách hàng.
2 System hiển thị giao diện sửa
3 Nhập thông tin khách hàng cần sửa Nếu Nhân viên sửa thông tin khách hàng không hợp lệ thì chuyển sang luồng phụ 3a.
5 Hệ thống kiểm tra thông tin khách hàng
6 System thiết lập trạng thái đã sửa thông tin khách hàng thành công
3a Thông tin khách hàng không hợp lệ
1 System hệ thống thông báo thông tin sửa khách hàng không hợp lệ Nếu Nhân viên không muốn sửa thông tin khách hàng thì chuyển sang luồng phụ 3b
2 System hiển thị thông báo “Sửa thông tin khách hàng không hợp lệ, yêu cầu nhập lại”.
3b Nhân viên không muốn sửa khách hàng
1 System Nhân viên chọn nút bỏ qua
2 Kết thúc use case sửa thông tin khách hàng
• Xóa thông tin khách hàng
1 Nhân viên chọn khách hàng cần xóa.
2 Nhân viên chọn nút Xóa.
3 System Hệ thống yêu xác thực lại có thật sự muốn xóa không Nếu không muốn xóa chuyển sang luồng 3a.
4 System khách hàng được chọn xóa khỏi hệ thống
3a: Nhân viên không muốn xóa khách hàng.
1 Nhân viên xác nhận là không muốn xóa.
2 Không xóa khách hàng, use case kết thúc.
1 Từ giao diện Nhân viên chọn tìm kiếm.
2 System hiển thị giao diện tìm kiếm.
3 Nhân viên nhập thông tin khách hàng cần tìm kiếm Nếu Nhân viên nhập sai thông tin tìm kiếm chuyển sang luồng 3a.
5 Nhân viên nhập thông tin khách hàng cần tìm kiếm và chọn nút Đồng ý
6 System Hệ thống trả về kết quả tìm kiếm.
3a Nhân viên nhập sai thông tin của khách hàng cần tìm.
1 System Hệ thống kiểm tra thông tin khách hàng.
2 System hiển thị thông báo “không tìm thấy khách hàng”
• Luồng sự kiện quản lý đơn hàng
1.Yêu cầu chức năng Thêm mới.
2 System hiển thị giao diện thêm mới
3 Nhập thông tin đơn hàng cần thêm Nếu Nhân viên thêm thông tin đơn hàng không hợp lệ thì chuyển sang luồng phụ 3a.
5 System hệ thống kiểm tra thông tin đơn hàng
6 System thiết lập trạng thái đã thêm đơn hàng thành công.
3a Thông tin đơn hàng thêm không hợp lệ
1 System hệ thống thông báo thông tin đơn hàng cần thêm không hợp lệ Nếu Nhân viên không muốn thêm đơn hàng mới chuyển sang luồng phụ 3b.
2 System hiển thị thông báo “Thêm đơn hàng không hợp lệ, yêu cầu nhập lại” 3b Nhân viên không muốn thêm đơn hàng mới.
1 System Nhân viên chọn nút bỏ qua
2 Kết thúc use case thêm đơn hàng.
1.Yêu cầu chức năng sửa thông tin đơn hàng.
2 System hiển thị giao diện sửa
3 Nhập thông tin đơn hàng cần sửa Nếu Nhân viên sửa thông tin đơn hàng không hợp lệ thì chuyển sang luồng phụ 3a.
5 Hệ thống kiểm tra thông tin đơn hàng
6 System thiết lập trạng thái đã sửa đơn hàng thành công.
3a Thông tin đơn hàng không hợp lệ
1 System hệ thống thông báo thông tin sửa đơn hàng không hợp lệ Nếu Nhân viên không muốn sửa thông tin đơn hàng thì chuyển sang luồng phụ 3b
2 System hiển thị thông báo “Sửa đơn hàng không hợp lệ, yêu cầu nhập lại”. 3b Nhân viên không muốn sửa đơn hàng mới
1 System Nhân viên chọn nút bỏ qua
2 Kết thúc use case sửa đơn hàng.
1 Nhân viên chọn thông tin đơn hàng cần xóa.
2 Nhân viên chọn nút Xóa.
3 System Hệ thống yêu xác thực lại có thật sự muốn xóa không Nếu không muốn xóa chuyển sang luồng 3a.
4 System đơn hàng được chọn xóa khỏi hệ thống
3a: Nhân viên không muốn xóa đơn hàng.
1 Nhân viên xác nhận là không muốn xóa.
2 Không xóa đơn hàng, use case kết thúc.
1 Từ giao diện Nhân viên chọn tìm kiếm.
2 System hiển thị giao diện tìm kiếm.
3 Nhân viên nhập thông tin đơn hàng cần tìm kiếm Nếu Nhân viên nhập sai thông tin tìm kiếm chuyển sang luồng 3a.
5 Nhân viên nhập thông tin đơn hàng cần tìm kiếm và chọn nút Đồng ý
6 System Hệ thống trả về kết quả tìm kiếm.
3a Nhân viên nhập sai thông tin của đơn hàng cần tìm.
1 System Hệ thống kiểm tra thông tin đơn hàng
2 System hiển thị thông báo “không tìm thấy đơn hàng”.
3.1.2 Biểu đồ lớp thực thể
Trong quá trình khảo sát xây dựng Website, em xác định được các thuật ngữ miền của hệ thống như sau:
STT Tên thuộc tính Mô tả
1 Mã loại Mỗi loại nhạc sẽ được đánh một mã khác nhau
2 Tên loại Tên thể loại nhạc
Bảng 3.5: Thông tin mô tả thể loại nhạc
STT Tên thuộc tính Mô tả
1 Mã loại Mã loại của tác phẩm nhạc
2 Mã nhạc Mỗi nhạc sẽ được đánh một mã khác nhau
3 Mã người sản xuất Mỗi người sản xuất sẽ được đánh một mã khác nhau
4 Tên nhạc Tên của nhạc
5 Hình ảnh Hình ảnh của nhạc
6 Giá cả Giá của bài nhạc
Bảng 3.6: Thông tin mô tả tác phẩm nhạc
Bảng 3.5: Thông tin mô tả người sản xuất STT Tên thuộc tính Mô tả
1 Mã người sản xuất Mỗi người sản xuất sẽ được đánh một mã khác nhau
2 Tên người sản xuất Tên của người sản xuất đó
3 Địa chỉ Địa chỉ của người sản xuất đó
4 Số điện thoại Số điện thoại của người sản xuất đó
Bảng 3.6: Thông tin mô tả hóa đơn STT Tên thuộc tính Mô tả
1 Mã hóa đơn Mỗi hóa đơn nhập sẽ được đánh một mã khác nhau
2 Ngày lập Ngày lập của hóa đơn
3 Mã nhạc Mỗi nhạc sẽ được đánh một mã khác nhau
4 Mã khách hàng M khã ách hàng
5 Tổng tiền hóa đơn Tổng tiền hóa đơn
Bảng 3.13: Thông tin mô tả của khách hàng STT Tên thuộc tính Mô tả
1 Mã khách hàng Mã khách hàng
2 Tên khách hàng Tên khách hàng
5 Số điện thoại Số điện thoại
Bảng 3.6: Thông tin mô tả hóa đơn chi tiết STT Tên thuộc tính Mô tả
1 Mã hóa đơn Mỗi hóa đơn nhập sẽ được đánh một mã khác nhau
2 Số lượng Số lượng nhạc đã mua trong 1 hoá đơn
3 Mã nhạc Mỗi nhạc sẽ được đánh một mã khác nhau
4 Giá cả Giá của bài nhạc
5 Tổng tiền hóa đơn Tổng tiền hóa đơn
-Biểu đồ lớp thực thể của hệ thống:
3.1.3 Các yêu cầu phi chức năng
Yêu cầu về giao diện: Giao diện đẹp, thân thiện và dễ thao tác
- Độ tin cậy: đảm bảo chức năng đặt hàng thanh toán được và không có lỗi
- Tính khả dụng: phù hợp với nhu cầu người sử dụng, dễ dàng sử dụng
- Bảo mật: Thông tin người dùng phải được bảo mật chặt chẽ Không được chia sẻ thông tin khách hàng ra bên ngoài.
- Bảo trì: Hệ thống có thể dễ dàng bảo trì được khi yêu cầu người dùng thay đổi.
- Tính khả chuyển: Hệ thống chạy được trên các môi trường khác nhau như mobile và desktop
Thiết kế hệ thống
3.2.1 Thiết kế cơ sở dữ liệu
• Mô hình cơ sở dữ liệu quan hệ
• Mô tả cấu trúc bảng
Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
Malsp int Khóa chính Mã loại
Tenlsp Nvarchar(50) Not null Tên loại
Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
Masp int Khóa chính Mã sản phẩm
Tensp Nvarchar(50) Not null Tên sản phẩm
MaNCC int Khóa ngoại Mã nhà sản xuất
Malsp int Khóa ngoại Mã loại
HinhAnh image Hình ảnh sản phẩm
Gia Decimal(10, 2) Not null Giá của sản phẩm
Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
MaNCC int Khóa chính Mã nhà sản xuất
TenNCC Nvarchar(255) Not null Tên nhà s xu ản ất
Sdt Nvarchar(10) Số điện thoại
Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
Username Nvarchar(50) Khóa chính Tên đăng nhập
Password Nvarchar(50) Not null Mật khẩu
Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
MaKH int Khóa chính, khóa ngoại Mã khách hàng
TenKH Nvarchar(255) Not null Tên khách hàng
Email Nvarchar(255) Not null Email của khách hàng
Sdt Nvarchar(10) Số điện thoại
Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
MaDH int Khóa chính Mã đơn hàng
MaKH int Khóa ngoại Mã khách hàng
Masp int Khoá ngo ại Mã sản phẩm
Ngaylap date Ngày lập hóa đơn
Tongtien Decimal(10, 2) Tổng tiền đơn hàng
Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
MaDH int Khóa chính, khóa ngoại Mã đơn hàng
MaSP int Khóa chính, khóa ngoại Mã sản phẩm
Tongtien Decimal(10,2) Tổng tiền đơn hàng
3.2.2 Thiết kế lớp đối tượng a) Biểu đồ lớp VOPC của các ca s d ng ử ụ
❖ Biểu đồ lớp VPOC của Use Case Quản lý sản phẩm
Hình 3.3: Biểu đồ ớ l p VOPC c a Use Case Qu n lý s n phủ ả ả ẩm
Hình 3.4: Biểu đồ ớ l p VOPC c a Use Case Thêm s n phủ ả ẩm
Hình 3.5: Biểu đồ ớ l p VOPC c a Use Case S a s n phủ ử ả ẩm
Hình 3.6: Biểu đồ ớ l p VOPC của Use Case Xoá s n phả ẩm
❖ Biểu đồ lớp VPOC của Use Case Quản lý nhà cung cấp
Hình 3.7: Biểu đồ ớ l p VPOC c a Use Case Qu n lý nhà cung củ ả ấp
❖ Biểu đồ lớp VPOC của Use Case Quản lý đơn hàng nhập
Hình 3.8: Biểu đồ ớ l p VPOC c a Use Case Quủ ản lý đơn hàng nhập
❖ Biểu đồ lớp VPOC của Use Case Thống kê doanh thu
Hình 3.9: Biểu đồ ớ l p VPOC c a Use Case Th ng kê doanh thuủ ố
❖ Biểu đồ lớp VPOC của Use Case trang người dùng
Hình 3.10: Biểu đồ ớ l p VPOC c a Use Case traủ ng người dùng
❖ Biểu đồ lớp VPOC của Use Case xem chi tiết sản phẩm
Hình 3.11: Biểu đồ ớ l p VPOC c a Use Case xem chi tiủ ết sản phẩm
❖ Biểu đồ lớp VPOC đặt hàng
Hình 3.12: Biểu đồ ớp VPOC đặ l t hàng b) Biểu đồ tuần tự
• Biểu đồ tuần tự của Use case quản lý sản phẩm
Hình 3.13: Biểu đồ tuầ ựn t qu n lý s n phả ả ẩm
Hình 3.14: Biểu đồ tuầ ựn t thêm sản phẩm
Hình 3.15: Biểu đồtuầ ự ửn t s a s n phả ẩm
Hình 3.16: Biểu đồ tuần tự xóa sản phẩm
• Biểu đồ tuần tự của Use case quản lý nhập hàng
Hình 3.17: Biểu đồtuầ ự thêm đơn nhận t p hàng
• Biểu đồ tuần tự của Use case quản lý giá
Hình 3.18: Biểu đồ tuần t thêm giá ự
• Biểu đồ tuần tự của Use case quản lý nhà cung cấp
Hình 3.19: Biểu đồtuầ ựn t thêm nhà cung cấp
• Biểu đồ tuần tự trang người dùng
Hình 3.20: Biểu đồtuầ ự đặn t t hàng
• Xem sản phẩm theo loại
Hình 3.21: Biểu đồtuầ ự đặn t t hàng c Biểu đồ lớp chi tiết
• Biểu đồ lớp chi tiết cho Use Case Xem sản phẩm theo loại
Hình 3.22: Biểu đồ ớ l p chi ti t cho Use Case Xem s n ph m theo loế ả ẩ ại
• Biểu đồ lớp chi tiết cho Use Case Đăng nhập
Hình 3.23: Biểu đồ ớ l p chi tiết cho Use Case Đăng nhập
• Biểu đồ lớp chi tiết cho Use Case Thêm loại sản phẩm
Hình 3.24: Biểu đồ ớ l p chi ti t cho Use Case Thêm lo i s n phế ạ ả ẩm
• Biểu đồ lớp chi tiết cho Use Case Sửa loại sản phẩm
Hình 3.25: Biểu đồ ớ l p chi ti t cho Use Case S a ế ử loại sản phẩm
Hình 3.26: Giao di n trang ch ệ ủ
Hình 3.27: Giao di n trang danh sách s n ph m ệ ả ẩ
Hình 3.28: Giao di n trang chi tiệ ết sản ph m ẩ
Hình 3.29: Giao di n trang gi hàng ệ ỏ
Hình 3.30: Giao di n trang ệ đăng nhập
Hình 3.31: Giao diện trang quản lý thể ạ lo i nhạc
TRIỂN KHAI WEBSITE
Triển khai các chức năng cho phân hệ người dùng
- Trang chủ ể hi n th danh sách s n ph m ị ả ẩ
- Trang giỏ hàng để lưu thông tin các mặt hàng mu n mua ố
- Trang đăng nhập,đăng ký
- Trang chi tiết hiển th ịthông số kĩ thuậ ủa sảt c n phẩm. Để xây dựng được các chức năng của trang người dùng theo thiết kế đã được trình bày ở chương 3, bài tậ ớ đã sử ụp l n d ng HTML, CSS, và JavaScript, Jquery để thiết kế giao di n và thao tác dệ ữ liệu các trang theo yêu c u Ti p theo, bài t p lầ ế ậ ớn s ẽ trình bày các kỹ thuật được sử dụng để xây d ng các trang ự a) Phía font end
➢ Xây dựng b cố ục trang Home bằng các th HTML ẻ
Xây dựng b cố ục trang Home bằng các th HTML ẻ
- S d ng thử ụ ẻ để phân trang thành các kh i ố
- S d ng thử ụ ẻ để đặt link đến các giao di n qu n lý ệ ả
- S d ng thử ụ ẻ ; để ể hi n th hình nh s n ph m ị ả ả ẩ
- S d ng thử ụ ẻ để xây d ng b ng qu n lý ự ả ả
- S d ng thử ụ ẻ để ử lý dữ x u nh p và gliệ ậ ửi đi cho hệ thống
➢ Kỹ thuật định d ng bạ ằng CSS
- S d ng kử ụ ỹ thuật External style sheet thông qua thẻ để đưa định dạng CSS vào giao di n ệ
- S d ng kử ụ ỹ thuật Inline style để định d ng ạ
- S d ng các thuử ụ ộc tính ‘Class’ và ‘id’ để định d ng ạ b) Phía backend
➢ Triển khai các l p t ng Model ớ ầ
- S d ng các thao tác tử ụ ạo cơ sở ữ liệu cơ bả d n
- Xây dựng liên k ràng buết ộc giữa các b ng ả
- Trong view thì các b n có th s d ng t t c các ngôn ng trong file h tr ạ ể ử ụ ấ ả ữ ỗ ợ như: HTML, CSS, JS,
- Controller sử ụ d ng các model c n thiầ ết để trích xu thông tin t database, ất ừ và sau đó truyển d u t i view ữliệ ớ
- Xử lý các request của người dùng và truy xuấ ữt d u, b ng cách t n d ng liệ ằ ậ ụ các Model.
- Controller sử d ng các model c n thiụ ầ ế ểt đ trích xu t thông tin t database và ấ ừ sau đó chuyển d u tữliệ ới view.
4.1.3 Trang Quản lý giỏ hàng
Triển khai các chức năng cho phân hệ quản trị nội dung
- Trang qu n tr g m có qu n lý ả ị ồ ả loạ ải s n ph m, qu n lý s n ph m, qu n lý nhẩ ả ả ẩ ả à cung cấp, quản lý nhà cung c p, qu n lý chi ti t ấ ả ế đơn hàng.
Kiểm thử và triển khai ứng dụng
-Tất cả các trang đều hiển thị đúng nội dung và hình ảnh
-Khi ấn đặt hàng tất cả sản phẩm đều xuất hiện đúng trong giỏ hàng.
-Slideshow chuyển ảnh đúng ấn next hay back đều đúng sự ệ ki n,
-Các đường link, button chuyển trang đều chạy đúng.
-Các hi u ng hover và click hoệ ứ ạt động đúng.
-Các trang anh m c s d ụ ản ph m khi n ch n ẩ ấ ọ đều đúng.
-Trang quản trị chạy đúng yêu cầu
-Đã kiểm thử và pass 100%