Tải bản đầy đủ (.pdf) (39 trang)

Phát triển phần mềm Ứng dụng phát triển Ứng dụng quản lý cửa hàng bán sách (KMA)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.12 MB, 39 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>HỌC VIỆN KỸ THUẬT MẬT MÃ Khoa Cơng nghệ thơng tin </b>

<b>BÁO CÁO MƠN HỌC </b>

<b>PHÁT TRIỂN PHẦN MỀM ỨNG DỤNG ĐỀ TÀI: </b>

<b>PHÁT TRIỂN ỨNG DỤNG QUẢN LÝ CỬA HÀNG BÁN SÁCH </b>

<b>Giảng viên hướng dẫn: A </b>

Sinh viên thực hiện: B

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC </b>

<small>DANH MỤC HÌNH ẢNH ... i </small>

<small>DANH MỤC BẢNG BIỂU ... ii </small>

<small>LỜI NÓI ĐẦU ... 1 </small>

<small>CHƯƠNG 1: PHÂN TÍCH YÊU CẦU QUẢN LÝ CỬA HÀNG BÁN SÁCH ... 2 </small>

<small>Tổng quan hệ thống ... 2 </small>

<small>Yêu cầu hệ thống... 2 </small>

<small> Yêu cầu chức năng ... 2 </small>

<small> Yêu cầu phi chức năng ... 3 </small>

<small>Các công nghệ được sử dụng ... 3 </small>

<small> Ngơn ngữ lập trình Java ... 3 </small>

<small> Java Swing ... 6 </small>

<small> Hệ quản trị cơ sở dữ liệu MySQL ... 7 </small>

<small>CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ PHẦN MỀM QUẢN LÝ CỬA HÀNG BÁN SÁCH ... 9 </small>

<small>Biểu đồ Use case ... 9 </small>

<small> Biểu đồ Use case tổng quát ... 9 </small>

<small> Phân rã biểu đồ Use case ... 10 </small>

<small>Các biểu đồ tuần tự ... 13 </small>

<small> Biểu đồ tuần tự “Đăng nhập” ... 13 </small>

<small> Biểu đồ tuần tự “Đăng xuất” ... 14 </small>

<small> Biểu đồ tuần tự “Thêm, sửa và xóa sách” ... 15 </small>

<small> Biểu đồ tuần tự “Thêm, sửa, xóa hóa đơn” ... 16 </small>

<small> Biều đồ tuần tự “Thêm, sửa, xóa tài khoản” ... 17 </small>

<small> Biểu đồ tuần tự “Tìm kiếm” ... 18 </small>

<small> Biểu đồ tuần tự “Xuất file Excel” ... 19 </small>

<small> Biểu đồ tuần tự “Nhập kho” ... 20 </small>

<small> Biểu đồ tuần tự “Xem thống kê, báo cáo” ... 21 </small>

<small>Thiết kế cơ sở dữ liệu ... 21 </small>

<small> Sơ đồ kết nối cảng ... 21 </small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<small>CHƯƠNG 3: TRIỂN KHAI PHẦN MỀM QUẢN LÝ CỬA HÀNG BÁN SÁCH ... 24 </small>

<small>Triển khai phần mềm ... 24 </small>

<small> Cài đặt MySQL ... 24 </small>

<small> Cài đặt và phát triển phần mềm Desktop với Java Swing theo mơ hình MVC 26 Giới thiệu giao diện phần mềm ... 28 </small>

<small> Giao diện đăng nhập ... 28 </small>

<small> Giao diện quản lý sách ... 29 </small>

<small> Giao diện quản lý hóa đơn ... 29 </small>

<small> Giao diện thống kê ... 30 </small>

<small> Giao diện kho ... 31 </small>

<small> Giao diện quản lý tài khoản ... 32 </small>

<small>KẾT LUẬN ... 33 </small>

<small>TÀI LIỆU THAM KHẢO ... 34 </small>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>DANH MỤC HÌNH ẢNH </b>

Hình 1. 1 OOP trong Java ... 4

Hình 1. 2 Các thành phần giao diện trong Java Swing ... 6

Hình 1. 3 Hệ quản trị cơ sở dữ liệu MySql ... 7

Hình 2. 1 Biểu đồ use case tổng quát ... 9

Hình 2. 2 Biểu đồ use case “Quản lý sách” ...10

Hình 2. 3 Biều đồ use case “Quản lý hóa đơn” ... 11

Hình 2. 4 Biểu đồ use case “Xem thống kê, báo cáo” ...12

Hình 2. 5 Biểu đồ use case “Quản lý tài khoản”...12

Hình 2. 6 Biểu đồ tuần tự “Đăng nhập” ...13

Hình 2. 7 Biểu đồ tuần tự “Đăng xuất” ...14

Hình 2. 8 Biểu đồ tuần tự “Thêm, sửa, xóa sách” ...15

Hình 2. 9 Biểu đồ tuần tự “Thêm, sửa, xóa hóa đơn” ...16

Hình 2. 10 Biểu đồ tuần tự “Thêm, sửa, xóa tài khoản” ...17

Hình 2. 11 Biểu đồ tuần tự tìm kiếm ...18

Hình 2. 12 Biểu đồ tuần tự “Xuất file Excel” ...19

Hình 2. 13 Biểu đồ tuần tự “Nhập kho”...20

Hình 2. 14 Biểu đồ tuần tự “Xem thống kê, báo cáo” ...21

Hình 2. 15 Sơ đồ kết nối các bảng CSDL ...22

Hình 3. 1 Khởi động Apache và MySQL ...25

Hình 3. 2 Giao diện phpMyAdmin quản lý database ...25

Hình 3. 3 Các bảng của cơ sở dữ liệu “bookstore” ...26

Hình 3. 4 Kết nối tới MySQL ...27

Hình 3. 5 Danh sách các class giao diện ...27

Hình 3. 6 Giao diện đăng nhập ...28

Hình 3. 7 Giao diện quản lý sách ...29

Hình 3. 8 Giao diện quản lý hóa đơn ...30

Hình 3. 9 Giao diện thống kê ...31

Hình 3. 10 Giao diện kho ...31

Hình 3. 11 Giao diện quản lý tài khoản ...32

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>DANH MỤC BẢNG BIỂU </b>

Bảng 2. 1 Chi tiết bảng Sách ...22

Bảng 2. 2 Chi tiết bảng hóa đơn...23

Bảng 2. 3 Chi tiết bảng chi tiết hóa đơn ...23

Bảng 2. 4 Chi tiết bảng tài khoản ...23

Bảng 2. 5 Chi tiết bảng nhà xuất bản ...23

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>LỜI NÓI ĐẦU </b>

Trong thời đại hiện nay, sự bùng nổ của công nghệ thông tin đã mở ra không gian rộng lớn cho sự phát triển của phần mềm, đặc biệt là trong lĩnh vực quản lý. Việc phát triển phần mềm quản lý cửa hàng bán sách không chỉ mang lại sự thuận tiện cho người mua mà còn giúp quản lý cửa hàng và nhân viên tiết kiệm thời gian trong việc quản lý

<b>cũng như kinh doanh sản phẩm. </b>

Đề tài này, chúng ta sẽ đồng hành trong thế giới của phần mềm ứng dụng dành cho việc quản lý. Chúng ta sẽ khám phá cách công nghệ thơng tin đóng vai trị quan trọng trong việc phát triển ứng dụng này và làm thế nào nó tạo ra những trải nghiệm người dùng tốt nhất.

Trên cơ sở của những tiến bộ trong lĩnh vực cơng nghệ thơng tin, chúng ta sẽ tìm hiểu về các thành phần quan trọng của hệ thống, từ giao diện người dùng đến quản lý cơ sở dữ liệu sách. Chúng ta cũng sẽ đàm phán về cách phần mềm này có thể tận dụng các tính năng như tìm kiếm, xem sách, và tận dụng các tính năng khác của phần mềm.

Ngồi ra, chúng ta sẽ khám phá những ứng dụng thực tế của phần quản lý cửa hàng sách, từ việc cung cấp dịch vụ giáo dục đến cách vận hành quản lý cửa hàng. Chúng ta cùng nhau thảo luận về những lợi ích mà nó mang lại cho độc giả và cả những thách thức liên quan đến quản lý nội dung và bảo mật thông tin cá nhân.

Đến cuối đề tài, chúng ta hy vọng sẽ có cái nhìn tổng quan về vai trị quan trọng của công nghệ thông tin trong việc phát triển phần mềm bán sách, đồng thời mở ra những triển vọng hứa hẹn cho tương lai.

Nội dung của báo cáo sẽ được chia thành 3 phần chính:

✓ Chương 1: Phân tích yêu cầu hệ thống quản lý cửa hàng bán sách ✓ Chương 2: Phân tích và thiết kế hệ thống quản lý cửa hàng bán sách ✓ Chương 3: Triển khai hệ thống

Tuy nhiên, chúng ta nhận thức rằng dự án này có những hạn chế và thiếu sót. Sự đóng góp và phản hồi từ thầy và các bạn sẽ giúp chúng tơi hồn thiện dự án một cách tốt nhất.

Chân thành cảm ơn sự hỗ trợ của quý thầy cô và các bạn!!!

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>CHƯƠNG 1: PHÂN TÍCH YÊU CẦU QUẢN LÝ CỬA HÀNG BÁN SÁCH Tổng quan hệ thống </b>

Các cửa hàng sách cần một giải pháp giúp họ có thể quản lý các đầu sách và bán sách cho khách hàng. Giải pháp tối ưu đó là xây dựng một ứng dụng quản lý cửa hàng bán sách hiệu quả, giúp chủ cửa hàng và nhân viên tối ưu hóa các hoạt động kinh doanh.

Đặc điểm nổi bật:

- Quản lý linh hoạt: Hệ thống mang lại sự linh hoạt trong việc quản lý kho hàng, quảng cáo sản phẩm và tương tác với khách hàng. Qua việc thu thập dữ liệu, doanh nghiệp có thể phân tích hành vi mua sắm của khách hàng để tối ưu hóa chiến lược tiếp thị và cung cấp ưu đãi cá nhân hóa.

- Tối ưu hóa chi phí: So với mơ hình kinh doanh truyền thống, hệ thống giúp giảm chi phí đáng kể, đồng thời mang lại hiệu suất cao trong quản lý cửa hàng và bán hàng.

- Thách thức và giải pháp: Mặc dù ứng dụng quản lý cửa hàng bán sách mang lại nhiều lợi ích, nhưng vẫn đối mặt với những thách thức như bảo mật thông tin, tốc độ xử lý giao dịch và tối ưu hóa trang web. Để giải quyết những vấn đề này, hệ thống sẽ tích hợp các biện pháp bảo mật tiên tiến, tối ưu hóa cơ sở dữ liệu và sử dụng công nghệ hiện đại để đảm bảo trải nghiệm người dùng mượt mà và an tồn. - Vai trị trong mơ hình kinh doanh hiện đại: Mặc dù thách thức tồn tại, ứng dụng

quản lý cửa hàng bán sách tiếp tục đóng vai trị quan trọng trong việc hình thành mơ hình kinh doanh hiện đại. Hệ thống này khơng chỉ giúp cửa hàng tối ưu hóa quy trình nội bộ mà còn đáp ứng nhu cầu ngày càng tăng của khách hàng, đóng góp vào sự phát triển và cạnh tranh trong thị trường kinh doanh ngày càng cạnh tranh.

o Cập nhật thông tin của sách đã có. o Xố sách khỏi danh sách.

o Xuất file Excel danh sách sách. o Tìm kiếm sách.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

- Quản lý hàng tồn kho: Theo dõi số lượng sách tồn kho. - Quản lý hóa đơn:

o Tạo hóa đơn bán hàng. o Sửa và xóa hóa đơn. o Tạo báo cáo bán hàng. - Báo cáo và thống kê:

o Tạo báo cáo về doanh thu bán hàng, lợi nhuận. o Lọc thống kê theo khoảng thời gian tùy ý. o Xuất file Excel báo cáo.

- Quản lý tài khoản: Cho phép người quản lý quản lý tài khoản của bản thân và tài khoản của nhân viên.

- Phân quyền người dùng:

o Người quản lý: có thể sử dụng mọi chức năng trong phần mềm

o Nhân viên: bị giới hạn truy cập 1 số chức năng như hiển thị doanh thu, lợi nhuân, quản lý tài khoản,…

<i><b> Yêu cầu phi chức năng </b></i>

- Giao diện người dùng thân thiện: Thiết kế giao diện đơn giản, dễ sử dụng cho cả chủ cửa hàng, nhân viên, và khách hàng.

- Bảo mật thông tin: Đảm bảo an tồn thơng tin cá nhân của khách hàng và thơng tin kinh doanh của cửa hàng.

- Tốc độ xử lý dữ liệu nhanh chóng và chính xác.

<b>Các công nghệ được sử dụng </b>

<i><b> Ngôn ngữ lập trình Java </b></i>

Java là ngơn ngữ lập trình đa nền tảng (cross-platform), được phát triển bởi James Gosling tại Sun Microsystems (nay là Oracle Corporation). Ngơn ngữ lập trình này ra đời vào năm 1995 và được thiết kế để có thể chạy trên các nền tảng khác nhau, từ máy tính cá nhân đến thiết bị di động, các máy chủ và thiết bị nhúng.

Java sử dụng cấu trúc lập trình hướng đối tượng (object-oriented programming - OOP) và được xây dựng trên cơ sở của ngơn ngữ lập trình C++. Nó cung cấp một môi trường chạy ảo (virtual machine) gọi là Java Virtual Machine (JVM), giúp các chương trình Java có thể chạy trên nhiều nền tảng khác nhau mà không cần phải biên dịch lại.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Hiện tại, Java là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay, được sử dụng rộng rãi trong các ứng dụng di động, phát triển web, lập trình trên các thiết bị nhúng, máy tính cá nhân, máy chủ, game và nhiều lĩnh vực khác.

Các tính năng của Java:

• Đa nền tảng: Java được thiết kế để có thể chạy trên nhiều nền tảng khác nhau, vì vậy nó rất phù hợp cho việc phát triển các ứng dụng đa nền tảng. Java sử dụng một máy ảo (JVM - Java Virtual Machine) để chạy mã nguồn, vì vậy mã nguồn được viết một lần và có thể chạy trên nhiều hệ điều hành khác nhau mà

<b>không cần thay đổi. </b>

• Quản lý bộ nhớ tự động: Java có tính năng tự động quản lý bộ nhớ, tức là nó tự động thu dọn các vùng nhớ không sử dụng nữa để giảm thiểu các lỗi bộ nhớ. Điều này giúp cho các ứng dụng được viết bằng Java có thể chạy ổn định và tránh các lỗi liên quan đến bộ nhớ.

• Hỗ trợ đa luồng: Java có thể xử lý đa luồng, cho phép chương trình thực hiện nhiều tác vụ cùng một lúc. Điều này giúp cho các ứng dụng có thể chạy nhanh và hiệu quả hơn, đặc biệt là khi phải xử lý nhiều tác vụ cùng một lúc.

• Tính bảo mật cao: Java có các tính năng bảo mật như kiểm tra kiểu tĩnh và kiểm tra lỗi trên đường dẫn. Java được thiết kế để giảm thiểu các lỗ hổng bảo mật và các vấn đề liên quan đến an ninh.

• Hỗ trợ các thư viện và cơng cụ phát triển mạnh mẽ: Java có các thư viện tiêu chuẩn và các công cụ phát triển như IDE (Integrated Development

Environment) để giúp các nhà phát triển tạo ra các ứng dụng dễ dàng hơn. Các

<b>Hình 1. 1 OOP trong Java </b>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

thư viện và công cụ này cung cấp các tính năng như: tạo giao diện người dùng, xử lý dữ liệu, kết nối cơ sở dữ liệu và nhiều hơn nữa,...

• Tính di động: Java được sử dụng rộng rãi trong lĩnh vực di động bao gồm: các thư viện hỗ trợ việc phát triển ứng dụng di động, đóng gói ứng dụng thành các file .jar hoặc .apk, cung cấp các tính năng như xử lý đa nhiệm, kết nối mạng và tích hợp với các thiết bị phần cứng như máy ảnh.

• Tính độc lập với nền tảng: Java có thể chạy trên nhiều nền tảng khác nhau và không phụ thuộc vào bất kỳ nền tảng cụ thể nào. Điều này giúp cho các ứng dụng Java có thể được triển khai trên nhiều hệ thống khác nhau mà không cần sửa đổi mã nguồn.

• Tính kế thừa và đa hình: Java là ngơn ngữ lập trình hướng đối tượng (OOP), vì vậy nó có các tính năng như kế thừa, đa hình và đóng gói. Các tính năng này giúp cho mã nguồn được tái sử dụng và giảm thiểu sự trùng lặp trong mã nguồn.

• Tính mở rộng: Java có tính năng mở rộng, cho phép các nhà phát triển thêm các tính năng mới vào ngôn ngữ bằng cách tạo các thư viện và API riêng. Điều này giúp cho Java có thể được sử dụng trong nhiều lĩnh vực khác nhau và được phát triển theo các hướng khác nhau.

Ưu điểm của Java: • Độ tin cậy cao • Tính đa nền tảng

• Quản lý bộ nhớ tự động • Cơng cụ phát triển phong phú • Hỗ trợ đa luồng

Nhược điểm của Java:

• Tốc độ chậm hơn so với các ngơn ngữ lập trình gần sát với phần cứng, chẳng hạn như C hoặc C++.

• Java có thể chạy trên nhiều nền tảng khác nhau, nhưng ứng dụng này có thể cần đến một trình biên dịch hoặc máy ảo Java riêng biệt để có thể chạy trên các thiết bị di động.

• Sử dụng bộ nhớ lớn hơn so với một số ngơn ngữ lập trình khác. • Cú pháp phức tạp hơn so với một số ngơn ngữ lập trình khác.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<i><b> Java Swing </b></i>

Java Swing là một bộ công cụ phát triển giao diện người dùng (GUI) cho ứng dụng Java, được giới thiệu lần đầu tiên trong Java 2 và nhanh chóng trở thành một thành phần quan trọng trong việc xây dựng ứng dụng Java. Đặc biệt, Java Swing được ưa chuộng trong việc phát triển ứng dụng máy tính đa nhiệm và đa nền tảng.

Với khả năng tạo ra trải nghiệm người dùng đồng nhất trên nhiều hệ điều hành, từ Windows đến Linux và macOS, Java Swing không chỉ mang lại hiệu suất đáng kể mà còn giảm bớt gánh nặng liên quan đến nền tảng. Điều này đồng nghĩa với việc người phát triển có thể tập trung vào việc xây dựng giao diện mà không phải lo lắng về sự tương thích hệ điều hành.

Java Swing không chỉ đơn giản là một bộ công cụ, mà còn là một nền tảng mạnh mẽ cho việc thiết kế giao diện người dùng đẹp mắt và linh hoạt. Cung cấp một loạt các thành phần như buttons, text fields và panels, Swing mang đến cho người phát triển sự linh hoạt trong việc tạo ra giao diện người dùng phong cách và tương tác.

Hỗ trợ sự tương tác với người dùng thông qua các sự kiện, từ những sự kiện đơn giản nhất như nhấp chuột đến những tương tác phức tạp như kéo và thả, là một điểm mạnh

<b>Hình 1. 2 Các thành phần giao diện trong Java Swing </b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

của Java Swing. Điều này giúp xây dựng ứng dụng mà khơng chỉ đẹp mắt mà cịn dễ sử dụng.

Quản lý bố cục linh hoạt thông qua các layout managers của Swing giúp tự động điều chỉnh bố cục của các thành phần trên giao diện người dùng, giảm độ phức tạp trong q trình thiết kế và duy trì tính linh hoạt khi thay đổi kích thước cửa sổ hoặc cấu hình ứng dụng.

Java Swing cũng cung cấp thư viện đồ họa và khả năng trực tiếp truy cập vào giao diện người dùng, tạo điều kiện thuận lợi cho việc phát triển ứng dụng đồ họa và nâng cao trải nghiệm người dùng. Với sự đa dạng và tích hợp mạnh mẽ, Java Swing là lựa chọn mạnh mẽ để xây dựng giao diện người dùng sáng tạo và chất lượng cao trong ứng dụng Java.

<i><b> Hệ quản trị cơ sở dữ liệu MySQL </b></i>

SQL (Structured Query Languge hay ngơn ngữ truy vấn có cấu trúc) là một loại ngơn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ. Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ. Nó là một tiêu chuẩn ANSI/ISO.

Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System, viết tắt DBMS) là một chương trình máy tính (một bộ các chương trình) được thiết kế để quản lý một cơ sở dữ liệu, một tập hợp dữ liệu lớn có cấu trúc, phục vụ cho các yêu cầu về dữ liệu của một số lượng lớn người sử dụng.

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt

<b>Hình 1. 3 Hệ quản trị cơ sở dữ liệu MySql </b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet.

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngơn ngữ truy vấn có cấu trúc (SQL).

<b>Ưu điểm của MySQL: </b>

• Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. • Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên

Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao.

• Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.

• Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết.

• Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.

<b>Nhược điểm của MySQL: </b>

• Giới hạn: Theo thiết kế, MySQL khơng có ý định làm tất cả và nó đi kèm với các hạn chế về chức năng mà một vào ứng dụng có thể cần.

• Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham khảo, các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác.

- Dung lượng hạn chế: Nếu số bản ghi lớn dần lên thì việc truy xuất dữ liệu là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache MySQL

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ PHẦN MỀM QUẢN LÝ CỬA HÀNG BÁN SÁCH </b>

<b>Biểu đồ Use case </b>

<i><b> Biểu đồ Use case tổng quát </b></i>

Trên cơ sở phân tích yêu cầu hệ thống ở chương 1, ta thấy hệ thống gồm 2 tác nhân với các chức năng chính được biểu diễn như trong hình dưới đây:

<b>Hình 2. 1 Biểu đồ use case tổng quát </b>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<i><b> Phân rã biểu đồ Use case </b></i>

<i>2.1.2.1 Phân rã use case “Quản lý sách” </i>

Use case “Quản lý sách” được phân rã thành năm use case nhỏ là “Thêm sách”, “Sửa sách”, “Xóa sách”, “Tìm kiếm sách” và “Xuất file Excel sách”. Người quản lý là tác nhân của cả năm use case nhỏ và Nhân viên chỉ là tác nhân của use case “Tìm kiếm sách” và “Xuất file Excel sách”.

<b>Hình 2. 2 Biểu đồ use case “Quản lý sách” </b>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<i>2.1.2.2 Phân rã use case “Quản lý hóa đơn” </i>

Use case “Quản lý hóa đơn” được thực hiện bởi Người quản lý và Nhân viên, được phân rã thành năm use case nhỏ là “Thêm hóa đơn”, “Sửa hóa đơn”, “Xóa hóa đơn”, “Tìm kiếm sách” và “Xuất file Excel hóa đơn”.

<b>Hình 2. 3 Biều đồ use case “Quản lý hóa đơn” </b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<i>2.1.2.3 Phân rã use case “Xem thông kê, báo cáo” </i>

Use case “Xem thống kê, báo cáo” được phân rã thành ba use case nhỏ là “Lọc thống kê theo khoảng thời gian”, “Tính doanh thu, lợi nhuận”, và “Xuất file Excel báo cáo”. Người quản lý là tác nhân của cả ba use case nhỏ và Nhân viên chỉ là tác nhân của

use case “Lọc thống kê theo khoảng thời gian”.

<i>2.1.2.4 Phân rã use case “Quản lý tài khoản” </i>

Use case “Quản lý tài khoản” được thực hiện bởi Người quản lý và được phân rã thành bause case nhỏ là “Thêm tài khoản”, “Sửa tài khoản”, và “Xóa tài khoản”.

<b>Hình 2. 4 Biểu đồ use case “Xem thống kê, báo cáo” </b>

<b>Hình 2. 5 Biểu đồ use case “Quản lý tài khoản” </b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>Các biểu đồ tuần tự </b>

<i><b> Biểu đồ tuần tự “Đăng nhập” </b></i>

Biểu đồ tuần tự “Đăng nhập” được thực hiện bởi Người quản lý và Nhân viên, tác động đến form đăng nhập và cơ sở dữ liệu.

<b>Hình 2. 6 Biểu đồ tuần tự “Đăng nhập” </b>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<i><b> Biểu đồ tuần tự “Đăng xuất” </b></i>

Biểu đồ tuần tự “Đăng xuất” được thực hiện bởi Người quản lý và Nhân viên, tác động đến trang menu.

<b>Hình 2. 7 Biểu đồ tuần tự “Đăng xuất” </b>

</div>

×