ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 3LỜI CẢM ƠN
Lời đầu tiên, chúng em xin cảm ơn các thầy cô khoa Công nghệ Phần mềm trường Đại học Công nghệ Thông tin Đại học Quốc gia Thành phố Hồ Chí Minh đã tạo điều kiện tốt nhất và cung cấp những kiến thức cần thiết để hoàn thành môn đồ
án 1.
Chúng em cũng xin gửi lời cảm ơn sâu sắc đến ThS Thái Thụy Hàn Uyển, người đã hỗ trợ, hướng dẫn nhóm và tạo điều kiện tốt nhất để nhóm hoàn thành đề tài nghiên cứu này Trong quá trình thực hiện đồ án, dù có dịch Covid-19 hay việc giao tiếp gặp mặt hạn chế do vấn đề địa lý và thiếu kinh nghiệm cùng với nhiều khó khăn khác Với sự hỗ trợ nhiệt tình của cô, cuối cùng nhóm chúng em cũng đã hoàn thiện những kiến thức cần thiết thông qua việc nghiên cứu và học hỏi những kiến thức mới Chúng em rất vui vì đã nhận được những ý kiến đóng góp của cô về
đề tài của nhóm, chúng em sẽ cố gắng ngày càng hoàn thiện mình hơn trong tương lai và tiếp tục học tập chăm chỉ để đạt được kết quả tốt nhất.
Cuối cùng, xin kính chúc các thầy cô giảng viên bộ môn Công nghệ Phần mềm
và cô Thái Thụy Hàn Uyển luôn có sức khỏe dồi dào, cuộc sống hạnh phúc, tiếp tục hoàn thành sứ mệnh cao cả là truyền thụ tri thức cho thế hệ mai sau.
Xin chân thành cảm ơn quí thầy cô!
Trang 4NHẬN XÉT (Của giáo viên hướng dẫn)
Trang 7
5.1 Sơ đồ User case tổng quát 14
Trang 87.2.15 Màn hình Chi tiết nhiệm vụ 73
Trang 91.1 Đặt vấn đề
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI
Ngày nay, sự phát triển của côngnghệ thông tin cùng với là sự rađời của hàng loạt các thiết bịđiện tử như điện thoại, laptop, …đang gia tăng với tốc độ chóngmặt Chúng được xem như làmột trong những cầu nối quantrọng giữa hiện tại và tương lai,khiến cho công nghệ thông tintrở thành một trong những ngànhphát triển bậc nhất trên Thế giới
Hiện tại, ngày càng nhiều người
có ý định nuôi thú cưng phục vụnhiều mục đích khác nhau vềmặt cảm xúc, nhu cầu,… Tuynhiên, một số lớn những ngườinuôi thú cưng có quỹ thời giankhá hạn hẹp
Nhận thấy được nhu cầu trên, vàvới sự phát triển của công nghệthông tin nhóm chúng em đã
quyết định chọn đề tài “XÂY
Trang 10Để có thể hoàn thành
được đề tài, nhóm chúng
em đã nghiên cứu những nội dung như sau:
Tìm hiểu về ngôn ngữ Dart và framework Flutter
để hỗ trợ cho việc lập trình trên thiết bị di động
Tìm hiểu về UI/UX design, design thinking và công cụ thiết kế như Adobe
illustrator, Adobe
photoshop, Figma để hỗ trợthiết kế giao diện cho ứng dụng
Trang 11 Nghiên cứu về việc nhu cầu của những người nuôi thú cưng, nghiện cứu các công
ty đối thủ cạnh tranh trực tiếp và gián tiếp trên thị trường, các thông tin để tối ưu hoá được trải nghiệm người dùng và mang tính lôi kéo người dùng sử dụng ứng dụng lâu dài
Tìm hiểu một vài app liên quan đến quản lý dự án như Trello, Notion,…
1.3 Mục tiêu đề tài
Mục tiêu cơ bản là thực hiện hóa các kiến thức nghiên cứu và áp dụng chúng trongquá trình thực hiện đồ án Một phần mềm di động hoàn thiện về mặt giao diện, chínhxác về xử lý thuật toán và mang cho người sử dụng một trải nghiệm người dùng tốtnhất
Xây dựng ứng dụng di động hỗ trợ quản lý thú cưng cho một số lượng người dùng diđộng có nhu cầu cũng như là công việc bận rộn, quỹ thời gian ít
Thực hiện được các chức năng quản lý như quản lý dự án, quản lý nhiệm vụ,
về khía cạnh hiệu quả của việc sử dụng ứng dụng, những ưu nhược điểm của ứngdụng
Phạm vi người dùng: Hướng đến đối tượng là nhóm người dùng cuối hoặc cá nhân.Phạm vi người dùng sẽ được mở rộng trong tương lai khi ứng dụng có độ bao quát vềcác khía cạnh liên quan đến người sở hữu thú cưng
Phạm vị môi trường: Môi trường di động
Phạm vi chức năng: Cung cấp các chức năng cơ bản như quản lý thông tin căn bản thú
Trang 12cưng, quản lý đặt lịch trình thú cưng, quản lý thông tin vắc xin, quản lý trao đổi thôngtin người dùng, quản lý các thông báo và các chức năng phụ trợ khác.
Trang 131.5 Công cụ sử dụng
Công cụ phát triển ứng dụng di động: Visual Studio Code
Công cụ dùng để phân tích, thiết kế: Adobe illustrator, Adobe photoshop, Figma
Công cụ quản lý dự án: Github, Notion, Messenger
Công cụ trao đổi thông tin giữa thành viên nhóm: Discord, Messenger, Teams
Công cụ soạn thảo báo cáo: Microsoft Word
1.6 Đối tượng nghiên cứu
Công nghệ xây dựng ứng dụng: Ngôn ngữ Dart và Framework Flutter
Công nghệ hỗ trợ quản lý giao diện: DartDev Tools
Công nghệ xây dựng giao diện: Adoble Illustrator, Adobe Photoshop, Figma
Công nghệ quản lý state: Route
1.7 Khảo sát, đánh giá các ứng dụng cạnh tranh hiện có:
1.7.1 11pets
11pets
11pets là ứng dụng quản lý thú cưng hiện đang có trên thị trường với hơn 500.000lượt tải với nhiều sản phẩm dành cho người cần chăm sóc thú cưng 1 cách chuyênnghiệp Ngoài ra 11pets còn mở rộng kinh doanh bằng các ứng dụng như11pets:Adopt, 11 pets:Groomer,…
Trang 14 Một số điểm nổi bật:
Trang 15+ Có một cộng đồng thân thiện và việc trao đổi thông qua app cũng dễ dàng.
+ Có thể chia sẻ thông tin, cách chăm sóc thú cho các chuyên gia để nhận
Trang 16● Rover là một ứng dụng giúp những người bận rộn có thể nhận được sự hỗ trợ từ các người có chuyên môn hoặc được tin tưởng để dắt thú cưng của họ đi dạo.
+ Chỉ là app hỗ trợ trong việc dắt thú cưng đi dạo
+ Vấn đề bảo mật thông tin khách hàng chưa rõ ràng
+ Không có các lưu trữ về tình trạng sức khoẻ của thú cưng
Trang 17CHƯƠNG 2 TỔNG QUAN CÔNG NGHỆ
2.1 Phương pháp làm việc
Làm việc nhóm giữa 2 thành viên thông qua hình thức online, offline Tương tác trao đổi vớinhau online dưới sự hướng dẫn của giảng viên
2.2 Phương pháp nghiên cứu
- Phân tích nhu cầu sử dụng của các đối tượng có liên quan
- Nghiên cứu, phân tích và đánh giá các ứng dụng có sẵn trên thị trường
2.4 Giới thiệu Cross Platform và framework Flutter
Cross platform là một nền tảng đa ứng dụng Tức là chỉ với những bản code, ta có
thể sử dụng và chạy nó trên nhiều nền tảng ứng dụng khác nhau, giúp bạn tiết kiệmđược công sức và thời gian đáng kể
+ Ưu điểm: Tiếp cận được tập người dùng lớn, tốc độ triển khai dự án nhanh, tiết
kiệm chi phí và nguồn lực nhân viên, có hiệu suất tốt nếu thực hiện tối ưu hoá ứngdụng hiệu quả, giao diện thống nhất trên nhiều nền tảng
+ Nhược điểm: Quá trình kiểm thử và thực hiện bảo trì có thể mất nhiều thời gian
Trang 18bởi tính tương thích, các giao diện có thể không thống nhất với nhau qua các nềntảng nếu chưa được responsive tốt Cần tối ưu hoá hiệu quá nếu xây dựng một ứngdụng lớn.
Trang 19 Flutter Framework là một mobile UI framework do Google tạo ra để xây dựng các
giao diện chất lượng cao trên nhiều nền tảng trong một khoảng thời gian ngắn Flutterhoạt động với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức
+ Ưu điểm: Animation rất tốt, lập trình viên có thể dễ làm quen vì syntax hiện đại,
linh động
+ Nhược điểm: Tiêu tốn khá nhiều memory, phải học thêm ngôn ngữ Dart, có kiến
thức và state management Đặc biệt, do đây là một framework mới trong nhữngnăm trở lại đây đối với các lập trình viên Việt Nam nên cộng đồng người dùng vẫncòn đang phát triển
Trang 20CHƯƠNG 3 KHẢO SÁT VÀ PHÂN TÍCH ĐẶC TẢ YÊU CẦU
3.1 Khảo sát hiện trạng
3.1.1 Phương pháp & kết quả khảo sát
● Phương pháp: Dựa trên những báo cáo, nghiên cứu chính thức Ngoài ra còn thực hiện
một cuộc khảo sát quy mô nhỏ và nhận được khoảng 105 responses đến từ khoảng
120 người được gửi bảng khảo sát đạt 87,5%
● Kết quả nhận được từ khảo sát:
Lợi ích sức khoẻ người sở hữu thú cưng nhận được (Multiple choices):
79% người tham gia thấy giúp họ giảm stress
65% người thấy được gắn kết hơn
64% người cảm thấy sức khoẻ họ tốt hơn
Khi được hỏi rằng liệu người sở hữu thú cưng có xem thú cưng như một phần gia đình hay không?
80% người tham gia coi thú cưng như một phần gia đình
20% người tham gia chỉ coi như thú cưng
Khi thú cưng bị ốm thì người tham gia sẽ hành động thế nào:
48% tự tìm hiểu về các loại bệnh có triệu chứng giống thông qua các bài viết
29% đến gặp trực tiếp các chuyên gia
14,7% tư vấn trực tuyến với các chuyên gia
8,3% hỏi ở trên các mạng xã hội, forum
Hành động khi thú cưng đi lạc:
42,2% lập tức đăng hỏi ở các mạng xã hội
25,5% tìm kiếm ở khu vực xung quanh nhà hoặc hỏi hàng xóm
23,5% đăng hỏi ở các forum của người yêu quý, sở hữu thú cưng
8,8% tin rằng thú cưng của họ sẽ tự về nhà
Trang 213.2 Danh sách các yêu cầu có trong ứng dụng
ST
T
Loại yêu câu Tên yêu cầu
người
Trang 22CHƯƠNG 4 PHÂN TÍCH HỆ THỐNG 4.1 Phân loại các yêu cầu phần mềm
4.1.1 Yêu cầu hệ thống
● Ứng dụng có thể hoạt động như một ứng dụng di động thông thường
● Ứng dụng đáp ứng được các nhu cầu cần thiết, cơ bản của người sở hữu thú cưngcũng như các chức năng khác liên quan như là quản lý hồ sơ của các thú cưng riêngbiệt, quản lí thời gian biểu cho một số hoạt động của thú cưng, quản lí thông tinvaccine và thông tin sức khoẻ của thú cưng,…
4.1.2 Yêu cầu nghiệp vụ
● Quản lí thú cưng: Tạo và quản lý một hoặc nhiều thú cưng.
● Quản lí các thông tin y tế, sức khoẻ: Tạo và quản lí các thông tin như vaccine,
thông tin thăm khám, …
● Chia sẻ thông tin: Có thể chia sẻ các thông tin giữa những người dùng app.
● Đa dụng: Hỗ trợ đa ngôn ngữ
4.2 Bảng trách nhiệm cho từng loại yêu cầu
4.2.1 Bảng trách nhiệm yêu cầu nghiệp vụ
Tạo và lưu trữ thông tin
tin nhiệm
vụ
Cung cấp thông tin về nhiệm vụ
Lưu trữ thông tin nhiệm vụ
kê các dự
án
Xem thống kêcác dự án
Hiển thị thống
kê của các dự án
thông tin Cung cấp thông tin
cần
Trả về thông tin cần tìm kiếm
Trang 23tìm
Trang 244.2.2 Bảng trách nhiệm yêu cầu chất lượng
và nhiệm vụ,
dự án
Đảm bảo tính đúng đắn và chấtlượng các thông tin
án
Xem và nắm được tình trạng chính xác của các
dự án
Xem và hiển thị chính xác
số liệu
Trang 25CHƯƠNG 5 THIẾT KẾ HỆ THỐNG 5.1 Sơ đồ User case tổng quát
5.1.1 Yêu cầu tổng
quát
5.1.1.1 Sơ đồ
UC1: Đăng nhập tài khoản
Trang 26Tóm tắt Chức năng đăng nhập vào hệ thống.
Dòng sự kiện chính 1 Hệ thống hiển thị form đăng nhập
2 Nhập email và mật khẩu (bắt buộc nhập) và nhấn
“Đăng nhập”
3 Hệ thống kiểm tra thông tin đăng nhập
4 Hệ thống hiển thị trang chính
Dòng sự kiện khác 3.1 Thông tin đăng nhập sai:
Hệ thống hiển thị thông báo tài khoản đăng nhậpkhông hợp lệ
Dòng sự kiện chính 1 Hệ thống hiển thị form đăng ký
2 Nhập email và mật khẩu (bắt buộc nhập) và nhấn
“Đăng ký”
3 Hệ thống gửi mail xác nhận đăng ký tài khoản
4 Hệ thống kiểm tra thông tin
5 Hệ thống hiển thị trang đăng nhậpDòng sự kiện khác 3.1 Thông tin đăng ký đã tồn tại:
Hệ thống hiển thị thông báo tài khoản đã tồn tại và trở
về trang đăng nhập
3.2 Không xác nhận mail đăng ký
Hệ thống không cho tài khoản đăng nhậ
Trang 27Các yêu cầu đặc biệt Không có
Trạng thái hệ thống trước
khi thực thiện use case
Actor: UserĐiều kiện: không cóTrạng thái hệ thống sau
khi thực hiện use case Người dùng đăng ký thành công, có thể đăng nhập đểsử dụng các chứcnăng mà hệ thống cho phép
UC3: Đăng xuất
2 Hệ thống đăng xuất tài khoản củangười dùng
Trạng thái hệ thống trước khi thực hiện
thốngTrạng thái hệ thống sau khi thực hiện
UC4: Thêm tình trạng thú cưng
Trang 28Tên chức năng Thêm tình trạng
thú cưng
thú cưng ngày hôm đó
chủ
2 Click thêm task
3 Điền thông tin vào các mục và chọn “Thêm dữ liệu”
4 Hệ thống kiểm tra thông tin, nếu các thông tin hợp lệ sẽ tiến hành bước tiếp theo
5 Hệ thống lưu dữ liệu lên firebase và thông báo thành công
lệ:
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhập lại thông tin
Trạng thái hệ thống
trước khi thực hiện use
case
Actor: UserĐiều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử dụng chức năng này
Trạng thái hệ thống sau
khi thực thiện use case
Người dùng thêm thông tin thành công vào hệ thống
UC5: Tìm kiếm người dùng
trên app
Trang 29chủ
2 Click vào ô search
3 Điền thông tin vào người dùng muốn kiếm và ấn search
4 Hệ thống kiểm tra thông tin, nếu các thông tin hợp lệ sẽ tiến hành bước tiếp theo
5 Hệ thống trả lại thông tin người dùng phù hợp
lệ:
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhập lạithông tin
Trạng thái hệ thống trước khi thực
đăng nhập vào hệ thống và có quyền sử dụng chức năng này
Trạng thái hệ thống sau khi thực
thiện use case
Người dùng thêm thông tin thành công vào hệ thống
UC6: Đăng bài
Trang 30ảnh để đăng bài kèm ảnh
3 Điền thông tin mà người dùng muốn vào và upload ảnh
4 Hệ thống kiểm tra thông tin, nếu các thông tin hợp lệ sẽ tiến hành bước tiếp theo
5 Hệ thống đăng bài của người dùng và bài đó sẽ xuất hiện trên Feed củanhững người dùng khác
thành công
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhập lại thông tin
Trạng thái hệ thống trước khi
thực hiện use case Actor: UserĐiều kiện: Người dùng đã
đăng nhập vào hệ thống và có quyền sử dụng chức năng này
Trạng thái hệ thống sau khi
thực thiện use case
Người dùng thêm thông tin thành công vào hệ thống
UC7: Comment
lên bài của 1 người dùng khác hoặc chính mình
chủ
2 Click vào dòng comment ở dưới các bài
3 Điền thông tin mà người dùng muốn
Trang 314 Hệ thống kiểm tra thông tin, nếu các thông tin hợp lệ sẽ tiến hành bước tiếp theo.
5 Hệ thống đăng comment của người dùng vào dưới bài đó
thành công
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhập lạithông tin
Trạng thái hệ thống trước khi thực
đăng nhập vào hệ thống và có quyền sử dụng chức năng này
Trạng thái hệ thống sau khi thực
thiện use case
Người dùng thêm thông tin thành công vào hệ thống
UC8: Chat và gửi hình
lạc với 1 người dùng khác thông qua các box chat
2 Chọn người dùng muốn gửi tin nhắn đến (Chỉ có thể là người dùng khác) có thể dưới dạng tin
nhắn hoặc hình ảnh
3 Điền thông tin mà người dùng muốn
4 Hệ thống kiểm tra
Trang 32thông tin, nếu các thông tin hợp lệ sẽ tiến hành bước tiếp theo.
5 Hệ thống sẽ thể hiện thông tin mà người dùng đã nhập dưới dạng tin nhắn và cả người dùng gửi và người
dùng nhận sẽ đọc được
không thành công
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhập lại thông tin
Trạng thái hệ thống trước
khi thực hiện use case Actor: UserĐiều kiện: Người dùng đã
đăng nhập vào hệ thống và có quyền sử dụng chứcnăng này
Trạng thái hệ thống sau khi
thực thiện use case Người dùng thêm thông tin thành công vào hệ thống.
UC9: Tạo Profile thú cưng
1 profile duy nhất cho 1 thú cưng của họ
2 Hệ thống hiển thị các thông tin người dùng cần nhập (bao gồm thông tin bắt buộc và không
bắt buộc)
3 Điền thông tin mà người dùng muốn
4 Hệ thống kiểm tra
Trang 33thông tin, nếu các thông tin hợp lệ sẽ tiến hành bước tiếp theo.
5 Hệ thống sẽ lưu trữ lại các thông tin của profile và sẽ tạo và định dạnglại thú cưng dưới định dạng
Trạng thái hệ thống trước khi
thực hiện use case Actor: UserĐiều kiện: Người dùng đã
đăng nhập vào hệ thống và có quyền sử dụng chức năng này
Trạng thái hệ thống sau khi
thực thiện use case Người dùng thêm thông tin thành công vào hệ thống.
UC10: Thêm task hằng ngày
gian biêu cho các hoạt động pet vja ngày nhất định
2 Click thêm task
3 Điền thông tin vào các mục và chọn “Thêm dữ liệu”
4 Hệ thống kiểm tra
Trang 34thông tin, nếu các thông tin hợp lệ sẽ tiến hànhbước tiếp theo.
5 Hệ thống lưu dữ liệu lên firebase và thông báo thành công đồng thời
sẽ hiển thị các thông tin đó
lệ:
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhập lại thông tin
Trạng thái hệ thống trước khi
thực hiện use case Actor: UserĐiều kiện: Người dùng đã
đăng nhập vào hệ thống và có quyền sử dụng chức năng này
Trạng thái hệ thống sau khi thực
thiện use case Người dùng thêm thông tin thành công vào hệ thống.
UC11: Quản lí trang cá nhân
hoá tài khoản của bản thân
2 Hệ thống
sẽ hiển thị các thông tin như số lượng người follow,
số người đang follow, Bio,…