Người dùng bấm Thêm thì hệ thống sẽ kiểm tra Mã khách hàng đãtồn tại trong cơ sở dữ liệu chưa, nếu chưa thông tin về khách hàng mớinhập sẽ được thêm vào và hiển thị trong danh sách..
Trang 1MỤC LỤC
MỞ ĐẦU: TỔNG QUAN VỀ ĐỀ TÀI 6
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 8
I Giới thiệu về ngôn ngữ java 8
1.1.1 Khái niệm 8
1.1.2 Lịch sử hình thành ngôn ngữ java 8
1.1.3 Một số đặc điểm nổi bật của java 9
II Mô hình 3 lớp trong lập trình java 12
1.2.1 Vai trò của các layer 12
1.2.2 Dữ liệu trao đổi giữa các layer 13
1.2.3 Mối quan hệ giữa các layer 13
1.2.4 Ưu điểm mô hình 3 layer 13
III Cơ sở dữ liệu Mysql 14
1.3.1 Giới thiệu về MySql 14
1.3.2 Lịch sử phát triển 14
1.3.3 Vấn đề bản quyền và hỗ trợ 15
1.3.4 Các tính năng của MySQL 15
CHƯƠNG 2: ĐẶC TẢ CHỨC NĂNG HỆ THỐNG 16
I Danh sách các actor 16
II Danh sách các tác nhân 16
III Đặc tả các tác nhân 16
2.3.1 Đăng nhập hệ thống 16
2.3.2 Quản lý khách hàng : 19
2.3.2.1 Chức năng thêm mới khách hàng : 19
2.3.2.2 Chức năng Sửa thông tin nhóm : 21
2.3.2.3 Chức năng xóa khách hàng : 23
2.3.2.4 Chức năng tìm kiếm ( Bộ lọc) : 26
2.3.3 Quản lý kho dược phẩm : 27
2.3.3.1 Chức năng thêm mới dược phẩm 27
2.3.3.2 Chức năng sửa thông tin dược phẩm 29
2.3.3.3 Chức năng xóa dược phẩm 31
2.3.3.4 Chức năng tìm kiếm 34
2.3.3.5 Chức năng báo cáo dược phẩm hết hạn 35
2.3.4 Chức năng quản lý hóa đơn nhập dược phẩm 36
2.3.4.1 Chức năng thêm mới hóa đơn nhập dược phẩm 36
2.3.4.2 Chức năng theo dõi các hóa đơn 39
2.3.5 Chức năng quản lý hóa đơn bán hàng 40
2.3.5.1 Chức năng thêm mới hóa đơn bán hàng 40
Trang 22.3.5.2 Chức năng theo dõi các hóa đơn bán hàng 42
2.3.6 Theo dõi 43
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ DEMO CHƯƠNG TRÌNH 44
I PHÂN TÍCH THIẾT KẾ HỆ THỐNG 44
3.1.1 PHÂN TÍCH HIỆN TRẠNG 44
3.1.1.1 Mục tiêu 44
3.1.1.2 Những vấn đề cần giải quyết 44
3.1.1.3 Một số biểu mẫu 45
3.1.2 SƠ ĐỒ DÒNG DỮ LIỆU 51
3.1.2.1 Đăng nhập tài khoản 51
3.1.2.2 Quản lý khách hàng 51
3.1.2.3 Quản lý kho dược phẩm (Thêm, sửa, xóa, tìm kiếm) 52
3.1.2.4 Quản lý kho được phẩm (Báo cáo dược phẩm hết hạn, tồn kho) 52
3.1.2.5 Quản lý hóa đơn nhấp dược phẩm 53
3.1.2.6 Quản lý hóa đơn bán hàng 53
3.1.2.7 Mặt hàng bán chạy, khách hàng mua nhiều 54
II XÂY DỰNG MÔ HÌNH THỰC THỂ KẾT HỢP 55
3.2.1 Từ điển dữ liệu 55
3.2.2 Biểu đồ thực thể quan hệ 56
3.2.3 Xây dựng cơ sở dữ liệu 57
3.2.4 Cấu trúc chương trình 60
III THIẾT KẾ GIAO DIỆN VÀ DEMO CHƯƠNG TRÌNH 63
3.3.1 Login 63
3.3.2 Giao diện chính 64
3.3.3 Hóa đơn bán hàng 65
3.3.4 Phiếu kho 66
3.3.5 Quản lý dược phẩm 67
3.3.6 Quản lý khách hàng 68
3.3.7 Quản lý nhân viên 69
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 71
Trang 3DANH MỤC HÌNH ẢNH
Hình 1: Mô hình 3 lớp trong java 12
Hình 2 : Dữ liệu trao đổi giữa các layer 13
Hình 3: sơ đồ hoạt dộng chức năng đăng nhập hệ thống 17
Hình 4: sơ đồ tuần tự chức năng đăng nhập hệ thống 18
Hình 5: Sơ đồ hoạt động khánh hàng 20
Hình 6: sơ đồ tuần tự khách hàng 21
Hình 7: sơ đồ hoạt dộng chức năng sửa thông tin nhóm 22
Hình 8: sơ đồ tuần tự chức năng sửa thông tin nhóm 23
Hình 9: sơ đồ hoạt động chức năng xóa khách hàng 24
Hình 10: sơ đồ tuần tự chức năng xóa khách hàng 25
Hình 11: sơ đồ chức năng tìm kiếm 26
Hình 12: sơ đồ hoạt động chức năng thêm mới dược phẩm 28
Hình 13: sơ đồ tuần tự chức năng thêm mới dược phẩm 29
Hình 14: sơ đồ hoạt động chức năng sửa thông tin dược phẩm 30
Hình 15: sơ đồ tuần tự chức năng sửa thông tin dược phẩm 31
Hình 16: sơ đồ hoạt động chức năng xóa dược phẩm 32
Hình 17: : sơ đồ tuần tự chức năng xóa dược phẩm 33
Hình 18: sơ đồ hoạt động chức năng tìm kiếm 34
Hình 19: sơ đồ hoạt động chức năng báo cáo sản phẩm hết hạn 35
Hình 20: sơ đồ hoạt động chức năng thêm hóa đơn nhập dược phẩm 37
Hình 21: sơ đồ tuần tự chức năng thêm hóa đơn nhập dược phẩm 38
Hình 22: sơ đồ hoạt dộng chức năng theo dõi hóa đơn 39
Hình 23: sơ đồ hoạt dộng chức năng thêm mới hóa đơn bán hàng 41
Hình 24: sơ đồ tuần tự chức năng thêm mới hóa đơn bán hàng 41
Hình 25: sơ đồ hoạt động chức năng theo dõi các hóa đơn 42
Hình 26: sơ đồ hoạt động chức năng theo dõi 43
Hình 27: Đăng nhập tài khoản 51
Hình 28: Quản lý khách hàng 51
Hình 29: quản lý kho dược phẩm 52
Hình 30a: Quản lý kho dược phẩm 52
Hình 30b: Quản lý hóa đơn nhập dược phẩm 53
Hình 31a: Quản lý hóa đơn bán hàng 53
Hình 31b: Quản lý hóa đơn bán hàng 54
Hình 32: Mặt hàng bán chạy, khách hàng mua nhiều 54
Hình 33: sơ đồ quan hệ 59
Hình 34: Project chính 60
Trang 4Hình 35: DAO dùng để kết nối CSDL 60
Hình 36: khai báo các thực thể 61
Hình 37: Lớp trung gian để thao tác với CSDL 61
Hình 38: Thể hiện giao diện của chương trình 62
Hình 39: Login 63
Hình 40: Giao diện chính 64
Hình 41: Hóa đơn bán hàng 65
Hình 42: Phiếu kho 66
Hình 43: Quản lý dược phẩm 67
Hình 44: Quản lý khách hàng 68
Hình 45: Quản lý nhân viên 69
Trang 5DANH MỤC CÁC BẢNG
Bảng 1: Danh sách các tác nhân 16
Biểu mẫu 1: Phiếu nhập 45
Biểu mẫu 2: Hóa đơn GTGT 46
Biểu mẫu 3: Báo cáo NHẬP – XUẤT – TỒN KHO 47
Biểu mẫu 4: Kết quả hoạt động bán hàng 47
Biểu mẫu 5: Tình hình sử dụng hóa đơn 48
Biểu mẫu 6: Thẻ kho 48
Biểu mẫu 7: Bảng kê hóa đơn, chứng từ mua vào 49
Biểu mẫu 8: Bảng kê chứng từ, dịch vụ bán ra 50
Bảng 2: Từ điển dữ liệu 55
Bảng 3: users 57
Bảng 4: Products 57
Bảng 5: customers 58
Bảng 6: Bills 58
Trang 6MỞ ĐẦU: TỔNG QUAN VỀ ĐỀ TÀI
I Đặt vấn đề
Ngày nay, công nghệ thông tin đã và đang đóng vai trò quan trọng trong đờisống kinh tế, xã hội của nhiều quốc gia trên thế giới, là một phần không thể thiếutrong xã hội ngày càng năng động, ngày càng hiện đại hóa Vì vậy, việc ứng dụngcông nghệ thông tin vào rất nhiều lĩnh vực ứng dụng là hoàn toàn có thể và phù hợpvới xu hướng hiện nay
Xuất phát từ nhu cầu thực tế đó, việc xây dựng một chương trình quản lý hoạtđộng buôn bán và kinh doanh dược phẩm là rất cần thiết, thiết thực, mang tính khoahọc cao , nhằm thay thế một số công việc mà trước đó phải thao tác bằng tay trêngiấy tờ đạt hiệu quả không cao, mất nhiều thời gian Vì vậy, em đã thực hiện luậnvăn tốt nghiệp với đề tài “xây dựng hệ thống phân phối kinh doanh dược phẩm.”dành cho công ty hay cá nhân kinh doanh
Phần mềm quản lý hoạt động kinh doanh của công ty, cá nhân, hệ thống sẽ giúpnhân viên quản lí một cách hiệu quả hoạt động mua bán dược phẩm giữa đại lý vớikhách hàng
II Mục tiêu nhiệm vụ của đề tài
1 Mục tiêu
Nghiên cứu thực tế và thử nghiệm bài toán Phân tích - Thiết kế hệ thống thôngtin quản lý Từ đó phân tích thiết kế cài đặt chương trình Hệ thống phân phối kinhdoanh dược phẩm
2 Nhiệm vụ
Xây dựng phần mềm quản lý hoạt động mua bán dược phẩm cho công ty hay cánhân kinh doanh dược phẩm, với phần mềm này sẽ giúp công ty hay cá nhân kinhdoanh quản lý nhân viên, khách hàng và các hoạt động của công ty được dễ dàng vàthuân lợi hơn
III Phạm vi nghiên cứu
Một hiệu thuốc kinh doanh các mặt hàng về dược phẩm như thuốc, dụng cụ ytế… Việc quản lý các hóa đơn mua bán sản phẩm của công ty là một công việc rấtquan trọng Công việc này vẫn được công ty xử lý từ trước đến nay bằng hệ thốnghóa đơn giấy tờ Theo thời gian,hệ thống này đã bộ lộ nhiều điểm hạn chế như: dữ
Trang 7sổ sách tốn kém nhân lực, thời gian, chi phí; việc lưu trữ cơ sở dữ liệu bằng giấy tờtồn tại nhiều rủi ro (dễ thất lạc, mất mát…) và tốn kém chi phí cho việc lưu trữ bảoquản…
Việc áp dụng CNTT vào việc quản lý kinh doanh sẽ giúp giải quyết những mặthạn chế của cách làm hiện tại và đem tới nhiều tiện ích khác nhắm nâng cao hiệuquả của công việc và tiết kiệm chi phí
IV Dự kiến kết quả đạt được
Chức năng của phần mềm là quản lý kinh doanh dược phẩm giải quyết được cáccâu hỏi đặt ra như:
Người dùng quản lý thông tin khách hàng, thông tin sản phẩm như thế nào?
Người dùng tạo được các hóa đơn mua bán sản phẩm như thế nào?
Người dùng theo dõi các chi tiết của các hóa đơn như thế nào?
Người dùng có thể biết các mặt hàng đang bán chạy và các khách hàng muanhiều nhất?
Người dùng có thể quản lý thuốc tồn kho, quá hạn?
V Môi trường hoạt động
Hệ thống hoạt động trên một máy tính cá nhân
VI Ý nghĩa khoa học và thực tiễn của đề tài
Với đề tài này với mục đích của chúng tôi nhằm tin học hóa tin học ở công tynhằm nâng cao khả năng cho các nhân viên của công ty làm quen với cách làm việckhoa học và công nghệ cao hơn
Giảm tải khối lượng công việc cho các thành viên, đơn giản hóa quá trình kinhdoanh, nâng cao hiệu quả quản lí và thuận lợi cho sư phát triển mở rộng sau nàycủa công ty
Trang 8CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
I Giới thiệu về ngôn ngữ java.
Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn
1.1.2 Lịch sử hình thành ngôn ngữ java.
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystemsnăm 1991 Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi; do bênngoài cơ quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn ngữ
đó thay cho C++, nhưng các tính năng giống Objective C Không nên lẫn lộn Javavới JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C Công ty SunMicrosystems đang giữ bản quyền và phát triển Java thường xuyên
Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (“WriteOnce, Run Anywhere” (WORA)) Chương trình phần mềm viết bằng Java có thểchạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi vớiđiều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó Môi trường thực thicủa Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD &Windows Ngoài ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triểnmôi trường thực thi Java cho những hệ điều hành khác như BEA, IBM, HP… Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX &z/OS
Trang 9Java (do Oracle quản lý) Java được tạo ra vào năm 1991 do một số kỹ sư ở Sun,bao gồm ông James Gosling, một phần của Dự án Xanh(Green Project) Java đượcphát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảoSunWorld năm 1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java Về sau Javađược được hỗ trợ trên hầu hết các trình duyệt như Internet Explorer(Microsoft),Firefox(Mozilla), Safari(Apple)…
Java được sử dụng chủ yếu trên môi trường mạng, internet.subby Sau khi Oraclemua lại công ty của Sun Microsystem năm 2009-2010, Oracle đã mô tả họ là “ngườiquản lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồngtham gia và minh bạch
1.1.3 Một số đặc điểm nổi bật của java.
Máy ảo java
Tất cả các chương trình muốn thực thi được thì phải được biên dịch ra mã máy
Mã máy của từng kiến trúc CPU của mỗi máy tính là khác nhau (tập lệnh mã máycủa CPU Intel, CPU Solarix, CPU Macintosh … là khác nhau), vì vậy trước đâymột chương trình sau khi được biên dịch xong chỉ có thể chạy được trên một kiếntrúc CPU cụ thể nào đó Đối với CPU Intel chúng ta có thể chạy các hệ điều hànhnhư Microsoft Windows, Unix,Linux, OS/2, …
Chương trình thực thi được trên Windows được biên dịch dưới dạng file cóđuôi EXE còn trên Linux thì được biên dịch dưới dạng file có đuôi ELF, vì vậytrước đây một chương trình chạy được trên Windows muốn chạy được trên hệ điềuhành khác như Linux chẳng hạn thì phải chỉnh sửa và biên dịch lại
Ngôn ngữ lập trình Java ra đời, nhờ vào máy ảo Java mà khó khăn nêu trên đã đượckhắc phục Một chương trình viết bằng ngôn ngữ lập trình Java sẽ được biên dịch ra
mã của máy ảo java (mã java bytecode) Sau đó máy ảo Java chịu trách nhiệmchuyển mã java bytecode thành mã máy tương ứng.Sun Microsystem chịu trách
Trang 10nhiệm phát triển các máy ảo Java chạy trên các hệ điều hành trên các kiến trúc CPUkhác nhau.
Thông dịch
Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch Chương trìnhnguồn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịchthành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành
mã máy
Độc lập nền
Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều máy tính có
hệ điều hành khác nhau (Windows, Unix,Linux, …) miễn sao ở đó có cài đặtmáy ảo java (Java Virtual Machine) Viết một lần chạy mọi nơi (write once runanywhere)
Hướng đối tượng
Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngôn ngữlập trình hướng đối tượng hoàn toàn Tất cả mọi thứ đề cập đến trong Java đềuliên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của mộtchương trình viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp.Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance) nhưtrong C++ mà thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kếthừa Vấn đề này sẽ được bàn chi tiết trong phần sau
Đa nhiệm – đa luồng
Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình cóthể chạy song song cùng một thời điểm và tương tác với nhau
Trang 11Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trên máy
ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy ảoJava “Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere)
Hỗ trợ mạnh cho việc phát triển ứng dụng.
Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem” cungcấp nhiều công cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiềuloại hình ứng dụng khác nhau cụ thể như: J2SE (Java 2 Standard Edition) hỗ trợphát triển những ứng dụng đơn, ứng dụng client-server; J2EE (Java 2 EnterpriseEdition) hỗ trợ phát triển các ứng dụng thương mại, J2ME (Java 2 MicroEdition) hỗ trợ phát triển các ứng dụng trên các thiết bị di động, không dây, …
Trang 12II Mô hình 3 lớp trong lập trình java.
Hình 1: Mô hình 3 lớp trong java.
1.2.1 Vai trò của các layer.
GUI (Presentation) Layer: Nhập liệu, trình bày dữ liệu, kiểm tra tính
đúng đắn của dữ liệu trước khi gọi Business Logic Layer
Business Logic Layer: Đáp ứng các yêu cầu thao tác dữ liệu của GUI
Layer, kiểm tra các yêu cầu nghiệp vụ trước khi cập nhật dữ liệu, quản lý cácTransaction, các concurrent access
Data Access Layer: Kết nối, tìm kiếm, thêm, xóa, sửa,… trên CSDL
Trang 13Hình 2 : Dữ liệu trao đổi giữa các layer.
1.2.3 Mối quan hệ giữa các layer.
- Phân biệt vai trò của Business Logic Layer và khái niệm “xử lý”
- Mỗi layer vẫn có những xử lý riêng, đặc trưng của layer đó
- Đôi khi việc quyết định 1 xử lý nằm ở layer nào chỉ mang tính chất tương đối
1.2.4 Ưu điểm mô hình 3 layer.
Giảm sự kết dính giữa các thực thể phần mềm (decoupling)
Tái sử dụng
Chia sẻ trách nhiệm
Trang 14III Cơ sở dữ liệu Mysql
1.3.1 Giới thiệu về MySql.
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) phổ biếnđược sử dụng rộng rãi, ước tính đã có hơn 11 triệu bản MySQL được tải và cài đặttrên toàn thế giới, trong đó có những website lớn như Flickr, FaceBook, WikiPedia,Google, Youtube… sử dụng MySQL để lưu trữ dữ liệu
MySQL là phần mềm mã nguồn mở theo chuẩn GNU được phát triển bởi công
ty MySQL AB, một công ty con của Sun MicroSystems MySQL được viết bằng C
và C++, bộ phân tích cú pháp SQL sử dụng yacc và home-brewed lexer, sql_lex.cc MySQL có thể chạy trên nhiều nền tảng khác nhau bao gồm AIX, BSDi,FreeBSD, HP-UX, i5/OS, Linux, Mac OS, NetBSD, Novell Netware, OpenBSD,Solaris, OS/2 warp, eComStation, QNX, IRIX, Symbian, SunOS, SCO OpenServer,SCO, Unixware, Sanos, Tru64,Microsoft Windows
Thư viện để lập trình kết nối làm việc với MySQL đều có với hầu hết các ngônngữ lập trình hiện nay dưới dạng các thư viện API Thêm vào đó, giao diệnMyODBC cho phép tất cả các ngôn ngữ lập trình hỗ trợ ODBC có thể kết nối vàlàm việc với MySQL như ngôn ngữ ASP hay ColdFusion
Để quản trị cơ sở dữ liệu trong MySQL, quản trị viên có thể dùng hệ thốngđiều khiển dòng lệnh như mysql hay mysqladmin hoặc tải và cài đặt công cụ quảntrị giao diện đồ họa như phpMyAdmin, MySQL Administrator hay MySQL QueryBrowser giúp việc quản lý cơ sở dữ liệu dễ dàng hơn
1.3.2 Lịch sử phát triển
MySQL ban đầu được phát triển bởi Michael Widenius và David Axmark năm1994
Ngày 23 tháng 5 năm 1995 phiên bản đầu tiên được đưa ra
Phiên bản đầu tiên cho Windows phát hành năm 1998 hỗ trợ Windows 95, NT.Phiên bản 3.23 được phát hành tháng 1 năm 2001
Phiên bản 4.0 được phát hành tháng 3 năm 2003
Phiên bản 5.0 chính thức được phát hành vào tháng 10 năm 2005
Phiên bản 5.1 được phát hành tháng 11 năm 2008
Trang 151.3.3 Vấn đề bản quyền và hỗ trợ
Người sử dụng có thể nhận hỗ trợ từ công ty MySQL AB, bao gồm dịch vụ24/7 trả lời trong vòng 30 phút, nhóm hỗ trợ sẽ liên lạc trực tiếp với đội ngũ pháttrển để giải quyết lỗi nếu cần thiết.Ngoài ra người dùng còn có thể sử dụng diễnđàn, email hoặc kênh chat IRC để nhận được sự hỗ trợ
Những người mua phiên bản MySQL Enterprise có thể tải về cài đặt phiên bản
đã được chứng nhận cho hệ điều hành họ sử dụng và tải các bản cập nhật hay vá lỗihàng tháng Có nhiều loại hình dịch vụ Enterprise khác nhau, như thời gian trả lờikhi có sự cố khẩn cấp đến việc tối ưu hóa hay tìm các lời khuyên về kiến trúc hệthống máy chủ
Phiên bản MySQL miễn phí được phát hành theo giấy phép GNU, tuy nhiênngười sử dụng phiên miễn phí sẽ không nhận được sự hỗ trợ cũng như các bản vàkhẩn cấp như người mua sản phẩm MySQL Enterprise
1.3.4 Các tính năng của MySQL.
MySQL phiên bản 5.1 bao gồm những tính năng sau:
Trang 16CHƯƠNG 2: ĐẶC TẢ CHỨC NĂNG HỆ
THỐNG
I Danh sách các actor.
- Hệ thống chỉ có một actor duy nhất là người dùng
II Danh sách các tác nhân.
2 Quản lý kho dượcphẩm Quản lý kho dược phẩm, có các chức năng : thêm mới, chỉnh sửa và xóa.
3 Quản lý hóa đơnnhập dược phẩm Quản lý hóa đơn nhập dược phẩm, có các chức năng :
thêm mới, chỉnh sửa và xóa
Trang 17 Luồng sự kiện phụ :
Nếu người dùng không nhập Tên đăng nhập hoặc Mật khẩu mà nhấn nútĐăng nhập thì hệ thống sẽ hiện bảng thống báo phải nhập vào Tên đăng nhậphoặc Mật khẩu
Nếu người dùng nhập sai Tên đăng nhập hoặc Mật khẩu thì hệ thống sẽthống báo nhập sai
Nếu một trong hai trường hợp trên xảy ra thì người dùng có thể bắt đầu lạihoặc thoát khỏi use case này
Hình 3: sơ đồ hoạt dộng chức năng đăng nhập hệ thống
Trang 18Thông o đăng nh p không h p l
Hình 4: sơ đồ tuần tự chức năng đăng nhập hệ thống.
Trang 192.3.2 Quản lý khách hàng :
Mô tả : Quản lý các khách hàng đã từng mua hàng ở hiệu hoặc các kháchhàng đối tác, có các chức năng : thêm mới, chỉnh sửa, xóa, cập nhật, tìmkiếm
loại gì (người mua hàng, đại lý, hiệu thuốc bán lẻ, nhà phân phối), phone,địa chỉ sau đó bấm nút Thêm
Người dùng bấm Thêm thì hệ thống sẽ kiểm tra Mã khách hàng đãtồn tại trong cơ sở dữ liệu chưa, nếu chưa thông tin về khách hàng mớinhập sẽ được thêm vào và hiển thị trong danh sách Quá trình thêm mớikhách hàng thành công
Người dùng có thể tiếp tục thêm khách hàng mới mới hoặc thoát
Luồng sự kiện phụ :
Nếu người dùng không nhập Mã khách hàng hoặc Tên dược phẩm màbấm Thêm thì hệ thống sẽ thông báo phải nhập vào đầy đủ các phần.Người dùng có thể thêm khách hàng mới hoặc thoát chọn chức năngkhác
Nếu người dùng nhập đầy đủ thông tin mà không nhấn nút thêm thì hệ
sẽ không thêm khách hàng mới vào CSDL
Nếu người dùng nhập đầy đủ thông tin mà hệ thống kiểm tra Mãkhách hàng đã tồn tại trong cơ sở dữ liệu thì sẽ thông báo “Mã kháchhàng đã tồn tại” Người dùng có thể thêm khách hàng mới hoặc thoát
Trang 20 Sơ đồ hoạt động :
Nh p thông tin ch ng
Kiểm tra Mã ch ng trong cơ sở dữ liệu
Thông báo đã tồn tại
Thêm mới vào cơ sỏ dữ liệu
Thông báo lỗi
Đã tồn tạiChưa tồn tại
Nhập thiếu
Nhập đầy đủ
Hình 5: Sơ đồ hoạt động khánh hàng.
Trang 21 Sơ đồ tuần tự :
Mở form Nhập thông tin ch ng Kích Thêm
Business object
Yêu cầu cập nhật
Cơ sở dữ liệu
Cập nhật cơ sở dữ liệu
Thông báo lỗi thông tin ch ng nhập vào không hợp lệ
Thêm thành công, thông tin , ch ng được thêm vào hệ thống
Người dùng bấm nút Sửa thì form Sửa hiện ra, người dùng kích chọn
khách hàng mà mình muốn sữa khi đó dữ liệu về khách hàng chọn sẻ được
tải lên form sửa
Người dùng có thể sửa lại thông tin ở mục nào mình muốn rồi bấm nút
Update
Nếu nhập đầy đủ các mục thì hệ thống kiểm tra Mã khách hàng đã tồn
tại chưa, nếu chưa thì thông tin sẽ được sửa và lưu lại
Luồng sự kiện phụ :
Nếu người dùng không chỉnh sửa thông tin gì mà bấm nút Update thì sẽ
thoát khỏi use case sửa thông tin này
Nếu người dùng xóa thông tin và để trống ở một mục bất kì và bấm nút
Update thì hệ thống sẽ thông báo phải nhập đầy đủ thông tin
Nếu người dùng chỉnh sửa và điền đầy đủ thông tin mà không bấm nút
Update thì sẽ thoát khỏi use case này
Nếu người dùng chỉnh sửa thông tin và đầy đủ các mục rồi bấm Save
thì hệ thống kiểm tra xem Mã khách hàng đã tồn tại chưa, nếu đã tồn tại thì
Trang 22sẽ thông báo Mã khách hàng đã tồn tại Người dùng có thể bắt đầu lại hoặcthoát khỏi use case này.
Sửa thông tin ch ng
Chọn ch ng cần sửa
Nhập thông tin cần sửa
Kiểm tra Mã ch ng trong cơ sở dữ liệu
Thông báo đã tồn tại
Lưu lại vào cơ sở dữ liệu
Thông báo lỗi
Nhập thiếu
Đã tồn tại Chưa tồn tại
Nhập đủ
Hình 7: sơ đồ hoạt dộng chức năng sửa thông tin nhóm.
Trang 23 Sơ đồ tuần tự :
Người sử dụng Màn hình chỉnh sửa
Mở form Nhập lại thông tin ch ng Kích Lưu
Business object
Yêu cầu cập nhật
Cơ sở dữ liệu
Cập nhật cơ sở dữ liệu
Thông o thông tin ch ng không h p l
Sửa thành công, thông tin , ch ng được lưu lại vào hệ thống
nhóm sẽ không được xóa
Nếu người dùng không chọn nhóm nào mà bấm nút Xóa thì hệ thống sẽ
thông bảo phải chọn một nhóm để xóa nếu đã có nhóm trong danh sách,
hoặc thông báo không có nhóm để xóa nếu không có nhóm nào trong danh
sách
Trang 25Người sử dụng Business object
Yêu cầu xóa
Xóa khỏi cơ sở dữ liệu
Hình 10: sơ đồ tuần tự chức năng xóa khách hàng.
Trang 27Mô tả : Quản lý các loại dược phẩm có trong kho, có các chức năng : thêmmới, chỉnh sửa, xóa, tìm kiếm.
lượng, ngày hết hạn sau đó bấm nút Thêm
Người dùng bấm Thêm thì hệ thống sẽ kiểm tra Mã dược phẩm đãtồn tại trong cơ sở dữ liệu chưa, nếu chưa thông tin về dược phẩm mớinhập sẽ được thêm vào và hiển thị trong danh sách Quá trình thêm mớidược phẩm thành công
Người dùng có thể tiếp tục thêm dược phẩm mới mới hoặc thoát
Luồng sự kiện phụ :
Nếu người dùng không nhập Mã dược phẩm hoặc Tên dược phẩm màbấm Thêm thì hệ thống sẽ thông báo phải nhập vào đầy đủ các phần.Người dùng có thể thêm dược phẩm mới hoặc thoát chọn chức năngkhác
Nếu người dùng nhập đầy đủ thông tin mà không nhấn nút thêm thì hệ
sẽ không thêm dược phẩm mới vào CSDL
Nếu người dùng nhập đầy đủ thông tin mà hệ thống kiểm tra Mã dượcphẩm đã tồn tại trong cơ sở dữ liệu thì sẽ thông báo “Mã dược phẩm đãtồn tại” Người dùng có thể thêm dược phẩm mới hoặc thoát
Trang 28 Sơ đồ hoạt động :
Thêm d c ph m
Nh p thông tin d c ph m
Kiểm tra Mã d c ph m trong cơ sở dữ liệu
Thông báo đã tồn tại
Thêm mới vào cơ sỏ dữ liệu
Thông báo lỗi
Đã tồn tạiChưa tồn tại
Nhập thiếu
Nhập đầy đủ
Hình 12: sơ đồ hoạt động chức năng thêm mới dược phẩm.
Trang 29 Sơ đồ tuần tự :
Mở form Nhập thông tin d c ph m Kích Thêm
Business object
Yêu cầu cập nhật
Cơ sở dữ liệu
Cập nhật cơ sở dữ liệu
Thông báo lỗi thông tin d c ph m nhập vào không hợp lệ
Thêm thành công, thông tin d , c ph m được thêm vào hệ thống
Cập nhật
Danh sách d c ph m
Kích Thêm
Hình 13: sơ đồ tuần tự chức năng thêm mới dược phẩm.
2.3.3.2 Chức năng sửa thông tin dược phẩm.
Luồng sự kiện chính :
Người dùng bấm nút Sửa thì form Sửa hiện ra, người dùng kích chọn
dược phẩm mà mình muốn sữa khi đó dữ liệu về dược phẩm chọn sẻ được
tải lên form sửa
Người dùng có thể sửa lại thông tin ở mục nào mình muốn rồi bấm nút
Update
Nếu nhập đầy đủ các mục thì hệ thống kiểm tra Mã dược phẩm đã tồn
tại chưa, nếu chưa thì thông tin sẽ được sửa và lưu lại
Luồng sự kiện phụ :
Nếu người dùng không chỉnh sửa thông tin gì mà bấm nút Update thì sẽ
thoát khỏi use case sửa thông tin này
Trang 30 Nếu người dùng xóa thông tin và để trống ở một mục bất kì và bấm nútUpdate thì hệ thống sẽ thông báo phải nhập đầy đủ thông tin.
Nếu người dùng chỉnh sửa và điền đầy đủ thông tin mà không bấm nútUpdate thì sẽ thoát khỏi use case này
Nếu người dùng chỉnh sửa thông tin và đầy đủ các mục rồi bấm Savethì hệ thống kiểm tra xem Mã dược phẩm đã tồn tại chưa, nếu đã tồn tại thì
sẽ thông báo Mã dược phẩm đã tồn tại Người dùng có thể bắt đầu lại hoặcthoát khỏi use case này
Sửa thông tin d c ph m Chọn d c ph m cần sửa
Nhập thông tin cần sửa
Kiểm tra Mã d c ph m trong cơ sở dữ liệu
Thông báo đã tồn tại
Lưu lại vào cơ sở dữ liệu
Thông báo lỗi
Nhập thiếu
Đã tồn tại Chưa tồn tại
Nhập đủ
Hình 14: sơ đồ hoạt động chức năng sửa thông tin dược phẩm.
Trang 31 Sơ đồ tuần tự :
Người sử dụng Màn hình chỉnh sửa
Mở form Nhập lại thông tin d c ph m Kích Lưu
Business object
Yêu cầu cập nhật
Cơ sở dữ liệu
Cập nhật cơ sở dữ liệu
Thông o thông tin d c ph m không h p l
Sửa thành công, thông tin d , c ph m được lưu lại vào csdl
Cập nhật
Danh sách d c ph m
Kích Sửa
Hình 15: sơ đồ tuần tự chức năng sửa thông tin dược phẩm.
2.3.3.3 Chức năng xóa dược phẩm.
Luồng sự kiện chính :
Xóa
Hệ thống hiện ra bảng thông báo hỏi có muốn xóa không, nếu đồng ý
thì dược phẩm sẽ được xóa
Luồng sự kiện phụ :
nhóm sẽ không được xóa
Nếu người dùng không chọn nhóm nào mà bấm nút Xóa thì hệ thống sẽ
thông bảo phải chọn một nhóm để xóa nếu đã có nhóm trong danh sách,
Trang 32hoặc thông báo không có nhóm để xóa nếu không có nhóm nào trong danhsách.
Trang 33Hình 16: sơ đồ hoạt động chức năng xóa dược phẩm.
Sơ đồ tuần tự :
Yêu cầu xóa
Xóa khỏi cơ sở dữ liệu
Trang 34Hình 17: : sơ đồ tuần tự chức năng xóa dược phẩm.
Sơ đồ hoạt dộng :
Trang 35Hi n k t
Hình 18: sơ đồ hoạt động chức năng tìm kiếm.
2.3.3.5 Chức năng báo cáo dược phẩm hết hạn.
Trang 36o o
H t n
Hi n k t
Hình 19: sơ đồ hoạt động chức năng báo cáo sản phẩm hết hạn.
2.3.4 Chức năng quản lý hóa đơn nhập dược phẩm.
Mô tả : Quản lý hóa đơn nhập các loại dược phẩm có trong kho, có cácchức năng : thêm mới, theo dõi hóa đơn
Actor : Người dùng
Use case này bắt đầu khi người dùng muốn thêm theo dõi một hóa đơnnhập kho dược phẩm