====o0o==== BÁO CÁO NHÓM KHOA CÔNG NGHỆ THÔNG TIN MÔN HỌC KỸ THUẬT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI WEBSITE ĐỌC TRUYỆN TRANH Giáo viên hướng dẫn ThS HUỲNH TRUNG TRỤ Sinh viên thực hiện MSSV VŨ TUẤN AN.
Trang 1BÁO CÁO NHÓM KHOA: CÔNG NGHỆ THÔNG TIN MÔN HỌC: KỸ THUẬT LẬP TRÌNH HƯỚNG
ĐỐI TƯỢNG
ĐỀ TÀI: WEBSITE ĐỌC TRUYỆN TRANH
Giáo viên hướng dẫn: ThS HUỲNH TRUNG TRỤ
Sinh viên thực hiện: MSSV
TP Hồ Chí Minh, ngày 18 tháng 10 năm 2022
Trang 2NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 3
-Lời cảm ơn
Đầu tiên, em xin gửi lời cảm ơn chân thành đến Học viện Công nghệ Bưu chính Viễn
thông (Cơ sở phía Nam) đã đưa môn học Kỹ thuật lập trình hướng đối tượng vào chương
trình giảng dạy Đặc biệt, nhóm em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn – Thầy Huỳnh Trung Trụ đã dạy dỗ, truyền đạt những kiến thức quý báu cho nhóm em cũng như tập thể lớp trong suốt thời gian học tập vừa qua Trong thời gian tham gia lớp
học Kỹ thuật lập trình hướng đối tượng của thầy, nhóm em đã có thêm cho mình nhiều
kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để nhóm em có thể làm việc và phát triển sau này
Bộ môn Kỹ thuật lập trình hướng đối tượng là môn học thú vị, vô cùng bổ ích và có tính
thực tế cao Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù nhóm em đã cố gắng hết sức nhưng chắc chắn báo cáo khó có thể tránh khỏinhững thiếu sót và nhiều chỗ còn chưa chính xác, kính mong thầy xem xét và góp ý để báo cáo của nhóm em được hoàn thiện hơn Nhóm em xin chân thành cảm ơn!
Trang 41 GIỚI THIỆU ĐỀ TÀI
Hiện nay, CNTT đang phát triển mạnh mẽ ở nước ta Máy tính điện tử không còn làphương tiện quý hiếm mà đang ngày một gần gũi với con người Công tác quản lý ngàycàng được nhiều cơ quan và các đơn vị quan tâm nhưng quản lý thế nào và quản lý làmsao cho đạt hiệu quả cao như: nhanh, bảo mật, thân thiện, dễ sử dụng
Đứng trước sự bùng nổ thông tin, các tổ chức và các doanh nghiệp đều tìm mọi biện pháp
để xây dựng hoàn thiện hệ thống thông tin của mình nhằm tin học hoá các hoạt độngnghiệp vụ của đơn vị mình Mức độ hoàn thiện tuỳ thuộc vào quá trình phân tích và thiết
kế hệ thống Tin học hoá trong công tác quản lý làm giảm bớt sức lao động của con ngườitiết kiệm được thời gian, độ chính xác cao, gọn nhẹ và tiện lợi hơn rất nhiều so với côngviệc làm thủ công quản lý giấy tờ như trước đây, tránh được thất lạc dữ liệu, tự động hoá
hệ thống và cụ thể hoá các thông tin theo nhu cầu của con người Đó là những phần mềmquản lý thay cho tệp hồ sơ dày cộp thay cho những ngăn tủ chứa đựng hồ sơ chiếm nhiềudiện tích và có thể ta phải mất nhiều thời gian để tìm kiếm các thông tin cần thiết haynhững dữ liệu quan trọng Tất cả những điều bất tiện trên có thể được tích hợp trong phầnmềm quản lý một sản phẩm nào đó
Nhu cầu này còn lớn hơn khi nói đến những tập truyện tranh dài ngắn với vô vàn thể loại khác nhau Tưởng tượng thay vì bạn phải chạy hàng cây số để đến tiệm sách, mò hàng tiếng đồng hồ để kiếm được cuốn truyện mình thích để rồi mang nó về nhà và cảm thấy ngán ngẫm vì nhưng cuốn truyện cũ đã chiếm hết không gian thì giờ đây tất cả những gì bạn cần là ngồi tại nhà với chiếc điện thoại thông minh và internet, bạn có thể dễ dàng kếtnối với vô số cuốn truyện trên khắp thế giới Chính vì lí do đó mà chúng em đã chọn đề tài “Phần mềm đọc truyện tranh” với hy vọng hiện thực những điều trên
Trang 52 GIỚI THIỆU CÔNG NGHỆ
2.1 Web API
-API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác Nó là viết tắt của Application Programming Interface – giao diện lập trình ứng dụng API cung cấp khả năng cung cấp khả năng truy xuất đến một tập các hàm hay dùng Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng
2.1.1 Web API hoạt động như thế nào?
-Đầu tiên là xây dựng URL API để bên thứ ba có thể gửi request dữ liệu đến máy chủ -cung cấp nội dung, dịch vụ thông qua giao thức HTTP hoặc HTTPS
-Tại web server cung cấp nội dung, các ứng dụng nguồn sẽ thực hiện kiểm tra xác thực nếu có và tìm đến tài nguyên thích hợp để tạo nội dung trả về kết quả
-Server trả về kết quả theo định dạng JSON hoặc XML thông qua giao thức
HTTP/HTTPS
-Tại nơi yêu cầu ban đầu là ứng dụng web hoặc ứng dụng di động , dữ liệu JSON/XML
sẽ được parse để lấy data Sau khi có được data thì thực hiện tiếp các hoạt động như lưu
dữ liệu xuống Cơ sở dữ liệu, hiển thị dữ liệu…
2.1.2 Ưu và nhược điểm của Web API
Mỗi một ứng dụng bất kỳ đều có những ưu nhược điểm riêng, hỗ trợ tốt cho các ứng dụng Vì vậy mà web API cũng không ngoại lệ:
Ưu điểm
Trang 6 Web API được sử dụng hầu hết trên các ứng dụng desktop, ứng dụng mobile vàứng dụng website.
Linh hoạt với các định dạng dữ liệu khi trả về client: Json, XML hay định dạngkhác
Nhanh chóng xây dựng HTTP service: URI, request/response headers, caching,versioning, content formats và có thể host trong ứng dụng hoặc trên IIS
Mã nguồn mở, hỗ trợ chức năng RESTful đầy đủ, sử dụng bởi bất kì client nào hỗtrợ XML, Json
Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter,model binder, IoC container, dependency injection, unit test
Giao tiếp hai chiều được xác nhận trong các giao dịch, đảm bảo độ tin cậy cao
Để sử dụng hiệu quả cần có kiến thức chuyên sâu, có kinh nghiệm backend tốt
Tốn thời gian và chi phí cho việc phát triển, nâng cấp và vận hành
Có thể gặp vấn đề về bảo mật khi hệ thống bị tấn công nếu không giới hạn điềukiện kỹ
2.2 Spring boot
Trang 7-Spring Boot là một dự án phát triển bởi JAV (ngôn ngữ java) trong hệ sinh thái Spring framework Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng.
2.2.1 Sơ lược Spring Framework là gì?
-Spring framework là một framework ứng dụng hay Java platform có mã nguồn mở cho nền tảng Java Được hàng triệu các lập trình viên tin tưởng lựa chọn sử dụng Spring có kích thước rất nhỏ, trong suốt và nhẹ trong quá trình chạy
-Chính vì kích thước nhỏ, nên đây là một giải pháp khá gọn, nhẹ với khả năng hỗ trợ để tạo ra và phát triển các ứng dụng web có mã hiệu suất cao Hơn hết, bạn có thể dễ dàng kiểm tra, thử nghiệm hoặc sử dụng lại code
-2 nguyên tắc thiết kế chính để xây dựng nên spring framework đó là:
Dependency Injection
Aspect Oriented Programming
-Những tính năng cốt lõi của Spring framework có thể được sử dụng trong việc phát triểnjava desktop, java web,… Mục tiêu chính là dễ dàng phát triển các ứng dụng J2EE dựa trên mô hình sử dụng POJO
2.2.2 Spring Boot có những tính năng nào?
Một số tính năng nổi bật của Spring Boot đó là:
Tạo ra các ứng dụng Spring mang tính độc lập
Nhúng trực tiếp Tomcat, Jetty hoặc Undertow mà không cần phải triển khai ra fileWAR
Starter dependency giúp cho việc chạy cấu hình Maven trở nên đơn giản hơn
Tự động chạy cấu hình Spring khi cần thiết
Không sinh code cấu hình, đồng thời không yêu cầu phải cấu hình bằng XML
2.2.3 Đặc điểm nổi bật
Được phát triển tối ưu sao cho cấu hình XML trở nên đơn giản nhanh chóng và dễdàng nhất trong Spring
Gia tăng được năng suất trong quá trình lập trình
Giảm ở mức tối thiểu thời gian lập trình
Giúp người dùng mặc dù không có nhiều kiến thức lập trình vẫn có thể xây dựngđược một ứng dụng
Trang 82.3 Angular
1.1.1 Angular là gì?
-Angular là một javascript framework do google phát triển để xây dựng các Single Page Application (SPA) bằng JavaScript , HTML và TypeScript Angular cung cấp các tính năng tích hợp cho animation , http service và có các tính năng như auto-complete ,
navigation , toolbar , menus ,… Code được viết bằng TypeScript , biên dịch thành
JavaScript và hiển thị tương tự trong trình duyệt
2.3.1 Sử dụng Angular, người dùng được gì?
Ứng dụng được giảm tối đa kích thước và tăng tối đa hiệu suất
HTML linh hoạt hơn
Code HTML mạnh mẽ hơn với những đặc trưng như IF , FOR, LOCALVARIABLES, …
Dễ dàng hiển thị các field từ data model của website và theo dõi những thay đổi,cập nhật lại từ người dùng nhờ binding data
Xây dựng và tái sử dụng nội dung nhờ vào những khối module độc lập
Nhanh chóng giải quyết các bài toán logic nhờ back- end service hỗ trợ giao tiếp
2.3.2 Ưu điểm nổi bật
AngularJS được đánh giá là giải pháp dành cho các Single Page Application làmviệc dễ dàng
Code Front end thường rất thân thiện nhờ khả năng Binding data lên trên các nềntảng HTML để có thể tạo ra mọi thao tác rất tuyệt
Bạn có thể dễ dàng Unit test
Có thể tái sử dụng component dễ dàng hơn
Trang 9 Hỗ trợ cho các lập trình viên có thể viết code được ít hơn với nhiều chức nănghơn
Bạn có thể chạy AngularJS trên nhiều loại trình duyệt khác nhau lẫn PC hoặcmobile
Trang 10- Khi một người muốn thực hiện chức năng của mình, hệ thống yêu cầu người dùng nhập tên đăng nhập và mật khẩu Sau khi người dùng đã nhập đầy đủ, hệ thống sẽ kiểm chứng tên và mật khẩu được nhập, nếu nhập đúng tên và mật khẩu thì cho phép người dùng đăng nhập vào hệ thống để thực hiện các chức năng Nếu người dùng nhập sai tên hoặc mật khẩu, hệ thống sẽ hiện thì một thông báo lỗi, người dùng có thể chọn việc hủy bỏ đăng nhập, đăng nhập lại hoặc kết thúc tác vụ.
-Nếu người dùng quên mật khẩu, họ có thể sử dụng tính năng “quên mật khẩu” Bằng cách nhập tên đăng nhập của người dùng, Họ có thể nhận được mật khẩu từ email
+Thêm người dùng: Sau khi admin thêm các thông tin người dùng trong giao diện quản
lý, Admin sẽ kích hoạt chức năng này và người dùng mới sẽ được thêm vào cơ sở dữ liệu.+Thay đổi thông tin người dùng: Admin chọn 1 người dùng trong danh sách được xuất hiện và kích hoạt chức năng cập nhập Những thông tin của người dùng sẽ nhảy lên giao diện quản lý để admin có thể chỉnh sửa nó Sau khi xác nhận thì thông tin mới sẽ được cập nhập vào cơ sở dữ liệu
+Xóa người dùng: : Admin chọn 1 người dùng trong danh sách được xuất hiện và kích hoạt chức năng xóa Phần mềm sẽ thông báo cảnh cáo và yêu cầu admin xác nhận Sau khi xác nhận thành công thông tin người dùng sẽ bị xóa khỏi cơ sở dữ liệu
Quản lí tác giả:
- Use-case này cho phép admin thêm, cập nhật thông tin hay xóa thông tin của tác giả.-Sau khi admin đăng nhập vào hệ thống, giao diện làm việc được hiển thị với các chức năng: thêm tác giả, xóa tác giả và thay đổi thông tin tác giả
Trang 11+Thêm tác giả: Sau khi admin thêm các thông tin tác giả trong giao diện quản lý, Admin
sẽ kích hoạt chức năng này và tác giả mới sẽ được thêm vào cơ sở dữ liệu
+Thay đổi thông tin tác giả: Admin chọn 1 tác giả trong danh sách được xuất hiện và kíchhoạt chức năng cập nhập Những thông tin của tác giả sẽ nhảy lên giao diện quản lý để admin có thể chỉnh sửa nó Sau khi xác nhận thì thông tin mới sẽ được cập nhập vào cơ
sở dữ liệu
+Xóa tác giả: : Admin chọn 1 tác giả trong danh sách được xuất hiện và kích hoạt chức năng xóa Phần mềm sẽ thông báo cảnh cáo và yêu cầu admin xác nhận Sau khi xác nhậnthành công thông tin tác giả sẽ bị xóa khỏi cơ sở dữ liệu
Quản lí thể loại:
- Use-case này cho phép admin thêm, cập nhật thông tin hay xóa thông tin thể loại
-Sau khi admin đăng nhập vào hệ thống, giao diện làm việc được hiển thị với các chức năng: thêm thể loại, xóa thể loại và thay đổi thông tin thể loại
+Thêm thể loại: Sau khi admin thêm các thông tin thể loại trong giao diện quản lý,
Admin sẽ kích hoạt chức năng này và thể loại mới sẽ được thêm vào cơ sở dữ liệu
+Thay đổi thông tin thể loại: Admin chọn 1 thể loại trong danh sách được xuất hiện và kích hoạt chức năng cập nhập Những thông tin của thể loại sẽw nhảy lên giao diện quản
lý để admin có thể chỉnh sửa nó Sau khi xác nhận thì thông tin mới sẽ được cập nhập vào
cơ sở dữ liệu
+Xóa thể loại: : Admin chọn 1 thể loại trong danh sách được xuất hiện và kích hoạt chức năng xóa Phần mềm sẽ thông báo cảnh cáo và yêu cầu admin xác nhận Sau khi xác nhậnthành công thông tin thể loại sẽ bị xóa khỏi cơ sở dữ liệu
+Thay đổi thông tin truyện: Admin chọn 1 truyện trong danh sách được xuất hiện và kích hoạt chức năng cập nhập Sau khi admin kích hoạt chức năng, người dùng sẽ được điều hướng đến một giao diện mới Những thông tin của truyện sẽ nhảy lên giao diện quản lý
Trang 12để admin có thể chỉnh sửa nó Tại đây admin có thể quản lý cả các chương của bộ truyện bao gồm: thêm, xóa, cập nhập chương truyện Sau khi xác nhận thì thông tin mới sẽ đượccập nhập vào cơ sở dữ liệu.
+Xóa truyện: Admin chọn 1 truyện trong danh sách được xuất hiện và kích hoạt chức năng xóa Phần mềm sẽ thông báo cảnh cáo và yêu cầu admin xác nhận Sau khi xác nhậnthành công thông tin truyện sẽ bị xóa khỏi cơ sở dữ liệu
Tra cứu:
- Use-case này cho phép độc giả xem và tra cứu các đầu truyện có trong cơ sở dữ liệu
- Tra cứu: Đọc giả nhập từ khóa hoặc chọn thể loại để tìm kiếm mọi thông tin về tất cả các truyện có trong cơ sở dữ liệu
Trang 13được điều hướng tới một giao diện yêu cầu nhập các thông tin của người dùng Khi ngườidùng chọn xác nhận và các trường thông tin được điền đúng thì tài khoản mới sẽ được thêm vào cơ sở dữ liệu Người dùng có thể sử dụng tài khoản để thực hiện chức năng đăng nhập.
-Nếu người dùng quên mật khẩu, họ có thể sử dụng tính năng “quên mật khẩu” Bằng cách nhập tên đăng nhập của người dùng, Họ có thể nhận được mật khẩu từ email
+Thay đổi thông tin truyện: Độc giả chọn 1 truyện trong danh sách được xuất hiện và kích hoạt chức năng cập nhập Sau khi độc giả kích hoạt chức năng, người dùng sẽ được điều hướng đến một giao diện mới Những thông tin của truyện sẽ nhảy lên giao diện quản lý để độc giả có thể chỉnh sửa nó Tại đây độc giả có thể quản lý cả các chương của
bộ truyện bao gồm: thêm, xóa, cập nhập chương truyện Sau khi xác nhận thì thông tin mới sẽ được cập nhập vào cơ sở dữ liệu
Trang 14+Xóa truyện: Độc giả chọn 1 truyện trong danh sách được xuất hiện và kích hoạt chức năng xóa Phần mềm sẽ thông báo cảnh cáo và yêu cầu độc giả xác nhận Sau khi xác nhận thành công thông tin truyện sẽ bị xóa khỏi cơ sở dữ liệu.
Tra cứu:
- Use-case này cho phép độc giả xem và tra cứu các đầu truyện có trong cơ sở dữ liệu
- Tra cứu: Đọc giả nhập từ khóa hoặc chọn thể loại để tìm kiếm mọi thông tin về tất cả các truyện có trong cơ sở dữ liệu
Bình luận trong chương truyện:
- Use-case này cho phép độc giả đăng bình luận của mình lên chương truyện của tập truyện nào đó
-Sau khi độc giả đăng nhập vào hệ thống, người dùng sử dụng chức năng tra cứu và chọnchương truyện bất kì trong tập truyện họ muốn đọc Tại giao diện của chương truyện, ở cuối mỗi chương sẽ xuất hiện phần bình luận của độc giả Tại đây độc giả có thể xem những bình luận của những độc giả khác và tự thêm bình luận của chính mình lên bằng một nút thêm bình luận bên cạnh
Trang 16Thuộc tính Kiểu dữ liệu Diễn giải
4.3.2 Comic
’UNPUBLISH’,’REJECTED’)
Trạng thái của truyện
4.3.3 Review
4.3.4 Comic_gerne
4.3.5 Gerne
Trang 174.3.6 Author
4.3.7 Chapter
4.3.8 Content
4.3.9 Comment
xem nhiều nhất Cột View Hiện 6 truyện được xem nhiều nhất Done
Trang 18trên từ khóa nhập vào
2.4 Kiểm tra tài
khoản bị khóa Thông báo tài khoản đãbị khóa Done
3 Đăng ký
thành công
Done
3.4 Trùng tên tài
4.2 Kiểm tra đăng
sách tác giả [Kim lân, Vũ Trọng Phụng] Danh sách tất cả tác giả Done
thêm mới
Done
cáo trước khi xóa Done
6 Thêm mới -
Sửa tác giả
thành công
Done