phát triển ứng dụng quản lý xưởng sản xuất đồ nội thất trên nền tảng android

71 0 0
phát triển ứng dụng quản lý xưởng sản xuất đồ nội thất trên nền tảng android

Đ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

- Xây dựng phần mềm quản lý xưởng sản xuất có đầy đủ chức năng cần thiết cho nhân viên và người quản lý, giao diện thân thiện với người dùng, dễ dàng sử dụng và tiết kiệm thời gian.. - D

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

ĐỒ ÁN TỐT NGHIỆP

TÊN ĐỀ TÀI: PHÁT TRIỂN ỨNG DỤNG QUẢN LÝ XƯỞNG SẢN XUẤT ĐỒ NỘI THẤT TRÊN NỀN TẢNG ANDROID

Sinh viên thực hiên : NGUYỄN THÀNH CÔNG

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

NGUYỄN THÀNH CÔNG

TÊN ĐỀ TÀI: PHÁT TRIỂN ỨNG DỤNG QUẢN LÝ XƯỞNG SẢN XUẤT ĐỒ NỘI THẤT TRÊN NỀN TẢNG ANDROID

Giáo viên hướng dẫn: ThS.Lê Trung Thực

Bắc Ninh 2023

Trang 3

LỜI CẢM ƠN

Qua thời gian học tập và rèn luyện tại trường Đại học Công Nghệ Đông Á, Đến nay chúng em đã kết thúc khóa học bốn năm và hoàn thành đồ án tốt nghiệp Để có được kết quả này em xin chân thành cảm ơn:

Ban chủ nhiệm trường Đại học Công Nghệ Đông Á cùng các thầy cô giáo trong khoa đã giảng dạy, quan tâm và tạo điều kiện thuận lợi để chúng em học tập và rèn luyện trong suốt thời gian học tập

Thạc sĩ Lê Trung Thực đã tận tình hướng dẫn giúp đỡ em trong suốt quá trình làm đồ án tốt nghiệp Thầy luôn quan tâm và rất nhiệt tình hướng dẫn em từ việc tìm tài liệu cho đến việc định hướng lựa trọn pháp để triển khai đồ án Thầy cũng luôn nhắc nhở, động viên em mỗi khi gặp khó khăn, nhờ vậy mà em đã hoàn thành đồ án tốt nghiệp đúng thời hạn

Em cũng xin gửi lời cảm ơn tới gia đình, bạn bè những người đã động viên, giúp đỡ em rất nhiều trong thời gian học tập và làm đồ án tốt nghiệp

Tuy nhiên, do thời gian có hạn nên em không thể phát huy hết những ý tưởng, khả năng hỗ trợ của ngôn ngữ và kĩ thuật lập trình vào đề tài Trong quá trình xây dựng app, không thể tránh khỏi những sai xót, mong nhận được những sự đóng góp và cảm thông của quý thầy cô và các bạn

Em xin chân thành cảm ơn!

Trang 4

LỜI CAM ĐOAN

Đồ án tốt nghiệp là sản phẩm của toàn bộ kiến thức mà sinh viên đã học được trong suốt thời gian học tập tại trường đại học Ý thức được điều đó với tinh thần nghiêm túc, tự giác cùng sự lao động miệt mài của bản thân và sự hướng dẫn nhiệt tình của thầy giáo – Lê Trung Thực em đã hoàn thành xong đồ án tốt nghiệp của mình

Em xin cam đoan nội dung đồ án của em không sao chép nội dung từ các đồ án khác và sản phẩm của đồ án là của chính bản thân chúng em nghiên cứu

xây dựng lên Mọi thông tin sai lệch chúng em xin chịu hoàn toàn trách nhiệm

trước hội đồng bảo vệ

Hà Nội, ngày tháng năm 2023 Sinh viên

Nguyễn Thành Công

Trang 5

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 10

1.1Giới thiệu về đề tài 10

1.2 Phân tích yêu cầu đề tài 10

1.2.1 Tóm tắt yêu cầu của hệ thống 10

1.2.2 Phạm vi dự án được ứng dụng 11

1.3 Chức năng của hệ thống 11

1.4 Giao diện của phần mềm 13

1.4.1 Giao diện người dùng 13

1.4.2 Giao diện người quản trị: 13

Phân tích các chức năng của hệ thống 13

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 14

2.1 Tìm hiểu về ngôn ngữ JAVA: 14

2.2 Hệ điều hành Android 14

2.2.1 Khái niệm Android 14

2.2.2 Kiến trúc Android 15

2.2.3 Applications 15

2.3 Các thành phần cơ bản của một ứng dụng Android 17

2.4 Các thành phần giao diện Widget 21

2.4.1 Bắt sự kiện trong Android 21

2.4.2 Menu 22

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 23

3.1 Phân tích thiết kế với uml 23

3.2 Biểu đồ usecase mức tổng quát 24

3.2.1 Biểu đồ usecase tổng quát 24

3.2.2 Biểu đồ usecase nhân viên 25

Trang 6

3.3.1 Phân rã usecase Quản lý nhân viên 26

3.3.2 Phân rã usecase Quản lý khách hàng 26

3.3.3 Phân rã usecase Thống kê 27

3.4 Biểu đồ usecase phân rã chức năng (mức 3) 28

3.4.1 Phân rã usecase Quản lý người dùng 28

3.4.2 Phân rã usecase Quản lý sản phẩm 28

3.4.4 Phân rã usecase Đặt mua 29

3.5 Đặc tả usecase 29

3.5.1 Đặc tả Usecase đăng nhập (Người dùng) 29

3.5.2 Đặc tả Usecase đăng kí tài khoản 30

3.6.2 Chức năng Quản lý nhân viên 43

3.6.2 Chức năng xóa nhân viên 44

3.7.1 Biểu đồ hoạt động chức năng đăng kí 48

3.7.3 Biểu đồ hoạt động chức năng quản lý nhân viên 50

3.7.4 Biểu đồ hoạt động chức năng quản lý khách hàng 51

Trang 7

3.7.5 Biểu đồ hoạt động chức năng quản lý sản phẩm 52

3.7.6 Biểu đồ hoạt động chức năng quản lý thống kê 53

3.8 Thiết kế cơ sở dữ liệu 54

CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC 62

4.1 Giao Diện chương trình 62

4.2 Đánh giá kết quả 67

KẾT LUẬN 68

TÀI LIỆU THAM KHẢO 69

Trang 8

DANH MỤC CÁC HÌNH ẢNH

Hình 1: Mô Hình Kiến Trúc Nần Tảng Android 15

Hình 2: Mô hình hợp tác giữa máy ảo Dalvik và Navite code 17

Hình 3: Lược đồ vòng đời của 1 activity 18

Hình 4: Sử dụng Intent để trao đổi thông tin giữa hai chương trình 18

Hình 5: Lược đồ vòng đời của một Service 19

Hình 6:Biểu Đồ Use Case Tổng Quát 24

Hình 7:Biểu đồ Use case nhân viên 25

Hình 8: Biểu đồ Use case admin 25

Hình 9: Biểu đồ Use case quản lý nhân viên 26

Hình 10:Biểu đồ Use case quản lý khách hàng 26

Hình 11:Biểu đồ Use case thống kê 27

Hình 12: Biểu đồ usecase phân rã chức năng Quản lý người dùng 28

Hình 13: Biểu đồ usecase phân rã chức năng Quản lý sản phẩm 28

Hình 14: Phân rã usecase Đặt mua 29

Hình 15: Đặc tả Usecase đăng nhập (Người dùng) 29

Hình 16: Đặc tả Usecase đăng kí tài khoản 30

Hình 17: Đặc tả Usecase đặt mua 32

Hình 18: Đặc tả Usecase thanh toán 33

Hình 19: Đặc Tả Use Case Đăng nhập (Admin) 35

Hình 20: Đặc tả Usecase Quản lý nhân viên 36

Hình 21: Đặc tả Usecase Quản lý khách hàng 38

Hình 22: Đặc tả Usecase Quản lý danh sách 39

Hình 23: Đặc tả Usecase Thống kê 40

Hình 24: Biểu Đồ Tuần Tự Chức Năng Đăng Ký 42

Hình 25: Biểu đồ tuần tự chức năng đăng nhập 43

Hình 26: Biểu đồ tuần tự chức thêm nhân viên 44

Hình 27:Biểu đồ tuần tự chức năng xóa nhân viên 44

Hình 28: Biểu đồ tuần tự chức năng đặt mua 45

Hình 29: Biểu đồ tuần tự chức năng thanh toán 45

Hình 30: Biểu đồ tuần tự chức năng thêm sản phẩm 46

Hình 31:Biểu đồ tuần tự chức năng sửa thông tin sản phẩm 46

Hình 32: Biểu đồ tuần tự chức năng xóa sản phẩm 47

Hình 33: Biểu đồ tuần tự chức tìm kiếm 47

Hình 34: Biểu đồ tuần tự chức năng thống kê 48

Hình 35: Biểu đồ hoạt động chức năng đăng kí 48

Hình 36: Biểu đồ hoạt động chức năng đăng nhập 49

Trang 9

Hình 37: Biểu đồ hoạt động chức năng quản lý nhân viên 50

Hình 38: Biểu đồ hoạt động chức năng quản lý khách hàng 51

Hình 39:Biểu đồ hoạt động chức năng quản lý sản phẩm 52

Hình 40: Biểu đồ hoạt động chức năng quản lý thống kê 53

Hình 41 : Giao diện Đăng Nhập 62

Hình 42 Giao Diện Tạo Tài Khoản 63

Hình 43 Giao Diện Trang Chủ 63

Hình 44: Giao Diện Quản Lý Nhân Viên 64

Hình 45 : Giao Diện Thêm Nhân Viên 64

Hình 46: Giao Diện Quản Lý Khách hàng 65

Hình 47: Giao Diện Thêm Khách Hàng 65

Hình 48 : Giao Diện Các hạng Mục Hàng Hóa 66

Hình 49 : Giao Diện Thống Kê 66

Hình 50: Giao Diện Chi Tiết Đơn Mua 67

Trang 10

LỜI MỞ ĐẦU 1.Lý do chọn đề tài:

- Hiện nay, công nghệ thông tin được xem là một ngành mũi nhọn của quốc gia Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật số, muốn phát triển thì phải áp dụng tin học hóa vào tất cả các ngành các lĩnh vực Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các phần mềm càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho con người Các phần mềm hiện nay ngày càng hỗ trợ cho người dùng thuận tiện sử dụng, thời gian xử lý nhanh chóng, và một số nghiệp vụ được tự động hóa cao Các phần mềm giúp tiết kiệm một lượng lớn thời gian công sức của con người, tăng độ chính xác và hiệu quả trong công việc

- Một trong số đó là việc quản lý hệ thống cho kho xưởng sản xuất Nếu không có sự hỗ trợ của tin học, việc quản lý sẽ trở lên khó khăn, chia thành nhiều khâu mới có thể hoàn thành như: Quản lý hàng hóa (loại hàng hóa, số hàng được nhập xuất), quản lý tồn kho (số hàng hóa còn khi đã xuất xưởng), quản lý về thanh toán (nhập số sản phầm và thống kê thành tiền trong tháng hoặc hàng ngày) và danh sách các đơn hàng đã đặt Các công việc này đòi hỏi nhiều thời gian và công sức, mà sự chính xác và hiệu quả không cao, nếu làm bằng thủ công không mang tính tự động… Ngoài ra còn có một số khó khăn về việc lưu trữ khá đồ sộ, dễ bị thất lạc, tốn kém… Trong khi đó các nghiệp vụ này có thể tin học hóa một cách đơn giản hơn Với sự giúp đỡ của tin học, việc quản lý sẽ trở nên thuận tiện, nhanh chóng và hiệu quả hơn rất nhiều Đó là một hiện trạng cần được giải quyết tại các kho xưởng hiện nay với lượng hàng hóa nhiều, để phục vụ việc kiểm kê và quản lý kho xưởng được tốt hơn, chính xác hơn và nhanh chóng hơn

- Chính vì vậy, đề tài “Phát triển ứng dụng quản lý xưởng sản xuất nội thất trên nền tảng android” là đối tượng mà em nghiên cứu Do thời gian có hạn và sự hiểu biết về ngôn ngữ lập trình còn hạn chế nên chắc chắn bài làm không tránh khỏi những thiếu sót, chúng em rất mong được sự giúp đỡ và ý kiến đóng góp của thầy cô

Trang 11

2.Kết cấu đề tài

Đồ án tốt nghiệp gồm 3 chương: Chương 1: Tổng quan về đề tài Chương 2: Cơ sở lý thuyết

Chương 3: Phân tích thiết kế hệ thống

Trang 12

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu về đề tài

- Hệ thống phần mềm giúp cho người quản lý một cách dễ dàng các thông tin hàng hóa, nhân sự Biết rõ số lượng còn và số lượng mà xưởng đã bán Hệ thống giúp người quản lý và nhiên viên tiết kiêm thời gian và có một giao diện dễ sử dụng - Xây dựng phần mềm quản lý xưởng sản xuất có đầy đủ chức năng cần thiết cho

nhân viên và người quản lý, giao diện thân thiện với người dùng, dễ dàng sử dụng và tiết kiệm thời gian

Giới hạn và phạm vi đề tài: - Tên hệ thống: Xưởng Sản Xuất

+ Mang tính chuyên nghiệp cho việc quản lý hàng, nhân sự, khách hàng hoá tối

ưu nhất

+ Hồ sơ lưu trữ của sản phẩm và thống kê số lượng sẽ được tốt hơn

+ Đáp ứng nhu cầu xử lý tính toán, tìm kiếm, thống kê, thông tin một cách nhanh chóng, chính xác và có hiệu quả

+ Mong muốn có một ứng dụng phần mềm vào việc quản lý xưởng và thanh toán hàng hóa là một nhu cầu tất yếu nhằm nâng cao hiệu quả quản lý và tránh được rủi ro sai sót khi tính toán cũng như tiết kiệm được nhiều chi phí cho Xưởng + Em đã nghiên cứu và xây dựng Phần mềm quản lý xưởng sản xuất để hỗ trợ

người quản lý và nhân viên trong việc kiểm tra hàng hóa và thanh toán hóa đơn mua bán một cách dễ dàng và chính xác nhất

1.2 Phân tích yêu cầu đề tài

1.2.1 Tóm tắt yêu cầu của hệ thống

- Là một phần mềm quản lý các sản phẩm đồ gỗ của xưởng

- Là phần mềm động các thông tin được cập nhật liên tục, update thông tin thường xuyên

Trang 13

- Người dùng có thể truy cập xem sản phẩm còn trong xưởng, mua các sản phẩm hoặc thanh toán

- Các sản phẩm phải được sắp xếp logic Vì vậy người dùng sẽ có cái nhìn tổng quan về tất cả các sản phẩm hiện có

- Người dùng có thể xem chi tiết từng sản phẩm (có hình ảnh minh hoạ sản

phẩm)

- Người dùng vẫn có thể quay trở lại trang sản phẩm để xem và chọn tiếp, các sản phẩm đã chọn sẽ được lưu vào mục thanh toán để có thể tiến hành thanh toán đơn hàng

- Sản phẩm được sắp xếp có hệ thống nên người dùng dễ tìm kiếm cũng như xem sản phẩm chọn mua và thanh toán dễ dàng

1.2.2 Phạm vi dự án được ứng dụng

- Dành cho nhân viên và quản lý xưởng phục vụ việc quản lý hàng hóa và thanh toán cho khách hàng khi có nhu cầu mua hàng tại xưởng sản xuất

- Do nghiệp vụ của cửa hàng kết hợp với công nghệ mới và được sử lý trên nền tảng android nên công việc quản lý hàng hóa nhân viên, thanh toán đơn hàng được thực hiện một cách nhanh chóng , tiết kiệm chi phí và thời gian , cũng như cập nhật các thông tin đến người dùng thông tin nhanh nhất

1.3 Chức năng của hệ thống Chức năng quản lý nhân viên

Cung cấp chức năng quản lý nhân viên: giúp cho việc theo dõi thông tin nhân viên của xưởng

✓ Thêm mới nhân viên: Khi xưởng sản xuất thêm sản phẩm mới , người quản lý có thể sử dụng chức năng này để đưa vào cơ sở dữ liệu tiện cho việc quản lý

✓ Sửa thông tin nhân viên: Nếu thông tin liên quan đến nhân viên có sai sót hoặc nhân viên quên mật khẩu, người quản lý có thể sử dụng chức năng để cập nhật thông tin của nhân viên

Trang 14

✓ Xoá nhân viên: Khi nhân viên không còn liên quan đến công việc của xưởng hoặc đã hết hợp đồng làm việc với xưởng, người quản lý sử dụng chức năng này để xóa thông tin nhân viên khi không còn làm việc với xưởng nữa

✓ Liệt kê nhân viên: Duyệt hết tất cả nhân viên hiện đang có trong cơ sở dữ liệu để có thể tiện theo dõi và và cập nhật thông tin thay đổi khi cần thiết

Chức năng quản lý sản phẩm :

Cung cấp chức năng quản lý sản phẩm: giúp cho việc theo dõi các sản phẩm hiện đang có

✓ Thêm mới sản phẩm: Khi xưởng sản xuất thêm sản phẩm mới , người quản lý có thể sử dụng chức năng này để đưa vào cơ sở dữ liệu tiện cho việc quản lý

✓ Cập nhật thông tin sản phẩm: Nếu thông tin liên quan đến sản phẩm có sai sót, người quản lý có thể sử dụng chức năng để cập nhật thông tin của sản phẩm theo đúng thông tin chính xác

✓ Xoá sản phẩm: Khi sản phẩm không còn liên quan đến công việc kinh doanh hoặc đã hết hạn sử dụng, người quản lý sử dụng chức năng này

✓ Liệt kê sản phẩm: Duyệt hết tất cả các sản phẩm hiện đang có trong cơ sở dữ liệu để có thể tiện theo dõi và có cái nhìn trực quan

Chức năng quản lý khách hàng

✓ Nhập thông tin khách hàng ✓ Liệt kê danh sách khách hàng

Thống kê

✓ Thống kê đơn hàng (bao gồm đã thanh toán và chưa thanh toán) ✓ Thống kê đơn hàng theo ngày và theo tháng

✓ Những đơn hàng có giá trị tổng tiền lớn nhất ✓ Thống kê khách hàng mua hàng nhiều nhất

Trang 15

1.4 Giao diện của phần mềm 1.4.1 Giao diện người dùng

Giao diện thân thiện dễ sử dụng

Màu sắc hài hòa thể hiện rõ hình ảnh sản phẩm, font chữ thống nhất, tiện lợi khi sử dụng

1.4.2 Giao diện người quản trị:

- Giao diện đơn giản dễ quản lý và cập nhật dữ liệu - Được Bảo vệ bằng User & Password riêng của Admin - Có sự phân quyền riêng giữa Admin và Member

Phân tích các chức năng của hệ thống

➢ Administrator: là thành viên quản trị của hệ thống, có các quyền và chức năng như: tạo các tài khoản, quản lý sản phẩm, quản trị người dùng, quản lý hoá đơn…

➢ Member: là hệ thống thành viên có chức năng: Đăng kí, đăng nhập, tìm kiếm, xem, sửa thông tin cá nhân, xem đơn hàng hàng, đặt hàng, xem thông tin về các hóa đơn đã lập và thanh toán cho khách

Trang 16

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tìm hiểu về ngôn ngữ JAVA:

- Java là một trong những ngôn ngữ lập trình hướng đối tượng Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động

Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991 Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak

Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem

Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991 Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak

2.2 Hệ điều hành Android 2.2.1 Khái niệm Android

Android là nền tảng cho thiết bị di động bao gồm một hệ điều hành, midware và một số ứng dụng chủ đạo Bộ công cụ Android SDK cung cấp các công cụ và bộ thư viên các hàm API cần thiết để phát triển ứng dụng cho nền tảng Android sử dụng ngôn ngữ lập trình java

Những tính năng mà nền tảng Android hổ trợ:

➢ Application framework: Cho phép tái sử dụng và thay thế các thành phần

sẳn có của Android

Dalvik virtual macine: Máy ảo java được tối ưu hóa cho thiết bị di động ➢ Intergrated browser: Trình duyệt web tích hợp được xây dựng dựa trên WebKit engine

Optimized graphics: Hổ trợ bộ thư viện 2D và 3D dự vào đặc tả OpenGL ES ➢ SQLite: DBMS dùng để lưu trữ dữ liệu có cấu trúc

Hổ trở các định dạng media phổ biến như: MPEG4, H.264, MP3, AAC, ARM, JPG, PNG, GIF

Hổ trợ thoại trên nền tảng GSM (Phụ thuộc vài phần cứng thiết bị) Bluetooth, EDGE, 3G và WiFi (Phụ thuộc vài phần cứng thiết bị)

Camera, GPS, la bàn và cảm biến (Phụ thuộc vài phần cứng thiết bị)

Trang 17

2.2.2 Kiến trúc Android

Lược đồ sau thể hiện các thành phần của hệ điều hành Android:

Hình 1: Mô Hình Kiến Trúc Nần Tảng Android

2.2.3 Applications

Hệ điều hành Android tích hợp sẳn một số ứng dụng cơ bản như email client, SMS, lịch điện tử, bản đồ, trình duyệt web, sổ liên lạc và một số ứng dụng khác Ngoài ra tầng này cũng chính là tầng chứa các ứng dụng được phát triển bằng ngôn ngữ Java

2.2.3.1 Application Framwork

Tầng này của hệ điều hành Android cung cấp một nền tảng phát triển ứng dụng mở qua đó cho phép nhà phát triển ứng dụng có khả năng tạo ra các ứng dụng vô cùng sáng tạo và phong phú Các nhà phát triển ứng dụng được tự do sử dụng các tính năng cao cấp của thiết bị phần cứng như: thông tin định vị địa lý, khả năng chạy dịch vụ dưới nền, thiết lập

Tầng này bao gồm một tập các services và thành phần sau:

➢ Content Provider: Cho phép các ứng dụng có thể truy xuất dữ liệu từ các

ứng dụng khác hoặc chia sẽ dữ liệu của chúng

Trang 18

➢ Resource Manager: Cung cấp khả năng truy xuất các tài nguyên non-code

như hình ảnh hoặc file layout

➢ Notification Manager: Cung cấp khả năng hiển thị custom alert trên thanh

status bar

➢ Activity Manager: Giúp quản lý vòng đời của một ứng dụng 2.2.3.2 Libraries

Hệ điều hành Android bao gồm một tập các bộ thư viện C/C++ được sử dụng bởi nhiều thành phần của Android system Những tính năng này được cung cấp cho các lập trình viên thông qua bộ framework của Android Dưới đây là một số thư viện cốt lõi:

➢ System C library: một thể hiện được xây dựng từ BSD của bộ thư viện

hệ thống C chuẩn (libc), được điều chỉnh để tối ưu hóa cho các thiết bị chạy trên nền Linux

➢ Media libraries: Bộ thư viện hổ trợ trình diễn và ghi các định dạng âm

than và hình ảnh phổ biến

➢ Surface manager: Quản lý hiển thị nội dung 2D và 3D

➢ LibWebCore: Một web browser engine hiện đại được sử dụng trong trình

duyệt của Android lần trong trình duyệt nhúng web view được sử dụng trong ứng dụng

➢ SGL: Engine hổ trợ đồ họa 2D

➢ 3D libraries: Một thể hiện được xây dựng dựa trên các APIs của OpenGL

ES 1.0 Những thư viện này sử dụng các tăng tốc 3D bằng phần cứng lẫn phần mềm để tối ưu hóa hiển thị 3D

➢ FreeType: Bitmap and vector font rendering ➢ SQLite: Một DBMS nhỏ gọn và mạnh mẽ 2.2.3.3 Android Runtime

Hệ điều hành Android tích hợp sẳn một tập hợp các thư viện cốt lõi cung cấp hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java Mọi ứng dụng của Android chạy trên một tiến trình của riêng nó cùng với một thể hiện của máy ảo Dalvik Máy ảo Dalvik thực tế là một biến thể của máy ảo Java được sửa đổi, bổ sung các công nghệ đặc trưng của thiết bị di động Nó được xây dựng với mục đích làm cho các thiết bị di động có thể chạy nhiều máy

Trang 19

ảo một cách hiệu quả Trước khi thực thi, bất kì ứng dụng Android nào cũng được convert thành file thực thi với định dạng nén Dalvik Executable (dex)

2.2.3.4 Linux Kernel

Hệ điều hành Android được xây dựng trên bộ nhân Linux 2.6 cho những dịch vụ hệ thống cốt lõi như: security, memory management, process management, network stack, driver model Bộ nhân này làm nhiệm vụ như một lớp trung gian kết nối phần cứng thiết bị và phần ứng dụng

Dưới đây là mô hình hợp tác giữa máy ảo Dalvik và Navite code:

Hình 2: Mô hình hợp tác giữa máy ảo Dalvik và Navite code

2.3 Các thành phần cơ bản của một ứng dụng Android 2.3.1 Activity

➢ Định nghĩa Activity

Là thành phần quan trọng của bất kỳ một ứng dụng Android nào thuật ngữ Activity chỉ một việc mà người dùng có thể thực hiện trong một ứng dụng Android Do gần như mọi activity đều tương tác với người dùng, lớp Activity đảm nhận việc tạo ra một cửa sổ để người lập trình đặt lên đó một giao diện UI với setContentView (View)

Có hai phương thức mà gần như mọi lớp con của Activity đều phải hiện thực:

onCreate(Bundle) - Nơi khởi tạo activity

• onPause () - Nơi giải quyết sự kiện người dùng rời khỏi activity Mọi dữ liệu

được người dùng tạo ra tới thời điểm này cần phải được lưu vào ContentProvider

Trang 20

Vòng đời của một activity

Hình 3: Lược đồ vòng đời của 1 activity

2.3.2 Intent

➢ Định nghĩa Intent

Intent được sử dụng với phương thức startActivity() để mở một Activity, và

dùng với broadcastIntent để gởi nó đến bất kì BroadcastReceiver liên quan nào, và dùng với startService(Intent),bindService(Intent, ServiceConnection, int) để

giao tiếp với các Service chạy dưới nền

Hình 4: Sử dụng Intent để trao đổi thông tin giữa hai chương trình

Trang 21

2.3.3 Service

➢ Định nghĩa Service

Một service là một thành phần của ứng dụng, thể hiện mong muốn ứng dụng thực hiện các hành động trong khi không tương tác với người dùng hoặc cung cấp chức năng cho các ứng dụng khác sử dụng Nói một cách đơn giản, service là các tác vụ (task) chạy ngầm dưới hệ thống nhằm thực hiện một nhiệm vụ nào đó Mỗi class Service phải chứa thẻ <service> được khai báo trong file AndroidManifext.xml Services có thể được bắt đầu bởi Context.startService() và Context.bindservice()

➢ Vòng đời của một Service

Dù cho một service có được start bao nhiêu lần đi nữa thì nó sẽ bị tắt ngay khi phương thức Context.stopService() hoặc phương thức stopSelf () được gọi Service có thể dùng phương thức stopSelf(int) để đảm bảo rằng service sẽ không được tắt cho đến khi Intent đã khởi tạo nó được xử lý

Hình 5: Lược đồ vòng đời của một Service

Dựa theo hình trên, một service được bắt đầu bởi phương thức startService () là service dùng để thực hiện các tác vụ ngầm dưới nền, service được bắt đầu bởi phương thức bindService () là service được dùng để cung cấp các chức năng cho các chương trình khác

Trang 22

2.3.4 Content Provider

Là nơi lưu trữ và cung cấp cách truy cập dữ liệu do các ứng dụng tạo nên Đây là cách duy nhất mà các ứng dụng có thể chia sẻ dữ liệu của nhau

Android cung cấp sẵn content providers cho một số kiểu dữ liệu thông dụng như âm thanh, video, thông tin sổ điện thoại…) Người lập trình cũng có thể tự tạo ra các class con (subclass) của Content Provider để lưu trữ kiểu dữ liệu của riêng mình

2.3.5 View

View là thành phần cơ bản để xây dựng giao diện người dùng cho một ứng dụng Android View là một lớp căn bản của widgets

Một số Views thường dùng:

• TextView: Hiển thị một khung text và cho phép người dùng thay đổi

• ImageView: Hiển thị một hình ảnh xác định từ file tài nguyên hay qua một

content provider

• Button: Hiển thị một nút nhấn

• Checkbox: Hiển thị một nút nhấn với hai trạng thái khác nhau • KeyboardView: Hiển thị bàn phím ảo để nhập liệu

• WebView: Hiển thị các trang web bằng Webkit 2.3.6 Broadcast Receiver

Một Broadcast receiver là một thành phần mà không làm gì khác ngoài việc nhận các thông báo được broadcast Một ứng dụng có thể có nhiều broadcast receiver để đáp lại những thông báo được phát đến Tất cả các broadcast receiver được thừa kế từ lớp cơ sở BroadcastReceiver Một Broadcast receiver không có giao diện nhưng nó có thể thực hiện gọi một

2.3.7 File AndroidManifest.xml

Là nền tảng của mọi ứng dụng Android, file AndroidManifest.xml được đặt trong thư mục root và cho biết những thành phần có trong ứng dụng của: các activities, các services, cũng như cách các thành phần ấy gắn bó với nhau Khi tạo file manifest, điều quan trọng nhất là phải cung cấp thuộc tính của package, tức tên của Java package dùng làm cơ sở cho ứng dụng của ta

2.3.8 Giao diện người dùng trong Android

Trong một ứng dụng Android, giao diện người dùng được xây dựng bằng cách

Trang 23

sử dụng View và ViewGroup đối tượng Có nhiều loại quan điểm và các nhóm view, mỗi một trong số đó là hậu duệ của lớp View View objects là các đơn vị cơ bản của biểu hiện giao diện người dùng trên nền tảng Android Các class xem như là cơ sở phục vụ cho class con được gọi là "widget", trong đó cung cấp đầy đủ các đối tượng thực hiện giao diện, giống như các lĩnh vực văn bản và nút Class ViewGroup phục vụ như là cơ sở cho lớp con được gọi là " layouts", cung cấp các loại khác nhau của kiến trúc bố trí, như linear, tabular và relative

2.4 Các thành phần giao diện Widget

Có rất nhiều cách bố trí giao diện Sử dụng nhiều hơn và các loại khác nhau của các view group, bạn có thể cấu trúc views con và view groups trong vô số cách Xác định các nhóm xem được cung cấp bởi Android (gọi là layouts) bao gồm LinearLayout, RelativeLayout, TableLayout, GridLayout và khác Mỗi cung cấp một bộ duy nhất của các thông số bố trí được sử dụng đế xác định vị trí của views con và cơ cấu layout để tìm hiểu về một so các loại khác nhau của các view group được sử dụng cho một layout, đọc Giao diện đối tượng thường gặp

Widget là một object View phục vụ như một giao diện để tương tác với người dùng Android cung cấp một tập các widgets thực hiện đầy đủ, giống như các button, Checkbox, và text-entry, do đó bạn có thể nhanh chóng xây dựng giao diện người dùng của bạn Một số widgets được cung cấp bởi Android phức tạp hơn, giống như một date picker, clock, và zoom controls Nhưng nó không giới hạn trong các loại widgets được cung cấp bởi các nền tảng Android

2.4.1 Bắt sự kiện trong Android

Khi đã thêm một so Views/widgets đến giao diện Đe được thông báo về UI events người dùng, cần phải làm một trong hai điều: Xác định một sự kiện nghe và đăng ký nó với các View Đây là cách lắng nghe sự kiện Các class View có một phương pháp gọi là On<something> ()

Ví dụ: View.OnClickListener (để xử lý "nhấp chuột" trên một View), View.OnTouchListener (để xử lý các sự kiện màn hình cảm ứng trong một

Trang 24

View), và View.OnKeyListener (để xử lý thiết bị ép quan trọng trong một View) Vì vậy nếu muon View được thông báo khi nó là " clicked" (chẳng hạn như khi một nút được chọn), thực hiện và xác định OnClickListener của nó gọi method onClickQ (nơi thực hiện các hành động sau khi nhấp chuột), và đăng ký nó vào Xem với setOnClickListener ()

Ghi đè một callback method hiện cho View Đây là những gì nên làm gì khi đã thực hiện lớp View của riêng bạn và muốn lắng nghe cho các sự kiện cụ thể xảy ra trong nó Ví dụ về các sự kiện có thế xử lý bao gồm màn hình là touched onTouchEventQ khi trackball là di chuyển onTrack ball Events) hoặc khi một phím trên thiết bị được nhấn onKeyDown () Điều này cho phép xác định các hành vi mặc định cho từng sự kiện bên trong tuỳ chỉnh View và xác định xem sự kiện này cần được thông qua ngày de View con khác Một lần nữa, đây là những callbacks View class, do đó, cơ hội duy nhất của bạn để xác định đó là khi bạn xây dựng một phần tùy chỉnh

2.4.2 Menu

Menu đơn có một phần quan trọng của giao diện người dùng trong một ứng dụng Menus cung cấp một giao diện đáng tin cậy cho thấy rằng các chức năng ứng dụng và cài đặt Trong trình đơn ứng dụng phổ biến nhất là tiết lộ bàng cách bấm phím MENU trên thiết bị Tuy nhiên, cũng có thể thêm Context Menus, có thể hiến thị khi người sử dụng máy nhấn và nắm giữ phím trên một mục Thực đơn cũng được hệ thống phân cấp cấu trúc bằng cách sử dụng một xem, nhưng bạn không xác định cấu trúc này cho mình

Thay vào đó, xác định onCreateOptionsMenu () or onCreateContext Menus) gọi method cho hoạt động của mình và tuyên bổ các mục mà mình muốn bao gồm trong menu của mình Trong một thời gian thích hợp, Android sẽ tự động tạo ra hệ thống View phân cấp cần thiết cho menu, và rút ra mỗi trong mỗi menu items đó

Trang 25

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1 Phân tích thiết kế với uml

1

Người quản lý

Người quản lý là người có toàn quyền tương tác với hệ thống, quyền sử dụng tất cả các chức năng mà ứng dụng xây dựng, điều khiển và kiểm soát mọi hoạt động của ứng dụng

2 Nhân viên

Nhân viên ở đây là những người truy cập vào ứng dụng, có thể đăng kí làm thành viên hoặc không Nhân viên chỉ có một số quyền nhất định đối với ứng dụng

➢ Danh sách các Usecase

1 Đăng nhập UC này mô tả chức năng đăng nhập vào hệ thống của nhân viên hoặc Admin

2 Đăng kí UC này mô tả chức năng đăng nhập vào hệ thống của người dùng hoặc Admin

UC này mô tả chức năng xem thông tin sản phẩm có trên app của nhân viên

8 Thống kê UC này mô tả chức năng thống kê theo các tiêu chí khác nhau của Admin

9 Đăng xuất UC này mô tả chức năng thoát khỏi app của quản lý hoặc nhân viên

Trang 26

3.2 Biểu đồ usecase mức tổng quát 3.2.1 Biểu đồ usecase tổng quát

Hình 6:Biểu Đồ Use Case Tổng Quát

Trang 27

3.2.2 Biểu đồ usecase nhân viên

Hình 7:Biểu đồ Use case nhân viên

3.2.3 Biểu đồ usecase Admin

Hình 8: Biểu đồ Use case admin

Trang 28

3.3 Biểu đồ usecase Phân rã chức năng (mức 2)

3.3.1 Phân rã usecase Quản lý nhân viên

Hình 9: Biểu đồ Use case quản lý nhân viên

3.3.2 Phân rã usecase Quản lý khách hàng

Hình 10:Biểu đồ Use case quản lý khách hàng

Trang 29

3.3.3 Phân rã usecase Thống kê

Hình 11:Biểu đồ Use case thống kê

Trang 30

3.4 Biểu đồ usecase phân rã chức năng (mức 3) 3.4.1 Phân rã usecase Quản lý người dùng

Hình 12: Biểu đồ usecase phân rã chức năng Quản lý người dùng

3.4.2 Phân rã usecase Quản lý sản phẩm

Hình 13: Biểu đồ usecase phân rã chức năng Quản lý sản phẩm

Trang 31

3.4.4 Phân rã usecase Đặt mua

Hình 14: Phân rã usecase Đặt mua

3.5 Đặc tả usecase

3.5.1 Đặc tả Usecase đăng nhập (Người dùng)

Hình 15: Đặc tả Usecase đăng nhập (Người dùng)

Tóm tắt

Actor Người dùng là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng đăng nhập vào website của người dùng Sau khi đăng nhập vào website, lúc đó Người dùng mới có thể thực hiện được các chức năng khác, như là: Thanh toán tiền, Gửi ý kiến phản hồi…

Dòng sự kiện

a Dòng sự kiện chính

(1) Người dùng chọn chức năng đăng nhập từ trang chủ của website (2) Trang chủ sẽ mở đến trang đăng nhập

(3) Người dùng nhập tài khoản của mình (bao gồm tên đăng nhập và mật khẩu) (4) Hệ thống xác nhận thông tin đăng nhập

(5) Hiển thị thông báo

Trang 32

(6) Kết thúc Use Case b Các dòng sự kiện khác * Dòng sự kiện thứ nhất

(1) Người dùng hủy yêu cầu đăng nhập

(2) Hệ thống bỏ qua trang đăng nhập, trở lại trang hiện tại (3) Kết thúc Use Case

* Dòng sự kiện thứ hai

(1) Người dùng nhập sai thông tin đăng nhập

(2) Hệ thống từ chối đăng nhập, hiển thị thông báo và trang đăng nhập (3) Kết thúc Use Case

Các yêu cầu đặc biệt

Không có yêu cầu đặc biệt

Trạng thái hệ thống khi bắt đầu thực hiện Use Case

Không đòi hỏi bất cứ điều kiện nào trước đó

Trạng thái hệ thống sau khi thực hiện Use Case

* Trường hợp đăng nhập thành công: hệ thống hiển thị trang chủ của hệ thống Sau khi đăng nhập thành công, Người dùng có thể thực hiện các chức năng tương ứng với quyền đăng nhập của mình, như là thanh toán tiền, gửi ý kiến phản hồi * Trường hợp đăng nhập thất bại: Hệ thống đưa ra thông báo đăng nhập không thành công và hiển thị trang chủ

Điểm mở rộng

Không có Use Case nào có quan hệ << extend>> với Use Case này

3.5.2 Đặc tả Usecase đăng kí tài khoản

Hình 16: Đặc tả Usecase đăng kí tài khoản

Trang 33

Tóm tắt

Actor Người dùng là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng đăng kí tài khoản của người dùng Sau khi đăng kí tài khoản, lúc đó Người dùng mới có thể đăng nhập vào website và thực hiện được các chức năng như là: Thanh toán tiền, Gửi ý kiến phản hồi…

Dòng sự kiện

a Dòng sự kiện chính

(1) Người dùng chọn chức năng đăng kí từ trang chủ của website (2) Trang chủ sẽ mở đến trang đăng kí

(3) Người dùng nhập đầy đủ thông tin tài khoản và thông tin cá nhân (4) Hệ thống xác nhận thông tin và lưu lại

(5) Hiển thị thông báo (6) Kết thúc Use Case

b Các dòng sự kiện khác * Dòng sự kiện thứ nhất

(1) Người dùng hủy yêu cầu đăng kí

(2) Hệ thống bỏ qua trang đăng kí, trở lại trang hiện tại (3) Kết thúc Use Case

* Dòng sự kiện thứ hai

(1) Người dùng nhập sai thông tin tài khoản, cá nhân hoặc tài khoản đã tồn tại (2) Hệ thống thông báo lỗi và yêu cầu nhập lại

(3) Kết thúc Use Case

Các yêu cầu đặc biệt

Không có yêu cầu đặc biệt

Trạng thái hệ thống khi bắt đầu thực hiện Use Case

Không đòi hỏi bất cứ điều kiện nào trước đó

Trạng thái hệ thống sau khi thực hiện Use Case

* Trường hợp đăng kí thành công: hệ thống hiển thị trang đăng nhập để người

dùng có thể đăng nhập vào website và thực hiện các chức năng tương ứng với quyền đăng nhập của mình, như là thanh toán tiền, gửi ý kiến phản hồi

Trang 34

* Trường hợp đăng kí thất bại: Hệ thống đưa ra thông báo đăng kí không thành công và hiển thị trang chủ

Actor Người dùng là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng đặt mua sản phẩm của người dùng Sau khi truy cập vào app và xem thông tin sản phẩm, người dùng có thể đặt mua sản phẩm mà mình cảm thấy vừa ý

Dòng sự kiện

a Dòng sự kiện chính

(1) Người dùng chọn chức năng xem của sản phẩm

(2) Trang chủ sẽ mở đến trang thông tin chi tiết của sản phẩm (3) Người dùng xem và nhấn vào nút “đặt mua”

(4) Hệ thống xác nhận thông tin và lưu lại (5) Hiển thị trang thông tin sản phẩm (6) Kết thúc Use Case

b Các dòng sự kiện khác * Dòng sự kiện thứ nhất

(1) Người dùng hủy yêu cầu đặt mua

(2) Hệ thống xóa sản phẩm đó tại danh mục khách và trở lại trang hiện tại (3) Kết thúc Use Case

* Dòng sự kiện thứ hai

(1) Người dùng thay đổi số lượng sản phẩm vừa đặt mua

Trang 35

(2) Hệ thống kiểm tra và lưu lại

Các yêu cầu đặc biệt Không có yêu cầu đặc biệt

Trạng thái hệ thống khi bắt đầu thực hiện Use Case Không đòi hỏi bất cứ điều kiện nào trước đó

Trạng thái hệ thống sau khi thực hiện Use Case

* Trường hợp đặt mua thành công: hệ thống tiến hành thêm sản phẩm vào

danh mục giỏ hàng của khách và hiện ra trang thông tin sản phẩm để người

3.5.4 Đặc tả Usecase thanh toán

Hình 18: Đặc tả Usecase thanh toán

Tóm tắt

Actor Nhân viên là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng thanh toán tiền cho sản phẩm của khách đã đặt mua Sau khi đã đặt mua sản phẩm, mục của khách hàng đã tồn tại một hoặc nhiều

Ngày đăng: 27/04/2024, 02:05

Tài liệu cùng người dùng

Tài liệu liên quan