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

Đại học đà nẵng

63 5 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 Website Rao Vặt, Mua Bán, Trao Đổi Đồ Cũ Cho Sinh Viên UTE
Tác giả Ngô Thanh Tuấn
Người hướng dẫn ThS. Nguyễn Thị Hà Quyên
Trường học Đại học Đà Nẵng
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 63
Dung lượng 3,97 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (15)
    • 1.1. Tổng quan đề tài (15)
    • 1.2. Mục đích đề tài (15)
    • 1.3. Phạm vi đề tài (16)
    • 1.4. Cơ cấu tổ chức (16)
    • 1.5. Hoạt động nghiệp vụ thực tế (17)
    • 1.6. Đặc tả yêu cầu nghiệp vụ (Business Requirments) (18)
      • 1.6.1. Khách hàng chưa là thành viên (18)
      • 1.6.2. Sinh viên (chung) (18)
      • 1.6.3. Sinh viên có món đồ (19)
      • 1.6.4. Sinh viên có nhu cầu mua hoặc đổi món đồ (19)
      • 1.6.5. Người quản trị (19)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (20)
    • 2.1. Hệ quản trị cơ sở dữ liệu (20)
      • 2.1.1. MySQL là gì (0)
      • 2.1.2. Đôi nét về lịch sử (0)
      • 2.1.3. Ưu điểm MySQL (0)
    • 2.2. Ngôn ngữ lập trình PHP (21)
      • 2.2.1. PHP là gì (0)
      • 2.2.2. Đôi nét về lịch sử (0)
    • 2.3. Laravel Framework (22)
      • 2.3.1. Laravel là gì (23)
      • 2.3.2. Đôi nét về lịch sử (23)
    • 2.4. Bootstrap (25)
      • 2.4.1. Bootstrap là gì (25)
    • 2.5. Mô hình MVC (26)
  • CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ (28)
    • 3.1. Đặc tả yêu cầu phần mềm (Software Requirements) (28)
      • 3.1.1. Khách vãng lai (28)
      • 3.1.2. Sinh viên có món đồ (28)
      • 3.1.3. Sinh viên có nhu cầu trao đổi, mua đồ cũ (29)
      • 3.1.4. Quản trị viên (Phòng CTHSSV) (29)
    • 3.2. Sơ đồ Usecase (30)
    • 3.3. Kịch bản cho Usecase (31)
      • 3.3.1. Actor Sinh Viên, Quản trị viên (31)
      • 3.3.2. Actor sinh viên có món đồ (32)
      • 3.3.3. Actor sinh viên cần món đồ/ Khách vãng lai (34)
      • 3.3.4. Actor sinh viên (36)
      • 3.3.5. Actor Quản trị viên (phòng CTHSSV) (37)
    • 3.4. Phác thảo giao diện người dùng & Sơ đồ hoạt động (38)
      • 3.4.1. Actor sinh viên có món đồ (38)
      • 3.4.2. Actor khách vãng lai/sinh viên/ Quản trị viên (40)
      • 3.4.3. Actor Quản trị viên (41)
    • 3.5. Sơ đồ ERD (43)
    • 3.6. Diagram trong MySQL (45)
    • 3.7. Mô hình khái niệm (Domain Model) (45)
      • 3.7.1. Xác định các lớp ứng viên (Candidate Class) (45)
      • 3.7.2. Xây dựng sơ đồ Domain Model (Class Diagram - Level 1) (46)
    • 3.8. Sơ đồ Robustness Diagram (47)
      • 3.8.1. Robustness Diagram cho usecase đăng bài (47)
      • 3.8.2. Robustness Diagram cho usecase tìm kiếm (47)
      • 3.8.3. Robustness Diagram cho usecase thống kê (48)
    • 3.9. Sơ đồ tương tác (48)
      • 3.9.1. Sequence Diagram cho usecase đăng bài (48)
      • 3.9.3. Sequence Diagram cho usecase thống kê (49)
    • 3.10. Sơ đồ lớp (Level 2) (50)
  • CHƯƠNG 4. DEMO CHƯƠNG TRÌNH (51)
    • 4.1. Trang người dùng (dành cho sinh viên và khách vãng lai) (51)
      • 4.1.1. Giao diện trang chủ dành cho sinh viên và khách vãng lai (51)
      • 4.1.2. Giao diện đăng ký tài khoản dành cho sinh viên (52)
      • 4.1.3. Giao diện đăng nhập khi có tài khoản (53)
      • 4.1.4. Giao diện khi sinh viên đăng nhập thành công (53)
      • 4.1.5. Cập nhật thông tin cá nhân (54)
      • 4.1.6. Giao diện đăng bài (54)
      • 4.1.7. Giao diện quản lý bài đăng cá nhân (55)
      • 4.1.8. Giao diên lịch sử trao đổi - giao dịch thành công (55)
      • 4.1.9. Giao diện xem chi tiết bài đăng của sinh viên khác (56)
      • 4.1.10. Giao diện comment bài đăng món đồ (57)
      • 4.1.11. Giao diện đánh giá bài đăng món đồ (58)
    • 4.2. Trang quản lý (Dành cho PCTHSSV) (59)
      • 4.2.1. Giao diện đăng nhập dành cho tài khoản Admin (59)
      • 4.2.2. Giao diện đăng nhập Admin thành công – thống kê (59)
      • 4.2.3. Giao diện quản lý sinh viên – cảnh báo tài khoản (60)
  • CHƯƠNG 5. KẾT LUẬN & HƯỚNG PHÁT TRIỂN (61)
    • 5.1. Kết luận (61)
    • 5.2. Hướng phát triển (61)

Nội dung

TỔNG QUAN

Tổng quan đề tài

Sinh viên tại Đại học Đà Nẵng, đặc biệt là tại trường Đại học Sư Phạm Kỹ Thuật – Đà Nẵng, sau vài năm học tập, đã dần hiểu rõ hơn về cuộc sống xa nhà Trải nghiệm này giúp sinh viên nhận thức sâu sắc về những thách thức và cơ hội trong quá trình học tập và sinh hoạt.

Chúng em luôn tận dụng tối đa những đồ dùng có thể tái sử dụng, từ các vật dụng cũ còn sử dụng tốt đến tài liệu của các khóa trước Nhiều món đồ cũ khác cũng được sử dụng lại, mang lại lợi ích kinh tế khi giá thành thường rẻ hơn so với thị trường Điều đặc biệt là những đồ này vẫn duy trì chất lượng và có thể sử dụng nhiều lần nữa.

Và một xu hướng trong vài năm trở lại đây, “ thị trường mua bán đồ cũ cũng đang trở nên tăng lên” – theo Báo Tuổi Trẻ online.

Hiện nay, mạng xã hội xuất hiện nhiều nhóm và trang về mua bán đồ cũ, cũng như việc trao đổi qua người quen Ngoài ra, một số website như http://thanhlydocu.net.vn/, http://thanhlyhangcu.vn/ và http://sieuthihangcu.net/ cũng đã được tạo ra để phục vụ nhu cầu này.

Việc kiểm tra thông tin về món đồ đã được trao đổi hay chưa gặp nhiều khó khăn, và mỗi lần tìm kiếm bài đăng, bài viết thường bị "trôi" xuống, dẫn đến nhiều vấn đề khác phát sinh.

Dựa trên khảo sát và ý tưởng, tôi quyết định chọn đề tài “Xây dựng website chợ trao vặt, trao đổi/mua bán đồ cũ” phục vụ đặc biệt cho cộng đồng sinh viên tại trường đại học Sư phạm Kĩ thuật.

Mục đích đề tài

Tin học hóa ở những bước nào?

Xây dựng một website giúp sinh viên trao đổi và bán những món đồ cũ còn sử dụng tốt, như sách vở, đồ dùng học tập và các tài liệu liên quan đến học tập cho các bạn sinh viên trong trường Nền tảng này không chỉ hỗ trợ sinh viên tiết kiệm chi phí mà còn thúc đẩy việc tái sử dụng tài nguyên, tạo ra một cộng đồng học tập gắn kết và bền vững.

Sinh viên có thể tiết kiệm chi phí vận chuyển bằng cách liên hệ trực tiếp với nhau qua website, thay vì tìm kiếm trên các diễn đàn hay nhóm Hình thức này giúp họ dễ dàng trao đổi và đáp ứng nhu cầu cá nhân tại trường học.

Website còn có đội ngũ Quản trị viên để nhận thông tin phản hồi từ người dùng,duyệt bài viết và report tài khoản vi phạm.

Phạm vi đề tài

Đề tài “Chợ rao vặt, mua bán, trao đổi đồ cũ cho sinh viên UTE” được sinh viên năm IV ngành công nghệ thông tin tại Trường ĐH Sư Phạm Kỹ Thuật nghiên cứu và lên kế hoạch thực hiện Dự án sẽ tiến hành khảo sát tại trường Đại học Sư Phạm Kỹ Thuật – UTE, địa chỉ 48 Cao Thắng, Hải Châu, Đà Nẵng.

Quy mô hiện có sẽ áp dụng cho toàn bộ sinh viên và giảng viên trong trường trong việc chia sẻ những món đồ cũ với nhau.

Cơ cấu tổ chức

Hình 1.1: Sơ đồ quy trình hoạt động của đề tài website

Hoạt động nghiệp vụ thực tế

• Món đồ • Sinh viên có món đồ cần đổi

• Bài đăng được hiện trên bảng tin của tất cả người dùng.

• Bài đăng của các tài khoản khác

• Sinh viên có tài khoản

• Thông tin về món đồ đã xem

Bước 3: Chọn món đồ cần trao đổi

• Bài đăng • Sinh viên cần trao đổi – mua lại món đồ

• Món đồ cần dùng được nhấn chọn

“Mua” - Thông báo cần đổi được đưa đến chủ bài viết.

Bước 4: Trao đổi qua nhiều hình thức như: gọi điện, comment, xác nhận giao dịch

• Bài đăng đã có người chọn mua

• Sinh viên cần món đồ

• Trường hợp 1: Cả hai bên thỏa thuận đúng với điều kiện món đồ được trao đổi

• Trường hợp 2: Một trong hai bên chưa đồng ý với điều kiện Món đồ không được trao đổi.

Bước 5: Report bài đăng sai thông tin

• Đánh giá tài khoản/ bài đăng của sinh viên nào đó.

• Những ý kiến/ nhận xét/ phản hồi của

• Tài khoản vi phạm sẽ vị cảnh cáo/ khóa tài khoản.

• Bài viết không đạt yêu cầu bị xóa.

• Bổ sung thông tin cho những thắc mắc của Sinh viên.

Đặc tả yêu cầu nghiệp vụ (Business Requirments)

1.6.1 Khách hàng chưa là thành viên

1.6.1.1 Được phép truy cập website

1.6.1.2 Được phép xem bài đăng

1.6.1.3 Được phép tìm kiếm món đồ/ bài đăng của sinh viên có tài khoản

Sinh viên có tài khoản vẫn được xem các thông tin chung, được tìm kiếm như

Khách vãng lai … Ngoài ra, sinh viên còn được thực hiện một số tính năng khác gồm:

1.6.2.1 Được phép tìm kiếm được các bài đăng với món đồ mong muốn

1.6.2.2 Được phép quản lý thông tin cá nhân

1.6.2.3 Được phép lọc bài đăng theo danh mục, theo mức giá

1.6.3 Sinh viên có món đồ

1.6.3.1 Được phép đăng bài với thông tin món đồ cần bán lại

1.6.3.2 Được phép quản lý lịch sử bài đăng

1.6.3.3 Được phép xem thông báo khi có sinh viên đăng ký giao dịch món đồ

1.6.4 Sinh viên có nhu cầu mua hoặc đổi món đồ

1.6.4.1 Được phép xem chi tiết bài đăng món đồ của sinh viên khác

1.6.4.2 Được phep mua lại món đồ hoặc trao đổi với sinh viên có món đồ

1.6.4.3 Xem thông báo xác nhân từ sinh viên có món đồ khi giao dịch thành công 1.6.4.4 Comment bài đăng món đồ của sinh viên có món đồ

1.6.5.1 Vì là quản trị có nhiệm vụ quản lý tài khoản và bài viết nên quản trị viên có những chức năng khác gồm:

- Quản lý danh mục bài đăng

- Quản lý tài khoản sinh viên

- Cảnh cáo và khóa tài khoản với những sinh viên đăng bài sai thông tin hoặc không đáng tin cậy

CƠ SỞ LÝ THUYẾT

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

MySQL là hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS) sử dụng ngôn ngữ truy vấn có cấu trúc (SQL), được phát triển và hỗ trợ bởi Oracle Nó hoạt động trên nhiều nền tảng, bao gồm Linux, UNIX và Windows, và thường được sử dụng kết hợp với các ứng dụng web.

2.1.3 Đôi nét về lịch sử

Dự án MySQL bắt đầu vào năm 1979 khi Michael Widenius phát triển công cụ cơ sở dữ liệu UNIREG để quản lý dữ liệu UNIREG sau đó được viết lại bằng nhiều ngôn ngữ khác nhau và mở rộng để xử lý cơ sở dữ liệu lớn Michael Widenius đã liên hệ với David Hughes, tác giả của mQuery, để kết nối mQuery với trình xử lý B + ISAM của UNIREG, từ đó tạo ra MySQL.

MySQL là một hệ quản trị cơ sở dữ liệu mạnh mẽ, dễ sử dụng và hoạt động ổn định trên nhiều hệ điều hành Nó cung cấp tốc độ cao cùng với một loạt các hàm tiện ích phong phú Đặc biệt, MySQL có độ bảo mật cao, rất phù hợp cho các ứng dụng truy cập cơ sở dữ liệu qua Internet với nhiều tính năng bảo vệ dữ liệu Hơn nữa, MySQL hỗ trợ đa dạng các chức năng SQL, đáp ứng đầy đủ nhu cầu của người dùng trong quản lý cơ sở dữ liệu quan hệ.

Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết.

MySQL được thiết kế với các tiêu chuẩn cho phép hoạt động hiệu quả và tiết kiệm chi phí, nhờ đó tăng tốc độ thực thi.

Ngôn ngữ lập trình PHP

PHP, viết tắt của PHP: Hypertext Preprocessor, là một ngôn ngữ lập trình kịch bản mã nguồn mở, chủ yếu được sử dụng để phát triển ứng dụng cho máy chủ Với khả năng nhúng dễ dàng vào HTML, PHP được tối ưu hóa cho các ứng dụng web, mang lại tốc độ nhanh và cú pháp gần gũi với C và Java Điều này giúp PHP trở thành một ngôn ngữ lập trình dễ học và rút ngắn thời gian phát triển, từ đó nhanh chóng trở thành ngôn ngữ lập trình web phổ biến nhất toàn cầu.

Ngôn ngữ PHP, cùng với các thư viện và tài liệu gốc, được phát triển chủ yếu bởi cộng đồng, với sự đóng góp đáng kể từ Zend Inc Công ty này được thành lập bởi các nhà phát triển cốt lõi của PHP, nhằm tạo ra một môi trường chuyên nghiệp giúp PHP phát triển mạnh mẽ trong lĩnh vực doanh nghiệp.

2.2.3 Đôi nét về lịch sử

PHP được phát triển từ một món đồ có tên là PHP/FI PHP/FI do Rasmus Lerdorf tạo ra năm 1995 được viết bằng C và được sửa lại năm 1997.

PHP 3.0: Được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 không mở rộng được trong việc phát triển các ứng dụng thương mại điện tử PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0 PHP 3.0 cung cấp cho người dùng cuối một cơ sở hạ tầng dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau Cho phép người dùng có thể mở rộng theo module Chính điều này làm cho PHP3 thành công so với PHP2 Lúc này chính thức đặt tên ngắn gọn là PHP (Hypertext Preprocessor).

PHP 4, được công bố vào năm 2000, đã cải thiện đáng kể tốc độ xử lý và giới thiệu nhiều tính năng quan trọng như hỗ trợ nhiều máy chủ web, session HTTP, output buffering, cùng với các phương pháp xử lý dữ liệu đầu vào an toàn hơn và các cấu trúc ngôn ngữ mới Sự phát triển của PHP đã thu hút hàng trăm nghìn nhà phát triển, với hàng triệu trang web sử dụng PHP, chiếm 20% tổng số tên miền trên Internet Đội ngũ phát triển PHP đã mở rộng lên tới hàng nghìn người, cùng với nhiều cá nhân tham gia vào các dự án liên quan như PEAR, PECL và tài liệu cho PHP.

PHP5 chính thức ra mắt vào ngày 13 tháng 7 năm 2004, sau nhiều phiên bản thử nghiệm như Beta 4 và các bản RC 1, RC 2, RC 3 Mặc dù là phiên bản sản xuất đầu tiên, PHP 5.0 vẫn tồn tại một số lỗi, trong đó có lỗi xác thực HTTP đáng chú ý.

Laravel Framework

Laravel là một framework PHP mã nguồn mở miễn phí, được phát triển bởi Taylor Otwell và ra mắt lần đầu vào tháng 6 năm 2011 Framework này được thiết kế để hỗ trợ phát triển ứng dụng web theo mô hình MVC (Model – View – Controller).

Laravel hiện được phát hành theo giấy phép MIT, với source code được lưu trữ tại Gitthub.

Mặc dù xuất hiện sau các đối thủ, Laravel đã nhanh chóng tạo ra sự bùng nổ và hiện đang được đánh giá cao cùng với mức độ sử dụng rộng rãi Biểu đồ dưới đây minh họa sự tăng trưởng ấn tượng về số lượng sao trên Github của Laravel so với các framework khác.

2.3.2 Đôi nét về lịch sử

Laravel beta đầu tiên ra mắt vào ngày 9/6/2011, và ngay sau đó, Laravel 1 cũng được phát hành trong cùng tháng Phiên bản Laravel 1 sở hữu nhiều tính năng như xác thực, bản địa hóa, model, view, session, và định tuyến, tuy nhiên, nó vẫn thiếu controller, do đó chưa hoàn toàn đáp ứng tiêu chuẩn của một framework MVC thực thụ.

Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cài tiến từ tác giả và cộng đồng Tính năng đáng kể bao gồm hỗ trợ controller, điều này thực sự biến Laravel 2 thành một MVC framework hoàn chỉnh, hỗ trợ Inversion of Control (IoC), hệ thống template Blade Bên cạnh đó, có một nhược điểm là hỗ trợ cho các gói của nhà phát triển bên thứ 3 bị gỡ bỏ.

Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng mới bao gồm giao diện dòng lệnh (CLI) tên “Artisan”, hỗ trợ nhiều hơn cho hệ thống quản trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu Migration, hỗ trợ “bắt sự kiện” trong ứng dụng, và hệ thống quản lý gói gọi là “Bundles” Lượng người dùng và sự phổ biến tăng trưởng mạnh kể từ phiên bản Laravel 3.

Laravel 4, với tên mã “Illuminate”, được phát hành vào tháng 5 năm 2013, đánh dấu sự lột xác của framework này với việc tái cấu trúc các gói hỗ trợ thông qua Composer, giúp cải thiện khả năng mở rộng đáng kể Phiên bản mới ra mắt định kỳ mỗi sáu tháng với các nâng cấp nhỏ, đồng thời cung cấp nhiều tính năng hữu ích như tạo và thêm dữ liệu mẫu (database seeding), hỗ trợ hàng đợi, các kiểu gửi mail, và tính năng “xóa mềm” (soft-delete) cho phép record bị ẩn khỏi các truy vấn mà không bị xóa hoàn toàn khỏi cơ sở dữ liệu.

Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả thay đổi đáng kể cho việc kết thúc vòng đời nâng cấp Laravel lên 4.3 Bên cạnh một loạt tính năng mới và các cải tiến như hiện tại, Laravel 5 cũng giới thiệu cấu trúc cây thư mục nội bộ cho phát triển ứng dụng mới Những tính năng mới của Laravel 5 bao gồm hộ trợ lập lịch định kỳ thực hiện nhiệm vụ thông qua một gói tên là “Scheduler”, một lớp trừu tượng gọi là “Flysystem” cho phép điều khiển việc lưu trữ từ xa đơn giản như lưu trữ trên máy local – dễ thấy nhất là mặc định hỗ trợ dịch vụ Amazone S3, cải tiến quản lý assets thông qua “Elixir”, cũng như đơn giản hóa quản lý xác thực với các dịch vụ bên ngoài bằng gói “Socialite”.

Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu tiên nhận được hỗ trợ dài hạng (LTS) với một kết hoạch fix bug lên tới 2 năm vào hỗ trợ vá lỗi bảo mật lên tới 3 năm Các bản phát hành LTS của Laravel được lên kế hoạch theo mỗi 2 năm. Laravel 5.3, được phát hành vào ngày 23 tháng 8 năm 2016 Các tính năng mới trong 5.3 tập trung vào việc cải thiện tốc độ phát triển bằng cách bổ sung thêm các cải tiến cho các tác vụ phổ biến.

Laravel 5.4 Phiên bản này có nhiều tính năng mới, như Laravel Dusk, Laravel Mix, Blade Components và Slots, Markdown Emails, Automatic Facades, Route Improvements, Higher Order Messaging cho Collections, và nhiều thứ khác.

Laravel 5.5, phát hành vào ngày 30 tháng 8 năm 2017 là phiên bản LTS thứ 2

Laravel 5.6, phát hành vào ngày 7 tháng 2 năm 2018.

Laravel 5.7, phát hành vào ngày 4 tháng 9 năm 2018 với những cập nhật.

Laravel 6, phát hành vào ngày 3 tháng 9 năm 2019.

Laravel 7, ra mắt ngày 3 tháng 3 năm 2020 với nhiều tính năng cũng như cải thiện tốc độ

Bootstrap

Hiểu đơn giản, Bootstrap là những đoạn code viết sẵn để giúp developer dễ dàng tạo ra những giao diện website tương thích với màn hình điện thoại.

Bootstrap là một framework bao gồm các HTML template, CSS template và JavaScript template dùng để phát triển website chuẩn responsive.

2.4.2 Đôi nét về lịch sử

Vào ngày 19 tháng 8 năm 2011, Bootstrap được ra mắt trên GitHub như một mã nguồn mở, ban đầu mang tên Twitter Blueprint Sản phẩm này là sự sáng tạo của Mark Otto và Jacob Thornton tại Twitter.

Ngày 31 tháng 1 năm 2012, Bootstrap phiên bản 2 đã được phát hành, mang đến bố cục lưới 12 cột và thiết kế tùy chỉnh, giúp tương thích linh hoạt với nhiều kích thước màn hình khác nhau.

19/8/2013, Bootstrap 3 ra đời với giao diện tương thích với smartphone, trở thành No.1 project trên GitHub.

Tháng 10/2014, Mark Otto công bố phiên bản Bootstrap 4 đang được phát triển. Phiên bản alpha đầu tiên của Bootstrap 4 đã được triển khai vào tháng 8/2015.

Phiên bản mới nhất là Bootstrap 4.5. Đến nay, Bootstrap vẫn là một trong những framework thiết kế website được nhiều developer đánh giá cao.

Mô hình MVC

MVC, viết tắt của Model – View – Controller, là một mô hình thiết kế quan trọng trong kỹ thuật phần mềm Mô hình này phân chia source code thành ba phần riêng biệt, mỗi phần tương ứng với một chức năng cụ thể, giúp tổ chức và quản lý mã nguồn hiệu quả hơn.

Model là thành phần lưu trữ toàn bộ dữ liệu của ứng dụng, đóng vai trò cầu nối giữa View và Controller Nó có thể là một cơ sở dữ liệu hoặc một file XML đơn giản, cho phép thực hiện các thao tác như xem, truy xuất và xử lý dữ liệu.

Phần giao diện (theme) trong View (V) là nơi người dùng có thể truy cập và lấy thông tin dữ liệu từ MVC thông qua các thao tác truy vấn như tìm kiếm hoặc sử dụng trên các website.

Trong các ứng dụng web, MVC View đóng vai trò quan trọng trong việc tạo ra các thành phần HTML và ghi nhận hoạt động của người dùng để tương tác với Controller Tuy nhiên, View không trực tiếp liên kết với Controller và không lấy dữ liệu từ Controller, mà chỉ hiển thị yêu cầu được chuyển đến Controller.

Bộ phận này chịu trách nhiệm xử lý yêu cầu từ người dùng thông qua giao diện (view), từ đó cung cấp dữ liệu phù hợp Ngoài ra, Controller còn đóng vai trò kết nối với model để đảm bảo sự tương tác hiệu quả giữa các thành phần trong ứng dụng.

PHÂN TÍCH THIẾT KẾ

Đặc tả yêu cầu phần mềm (Software Requirements)

Phần liệt kê Actor-Usecase lấy nội dung từ phần Liệt kê User-Chức năng ở chương

1 (lưu ý sử dụng multilevel list)

 Tìm kiếm theo tên món đồ

3.1.1.3 Lọc (sẽ là usecase nếu tren giao diện chính có tính năng lọc theo danh mục)

 Lọc theo danh mục món đồ

3.1.2 Sinh viên có món đồ

Kế thừa các usecase “Xem thông tin”, “Tìm kiếm”, “Lọc” từ GUEST

 Đăng nhập bằng tài khoản sinh viên

3.1.2.2 Đăng bài/ Rao bán món đồ

 Đăng nhập bằng tài khoản đã có

 Nhập thông tin món đồ cần rao bán/ trao đổi

 Chọn ảnh món đồ: chọn từ thiết bị di động hoặc chụp trực tiếp

 Đăng bài (Nhấn chọn nút “Đăng bài”)

 Thay đổi thông tin món đồ

 Thay đổi ảnh món đồ

 Chỉnh sửa giá hoặc món đồ cần trao đổi (vì phải vào bài đăng để xóa/ ẩn bài đăng nên phải bắt buộc mục Bài đăng

 Sinh viên vào bài đăng của mình muốn xóa

 Xóa bài viết: Cả người xem và chủ nhân bài viết sẽ không còn thấy bài đăng nữa (xóa vĩnh viễn)

Vì phải vào bài viết để xóa nên bắt buộc bải mục Bài đăng

 Gọi điện thông qua số điến thoại trên chi tiết bài đăng

3.1.3 Sinh viên có nhu cầu trao đổi, mua đồ cũ

Kế thừa các usecase “Xem thông tin”, “Tìm kiếm”, “Lọc” từ Khách vãng lai.

Kế thừa các usecase “Đăng nhập”, “Liên lạc – Trao đổi” từ Sinh viên có món đồ

3.1.3.1 Xem thông tin chi tiết của bài đăng

 Hiển thị tài khoản đăng bài

 Hiển thị các thông tin khác của bài đăng

3.1.3.2 Report bài đăng (sẽ là một usecase trong sơ đồ)

 Tài khoản đăng bài không đúng với nội dung website

 Món đồ không đúng như mô tả trên bài đăng

3.1.3.4 Đăng ký trao đổi – mua món đồ

3.1.3.5 Đánh giá món đồ bài đăng

3.1.4 Quản trị viên (Phòng CTHSSV)

Kế thừa các usecase “Xem thông tin”, “Tìm kiếm”, “Lọc” từ Khách vãng lai.

Kế thừa các usecase “Đăng nhập”, “Quản lý tài khoản cá nhân”, “Liên lạc – Trao đổi” từ Sinh viên có món đồ.

 Thống kê bài đăng, sinh viên sử dụng hệ thống

3.1.4.2 Trả lời phản hồi người dùng

3.1.4.3 Quản lý danh mục bài đăng

3.1.4.4 Cảnh cáo và khóa tài khoản với những sinh viên đăng bài sai thông tin hoặc không đán tin cậy

Sơ đồ Usecase

Kịch bản cho Usecase

3.3.1 Actor Sinh Viên, Quản trị viên

Mô tả Người dùng muốn thực hiện những chức năng mua bàn cần phải đăng nhập vào hệ thống

Actors Sinh viên, quản trị viên Đầu vào Email

Passwork Đầu ra Đăng nhập thành công

1 Actor vào giao diện web

5 Actor nhấn nút “Đăng nhập”

6 Đăng nhập hệ thống – Kết thúc Usecase

2a Actor chọn phương thức đăng nhập tự động 2a.1 Tự động sao lưu trong hệ thống use`case tiếp tục bước 5 3a.1 Actor nhập sai email

3a.1 Nhập lại usecase tiếp tục bước 4 4a Actor nhập sai Passwork

4a.1 Actor nhập lại usecase tiếp tục bước 5 4a.2 Actor quên mật khẩu

4a.2.1 Xin hệ thống gửi lại mật khẩu usecase tiếp tục bước 5

Các trường hợp động ngoại lệ

5a Actor không nhập – hệ thống dừng, thông báo nhập lại.Actor ghi email, không có password – hệ thống dừng, thông báo nhập lại

3.3.2 Actor sinh viên có món đồ

Mô tả Người có món đồ muốn rao bán hoặc muốn trao đổi món đồ trên Website để mọi người có thể xem và chọn trao đổi.

Actors Sinh viên có món đồ cần đổi Đầu vào Sinh viên sau khi thực hiện việc Đăng Nhập thành công

Chọn mục “đăng bán món đồ” vào đó để thực hiện việc đăng bài

Nhập thông tin về món đồ (hình ảnh, giá,…) Đầu ra Sinh viên đăng bài có thể thấy được bài đăng của mình đã hiện ở trang chủ

1 Sinh viên (Actor) nhấn vào mục đăng bài

2 Actor nhập vào nội dung mô tả cụ thể món đồ

3 Actor chọn ảnh của món đồ

4 Actor chọn nút “Đăng bài ” để đăng bài trực tiếp trên bảng tin

2a Actor không nhập nội dung mô tả

Diễn viên có hai cách để chọn ảnh món đồ: Thứ nhất, nhấn vào nút “Tải ảnh lên” để chọn ảnh có sẵn trên thiết bị di động hoặc máy tính, sau đó tiếp tục thực hiện bước 4 Thứ hai, nhấn vào nút “Chọn ảnh” để chụp trực tiếp từ thiết bị hiện tại.

• Usecase thực hiện tiếp tục bước 4

Các trường hợp ngoại lệ

2a Actor không nhập nội dung mô tả 3a Actor không nhập ảnh món đồ (đồng thời hai bước trên)

• Usecase dừng lại và thông báo “Bắt buộc người dùng phải nhập nội dung bào đăng!!!”

4a Actor chọn nút “Hủy” Usecase dừng lại

3.3.2.2 Usecase chỉnh sửa bài đăng

Tên usecase Chỉnh sửa bài đăng

Mô tả Sinh viên có món đồ có thể thay đổi thông tin hoặc hình ảnh của món đồ

Sinh viên có món đồ đã đăng nhập thành công bằng tài khoản của mình Hệ thống kiểm tra và xác nhận rằng đã tồn tại bài đăng của sinh viên này Sau đó, nội dung hoặc hình ảnh của bài đăng sẽ được chỉnh sửa theo yêu cầu.

1 Sinh viên (Actor) nhấn vào mục đăng bài

2 Actor nhập vào nội dung mô tả cụ thể món đồ

3 Actor chọn ảnh của món đồ

4 Actor chọn “Đăng bài ” để đăng bài trực tiếp trên bảng tin

5 Hệ thống xác nhận lại thông tin bài đã được đăng với dòng thông báo: “Đã đăng bài thành công”

4a Khi actor đã chọn chỉnh sủa bài đăng mà không sửa gì thì không được lưu và thoát ra

4a.1 Actor chỉnh sửa xong thì nút “Lưu” trên góc phải màn hình sẽ cho lưu bài đăng vừa sửa

Usecase tiếp tục bước 5 5a Actor chỉnh sửa xong mà thoát ra không chọ lưu thì hệ thống sẽ hiển thị “Lưu bài” và “không lưu và thoát”

Các trường hợp ngoại lệ

5a.1a Actor chọn “không lưu và thoát” bài đăng sẽ hiển thị như lúc chưa chỉnh sửa

5a.2a Actor chọn nút hủy Usecase dừng lại

Tên usecase Xóa bài đăng

Mô tả Sinh viên đăng bài có thể xóa bài đăng

Sinh viên đã đăng nhập thành công bằng tài khoản và có thể quản lý bài đăng của mình về món đồ Nếu sinh viên đã trao đổi món đồ hoặc không còn muốn trao đổi nữa, họ có quyền xóa bài đăng Quá trình xóa bài đăng sẽ diễn ra thành công.

Các bước thực hiện 1 Sinh viên có món đồ (Actor) vào quản lí bài đăng - bắt đầu

2 Xuất hiện List chọn xóa bài đăng

3 Actor nhấn vào nút “Xóa bài”

4 Hệ thống xóa bài đăng – kết thúc Usecase

Các bước phát sinh Không có

Các trường hợp ngoại lệ 4a Actor chọn nút hủy Usecase dừng lại trở lại bước 1

3.3.3 Actor sinh viên cần món đồ/ Khách vãng lai

3.3.3.1 Usecase tìm kiếm – lọc theo danh mục

Tên usecase Tìm kiếm – lọc

Mô tả Sinh viên có tài khoản đăng nhập có thể tìm kiếm món đồ cần dùng Khách vãng lai tìm kiếm nhưng không mua hoặc đổi đồ được

Actors Sinh viên có cần món đồ

Khách vãng lai có thể dễ dàng tìm kiếm thông tin liên quan đến món đồ mình quan tâm bằng cách nhập từ khóa hoặc chọn danh mục cần tìm Hệ thống sẽ hiển thị các bài viết liên quan, giúp người dùng nhanh chóng tiếp cận thông tin cần thiết.

1 Sinh viên cần món đồ/ Khách vãng lai (Actor) vào trang chủ của Website Thanh “Tìm kếm” luôn hiển thi trên đầu website

2 Actor nhập tên hoặc thông tin món đồ cần tìm hoặc chọn theo danh mục có sẵn

3 Actor nhấn vào icon để gửi thông tin tìm kiếm đi đến hệ thống

4 Hệ thống kiểm tra/ xuất/ hiển thị ra các bài viết liên quan đến nội dung tìm kiếm

2a Actor nhập không đúng từ khóa tìm kiếm/ từ khóa không liên quan đến hoạt động của website hệ thống thông báo

“Không tìm thấy kết quả nào” Usecase dừng lại Quay lại bước 1

Các trường hợp ngoại lệ

3a Actor chọn nút “Hủy” Usecase dừng lại Quay về bước 1 3b Actor không nhập nhưng nhấn nút Hệ thống thông báo

“Hãy nhập thông tin bạn muốn tìm kiếm!” Quay về bước 1

Tên usecase Comment bài đăng

Sinh viên có tài khoản có thể tương tác với bảng tin bằng cách sử dụng các nút biểu tượng trên giao diện để giao tiếp và bày tỏ cảm xúc với các bài viết.

Actors Sinh Viên cần món đồ Đầu vào Tồn tại bài viết đã được đăng bởi tài khoản khác trước đó của sinh viên có món đồ.

Sinh viên có thể bày tỏ quan điểm của mình về bài viết bằng cách để lại bình luận và đánh giá 5 sao Khi sinh viên đánh giá 5 sao, trạng thái "Đã Vote - 5 Sao" sẽ hiển thị trong bài viết Các bình luận của sinh viên cũng sẽ được hiển thị trực tiếp trong nội dung bài viết, tạo cơ hội cho sự tương tác và góp ý.

• Mọi thao tác trên đều được hệ thống thông báo đến Tài khoản của Sinh viên đăng bài viết.

1 Sinh viên (Actor) ở vị trí Trang chủ 2a Actor nhấn nút “Like” ở mỗi bài viết – Nếu muốn Like bài 2b Actor nhấn vào dòng “Comment” để bình luận bài viết 2b.1 Actor nhấn vào Commnent và nhập bình luận

2b.2 Actor Nhấn nút “Hoàn tất Comment” Hệ thống tự động

3 Actor đánh giá theo bài viết theo số lượng ngôi sao trên bài viết (Cấp độ đánh giá được xếp theo số lượng của Ngôi sao –

* Các hành động trong bài viết đều thực hiện độc lập nhau/ Mỗi thao tác thực hiện riêng lẻ không cần theo thứ tự hay ràng buộc.

Các trường hợp ngoại lệ

2b.1 Actor nhấn vào mục ba chấm trong dòng comment của mình để “Chỉnh sửa” hoặc “Xóa” Bình luận của mình.

2b.2 Actor không thể thực hiện thao tác “Chỉnh sửa” hay

“Xóa” Bình luận của người khác Chỉ được phép “Trả lời”

Tên usecase Report bài đăng

Mô tả Khi mà bài đăng không đúng sự thật hoặc những thông tin ngoài lề thì sinh viên cần món đồ có thể báo cáo bài đăng đó

Sinh viên đã đăng nhập thành công vào hệ thống và phát hiện một bài đăng không đúng thông tin về món đồ Hệ thống sẽ thông báo rằng bài đăng đã được báo cáo hoặc gửi cảnh cáo tới tài khoản đăng bài, đồng thời có thể áp dụng biện pháp khóa tạm thời tài khoản nếu vi phạm tiếp tục xảy ra.

1 Actor 1 nhận thấy bài đăng có nội dung về món đồ không đúng hoặc những bài đăng không phù hợp với trang

2 Actor 1 chọn nút *** phía trên bên phải của bài đăng

3 Actor 1 nhấn vào nút Report

4a Khi có thông báo về mà Actor 2 không chỉnh sửa hoặc xóa bài đăng thì tài khoản của Actor đó sẽ bị tạm khóa

4a.1a Khi Actor 2 đã chỉnh sửa thì bài đăng thì sau khi sửa sẽ được cấp nhật lại trên hệ thống

4a.2a Actor 2 xóa bài đăng thì trên hệ thống sẽ không còn bài đăng đó nữa

Các trường hợp ngoại lệ

3a Actor 1 chọn nút hủy Usecase dừng lại

3.3.5 Actor Quản trị viên (phòng CTHSSV)

Tên usecase Phản hồi report

Mô tả Admin thông báo người dùng vì vi phạm các điều khoản

Input Quản trị viên đã đăng nhập bằng tài khoản thành công

Có thông báo report từ người dùng

Output Hệ thống cảnh báo người dùng vì các lỗi vi phạm

Basic flow 1 Quản trị viên vào phần phản hồi

3 Chọn báo cáo chi tiết

4 Chọn hình thức sử lý

5 Xác nhận Thông báo gữi đến người dùng kết thúc Usecase

4a.Chọn cảnh cáo người dùng 4a.1 Chọn hình thức sử phạt Usecase tiếp túc với bước 5 4b.Chọn khóa tài khoản người dùng

4b.1 Khóa tài khoản người dùng và gữi thông báo đến người dùng Usecase tiếp tục với 5

Exception flow Người dùng dùng rút report Thông báo lại Quản trị viên báo cáo đã được rút lại

Phác thảo giao diện người dùng & Sơ đồ hoạt động

3.4.1 Actor sinh viên có món đồ

Hình 3.1: UI Đăng bài (Giao diện 1)

Hình 3.2: UI Đăng bài (Giao diện 2)

Sau khi đăng bài thành công thì bài đăng sẽ hiển thị lên đầu tiên trong trang chủ

Hình 3.3: Sơ đồ hoạt động cho usecase đăng bài

3.4.2 Actor khách vãng lai/sinh viên/ Quản trị viên

3.4.2.1 Usecase tìm kiếm bằng thanh search

Hình 3.1: UI tìm kiếm bằng thanh search

3.4.2.2 Usecase lọc theo danh mục bài đăng

Hình 3.1: UI tìm kiếm theo danh mục

Hình 3.2: Sơ đồ hoạt động cho usecase tìm kiếm/ lọc

3.4.3.1 Usecase đăng nhập cho quản trị viên

Hình 3.1: UI đăng nhập cho quản trị viên

Sơ đồ ERD

Hình 3.1: Sơ đồ ERD (Tiếng Việt)

Việc sử dụng tiếng Anh để đặt tên bảng giúp rút ngắn và đơn giản hóa quá trình này, tránh sự dài dòng trong tiếng Việt.

Hình 3.2: Sơ đồ ERD (Tiếng Anh)

Diagram trong MySQL

Mô hình khái niệm (Domain Model)

Sơ đồ mô hình khái niệm được thể hiện qua Class Diagram, trong đó các Class được xác định là các Class ứng viên Những Class này có thể bị loại bỏ nếu không cần thiết trong các giai đoạn phân tích và thiết kế tiếp theo.

3.7.1 Xác định các lớp ứng viên (Candidate Class)

3 sinhVienDangBai – Sinh Viên đăng bài

4 sinhVienMuonDoi - Sinh Viên Muốn Đổi

9 thongTinMonDo – Thông tin món đồ

10 trangThaiMonDo – Trạng thái món đồ

3.7.2 Xây dựng sơ đồ Domain Model (Class Diagram - Level 1)

Sơ đồ lớp ở giai đoạn này chỉ bao gồm các lớp (có attribute – chưa có method)

Sơ đồ Robustness Diagram

3.8.1 Robustness Diagram cho usecase đăng bài

Hình 3.1: Sơ đồ Robustness cho usecase đăng bài

3.8.2 Robustness Diagram cho usecase tìm kiếm

Hình 3.1: Sơ đồ Robustness cho usecase tìm kiếm

3.8.3 Robustness Diagram cho usecase thống kê

Hình 3.1: Sơ đồ Robustness cho usecase thống kê

Sơ đồ tương tác

Chọn xây dựng sơ đồ Sequence Diagram hoặc Communication/Collaboration Diagram dựa trên các sơ đồ Robustness Diagram và Activity Diagram tương ứng.

3.9.1 Sequence Diagram cho usecase đăng bài

Hình 3.1: Sơ đồ sequence cho usecase đăng bài

3.9.2 Sequence Diagram cho usecase tìm kiếm

Hình 3.1: Sơ đồ Sequence cho usecase tìm kiếm

3.9.3 Sequence Diagram cho usecase thống kê

Hình 3.1: Sơ đồ Sequence cho usecase thống kê

Sơ đồ lớp (Level 2)

DEMO CHƯƠNG TRÌNH

Trang người dùng (dành cho sinh viên và khách vãng lai)

4.1.1 Giao diện trang chủ dành cho sinh viên và khách vãng lai

Hình 4.1: Giao diện trang chủ dành cho sinh viên

4.1.2 Giao diện đăng ký tài khoản dành cho sinh viên

Hình 4.1: Giao diện đăng ký tài khoản

4.1.3 Giao diện đăng nhập khi có tài khoản

Hình 4.1: Giao diện đăng nhập tài khoản

4.1.4 Giao diện khi sinh viên đăng nhập thành công

Hình 4.1: Giao diện sau khi đăng nhập thành công

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

Hình 4.1: Giao diện cập nhật thông tin cá nhân

Hình 4.1: Giao diện đăng bài

4.1.7 Giao diện quản lý bài đăng cá nhân

Hình 4.1: Giao diện quản lý bài đăng cá nhân

4.1.8 Giao diên lịch sử trao đổi - giao dịch thành công

Hình 4.1: Giao diện lịch sử trao đổi – giao dịch thành công

4.1.9 Giao diện xem chi tiết bài đăng của sinh viên khác

Hình 4.1: Giao diện chi tiết bài đăng

4.1.10 Giao diện comment bài đăng món đồ

Hình 4.1: Giao diện comment bài đăng

4.1.11 Giao diện đánh giá bài đăng món đồ

Hình 4.1: Giao diện đánh giá bài đăng

Trang quản lý (Dành cho PCTHSSV)

4.2.1 Giao diện đăng nhập dành cho tài khoản Admin

Hình 4.1: Giao diện đăng nhập Admin

4.2.2 Giao diện đăng nhập Admin thành công – thống kê

Hình 4.1: Giao diện sau khi Admin đăng nhập thành công

4.2.3 Giao diện quản lý sinh viên – cảnh báo tài khoản

Hình 4.1: Giao diện quản lý sinh viên

Ngày đăng: 22/06/2022, 19:35

HÌNH ẢNH LIÊN QUAN

2.5. Mô hình MVC - Đại học đà nẵng
2.5. Mô hình MVC (Trang 26)
4a.1. Chọn hình thức sử phạt. Usecase tiếp túc với bước 5 4b.Chọn khóa tài khoản người dùng - Đại học đà nẵng
4a.1. Chọn hình thức sử phạt. Usecase tiếp túc với bước 5 4b.Chọn khóa tài khoản người dùng (Trang 37)
Hình 3.1: UI Đăng bài (Giao diện 1) - Đại học đà nẵng
Hình 3.1 UI Đăng bài (Giao diện 1) (Trang 38)
Hình 3.2: UI Đăng bài (Giao diện 2) - Đại học đà nẵng
Hình 3.2 UI Đăng bài (Giao diện 2) (Trang 39)
Hình 3.3: Sơ đồ hoạt động cho usecase đăng bài - Đại học đà nẵng
Hình 3.3 Sơ đồ hoạt động cho usecase đăng bài (Trang 39)
Hình 3.1: UI tìm kiếm theo danh mục - Đại học đà nẵng
Hình 3.1 UI tìm kiếm theo danh mục (Trang 40)
Hình 3.1: UI tìm kiếm bằng thanh search - Đại học đà nẵng
Hình 3.1 UI tìm kiếm bằng thanh search (Trang 40)
Hình 3.2: Sơ đồ hoạt động cho usecase tìm kiếm/ lọc - Đại học đà nẵng
Hình 3.2 Sơ đồ hoạt động cho usecase tìm kiếm/ lọc (Trang 41)
Hình 3.1: UI đăng nhập cho quản trị viên - Đại học đà nẵng
Hình 3.1 UI đăng nhập cho quản trị viên (Trang 41)
Hình 3.1: UI thống kê - Đại học đà nẵng
Hình 3.1 UI thống kê (Trang 42)
Hình 3.1: Sơ đồ ERD (Tiếng Việt) - Đại học đà nẵng
Hình 3.1 Sơ đồ ERD (Tiếng Việt) (Trang 43)
Hình 3.2: Sơ đồ ERD (Tiếng Anh) - Đại học đà nẵng
Hình 3.2 Sơ đồ ERD (Tiếng Anh) (Trang 44)
Hình 3.1: Sơ đồ Diagram - Đại học đà nẵng
Hình 3.1 Sơ đồ Diagram (Trang 45)
3.7. Mô hình khái niệm (Domain Model) - Đại học đà nẵng
3.7. Mô hình khái niệm (Domain Model) (Trang 45)
Bảng 4.4. Kết quả công tác chăm sóc, nuôi dưỡng đàn lợn STT  Nội dung công việcSố lượng  (con) - Đại học đà nẵng
Bảng 4.4. Kết quả công tác chăm sóc, nuôi dưỡng đàn lợn STT Nội dung công việcSố lượng (con) (Trang 47)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w