1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online

137 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Hệ thống quản lý ảnh/video online
Tác giả Nguyễn Văn Trường
Người hướng dẫn PGS.TS. Trương Ninh Thuận
Trường học Đại học Quốc gia Hà Nội, Trường Đại học Công nghệ
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2019
Thành phố Hà Nội
Định dạng
Số trang 137
Dung lượng 9,1 MB

Cấu trúc

  • Chương 1: GIỚI THIỆU (9)
    • 1.1. Sự cần thiết xây dựng hệ thống (9)
    • 1.2. Nội dung của luận văn (11)
    • 1.3. Cấu trúc của luận văn (11)
  • Chương 2: MỘT SỐ CÔNG NGHỆ ĐỂ XÂY DỰNG HỆ THỐNG (12)
    • 2.1. Ngôn ngữ lập trình ASP.NET MVC (12)
    • 2.2. Hệ quản trị cơ sở dữ liệu SQL Server (16)
    • 2.3. Mô hình cài đặt (17)
    • 2.4. Cách thức truy cập cơ sở dữ liệu (ADO.NET) (19)
    • 2.5. Bảo mật và cơ chế phân quyền trong hệ thống (21)
  • Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG (22)
    • 3.1. Các đối tượng tham gia vào hệ thống (22)
      • 3.1.1. Người quản trị hệ thống (Admin) (22)
      • 3.1.2. Người sử dụng hệ thống (User) (22)
      • 3.1.3. Khách vãng lai (User Guest) (22)
    • 3.2. Các yêu cầu chính mà hệ thống phải thực hiện (22)
    • 3.3. Phân tích yêu cầu hệ thống (23)
      • 3.3.1. Các yêu cầu chức năng (23)
      • 3.3.2. Các yêu cầu phi chức năng (23)
    • 3.4. Bảng chú giải (24)
      • 3.4.1. Giới thiệu (24)
      • 3.4.2. Bảng danh sách các tác nhân (24)
      • 3.4.3. Bảng chuyển đổi các yêu cầu chức năng sang ca sử dụng (24)
    • 3.5. Đặc tả ca sử dụng (28)
    • 3.6. Đặc tả bổ sung (28)
      • 3.6.1. Mục tiêu (28)
      • 3.6.2. Phạm vi (29)
      • 3.6.3. Chức năng (29)
      • 3.6.4. Tính khả dụng (29)
      • 3.6.5. Tính ổn định (29)
      • 3.6.6. Hiệu suất (29)
      • 3.6.7. Tính bảo mật (29)
      • 3.6.8. Các ràng buộc thiết kế (29)
    • 3.7. Các sơ đồ ca sử dụng (30)
      • 3.7.1. Mô hình các ca sử dụng của Admin (30)
      • 3.7.2. Mô hình các ca sử dụng của User (30)
      • 3.7.3. Mô hình các trường hợp sử dụng của User Guest (31)
    • 3.8. Các biểu đồ tuần tự (31)
      • 3.8.1. Đăng nhập hệ thống (31)
      • 3.8.2. Người dùng đăng xuất khỏi hệ thống (32)
      • 3.8.3. Người dùng chỉnh sửa nội dung báo cáo (33)
      • 3.8.4. Xem báo cáo (33)
      • 3.8.5. Trả lời báo cáo (34)
      • 3.8.6. Gửi báo cáo lên hệ thống (34)
      • 3.8.7. Vô hiệu hóa bình luận (35)
      • 3.8.8. Kích hoạt bình luận (35)
      • 3.8.9. Vô hiệu hóa ảnh (36)
      • 3.8.10. Kích hoạt ảnh (36)
      • 3.8.11. Vô hiệu hóa video (37)
      • 3.8.12. Kích hoạt video (37)
      • 3.8.13. Khóa tài khoản người dùng (38)
      • 3.8.14. Mở khóa tài khoản người dùng (38)
      • 3.8.15. Thêm tài khoản admin (39)
      • 3.8.16. Chỉnh sửa tài khoản admin (39)
      • 3.8.17. Vô hiệu hóa tài khoản admin (40)
      • 3.8.18. Tìm kiếm người dùng (40)
      • 3.8.19. Thêm quảng cáo (41)
      • 3.8.20. Thay đổi ngôn ngữ hiển thị (41)
      • 3.8.21. Cập nhật menus (42)
      • 3.8.22. Thêm bình luận (42)
      • 3.8.23. Chỉnh sửa bình luận (43)
      • 3.8.24. Xóa bình luận (43)
      • 3.8.25. Xem video (44)
      • 3.8.26. Xóa video (44)
      • 3.8.27. Tải video lên hệ thống (45)
      • 3.8.28. Thêm mật khẩu cho ảnh, video (45)
      • 3.8.29. Cập nhật từ khóa cho ảnh, video (46)
      • 3.8.30. Cập nhật quyền xem ảnh, video (47)
      • 3.8.31. Chia sẻ video (47)
      • 3.8.32. Tìm kiếm video (48)
      • 3.8.33. Chỉnh sửa video (49)
      • 3.8.34. Yêu thích video (50)
      • 3.8.35. Thêm ảnh, video vào album (50)
      • 3.8.36. Xem ảnh (51)
      • 3.8.37. Chỉnh sửa ảnh (52)
      • 3.8.38. Xóa ảnh (53)
      • 3.8.39. Chia sẻ ảnh (53)
      • 3.8.40. Tải ảnh lên hệ thống (54)
      • 3.8.41. Tìm kiếm ảnh (54)
      • 3.8.42. Kiểm tra ảnh có tính chất phản cảm (55)
      • 3.8.43. Yêu thích ảnh (55)
      • 3.8.44. Lấy lại tài khoản từ hệ thống (56)
      • 3.8.45. Cập nhật ảnh bìa (56)
      • 3.8.46. Cập nhật ảnh đại diện (57)
      • 3.8.47. Cập nhật thông tin cá nhân (57)
      • 3.8.48. Đăng ký tài khoản vào hệ thống (58)
      • 3.8.49. Nhận dạng hình ảnh (59)
    • 3.9. Biểu đồ lớp (59)
      • 3.9.1. Biểu đồ lớp đăng nhập hệ thống (59)
      • 3.9.2. Biểu đồ lớp đăng ký thành viên (60)
      • 3.9.3. Biểu đồ lớp quản lý ảnh/video (61)
      • 3.9.4. Biểu đồ lớp quản lý người dùng (61)
      • 3.9.5. Biểu đồ lớp trao đổi thông tin (62)
      • 3.9.6. Biểu đồ lớp quản lý hệ thống (62)
      • 3.9.7. Biểu đồ lớp quản lý tìm kiếm (63)
    • 3.10. Thiết kế dữ liệu (64)
      • 3.10.1. Mô hình dữ liệu logic ở dạng sơ đồ (64)
      • 3.10.2. Danh sách các bảng dữ liệu (66)
      • 3.10.3. Danh sách các thành phần của lược đồ dữ liệu (68)
      • 3.10.4. Danh sách các thuộc tính của từng thành phần (69)
    • 3.11. Thiết kế kiến trúc (69)
  • Chương 4: CÀI ĐẶT (71)
    • 4.1. Cài đặt chương trình (71)
    • 4.2. Triển khai và thử nghiệm chương trình (80)
  • Chương 5: TỔNG KẾT (83)
    • 5.1. Kết luận (83)
    • 5.2. Hướng phát triển (84)
      • 5.2.1. Xây dựng hoàn thiện hệ thống (84)
      • 5.2.2. Mở rộng thêm các chức năng edit Ảnh/Video (84)
      • 5.2.3. Sử dụng AI cho việc nhận diện Ảnh và Video (84)
      • 5.2.4. Tăng cường quảng cáo giới thiệu hệ thống tới người dùng (84)
  • PHỤ LỤC (85)
  • TÀI LIỆU THAM KHẢO (137)

Nội dung

GIỚI THIỆU

Sự cần thiết xây dựng hệ thống

Ở thời điểm hiện tại, việc chụp ảnh, quay video để ghi lại những khoảnh khắc mà bản thân mỗi người muốn lưu giữ đã không còn xa lạ đối với mỗi người trong chúng ta Những hình ảnh sống động đó có thể sẽ kể lại cả một kỷ niệm, cả một câu chuyện, một quá trình của một người nào đó Hay có những khoảnh khắc xinh đẹp, bùng cháy, những hình ảnh chớp nhoáng, những phút giây bên nhau đều được ghi lại một cách chân thực nhất trong những tấm hình Hình ảnh, video có thể được tạo ra mọi lúc mọi nơi và trong mọi hoàn cảnh vì với công nghệ ngày nay những thiết bị có chức năng chụp ảnh quay phim đã và đang phát triển nhanh như vũ bão và ngày càng hiện đại Ngày nay để đánh giá một chiếc điện thoại smart phone người ta còn đưa cả tiêu chí chiếc điện thoại đấy có quay phim, chụp ảnh đẹp hay không, đó là còn chưa kể tới những chiếc máy ảnh chuyên nghiệp đã và đang ngày càng phát triển Điều đó cho thấy nhu cầu chụp ảnh, quay video để ghi lại những hình ảnh đẹp, những khoảnh khắc của mỗi cá nhân lớn tới nhường nào Từ đó nhu cầu về việc quản lý hình ảnh, video cần phải được quan tâm hơn nữa Bạn hãy thử tưởng tượng khi những thiết bị lưu trữ cá nhân hết dung lượng không còn dung lượng để mình ghi lại những khoảnh khắc mới Hãy thử tưởng tượng bao nhiều hình ảnh đẹp chúng ta lưu trữ trong thiết bị tới một ngày xấu trời thiết bị lưu trữ hỏng mà chưa được sao lưu vào đâu Hãy thử tưởng tượng những bức hình đẹp mình chụp được muốn khoe với bạn bè nhưng ảnh lại đang lưu trữ trong chiếc ổ cứng của máy tính ở nhà Bạn phải làm thế nào?

Vấn đề tiếp theo tác giả muốn nói tới việc quảng cáo và giới thiệu sản phẩm Có những mặt hàng sản phẩm từ nhà sản xuất sẽ được phân phối cho nhiều doanh nghiệp thứ cấp Các doanh nghiệp thứ cấp sẽ cần hình ảnh quảng cáo và thông tin để đưa lên trang giới thiệu sản phẩm của mình Nhà sản xuất đã thiết kế và chụp những quảng cáo đó vậy làm sao để chia sẻ cho các doanh nghiệp thứ cấp Vậy nên sẽ thực sự hữu ích nếu có một hệ thống lưu trữ trung gian chuyên lưu trữ ảnh/video chất lượng cao và có thể chia sẻ các hình ảnh quảng cáo một cách đơn giản và nhanh chóng Từ những vấn đề trên chúng ta thấy được việc lưu trữ và quản lý ảnh trực tuyến là thực sự cần thiết Do đó cần tạo ra một hệ thống lưu trữ trực tuyến để lưu trữ các hình ảnh, video cá nhân và quản lý chúng theo dòng thời gian sẽ giải quyết được vấn đề trên

Xuất phát từ nhu cầu trên, ở thời điểm hiện tại cũng đã có rất nhiều hệ thống quản lý ảnh/video online đã được phát triển và đang được sử dụng rộng rãi như: https://youtube.com, https://www.dropbox.com, https://photos.google.com, https://www.flickr.com, https://onedrive.live.com, https://www.facebook.com, https://www.instagram.com, … Tuy nhiên mỗi hệ thống quản lý ảnh/video đều có những điểm mạnh và điểm yếu riêng nên các hệ thống vẫn tồn tại song song và vẫn thu hút được lượng người dùng nhất định Sau khi sử dụng tác giả nhận thấy được một số nhược điểm của các hệ thống quản lý ảnh/video trực tuyến Thứ nhất, các hệ thống trên đều có máy chủ đặt tại nước ngoài nên việc tải ảnh lên hoặc chậm hoặc là sẽ bị giảm chất lượng ảnh trước khi được tải lên Thứ hai, hầu hết các hệ thống sẽ yêu cầu trả phí hoặc sẽ giới hạn dung lượng lưu trữ của người dùng Thứ ba, đa số các hệ thống chưa có cơ chế tự động phân loại ảnh, tự động thêm từ khóa vào ảnh để nâng cao khả năng tìm kiếm giúp việc quảng cáo hình ảnh sản phẩm rộng rãi hơn tới người sử dụng Tiếp nữa, rất nhiều các hệ thống chưa hỗ trợ Tiếng Việt nên việc sử dụng sẽ gây khó khăn với một số bộ phận người dùng phổ thông

Mặt khác với xu thế mới hiện nay việc bán hàng online đang ngày càng phát triển tại nước ta Người mua sẽ muốn tham khảo trước hình ảnh sản phẩm của mình trước khi ra quyết định có mua mặt hàng đó hay không Còn về phần người bán sẽ muốn giới thiệu các sản phẩm của mình rộng rãi hơn nữa tới người tiêu dùng Cũng với lý do này tác giả muốn xây dựng và quảng bá hệ thống như một nơi người bán hàng có thể đăng các sản phẩm của mình để quảng bá và giới thiệu sản phẩm Hệ thống được xây dựng sẽ là một nơi lưu giữ nhiều mẫu ảnh về các sản phầm, các mặt hàng khác nhau để khi cần người bán hàng có thể sử dụng các hình ảnh để tham khảo và giới thiệu sản phầm một cách trực quan nhất Về mặt hàng sản phẩm tác giả đang chú ý hướng tới là: các mẫu thiết kế nhà, nội thất, hoa, cây cảnh, bonsai,…Và hệ thống sẽ là nơi chia sẻ thiết kế của các kiến trúc sư về các tác phẩm của mình nhằm quảng bá tên tuổi và thương hiệu một cách có hiệu quả

Chính vì điều này tác giả muốn thực hiện một đề tài luận văn “Xây dựng hệ thống quản lý ảnh/video online”.

Nội dung của luận văn

Vì luận văn có tính thực tiễn cao nên mục tiêu mà tác giả hướng tới là xây dựng hoàn chỉnh được hệ thống quản lý ảnh/video online Quảng cáo và tăng lượng người dùng đăng ký sử dụng hệ thống nhằm tăng sự tín nhiệm và tin cậy của hệ thống với người dùng Tác giả cần thúc đẩy việc upload ảnh/video nhằm quảng bá sản phẩm bán hàng trên hệ thống Để hướng tới mục tiêu trên tác giả chia nhỏ các mục tiêu như sau: Thứ nhất cần thực hiện việc phân tích và thiết kế hệ thống, cần thu thập và phân tích yêu cầu của hệ thống, xây dựng thiết kế hệ thống hoàn thiện nhằm đảm bảo tính chính xác và đúng đắn trong hệ thống sẽ xây dựng, phân tích các thách thức của công nghệ cần sử dụng trong hệ thống, đảm bảo việc phát triển hệ thống có tính mở rộng trong tương lai Thứ hai cần phải phân tích được ưu nhược điểm của hệ thống sắp xây dựng, đặt ra các mục tiêu mà hệ thống cần đạt được trong quá trình phát triển Và đây là hệ thống mang tính thực tiễn nên điều cuối cùng và cũng là quan trọng nhất hệ thống cần hoàn thành việc cài đặt và được đưa triển khai để sử dụng.

Cấu trúc của luận văn

Luận văn bao gồm những nội dung như sau:

Chương 1: Giới thiệu tổng quan về hệ thống sẽ xây dựng, sự cần thiết và các nhiệm vụ mà hệ thống sẽ thực hiện và đóng góp của luận văn

Chương 2: Giới thiệu và phân tích các công nghệ sẽ sử dụng trong việc phát triển hệ thống như: ngôn ngữ lập trình ASP.NET, mô hình MVC, hệ quản trị cơ sở dữ liệu SQL Server

Chương 3: Trình bày quá trình phân tích thiết kế hệ thống bao gồm: phân tích các yêu cầu chức năng và phi chức năng, các mô hình use case và đặc tả use case, các mô hình lớp và các lưu đồ hoạt động, thiết kế dữ liệu, thiết kế kiến trúc, thiết kế chức năng

Chương 4: Trình bày các vấn đề liên quan đến cài đặt và triển khai hệ thống như: cài đặt giao diện, cài đặt chương trình, triển khai hệ thống trên môi trường Windows

Chương 5: Trình bày tóm tắt các kết quả đạt được và đề xuất các hướng mở rộng, phát triển trong tương lai.

MỘT SỐ CÔNG NGHỆ ĐỂ XÂY DỰNG HỆ THỐNG

Ngôn ngữ lập trình ASP.NET MVC

 Tổng quát về ASP.NET MVC

Asp.Net MVC là một Framework sử dụng Net Framework cho việc phát triển ứng dụng web động Asp.Net MVC phát triển trên mẫu thiết kế chuẩn MVC, cho phép người sử dụng phát triển các ứng dụng phần mềm[1,tr.9]

MVC là tên một mẫu phát triển ứng dụng, phương pháp này chia nhỏ một ứng dụng thành ba thành phần để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh hưởng lẫn nhau, đó là models, views, và controllers

Các đặc trưng của chính của Model, View và Controller trong mẫu thiết kế chuẩn MVC[2,tr.28]:

Model: 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

View: là các thành phần dùng để hiển thị giao diện người dùng (UI), view được tạo dựa vào thông tin dữ liệu model

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

Hình 2.1 [2,tr29] mô tả mô hình thiết kế MVC:

Hình 2.1: Mẫu thiết kế MVC

 Lợi ích khi xây dựng ứng dụng dựa trên mô hình MVC

Có nhiều lợi ích mà mô hình MVC mang lại trong quá trình phát triển hệ thống phần mềm

Thứ nhất với mô hình MVC thì việc quản lý sự phức tạp của ứng dụng sẽ dễ dàng hơn và tường minh hơn vì ứng dụng sẽ được chia thành ba thành phần model, view, controller

Tiếp theo đối với mô hình MVC thì việc phát triển ứng dụng sẽ dễ dàng hơn trong việc phát triển theo hướng kiểm thử, từ đó nâng cao được tính bảo mật của hệ thống và dễ dàng bảo trì cũng như nâng cấp hệ thống mà vẫn đảm bảo chất lượng, dễ dàng hơn cho đội kiểm thử có thể kiểm tra các chức năng của hệ thống Tiếp theo nữa là việc phân chia theo mô hình trên thì việc phát triển một hệ thống lớn sẽ dễ dàng hơn trong việc quản lý dự án, nó cho phép các nhà phát triển và các nhà thiết kế có thể làm việc đồng thời với nhau MVC cho

Sent to be presented to user

Send as part of the request phép thay đổi trong một phần của ứng dụng mà không ảnh hưởng đến các phần khác của ứng dụng

Sở dĩ như vậy vì kiến trúc MVC đã tách biệt (decoupling) sự phụ thuộc giữa các thành phần trong một đối tượng đồ họa, làm tăng tính linh động (flexibility) và tính tái sử dụng (reusebility) của đối tượng đồ họa đó Một đối tượng đồ họa bấy giờ có thể dễ dàng thay đổi giao diện bằng cách thay đổi thành phần View của nó trong khi cách thức lưu trữ (Model) cũng như xử lý (Controller) không hề thay đổi Tương tự, ta có thể thay đổi cách thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng đồ họa mà những thành phần còn lại vẫn giữ nguyên

Chính vì vậy mà kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều framework và thư viện đồ họa khác nhau Tiêu biểu là bộ thư viện đồ họa của ngôn ngữ lập trình hướng đối tượng SmallTalk (cũng do Xerox PARC nghiên cứu và phát triển vào thập niên 70 của thế kỷ 20) Các Swing Components của Java cũng được xây dựng dựa trên kiến trúc MVC Đặc biệt là nền tảng ASP.NET MVC Framework do Microsoft xây dựng và phát triển.

 Tính năng quan trọng của nền tảng ASP.NET MVC [16]

1 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 hướng kiểm thử 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 giao diện 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

2 MVC là một nền tảng khả mở rộng (extensible) và khả nhúng (pluggable) Các thành phần của ASP.NET MVC được thiết kể để chúng có thể được thay thế một cách dễ dàng hoặc dễ dàng tùy chỉnh Bạn có thể nhúng thêm view engine, cơ chế định tuyến cho URL, cách kết xuất tham số của action-method và các thành phần khác

ASP.NET MVC cũng hỗ trợ việc sử dụng Dependency Injection (DI) và Inversion of Control (IoC) DI cho phép bạn gắn các đối tượng vào một lớp cho lớp đó sử dụng thay vì buộc lớp đó phải tự mình khởi tạo các đối tượng IoC quy định rằng, nếu một đối tượng yêu cầu một đối tượng khác, đối tượng đầu sẽ lấy đối tượng thứ hai từ một nguồn bên ngoài, ví dụ như từ tập tin cấu hình Và nhờ vậy, việc sử dụng DI và IoC sẽ giúp kiểm thử dễ dàng hơn

3 ASP.NET MVC có thành phần ánh xạ URL mạnh mẽ cho phép bạn xây dựng những ứng dụng có các địa chỉ URL xúc tích và dễ tìm kiếm Các địa chỉ URL không cần phải có phần mở rộng của tên tập tin và được thiết kế để hỗ trợ các mẫu định dạng tên phù hợp với việc tối ưu hóa tìm kiếm (URL) và phù hợp với lập địa chỉ theo kiểu REST

4 Hỗ trợ các tính năng có sẵn của ASP.NET như cơ chế xác thực người dùng, quản lý thành viên, quyền, output caching và data caching, seession và profile, quản lý tình trạng ứng dụng, hệ thống cấu hình…

5 ASP.NET MVC sử dụng view engine Razor View Engine cho phép thiết lập các view nhanh chóng, dễ dàng và tốn ít công sức hơn so với việc sử dụng Web Forms view engine

 Giao tiếp trong kiến trúc ASP.NET MVC

Các thành phần cơ bản của ứng dụng Asp.Net MVC là: Route engine, Route configuration, MVC Framework, View, View engine, Model, Control

Các thành phần sẽ giao tiếp với nhau nhằm xử lý yêu cầu của ứng dụng Asp.Net MVC Quá trình xử lý yêu cầu thường liên quan tới một chuỗi xử lý, mỗi xử lý sẽ được một component trong Asp.net đảm nhiệm[2,tr.43]

Hình 2.2[2,tr.43] mô tả cách giao tiếp trong kiến trúc ASP.NET theo mô hình MVC

Hình 2.2: Giao tiếp trong kiến trúc ASP.NET MVC

1 Trình duyệt gửi yêu cầu của ứng dụng Asp.Net MVC

2 MVC Engine chuyển yêu cầu tới cho Routing engine (Bộ điều hướng)

3 Routing engine kiểm tra cấu hình điều hướng (route configuration) của ứng dụng nhằm chuyển đến các Controller phù hợp với yêu cầu

4 Khi Controller được tìm thấy, Control này sẽ được thực thi

5 Nếu Controller không được tìm thấy, bộ điều hướng sẽ chỉ ra rằng Controller không được tìm thấy và MVC Engine sẽ thông báo lỗi cho trình duyệt

Hệ quản trị cơ sở dữ liệu SQL Server

SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System (RDBMS) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy khách và máy cài SQL Server Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS[3,tr.11]

SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user

SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server[4,tr.21]…

SQL Server được cấu tạo bởi nhiều thành phần như Database Engine, Reporting Services, Notification Services, Integration Services, Full Text Search Service… Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng Hình 2.3[5,tr.64] mô tả các thành phần chính của SQL Server:

Hình 2.3: Các thành phần chính của SQL Server

Như những phân tích ban đầu hệ thống quản lý ảnh/video online cần chú trọng rất lớn vào cơ sở dữ liệu do hệ thống sẽ có lượng dữ liệu tăng dần theo thời gian Từ đó việc lựa chọn cơ sở dữ liệu cho hệ thống rất quan trọng Từ những đặc tính mạnh mẽ trong quản lý và truy xuất dữ liệu của SQL Server, tính tương thích với ASP.NET, khả năng chịu tải và SQL Server có thể chạy trên môi trường cơ sở dữ liệu rất lớn,…nên tác giả đánh giá SQL Server rất phù hợp để sử dụng cho hệ thống của mình Tuy sẽ phải đầu tư về mặt tài chính nhiều hơn so với việc sử dụng một hệ cơ sở dữ liệu miễn phí khác nhưng việc đầu tư này tác giả đánh giá là phù hợp cho việc mở rộng và phát triển của hệ thống sau này.

Mô hình cài đặt

 Lựa chọn mô hình cài đặt

Một trong những mô hình cài đặt có thể được lựa chọn đầu tiên để cài đặt các ứng dụng ngày nay là kiến trúc đa tầng N-tier Mô hình kiến trúc N-tier (với 3 Tier) được mô tả như hình 2.4[6,tr.29] và hình 2.5[6,tr.31]dưới đây:

Hình 2.4: Ví dụ mô hình 3-tier

Hình 2.5: Mô hình mô tả kiến trúc 3-Tier

Các thuận lợi mà kiến trúc này có thể mang lại là[6,tr.35]:

1 Việc thay đổi các xử lý ở tầng truy xuất dữ liệu sẽ không ảnh hưởng và làm thay đổi tầng giao diện người dùng

2 Tất cả các thủ tục truy xuất dữ liệu sẽ được đóng gói vào các đối tượng thay vì dùng các lời gọi hàm

3 SQL sẽ được loại trừ ra khỏi code phía client Client chỉ còn quan tâm đến các phương thức và các thuộc tính

4 Tên của các bảng và cột sẽ được loại trừ ra khỏi code phía client Các datasets được định kiểu có thể mô tả các bảng và cột dữ liệu như là các thuộc tính, cung cấp một danh sách các IntellliSense

5 Code phía client sẽ không quan tâm đến việc dữ liệu có từ đâu Nó chỉ quan tâm rằng nó có thể nhận và điều chỉnh dữ liệu trong các đối tượng và đối tượng này sẽ quan tâm tới các chi tiết

6 Code phía client sẽ được đơn giản hóa, thay vì sử dụng nhiều hàm (functions) thì các ứng dụng nên sử dụng các đối tượng với các thuộc tính (properties) và phương thức (methods)

7 Việc tạo và sử dụng các đối tượng sẽ dễ dàng hơn là dùng các lời gọi hàm

8 Việc thêm và thay đổi các chức năng của ứng dụng cũng sẽ dễ dàng hơn do không làm thay đổi code phía client

Mặc dù có những thuận lợi như vậy, kiến trúc 3-tier cũng gặp phải một số bất lợi nhất định

Thứ nhất phải tạo nhiều classes hơn, điều này có thể sẽ ảnh hưởng đến vấn đề bảo trì và vấn đề hiệu suất vì nó sẽ mất thời gian để tạo một class mới vào thời điểm run time Thứ hai 3-tier sẽ không làm việc tốt khi chúng ta không biết cấu trúc của các bảng mà dữ liệu sẽ được nhận từ nó Thứ ba việc truyền dữ liệu giữa các tầng sẽ chậm hơn vì phải truyền giữa các tiến trình khác nhau (IPC), dữ liệu cần phải đóng gói rồi truyền đi rồi mở gói mới có thể dùng được.Và cuối cùng việc phát triển ứng dụng sẽ phức tạp hơn so với các kiến trúc khác Tóm lại, mặc dù có một vài bất lợi trong kiến trúc 3-tier nhưng những lợi thế do nó mang lại lớn hơn nhiều, và vì vậy với ứng dụng này tác giả sẽ xây dựng theo kiến trúc 3-tier

 Xây dựng các lớp xử lý chính

Với mỗi tầng trong kiến trúc 3-tier sẽ có các lớp đối tượng riêng chịu các trách nhiệm tương ứng khác nhau Ở tầng giao diện người dùng, các trang aspx với các web forms sẽ trình bày nội dung của website cho phía client Tầng giữa là các xử lý trung gian liên kết hai tầng còn lại (tầng giao diện và tầng dữ liệu) Và tầng dữ liệu sẽ đảm bảo cho vấn đề truy xuất và cập nhật dữ liệu Sẽ có các lớp đối tượng riêng biệt cho từng nhiệm vụ của các tầng nêu trên

Trong ứng dụng này mỗi đối tượng phục vụ của hệ thống sẽ được đóng gói trong các namespace khác nhau, và như vậy ở tầng giao diện và xử lý các đối tượng này sẽ được xây dựng độc lập Trong tầng dữ liệu sẽ tập trung xử lý cho tất cả các yêu cầu truy xuất xữ liệu của tất cả các đối tượng Do đó ta có thể thấy được sự tách biệt khá rõ ràng trong việc xây dựng các lớp xử lý của từng tầng theo kiến trúc 3-tier.

Cách thức truy cập cơ sở dữ liệu (ADO.NET)

Trong môi trường phát triển Microsoft NET tất cả các ứng dụng webform hay winform đều thống nhất sử dụng chung một bộ thư viện để truy xuất và thao tác với cơ sở dữ liệu gọi là ADO.NET (Active Data Object) ADO.NET là một bộ các thư viện hướng đối tượng nằm trong bộ thư viện lớp cơ sở của NET Framework, cho phép các ứng dụng windows (như C#, VB.NET) hay ứng dụng web (như ASP.NET) thao tác dễ dàng với các nguồn dữ liệu Nguồn dữ liệu ở đây có thể là một cơ sơ dữ liệu, có thể là file text, file excel, hoặc

XML Như chúng ta đã biết hiện nay có rất nhiều loại cơ sở dữ liệu như SQL Server, MS Access, Oracle,…và nhiệm vụ của mô hình ADO.NET là cho phép người lập trình thao tác với nhiều loại cơ sở dữ liệu theo cùng một cách[17] Hình 2.6 mô tả vị trí của ADO.NET trong kiến trúc của NET Framework:

Hình 2.6: Vị trí của ADO NET trong kiến trúc của NET Framwork

Kiến trúc trên hình 2.6 cũng cho ta thấy rằng ADO.NET là một thành phần nội tại của NET Framework, do vậy nó có thể được sử dụng trong tất cả các ngôn ngữ hỗ trợ NET như C#, VB.NET… mà không có sự khác biệt nào

Như đã phân tích trên đây ADO.NET cho phép tương tác với các loại dữ liệu và kiểu database Mỗi loại dữ liệu cần một cách thức khác nhau để có thể truy xuất Các loại dữ liệu cũ sử dụng giao thức ODBC, các loại dữ liệu mới hơn sử dụng giao thức OleDb Vì vậy cần có một thư viện thống nhất để làm việc với chúng, đây chính là lý do mà ADO.NET được tạo ra

ADO.NET cung cấp một cách thức chung để tương tác với nguồn dữ liệu, nhưng với mỗi loại dữ liệu bạn phải sử dụng một thư viện khác nhau Các thư viện này được gọi là Data Provider và thường được đặt tên theo giao thức hoặc loại dữ liệu mà chúng cho phép bạn truy xuất ADO.NET có năm đối tượng chính mà bạn bắt buộc phải biết tới khi thao tác với dữ liệu là: SqlConnection, SqlCommand, SqlDataReader, DataSet, SqlDataAdapter

1 Đối tượng SqlConnection cho phép bạn quản lý một kết nối đến nguồn dữ liệu

2 Đối tượng SqlCommand cho phép bạn gửi lệnh đến dữ liệu

3 Đối tượng SqlDataReader cho phép đọc dữ liệu nhanh theo cơ chế forward-only

4 Đối tượng DataSet sẽ được sử dụng nếu muốn làm việc với dữ liệu đã ngắt kết nối

5 Đối tượng SqlDataAdalter sẽ cho phép bạn thực hiện việc đọc và ghi đến dữ liệu nguồn

Hình 2.7 sau đây mô tả kiến trúc của ADO.NET:

Common Language Runtime System Service

Hình 2.7: Kiến trúc của ADO.NET

Từ những phân tích trên đây tác giả củng cố thêm cho việc lựa chọn ASP.NET để sử dụng cho việc phát triển hệ thống Sử dụng ASP.NET và có sự hỗ trợ của ADO.NET sẽ giúp mở rộng và phát triển cho hệ cơ sở dữ liệu của hệ thống sau này.

Bảo mật và cơ chế phân quyền trong hệ thống

Quản lý vai trò của các đối tượng là phần bắt buộc đối với bất kỳ ứng dụng nào Mục đích của quản lý vai trò của đối tượng là nhằm đảm bảo an toàn cho hệ thống và phân chia nhiệm vụ giữa các đối tượng trong hệ thống Khi thiết kế và sử dụng quản lý vai trò của các đối tượng trong hệ thống thì bạn sẽ cung cấp quyền cho đối tượng truy cập tới đúng tài nguyên tương ứng với quyền hạn của đối tượng từ đó hệ thống sẽ đảm bảo an toàn hơn Hầu hết các framework đều hỗ trợ tính năng phân quyền một cách mặc định Với NET Framwork thì chính là Membership Provider (ASP.NET 2.0), SimpleMembership (ASP.NET 4.5), Universal Provider (ASP.NET 4.0), Identity (ASP.NET 4.5.1), Role Provider (ASP.NET MVC 5), tuy nhiên việc thao tác với database của người dùng sẽ rất khó khăn Do đó Custom Provider là phương án hợp lý để điều chỉnh sự bất tiện này o NET Framwork Data Provider for SQL Server o NET Framwork Data Provider for OLE DB o NET Framwork Data Provider for ODBC o NET Framwork Data Provider for Oracle NET Framwork Data Providers available in ADO NET:

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Các đối tượng tham gia vào hệ thống

Người quản trị có quyền đăng nhập vào hệ thống từ bất kỳ nơi đâu Họ có quyền kiểm soát tất cả mọi hoạt động của hệ thống, cụ thể như: Xem danh sách người dùng đăng ký, thêm, xóa, sửa cập nhật thông tin người dùng nếu cần thiết Tùy chỉnh giao diện của hệ thống, thay đổi cho phù hợp với từng thời điểm Admin còn có thể thống kê ảnh/video theo lượng người xem, theo thể loại, theo số lượng lượt người dùng khác yêu thích ảnh/video.

3.1.2 Người sử dụng hệ thống (User)

User là đối tượng sau khi đã có tài khoản và là thành viên của hệ thống Do vậy user có thể đăng nhập, đăng xuất khỏi hệ thống User có thể đăng tải những hình ảnh, video của cá nhân lên hệ thống Có thể sử dụng một số chức năng chỉnh sửa ảnh, video mà hệ thống cung cấp để chỉnh sửa ảnh, video của cá nhân User cũng có thể tìm kiếm ảnh hoặc video của một thành viên khác, có thể thêm ảnh của thành viên khác vào album ảnh của mình User cũng có thể thiết kế, tạo slide trình chiếu ảnh cá nhân và có thể xem trực tiếp trên hệ thống

User còn có thể tùy chỉnh trang cá nhân như thay ảnh đại diện, ảnh bìa của trang cá nhân, tùy chỉnh thông tin cá nhân của mình Có thể yêu thích, bình luận đối với ảnh, video của cá nhân hay của bạn bè trên hệ thống

3.1.3 Khách vãng lai (User Guest)

User Guest là đối tượng người dùng chưa có tài khoản đăng nhập vào hệ thống Do vậy user guest có thể thực hiện đăng ký vào hệ thống, có thể thực hiện việc tìm kiếm ảnh, video theo từ khóa mà không cần phải đăng nhập.

Các yêu cầu chính mà hệ thống phải thực hiện

1 Từng đối tượng user sẽ có các chức năng được xử lý độc lập như thêm, sửa, đăng ký thông tin

2 Admin có thể thực hiện được các chức năng quản trị cả hệ thống như: quản lý user, quản lý thông tin đăng ký Admin có thể tùy chỉnh giao diện của hệ thống cho bắt mắt và phù hợp với thị yếu theo thời gian

3 User có thể đăng ký làm thành viên, đăng nhập vào hệ thống, xem và tìm kiếm ảnh theo chủ đề, có thể tải ảnh của cá nhân lên và cài đặt các quyền hạn cho ảnh tương ứng User còn có thể chỉnh sửa ảnh và video của mình bằng một số tính năng trên hệ thống cung cấp

4 User guest có thể xem và tìm kiếm ảnh theo chủ đề, có thể đăng ký thành viên và có thể bình luận về ảnh, video mà có quyền public

5 Hệ thống phải đảm bảo tính bảo mật trong các thông tin đăng ký, đăng nhập, quản trị

6 Hệ thống có khả năng nhận diện những hình ảnh phản cảm để lọc và không cho công khai để tránh tình trạng thành nơi lưu giữ ảnh phản cảm

7 Hệ thống có cơ chế tự nhận dạng và phân loại ảnh theo chủ đề nếu user không tự thực hiện phân loại.

Phân tích yêu cầu hệ thống

Đối với người dùng: Hệ thống cần cung cấp chức năng đăng ký và đăng nhập Khi đăng nhập vào hệ thống thì hệ thống cần xác định tài khoản để phân quyền truy cập của người đăng nhập với vai trò admin hoặc người dùng thông thường Hệ thống cần đảm bảo việc lưu trữ thông tin của tất cả các đối tượng một cách an toàn Hệ thống cho phép người dùng tìm kiếm ảnh, video theo từ khóa hoặc theo chủ đề, cung cấp giao diện thân thiện để người dùng có thể tải ảnh, video lên một cách dễ dàng Hệ thống cũng cần hỗ trợ công cụ giúp người dùng trong việc quản lý, chỉnh sửa ảnh, video cá nhân Người dùng có thể hiệu chỉnh thông tin cá nhân khi cần thiết Hệ thống cũng cần có cơ chế hỗ trợ phân loại ảnh, video khi người dùng tải ảnh, video lên hệ thống Hỗ trợ thêm tính năng chia sẻ, bình luận, yêu thích ảnh để tăng tính tương tác giữa người dùng với nhau Đối với người quản trị: Hệ thống cần có giao diện riêng đối với người quản trị giúp quản lý thông tin của tất cả các đối tượng trong hệ thống, cần có quyền thêm, xóa, sửa thông tin của các đối tượng này Hệ thống cần có cơ chế nhận diện ảnh giúp hỗ trợ người quản trị trong việc phân loại ảnh phản cảm để tránh tình trạng hình ảnh xấu gây mất uy tín và ảnh hưởng tới người dùng

3.3.1.2 Yêu cầu chức năng hệ thống

Hệ thống cần phân quyền với từng đối tượng người dùng, cho phép người dùng đăng nhập vào hệ thống với vai trò khác nhau ứng với từng đối tượng và quản lý việc truy cập tới tài nguyên của hệ thống tương ứng với từng vai trò của từng đối tượng Hệ thống cần đảm bảo tính bảo mật các thông tin của người dùng như: địa chỉ email, số điện thoại, địa chỉ, user name, password,…

3.3.2 Các yêu cầu phi chức năng 3.3.2.1 Nhắm tới lợi ích của các đối tượng người dùng

Tính tiện dụng: Giao diện thân thiện dễ sử dụng đối với những người sử dụng Windows, dễ tìm kiếm thông tin cần thiết và nhanh chóng

Tính hiệu quả: Đảm bảo việc truy xuất nhanh đến các trang và khả năng kiểm soát lỗi tốt, đăng ký, đăng nhập dễ dàng nhanh chóng

Tính tương thích: Hỗ trợ tốt trên các trình duyệt từ IE 8 trở lên và các trình duyệt khác như Opera, Mozilla Firefox, Google Chrome, …

Tính tiến hóa: Sử dụng AI trong việc phân loại ảnh và nhận diện hình ảnh phản cảm Có tính tự học hỏi khi được học máy trong quá trình tự phân loại ảnh của người dùng

3.3.2.2 Nhắm tới lợi ích của việc phát triển dự án

 Thiết kế theo mô hình Three-tiers

 Các tham số của hệ thống được thiết kế động, dễ tùy chỉnh

 Tính dùng lại của code.

Bảng chú giải

Bảng chú giải này được dùng để định nghĩa các thuật ngữ đặc thù trong lĩnh vực của bài toán, giải thích các từ ngữ có thể không quen thuộc với người đọc trong các mô tả của ca sử dụng hoặc các tài liệu khác của đề tài Thường thì tài liệu này có thể được dùng như một từ điển dữ liệu không chính thức, ghi lại các định nghĩa dữ liệu để mô tả ca sử dụng và các tài liệu khác và các định nghĩa này có thể tập trung vào những gì hệ thống phải thực hiện

3.4.2 Bảng danh sách các tác nhân

Bảng 3.1: Bảng danh sách các tác nhân:

STT Tác nhân Mô tả

1 Admin Admin - Quản trị của hệ thống

2 User User - Là người sử dụng có thể đăng ký, đăng nhập vào hệ thống để tải ảnh, video lên hệ thống và có thể chỉnh sửa ảnh, video của người dùng đó

3 User Guest User Guest - là kiểu người dùng có thể vào tìm kiếm và xem ảnh, video mà không cần đăng nhập Sẽ chỉ có thể xem được những ảnh, video mà người dùng tải lên và để quyền là cho phép tất cả mọi người có thể xem

3.4.3 Bảng chuyển đổi các yêu cầu chức năng sang ca sử dụng

Từ các phân tích về các đối tượng sẽ tham gia vào hệ thống, các yêu cầu và chức năng mà hệ thống cần phải đạt được Tác giả phân rã và chuyển đổi các chức năng sang ca sử dụng tại bảng 3.2 sau đây:

Bảng 3.2: Bảng chuyển đổi các yêu cầu chức năng sang ca sử dụng STT ID Ca sử dụng Actor chính Actor phụ Mô tả tóm tắt

Cho phép actor đăng nhập vào hệ thống

Cho phép actor đăng xuất khỏi hệ thống

Quản lý việc trao đổi giữa người dùng và người quản trị hệ thống

Báo cáo các lỗi trên hệ thống hoặc yêu cầu hỗ trợ liên quan tới tài khoản trong hệ thống

Cho phép actor chỉnh sửa, update nội dung thông báo

Cho phép actor xem nội dung các yêu cầu mình gửi hoặc được gửi tới mình

Trả lời lại các thông báo, yêu cầu mà actor nhận được

Gửi các thông báo, yêu cầu, trao đổi thông tin giữa người quản trị và user

Quản lý nội dung bình luận của User

Admin Ẩn bình luận của người dùng có nội dung vi phạm

Admin Hiển thị lại nội dung bình luận của người dùng

Quản lý ảnh mà người dùng tải lên hệ thống

Admin Ẩn ảnh có nội dung không phù hợp

Admin Hiển thị lại ảnh của người dùng

Quản lý video mà người dùng tải lên hệ thống

Admin Ẩn video có nội dung không phù hợp

Admin Hiển thị lại video của người dùng

Admin Quản lý người dùng

18 UC18 LockUser Admin Khóa tài khoản người dùng

19 UC19 UnlockUser Admin Mở khóa cho tài khoản người dùng

Admin Quản lý tài khoản admin

Admin Thêm một tài khoản admin vào hệ thống

22 UC22 EditAdmin Admin Chỉnh sửa tài khoản admin

Admin Vô hiệu hóa tài khoản admin

Tìm kiếm user từ trong hệ thống

Quản lý giao diện cá nhân hoặc của hệ thống

Admin Thêm quảng cáo trên hệ thống

27 UC27 SettingsSite Admin Thay đổi cài đặt của hệ thống

Thay đổi ngôn ngữ hiển thị

Admin Cập nhật các menu hiển thị trên hệ thống

User Thực hiện bình luận về ảnh hoặc video

User Chỉnh sửa lại nội dung bình luận

Xóa nội dung bình luận

User Actor thực hiện việc xóa video

User Tải video lên hệ thống

User Cập nhật thêm thông tin về video ví dụ như loại video, từ khóa, điều chỉnh quyền hiển thị video,…

User Actor thêm password vào ảnh,video để tăng bảo mật

User User cập nhật từ khóa cho ảnh, video giúp dễ dàng hơn trong việc tìm kiếm ảnh,video

User User cập nhật quyền hiển thị ảnh,video

40 UC40 ShareVideo User Chia sẻ video trên một hệ thống khác

Actor thực hiện việc tìm kiếm video

42 UC42 EditVideo User Actor sử dụng công cụ của hệ thống chỉnh sửa video

43 UC43 LikeVideo User Actor yêu thích một video

User Actor thêm video hoặc ảnh vào album của mình

Actor thực hiện việc xem ảnh

46 UC46 EditImage User Actor sử dụng công cụ của hệ thống chỉnh sửa ảnh

48 UC48 ShareImage User Chia sẻ ảnh trên một hệ thống khác

User Cập nhật thêm thông tin về ảnh ví dụ như loại ảnh, từ khóa, điều chỉnh quyền hiển thị ảnh,…

User Tải ảnh lên hệ thống

Actor thực hiện việc tìm kiếm ảnh

System Sau khi người dùng tải ảnh lên hệ thống thì hệ thống sẽ tự động thực hiện việc kiểm tra ảnh có hợp lệ để đưa lên hệ thống không

53 UC53 LikeImage User User thực hiện yêu thích ảnh

User Khôi phục tài khoản trong hệ thống

User Người dùng thực hiện việc cập nhật ảnh bìa của trang cá nhân

User Người dùng thực hiện việc cập nhật ảnh đại diện

User Người dùng thực hiện việc cập nhật thông tin cá nhân

58 UC58 Registration User Guest Khách vãng lai thực hiện đăng ký tài khoản trên hệ thống

System Khi người dùng tải ảnh lên hệ thống thì hệ thống tự động nhận diện hình ảnh và thêm từ khóa giúp việc tìm kiếm dễ dàng hơn.

Đặc tả ca sử dụng

Phần Đặc tả ca sử dụng xin xem chi tiết tại Phụ lục 1.

Đặc tả bổ sung

Mục tiêu của tài liệu này là để định nghĩa các yêu cầu của Hệ thống quản lý ảnh/video online Đặc tả bổ sung này liệt kê các yêu cầu chưa được thể hiện trong các ca sử dụng Đặc tả bổ sung cùng với các ca sử dụng trong mô hình ca sử dụng thể hiện đầy đủ các yêu cầu của hệ thống này

3.6.2 Phạm vi Đặc tả bổ sung áp dụng cho Hệ thống quản lý ảnh/video online do người thực hiện đề tài phát triển Đặc tả này vạch rõ các yêu cầu phi chức năng của hệ thống, như tính ổn định, tính khả dụng, và tính hỗ trợ cũng như các yêu cầu chức năng chung của một số ca sử dụng.

Hệ thống cần đáp ứng hỗ trợ nhiều người dùng làm việc đồng thời Đồng thời hệ thống cần thực hiện việc tải ảnh, video lên một cách nhanh chóng Cơ chế tự động phân loại và kiểm tra ảnh cần thực hiện nhanh và có độ chính xác cao

Vì hệ thống có liên quan tới nghệ thuật nên hệ thống cần được thiết kế với giao diện đẹp bắt mắt phù hợp với xu hướng người dùng Tuy nhiên giao diện không được quá rườm rà khó sử dụng, cần có thêm hướng dẫn cụ thể cho người sử dụng Cần tạo các hướng dẫn cho người quản trị hệ thống để người quản trị có thể dễ dàng hơn trong việc tiếp cận hệ thống

Hệ thống phải hoạt động 24h một ngày, 7 ngày một tuần, với thời gian ngừng để bảo trì không quá 5 phút Hệ thống cần đáp ứng yêu cầu người dùng một cách nhanh nhất và đòi hỏi tính chính xác cao.

Hệ thống phải có khả năng hỗ trợ hàng ngàn người cùng truy cập tới cơ sở dữ liệu trung tâm trong một lúc ở bất kì thời điểm nào Cần có cơ chế mở rộng và đáp ứng được việc tăng thêm về số lượng người sử dụng đồng thời tại một thời điểm trong tương lai.

1 Vai trò của từng đối tượng phải được thể hiện rõ ràng

2 Người quản trị có quyền cao nhất có thể thêm hay xóa bất kì đối tượng nào

3 Các đối tượng được phân cấp quyền rõ ràng

4 Các thông tin chung của mỗi đối tượng do tự đối tượng đó quản lý

3.6.8 Các ràng buộc thiết kế

Hệ thống phải hỗ trợ hầu hết các trình duyệt của Windows như: Internet Explorer, Opera, Mozilla Firefox, Google Chrome…

Các sơ đồ ca sử dụng

Hình 3.3: Mô hình ca sử dụng của Admin

3.7.2 Mô hình các ca sử dụng của User

Hình 3.4: Mô hình ca sử dụng của User

3.7.3 Mô hình các trường hợp sử dụng của User Guest

Hình 3.5: Mô hình ca sử dụng của User Guest

Các biểu đồ tuần tự

Sau khi thực hiện đặc tả ca sử dụng và đặc tả bổ sung cần thiết kế các lớp tác giả sẽ phân tích thiết kế biểu đồ tuần tự của các ca sử dụng tương ứng để xác định các trình tự diễn ra sự kiện của một nhóm đối tượng tác động lên hệ thống Việc thiết kế biểu đồ tuần tự cần đáp ứng được yêu cầu sau: cần miêu tả chi tiết các thông điệp được gửi và nhận giữa các đối tượng đồng thời cũng chú trọng đến việc trình tự về mặt thời gian gửi và nhận các thông điệp đó

Khi bắt đầu vào hệ thống, hệ thống mở màn hình chính ở trạng thái chưa đăng nhập Người dùng khi có tài khoản có thể lựa chọn đăng nhập vào hệ thống bằng cách chọn “Đăng nhập” ở góc trái màn hình

 Tên biểu đồ: UC01:Login

 Biểu đồ tuần tự (Sequence Diagram):

Hình 3.6: Biểu đồ tuần tự: Đăng nhập hệ thống

3.8.2 Người dùng đăng xuất khỏi hệ thống

 Tên biểu đồ: UC02:Logout

Hình 3.7: Biểu đồ tuần tự: Đăng xuất khỏi hệ thống

3.8.3 Người dùng chỉnh sửa nội dung báo cáo

 Tên biểu đồ: UC04:UpdateReport

Hình 3.8: Biểu đồ tuần tự: Chỉnh sửa báo cáo

 Tên biểu đồ: UC05:View Report

Hình 3.9: Biểu đồ tuần tự: Xem thông báo, báo cáo

 Tên biểu đồ: UC06:ReplyReport

Hình 3.10: Biểu đồ tuần tự: Trả lời lại báo cáo

3.8.6 Gửi báo cáo lên hệ thống

 Tên biểu đồ: UC07:SendReport

Hình 3.11: Biểu đồ tuần tự: Gửi báo cáo lên hệ thống

3.8.7 Vô hiệu hóa bình luận

 Tên biểu đồ: UC09:DeactiveComment

Hình 3.12: Biểu đồ tuần tự: Vô hiệu hóa bình luận

 Tên biểu đồ: UC10:ActiveComment

Hình 3.13: Biểu đồ tuần tự: Kích hoạt bình luận

 Tên biểu đồ: UC12:DeactiveImage

Hình 3.14: Biểu đồ tuần tự: Vô hiệu hóa ảnh

 Tên biểu đồ: UC13:ActiveImage

Hình 3.15: Biểu đồ tuần tự: Kích hoạt ảnh

 Tên biểu đồ: UC15:DeactiveVideo

Hình 3.16: Biểu đồ tuần tự: Vô hiệu hóa video

 Tên biểu đồ: UC16:ActiveVideo

Hình 3.17: Biểu đồ tuần tự: Kích hoạt video

3.8.13 Khóa tài khoản người dùng

 Tên biểu đồ: UC18:LockUser

Hình 3.18: Biểu đồ tuần tự: Khóa tài khoản người dùng

3.8.14 Mở khóa tài khoản người dùng

 Tên biểu đồ: UC19:UnlockUser

Hình 3.19: Biều đồ tuần tự: Mở khóa tài khoản người dùng

 Tên biểu đồ: UC21:AddNewAdmin

Hình 3.20: Biểu đồ tuần tự: Thêm tài khoản admin

3.8.16 Chỉnh sửa tài khoản admin

 Tên biểu đồ: UC22:EditAdmin

Hình 3.21: Biểu đồ tuần tự: Chỉnh sửa tài khoản admin

3.8.17 Vô hiệu hóa tài khoản admin

 Tên biểu đồ: UC23:DeactiveAdmin

Hình 3.22: Biểu đồ tuần tự: Vô hiệu hóa tài khoản admin

 Tên biểu đồ: UC24:FindUser

Hình 3.23: Biểu đồ tuần tự: Tìm kiếm người dùng

 Tên biểu đồ: UC26:AddAdvertisement

Hình 3.24: Biểu đồ tuần tự: Thêm quảng cáo

3.8.20 Thay đổi ngôn ngữ hiển thị

 Tên biều đồ: UC28:Choose Language

Hình 3.25: Biểu đồ tuần tự: Thay đổi ngôn ngữ hiển thị

 Tên biều đồ: UC29:UpdateMenus

Hình 3.26: Biểu đồ tuần tự: Cập nhật menus

 Tên biều đồ: UC30:AddComment

Hình 3.27: Biểu đồ tuần tự: Thêm bình luận

 Tên biều đồ: UC31:EditComment

Hình 3.28: Biểu đồ tuần tự: Chỉnh sửa bình luận

 Tên biều đồ: UC32:DeleteComment

Hình 3.29: Biểu đồ tuần tự: Xóa bình luận

 Tên biều đồ: UC33:ViewVideo

Hình 3.30: Biểu đồ tuần tự: Xem video

 Tên biều đồ: UC34:DeleteVideo

Hình 3.31: Biểu đồ tuần tự: Xóa video

3.8.27 Tải video lên hệ thống

 Tên biều đồ: UC35:UploadVideo

Hình 3.32: Biểu đồ tuần tự: Tải video lên hệ thống

3.8.28 Thêm mật khẩu cho ảnh, video

 Tên biều đồ: UC37:AddPassword

Hình 3.33: Biểu đồ tuần tự: Thêm mật khẩu cho ảnh, video

3.8.29 Cập nhật từ khóa cho ảnh, video

 Tên biều đồ: UC38:UpdateKeyWord

Hình 3.34: Biểu đồ tuần tự: Cập nhật từ khóa cho ảnh, video

3.8.30 Cập nhật quyền xem ảnh, video

 Tên biều đồ: UC39:UpdatePermission

Hình 3.35: Biểu đồ tuần tự: Cập nhật quyền xem ảnh, video

 Tên biều đồ: UC40:ShareVideo

Hình 3.36: Biểu đồ tuần tự: Chia sẻ video

 Tên biều đồ: UC41:FindVideo

Hình 3.37: Biểu đồ tuần tự: Tìm kiếm video

 Tên biều đồ: UC42:EditVideo

Hình 3.38: Biểu đồ tuần tự: Chỉnh sửa video

 Tên biều đồ: UC43:LikeVideo

Hình 3.39: Biểu đồ tuần tự: Yêu thích video

3.8.35 Thêm ảnh, video vào album

 Tên biều đồ: UC44:AddToAlbum

Hình 3.40: Biểu đồ tuần tự: Thêm ảnh, video vào album

 Tên biều đồ: UC45:ViewImage

Hình 3.41: Biểu đồ tuần tự: Xem ảnh

 Tên biều đồ: UC46:EditImage

Hình 3.42: Biểu đồ tuần tự: Chỉnh sửa ảnh

 Tên biều đồ: UC47:DeleteImage

Hình 3.43: Biểu đồ tuần tự: Xóa ảnh

 Tên biều đồ: UC48:ShareImage

Hình 3.44: Biểu đồ tuần tự: Chia sẻ ảnh

3.8.40 Tải ảnh lên hệ thống

 Tên biều đồ: UC50:UploadImage

Hình 3.45: Biểu đồ tuần tự: Tải ảnh lên hệ thống

 Tên biều đồ: UC51:FindImage

Hình 3.46: Biểu đồ tuần tự: Tìm kiếm ảnh

3.8.42 Kiểm tra ảnh có tính chất phản cảm

 Tên biều đồ: UC52:CheckImage

Hình 3.47: Biểu đồ tuần tự: Kiểm tra ảnh có tính chất phản cảm

 Tên biều đồ: UC53:LikeImage

Hình 3.48: Biểu đồ tuần tự: Yêu thích ảnh

3.8.44 Lấy lại tài khoản từ hệ thống

 Tên biều đồ: UC54:RecoverAccount

Hình 3.49: Biểu đồ tuần tự: Lấy lại tài khoản từ hệ thống

 Tên biều đồ: UC55:UpdateCoverImage

Hình 3.50: Biểu đồ tuần tự: Cập nhật ảnh bìa

3.8.46 Cập nhật ảnh đại diện

 Tên biều đồ: UC56:UpdateAvatar

Hình 3.51: Biểu đồ tuần tự: Cập nhật ảnh đại diện

3.8.47 Cập nhật thông tin cá nhân

 Tên biều đồ: UC57:UpdatePersonalInfo

Hình 3.52: Biểu đồ tuần tự: Cập nhật thông tin cá nhân

3.8.48 Đăng ký tài khoản vào hệ thống

 Tên biều đồ: UC58:Registration

Hình 3.53: Biểu đồ tuần tự: Đăng ký tài khoản vào hệ thống

 Tên biều đồ: UC59:ImageRecognition

Hình 3.54: Biểu đồ tuần tự: Nhận dạng hình ảnh

Biểu đồ lớp

Dựa vào biều đồ tuần tự tại mục 5.8.1 và phần đặc tả ca sử dụng xác định được các class tham gia khi user thực hiện quá trình đăng nhập:

STT Tên lớp Mô tả

1 login Hiển thị giao diện trang đăng nhập cho người dùng

2 UsersBO Thao tác với cơ sở dữ liệu nhằm kiểm tra tài khoản người dùng

3 indexAfterUserControl Hiển thị giao diện sau khi người dùng đăng nhập thành công

4 PhotosBO Class indexAfterUserControl sẽ dùng để lấy ảnh hiển thị sau khi đăng nhập thành công

5 VideosBO Class indexAfterUserControl sẽ dùng để lấy video hiển thị sau khi đăng nhập thành công

6 SearchCategoryBO Class indexAfterUserControl lấy ảnh, video phân loại theo category

Hình 3.55: Biểu đồ lớp: Đăng nhập hệ thống

3.9.2 Biểu đồ lớp đăng ký thành viên

Dựa vào biểu đồ tuần tự tại mục 5.48.8 và phần đặc tả ca sử dụng xác định được các class tham gia khi user thực hiện quá trình đăng ký thành viên như bảng sau:

STT Tên lớp Mô tả

1 register Hiển thị giao diện trang đăng ký cho người dùng

2 UsersBO Thao tác với cơ sở dữ liệu nhằm lưu thông tin tài khoản người dùng mới đăng ký vào cơ sở dữ liệu

Hình 3.56: Biểu đồ lớp: Đăng ký thành viên

3.9.3 Biểu đồ lớp quản lý ảnh/video

Hình 3.57: Biểu đồ lớp: Quản lý ảnh/video

3.9.4 Biểu đồ lớp quản lý người dùng

Hình 3.58: Biểu đồ lớp: Quản lý người dùng

3.9.5 Biểu đồ lớp trao đổi thông tin

Hình 3.59: Biểu đồ lớp: Trao đổi thông tin

3.9.6 Biểu đồ lớp quản lý hệ thống

Hình 3.60: Biểu đồ lớp: Quản lý hệ thống

3.9.7 Biểu đồ lớp quản lý tìm kiếm

Hình 3.61: Biểu đồ lớp: Quản lý tìm kiếm

Thiết kế dữ liệu

Dựa vào các biểu đồ lớp đã được tạo, và biểu đồ tuần tự xác định các đối tượng tương ứng trong biểu đồ quan hệ tại bảng 3.62:

Bảng 3.62: Bảng mô tả ánh xạ giữa đối tượng trong lớp và đối tượng trong biểu đồ quan hệ

STT Tên lớp Mô tả ánh xạ giữa thiết kế lớp và thiết kế dữ liệu

Ca sử dụng liên quan

1 UserBO Lớp chứa các phương thức để lấy các thông tin về người dùng như: họ tên, số điện thoại, địa chỉ email, giới tính,…Để lưu các thông tin này cần phải tạo ra một lớp tên là “UserInfo” trong mô tả tại

Biểu đồ lớp: Quản lý người dùng

UC01 UC54 UC55 UC56 UC57 UC58

2 AlbumBO Lớp lưu thông tin về một album như: tên, ngày tạo, mô tả về album Lớp AlBumBO được mô tả trong Biểu đồ lớp:

3 MenuBO Quản lý các menus mà hệ người quản trị tạo ra cho hệ thống

4 SearchCategoryBO Lớp SearchCategoryBO chứa các phương thức và thuộc tính hỗ trợ việc tìm kiếm ảnh theo loại Sẽ tạo ra một bảng SearchCategory tương ứng giúp việc tìm kiếm được nhanh hơn

5 SearchKeywordBO Lớp SearchKeywordBO chứa các phương thức và thuộc tính hỗ trợ việc tìm kiếm ảnh theo từ khóa Sẽ tạo ra một bảng SearchKeyword tương ứng giúp việc tìm kiếm được tối ưu hơn

6 PhotosBO Lớp lưu thông tin ảnh, video: tên, ngày tải lên, đường dẫn tới ảnh,…Lớp PhotosBO được mô tả trong Biểu đồ lớp:

UC12,UC13 UC15,UC16 UC30,UC31 UC32,UC33 UC34,UC35 UC37,UC38

UC39,UC40 UC41,UC42 UC43,UC44 UC45,UC46 UC47,UC48 UC50,UC51 UC52,UC53 UC59

7 CategoryBO Lớp CategoryBO lưu thông tin về loại ảnh, video như: tên category, ngày tạo,…Do đó tương ứng với lớp CategoryBO này cần tạo ra một đối tượng Categories tương ứng trong cơ sở dữ liệu giúp lưu trữ các thông tin trên

UC12,UC13 UC15,UC16 UC30,UC31 UC32,UC33 UC34,UC35 UC37,UC38 UC39,UC40 UC41,UC42 UC43,UC44 UC45,UC46 UC47,UC48 UC50,UC51 UC52,UC53 UC59

8 Bảng giúp tạo mối liên kết giữa ảnh với album Để dễ dàng hơn trong việc quản lý ảnh theo album

UC12,UC13 UC15,UC16 UC30,UC31 UC32,UC33 UC34,UC35 UC37,UC38 UC39,UC40 UC41,UC42 UC43,UC44 UC45,UC46 UC47,UC48 UC50,UC51 UC52,UC53 UC59

9 Để thống kê lượng xem ảnh và dự đoán xu hướng về loại ảnh mà cộng đồng muốn xem, tác giả tạo ra bảng Views lưu trữ

10 Trong hệ thống cần lưu trữ người thực hiện bình luận ảnh

Nội dung bình luận tương ứng với ảnh nào nên cần tạo ra bảng Comments

11 Trong hệ thống cần thực hiện lưu lại số lượt thích ảnh Và cần xác định được người dùng nào đã thích ảnh đó nên tạo ra bảng Likes để lưu trữ

12 Như phân tích về các đối tượng tham gia vào hệ thống

Cần tạo ra bảng Roles để phân quyền cho người dùng

UC01 UC18 UC19 UC21 UC22 UC23

Hình 3.63: Sơ đồ mô hình dữ liệu

3.10.2 Danh sách các bảng dữ liệu 3.10.2.1 Roles

 Mô tả: Phân quyền cho user trong hệ thống

 Các thành phần lưu trữ: RoleID, RoleName Khóa chính là: RoleName

AlbumID AlbumName CreatedDate UserID Description Permission

CommentID Contents UserID PhotoID CreatedDate

MenuID Name Url ParentID Status

PhotoID Title Description KeyWord Permission Url DateOfUpload CategoryID UserID IsVideo Password

UserID Email Password FirstName LastName DateOfBirth Sex RoleID Avatar CoverImage DateOfRegister Phone Address Description Status

 Mô tả: Lưu trữ thông tin của người sử dụng

 Các thành phần lưu trữ: UserID, Email, Password, FirstName, LastName, DateOfBirth, RoleID, Avatar, DateOfRegister, CoverImage Khóa chính là: UserID

 Mô tả: Lưu trữ quản lý thông tin menu

 Các thành phần lưu trữ: MenuID, Name, Url, ParentID, Status Khóa chính là:

 Mô tả: Lưu trữ quản lý thông tin đánh giá, bình luận

 Các thành phần lưu trữ: ID, UserID, PhotoID, CreateDate Khóa chính là: ID

 Mô tả: Lưu trữ quản lý album ảnh, video

 Các thành phần lưu trữ: AlbumID, AlbumName, CreatedDate, UserID, Description, Permission Khóa chính là: AlbumID

 Mô tả: Lưu trữ quản lý bình luận của người dùng

 Các thành phần lưu trữ: CommentID, Contents, UserID, PhotoID, CreatedDate

 Mô tả: Lưu trữ liên kết album ảnh và ảnh

 Các thành phần lưu trữ: ID, PhotoID, AlbumID Khóa chính là: IDCommentID

 Mô tả: Lưu trữ quản lý ảnh/video

 Các thành phần lưu trữ: PhotoID, Title, Description, KeyWord, Permission, Url, DateOfUpload, CategoryID, UserID, MediaType Khóa chính là: PhotoID

 Mô tả: Lưu trữ quản lý categories

 Các thành phần lưu trữ: CategoryID, CategoryName, Created, ParentID Khóa chính là: CategoryID

 Mô tả: Lưu trữ thông tin về categories giúp tối ưu việc tìm kiếm

 Các thành phần lưu trữ: ID, CategoryId, CategoryName, CreateDate Khóa chính là:

 Mô tả: Lưu trữ thông tin về ảnh giúp tối ưu việc tìm kiếm

 Các thành phần lưu trữ: ID, Keyword, CreateDate Khóa chính là: ID

 Mô tả: Lưu trữ quản lý việc xem ảnh của người dùng Giúp người quản trị có thể thống kê được loại ảnh nào được xem nhiều để phán đoán xu hướng người dùng

 Các thành phần lưu trữ: ID, UserID, PhotoID, CreatedDate Khóa chính là: ID

3.10.3 Danh sách các thành phần của lược đồ dữ liệu

Bảng 3.64: Danh sách các thành phần của lược đồ dữ liệu

STT Tên Loại Ý nghĩa Ghi chú

1 Roles Tham số Phân quyền user hoặc admin

2 User Đối tượng Danh sách các user đăng ký trong hệ thống

3 Likes Tham số Lưu trữ số lượng yêu thích

4 Menus Đối tượng Quản lý các menus trên hệ thống website

5 Albums Đối tượng Các album ảnh, video

6 Comments Đối tượng Quản lý comment của các bức ảnh, video

7 PhotoAlbum Đối tượng Liên kết ảnh và album

8 Photos Đối tượng Thông tin chi tiết của mỗi bức ảnh, video

9 Categories Tham số Phân loại ảnh, video

10 SearchCategory Tham số Tìm kiếm ảnh theo loại ảnh

11 SearchKeyword Tham số Tìm kiếm ảnh theo từ khóa

12 Views Tham số Thống kê số lượng người xem

3.10.4 Danh sách các thuộc tính của từng thành phần

Về thuộc tính của từng thành phần dữ liệu xin xem chi tiết tại Phụ lục 2.

Thiết kế kiến trúc

 Cấu trúc cây phân nhóm - Cấp 1

 Cấu trúc cây phân nhóm – Cấp 2: User Guest

Hệ thống quản lý Ảnh/Video Online

Vai trò của User Vai trò của User

Vai trò của User Guest

Xem, đánh giá ảnh, video

 Cấu trúc cây phân nhóm – Cấp 2: User

 Cấu trúc cây phân nhóm – Cấp 2: Admin

Upload, chia sẻ ảnh, video Điều chỉnh thông tin cá nhân

Quản lý trao đổi thông tin

Quản lý giao diện website

CÀI ĐẶT

Cài đặt chương trình

Dưới đây là một số hình ảnh về hệ thống mà tác giả đã cài đặt:

Giao diện màn hình chính khi bắt đầu vào website:

Người dùng có thể thực hiện tìm kiếm ảnh/video theo từ khóa mà chưa phải đăng nhập vào hệ thống Ví dụ khi tìm kiếm với từ khóa “đẹp” thì hệ thống hiển thị tất cả ảnh được public trong hệ thống mà có từ khóa “đẹp”:

Khi người dùng lựa chọn “Đăng ký” thì giao diện form “Đăng ký” được hiển thị để người dùng có thể “Đăng ký” tài khoản vào hệ thống:

Nếu đã có tài khoản đăng nhập hệ thống người dùng chọn “Đăng nhập”:

Sau khi “Đăng nhập” vào hệ thống ảnh/video của các user khác trong hệ thống mà ở chế độ public được hiển thị:

Click vào “Bạn” để xem tất cả ảnh/video của cá nhân đã upload trước đó:

Có thể thực hiện tìm kiếm ảnh/video theo từ khóa sau khi “Đăng nhập”:

Thực hiện select một Ảnh bất kỳ mà tìm được có thể thực hiện “Thích” hoặc “Comment” dưới ảnh:

Có thể tùy chỉnh thông tin cá nhân bằng cách chọn vào icon của cá nhân và chọn “Thiết lập”

Người dùng có thể thực hiện thay đổi ảnh đại diện hoặc thay đổi ảnh bìa, có thể lấy ảnh trong kho ảnh của mình, trong album hoặc có thể tải ảnh lên từ PC:

Từ hệ thống có thể vào mục “Khám phá” để tìm kiếm ảnh/video theo chủ đề/thể loại có sẵn:

Khi thực hiện view ảnh cá nhân upload có thể thực hiện chỉnh sửa bằng cách click vào biểu tượng tool chỉnh sửa góc dưới bên phải của ảnh:

Khi click vào ảnh cá nhân upload có thể cập nhật lại thông tin về ảnh như: Thêm vào album khác, thêm từ khóa, thay đổi chế độ hiển thị, cập nhật thể loại ảnh, thêm mật khẩu để che dấu ảnh:

Người dùng có thể thực hiện upload ảnh/video lên hệ thống, có thể cập nhật tên ảnh/video, có thể thêm từ khóa, chọn thể loại và chế độ hiển thị cũng như thêm mật khẩu cho ảnh nếu không muốn người khác có thể xem ảnh của mình (Có thể upload một hoặc nhiều ảnh/video đồng thời):

Nếu ảnh có mật khẩu muốn xem được ảnh sẽ cần phải nhập mật khẩu mới có thể xem được: Đối với người quản trị hệ thống thì khi đăng nhập vào trang admin sẽ có giao diện như sau:

Có thể vào mục “Thông tin user” để có thể tùy chỉnh các user trong hệ thống Tại đây admin cũng có thể thêm người quản trị hoặc tìm kiếm user bất kỳ:

Thực hiện thêm danh mục, quản lý danh mục sẽ click vào “Quản lý danh mục” Tại đây admin có thể tạo mới một danh mục hoặc xóa một danh mục đã tạo trước đấy:

Admin có thể xem thống kê theo từ khóa mà người dùng tìm kiếm, hoặc thống kê theo danh mục mà người dùng hay lựa chọn, hay thống kê theo lượt xem lượt thích nhằm phục vụ cho việc tìm hiểu xu hướng người dùng:

Triển khai và thử nghiệm chương trình

Trước tiên bạn copy thư mục ứng dụng có tên PhotosStore vào ổ cứng (Chẳng hạn:

C:/PhotosStore ) Sau đó, bằng việc cấu hình trong IIS cùng với việc cấu hình ASP.NET trong IIS, bạn có thể truy cập vào website thông qua địa chỉ sau: http:// http://localhost:8080/default.aspx/ và trang mặc định sẽ được triệu gọi (Default.aspx) Các bước cấu hình cụ thể như sau: Vào IIS, chọn Default Web Site =>Right-Click => Add Virtual Directory…=> Gõ vào ô Alias tên truy cập (ví dụ: C:/ PhotosStore) => Chọn đường dẫn tới thư mục vừa chép các files chương trình (C:/ PhotosStore) => Thiết lập các quyền truy xuất => Finish

Kế tiếp, cần phải tạo cơ sở dữ liệu cho ứng dụng trong cơ sở dữ liệu SQL Sever bằng cách sử dụng trình điều khiển Microsoft SQL Sever Management Studio như hình 4.1:

Hình 4.1: Microsoft SQL Sever Management Studio

Kế tiếp, bạn tạo cơ sở dữ liệu có tên PhotosManagement bằng cách chọn ngăn Database =>

Right-Click => New Database như hình 4.2 Đặt tên cơ sở dữ liệu là PhotosManagement và chọn địa chỉ để lưu cơ sở dữ liệu như hình 4.3

Hình 4.2: Tạo cơ sở dữ liệu PhotosManagement

Hình 4.3: Chọn chức năng Restore Database

Sau khi tạo thành công cơ sở dữ liệu PhotosManagement, tên cơ sở dữ liệu này sẽ xuất hiện trong danh sách cơ sở dữ liệu của SQL Server Bước kế tiếp là copy tập tin backup có tên PhotosManagement trong thư mục Database của đĩa cài đặt vào đĩa cứng

Trở lại trình điều khiển Microsoft SQL Sever Management Studio, bạn phải phục hồi dữ liệu từ tập tin backup Để làm điều này, bạn chọn tên cơ sở dữ liệu PhotosManagement và Right-Click => Tasks => Restore => Database Sau đó bạn chọn đường dẫn lấy tập tin backup để phục hồi Chọn OK, SQL Server phục hồi thành công cơ sở dữ liệu PhotosManagement Sau đó vào cơ sở dữ liệu PhotosManagement và Refresh, ta sẽ có cơ sở dữ liệu như hình 4.4:

Hình 4.4: Danh sách các đối tượng cơ sở dữ liệu

TỔNG KẾT

Kết luận

Với sự phát triển của công nghệ như hiện nay và sẽ còn phát triển hơn nữa trong thời gian tới Đồng hành với đó là nhu cầu lưu trữ ảnh, video nhằm chia sẻ, giải trí trên internet sẽ còn phát triển hơn nữa Xuất phát từ những nhu cầu thực tế như vậy em mong muốn xây dựng một ứng dụng có tính thực tiễn cao đó là Hệ thống quản lý ảnh/video online nhằm góp phần nào phục vụ, thỏa mãn nhu cầu lưu trữ và chia sẻ của rất nhiều người ở trên Xây dựng một ứng dụng giải trí sử dụng một công nghệ lập trình mới, hiện đại có nhiều những thú vị song cũng không ít thách thức Thứ nhất, đã tồn tại rất nhiều website có tính chất tương tự nên việc phát triển mang tính đột phá khác biệt rất khó Thứ hai, do tính chất công việc hiện tại nên em gần như chưa bao giờ lập trình web và em thực sự chưa làm việc với ASP.NET để xây dựng một ứng dụng Web Dó đó quá trình thực hiện luận văn gặp khá nhiều vấn đề khó khăn, mất khá nhiều thời gian để có thể nắm được cách làm việc với ASP.NET Dó đó dù không mong muốn nhưng Website vẫn chưa theo đúng được ý muốn mà bản thân em đặt ra lúc ban đầu Ngoài ra, để xây dựng một trang Web thành công thì giao diện cũng là một yếu tố rất quan trọng, nó phải có sự kết hợp hài hòa giữa sự hấp dẫn, lôi cuốn người dùng vừa có sự đơn giản thân thiện Nhất là một Website có liên quan nhiều tới nghệ thuật như Website em thực hiện Về mặt này em nhận thấy bản thân còn chưa có nhiều kinh nghiệm về thiết kế giao diện nên giao diện còn khá đơn giản

Sau đây là những phần mà em đã hoàn thành trong luận văn (mặc dù còn rất nhiều ý tưởng, dự định chưa thể thực hiện được do khả năng và thời gian có hạn, hy vọng rằng có thể hoàn thiện hơn trong thời gian tới):

1 Giao diện được xây dựng khá hoàn chỉnh, tương ứng với từng đối tượng người dùng có thanh menu riêng, chứa các khả năng có thể thực hiện

2 Với đối tượng người dùng là Quản trị thì có thể thực hiện được các chức năng sau:

 Đăng nhập vào hệ thống

 Xem danh sách người dùng với vai trò quản trị

 Xem thông tin chi tiết của từng người dùng với vai trò quản trị

 Xóa một người dùng khỏi cơ sở dữ liệu

 Điều chỉnh thông tin các nhân

 Quản lý tùy chỉnh giao diện của website

 Thêm một người sử dụng mới với vai trò quản trị

 Xem nội dụng thông điệp, gửi và xóa thông điệp trong danh sách

Các yêu cầu về bảo mật: Sử dụng kiến trúc bảo mật của ASP.NET Khả năng tương thích với các trình duyệt khác nhau: Chạy tốt trên các trình duyệt khác nhau hỗ trợ kiến trúc bảo mật mới của ASP.NET như: Internet Explorer, Mozilla Firefox, GoogleChorme.

Hướng phát triển

Như trên đã trình bày, hệ thống đã xây dựng còn khá nhiều hạn chế cả về giao diện lẫn chức năng, nó cũng chưa được đúng với mong muốn và những phân tích về nhu cầu của hệ thống

Trong tương lai, có thể mở rộng thêm nhiều chức năng mới và có thể chuyên biệt hóa về một loại ảnh nghệ thuật cụ thể Nếu làm thế website sẽ hoàn thiện và em tin là sẽ thu hút được nhiều sự chú ý từ người dùng

5.2.2 Mở rộng thêm các chức năng edit Ảnh/Video

Chức năng edit Ảnh/Video còn ở mức khá đơn giản Rất nhiều người hiện tại muốn sau khi upload ảnh lên website có thể chỉnh sửa thêm các hiệu ứng cho ảnh đẹp và lung linh hơn trước khi chia sẻ cho bạn bè Do vậy nếu thực hiện thêm nhiều tính năng edit cho Ảnh/Video sẽ càng thu hút được người dùng hơn nữa.

5.2.3 Sử dụng AI cho việc nhận diện Ảnh và Video

Trong hệ thống của mình em có đề cập tới việc tự động nhận diện ảnh, tự động tag tên, tag từ khóa sử dụng cho việc tìm kiếm ảnh, video Tuy nhiên chức năng này vẫn chưa hoàn thiện Ngày nay AI đang là một bước tiến trong công nghệ Với hướng tiếp theo em mong muốn có thể sử dụng AI cho tính năng này nhằm phân loại ảnh, video chính xác hơn và giúp người quản trị kiểm soát ảnh phản cảm đưa lên hệ thống.

5.2.4 Tăng cường quảng cáo giới thiệu hệ thống tới người dùng

Vì hệ thống đang hướng tới việc sử dụng cho mục đích bán hàng, quảng cáo và giới thiệu sản phầm nên cần đẩy mạnh việc quảng cáo hình ảnh website nhằm tăng lượng truy cập và sử dụng website Có thể tạo ra các mẫu thiết kế mẫu kết hợp với việc chỉnh sửa ảnh, video khi đó người dùng bán hàng có thể sử dụng website như một nơi thiết kế hình ảnh banner giới thiệu các sản phẩm của mình.

Ngày đăng: 05/12/2022, 18:01

HÌNH ẢNH LIÊN QUAN

Hình 2.1 [2,tr29] mơ tả mơ hình thiết kế MVC: - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 2.1 [2,tr29] mơ tả mơ hình thiết kế MVC: (Trang 13)
Bảng 3.2: Bảng chuyển đổi các yêu cầu chức năng sang ca sử dụng - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Bảng 3.2 Bảng chuyển đổi các yêu cầu chức năng sang ca sử dụng (Trang 25)
Hình 3.8: Biểu đồ tuần tự: Chỉnh sửa báo cáo - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.8 Biểu đồ tuần tự: Chỉnh sửa báo cáo (Trang 33)
Hình 3.10: Biểu đồ tuần tự: Trả lời lại báo cáo - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.10 Biểu đồ tuần tự: Trả lời lại báo cáo (Trang 34)
Hình 3.12: Biểu đồ tuần tự: Vơ hiệu hóa bình luận - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.12 Biểu đồ tuần tự: Vơ hiệu hóa bình luận (Trang 35)
Hình 3.16: Biểu đồ tuần tự: Vơ hiệu hóa video - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.16 Biểu đồ tuần tự: Vơ hiệu hóa video (Trang 37)
Hình 3.19: Biều đồ tuần tự: Mở khóa tài khoản người dùng - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.19 Biều đồ tuần tự: Mở khóa tài khoản người dùng (Trang 38)
Hình 3.20: Biểu đồ tuần tự: Thêm tài khoản admin - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.20 Biểu đồ tuần tự: Thêm tài khoản admin (Trang 39)
Hình 3.23: Biểu đồ tuần tự: Tìm kiếm người dùng - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.23 Biểu đồ tuần tự: Tìm kiếm người dùng (Trang 40)
Hình 3.24: Biểu đồ tuần tự: Thêm quảng cáo - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.24 Biểu đồ tuần tự: Thêm quảng cáo (Trang 41)
Hình 3.43: Biểu đồ tuần tự: Xóa ảnh - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.43 Biểu đồ tuần tự: Xóa ảnh (Trang 53)
Hình 3.47: Biểu đồ tuần tự: Kiểm tra ảnh có tính chất phản cảm - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.47 Biểu đồ tuần tự: Kiểm tra ảnh có tính chất phản cảm (Trang 55)
Hình 3.51: Biểu đồ tuần tự: Cập nhật ảnh đại diện - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.51 Biểu đồ tuần tự: Cập nhật ảnh đại diện (Trang 57)
Hình 3.58: Biểu đồ lớp: Quản lý người dùng - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.58 Biểu đồ lớp: Quản lý người dùng (Trang 62)
Hình 3.61: Biểu đồ lớp: Quản lý tìm kiếm - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.61 Biểu đồ lớp: Quản lý tìm kiếm (Trang 63)
Hình 3.60: Biểu đồ lớp: Quản lý hệ thống - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
Hình 3.60 Biểu đồ lớp: Quản lý hệ thống (Trang 63)
8 Bảng giúp tạo mối liên kết giữa  ảnh  với  album.  Để  dễ  dàng  hơn  trong  việc  quản  lý  ảnh theo album - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
8 Bảng giúp tạo mối liên kết giữa ảnh với album. Để dễ dàng hơn trong việc quản lý ảnh theo album (Trang 65)
Chương 4: CÀI ĐẶT 4.1.  Cài đặt chương trình  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
h ương 4: CÀI ĐẶT 4.1. Cài đặt chương trình (Trang 71)
1 Từ màn hình chính actor lựa chọn button [Thông báo].  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Từ màn hình chính actor lựa chọn button [Thông báo]. (Trang 91)
1 Admin vào màn hình quản trị và click vào button [Quản trị bình  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Admin vào màn hình quản trị và click vào button [Quản trị bình (Trang 93)
1 Admin vào màn hình quản trị và click vào button [Thông tin  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Admin vào màn hình quản trị và click vào button [Thông tin (Trang 98)
1 Admin vào màn hình quản trị và click vào button [Thông tin  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Admin vào màn hình quản trị và click vào button [Thông tin (Trang 99)
1 Admin vào màn hình quản trị và click vào button [Thông tin  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Admin vào màn hình quản trị và click vào button [Thông tin (Trang 100)
1 Admin vào màn hình quản trị và click vào button [Thông tin  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Admin vào màn hình quản trị và click vào button [Thông tin (Trang 102)
1 Admin vào màn hình quản trị và click vào button [Thông tin  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Admin vào màn hình quản trị và click vào button [Thông tin (Trang 103)
1 Admin vào màn hình quản trị và click vào button [Quản lý trang]  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Admin vào màn hình quản trị và click vào button [Quản lý trang] (Trang 104)
1 Admin vào màn hình quản trị và click vào button [Quản lý danh  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Admin vào màn hình quản trị và click vào button [Quản lý danh (Trang 106)
1 Trên giao diện màn hình chính actor click button [Tải lên].  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Trên giao diện màn hình chính actor click button [Tải lên]. (Trang 111)
1 Trên giao diện màn hình chính actor click button [Tải lên].  - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
1 Trên giao diện màn hình chính actor click button [Tải lên]. (Trang 123)
5. Bảng Albums - Luận văn thạc sĩ VNU UET xây dựng hệ thống quản lý ảnh,video online
5. Bảng Albums (Trang 133)