Đặt vấn đề Trong thời đại số hóa ngày càng phát triển,việc sử dụng hình ảnh đã trở thành một phần quan trọng của cuộc sống và công việc. Để phù hợp với mục đích sử dụng hiện nay có rất nhiều định dạng ảnh khác nhau phục vụ các nhu cầu khác nhau như jpg, png, webp, tiff,…Với mỗi tấm ảnh khi chúng ta chụp được hay tải xuống từ trên Internet, chúng thường có một định dạng nhất định, đôi khi chúng ta lại muốn tấm ảnh đó phải ở một định dạng khác để phục vụ công việc của chúng ta. Vì vậy, trang web ConvertTool được ra đời nhằm mục đích phục vụ hỗ trợ chuyển đổi ảnh. ConvertTool được thiết kế không chỉ là một trang web hỗ trợ chuyển đổi ảnh, mà còn là một công cụ hỗ trợ chỉnh sửa ảnh với các chức năng như cắt, chỉnh sửa kích cỡ, xóa phông nền, thêm hiệu ứng, và rất nhiều các công cụ hiện đại khác.
Qua đó hỗ trợ người dùng chuyển đổi, chỉnh sửa hình ảnh theo nhu cầu cụ thể. Hiện nay, đã có rất nhiều trang web phục vụ công việc chuyển đổi định dạng ảnh ví dụ như trang web Convertio hay Onlineconvertfree, Online converter với tốc độ xử lý nhanh chóng, đơn giản và dễ sử dụng. Tuy nhiên, không vì vậy mà các trang web này không mang những hạn chế như việc không có tích hợp thêm các chức năng chỉnh sửa hình ảnh hay đảm bảo chất lượng hình ảnh được trả về. Từ đó, chúng tôi thấy rằng trong lĩnh vực chuyển đổi định dạng hình ảnh vẫn là cực kỳ tiềm năng và nhiều cơ hội.
6 Downloaded by ANH LE (bachvan14@gmail.3 Giải pháp đề xuất. Về giải pháp để hỗ trợ người dùng, chúng tôi xây dựng một ứng dụng web vừa có thể chuyển đổi định dạng hình ảnh mà vừa có thể chỉnh sửa hình ảnh từ những chức năng cổ điển cho tới hiện đại để phục vụ cho người dùng một cách hoàn hảo và tối ưu nhất có thể. Thiết kế và triển khai.1 Các yêu cầu chức năng.1 Chọn và tải lên hình ảnh. Người dùng có thể chọn chọn và tải lên hình ảnh từ thiết bị của họ với những định dạng ảnh khác nhau mà trang web có thể hỗ trợ được để chuyển đổi.2 Chọn định dạng đầu ra Người dùng cần có khả năng chọn định dạng hình ảnh đầu ra mà họ muốn chuyển đổi.
Điều này có thể bao gồm các định dạng phổ biến như JPEG, PNG, GIF, TIFF, BMP, v.3 Chuyển đổi hình ảnh Sau khi người dùng đã chọn hình ảnh và định dạng đầu ra, họ cần có khả năng bắt đầu quá trình chuyển đổi.4 Tải xuống hình ảnh đã chuyển đổi Sau khi hình ảnh đã được chuyển đổi, người dùng cần có khả năng tải xuống hình ảnh đã chuyển đổi.5 Xử lý lỗi 7 Downloaded by ANH LE (bachvan14@gmail.com) lOMoARcPSD|39108650 Nếu có lỗi xảy ra trong quá trình chuyển đổi (ví dụ: định dạng hình ảnh không được hỗ trợ), ứng dụng nên thông báo cho người dùng về lỗi và cung cấp hướng dẫn về cách khắc phục.1 Các ràng buộc về triển khai Tương thích trình duyệt: Ứng dụng web cần phải hoạt động đúng trên nhiều trình duyệt khác nhau, bao gồm nhưng không giới hạn ở Chrome, Firefox, Safari và Edge. Khả năng mở rộng: Ứng dụng cần được thiết kế để có thể mở rộng và xử lý tăng lượng người dùng hoặc yêu cầu chuyển đổi hình ảnh trong tương lai. Bảo mật: Ứng dụng cần tuân thủ các quy định về bảo mật, đảm bảo rằng hình ảnh người dùng tải lên được bảo vệ an toàn và không bị sử dụng cho mục đích khác mà không có sự đồng ý của người dùng.2 Các ràng buộc kinh tế Chi phí phát triển: Chi phí liên quan đến việc phát triển ứng dụng, bao gồm chi phí cho nhân sự, công cụ và công nghệ, và thời gian phát triển. Chi phí duy trì: Chi phí liên quan đến việc duy trì và cập nhật ứng dụng, bao gồm chi phí cho máy chủ, bảo mật, và cập nhật tính năng.3 Các ràng buộc về đạo đức Quyền riêng tư người dùng: Ứng dụng cần tuân thủ các quy định về quyền riêng tư, đảm bảo rằng hình ảnh người dùng tải lên được bảo vệ an toàn và không bị sử dụng cho mục đích khác mà không có sự đồng ý của người dùng.
8 Downloaded by ANH LE (bachvan14@gmail.com) lOMoARcPSD|39108650 Sử dụng công nghệ một cách có trách nhiệm: Ứng dụng cần được phát triển và sử dụng một cách có trách nhiệm, không gây hại cho người dùng hoặc cộng đồng.3 Mô hình hệ thống / Thiết kế giải pháp 2.1 Các kịch bản của hệ thống Hình 1 Biểu đồ về tác nhân và sự phụ thuộc giữa các tác nhân. Hình 2 Mô hình use case dưới góc nhìn của người dùng 9 Downloaded by ANH LE (bachvan14@gmail.com) lOMoARcPSD|39108650 Hình 3 Biểu đồ sự tương tác của tác nhân với thành phần khác 2.2 Đặc tả mô hình use case 2.1 Người sử dụng thay đổi định dạng ảnh: Mô tả: Người dùng truy cập trang web để thực hiện chuyển đổi định dạng hình ảnh sang các định dạng khác. Các tác nhân: Người dùng, hệ thống. Điều kiện kích hoạt: Người dùng truy cập vào trang web và đây là chức năng mặc định có sẵn.
Không cần chọn thêm chức năng nào nếu không cần thiết. Tiền điều kiện: Người dùng gửi ảnh vào form của trang web và thiết bị của người dùng cần phải kết nối Internet trong suốt quá trình sử dụng. 10 Downloaded by ANH LE (bachvan14@gmail.com) lOMoARcPSD|39108650 Hậu điều kiện: Người dùng nhận ảnh sau khi chuyển đổi thành công. Các luồng sự kiện: Luồng cơ bản: 1.
Người dùng truy cập vào website, gửi hình ảnh cần chuyển đổi vào form. Người dùng chọn ảnh để đưa vào form nhận ảnh. Sau đó chọn định dạng muốn chuyển đổi và chất lượng hình ảnh sau khi chuyển đổi. Sau đó bấm nút convert.
Hệ thống nhận ảnh và xử lý ảnh, sau khi xử lý xong sẽ thông báo cho người dùng 4. Người dùng nhận lại ảnh sau khi bấm nút download. Luồng thay thế: không có. Luồng ngoại lệ: 1.
Hệ thống báo lỗi nếu tệp tin người dùng gửi vào là không hợp lệ 2. Thông báo lỗi nếu người dùng không đợi trang chuyển đổi xong mà bấm nút download luôn. Business rules: không có. Yêu cầu phi chức năng: không có.
Extension point: không có. 11 Downloaded by ANH LE (bachvan14@gmail.com) lOMoARcPSD|39108650 Hình 4 Sơ đồ quá trình hoạt động chuyển đổi định dạng ảnh.2 Người sử dụng thay đổi kích cỡ hình ảnh: Mô tả: Người dùng thay đổi kích cỡ hình ảnh thông qua chức năng “Size”. Các tác nhân: Người dùng, hệ thống. Điều kiện kích hoạt: Người dùng chọn kích hoạt chức năng Size thông qua nút bấm.
Tiền điều kiện: Hình ảnh phải được gửi vào form và thiết bị của người dùng cần phải kết nối Internet trong suốt quá trình sử dụng. Hậu điều kiện:Hình ảnh được thay đổi kích thước thành công. Các luồng sự kiện: Luồng cơ bản: 1. Người dùng truy cập vào website, gửi hình ảnh cần chuyển đổi vào form.
Người dùng chọn chức năng Size trên thanh menu. Thêm các thông số chiều ngang, chiều dọc (ô Width, Height). Hoặc chọn tỉ lệ (ô Scale). 12 Downloaded by ANH LE (bachvan14@gmail.
Hệ thống tiếp nhận yêu cầu và thay đổi hình ảnh theo kích cỡ mong muốn. Sau khi chuyển đổi xong sẽ có thông báo. Người dùng nhận lại ảnh thông qua nút bấm download. Luồng thay thế: Không có.
Luồng ngoại lệ: 1. Trường hợp người dùng chỉ bật chức năng này mà không nhập vào, hệ thống sẽ hiểu đó là giữ nguyên định dạng ban đầu của hình ảnh. Trường hợp người nhập vào trường này thông tin không hợp lệ, hệ thống cũng sẽ giữ nguyên định dạng ban đầu của hình ảnh. Business rules: không có.
Yêu cầu phi chức năng: Không có. Extension point: Không có. 13 Downloaded by ANH LE (bachvan14@gmail.com) lOMoARcPSD|39108650 Hình 5 Sơ đồ quá trình thay đổi kích thước hình ảnh.3 Người sử dụng biến đổi hình ảnh: Mô tả: Người dùng thay đổi xoay, lật hình ảnh thông qua chức năng “Transform”. Các tác nhân: Người dùng, hệ thống.
Điều kiện kích hoạt: Người dùng chọn kích hoạt chức năng Transform thông qua nút bấm. Tiền điều kiện: Hình ảnh phải được gửi vào form và thiết bị của người dùng cần phải kết nối Internet trong suốt quá trình sử dụng. Hậu điều kiện:Hình ảnh được thay đổi thành công theo nhu cầu người dùng. Các luồng sự kiện: 14 Downloaded by ANH LE (bachvan14@gmail.com) lOMoARcPSD|39108650 Luồng cơ bản: 1.
Người dùng truy cập vào website, gửi hình ảnh cần chuyển đổi vào form. Người dùng chọn chức năng Transform trên thanh menu. Thêm các thông số về mức xoay (Rotate), hoặc chọn lật hình ảnh (flip), và có thể chọn cả 2. Hệ thống tiếp nhận yêu cầu và thay đổi hình ảnh theo chỉ số mong muốn.
Sau khi chuyển đổi xong sẽ có thông báo. Người dùng nhận lại ảnh thông qua nút bấm download. Luồng thay thế: Không có. Luồng ngoại lệ: 1.
Trường hợp người dùng chỉ bật chức năng này mà không nhập (trường Rotate), hệ thống sẽ hiểu đó là giữ nguyên định dạng ban đầu của hình ảnh. Trường hợp người nhập vào trường Rotate thông tin không hợp lệ, hệ thống cũng sẽ giữ nguyên định dạng ban đầu của hình ảnh. Business rules: không có. Yêu cầu phi chức năng: Không có.
Extension point: Không có. 15 Downloaded by ANH LE (bachvan14@gmail.com) lOMoARcPSD|39108650 Hình 6 Sơ đồ quá trình người dùng sử dụng chức năng transform.4 Người sử dụng dùng chức năng cắt hình ảnh: Mô tả: Người dùng thay đổi kích cỡ hình ảnh thông qua chức năng “Trim”. Các tác nhân: Người dùng, hệ thống. Điều kiện kích hoạt: Người dùng chọn kích hoạt chức năng Trim thông qua nút bấm.
Tiền điều kiện: Hình ảnh phải được gửi vào form và thiết bị của người dùng cần phải kết nối Internet trong suốt quá trình sử dụng. Hậu điều kiện:Hình ảnh được thay đổi kích thước thành công. Các luồng sự kiện: Luồng cơ bản: 16 Downloaded by ANH LE (bachvan14@gmail. Người dùng truy cập vào website, gửi hình ảnh cần chuyển đổi vào form.
Người dùng chọn chức năng Trim trên thanh menu. Thêm các thông số chiều ngang, chiều dọc (ô Width, Height), các thông số PositionX, PositionY. Hệ thống tiếp nhận yêu cầu và cắt hình ảnh theo kích cỡ mong muốn. Sau khi chuyển đổi xong sẽ có thông báo.
Người dùng nhận lại ảnh thông qua nút bấm download. Luồng thay thế: Không có. Luồng ngoại lệ: 1. Trường hợp người dùng chỉ bật chức năng này mà không nhập vào, hệ thống sẽ hiểu đó là giữ nguyên định dạng ban đầu của hình ảnh.
Trường hợp người nhập vào trường này thông tin không hợp lệ, hệ thống cũng sẽ giữ nguyên định dạng ban đầu của hình ảnh. Business rules: không có. Yêu cầu phi chức năng: Không có. Extension point: Không có.
17 Downloaded by ANH LE (bachvan14@gmail.com) lOMoARcPSD|39108650 Hình 7 Sơ đồ quá trình cắt hình ảnh 2.