Phân tích bài toán cần xây dựng

Một phần của tài liệu Đề tài xây dựng ứng dụng di động dành cho hội thảo ATIGB của trường đại học sư phạm kỹ thuật – đại học đà nẵng (Trang 29)

Để xây dựng ứng dụng di động trên, một số yêu cầu được đặt ra cho bài toán. Ứng dụng di động nền tảng Android và IOS, và đáp ứng được các chức năng sau:

1. Hiển thị nội dung agenda của hội thảo

2. Hiển thị nội dung danh sách các bài báo đăng kí trong hội thảo 3. Hiển thị danh sách các diễn giảvà người tham gia hội thảo

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

ThS. Đỗ Phú Huy Trang 17

4. Giới thiệu hội thảo

5. Tìm kiếm bài báo trong hội thảo

4. Sơ đồ Use case

4.1. Các trường hợp được hỗ trợtrong chương trình

1. Xem thông tin hội nghị

2. Xem chương trình hội nghị

3. Xem thông tin bài báo 4. Xem thông tin nhà tài trợ

5. Đăng nhập để tìm kiếm bài báo 6. Nhận thông báo từ hội nghị

Hình 9: Sơ đồ Use Case tổng quát

5. Đặc tả Use Case

5.1. Đăng nhập

ThS. Đỗ Phú Huy Trang 18 - Mô tả: Người dùng muốn đăng nhập vào ứng dụng để sử dụng dịch vụ từ

ứng dụng

- Mục đích: Đảm bảo xác thực thông tin người sử dụng - Tác nhân: Người dùng ứng dụng

- Điều kiện trước:

• Người dùng đã được cấp tài khoản trong hệ thống

• Thiết bị đã được kết nối với internet - Điều kiện sau:

• Người dùng đăng nhập ứng dụng thành công

• LocalStorage lưu thông tin đăng nhập của người dùng - Sơ đồ hoạt động:

Hình 10: Sơ đồ hoạt động đăng nhập

5.2. Đổi mật khẩu

- Tên Use Case: Đổi mật khẩu

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

ThS. Đỗ Phú Huy Trang 19

- Mục đích: Tăng tính bảo mật cho tài khoản của người dùng - Tác nhân: Người dùng ứng dụng

- Điều kiện trước: (adsbygoogle = window.adsbygoogle || []).push({});

• Người dùng đăng nhập thành công

• Thiết bị được kết nối với internet - Điều kiện sau:

• Đổi mật khẩu thành công - Sơ đồ hoạt động:

ThS. Đỗ Phú Huy Trang 20

5.3. Xem danh sách bài báo

- Tên Use Case: Xem danh sách bài báo

- Mô tả: Người dùng được phép xem những bài báo đã gửi cho hệ thống trước

đó

- Mục đích:

- Tác nhân: Người dùng ứng dụng - Điều kiện trước:

• Người dùng đăng nhập thành công

• Người dùng đã từng gửi ít nhất một bài báo cho hệ thống

• Thiết bị được kết nối với internet - Điều kiện sau: không có

- Sơ đồ hoạt động:

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

ThS. Đỗ Phú Huy Trang 21

5.4. Xem thông tin tài khoản cá nhân

- Tên Use Case: Xem thông tin tài khỏa cá nhân

- Mô tả: Người dùng bấm vào tab Tài khoản để xem thông tin tài khoản cá

nhân đã đăng kí

- Mục đích: Giúp người dùng xem được thông tin tài khoản của mình để có thểđiều chỉnh kịp thời nếu phát hiện sai sót

- Tác nhân: Người dùng hệ thống - Điều kiện trước:

• Người dùng đăng nhập thành công

• Thiết bị có kết nối với internet - Điều kiện sau:

• xem được thông tin tài khoản cá nhân - Sơ đồ hoạt động:

ThS. Đỗ Phú Huy Trang 22

5.5. Quên mật khẩu

- Tên Use Case: Quên mật khẩu

- Mô tả: Người dùng điền email dùng đểđăng ký tài khoản và nhấn nút gửi - Mục đích: Giúp người dùng lấy lại mật khẩu khi quên mật khẩu cũ

- Tác nhân: Người dùng ứng dụng - Điều kiện trước: (adsbygoogle = window.adsbygoogle || []).push({});

• Người dùng phải có tài khoản tồn tại trong hệ thống

• Người dùng phải nhập đúng email đã đăng ký với hệ thống

• Thiết bị có kết nối với internet - Điều kiện sau:

• Mật khẩu mới được gửi về email của tài khoản đã gửi yêu cầu - Sơ đồ hoạt động:

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

ThS. Đỗ Phú Huy Trang 23

5.6. Xem danh sách nhà tài trợ

- Tên usecase: Xem danh sách nhà tài trợ.

- Mô tả: Người dùng được phép xem những nhà tài trợđã có trong hệ thống. - Mục đích:

- Tác nhân: Người dùng ứng dụng - Điều kiện trước:

• Người dùng đăng nhập thành công

• Thiết bị được kết nối với internet - Điều kiện sau: không có

- Sơ đồ hoạt động:

ThS. Đỗ Phú Huy Trang 24

5.7. Xem thông tin bài báo

- Tên Use Case: Xem thông tin bài báo

- Mô tả: Người dùng bấm vào tab Bài báo để xem thông tin bài báo đã up trước đó

- Mục đích: Giúp người dùng xem được thông tin bài báo để có thểđiều chỉnh kịp thời nếu phát hiện sai sót

- Tác nhân: Người dùng hệ thống - Điều kiện trước:

• Người dùng đăng nhập thành công

• Thiết bị có kết nối với internet - Điều kiện sau:

• Xem được thông tin bài báo - Sơ đồ hoạt động:

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

ThS. Đỗ Phú Huy Trang 25

5.8. Xem lịch sự kiện

- Tên Use Case: Xem lịch sự kiện

- Mô tả: Người dùng bấm vào tab Sự kiện để xem thông tin lịch của các sự

kiện được up lên trên hệ thống

- Mục đích: Giúp người dùng xem được thông tin các sự kiện để có thể nắm bắt được các sự kiện của hội thảo

- Tác nhân: Người dùng hệ thống - Điều kiện trước: (adsbygoogle = window.adsbygoogle || []).push({});

• Người dùng đăng nhập thành công

• Thiết bị có kết nối với internet - Điều kiện sau:

• Xem được thông tin lịch sự kiện - Sơ đồ hoạt động:

ThS. Đỗ Phú Huy Trang 26

5.9. Xem danh sách tác giả

- Tên usecase: Xem danh sách tác giả.

- Mô tả: Người dùng được phép xem những tác giảđã có trong hệ thống. - Mục đích: Xem được danh sách tác giả

- Tác nhân: Người dùng ứng dụng - Điều kiện trước:

• Người dùng đăng nhập thành công

• Thiết bị được kết nối với internet - Điều kiện sau: không có

- Sơ đồ hoạt động:

Hình 18: Sơ đồ hoạt động Xem danh sách tác giả

6. Xây dựng tập API hỗ trợứng dụng

6.1. Đăng nhập

Chức năng: Hỗ trợ truyền thông tin đăng nhập của người dùng từứng dụng xuống hệ thống quản trịđể kiểm tra về mặt an ninh hệ thống.

Màn hình: Đăng nhập người dùng Cách thức:

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

ThS. Đỗ Phú Huy Trang 27

Mô đun sử dụng: sign_in

Liên kết: http://hatigb.hellodn.net/api/auth/login Tham số: { "email":"author1@gmail.com", "password":"author", "device_code":"abcxyz" } Kết quả:

Trả về kết quảđăng nhập thành công hay thất bại.

6.2. Lấy thông tin hội thảo

Chức năng: Lấy thông tin của hội thảo như thông tin giới thiệu, nơi tổ chức, ban tổ chức hội thảo và hiển thị lên điện thoại di động người dùng.

Màn hình: Thông tin hội thảo Cách thức:

Mô đun sử dụng: get conference

Liên kết: http://hatigb.hellodn.net/api/auth/conference Tham số: Hội thảo mới nhất. Kết quả: { "id": 1, "year": 1, "image_conference": "/data/conference1.jpg", "conference_name": "Atigb",

"content": "Hội thảo khoa học ứng dụng xanh trong đời sống.", "chairman": "Phan Cao Tho",

"start_date": "2020-08-02", "end_date": "2020-08-02", "unit_holder": "DH SPKT",

"location": "48 Cao Thắng, Đà Nẵng, Việt Nam", "submit_deadline": "2020-08-02",

ThS. Đỗ Phú Huy Trang 28 "point": 4.8 (adsbygoogle = window.adsbygoogle || []).push({});

}

6.3. Lấy danh sách bài báo

Chức năng: Hỗ trợ lấy danh sách bài báo đã nộp và được chấp nhận đăng

trong hội thảo.

Màn hình: Danh sách bà báo Cách thức:

Mô đun sử dụng: list_paper

Liên kết: http://hatigb.hellodn.net/api/auth/paper

Tham số:

Authorization: Bearer {"conference_id":1}

Kết quả:

Trả về kết quả là danh sách bài báo trong hội thảo.

7. Sơ đồ ERD

Mô hình quan hệ thực thể (Entity Relationship model - E-R) được CHEN giới thiệu

vào năm 1976 là một mô hình được sử dụng rộng rãi trong các bản thiết kế cơ sở dữ

liệu ở mức khái niệm, được xây dựng dựa trên việc nhận thức thế giới thực thông qua tập các đối tượng được gọi là các thực thể và các mối quan hệ giữa các đối tượng này.

Mô hình quan hệ thực thể ERD có ưu điểm mô tả được các đặc điểm trong đối

tượng thuộc mô hình. Chính vì vậy việc lựa chọn mô hình này luôn là quyết định của các nhà phân tích thiết kếcơ sở dữ liệu.

Mục tiêu của mô hình E-R trong quá trình thiết kếcơ sở dữ liệu đó là phân tích dữ

liệu, xác định các đơn vịthông tin cơ bản cần thiết của tổ chức, mô tả cấu trúc và mối liên hệ giữa chúng.

E-R là mô hình trung gian để chuyển những yêu cầu quản lý dữ liệu trong thế giới thực thành mô hình cơ sở dữ liệu quan hệ.

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

ThS. Đỗ Phú Huy Trang 29

Các thực thể chính tham gia trong bài toán:

• Bài báo

• Tác giả

• Hội nghị tổ chức

• Chương trình hội thảo

• Nhà tài trợ

Sơ đồ thực thểđược mô tảnhư hình sau:

ThS. Đỗ Phú Huy Trang 30 (adsbygoogle = window.adsbygoogle || []).push({});

8. Xây dựng cơ sở dữ liệu

8.1. Các bảng dữ liệu tiêu biểu

Bảng người dùng( Users)

- Bảng người dùng là bảng lưu trữ thông tin tài khoản của người dùng bao gồm thông tin cá nhân và thông tin đăng nhập.

STT Tên Trường Kiểu Dữ

Liệu Mô Tả

1 id Int Khóa chính

2 email Varchar(255) Email người dùng 3 fulname Varchar(255) Tên người dùng

4 phone Varchar(255) Sốđiện thoại người dùng 5 address Varchar(255) Địa chỉ người dùng 6 avatar Varchar(255) Ảnh đại diện người dùng 7 password Varchar(255) Mật khẩu người dùng đã

được mã hóa

8 remember_token Varchar(100) Mã đăng nhập cho người dùng chọn nhớ tài khoản 9 note Varchar(100) Ghi chú cho tài khoản 10 office Varchar(255) Lưu link office của người

dùng

11 website Varchar(100) Lưu link web của người dùng

12 create_at timestamp Thời gian tạo dữ liệu

người dùng

13 update_at timestamp

Thời gian thay đổi dữ

liệu người dùng lần cuối cùng

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

ThS. Đỗ Phú Huy Trang 31

Bảng quản trị viên (table_admin)

- Bảng quảntrị viên là bảng lưu trữ thông tin tài khoản của quản trị viên bao

gồm thông tin cá nhân, thông tin đăng nhập và phân quyền vai trò

STT Tên Trường Kiểu Dữ

Liệu Mô Tả

1 id Int Khóa chính

2 email Varchar(255) Email quản trị viên 3 fulname Varchar(255) Tên admin

4 avatar Varchar(255) Ảnh đại diện admin 5 password Varchar(255) Mật khẩu quản trị viên đã

được mã hóa

6 remember_token Varchar(100) (adsbygoogle = window.adsbygoogle || []).push({});

Mã đăng nhập cho quản trị viên chọn nhớ tài khoản

7 role Int(100) Phân quyền vai trò 8 create_at timestamp Thời gian tạo dữ liệu

quản trị viên

9 update_at timestamp

Thời gian thay đổi dữ

liệu quản trị viên dùng lần cuối cùng

Bảng Chương trình nghị sự( Agenda)

- Bảng chương trình nghị sự là bảng lưu trữ thông tin thời gian của hội nghị. STT Tên Trường Kiểu Dữ Liệu Mô Tả

1 id Bigint(20) Khóa chính của bảng 2 Conference_id Int(11) Khóa ngoại liên kết với

bảng conference 3 time Varchar(255) Thời gian của chương

ThS. Đỗ Phú Huy Trang 32 4 create_at timestamp Thời gian tạo

5 update_at timestamp Thời gian cập nhật lần cuối

Bảng hội nghị( Conference)

- Bảng hội nghị là bảng lưu trữ thông tin lịch trình địa điểm tổ chức của hội nghị

STT Tên Trường Kiểu Dữ

Liệu Mô Tả

1 id Int Khóa chính

2 year Varchar(255) Năm tổ chức hội nghị

3 Image_conference Varchar(255) Hình ảnh hội nghị

4 Conference_name Varchar(255) Tên hội nghị

5 Chairman Varchar(255) Chủ tịch

6 Agenda_content Varchar(255) Nội dung chương trình

nghị sự

7 startdate date Ngày bắt đầu 8 enddate date Ngày kết thúc 9 Unit_holder Varchar(255) Đơn vị tổ chức 10 Submit_dealine date Thời hạn 11 note Varchar(255) Ghi chú

12 website Varchar(100) Lưu link web của người dùng

13 create_at timestamp Thời gian tạo 14 update_at timestamp Thời gian thay đổi

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

ThS. Đỗ Phú Huy Trang 33

Bảng tác giả(table_paper_author)

- Bảng tác giả là bảng dùng để lưu trữ thông tin tác giả (adsbygoogle = window.adsbygoogle || []).push({});

STT Tên Trường Kiểu Dữ

Liệu Mô Tả

1 id Int Khóa chính

2 Paper_id Int(11) Khóa ngoại liên kết với bảng table_paper 3 user_id Int(11) Khóa ngoại liên kết với

bảng user

Bảng bài báo ( table_paper)

- Bảng bài báo là bảng dùng để lưu trữ thông tin chi tiết của bài báo có trong

chương trình hội nghị

STT Tên Trường Kiểu Dữ

Liệu Mô Tả

1 id Int Khóa chính

2 title Varchar(100) Tiêu đề bài báo 3 abstract Varchar(255)

4 lang Varchar(255) Ngôn ngữ

5 image Varchar(255) Hình ảnh 6 author Varchar(255) Tác giả

7 location Varchar(255) Vị trí

8 Conference_id Int(11) Khóa ngoại liên kết với bảng Conference

9 Created_by Varchar(255) Được tạo bởi 10 Update_by Varchar(255) Được cập nhật bởi 11 created_at timestamp Thời gian tạo 12 updated_at timestamp Thời gian cập nhật

ThS. Đỗ Phú Huy Trang 34

9. Xây dựng hệ thống quản lý hỗ trợ lưu trữ và tiếp nhận thông tin hỗ trợ

ứng dụng di động

Đểứng dụng di động có thể hoạt động được, tác giả cần xây dựng một hệ thống hỗ trợ phía người quản lý để có thể nhập và chỉnh sửa lượng thông tin hiển thị trên

ứng dụng di động cũng như tiếp nhận thông tin phản hồi từ người dùng phía ứng dụng di động.

Một số chức năng chính phía quản lý như sau:

• Tạo hội thảo

• Quản lý người tham dự

• Xây dựng chương trình hoạt động của hội thảo

• Quản lý bài báo

• Quản lý thông tin nhà tài trợ

Một số màn hình tiêu biểu như bên dưới:

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG (adsbygoogle = window.adsbygoogle || []).push({});

ThS. Đỗ Phú Huy Trang 35

Hình 21:Danh sách hội nghị trong hệ thống

ThS. Đỗ Phú Huy Trang 36

Hình 23: Chương trình hoạt động của hội thảo trên web quản lý

CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

ThS. Đỗ Phú Huy Trang 37

CHƯƠNG III: TRIỂN KHAI VÀ ĐÁNH GIÁ KT QU

1. Thiết kế giao diện

1.1. Màn hình Đăng nhập

Người tham gia hội thảo sẽ sử dụng ứng dụng di động này đểtương tác

với hội thảo một cách nhanh chóng và dễ dàng hơn. Tuy nhiên, nếu chỉ là khách vãng lai và không muốn tìm hiểu sâu hơn về thông tin hội thảo thì có thể xem được thông tin chung của hội thảo, chương trình hoạt động của hội thảo và danh sách các nhà tài trợ cho hội thảo.

Nếu người sử dụng muốn xem được các bài báo được đăng trong hội thảo, các bài nói chuyện chính của hội thảo cũng như thông tin liên lạc của các tác giả, người dùng phải đăng nhập vào ứng dụng.

Màn hình đăng nhập như sau:

ThS. Đỗ Phú Huy Trang 38

1.2. Màn hình tổng quan ứng dụng

Màn hình tổng quan là màn hình đầu tiên khi người dùng sử dụng ứng dụng. Ở màn hình này, các mục nội dung như các bài khóa nói chuyện chính, nội dung hoạt động của hội thảo, danh sách nhà tài trợvà đơn vị tổ chức đều

được hiển thị ở đây. Người dùng sẽ dễ dàng thao tác lựa chọn nội dung mà mình muốn tham khảo.

Màn hình tổng quan ứng dụng như sau:

CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

ThS. Đỗ Phú Huy Trang 39

1.3. Màn hình chương trình hội thảo

Màn hình chương trình hội thảo cho phép người dùng xem được một cách chi tiết các thông tin vềchương trình tổ chức sắp đến của hội thảo. Người dùng có thể theo dõi chi tiết ngày giờ và nội dung của từng bài khóa

Một phần của tài liệu Đề tài xây dựng ứng dụng di động dành cho hội thảo ATIGB của trường đại học sư phạm kỹ thuật – đại học đà nẵng (Trang 29)