PHÂN TÍCH CHỨC NĂNG HỆ THỐNG

Một phần của tài liệu ĐỀ TÀI XÂY DỰNG ỨNG DỤNG DI ĐỘNG BÁN LAPTOP CỦA CỬA HÀNG TÂN HƯNG TẠI THỦ DẦU MỘT BÌNH DƯƠNG (Trang 33)

2.1 Danh sách chức năng dự án cần đáp ứng

STT năng chínhTên chức (Lưu ý: mỗi chức năng chi tiết nằm trên 1 dòng)Phân rã chức năng chi tiết Ghi chú I. Những chức năng phải làm

1 Quản lý tàikhoản

1.1 Thay đổi thông tin tất cả tài khoản.

Quản lý sử dụng 1.2 Thêm thông tin vào tài khoản.

1.3 Xóa thông tin tài khoản

1.4 Thay đổi thông tin tài khoản cá nhân. Người dùng sử dụng 2 Hiển thị sảnphẩm 2.1 Xem chi tiết sản phẩm Người dùng sử dụng 3 Quản lý bìnhluận 3.1 Bình luận sản phẩm3.2 Đánh giá sản phẩm Người dùng sử dụng 4 Tìm kiếm 4.1 Tìm kiếm sản phẩm theo tên laptop Người dùng sử dụng 5 Quản lý giỏhàng

5.1 Thêm sản phẩm vào giỏ hàng

Người dùng sử dụng 5.2 Lưu các sản phẩm của người dùng chọn

5.3 Sửa số lượng sản phẩm 5.4 Xóa sản phẩm khỏi giỏ hàng

6 Thanh toán 6.1 Gom nhóm các sản phẩm để thanh toán6.2 Chọn hình thức thanh toán Người dùng sử dụng 6.3 Chọn hình thức vận chuyển 7 Quản lý sảnphẩm 7.1 Thêm sản phẩm mới Quản lý sử dụng 7.2 Sửa sản phẩm 7.3 Xóa sản phẩm

8 Quản lý hóađơn 8.1 Sửa hóa đơn8.2 Xóa hóa đơn Quản lý sử dụng 8.3 In hóa đơn

9 Quản lý dịchvụ 9.1 Góp ý 9.2 Xem thông tin liên hệ Người dùng sử dụng 9.3 Xem thông tin tuyển dụng

10 Quản lý thốngkê 10.1 Thống kê doanh thu Quản lý sử dụng

11 Đăng nhập 11.1 Đăng nhập dành cho người dùng11.2 Đăng nhập dành cho quản lý 12 Đăng ký 12.1 Đăng ký dành cho người dùng

2.2 Danh sách chức năng dự án không làm

STT Tên chức năng chính Phân rã chức năng chi tiết Ghi chú

II. Những chức năng không làm

1 Quản lý thống kê 1.1 Thống kê hóa đơn Quản lý sử dụng 2 Tìm kiếm 2.1 Tìm kiếm bằng giọng nói

Người dùng sử dụng 3 Quản lý dịch vụ 3.1 Chat trực tuyến

4 Thanh toán 4.1 Thanh toán qua ngân hàng

Bảng 2.2 Bảng danh sách các chức năng dự án không làm.

2.3 Công nghệ và công cụ dùng để làm dự án 2.3.1 Tổng quan về hệ điều hành Android

Android là hệ điều hành mã nguồn mở 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 với hơn một tỷ thiết bị và hàng trăm triệu người dùng. Nhưng phần lớn trong chúng ta không biết hệ điều hành này có một lịch sử hình thành vô cùng thú vị.

Hệ điều hành Android được lấy tên từ Android, Inc. – công ty khai sinh ra nó. Công ty này được thành lập tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin – đồng sáng lập công ty Danger, Rich Miner - đồng sáng lập công ty Viễn thông Wildfire, Nick Sears – cựu Phó giám đốc T-Mobile, và Chris White – trưởng thiết kế và giao diện tại WebTV

Đến nay, Android là một thương hiệu của Google và Android đã có các phiên bản (kèm tên mã) lần lượt là:

Phiên bản Tên Ngày phát hành

Android 1.5 Cupcake 27/4/2009 Android 1.6 Donut 15/9/2009 Android 2.0 – 2.1 Eclair 26/9/2009 Android 2.2 – 2.2.3 Froyo 20/5/2010 Android 2.3 – 2.3.7 Gingerbread 6/12/2010 Android 3.0 – 3.2.6 Honeycomb 22/2/2011 Android 4.0 – 4.0.4 Ice Cream Sandwich 18/10/2011 Android 4.1 – 4.3.1 Jelly Bean 9/7/2012

Android 4.4 – 4.4.4 KitKat 31/10/2013 Android 5.0 – 5.1.1 Lollipop 12/11/2014 Android 6.0 – 6.0.1 Marshmallow 5/10/2015 Android 7.0 – 7.1.2 Nougat 22/8/2016 Android 8.0 – 8.1 Oreo 21/8/2017 Android 9 Pie 07/08/2018 Android 10 Android 10 03/09/2019 Android 11 Android 11 9/2020

Android 11 là phiên bản mới nhất của hệ điều hành android, mang đến những thay đổi mới giúp việc sử dụng smartphone trở nên dễ dàng hơn như quay video màn hình, tùy chỉnh giao diện theo sở thích của bản thân, bảo mật tốt hơn với tính năng chia sẻ vị trí một lần,….

Hệ điều hành Android được ưa chuộng nhất thế giới với vô vàn điểm thú vị, được cả thế giới yêu thích. Hy vọng chia sẻ trên giúp bạn biết nhiều thông tin hấp dẫn về Android giúp bạn sử dụng hệ điều hành tốt hơn. (adsbygoogle = window.adsbygoogle || []).push({});

2.3.2 Kiến trúc hệ điều hành Android

+ Tầng Applications: Là tầng chứa các ứng dụng danh bạ, gọi điện, trình duyệt, Nghe nhạc, … các ứng dụng này thường mua máy về chúng ta đã có sẵn rồi.

+ Tầng Framework: Là tầng chứa các API để làm việc với hệ điều hành như lấy thông tin danh bạ, quản lý các Activity (Activity là gì thì giờ chúng ta chưa cần quan tâm, các bài sau sẽ giải thích kĩ), quản lý địa điểm, quản lý các View (cũng chưa cần quan tâm).

+ Tầng Libraries: Chứa các thư viện, API gần như là cốt lõi của Android, bao gồm bộ quản lý bề mặt cảm ứng (Surface Manager), OpenGL (phục vụ cho việc dựng đồ họa phức tạp), …

+ Tầng Android Runtime: Chứa các thư viện lõi của Android và máy ảo Dalvik Virtual Machine (từ Android 4 trở lên chúng ta có thêm máy ảo ART).

+ Tầng Kernel: Là nhân lõi của hệ điều hành, chứa các tập lệnh, driver giao tiếp giữa phần cứng và phần mềm của Android.

Trong quá trình làm việc, chúng ta sẽ gần như chỉ làm việc với tầng xanh lam (Applications và Application Framework) và xanh lá (Libraries). Chương trình Android được viết bằng ngôn ngữ Java và được máy ảo DVM / ART trong mỗi thiết bị Android biên dịch ra mã máy.

Hình 2.1 Tổng quan hệ điều hành Android2.4 Cấu hình phần cứng tối thiểu 2.4 Cấu hình phần cứng tối thiểu

- Cấu hình tối thiểu cài đặt Android Studio:

+ Microsoft® Windows® 10/8/7 (32 or 64-bit) + 4 GB RAM. (Khuyến cáo là 8GB)

+ Chip core I3 trở lên

+ 400 MB hard disk space + ít nhất 1GB cho Android SDK, emulator + Độ phân giải tối thiếu 1366 x 768

- Một số tính năng nổi bật của Android Studio:

+ Bộ công cụ build ứng dụng dựa trên Gradle (thay vì Maven). + Chức năng dò và sửa lỗi nhanh, hướng Android.

+ Công cụ chỉnh sửa màn hình dạng kéo thả tiện lợi.

2.5 Các phần mềm nền tảng 2.5.1 Giới thiệu Android Studio

Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để phát

triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện thoại smartphone, các tablet... Android Studio được đóng gói với một bộ code editor, debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp.

Hình 2.2 Logo Android Studio

Android Studio lần đầu tiên được công bố tại hội nghị Google I/O vào năm 2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bản beta khác nhau. Trước khi được phát hành, các nhà phát triển Android thường sử dụng các công cụ như Eclipse IDE, một IDE Java chung cũng hỗ trợ nhiều ngôn ngữ lập trình khác.

Công cụ hỗ trợ lập trình Android: - Android Studio

- SQLite - Java

2.5.2 Giới thiệu về Java

Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class), ban đầu được phát triển bởi Sun Microsystems do James Gosling khởi xướng và phát hành vào năm 1995. 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 bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy.

Hình 2.3 Logo Ngôn Ngữ Java

Java hỗ trợ tối đa cho hệ điều hành Android. Vì thế ngôn ngữ lập trình này được áp dụng rất nhiều vào các ứng dụng dành cho Android. Số người sử dụng Android chiếm hơn một nửa thị phần vì vậy có thể thấy, nhu cầu sử dụng các ứng dụng là rất lớn.

Nếu trong tay bạn đang cầm một chiếc điện thoại chạy trên hệ điều hành Android thì đừng bất ngờ, bất cứ một ứng dụng nào trên đó cũng đều được hình thành và phát triển trên nền tảng Java. Chính điều này đã tạo ra cơ hội lớn cho các lập trình viên Java: nếu họ học tốt và có kỹ năng thì chắc chắn những lập trình Java sẽ không bao giờ sợ thất nghiệp.

Để bắt đầu học lập trình Java, bạn phải cần thông thạo các ngôn ngữ lập trình hướng đối tượng, có thể học qua lập trình C để làm quen với những khái niệm của loại lập trình này cũng như có thể hiểu sâu hơn về Java và các công nghệ Java mà nhiều người thường sử dụng như:

- Java Core.

- Enterprise Java Beans. - JSP/Java Severlet. - JDBC và RMI. (adsbygoogle = window.adsbygoogle || []).push({});

2.5.3 Giới thiệu về SQLite

SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine, không cần máy chủ, không cần cấu hình, khép kín và nhỏ gọn. Nó là một cơ sở dữ liệu, không cần cấu hình, có nghĩa là giống như các cơ sở dữ liệu khác mà bạn không cần phải cấu hình nó trong hệ thống của mình.

SQLite engine không phải là một quy trình độc lập (standalone process) như các cơ sở dữ liệu khác, bạn có thể liên kết nó một cách tĩnh hoặc động tùy theo yêu cầu của bạn với ứng dụng của bạn. SQLite truy cập trực tiếp các file lưu trữ (storage files) của nó.

Hình 2.4 Logo SQLite StudioTóm tắt lịch sử của SQLite: Tóm tắt lịch sử của SQLite:

- 2000 - D. Richard Hipp đã thiết kế SQLite cho mục đích không yêu cầu quản trị để vận hành chương trình.

- 2000 - Vào tháng 8, SQLite 1.0 được phát hành với trình quản lý cơ sở dữ liệu GNU. - 2011 - Hipp tuyên bố bổ sung giao diện UNQl vào SQLite DB và phát triển UNQLite

(Cơ sở dữ liệu hướng tài liệu - Document oriented database).

2.6 Biểu đồ use case và đặc tả use case của hệ thống 2.6.1 Biểu đồ tổng thể mức tổng quát

2.6.1.1 Các biểu đồ chi tiết use case người dùng được phân rã từ biểu đồ tổng quát

Hình 2. 6 Biểu đồ chi tiết được phân rã từ biểu đồ tổng quát của Người dùng.

2.6.1.2 Các biểu đồ chi tiết use case quản lý được phân rã từ biểu đồ tổng quát

2.7 Các use case được phân rã ở mức nhỏ nhất

2.7.1 Các use case được phân rã ở mức nhỏ nhất của Người dùng2.7.1.1 Sơ đồ và đặc tả Use Case đăng nhập 2.7.1.1 Sơ đồ và đặc tả Use Case đăng nhập

Hình 2. 8 Use case đăng nhập cho người dùng

Use Case ID UC-1.1 Use Case Name Đăng nhập

Description Là người dùng, tôi muốn đăng nhập vào ứng dụng, để sử dụng dịch vụ từ ứng dụng.

Actor(s) Người dùng

Priority Có

Trigger Người dùng muốn đăng nhập vào ứng dụng bán laptop online Pre-

Condition(s):

Tài khoản người dùng đã được tạo sẵn Tài khoản người dùng đã được phân quyền

Thiết bị của người dùng đã được kết nối internet khi thực hiện đăng

nhập Post-

Condition(s):

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

Hệ thống ghi nhận hoạt động đăng nhập thành công vào Activity Trang Chủ.

Basic Flow 1. Người dùng truy cập ứng dụng bán laptop online.

2. Người dùng chọn phương thức đăng nhập bằng tài khoản 3. Người dùng nhập tài khoản và chọn lệnh đăng nhập

4. Hệ thống xác thực thông tin đăng nhập thành công và cho phép người dùng truy cập ứng dụng

5. Hệ thống ghi nhận hoạt động đăng nhập thành công vào Activity Trang Chủ. (adsbygoogle = window.adsbygoogle || []).push({});

Alternative Flow Không có

Exception Flow 4c. Hệ thống xác thực thông tin đăng nhập không thành công và hiển thị thông báo.

4c1. Người dùng chọn lệnh hủy đăng nhập. Use Case dừng lại. Business Rules Không có

Non-Functional Requirement

NFR1.1-1: Timeout cho màn hình đăng nhập dưới 60 giây. NFR1.1-2: Mật khẩu của người dùng phải được hash bằng MD5. NFR1.1-3: Mật khẩu của người dùng phải trên 8 ký tự.

2.7.1.2 Sơ đồ và đặc tả Use Case đăng ký

Hình 2. 9 Use case đăng ký cho người dùng

Use Case ID UC-1.2 Use Case Name Đăng ký

Description Giúp người dùng (khách hàng) đăng ký tài khoản trên ứng dụng

Actor(s) Người dùng

Priority Có

Trigger Là người dùng, tôi muốn đăng ký tài khoản, để sử dụng dịch vụ tại ứng dụng bán laptop online

Pre-

Condition(s):

Thiết bị của người dùng đã được kết nối internet khi thực hiện đăng ký

Post-

Condition(s):

Người dùng đăng ký tại ứng dụng thành công

Hệ thống ghi nhận hoạt động đăng ký thành công vào Activity đăng nhập.

Basic Flow 1. Người dùng truy cập ứng dụng bán laptop online.

2. Khách hàng chọn chức năng “Đăng ký tài khoản”

3. Hệ thống hiển thị các thông tin yêu cầu để đăng ký: tên đăng nhập, mật khẩu, email, … các thông tin cá nhân liên quan khác. 4. Khách hàng cung cấp các thông tin và tạo tài khoản

5. Hệ thống xác nhận thông tin và tạo tài khoản cho khách hàng 6. Lấy thông tin khách hàng

7. Hệ thống trả về kết quả 8. Hiển thị

Alternative Flow

Không có

Exception Flow 4c. Khách hàng cung cấp các thông tin yêu cầu không đúng, để trống, tên đăng nhập, email, mật khẩu không hợp lệ hay đã tồn tại. Người dùng cần cung cấp lại thông tin đăng ký.

4c1. Người dùng chọn lệnh hủy đăng ký. Use Case dừng lại. Business Rules Không có

Non-Functional Requirement

NFR1.1-1: Timeout cho màn hình đăng nhập dưới 60 giây. NFR1.1-2: Mật khẩu của người dùng phải được hash bằng MD5. NFR1.1-3: Mật khẩu của người dùng phải trên 8 ký tự. (adsbygoogle = window.adsbygoogle || []).push({});

NFR1.1-4: Số điện thoại của người dùng phải đúng 10 ký tự số. NFR1.1-5: Email của dùng phải có ký tự “@”.

NFR1.1-6: Mật khẩu và nhập lại mật khẩu phải trùng khớp.

2.7.1.3 Sơ đồ và đặc tả Use Case tìm kiếm

Hình 2. 10 Use case tìm kiếm cho người dùng

Use Case ID UC-1.3

Use Case Name Tìm kiếm sản phẩm

Description Giúp người dùng có thể tìm kiếm sản phẩm

Actor(s) Người dùng

Priority Không

Trigger Là người dùng, tôi muốn tìm kiếm sản phẩm, để xem và mua sản phẩm trên ứng dụng bán laptop online

Pre-Condition(s): Thiết bị của người dùng đã được kết nối internet khi thực hiện Post-

Condition(s):

Hệ thống chuyển thành công vào Activity tìm kiếm sản phẩm Basic Flow 1. Người dùng chọn chức năng tìm kiếm

2. Hệ thống hiển thị giao diện tìm kiếm đáp ứng cho người dùng 3. Người dùng sẽ nhập vào thông tin sản phẩm cần tìm

4. Hệ thống sẽ kiểm tra và trả kết quả cho người dùng Alternative Flow 3a. Người dùng chọn bộ lọc theo danh mục sản phẩm laptop

Use case tiếp tục bước thứ 4 3b. Tìm kiếm theo lịch sử Use case tiếp tục bước thứ 4

Exception Flow Người dùng thoát chức năng tìm kiếm *Usecase dừng lại

Hệ thống kiểm tra không có từ khóa trong tìm kiếm *Hệ thống sẽ trả hết quả gợi ý

Business Rules Không có Non-Functional

Requirement

NFR1.1-1: Timeout cho trang thống kê dưới 60 giây. NFR1.1-2: Không được để trống nội dung tìm kiếm. NFR1.1-3: Không được tìm kiếm bằng ký tự đặc biệt.

1.2.1.4 Sơ đồ và đặc tả Usecase thanh toán

Hình 2. 11 Use case thanh toán cho người dùng

Use Case ID UC-1.4 Use Case Name Thanh toán

Description Giúp người dùng có thể thanh toán các sản phẩm

Actor(s) Người dùng

Priority Không

Trigger Là người dùng, tôi muốn thanh toán sản phẩm, để thanh toán các sản phẩm của tôi trong giỏ hàng trong ứng dụng bán laptop online Pre-Condition(s): Thiết bị của người dùng đã được kết nối internet khi thực hiện

Người dùng đã có tài khoản Người dùng phải đăng nhập Post-

Condition(s): (adsbygoogle = window.adsbygoogle || []).push({});

Hệ thống chuyển thành công vào Activity thanh toán

Một phần của tài liệu ĐỀ TÀI XÂY DỰNG ỨNG DỤNG DI ĐỘNG BÁN LAPTOP CỦA CỬA HÀNG TÂN HƯNG TẠI THỦ DẦU MỘT BÌNH DƯƠNG (Trang 33)