1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phần mềm ngân hàng máu nóng trực tuyến trên hệ điều hành android

64 17 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 Phần Mềm Ngân Hàng Máu Nóng Trực Tuyến Trên Hệ Điều Hành Android
Tác giả Đặng Duy Hậu
Người hướng dẫn TS. Phạm Anh Phương
Trường học Trường Đại Học Sư Phạm - Đại Học Đà Nẵng
Chuyên ngành Tin Học
Thể loại Báo Cáo Khóa Luận Tốt Nghiệp
Năm xuất bản 2017
Thành phố Đà Nẵng
Định dạng
Số trang 64
Dung lượng 2,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Qua các bất cập trên Tôi xin chọn đề tài nghiên cứu “Xây dựng ứng dụng ngân hàng máu nóng trực tuyến trên hệ điều hành Android” nhằm giúp cho công tác quản lý, kêu gọi, tìm kiếm các nhóm

Trang 1

Giảng viên hướng dẫn : TS PHẠM ANH PHƯƠNG

Lớp sinh hoạt : 13CNTT

ĐÀ NẴNG, 04/2017

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, Tôi xin chân thành cảm ơn quý thầy cô trong khoa Tin học cũng như các quý thầy cô đang giảng dạy và công tác tại trường Đại học Sư Phạm - Đại học Đà Nẵng đã truyền đạt những kiến thức quý báu cho chúng tôi trong những năm học vừa qua

Đặc biệt, Tôi xin chân thành cảm ơn thầy TS Phạm Anh Phương và các thầy cô giáo của Khoa Tin học, Trường Đại học Sư Phạm Đà Nẵng xin cảm ơn quý thầy cô đã tận tình dạy bảo, giúp đỡ trong suốt thời gian Tôi thực hiện đề tài

Và cho Tôi được gửi lời cảm ơn đến Công Ty TNHH Tin Học & Thương Mại (AsNet) đã tạo điều kiện cho Tôi được tham gia thực tập tại đơn vị cũng như cung cấp tất cả các cơ sở vật chất và trang thiết bị có thể cho Tôi trong thời gian vừa qua Xin cảm ơn các anh chị trong công ty, đặc biệt là anh Trần Quốc Huy đã tận tình hướng dẫn giúp đỡ Tôi trong suốt thời gian Tôi tham gia thực tập

Xin trân trọng cảm ơn!

Đà Nẵng, ngày 25 tháng 04 năm 2017

Sinh viên thực hiện

Đặng Duy Hậu

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan:

1 Những nội dung trong báo cáo này là do Tôi thực hiện dưới sự hướng dẫn trực tiếp của TS Phạm Anh Phương và các anh chị trong Công ty TNHH Tin Học & Thương Mại (AsNet)

2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, Tôi xin chịu hoàn toàn trách nhiệm

Sinh viên thực hiện,

Đặng Duy Hậu

Trang 4

NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN

Đà Nẵng, ngày tháng năm 2017

Cán bộ hướng dẫn

Trang 5

NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN

Đà Nẵng, ngày tháng năm 2017

Hội đồng phản biện

Trang 6

Đặng Duy Hậu – 13CNTT (2013 – 2017) Báo cáo khóa luận tốt nghiệp

MỤC LỤC LỜI CẢM ƠN

LỜI CAM ĐOAN

MỤC LỤC i

DANH MỤC CÁC TỪ VIẾT TẮT iii

DANH MỤC CÁC BẢNG iv

DANH MỤC HÌNH VẼ vi

MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN CÔNG NGHỆ LẬP TRÌNH DI ĐỘNG 5

1.1 Phân tích thiết kế hệ thống 5

1.2 Phân tích thiết kế hệ thống hướng đối tượng 5

1.2.1 Khái niệm về phân tích thiết kế hướng đối tượng 5

1.2.2 Khái niệm về UML 8

1.2.3 Phân tích thiết kế hướng đối tượng sử dụng UML 8

1.3 Nền tảng công nghệ 10

1.3.1 Giới thiệu về Java 10

1.3.2 Giới thiệu về mô hình MVC 11

1.3.3 Giới thiệu về hệ điều hành Android 13

1.3.4 Giới thiệu về Firebase 13

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG NGÂN HÀNG MÁU NÓNG TRỰC TUYẾN 15

2.1 Đặt vấn đề 15

2.2 Yêu cầu chức năng 15

2.3 Yêu cầu phi chức năng 16

2.4 Phân tích thiết kế hệ thống 17

Trang 7

Đặng Duy Hậu – 13CNTT (2013 – 2017) Báo cáo khóa luận tốt nghiệp

2.4.1 Sơ đồ ca sử dụng 17

2.4.2 Đặc tả ca sử dụng chung cho tất cả loại tài khoản 23

2.4.3 Đặc tả ca sử dụng riêng cho thành viên 27

2.4.4 Đặc tả ca sử dụng riêng cho quản trị viên 28

2.4.5 Thiết kế cơ sở dữ liệu 32

2.4.6 Sơ đồ lớp 37

2.4.7 Sơ đồ tuần tự 38

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH NGÂN HÀNG MÁU NÓNG TRỰC TUYẾN 44

3.1 Môi trường triển khai 44

3.2 Kết quả triển khai 44

3.2.1 Giao diện giới thiệu các tính năng nổi bật của sản phẩm 44

3.2.2 Giao diện đăng nhập – đăng ký – quên mật khẩu 45

3.2.3 Giao diện trang chủ 45

3.2.4 Giao diện tìm kiếm nhóm máu 46

3.2.5 Giao diện tìm kiếm câu lạc bộ 46

3.2.6 Giao diện xem thông tin chi tiết câu lạc bộ 47

3.2.7 Giao diện tài khoản 47

3.2.8 Giao diện lịch sử hiến máu 48

3.2.9 Giao diện quản lý câu lạc bộ 48

3.2.10 Giao diện thảo luận trong câu lạc bộ 49

3.2.11 Giao diện thống kê 49

TÀI LIỆU THAM KHẢO 52

Trang 8

Đặng Duy Hậu – 13CNTT (2013 – 2017) Báo cáo khóa luận tốt nghiệp

DANH MỤC CÁC TỪ VIẾT TẮT

STT Ký hiệu viết tắt Tên của ký hiệu viết tắt

2 JSON JavaScript Object Notation

3 OOAD Object Oriented Analysis and Design

4 OOP Object Oriented Programming

6 SQL Structured Query Language

7 HOOD Hierarchical Object Oriented Design

8 RDD Responsibility Driven Design

10 MVC Model - View - Controller

11 NoSQL Not only Structured Query Language

Trang 9

Đặng Duy Hậu – 13CNTT (2013 – 2017) Báo cáo khóa luận tốt nghiệp

DANH MỤC CÁC BẢNG

Số hiệu

2.1 Bảng mô tả luồng sự kiện chính của ca sử dụng đăng ký 23

2.2 Bảng mô tả luồng sự kiện chính của ca sử dụng đăng

2.3 Bảng mô tả luồng sự kiện chính của ca sử dụng cập nhật

2.4 Bảng mô tả luồng sự kiện chính của ca sử dụng xem bài

2.5 Bảng mô tả luồng sự kiện chính của ca sử dụng tìm kiếm 25

2.6 Bảng mô tả luồng sự kiện chính của ca sử dụng tạo câu

2.9 Bảng mô tả luồng sự kiện chính của ca sử dụng quản lý

2.10 Bảng mô tả luồng sự kiện chính của ca sử dụng quản lý

2.11 Bảng mô tả luồng sự kiện chính của ca sử dụng quản lý

2.12 Bảng mô tả luồng sự kiện chính của ca sử dụng quản lý

2.13 Bảng mô tả luồng sự kiện chính của ca sử dụng quản lý

Trang 10

Đặng Duy Hậu – 13CNTT (2013 – 2017) Báo cáo khóa luận tốt nghiệp

Trang 11

Đặng Duy Hậu – 13CNTT (2013 – 2017) Báo cáo khóa luận tốt nghiệp

DANH MỤC HÌNH VẼ

Số hiệu

2.1 Ca sử dụng tổng quát cho tất cả loại tài khoản 17 2.2 Ca sử dụng tổng quát của thành viên câu lạc bộ 18 2.3 Ca sử dụng tổng quát của quản trị viên câu lạc bộ 19

2.18 Sơ đồ tuần tự quản lý thông tin cá nhân 39 2.19 Sơ đồ tuần tự xem bài đăng câu lạc bộ 39

Trang 12

Đặng Duy Hậu – 13CNTT (2013 – 2017) Báo cáo khóa luận tốt nghiệp

2.20 Sơ đồ tuần tự xem thông tin câu lạc bộ 40

2.23 Sơ đồ tuần tự câu lạc bộ đã tham gia 41 2.24 Sơ đồ tuần tự quản lý câu lạc bộ - chỉnh sửa thông tin 42 2.25 Sơ đồ tuần tự quản lý câu lạc bộ - quản lý bài đăng 42 2.26 Sơ đồ tuần tự quản lý câu lạc bộ - quản lý thành viên 43 3.1 Giao diện giới thiệu các tính năng nổi bật của sản phẩm 44 3.2 Giao diện đăng nhập – đăng ký – quên mật khẩu 45

3.6 Giao diện xem thông tin chi tiết câu lạc bộ 47

3.10 Giao diện thảo luận trong câu lạc bộ 49

Trang 13

MỞ ĐẦU

1 Lý do chọn đề tài

Trong cuộc sống ngày nay, máu là món quà vô giá mà cuộc sống đã ban tặng cho mỗi chúng ta Hàng ngày hàng ngàn người không may mắn đang khao khát chờ có máu để được cứu sống nên việc hiến máu tình nguyện là vô cùng cần thiết, góp phần đáp ứng nhu cầu máu, đảm bảo chất lượng máu an toàn phục vụ công tác cấp cứu, điều trị bệnh, tạo thêm niềm hy vọng sống cho nhiều người

Hiện nay ứng dụng về “máu nóng” chưa có ứng dụng nào để quản lý thành viên mà thường các nhóm trưởng kêu gọi trên cộng đồng mạng xã hội

là chính, nhiều lúc bị động phải chờ đợi người đăng ký và gặp trường hợp nguy cấp cần máu gấp thì lại không thể giải quyết ngay được

Qua các bất cập trên Tôi xin chọn đề tài nghiên cứu “Xây dựng ứng dụng ngân hàng máu nóng trực tuyến trên hệ điều hành Android” nhằm giúp cho công tác quản lý, kêu gọi, tìm kiếm các nhóm máu của các thành viên một các thuận tiện hơn, quản lý lịch sử hiến máu của thành viên một cách chính xác nhằm giúp người quản lý và các thành viên có thể nắm bắt thông tin một cách nhanh nhất để giúp đỡ người đang cần máu nóng gấp

2 Mục tiêu và nhiệm vụ đề tài

2.1 Mục tiêu

- Tìm hiểu thông tin về cách thức hoạt động của ngân hàng máu nóng

- Nghiên cứu mô hình hoạt động của các câu lạc bộ máu nóng

- Phân tích thiết kế hệ thống ngân hàng máu nóng

- Xây dựng phần mềm ngân hàng máu nóng trực tuyến

2.2 Nhiệm vụ

- Thu thập chi tiết thông tin về nhóm máu thành viên

- Quản lý lịch sử hiến máu

Trang 14

- Tìm kiếm dữ liệu về các nhóm máu

- Thông báo thông tin hiến máu rộng rãi đến từng thành viên

3 Đối tượng và phạm vi nghiên cứu

3.1 Đối tượng nghiên cứu

- Các đội nhóm, thành viên của các câu lạc bộ hiến máu tình nguyện

- Những người có nhu cầu cần máu nóng gấp

- Mô hình ngân hàng máu nóng

- Hệ thống hoạt động của các câu lạc bộ máu nóng

- Hệ điều hành Android

3.2 Phạm vi nghiên cứu

- Nghiên cứu về hệ điều hành Android

- Nghiên cứu về Firebase Realtime Database

- Xây dựng sản phẩm: phần mềm ngân hàng máu nóng trực tuyến thực nghiệm trên địa bàn thành phố Đà Nẵng

4 Phương pháp nghiên cứu

- Tìm hiểu, khảo sát các ứng dụng có chức năng tương tự, nghiên cứu và ứng dụng vào đề tài

- Tham khảo cách tổ chức, bố cục của giao diện hướng đến sự đơn giản,

dễ sử dụng đối người sử dụng

- Đề xuất các chức năng cho ứng dụng, cũng như nhận phản hồi ý kiến về chức năng từ giáo viên hướng dẫn từ đó đưa ra các giải pháp hợp lý phù hợp với xu thế phát triển của ứng dụng

- Ngoài ra sử dụng các phương pháp nghiên cứu khác như nghiên cứu tài liệu, giáo trình hay các tài liệu tham khảo có liên quan đến hệ thống cần xây dựng

4 Giải pháp đề xuất

Nghiên cứu cách sử dụng thống quản lý mã nguồn GIT (GitHub)

- Tạo người dùng và tham gia nhóm dự án

- Nghiên cứu đưa mã nguồn lên GitHub

Trang 15

- Nghiên cứu báo cáo tiến độ công việc

Nghiên cứu hệ điều hành Android trong phát triển ứng dụng

- Nghiên cứu kiến trúc, nền tàng và các thành phần chính của hệ điều hành Android

- Nghiên cứu các yêu cầu của về thành viên và người quản trị, phân quyền các chức năng cho thành viên và người quản trị

- Nghiên cứu cách tổ chức báo cáo, xuất báo cáo

- Nghiên cứu các xây dựng bố cục ứng dụng thân thiện dễ sử dụng

5 Kết quả dự kiến

5.1 Lý thuyết

Xây dựng thành công phần mềm ngân hàng máu nóng trực tuyến góp phần giúp đỡ cho việc quản lý các công việc của các câu lạc bộ máu nóng trở nên hiệu quả hơn, giúp ít nhiều hơn cho cộng đồng:

- Nguồn dữ liệu được bảo mật, dễ dàng sử dụng tra cứu

- Cho phép người dùng lưu giữ lịch sử về quá trình hiến máu

5.2 Thực tiễn

Kết quả đạt được là một phần mềm có những chức năng sau:

- Cơ sở dữ liệu có tính bảo mật cao, giúp bảo quản thông tin của người dùng

- Chức năng đăng ký, đăng nhập khi sử dụng phần mềm

- Hiển thị danh sách các nhóm câu lạc bộ máu nóng trên địa bàn thành phố

- Hiển thị thông tin chi tiết về nhóm máu của thành viên của câu lạc bộ

- Hiển thị lịch sử hiến máu

- Tìm kiếm các thành viên theo từng nhóm máu và lọc các thành viên có

đủ điều kiện hiến máu tại một thời điểm nhất định

- Xây dựng ứng dụng hoàn chỉnh

Trang 16

6 Bố cục đề tài

Ngoài phần mở đầu và kết luận, bố cục của đề tài bao gồm ba chương:

 Chương 1: Tổng quan công nghệ lập trình di dộng

Phần này trình bày về những kỹ thuật sẽ sử dụng để xây dựng và phát triển ứng dụng

 Chương 2: Phân tích thiết kế hệ thống ngân hàng máu nóng trực tuyến

Phần này trình bày về việc phân tích thiết kế hệ thống và phân tích cơ sở

dữ liệu

 Chương 3: Xây dựng chương trình ngân hàng máu nóng trực tuyến

Phần này trình bày những kết quả đạt được khi xây dựng chương trình

Đây là một đề tài còn mới mẻ nên trong quá trình nghiên cứu có thể có nhiều sai sót Tôi mong nhận được sự đóng góp của quý thầy cô

Trang 17

CHƯƠNG 1: TỔNG QUAN CÔNG NGHỆ LẬP TRÌNH

DI ĐỘNG

1.1 Phân tích thiết kế hệ thống

Để xây dựng một hệ thống quản lý về máu nóng thành công và đạt yêu cầu, cần tiến hành phân tích thiết kế hệ thống Đây là bước quyết định đến tính thành công, bền vững của dự án với các ưu điểm như:

- Có một cái nhìn đầy đủ, đúng đắn và chính xác về hệ thống thông tin được xây dựng trong tương lai

- Tránh sai lầm trong thiết kế và cài đặt

- Tăng vòng đời (life cycle) hệ thống

- Dễ sửa chữa, bổ sung và phát triển hệ thống trong quá trình sử dụng hoặc khi hệ thống yêu cầu

1.2 Phân tích thiết kế hệ thống hướng đối tượng

1.2.1 Khái niệm về phân tích thiết kế hướng đối tượng

Khác với phương pháp hướng cấu trúc chỉ tập trung hoặc vào dữ liệu hoặc vào hành động, phương pháp hướng đối tượng tập trung vào cả hai khía cạnh của hệ thống là dữ liệu và hành động

Cách tiếp cận hướng đối tượng là một lối tư duy theo cách ánh xạ các thành phần trong bài toán vào các đối tượng ngoài đời thực Với cách tiếp cận này, một hệ thống được chia tương ứng thành các thành phần nhỏ gọi là

các đối tượng, mỗi đối tượng bao gồm đầy đủ cả dữ liệu và hành động liên

quan đến đối tượng đó Các đối tượng trong một hệ thống tương đối độc lập với nhau và phần mềm sẽ được xây dựng bằng cách kết hợp các đối tượng

Trang 18

đó lại với nhau thông qua các mối quan hệ và tương tác giữa chúng Các nguyên tắc cơ bản của phương pháp hướng đối tượng bao gồm:

Trừu tượng hóa: trong phương pháp hướng đối tượng, các thực thể

phần mềm được mô hình hóa dưới dạng các đối tượng Các đối tượng này được trừu tượng hóa ở mức cao hơn dựa trên thuộc tính và phương thức mô tả đối tượng để tạo thành các lớp Các lớp cũng sẽ được trừu tượng hóa ở mức cao hơn nữa để tạo thành một sơ đồ các lớp được kế thừa lẫn nhau

Tính đóng gói và ẩn dấu thông tin: các đối tượng có thể có những

phương thức hoặc thuộc tính riêng mà các đối tượng khác không thể

sử dụng được Dựa trên nguyên tắc ẩn giấu thông tin này, cài đặt của các đối tượng sẽ hoàn toàn độc lập với các đối tượng khác, các lớp độc lập với nhau và cao hơn nữa là cài đặt của hệ thống hoàn toàn độc lập với người sử dụng cũng như các hệ thống khác sử dụng kết quả của nó

Tính mô-đun hóa: các bài toán sẽ được phân chia thành những vấn

đề nhỏ hơn, đơn giản và quản lý được

Tính phân cấp: cấu trúc của một hệ thống hướng đối tượng là dạng

phân cấp theo các mức độ trừu tượng từ cao đến thấp

Các khái niệm cơ bản của hướng đối tượng:

Đối tượng: một đối tượng biểu diễn một thực thể vật lý, một thực thể

khái niệm hoặc một thực thể phần mềm Có thể định nghĩa một đối tượng là một khái niệm, sự trừu tượng hoặc một vật với giới hạn rõ ràng và có ý nghĩa với một ứng dụng cụ thể

Lớp: là mô tả của một nhóm đối tượng có chung các thuộc tính, hành

vi và các mối quan hệ Như vậy, một đối tượng là thể hiện của một

Trang 19

lớp và một lớp là một định nghĩa trừu tượng của đối tượng

Thành phần: là một phần của hệ thống hoạt động độc lập và giữ một

chức năng nhất định trong hệ thống

Gói: là một cách tổ chức các thành phần, phần tử trong hệ thống

thành các nhóm Nhiều gói có thể được kết hợp với nhau để trở thành một hệ thống con

Kế thừa: Trong phương pháp hướng đối tượng, một lớp có thể có sử

dụng lại các thuộc tính và phương thức của một hoặc nhiều lớp khác Kiểu quan hệ này gọi là quan hệ kế thừa, được xây dựng dựa trên mối

quan hệ kế thừa trong bài toán thực tế Ví dụ, giả sử ta có lớp Người gồm các thuộc tính: tên, ngày sinh, quê quán, giới tính, lớp Nhân viên

có quan hệ kế thừa từ lớp Người sẽ có tất cả các thuộc tính trên và bổ sung thêm các thuộc tính mới gồm : chức vụ, lương

Vòng đời phát triển phần mềm hướng đối tượng cũng có các pha tương

tự như các vòng đời phát triển phần mềm nói chung Các pha cơ bản đặc trưng trong phát triển phần mềm hướng đối tượng bao gồm:

Phân tích hướng đối tượng: xây dựng một mô hình chính xác để mô

tả hệ thống cần xây dựng là gì Thành phần của mô hình này là các đối tượng gắn với hệ thống thực

Thiết kế hướng đối tượng: Là giai đoạn tổ chức chương trình thành

các tập hợp đối tượng cộng tác, mỗi đối tượng trong đó là thực thể của một lớp Kết quả của thiết kế cho biết hệ thống sẽ được xây dựng như thế nào qua các bản thiết kế kiến trúc và thiết kế chi tiết

Lập trình và tích hợp: Thực hiện bản thiết kế hướng đối tượng bằng

cách sử dụng các ngôn ngữ lập trình hướng đối tượng (C++, Java, )

Trang 20

Các phương pháp hướng đối tượng:

 Phương pháp HOOD là một phương pháp được lựa chọn để thiết kế các hệ thống thời gian thực Nhưng phương pháp này lại yêu cầu các phần mềm phải được mã hoá bằng ngôn ngữ lập trình ADA Do vậy phương pháp này chỉ hỗ trợ cho việc thiết kế các đối tượng mà không

hỗ trợ cho các tính năng kế thừa và phân lớp

 Phương pháp RDD dựa trên việc mô hình hoá hệ thống thành các lớp Các công việc mà hệ thống phải thực hiện được phân tích và chia ra cho các lớp của hệ thống Các đối tượng trong các lớp của hệ thống trao đổi các thông báo với nhau nhằm thực hiện công việc đặt ra Phương pháp RDD hỗ trợ cho các khái niệm về lớp, đối tượng và kế thừa trong cách tiếp cận hướng đối tượng

Phương pháp OMT là một phương pháp được xem là mới nhất trong cách tiếp cận hướng đối tượng

1.2.2 Khái niệm về UML

UML là ngôn ngữ mô hình hóa hợp nhất dùng để biểu diễn hệ thống Nói một cách đơn giản là nó dùng để tạo ra các bản vẽ nhằm mô tả thiết kế hệ thống Các bản vẽ này được sử dụng để các nhóm thiết kế trao đổi với nhau cũng như dùng để thi công hệ thống (phát triển), thuyết phục khách hàng, các nhà đầu tư v.v (giống như trong xây dựng người ta dùng các bản vẽ thiết kế

để hướng dẫn và kiểm soát thi công, bán hàng căn hộ v.v )

1.2.3 Phân tích thiết kế hướng đối tượng sử dụng UML

OOAD sử dụng UML bao gồm các thành phần sau:

Góc nhìn: Việc sử dụng nhiều góc nhìn trong phân tích thiết kế sẽ

giúp cho phân tích viên nắm rõ được hệ thống ở nhiều khía cạnh OOAD sử dụng UML có các góc nhìn sau:

Trang 21

o Khung nhìn phiên hoạt động: cung cấp góc nhìn về các cách sử

dụng giúp chúng ta hiểu hệ thống có gì? Ai dùng và dùng nó như thế nào

o Khung nhìn kỹ thuật: cung cấp góc nhìn về cấu trúc hệ thống,

xem nó được tổ chức như thế nào Bên trong nó có gì

o Khung nhìn tiến trình: cung cấp góc nhìn động về hệ thống,

xem các thành phần trong hệ thống tương tác với nhau như thế nào

o Khung nhìn thành phần: cũng là một góc nhìn về cấu trúc giúp

chúng ta hiểu cách phân bổ và sử dụng lại các thành phần trong

o Sơ đồ ca sử dụng: bản vẽ mô tả về ca sử dụng của hệ thống

Bản vẽ này sẽ giúp chúng ta biết được ai sử dụng hệ thống, hệ thống có những chức năng gì Lập được bản vẽ này bạn sẽ hiểu được yêu cầu của hệ thống cần xây dựng

o Sơ đồ lớp: bản vẽ này mô tả cấu trúc của hệ thống, tức hệ thống

được cấu tạo từ những thành phần nào Nó mô tả khía cạnh tĩnh của hệ thống

o Sơ đồ đối tƣợng: tương tự như sơ đồ lớp nhưng nó mô tả đến

đối tượng thay vì lớp

Trang 22

o Sơ đồ tuần tự: là bản vẽ mô tả sự tương tác của các đối tượng

trong hệ thống với nhau được mô tả tuần tự các bước tương tác theo thời gian

o Sơ đồ tương tác: tương tự như sơ đồ tuần tự nhưng nhấn mạnh

về sự tương tác thay vì tuần tự theo thời gian

o Sơ đồ trạng thái: bản vẽ mô tả sự thay đổi trạng thái của một

đối tượng Nó được dùng để theo dõi các đối tượng có trạng thái thay đổi nhiều trong hệ thống

o Sơ đồ hoạt động: bản vẽ mô tả các hoạt động của đối tượng,

thường được sử dụng để hiểu về nghiệp vụ của hệ thống

o Sơ đồ thành phần: bản vẽ mô tả về việc bố trí các thành phần

của hệ thống cũng như việc sử dụng các thành phần đó

o Sơ đồ triển khai: bản vẽ mô tả việc triển khai của hệ thống như

việc kết nối, cài đặt, hiệu năng của hệ thống v.v…

Qui tắc, cơ chế: là các qui tắc để lập nên bản vẽ, mỗi bản vẽ có qui tắc

riêng và phân tích viên phải nắm được để tạo nên các bản vẽ thiết kế

đúng

1.3 Nền tảng công nghệ

1.3.1 Giới thiệu về Java

Ngôn ngữ lập trình Java là một ngôn ngữ lập trình hướng đối tượng (OOP, dựa trên các lớp Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành mã nhị phân, sau đó sẽ được môi trường thực thi chạy Trước đây, Java chạy chậm hơn những ngôn ngữ dịch thẳng ra mã máy như C và C++, nhưng sau này nhờ công nghệ "biên dịch tại chỗ" - Just in time compilation, khoảng cách này đã được thu hẹp, và trong

Trang 23

một số trường hợp đặc biệt Java có thể chạy nhanh hơn Java chạy nhanh hơn những ngôn ngữ thông dịch như Python, Perl, PHP gấp nhiều lần Java chạy tương đương so với C#, một ngôn ngữ khá tương đồng về mặt cú pháp và quá trình dịch/chạy

1.3.2 Giới thiệu về mô hình MVC

Hình 1.1: Giới thiệu về mô hình MVC

Giới thiệu mô hình MVC:

MVC là chữ viết tắt của Model – View – Controller, đây là bộ ba chứa

các lớp được giới thiệu lần đầu tiên bởi Krasner và Pope vào năm

1988, được sử dụng để xây dựng giao diện người dùng trong Smalltalk-80

 MVC bao gồm 3 loại đối tượng Model là đối tượng ứng dụng, View là đối tượng biểu diễn màn hình và đối tượng Controller định nghĩa các phản hồi từ khi người sử dụng tương tác với giao diện người sử dụng

Mô hinh MVC tách các thành phần này ra để tăng tính linh hoạt và dễ

sử dụng

Trang 24

 MVC tách các View và Model bằng cách thiết lập một giao thức đăng ký/thông báo giữa chúng View phải đảm bảo sự hiện diện của nó phản ánh đúng trạng thái của Model Khi nào có sự thay đổi dữ liệu từ Model, Model sẽ thông báo cho View đang sử dụng nó (nó phụ thuộc vào)

 MVC cũng cho phép chúng ta thay đổi cách một View phản hồi dựa trên tương tác của người dùng mà không làm thay đổi cách trình bày trực quan của nó MVC gói gọn cơ chế phản hồi trong một đối tượng Controller

 Chính những tính năng quan trọng đó làm cho mô hình MVC ngày càng được phổ biến rộng rãi, đặc biệt sử dụng nhiều trong quá trình xây dựng các ứng dụng web, mobile vì nó phân tách các chức năng một cách rõ ràng, thuận tiện cho quá trình phát triển và bảo trì

Kiến trúc mô hình MVC: Mô hình MVC là một kiến trúc phần mềm cho

ứng dụng mobile, web được sử dụng rộng rãi hiện nay Nó tổ chức mã một cách lợp lý và có hệ thống Mô hình MVC tách biệt phần xử lý dữ liệu ra

khỏi phần giao diện Nó bao gồm ba thành phần chính:

 Model: có nhiệm vụ thao tác với cơ sở dữ liệu, nghĩa là nó sẽ chứa tất

cả các hàm, các phương thức truy vấn trực tiếp với dữ liệu

và controller sẽ thông qua các hàm, phương thức đó để lấy dữ liệu rồi gửi qua View

 View: có nhiệm vụ hiển thị nội dung sang các đoạn mã dạng xml và đặc biệt là phải nhận được tương tác từ người dùng Có thể hiểu nôm

na ở đây người ta còn gọi là thành phần giao diện

 Controller: chính là bộ não của mô hình MVC, đóng vài trò là trung gian giữa Model và View Có nhiệm vụ tiếp nhận yêu cầu từ người

Trang 25

dùng sau đó xử lý các yêu cầu hoặc tìm cách xử lí lấy dữ liệu từ Model tương ứng và gửi dữ liệu qua View tương ứng rồi trả kết quả về cho người dùng.

1.3.3 Giới thiệu về hệ điều hành Android

Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Android có mã nguồn mở và Google phát hành mã nguồn theo giấy phép Apache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi

1.3.4 Giới thiệu về Firebase

Firebase là một nền tảng di động và ứng dụng web với những công cụ và

cơ sở vật chất được thiết kế để hỗ trợ và giúp đỡ các lập trình viên xây dựng các ứng dụng có chất lượng cao

Firebase cung cấp một số tính năng vượt trội như:

Realtime Database: là dịch vụ lưu trữ cơ sở dữ liệu điện toán đám

mây luôn đồng bộ hóa với tất cả các kết nối máy trạm, hỗ trợ cập nhật

dữ liệu thời gian thực Khi có bất kì sự thay đổi nào của dữ liệu, nó sẽ được tự động cập về các kết nối máy trạm Nó có thể đáp ứng dữ liệu bất chấp độ trễ của mạng cũng như là làm việc trong môi trường ngoại tuyến, khi kết nối mạng được kết nối trở lại, dữ liệu sẽ được tự động cập nhật Một số đặc điểm của Firebase:

Trang 26

o Realtime: thay thế cho kiểu HTTP request truyền thống,

Firebase Realtime Database sử dụng đồng bộ dữ liệu bất cứ khi nào có sự thay đổi về dữ liệu, bất kì thiết bị nào được kết nối với

dữ liệu đều có thể nhận được sự thay đổi trong thời gian tích tắc Mặc khác, lập trình viên có thể thoải mái sử dụng mà không cần phải quan tâm đến các vấn đề về mạng

o Ngoại tuyến: khi người dùng làm việc trong môi trường ngoại

tuyến, dữ liệu sẽ được lưu trữ ở dưới local (dữ liệu địa phương), khi kết nối mạng được thiết lập, dữ liệu sẽ được đồng bộ hóa lên server của Firebase

o NoSQL: Firebase Realtime Database được thiết kế theo dạng

cây Json Tất cả các dữ liệu đều được lưu trữ như một đối tượng Json Không giống như kiểu dữ liệu truyền thống SQL, chúng không có các bảng ghi hay các bảng Khi thêm một đối tượng Json vào cây, nó sẽ trở thành 1 nút trên cây cùng với một khóa liên kết Ta có thể tự cung cấp khóa liên kết theo ý ta muốn hoặc nhờ Firebase cung cấp Khóa liên kết do Firbase cung cấp là một dãy kí tự được sinh ra ngẫu nhiên

Lưu trữ: nơi lưu trữ nội dung do người dùng tạo ra như hình ảnh, âm

thanh, video

Xác thực: là hệ thống xác thực người dùng bằng email và mật khẩu

Hỗ trợ xác thực thông qua Facebook, Google Sign-in, Twitter, GitHub

Thông báo: là dịch vụ miễn phí giúp lập trình viên và các tổ chức có

thể dễ dàng gửi những thông báo về các ứng dụng di động đã được xác định nhằm mục đích quảng cáo, thông báo v.v

Trang 27

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

NGÂN HÀNG MÁU NÓNG TRỰC TUYẾN

2.1 Đặt vấn đề

Hiện tại các câu lạc bộ máu nóng chưa có ứng dụng nào để quản lý thành viên cũng như việc đăng ký hiến máu, việc thực hiện tìm kiếm thành viên đăng ký hiến máu bằng hình thức nhóm trưởng kêu gọi trên cộng đồng mạng xã hội là chính, nhiều lúc bị động phải chờ đợi người đăng ký và gặp trường hợp nguy cấp cần máu gấp thì lại không thể giải quyết ngay được nên

đề tài dựa trên những mặt hạn chế, khó khăn trên để xây dựng phần mềm ngân hàng máu nóng áp dụng trên thành phố Đà Nẵng dành cho các câu lạc

bộ máu nóng nhằm giúp cho công tác quản lý, kêu gọi, tìm kiếm các nhóm máu của các thành viên một các thuận tiện hơn, quản lý lịch sử hiến máu của thành viên một cách chính xác nhằm giúp người quản lý và các thành viên có thể nắm bắt thông tin một cách nhanh nhất để giúp đỡ người đang cần máu nóng gấp

2.2 Yêu cầu chức năng

 Giao diện trang đăng nhập và đăng ký để người dùng có thể tạo tài khoản và truy cập vào hệ thống

 Giao diện trang chủ bao gồm danh sách các bài đăng về cần người hiến máu của các câu lạc bộ để người dùng có thể xem tình trạng hoạt động của các câu lạc bộ

 Giao diện trang tìm kiếm nhóm máu giúp người dùng có thể tìm kiếm nhóm máu theo yêu cầu cụ thể, giúp người dùng xác định rõ người mà

có nhóm máu mình cần tìm kiếm để chủ động liên hệ

Trang 28

 Giao diện trang tìm kiếm câu lạc bộ hiển thị thông tin chi tiết các câu lạc bộ cũng như danh sách các thành viên đang hoạt động trong các câu lạc bộ để người dùng muốn hiến máu tình nguyện có thể tham gia

để trở thành thành viên của câu lạc bộ

 Giao diện trang hiển thị danh sách các câu lạc bộ đã tham gia giúp các thành viên có thể dễ dành truy cập vào các câu lạc bộ mà mình đã tham gia từ đó có thể xem các bài đăng về hiến máu, cũng như danh sách các thành viên hiện có trong câu lạc bộ

 Giao diện trang chi tiết bài đăng hiển thị chi tiết các bài đăng cần hiến máu của câu lạc bộ, thành viên và quản trị viên có thể tham gia đăng

ký, quản trị viên còn có thêm chức năng xác nhận thành viên đó có thể đăng ký hiến máu hay chưa

 Giao diện trang lịch sử để lưu lại chi tiết lịch sử hiến máu của người dùng đã hiến máu trước đó

 Giao diện trang quản lý thông tin cá nhân, nơi người dùng có thể thay đổi các thông tin về bản thân

2.3 Yêu cầu phi chức năng

 Tìm kiếm người có nhóm máu mình cần một cách dễ dàng

 Giao diện đơn giản, dễ sử dụng

 Hỗ trợ hiển thị đầy đủ trên mọi kích thước màn hình điện thoại

Trang 30

2.4.1.2 Ca sử dụng tổng quát của thành viên

Hình 2.2: Ca sử dụng tổng quát của thành viên câu lạc bộ

Trang 31

2.4.1.3 Ca sử dụng tổng quát của quản trị viên

Hình 2.3: Ca sử dụng tổng quát của quản trị viên câu lạc bộ

2.4.1.4 Ca sử dụng đăng nhập

Hình 2.4: Ca sử dụng đăng nhập

Trang 32

2.4.1.5 Ca sử dụng đăng ký

Hình 2.5: Ca sử dụng đăng ký

2.4.1.6 Ca sử dụng quản lý thông tin cá nhân

Hình 2.6: Ca sử dụng quản lý thông tin cá nhân

2.4.1.7 Ca sử dụng xem bài đăng của các câu lạc bộ

Hình 2.7: Ca sử dụng xem bài đăng câu lạc bộ

Ngày đăng: 26/06/2021, 13:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] John Horton (2015), Android Programming for Beginners, Nhà xuất bản Packt Sách, tạp chí
Tiêu đề: Android Programming for Beginners
Tác giả: John Horton
Nhà XB: Nhà xuất bản Packt
Năm: 2015
[2] Jonathan Simon (2015), Head First Android Development, Nhà xuất bản O'Reilly Media Sách, tạp chí
Tiêu đề: Head First Android Development
Tác giả: Jonathan Simon
Nhà XB: Nhà xuất bản O'Reilly Media
Năm: 2015
[3] Doug Sillars (2014), High Performance Android Apps, Nhà xuất bản O'Reilly Media Sách, tạp chí
Tiêu đề: High Performance Android Apps
Tác giả: Doug Sillars
Nhà XB: Nhà xuất bản O'Reilly Media
Năm: 2014
[4] Theresa Neil (2014), Mobile Design Pattern Gallery - 2nd Edition, Nhà xuất bản O'Reilly Media Sách, tạp chí
Tiêu đề: Mobile Design Pattern Gallery - 2nd Edition
Tác giả: Theresa Neil
Nhà XB: Nhà xuất bản O'Reilly Media
Năm: 2014
[5] Wallace Jackson (2013), Learn Android App Development, Nhà xuất bản Apress Sách, tạp chí
Tiêu đề: Learn Android App Development
Tác giả: Wallace Jackson
Nhà XB: Nhà xuất bản Apress
Năm: 2013

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w