“Xây dựng phần mềm quản lý nhà thuốc tân dược” với các chức năng nhập, lưu trữ, xử lý thông tin về quá trình xuất nhập thuốc nhằm nâng cao hiệu quả hoạt động của nhà thuốc.. Do vậy em c
Trang 1ĐỖ THỊ THU HIỀN
XÂY DỰNG PHẦN MỀM QUẢN LÝ NHÀ THUỐC TÂN DƯỢC
Chuyên ngành: Công nghệ thông tin
Trang 2ĐỖ THỊ THU HIỀN
XÂY DỰNG PHẦN MỀM QUẢN LÝ NHÀ THUỐC TÂN DƯỢC
Chuyên ngành: Công nghệ thông tin
Giảng viên hướng dẫn:
TS Nguyễn Đức Tuấn
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Hà Nôi - Năm 2017
Trang 3Hà Nội, ngày … tháng … năm 2017
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ và tên: Đỗ Thị Thu Hiền Giới tính: Nữ
Chuyên ngành: Công nghệ thông tin Mã số: 13A10010134
Lớp hành chính: 1310A03
1 TÊN ĐỀ TÀI
Xây dựng phần mềm quản lý nhà thuốc tân dược
2 NHIỆM VỤ VÀ NỘI DUNG
Xây dựng phần mềm quản lý nhà thuốc tân dược
4 NGÀY HOÀN THÀNH NHIỆM VỤ : 05/05/2017
5 PHÂN CÔNG CÔNG VIỆC
Đề tài “Xây dựng phần mềm quản lý nhà thuốc tân dược” do cá nhân
Trang 4các quốc gia, đặc biệt là các quốc gia đang phát triển, tiến hành công nghiệp hóa và hiện đại hóa như nước ta 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ố, yêu cầu muốn phát triển thì phải tin học hóa 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 ngày 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 mô phỏng được rất nhiều nghiệp vụ khó khăn, 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
“Xây dựng phần mềm quản lý nhà thuốc tân dược” với các chức
năng nhập, lưu trữ, xử lý thông tin về quá trình xuất nhập thuốc nhằm nâng cao hiệu quả hoạt động của nhà thuốc Là một đề tài mang tính thực tiễn cao, phù hợp với nền kinh tế thị trường, luôn luôn nắm bắt kịp thời nhưng thông tin mới về các loại thuốc mới cũng như các loại thuốc bán chạy và các loại thuốc không bán được để phục vụ tốt cho người tiêu dùng
Do vậy em chọn đề tài này phần nào đưa ra những nhận xét đanh giá tổng thể từ đó phát triển hệ thống mới có nhiều chức năng áp dụng cho công việc quản lý nhà thuốc dựa trên sự hỗ trợ của máy tính Phần mềm quản lý sẽ được xây dựng tên ngôn ngữ lập trình C# - là ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, một ngôn ngữ lập trình mạnh được sử dụng rộng rãi đem lại hiệu quả cao
Trang 5của em Để có thể thực hiện và hoàn thành đồ án này, em đã nhận được sự hướng dẫn và giúp đỡ rất nhiệt tình của các thầy cô và các bạn trong Khoa Công Nghệ Thông Tin – Viện Đại học Mở Hà Nội Em xin gửi lời cảm ơn chân thành và sâu sắc tới các thầy, các cô trong Khoa, những người đã tận tình giảng dạy và truyền đạt những kiến thức cần thiết, những kinh nghiệm quý báo cho em trong suốt bốn năm học tại Viện Đại học Mở Hà Nội để em
có thể tự tin khi thực hiện đồ án này
Đặc biệt, em xin cảm ơn thầy Nguyễn Đức Tuấn, người đã tận tình, chỉ bảo động viên và hỗ trợ em trong suốt quá trình thực hiện đề tài này Trong thời gian làm đồ án cùng thầy, em không những học hỏi được những kiến thức mà còn học được khả năng làm việc nghiêm túc, độc lập và có trách nhiệm với công việc của mình
Mặc dù, em đã cố gắng hoàn thiện đồ án trong phạm vi và khả năng cho phép của mình, những chắc chắn không tránh khỏi những thiếu sót Em xin kính mong nhận được sự thông cảm và góp ý của các thầy, các cô và các bạn
Cuối cùng em xin kính chúc các thầy cô mạnh khỏe, luôn luôn là những người lái đò ân cần dìu dắt các thế hệ tiếp theo của FITHOU trưởng thành
Em xin chân thành cảm ơn !
Hà Nội, ngày … tháng … năm 2017
Sinh viên thực hiện
Đỗ Thị Thu Hiền
Trang 6LỜI NÓI ĐẦU 4
LỜI CẢM ƠN 5
TÓM TẮT ĐỒ ÁN 9
DANH MỤC CHỮ VIẾT TẮT 10
DANH MỤC CÁC BẢNG 11
DANH MỤC CÁC HÌNH VẼ 12
CHƯƠNG 1 1
TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Giới thiệu đề tài 1
1.2 Mục tiêu và phạm vi đề tài 2
1.2.1 Mục tiêu đề tài 2
1.2.2 Phạm vi đề tài 4
1.3 Mô tả khái quát 4
1.3.1 Yêu cầu bài toán 4
1.3.2 Đối tượng sử dụng hướng tới 5
1.3.3 Ngôn ngữ lập trình sử dụng 5
1.3.4 Chức năng cơ bản 5
CHƯƠNG 2 7
CÔNG NGHỆ SỬ DỤNG 7
2.1 Tổng quan về SQL Server 7
2.1.1 Giới thiệu 7
Trang 72.2 Ngôn ngữ lập trình C# 9
2.2.1 Giới thiệu 9
2.2.2 Đặc điểm 9
2.2.3 Các loại ứng dụng trong C# 10
2.3 Lý do lựa chọn công nghệ 12
2.3.1 SQL Server 12
2.3.2 Ngôn ngữ lập trình C# 13
CHƯƠNG 3 14
KHẢO SÁT PHÂN TÍCH HỆ THỐNG 14
3.1 Hiện trạng thực tế 14
3.2 Phát biểu bài toán 15
3.3 Phân tích thiết kế hệ thống 16
3.3.1 Sơ đồ phân rã chức năng 16
3.3.2 Sơ đồ luồng dữ liệu 17
3.3.3 Đặc tả chức năng chi tiết 23
3.3.4 Xác định người dùng và các chức năng của mỗi người dùng 31
CHƯƠNG 4 32
THIẾT KẾ HỆ THỐNG THÔNG TIN 32
4.1 Thiết kế tổng thể 32
4.1.1 Phân công giữa người và máy 32
4.1.2 Phân định quyền của nhân viên 36
Trang 84.2.2 Mô hình E-R 41
4.2.3 Thiết kế cơ sở dữ liệu vật lý 42
4.2.4 Mô hình quan hệ ( vẽ bằng diagram) 49
CHƯƠNG 5 50
TRIỂN KHAI VÀ KẾT QUẢ 50
5.1 Hướng dẫn sử dụng phần mềm 50
5.1.1 Cập nhập nhập thuốc 52
5.1.2 Cập nhập xuất thuốc 53
5.1.3 Quản lý thông tin 55
5.1.4 Cập nhập thuốc 57
5.1.5 Thống kê báo cáo 58
5.1.6 Tìm kiếm 60
5.2 Thiết kế đầu ra 62
KẾT LUẬN 64
TÀI LIỆU THAM KHẢO 66
Trang 9Chuyên ngành: Công nghệ thông tin Khóa: 2013-2017
Giáo viên hướng dẫn: TS Nguyễn Đức Tuấn
Tên đề tài: Xây dựng phần mềm quản lý nhà thuốc tân dược
Tóm tắt: Phần mềm xây dựng giúp chủ nhà thuốc hay nhân viên quản
lý hoạt động trong nhà thuốc một cách dễ dàng hiệu quả và thuận tiện Phần mềm cũng cho phép tổng hợp báo cáo cuối kỳ chính xác, nhanh chóng Công nghệ sử dụng trong đề tài là ngôn ngữ lập trình C# và SQL Server
Đồ án được chia thành các chương với nội dung như sau:
Chương 1: Tổng quan về đề tài: Chương này giới thiệu về đề tài, mục đích, phạm vi nghiên cứu,…
Chương 2: Công nghệ sử dụng: Chương này tổng quan về C# và SQL
Server và lý do lựa chọn để xây dựng phần mềm
Chương 3: Khảo sát và phân tích thiết kế hệ thống: Chương này đưa ra
về hiện trạng thực tế, phát biểu bài toán và phân thích thiết kế hệ thống
Chương 4: Thiết kế hệ thống thông tin: Chương này đưa ra thiết kế tổng
thể và thiết kế cơ sở dữ liệu của hệ thống
Chương 5: Triển khai và kết quả: Chương này trình bày chi tiết về
những gì đồ án đạt được
Kết luận: Chương này đưa ra ưu điểm và những hạn chế của đồ án.
Trang 10tiếng nước ngoài)
1 GPP Good Pharmacy Practice Thực hành tốt nhà thuốc
Manufacturers Association
Hiệp hội các nhà sản xuất máy tính châu Âu
6 GUI Graphical User Interface Giao diện đồ họa người
dùng
Trang 11Bảng 4.2 Bảng cơ sở dữ liệu vật lý THUOC 42
Bảng 4.3 Bảng cơ sở dữ liệu vật lý NHOMTHUOC 43
Bảng 4.4 Bảng cơ sở dữ liệu vật lý QUYEN 43
Bảng 4.5 Bảng cơ sở dữ liệu vật lý PHANQUYEN 44
Bảng 4.6 Bảng cơ sở dữ liệu vật lý NHACC 44
Bảng 4.7 Bảng cơ sở dữ liệu vật lý HĐ_NHAP 45
Bảng 4.8 Bảng cơ sở dữ liệu vật lý HĐ_BAN 45
Bảng 4.9 Bảng cơ sở dữ liệu vật lý CT_HĐ_BAN 46
Bảng 4.10 Bảng cơ sở dữ liệu vật lý BOPHAN 46
Bảng 4.11 Bảng cơ sở dữ liệu vật lý CT_HĐ_NHAP 47
Bảng 4.12 Bảng cơ sở dữ liệu vật lý DONVITINH 47
Bảng 4.13 Bảng cơ sở dữ liệu vật lý NHANVIEN 48
Trang 12Hình 3.2 Sơ đồ luồng dữ liệu ngữ cảnh 17
Hình 3.3 Sơ đồ luồng dữ liệu mức đỉnh 18
Hình 3.4 Sơ đồ luồng dữ liệu mức dưới đỉnh quản lý thông tin 19
Hình 3.5 Sơ đồ luồng dữ liệu mức dưới đỉnh quản lý thuốc 20
Hình 3.6 Sơ đồ luồng dữ liệu mức dưới đỉnh quản lý nhập, xuất 21
Hình 3.7 Sơ đồ luồng dữ liệu mức dưới đỉnh thống kê báo cáo 22
Hình 3.8 Sơ đồ luồng dữ liệu mức dưới đỉnh Tìm kiếm 23
Hình 4.1 Thiết kế tổng thể- Bán thuốc 32
Hình 4.2 Thiết kế tổng thể- Nhập thuốc 33
Hình 4.3 Thiết kế tổng thể- cập nhật thông tin nhân viên 33
Hình 4.4 Thiết kế tổng thể- Phân quyền nhân viên 34
Hình 4.5 Thiết kế tổng thể- Quyền 34
Hình 4.6 Thiết kế tổng thể- nhà cung cấp 35
Hình 4.7 Mô hình ER 41
Hình 4.8 Mô hình quan hệ 49
Hình 5.1 Giao diện Đăng nhập 50
Hình 5.2 Giao diện màn hình chính 51
Hình 5.3 Giao diện hóa đơn nhập thuốc 52
Hình 5.4 Giao diện chi tiết hóa đơn nhập thuốc 53
Hình 5.5 Giao diện hóa đơn bán 54
Hình 5.6 Giao diện chi tiết hóa đơn bán 54
Hình 5.7 Giao diện quản lý nhân viên 55
Hình 5.8 Giao diện quản lý nhà cung cấp 56
Hình 5.9 Giao diện quản lý thuốc 57
Hình 5.10 Giao diện quản lý nhóm thuốc 58
Trang 13Hình 5.13 Giao diện thống kê xuất thuốc 59
Hình 5.14 Giao diện thống kê bán thuốc 60
Hình 5.15 Giao diện tìm kiếm thuốc 60
Hình 5.16 Giao diện tìm kiếm nhà cung cấp 61
Hình 5.17 Giao diện máy tính mini 61
Hình 5.18 Đầu ra “Hóa đơn bán” 62
Hình 5.19 Đầu ra “Hóa đơn nhập” 62
Hình 5.20 Đầu ra “Thống kê nhập thuốc” 63
Hình 5.21 Đầu ra “Thống kê bán hàng” 63
Trang 14CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu đề tài
Công nghệ ngày càng trở nên phát triển và trở thành một phần thiết yếu của cuộc sống Với viêc phát triển công nghệ, con người đã tiết kiệm được nhiều nguyên liệu và nhiên liệu, thời gian và công sức hơn trong việc sản xuất, vẫn chuyển, lưu thông và quản lý hàng hóa Chuyên môn hóa và
tự động hóa trong từng khâu làm tăng hiệu năng trong sản xuất Việc quản
lý cũng ngày một tiện dụng hơn với sự hỗ trợ của công nghệ: máy tính, điện thoại thông minh … Một phần không thể nhắc đến là các phần mềm quản lý tiện ích chạy trên các thiết bị phần cứng
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, và tăng độ chính xác và hiệu quả trong công việc (nhất là việc sửa lỗi và tự động đồng bộ hóa) Ví dụ như việc quản lý thuốc Nếu không
có sự hỗ trợ của tin học, việc quản lý này phải cần khá nhiều người, chia thành nhiều khâu, mới có thể quản lý được toàn bộ về số thuốc ( thông tin, chất lượng, nhập, xuấ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 vì đa số đều làm bằng thủ công rất ít tự động Một số nghiệp vụ như tra cứu, thống kê, và hiệu chỉnh thông tin khá vất vả
Ngoài ra con có một số khó khăn về vấn đề lưu trữ khá đồ sộ, dễ bị thất lạc, tốn kém, … Trong khi đó các nghiệp vụ này hoàn toàn có thể tin học hóa một cách dễ dàng Với sự giúp đỡ của tin học, việc quản lý nhà thuốc đã phần nào đáp ứng được công việc của nhà quản lý và việc bán thuốc của cửa hàng trở nên đơn giản hơn, giảm bớt được các chức năng hoạt động thủ công Thay vào đó là công việc của máy tính thực hiện như: tra cứu, tổng hợp báo cáo, tính toán lãi suất của cửa hàng…đã đựơc hoàn
Trang 15thiện và áp dụng hoàn toàn trong quản lý tự động, khả năng làm việc nhanh chóng mang hiệu quả cao và độ chính xác lớn trong công việc.
“Xây dựng phần mềm quản lý nhà thuốc tân dược” với các chức
năng nhập, lưu trữ, xử lý thông tin về quá trình xuất nhập thuốc nhằm nâng cao hiệu quả hoạt động của nhà thuốc Là một đề tài mang tính thực tiễn cao, phù hợp với nền kinh tế thị trường, luôn luôn nắm bắt kịp thời nhưng thông tin mới về các loại thuốc mới cũng như các loại thuốc bán chạy và các loại thuốc không bán được để phục vụ tốt cho người tiêu dùng Do vậy em chọn đề tài này phần nào đưa ra những nhận xét đanh giá tổng thể từ đó phát triển hệ thống mới có nhiều chức năng áp dụng cho công việc quản lý nhà thuốc dựa trên sự hỗ trợ của máy tính Phần mềm quản lý sẽ được xây dựng tên ngôn ngữ lập trình C# - là ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft [4] , một ngôn ngữ lập trình mạnh được sử dụng rộng rãi đem lại hiệu quả cao
1.2 Mục tiêu và phạm vi đề tài
1.2.1 Mục tiêu đề tài
Hiện nay hầu hết các nhà thuốc trên địa bàn Hà Nội các công việc nhập, xuất, kiểm tra hàng tồn , hàng hết hạn sử dụng và tổng hợp hàng đều thực hiện một cách thủ công nên không tránh khỏi nhầm lẫn dẫn đến việc kinh doanh tiến triển chậm Phần mềm quản lý nhà thuốc ra đời nhằm giải quyết những khúc mắc trên, giúp cho công việc quản lý trở nên dễ dàng, hiệu quả và chính xác hơn bằng việc tự động hóa quá trình quản lý các yếu tố liên quan như thuốc, hóa đơn bán, nhà cung cấp… Do vậy mục tiêu hướng đến của đề tài là :
Nhanh chóng và hiệu quả: Mọi yêu cầu của khách hàng đều sẽ thực hiện một cách nhanh chóng, không mất nhiều thời gian chờ đợi như trước đây
Trang 16 Chính xác và đầy đủ: Các yêu cầu của khách hàng được đáp ứng một cách đầy đủ và chính xác, không có sự sai lệch như khi áp dụng việc quản lý bằng giấy tờ một cách thủ công như trước kia Độ chính xác gần như 100%.
Quản lý dễ dàng: Người làm công tác quản lý có thể tra cứu tất cả các thông tin trong kho dữ liệu một cách nhanh chóng và kết quả trả về hoàn toàn chính xác và hết sức nhanh chóng
Giảm tải: Là hệ quả của việc giải quyết các vấn đề trên, nhân viên bán hàng sẽ không phải chịu nhiều công việc như trước nữa Làm cho năng suất công việc cải thiện đáng kể cũng như tăng cao hiệu quả phục vụ [1]
Đối với từng chức năng của phần mềm:
Quản lý thuốc: Quản lý bao gồm tất cả các vấn đề về tỉ giá, nhóm thuốc, danh mục thuốc, giá tiền, từ khóa, nhà cung cấp Kèm theo đó, phần mềm quản lý quản lý nhà thuốc còn giúp doanh nghiệp quản lý
về hạn dùng, đơn vị,…
Quản lý xuất nhập hàng đơn giản: Lập và quản lý các hóa đơn nhập, hóa đơn xuất Quản lý thông tin nhà cung cấp, xuất nhập, và điều chỉnh nhập/xuất thuốc Quản lý công việc bán, xử lý đơn hàng của khách hàng và nhà cung cấp nhanh chóng, chính xác và hiệu quả
Thống kê báo cáo: Chức năng thống kê báo cáo mà các hiệu thuốc có được con số trung thực và chính xác về doanh thu của nhà thuốc, dữ liệu báo cáo về nhập – xuất – tồn, đặc biệt là báo cáo về những loại thuốc sắp hết hạn, danh sách thuốc cần bổ sung …Từ đó gửi các báo cáo chuyên môn về Sở Y tế
Trang 17 Quản lý nhân viên: Hỗ trợ phân quyền cho người sử dụng trên từng chức năng và báo cáo tùy theo các vai trò: nhân viên bán hàng, người quản lý…
1.2.2 Phạm vi đề tài
Xây dựng một phần mềm quản lý cơ sở dữ liệu ở mức một nhà thuốc nhỏ vừa, với số lượng thuốc không quá lớn
1.3 Mô tả khái quát
1.3.1 Yêu cầu bài toán
Xây dựng chương trình quản lý nhà thuốc theo chuẩn GPP
GPP là tiêu chuẩn thực hành nghề nghiệp tại nhà thuốc của dược
sĩ và nhân sự dựa trên tiêu chuẩn về đạo đức và chuyên môn đạt mức cao hơn so với yêu cầu pháp lý tối thiểu
Tiêu chuẩn nhà thuốc đạt chuẩn GPP:
Về cơ sở vật chất :
Nhà thuốc có diện tích tối thiểu là 10m2, đảm bảo các trang thiết
bị cần thiết để bảo quản thuốc, có không gian bố trí thuốc theo đúng quy định từ khu bảo quản, khu trưng bày, khu mỹ phẩm… Đối với các dạng thuốc bán lẻ không bao bì người bán thuốc cần phải ghi rõ tên thuốc, nồng độ, hàm lượng, dạng bào chế, hướng dẫn sử dụng…
Về nhân sự:
Người đứng đầu quầy thuốc là dược sĩ đại học có chứng chỉ hành nghề theo quy định ban hành, nhân viên của nhà thuốc phải mặc áo blu trắng, sạch sẽ, gọn gàng, có đeo biển ghi rõ họ tên và chức danh… Nhân viên bán thuốc thực hành đúng theo quy định đó là tư vấn bán thuốc đảm bảo và hiệu quả đối với người bệnh, phải đặt lợi ích người bệnh lên hàng đầu và thực hiện đúng tiêu chuẩn đạo đức nghề nghiệp
Về hoạt động:
Trang 18Nghiêm cấm mọi hành động quảng cáo nhằm lôi kéo khách hàng trái với quy định được ban hành Thực hiện ghi chép, bảo quản và lưu trữ hồ sơ ít nhất một năm kể từ khi thuốc hết hạn dùng Bảo đảm ít nhất
5 quy trình là mua thuốc và kiểm soát chất lượng; bán thuốc kê đơn, bán thuốc không kê đơn, bảo quản và theo dõi chất lượng thuốc, giải quyết đối với thuốc bị khiếu nại hoặc thu hồi
1.3.2 Đối tượng sử dụng hướng tới
Phần mềm sẽ có chức năng cơ bản sau:
Chức năng thêm, sửa, xóa các danh mục liên quan
Chức năng bán thuốc: bao gồm công việc nhận xử lý đơn thuốc từ khách hàng, kiểm tra thuốc, cập nhật hóa đơn bán
Chức năng nhập thuốc: bao gồm quản lý hàng nhập về, kiểm tra thuốc, cập nhật hóa đơn nhập, nhà cung cấp
Chức năng xem báo cáo thống kê: bao gồm các hoạt động truy suất
dữ liệu từ cơ sở dữ liệu của phần mềm, tính toán tổng hợp và đưa ra báo cáo hợp lý như báo cáo doanh thu, báo cáo xuất nhập,…
Trang 19một tài khoản, password và quyền admin Để thực hiện các chức năng của mình họ phải đăng nhập tài khoản đã đăng ký vào hệ thống.
Hệ thống khởi động, form đăng nhập sẽ hiện ra, điền tên tài khoản pasword rồi nhấn nút đăng nhập để gửi lên server
Khi đó hệ thống sẽ kiểm tra tính hợp lệ dữ liệu vừa gửi đến, nếu không hợp lệ hệ thống đưa ra thông báo nhập lại, nếu hợp lệ thì người quản trị sẽ đăng nhập vào hệ thống
Quản lý chức năng
Thực hiện các chức năng quản lý Administractor phân quyền
Admin bao gồm chức năng sau:
Chức năng quản tài khoản
Nhân viên
Là người dưới quyền Administractor và cũng có những chức năng nhất định
Cập nhật một số danh mục cho phép (thêm, sửa ,xóa)
Xử lý nhập thuốc(lập phiếu nhập thuốc)
Xử lý bán thuốc(lập phiếu bán thuốc)
Xem báo cáo , kiểm kê, tổng hợp báo cáo
1.3.5 Phương pháp nghiên cứu
Dùng phương pháp phân tích thiết kế hệ thống để thực hiện đề tài
Khảo sát thực tế
Trang 20CHƯƠNG 2 CÔNG NGHỆ SỬ DỤNG 2.1 Tổng quan về SQL Server
2.1.1 Giới thiệu
SQL là viết tắt của Structure Query Language, là ngôn ngữ truy vấn mang tính cấu trúc Nó là một công cụ quản lý dữ liệu được sử dụng phổ biến ở nhiều lĩnh vực Hầu hết các ngôn ngữ bậc cao đều hỗ trợ SQL như Visual basic, Visual C, Ocracle,…
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL Server Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte
và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server…[3]
2.1.2 Lịch sử phát triển
Phiên bản đầu tiên của Microsoft SQL Server ra đời đầu tiên vào năm 1989 cho các hệ điều hành chạy 16 bít với SQL Server phiên bản 1.0 và tiếp tục phát triển cho tới ngày nay
SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version 6.5 Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho SQL Server 7.0 Cho nên có thể nói từ version 6.5 lên version 7.0 là một bước nhảy vọt Có một số đặc tính của SQL
Trang 21Server 7.0 không tương thích với version 6.5 Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000) thì những cải tiến chủ yếu là mở rộng các tính năng về web và làm cho SQL Server
2000 đáng tin cậy hơn
Một điểm đặc biệt đáng lưu ý ở phiên bản 2000 là Instance Tức là bạn có thể cài dặt phiên bản 2000 chung với các phiên bản trước mà không cần phải gỡ chúng Nghĩa là bạn có thể chạy song song version 6.5 hoặc 7.0 với phiên bản 2000 trên cùng một máy (điều này không thể xảy ra với các phiên bản trước đây) Khi đó phiên bản cũ trên máy bạn là Default Instance còn phiên bản
Multiple-2000 mới vừa cài sẽ là Named Instance
Từ tháng 10 năm 2016, các phiên bản sau được Microsoft hỗ trợ:
2.1.3 Đặc điểm
SQL là ngôn ngữ tựa tiếng anh
SQL là ngôn ngữ phi thủ tục, nó không yêu cầu ta cách thức truy cập như thế nào Tất cả các thông báo của SQL đều dễ sử dụng mà ít khả năng mắc lỗi
SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp dữ liệu như chèn, cập nhật, xóa các hàng trong một quan hệ, tạo sửa đổi, thêm xóa các đối tượng trong cơ sở dữ liệu
Trang 222.2 Ngôn ngữ lập trình C#
2.2.1 Giới thiệu
C# là một ngôn ngữ lập trình đơn giản, hiện đại, mục đích tổng quát, hướng đối tượng được phát triển bởi Microsoft và được phê chuẩn bởi European Computer Manufacturers Association (ECMA) và International Standards Organization (ISO)
C# được phát triển bởi Anders Hejlsberg và team của ông trong khi phát triển Net Framework
C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và Runtime Environment, cho phép chúng ta
sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính [4]
2.2.2 Đặc điểm
C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhất đến.NET Framework mà tất cả các chương trình.NET chạy, và
nó phụ thuộc mạnh mẽ vào Framework này Mọi dữ liệu cơ sở đều
là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate, interface, exception, v.v, phản ánh rõ ràng những đặc trưng của.NET runtime
Garbage- So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặc điểm nào đó, nhưng không bao gồm các giới hạn sau đây:
Các con trỏ chỉ có thể được sử dụng trong chế độ không an toàn Hầu hết các đối tượng được tham chiếu an toàn, và các phép tính đều được kiểm tra tràn bộ đệm Các con trỏ chỉ được sử dụng để
Trang 23gọi các loại kiểu giá trị; còn những đối tượng thuộc bộ thu rác (garbage-collector) thì chỉ được gọi bằng cách tham chiếu.
Các đối tượng không thể được giải phóng tường minh
Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều interface trừu tượng (abstract interfaces) Chức năng này làm đơn giản hóa sự thực thi của thời gian thực thi
C# thì an-toàn-kiểu (typesafe) hơn C++
Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì
Ứng dụng Console
Ứng dụng Console là ứng dụng có giao diện text, chỉ xử lý nhập xuất trên màn hình Console, tương tự với các ứng dụng DOS trước đây Ứng dụng này giao tiếp với người dùng bằng bàn phím và không có giao diện đồ họa (GUI)
Ví dụ: Chương trình Console sau đây sử dụng hai phương thức Console.ReadLine và Console.Writeline để nhập và xuất số nguyên a
ra màn hình:
Trang 24static void Main(string[] args)
Ứng dụng Windows Form
Ứng dụng Windows Forms là ứng dụng được hiển thị với giao diện cửa sổ đồ họa Chúng ta chỉ cần kéo và thả các điều khiển (control) lên cửa sổ Form Visual Studio sẽ sinh mã trong chương trình để tạo ra, hiển thị các thành phần trên cửa sổ
Ứng dụng này giao tiếp với người dùng bằng bàn phím và mouse Có giao diện đồ họa và xử lý sự kiện
Biên dịch và chạy chương trình: Để biên dịch chương trình, ta chọn Build → Build Solution Để chạy chương trình, ta chọn Debug
→ Start Nếu ta có thay đổi nội dung của Form, như đặt thêm điều khiển khác lên Form chẳng hạn, ta phải yêu cầu Visual Studio biên dịch lại
Trang 25Môi trường NET cung cấp công nghệ ASP.NET giúp xây dựng những trang Web động Để tạo ra một trang ASP.NET, người lập trình
sử dụng ngôn ngữ biên dịch như C# hoặc C# để viết mã Để đơn giản hóa quá trình xây dựng giao diện người dùng cho trang Web, NET giới thiệu công nghệ Webform Cách thức tạo ra các Web control tương tự như khi ta xây dựng ứng dụng trên Window Form
2.3 Lý do lựa chọn công nghệ
2.3.1 SQL Server
Khả năng giám sát thông minh: khả năng giám sát dữ liệu đượ bổ sung thông qua các CSDL Với khả năng cho phép quản trị CSDL thực hiện những giám sát hiệu quả hơn trên dữ liệu
Lập trình dễ dàng hiệu quả: các lập trình viên có thể chuyển đổi qua lại giữa các ngôn ngữ ứng dụng như C#, VB.NET và ngôn ngữ truy vấn SQL, nhờ vậy các lập trình có thể thực hiện truy vấn CSDL ngay trong các dòng lệnh của ngôn nữ lập trình ứng dụng
Tính năng ổn định cao: giảm thiểu thời gian ngừng hoạt động hệ thống cũng như cung cấp khả năng cắm nóng CPU mà không cần khởi động lại
Mã hóa trong suốt và hiệu quả: khả năng mã hóa được mở rộng ra cho toàn bộ CSDL, dữ liệu và các tệp tin nhật ký cũng như cung cấp khả năng mã hóa trong suốt cho phép ứng dụng có thể mã hóa và tìm kiếm dữ liệu mã hóa mà không cần phải thiết kế lại ứng dụng
Lưu trữ được nhiều loại dữ liệu
Khả năng thao tác song hành trên các bảng dữ liệu phân vùng
Tăng tốc khả năng truy vấn dữ liệu
Trang 262.3.2 Ngôn ngữ lập trình C#
Nó là một ngôn ngữ lập trình hiện đại, mục đích tổng quát
Nó rất thích hợp để phát triển các ứng dụng quản lý trên nền tảng Windows, phát triển ứng dụng Web, lập trình mạng và có khả năng lập trình trên các thiết bị di động sử dụng hệ điều hành Windows Phone
Nó được sử dụng ở khắp nơi: là một ngôn ngữ lập trình mạnh mẽ sử dụng cho các dự án khác nhau như là tạo ra ứng dụng đồ họa, ứng dụng xử lý văn bản, bản tính, hay thậm chí là những trình biên dịch cho các ngôn ngữ khác
Nó là hướng đối tượng: Có ba đặc điểm chính làm nên ngôn ngữ hướng đối tượng (Object-oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance) và sự đa hình (polymorphism) C# có đầy đủ những đặc tính trên
Nó dễ dàng để học: là 1 ngôn ngữ có cú pháp ngắn gọn, tường minh,
kế thừa từ C++, rất dễ học hơn so với VB.NET
Nó là một ngôn ngữ được cấu trúc:
Nó tạo các chương trình hiệu quả
Nó là một phần của Net Framework
Trang 27CHƯƠNG 3 KHẢO SÁT PHÂN TÍCH HỆ THỐNG 3.1 Hiện trạng thực tế
Quản lý nhập thuốc từ nhà cung cấp vào kho:
Hằng ngày các nhân viên phải kiểm tra các loại thuốc trong kho xem số lượng ra sao, hạn sử dụng còn không Việc làm nay diễn ra dựa trên việc vào kho, kiểm tra từng loại thuốc đã được sắp xếp theo một thứ tự giữa các loại thuốc và theo quy luật cái nào mới cho vào sâu để bán sau
Kiểm tra các hóa đơn nhập, tạo lập các hóa đơn nhập
Cuối cùng mới là nhập thuốc và thanh toán tiền với nhà cung cấp
Quản lý xuất thuốc :
Trước khi xuất thuốc , nhân viên bán hàng phải kiểm tra xem thuốc
mà khách hàng yêu cầu có còn trong kho hoặc trên cửa hàng hay không
Nếu thuốc vẫn còn đủ đáp ứng nhu cầu của khách hàng , nhân viên bán hàng mới lập hóa đơn bán hàng và thanh toán với khách hàng
Lập báo cáo:
Lập báo cáo thu chi trong thời gian chủ nhà thuốc yêu cầu, công việc này diễn ra hằng ngày Mà cuối mỗi ngày có 1 báo cáo về tình hình xuất nhập hàng Và hơn nữa, mỗi tháng hoặc mỗi quý có 1 thống kê về việc kinh doanh của nhà thuốc
Đưa ra các số lượng thống kê về xuất nhập thuốc trong ngày , trong tháng, trong quý, trong 1 khoảng thời gian mà chủ nhà thuốc đưa ra
Thống kê lại thông tin của các nhân viên nhà thuốc
Trang 283.2 Phát biểu bài toán
Qua những thông tin tìm hiểu trên thực tế, ta có thể phát biểu thành bài toán như sau :
Trong bài toán này nhân viên sẽ tính tiền số thuốc mà khách hàng
đã mua và lập hoá đơn khách hàng thanh toán, xuất nhập thuốc và kiểm tra thuốc của nhà thuốc
Nhân viên tiến hành thống kê doanh thu, số thuốc đã bán, số thuốc tồn kho… Những việc này được thống kê theo từng mã hoá đơn hay tổng
số tiền thu được
Bên cạnh đó, người quản lý là người trực tiếp liên hệ với các nhà cung cấp để nhập thuốc, cũng như quan hệ với đối tác để bán thuốc Người quản lý sẽ quản lý nhân viên, nhà cung cấp và quản lý doanh thu của cửa hàng, quản lý việc nhập xuất thuốc
Nhân viên và người quản lý muốn thực hiện được các nhiệm vụ của mình thì phải đăng nhập vào hệ thống theo username và password
Trong môt số trường hợp, nhân viên bận một vấn đề quan trọng gì
đó, không thể quản lý nhà thuốc, thì quản lý sẽ thay thế nhân viên thực hiện các giao dịch nhà thuốc
Trang 293.3 Phân tích thiết kế hệ thống
3.3.1 Sơ đồ phân rã chức năng
Qua khảo sát và phân tích hệ thống, ta có sơ đồ phân cấp hệ thống như sau:
Quản lý nhà thuốc
Quản lý thông tin (1.0) Cập nhập thuốc
(2.0)
Cập nhập nhập, xuất (3.0)
Thống kê báo cáo ( 4.0) Tìm kiếm(5.0)
Cập nhập thông tin nhóm thuốc (2.2)
Cập nhập hóa đơn nhập (3.1)
Cập nhập hóa đơn bán (3.2)
Thống kê báo cáo doanh thu (4.1)
Thống kê báo cáo nhập xuất (4.2)
Thống kê thuốc sắp hết hạn (4.3)
Tím kiếm thuốc (5.1)
Tìm kiếm nhà cung cấp(5.2)
Hình 3.1 Sơ đồ phân rã chức năng
Trang 303.3.2 Sơ đồ luồng dữ liệu
3.3.2.1 Sơ đồ luồng dữ liệu mức ngữ cảnh
NGƯỜI QUẢN TRỊ
QUẢN LÝ NHÀ THUỐC
Hóa đơn bán hàng Thông tin hóa đơn bán hàng Báo cáo thống kê
Thông tin báo cáo thống kê
Thông tin thuốc Bản thông tin thuốc
Bản thông tin nhóm thuốc Thông tin nhóm thuốc
Quyền cấp cho nhận viên Thông tin quyền cấp cho nhân viên
Thông tin nhà cung cấp Bản thông tin nhà cung cấp Thông tin đăng ký nhân viên
Bản thông tin nhân viên Thông tin hóa đơn nhập hàng
NHÂN VIÊN
Hóa đơn nhập hàng
Hình 3.2 Sơ đồ luồng dữ liệu ngữ cảnh
Trang 313.3.2.2 Sơ đồ luồng dữ liệu mức đỉnh
5.0 Tìm kiếm
1.0 Quản lý thông tin
2.0 Cập nhập thuốc
3.0 Cập nhập nhập, xuất 4.0 Thống kê báo cáo
Trang 323.3.2.3 Sơ đồ luồng dữ liệu mức dưới đỉnh
Sơ đồ luồng dữ liệu của chức năng quản lý thông tin
Quản trị viên
1.1 Cập nhập thông
tin nhân viên 1.2 Phân quyền nhân viên 1.3 Quyền
1.4 Cập nhâp thông tin nhà cung cấp
Nhân viên Quyền Nhà cung cấp
Thông tin quyền
Hình 3.4 Sơ đồ luồng dữ liệu mức dưới đỉnh quản lý thông tin
Trang 33 Sơ đồ luồng dữ liệu của chức năng cập nhập thuốc
Trang 34 Sơ đồ luồng dữ liệu của chức năng cập nhập nhập, xuất
Thông tin nhân viên
Quản trị viên Nhân viên
Hình 3.6 Sơ đồ luồng dữ liệu mức dưới đỉnh cập nhập nhập, xuất
Trang 35 Sơ đồ luồng dữ liệu của thống kê báo cáo
4.1 Thống kê báo
cáo doanh thu
4.2 Thống kê báo cáo nhập bán
Quản trị viên Nhân viên
Hình 3.7 Sơ đồ luồng dữ liệu mức dưới đỉnh thống kê báo cáo
Trang 36 Sơ đồ luồng dữ liệu của tìm kiếm
Hình 3.8 Sơ đồ luồng dữ liệu mức dưới đỉnh Tìm kiếm
3.3.3 Đặc tả chức năng chi tiết
3.3.3.1 Cập nhật thông tin nhân viên
Mô tả chức năng:
Đây là chức năng thêm, sửa, xóa thông tin nhân viên
Dữ liệu đầu vào:
Thông tin như Tên nhân viên, số điện thoại, tuổi,…
Trang 37 Kết quả:
Thông tin nhân viên được cập nhật
3.3.3.2 Phân quyền nhân viên
Mô tả chức năng:
Đây là chức năng phân quyền cho từng nhân viên
Dữ liệu đầu vào:
Tên nhân viên, tên quyền
Xử lý:
Người quản trị hệ thống sẽ lựa chọn nhân viên trong danh sách nhân viên và sau đó lựa chọn những quyền có trong hệ thống sau khi lựa chọn nhân viên và quyền cho nhân viên đó quản trị viên sẽ lưu lại hệ thống đựa ra thông báo khi thực hiện lưu thành công Một nhân viên có thể có nhiều quyền, một quyền có thể phân cho nhiều người
Kết quả :
Các quyền được phân cho nhân viên
Trang 383.3.3.3 Quyền
Mô tả chức năng:
Đây là chức năng cho biết có những quyền vào hệ thống
Dữ liệu đầu vào:
Thông tin quyền
Đây là chức năng thêm, sửa, xóa nhà cùng cấp
Dữ liệu đầu vào:
Thông tin nhà cung cấp như Tên nhà cung cấp, địa chỉa, email,…
Xử lý:
Người quản trị sẽ điền thông tin nhà cung cấp muốn thêm mới hay sửa đổi nhà cung cấp đã có trong hệ thống Người quản trị xem xét dữ liệu dã nhập vào đã đúng hay chưa trước khi muốn thêm mới hay là sửa đổi thông tin của nhà cung cấp Đối với nhà cung cấp đã có dữ liệu trong hệ thống mà người quản trị muốn xóa bỏ thì cần nhập mã nhà cung cấp đó hệ thống sẽ hỏi
Trang 39là có muốn xóa nhà cung cấp đó hay không, người quản trị chọn “Yes” để xóa nhà cung cấp đó ngược lại là “No” không xóa nhà cung cấp đó.
Kết quả:
Thông tin nhà cung cấp được cập nhập
3.3.3.5 Cập nhật thông tin thuốc
Mô tả chức năng:
Đây là chức năng thêm mới, sửa đổi, xóa thuốc có trong nhà thuốc
Dữ liều đầu vào:
Thông tin thuốc như Tên thuốc, ngày sản xuất, hạn sử dụng, …
Kết quả:
Thông tin thuốc được cập nhât
3.3.3.6 Cập nhật nhóm thuốc
Mô tả chức năng:
Đây là chức năng thêm sửa, xóa nhóm thuốc có trong nhà thuốc
Dữ liệu đầu vào: