Hiện nay, công nghệ thông tin đang rất phổ biến, đặc biệt là các máy tính đều có ở khắp mọi nơi. Sự phát triển của công nghệ thông tin giúp làm tăng sự phát triển cho các ngành kinh tế. Giải quyết được các bài toán quản lý về dữ liệu, giúp cho người sử dụng thao tác nhanh hơn, tiết kiệm thời gian và chi phí. Website quản lý nhà thuôc là 1 loại hình kinh doanh 1 số lượng hàng hoá, khách hàng trong 1 khoảng thời gian là khá đông. Việc sử dụng giấy để ghi chép thông tin, tìm kiếm thông tin tạo nên sự khó khăn. Vì vậy, việc xây dựng 1 hệ thống Hỗ trợ cho người quản lý có thể quản lý nhân viên, cập nhật sản phẩm dễ dàng hơn, Công việc ghi lại hóa đơn và chọn sản phẩm theo yêu cầu khách hàng của nhân viên sẽ được hệ thống ghi nhận lại và từ đó có thể xem lại cũng như đưa ra những thống kê về doanh thu của nhà thuốc. Chính vì thế chúng em chọn đề tài: Xây dựng phần mềm quản lý nhà thuốc . Nhằm đáp ứng nhu cầu mua hàng của khách hàng và dễ dàng cho nhân viên trong việc thanh toán kiểm kê tồn kho .Hạn chế những khó khăn về việc phải viết bằng tay khó kiểm soát được hàng hóa và doanh thu của nhà thuốc .
Lịch sử phát triển UML
Các ngôn ngữ lập trình hướng đối tượng ra đời khá sớm, ví dụ như Simula-67 (năm 1967), Smalltalk (đầu những năm1980), C++, CLOS (giữa những năm 1980)…Tuy nhiên, mãi cho đến năm 1995, những nhóm phát triển phần mềm mới có những phương pháp luận và ngôn ngữ mô hình với
UML – Ngôn ngữ mô hình hoá hướng đối tượng
2.UML – Ngôn ngữ mô hình hoá hướng đối tượng
UML là ngôn ngữ mô hình hoá được xây dựng để đặc tả, phát triển và viết tài liệu cho các hệ phần mềm hướng đối tượng UML bao gồm một tập các khái niệm, các ký hiệu,các biểu đồ và hướng dẫn sử dụng.
Mục đích của ngôn ngữ UML là: (i) Mô hình hoá các hệ thống bằng cách sử dụng các khái niệm hướng đối tượng; (ii) Thiết lập sự liên hệ từ nhận thức của con người đến các sự kiện cần mô hình hoá; (iii) Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp với nhiều ràng buộc khác nhau; (iv) Tạo một ngôn ngữ mô hình hoá có thể sử dụng được bởi người và máy UML hỗ trợ phân rã hệ hướng đối tượng dựa trên cấu trúc tĩnh và hành vi động của hệ thống.
- Các cấu trúc tĩnh (static structure) xác định các kiểu đối tượng quan trọng của hệ thống và mối quan hệ giữa các đối tượng đó nhằm đến cài đặt sau này.
- Các hành vi động (dynamic behavior) xác định các hành động của các đối tượng theo thời gian và tương tác giữa các đối tượng.
Các khái niệm cơ bản trong UML khái niệm mô hình 5 4 Các phần tử mô hình và các quan hệ
Mô hình (model) là một biểu diễn của sự vật, đối tượng hay một tập các sự vật trong một lĩnh vực ứng dụng nào đó theo một quan điểm nhất định Mục đích của mô hình là nhằm nắm bắt các khía cạnh quan trọng của sự vật mà mình quan tâm và biểu diễn theo một tập ký hiệu hoặc quy tắc nào đó. Các mô hình thường được xây dựng sao cho có thể vẽ được thành các biểu đồ dựa trên tập ký hiệu và quy tắc đã cho
Khi xây dựng Hệ quản lý bán hàng thì ta chỉ cần quan tâm đến các thuộc tính như họ tên, địa chỉ, phone, email… của đối tượng khách hàng Trong khi xây dựng hệ Quản lý
Học tập theo tín chỉ ngoài các thông tin liên quan đến đối tượng sinh viên như họ tên, địa chỉ, email, phone…ta còn phải quan tâm đến các thuộc tính như điểm, lớp học, môn học, khoa mà sinh viên đăng ký.
4 Các phần tử mô hình và các quan hệ
Một số ký hiệu để mô hình hóa hướng đối tượng thường gặp trong UML được biểu diễn trong Hình 1 Đi kèm với các phần tử mô hình này là các quan hệ Các quan hệ này có thể xuất hiện trong bất cứ mô hình nào của UML dưới các dạng khác nhau như quan hệ giữa các ca sử dụng, quan hệ trong biểu đồ lớp…
Hình 2 Mốt số mô hình trong UML
Hình 3 Một số dạng quan hệ thường gặp
Các biểu đồ trong UML
Biểu đồ lớp (class diagram)
Trong phương pháp hướng đối tượng, một nhóm đối tượng có chung một số thuộc tính và phương thức tạo thành một lớp Mối tương tác giữa các đối tượng trong hệ thống sẽ được biểu diễn thông qua mối quan hệ giữa các lớp Các lớp (bao gồm cả các thuộc tính và phương thức) cùng với các mối quan hệ sẽ tạo thành biểu đồ lớp (class diagram) Biểu đồ lớp là một biểu đồ dạng mô hình tĩnh nhằm mô tả hướng cách nhìn tĩnh về một hệ thống bằng các khái niệm lớp, các thuộc tính, phương thức của lớp và mối quan hệ giữa chúng với nhau.
Tập ký hiệu UML cho biểu đồ lớp Biểu diễn biểu đồ lớp trong UML
- Kí hiệu lớp: trong UML, mỗi lớp được biểu diễn bởi hình chữ nhật gồm ba phần: tên lớp, các thuộc tính và các phương thức
- Thuộc tính: các thuộc tính trong biểu đồ lớp được biểu diễn theo cấu trúc chung như sau:.
Phạm vi tên: kiểu số đối tượng = mặc định (Giá trị Giới hạn )
Các quan hệ trong biểu đồ lớp - cách biểu diễn trong UML
Kế thừa là mối quan hệ giữa một lớp có các đặc trưng mang tính khái quát cao hơn và một lớp có các tính chất đặc biệt hơn Trong biểu đồ lớp, quan hệ kế thừa được biểu diễn bằng một mũi tên có tam giác rỗng gắn ở đầu.
Hình 6 Quan hệ kế thừa
Liên kết (Association): Một liên kết (association) là một sự kết nối giữa các lớp, cũng có nghĩa là sự kết nối giữa các đối tượng của các lớp này Trong UML, quan hệ này nhằm mô tả mối liên quan về mặt ngữ nghĩa (semantic) giữa hai nhóm đối tượng được biểu diễn bởi các lớp tương ứng Quan hệ liên kết được biểu diễn bởi đoạn thẳng hai chiều nối hai đối tượng và có thể kèm theo nghĩa của quan hệ tại hai đầu của đoạn thẳng Ví dụ (Hình 7), lớp khách hàng có quan hệ liên kết với lớp sản phẩm Ngữ nghĩa của quan hệ này thể hiện ở chỗ: khách hàng mua sản phẩm, còn sản phẩm được bán cho khách hàng.
Hình 7 Quan hệ liên kết hai chiều
Quan hệ liên kết cũng có thể có dạng một chiều Xem ví dụ (Hình 8)
Hình 8 Quan hệ liên kết một chiều
Kết hợp (Aggregation): là dạng quan hệ mô tả một lớp
A là một bộ phận của lớp B và lớp A có thể tồn tại độc lập.Quan hệ kết hợp được biểu diễn bằng một mũi tên gắn hình thoi rỗng ở đầu hướng về lớp bao hàm Xem ví dụ (Hình 9).Lớp Địa chỉ là một phần của lớp Khách hàng nhưng đối tượng Địa chỉ vẫn có thể tồn tại độc lập với đối tượng khách hàng.
Hình 9 Quan hệ kết hợp
Hợp thành (Composition): Quan hệ hợp thành biểu diễn một quan hệ kiểu tổng thể-bộ phận nhưng mạnh hơn quan hệ kết hợp Lớp A có quan hệ hợp thành với lớp B nếu lớp A là một phần của lớp B và sự tồn tại của đối tượng lớp B điều khiển sự tồn tại của đối tượng lớp A Quan hệ này được biểu diễn bởi một mũi tên gắn hình thoi đặc ở đầu Xem ví dụ (Hình 10).
Hình 10 Quan hệ hợp thành
Phần tử mô hình Ý nghĩa
Ký hiệu trong biểu đồ
Biểu diễn tên lớp, các thuộc tính và phương thức của lớp đó.
Một hình chữ nhật gồm 3 phần tách biệt.
Lớp này thừa hưởng các thuộc tính - phương thức của lớp kia
Quan hệ kiểu liên kết
Biểu diễn quan hệ giữa hai lớp độc lập, có liên quan đến nhau.
Một đường kẻ liền nét (có tên xác định) nối giữa hai lớ
Biểu diễn quan hệ kiểu bộ phận – tổng Đường kẻ liền nét có hình thoi ở đầu. thể.
Biểu diễn quan hệ kiểu bộ phận – tổng thể mạnh Đường kẻ liền nét có hình thoi đặc ở đầu.
Bảng 1 Tóm tắt các phần tử mô hình UML trong biểu đồ lớp
Biểu đồ thành phần (component diagram)
Biểu đồ thành phần được sử dụng để biểu diễn các thành phần phần mềm cấu thành nên hệ thống Một hệ phần mềm có thể được xây dựng từ đầu bằng cách sử dụng mô hình lớp như đã trình bày trong các phần trước của tài liệu, hoặc cũng có thể được tạo nên từ các thành phần sẵn có Mỗi thành phần có thể coi như một phần mềm nhỏ hơn, cung cấp một khối dạng hộp đen trong quá trình xây dựng phần mềm lớn Nói cách khác, các thành phần là các gói được xây dựng cho quá trình triển khai hệ thống Các thành phần có thể là các gói ở mức cao như JavaBean, các gói thư viện liên kết động dll, hoặc các phần mềm nhỏ được tạo ra từ các thành phần nhỏ hơn như các lớp và các thư viện chức năng
Tập ký hiệu UML cho biểu đồ thành phần được tổng kết trong bảng sau:
Phần tử mô hình Ý nghĩa Ký hiệu trong biểu đồ
Thành phần Mô tả một thành phần của biểu đồ, mỗi thành phần có thể chứa nhiều lớp hoặc nhiều chương trình con.
Giao tiếp Mô tả giao tiếp gắn với mỗi thành phần.
Mối quan hệ phụ thuộc giữa các thành phần
Mối quan hệ giữa các thành phần
Bảng 2 Các ký hiệu của biểu đồ thành phần
Biểu đồ triển khai (deployment diagram)
Biểu đồ triển khai biểu diễn kiến trúc cài đặt và triển khai hệ thống dưới dạng các đỉnh và các mối quan hệ giữa các đỉnh đó Thông thường, các đỉnh được kết nối với nhau thông qua các liên kết truyền thông như các giao thức kết nối mạng TCP/IP, IIOP…
Tập ký hiệu UML cho biểu đồ triển khai
Tập ký hiệu UML cho biểu đồ triển khai hệ thống được biểu diễn trong Bảng sau:
Phần tử mô hình Ý nghĩa Ký hiệu trong biểu đồ Các nodes (hay các thiết bị)
Biểu diễn các thành phần không có bộ vi xử lý trong biểu đồ triển khai hệ thống
Các bộ xử lý Biểu diễn các thành phần có bộ vi xử lý trong biểu đồ triển khai hệ thống Các liên kết truyền thông Nối các thành phần của biểu đồ triển khai hệ thống Thường mô tả một giao thức truyền thông cụ thể.
Bảng 3 Các ký hiệu của biểu đồ triển khai hệ thống
Biểu đồ hành vi (Behavior Diagram)
Nhóm biểu đồ này nhằm nắm bắt các hoạt động và hành vi của hệ thống, cũng như tương tác giữa các phần tử bên trong và bên ngoài hệ thống UML đề xuất bảy dạng biểu đồ trong mô hình hành vi bao gồm:
- Biểu đồ ca sử dụng (use case diagram)
- Biểu đồ hoạt động (activity diagram)
- Biểu đồ tuần tự (sequence diagram)
- Biểu đồ giao tiếp (communication diagram)
- Biểu đồ trạng thái (state machine diagram)
- Biểu đồ bao quát tương tác (interaction overview diagram)
- Biểu đồ thời khắc (timing diagram)
Phần này em sẽ lần lượt xem xét chi tiết một số biểu đồ UML thường gặp, mỗi biểu đồ sẽ được trình bày về ý nghĩa, tập kí hiệuUML cho biểu đồ đó
Biểu đồ ca sử dụng (use case diagram)
Biểu đồ ca sử dụng (use case diagram) biểu diễn các chức năng của hệ thống Nó bao gồm một tập hợp các tác nhân (actor), các ca sử dụng (use case) và các mối quan hệ (relationship) giữa các ca sử dụng Có thể nói, biểu đồ ca sử dụng chỉ ra sự tương tác giữa các tác nhân và hệ thống thông qua các ca sử dụng Tác nhân có thể là con người hay một hệ thống khác cung cấp thông tin hay tác động tới hệ thống Biểu đồ ca sử dụng có thể được phân rã theo nhiều mức khác nhau Từ tập yêu cầu xác định được của hệ thống, biểu đồ ca sử dụng sẽ chỉ ra hệ thống cần thực hiện điều gì để thoả mãn các yêu cầu của người dùng hệ thống đó Đi kèm với biểu đồ ca sử dụng là các kịch bản (scenario) nhằm mô tả chi tiết quá trình thực hiện ca sử dụng đó.
Tập ký hiệu UML cho biểu đồ ca sử dụng
Phần mô tả phần tử Ý nghĩa
Ký hiệu trong biểu đồ
Biểu diễn một chức năng xác định của hệ thống
Hình ellip chứa tên của ca sử dụng
Là một đối tượng bên ngoài hệ thống tương tác trực
Biểu diễn hình người tượng trưng tiếp với các use case Mối quan hệ giữa các ca sử dụng
Tùy từng dạng quan hệ
Extend và include có dạng các mũi tên kèm theo tên.
Generaliz ation có dạng mũi tên tam giác.
Tách biệt phần bên trong và bên ngoài hệ thống Được biểu diễn bới một hình chữ nhật rỗng.
Bảng 4 Tóm tắt thành phần trong biểu ca sử dụng
Một biểu đồ quan hệ ca sử dụng trong hệ thống quản lý mua-bán sách trực tuyến (Hình 6) Khách hàng có thể sử dụng hệ thống để lựa chọn sách và đăng ký mua. Để được mua sách, khách hàng phải là thành viên hệ thống và phải đăng nhập trước Khi đó, các ca sử dụng đăng nhập và mua sách có quan hệ extend.
Hình 12 Biểu đồ ca sử dụng
Biểu đồ trạng thái (state machine diagram)
Biểu đồ trạng thái được sử dụng để biểu diễn các trạng thái và sự chuyển tiếp giữa các trạng thái của các đối tượng trong một lớp xác định Thông thường, mỗi lớp sẽ có một biểu đồ trạng thái (trừ lớp trừu tượng là lớp không có đối tượng) được biểu diễn dưới dạng máy trạng thái hữu hạn với các trạng thái và sự chuyển tiếp giữa các trạng thái đó.
Tập ký hiệu UML cho biểu đồ trạng thái
Các thành phần trong một biểu đồ trạng thái bao gồm:
- Trạng thái (state): Bên trong các trạng thái có thể miêu tả các biến trạng thái hoặc các hành động (action) tương ứng với trạng thái đó
- Trạng thái con (substate): là một trạng thái chứa bên trong một trạng thái khác Trạng thái có nhiều trạng thái con gọi là trạng thái tổ hợp Ví dụ có trạng thái con thể hiện trong (Hình 12).
Hình 13 Biểu đồ trạng thái có trạng thái con
- Trạng thái khởi đầu (initial state): trạng thái đầu tiên khi kích hoạt đối tượng.
- Trạng thái kết thúc (final state): kết thúc vòng đời đối tượng.
- Các chuyển tiếp (transition): biểu diễn các chuyển đổi giữa các trạng thái.
- Sự kiện (event): sự kiện tác động gây ra sự chuyển đổi trạng thái Mỗi sự kiện
- được đi kèm với các điều kiện (guard) và các hành động(action).
Trong một biểu đồ trạng thái của UML có thể có một số loại sự kiện sau đây:
- Sự kiện gọi (call event): Yêu cầu thực hiện một hành động (một phương thức)
- Sự kiện tín hiệu (signal event): Gửi thông điệp (chứa các giá trị thuộc tính tham
- số liên quan) giữa các trạng thái.
- Sự kiện thời gian (time event): Biểu diễn quá trình chuyển tiếp theo thời gian, thường kèm theo từ mô tả thời gian cụ thể.
Phần tử mô hình Ý nghĩa Biểu diễn
Ký hiệu trong biểu đồ
Biểu diễn một trạng thái của đối tượng trong vòng đời của đối tượng đó.
Hình chữ nhật tròn ở góc, gồm 3 phần: tên, các biến, và các hoạt động.
Khởi đầu vòng đời của đối tượng.
Kết thúc vòng đời của đối tượng.
Hai hình tròn lồng nhau Chuyển tiếp
Chuyển từ trạng thái này sang trạng thái khác
Mũi tên liền nét với tên gọi là biểu diễn của chuyển tiếp đó
Bảng 5 Tóm tắt các thành phần trong biểu đồ trạng thái
Ví dụ : Để minh họa cho biểu đồ trạng thái, ta xét hệ thống mua hàng đơn giản Một khách hàng gửi yêu cầu cần tìm mua một số hàng đến hệ thống Đối tượng hàng hóa được tạo ra và chuyển sang trạng thái xử lý yêu cầu Tùy thuộc vào yêu cầu, đối tượng này sẽ chuyển sang trạng thái xem hàng hóa Với mỗi hàng hóa được lựa chọn, đối tượng sẽ chuyển sang trạng thái thêm vào giỏ hàng cho đến khi kết thúc quá trình lựa chọn.
Hình 14 Biểu đồ trạng thái
Biểu đồ tuần tự (sequence diagram)
Có hai loại biểu đồ tương tác: Biểu đồ tuần tự và biểu đồ cộng tác Các biểu đồ tuần tự biểu diễn mối liên hệ giữa các đối tượng trong hệ thống và giữa các đối tượng với các tác nhân bên ngoài theo thời gian. Biểu đồ tuần tự nhấn mạnh thứ tự thực hiện của các tương tác
Tập ký hiệu UML cho biểu đồ tuần tự
Các thành phần cơ bản của một biểu đồ tuần tự là:
- Các đối tượng (object): được biểu diễn bởi các hình chữ nhật, bên trong là tên của đối tượng Cách viết chung của đối tượng là: tên đối tượng: tên lớp Nếu chỉ viết: tên lớp thì có nghĩa là bất cứ đối tượng nào của lớp tương ứng đó Trong biểu đồ tuần tự, không phải tất cả các đối tượng đều cùng lúc xuất hiện trên một biểu đồ mà chúng chỉ xuất hiện (về mặt thời gian) khi thực sự tham gia vào tương tác
- Các thông điệp: được biểu diễn bằng các mũi tên hướng từ đối tượng gửi sang đối tượng nhận Tên các thông điệp có thể biểu diễn dưới dạng phi hình thức (như các thông tin trong kịch bản) hoặc dưới dạng hình thức (với dạng giống như các phương thức) Rõ ràng rằng biểu diễn dưới dạng hình thức sẽ rất hữu ích cho việc xác định các phương thức cho lớp Biểu đồ tuần tự cho phép có các thông điệp từ một đối tượng tới chính bản thân nó.
- Trong biểu đồ tuần tự có thể có nhiều loại thông điệp khác nhau tuỳ theo mục đích sử dụng và tác động của thông điệp đến đối tượng Các dạng thông điệp được tổng kết trong (Bảng 2 )dưới đây:
Mô tả một lời gọi từ đối tượng này đến đối tượng kia.
Trả về giá trị ứng với lời gọi
Gửi một tín hiệu tới một đối tượng
Bảng 6 Các dạng thông điệp trong biểu đồ tuần tự
- Đường vòng đời: là một đường kẻ nối dài phía dưới đối tượng, mô tả quá trình tồn tại của đối tượng trong quá trình tương tác của biểu đồ
- Chú thích: biểu đồ tuần tự cũng có thể có chú thích để người đọc dễ dàng hiểu được nội dung của biểu đồ đó.
Ví dụ: Dưới đây là một ví dụ biểu đồ tuần tự cho chức năng Đăng nhập trong một hệ thống quản lý bán hàng Các đối tượng tham gia trong tương tác là tác nhân khách hàng, giao diện đăng nhập, điều khiển quản lý báo mật và thực thể người dùng.
Hình 15 Biểu đồ tuần tự
Biểu đồ giao tiếp (communication diagram)
Biểu đồ giao tiếp là biểu đồ tương tác biểu diễn mối quan hệ giữa các đối tượng, giữa các đối tượng và tác nhân Biểu đồ giao tiếp cũng có các thông điệp với nội dung tương tự như trong biểu đồ tuần tự Tuy nhiên, các đối tượng được đặt một cách tự do trong không gian của biểu đồ và không có đường vòng đời cho các đối tượng; các thông điệp được đánh số thể hiện thứ tự thời gian.
Tập ký hiệu UML cho biểu đồ giao tiếp
Các thành phần cơ bản của một biểu đồ giao tiếp là:
- Các đối tượng: được biểu diễn bởi các hình chữ nhật, bên trong là tên của đối tượng Cách viết chung của đối tượng là: tên đối tượng: tên lớp Trong biểu đồ giao tiếp, các đối tượng tham gia tương tác luôn xuất hiện tại một vị trí xác định
- Các liên kết: giữa hai đối tượng có tương tác sẽ có một liên kết nối 2 đối tượng đó Liên kết này không có chiều
- Các thông điệp: được biểu diễn bằng các mũi tên hướng từ đối tượng gửi sang đối tượng nhận bên cạnh liên kết giữa 2 đối tượng đó Trong biểu đồ giao tiếp, các thông điệp được đánh số theo thứ tự xuất hiện trong kịch bản mô tả ca sử dụng tương ứng
Ví dụ :Dưới đây là một biểu đồ giao tiếp mô tả chức năng đăng nhập trong hệ thống đơn giản Chi tiết chức năng này hoàn toàn tương tự như đã mô tả trong biểu đồ tuần tự (Hình 16)
Hình 16 Biểu đồ giao tiếp
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
TỔNG QUAN HỆ THỐNG
Hệ thống quản lý nhà thuốc là một phần mềm hoặc ứng dụng được thiết kế để hỗ trợ quản lý và vận hành các hoạt động trong một nhà thuốc Hệ thống này giúp quản lý các khía cạnh quan trọng như quản lý kho hàng, quản lý bán hàng, quản lý khách hàng, và các tác vụ khác liên quan đến hoạt động kinh doanh của nhà thuốc.
Dưới đây là một số tính năng và chức năng thông thường mà hệ thống quản lý nhà thuốc có thể cung cấp:
- Quản lý thành viên (người dùng):Người quản trị có thể tìm kiếm, xem và cập nhật (thêm, sửa, xóa) các thành viên Tại giao diện quản lý thành viên, người quản trị có thể cập nhật thông tin người dùng mình mong muốn.
Cơ sở dữ liệu của hệ thống sẽ kiểm tra nếu hợp lệ sẽ lưu thông tin và thông báo thành công Ngược lại báo cáo lỗi và người quản trị có thể nhập lại
- Quản lý khuyến mãi: Người quản trị có thể tìm kiếm, xem và cập nhật (thêm, sửa, xóa) khuyến mãi Tại giao diện quản lý khuyến mãi, người quản trị có thể cập nhật thông tin khuyến mãi Cơ sở dữ liệu của hệ thống sẽ kiểm tra nếu hợp lệ sẽ lưu thông tin và thông báo thành công Ngược lại báo cáo lỗi và người quản trị có thể nhập lại
- Quản lý kho hàng: Hệ thống cho phép ghi nhận thông tin về các sản phẩm, thuốc, và hàng hóa trong kho Nó theo dõi số lượng tồn kho, lô hàng, hạn sử dụng, và thông tin khác liên quan Hệ thống cung cấp các công cụ để tạo, chỉnh sửa, và xóa các mục hàng trong kho.
- Quản lý bán hàng: Hệ thống giúp ghi nhận các giao dịch bán hàng, bao gồm việc tạo đơn hàng, xử lý thanh toán, và cung cấp hóa đơn cho khách hàng Nó theo dõi lịch sử bán hàng, giúp quản lý thông tin về đơn hàng, khách hàng, và các sản phẩm đã được bán.
- Quản lý đơn đặt hàng: Hệ thống cho phép tạo và quản lý các đơn đặt hàng từ các nhà cung cấp Nó giúp theo dõi trạng thái đơn đặt hàng, thông báo việc nhập hàng mới, và cập nhật tồn kho khi hàng được nhận.
- Báo cáo và thống kê: Hệ thống cung cấp các công cụ để tạo báo cáo và thống kê về doanh thu, lợi nhuận, tồn kho, và các chỉ số kinh doanh khác Điều này giúp quản lý nhà thuốc đánh giá hiệu suất kinh doanh và đưa ra quyết định chiến lược.
- Đăng nhập: Để thực hiện các thao tác trên người dùng bắt buộc phải đăng nhập tài khoản (tức là tài khoản đã được đăng ký) Sau khi nhập đầy đủ thông tin: số điện thoại đăng kí, mật khẩu tại giao diện đăng nhập cơ sở dữ liệu của hệ thống sẽ kiểm tra tài khoản có hợp lệ không Nếu hợp lệ di chuyển đển trang chủ của người dùng hệ thống, ngược lại thông báo không hợp lệ và người dùng có thể nhập lại thông tin
- Đăng kí tài khoản: Khách (người chưa đăng ký tài khoản
) sẽ đăng ký tài khoản Mỗi số điện thoại chỉ được đăng ký duy nhất cho một tài khoản, vì vậy sau khi khách nhập đầy đủ thông tin (tên, số điện thoại, ngày sinh, mật khẩu, mail,…) tại giao diện đăng kí và gửi yêu cầu, hệ thống sẽ kiểm tra định dạng thông tin có hợp lệ hay không (tức là thông tin có nhập đúng với định dạng yêu cầu không) Nếu không hợp lệ thông báo, nếu hợp lệ cơ sở dữ liệu của hệ thống sẽ kiểm tra tra xem tài khoản đã tồn tại hay chưa Nếu tồn tại thông báo tài khoản đã được đăng ký Ngược lại hệ thống sẽ gửi một mã OTP về về số điện thoại người dùng Sau khi người dùng nhập mã OTP trên giao diện đăng kí, hệ thống sẽ kiểm tra, đúng thì lưu tài khoản ở cơ sở dữ liệu của hệ thông sai thì thông báo
- Đăng xuất: Để có thể thực hiện thao tác này yêu cầu bạn phải đăng đăng nhập hệ thống Sau khi bấm đăng xuất hệ thống sẽ chuyển về giao diện đăng nhập
- Quản lý tài khoản cá nhân: Mỗi người dùng sẽ có quyền cập nhật quản lý tài khoản cá nhân của mình như: thêm sửa, xóa thông tin,… tại giao diện quản lý tài khoản cá nhân và gửi yêu cầu cập nhật lại thông tin Hệ thống sẽ kiểm tra định dạng thay đổi có đúng với yêu cầu hay không Nếu đúng thì cơ sở dữ liệu của hệ thống sẽ kiểm tra và lưu thông tin nếu hợp lệ và thông báo thành công, ngược lại gửi thông báo thất bại
Hệ thống quản lý nhà thuốc giúp tăng hiệu suất và độ chính xác trong quản lý hoạt động kinh doanh, giúp nhà thuốc tiết kiệm thời gian, công sức, và giảm thiểu sai sót trong quá trình quản lý Nó đóng vai trò quan trọng trong việc đảm bảo sự liên tục và hiệu quả của hoạt động nhà thuốc.
PHÂN TÍCH HỆ THỐNG
Các tác nhân tham gia hệ thống
- Khách: là người chưa có tài khoản trên hệ thống nhà thuốc Khách có thể truy cập vào hệ thống để xem thông tin: thuốc ,khuyến mãi,….Tìm kiếm, và đăng nhập để trở thành người dùng
- Người dùng: là người đã có tài khoản trên hệ thống nhà thuốc Người dùng sẽ kế thừa các chức năng của “khách” và có thể thực hiện các thao tác như: đăng xuất, chọn thuốc , dịch vụ và thanh toán trực tuyến, quản lý tài khoản cá nhân, quản lý kho, quản lý đơn đặt hàng, quản lý bán hàng, báo cáo thống kê
- Người quản trị: là người quản lý hệ thống có các chức năng như: quản lý danh thu, quản lý thành viên, quản lý khuyến mãi,
Hình 18 Biểu đồ user case tổng quát
Hình 19 Biểu đồ user case phân rã
1.1 Phân tích user case Đăng kí
Các tác nhân: khách Điều kiện trước: Số điện thoại chưa được đăng kí, khách phải điền đầy đủ thông tin Điều kiện sau: thông tin phải được hệ thống xác nhận
Mô tả: Khi khách (người chưa có tài khoản) muốn trở thành người dùng, thì bắt buộc phải đăng ký tài khoản. Mỗi số điện thoại tương ứng với một người dùng vì vậy yêu cầu sô điện thoại đăng kí phải chưa được sử dụng. Khách nhập đầy đủ thông tin sau đó bấm yêu cầu tạo tài khoản Hệ thống sẽ kiểm tra và xác nhận tài khoản nếu thông tin đúng.
Hành động của tác nhân Hành động của hệ thống
1 Người dùng nhập thông tin và gửi yêu cầu đăng ký đến hệ thống
4 Người dùng nhận thông báo.
2 Hệ thống sẽ nhận và kiểm tra thông tin
3 Hợp lệ: cập nhật tài khoản và gửi thông báo thành công.
Hành động của tác nhân
Hành động của hệ thống
4 Người dùng nhận thông báo, hủy thao tác hoặc nhập lại thông tin.
3 Không hợp lệ: thông báo không hợp lệ và yêu cầu nhập lại.
1.2 Phân tích user case Quản lý thuốc
User case : Quản lý thuốc
Các tác nhân : Người quản trị Điều kiện trước: Người quản trị phải có tài khoản và tài khoản phải hợp lệ Điều kiện sau: Người quản trị cập nhật thông tin thuốc thành công
Mô tả : Người quản trị có thể tìm kiếm, xem và cập nhật (thêm, sửa, xóa) phim Tại giao diện quản lý thông tin thuốc , người quản trị có thể xem và yêu cầu cập nhật thông tin thuốc Cơ sở dữ liệu của hệ thống sẽ kiểm tra nếu hợp lệ sẽ lưu thông tin và thông báo thành công Ngược lại báo cáo lỗi và người quản trị có thể nhập lại
Hành động của tác nhân Hành động của hệ thống
1 Người quản trị đăng đăng nhập
2 Người quản trị đăng vào trang quản lý
3 Người quản trị đăng xem thông tin 4 Người quản trị đăng cập nhật thông tin thuốc
6 Hợp lệ: lưu thông tin cập nhật
Hành động của tác nhân
Hành động của hệ thống
5 Không hợp lệ: gửi thông báo và kết thúc.
1.3 Phân tích user case Quản lý doanh thu
User case : Quản lý doanh thu
Các tác nhân: Người quản trị Điều kiện trước: Người quản trị phải có tài khoản và tài khoản phải hợp lệ Điều kiện sau: Người quản trị quản lý doanh thu thành công
Mô tả : Người quản lý có thể xem và yêu cầu thống kê doanh thu theo mốc thời gian mong muốn (thống ke theo tháng, theo quý, theo năm) tại giao diện quản lý doanh thu Cơ sở dữ liệu của hệ thống sẽ phân tích thống kê và gửi thông tin doanh thu.
Hành động của tác nhân Hành động của hệ thống
1 Người quản trị đăng đăng nhập
2 Người quản trị đăng vào trang quản lý
3 Người quản trị đăng yêu cầu thống kê doanh thu
Hành động tác nhân Hành động của hệ thống
1.4 Phân tích user case Quản lý tài khoản cá nhân
User case : Quản lý tài khoản cá nhân
Các tác nhân: Người dùng Điều kiện trước: Người dùng phải có tài khoản và tài khoản phải hợp lệ Điều kiện sau: Người dùng quản lí tài khoản thành công
Mô tả : Mỗi người dùng sẽ có quyền cập nhật quản lý tài khoản cá nhân của mình như: thêm sửa, xóa thông tin,… tại giao diện quản lý tài khoản cá nhân và gửi yêu cầu cập nhật lại thông tin Hệ thống nhà thuốc sẽ kiểm tra định dạng thay đổi có đúng với yêu cầu hay không. Nếu đúng thì cơ sở dữ liệu của hệ thống sẽ kiểm tra và lưu thông tin nếu hợp lệ và thông báo thành công, ngược lại gửi thông báo thất bại
Hành động tác nhân Hành động hệ thống
2 Người dùng vào trang quản lý
3 Người dùng xem thông tin
4 Người dùng cập nhật thông tin
6 Hợp lệ: lưu thông tin cập nhật
Hành động tác nhân Hành động hệ thống
6 Không hợp lệ: gửi thông báo và kết
1.5 Phân tích user case Quản lý đơn hàng
Ca sử dụng: Quản lý đơn hàng
Các tác nhân: Người quản trị Điều kiện trước: Người quản trị phải có tài khoản và tài khoản phải hợp lệ Điều kiện sau: Người quản trị quản lý đơn hàng thành công
Mô tả : Người quản trị có thể tìm kiếm, xem và cập nhật (thêm, sửa, xóa) đơn hàng Tại giao diện quản lý đơn hàng , người quản trị có thể xem và yêu cầu cập nhật thông tin đơn hàng Cơ sở dữ liệu của hệ thống sẽ kiểm tra nếu hợp lệ sẽ lưu thông tin và thông báo thành công Ngược lại báo cáo lỗi và người quản trị có thể nhập lại
Hành động tác nhân Hành động hệ thống
1 Người quản trị đăng nhập
2 Người quản trị vào trang quản lý
3 Người quản trị xem thông tin 5 Kiểm tra cập nhật
4 Người quản trị cập nhật đơn hàng
6 Kợp lệ: lưu thông tin cập nhật
Hành động tác nhân Hành động hệ thống
6 Không hợp lệ: gửi thông báo và kết thúc.
- Mô tả: Khách (người chưa đăng ký tài khoản ) sẽ đăng ký tài khoản Mỗi số điện thoại chỉ được đăng ký duy nhất cho một tài khoản, vì vậy sau khi khách nhập đầy đủ thông tin (tên, số điện thoại, ngày sinh, mật khẩu, mail,…) tại giao diện đăng kí và gửi yêu cầu, hệ thống sẽ kiểm tra định dạng thông tin có hợp lệ hay không (tức là thông tin có nhập đúng với định dạng yêu cầu không) Nếu không hợp lệ thông báo, nếu hợp lệ cơ sở dữ liệu của hệ thống sẽ kiểm tra tra xem tài khoản đã tồn tại hay chưa Nếu tồn tại thông báo tài khoản đã được đăng ký Ngược lại hệ thống sẽ gửi một mã OTP về về số điện thoại người dùng Sau khi người dùng nhập mã OTP trên giao diện đăng kí, hệ thống nhà thuốc sẽ kiểm tra, đúng thì lưu tài khoản ở cơ sở dữ liệu của hệ thông sai thì thông báo.
Hình 20 Biểu đồ hoạt động - Đăng kí
- Tác nhân: Người quản trị
- Mô tả: Người quản trị có thể tìm kiếm, xem và cập nhật
(thêm, sửa, xóa) phim Tại giao diện quản lý phim, người quản trị có thể xem và yêu cầu cập nhật thông tin phim
Cơ sở dữ liệu của hệ thống sẽ kiểm tra nếu hợp lệ sẽ lưu thông tin và thông báo thành công Ngược lại báo cáo lỗi và người quản trị có thể nhập lại.
Hình 21 Biểu đồ hoạt động - Quán lý thuốc
2.3 Quản lý thành viên (Người dùng )
- Tác nhân: Người quản trị
- Mô tả: Người quản trị có thể tìm kiếm, xem và cập nhật
(thêm, sửa, xóa) các thành viên Tại giao diện quản lý thành viên, người quản trị có thể cập nhật thông tin người dùng mình mong muốn Cơ sở dữ liệu của hệ thống sẽ kiểm tra nếu hợp lệ sẽ lưu thông tin và thông báo thành công Ngược lại báo cáo lỗi và người quản trị có thể nhập lại.
Hình 22 Biểu đồ hoạt động -Quản lý thành viên
- Tác nhân: Người quản trị