Đồ án
phân tích và thiết kế hệ thông quản lý thuốc
được viết bằng ngôn ngữ lập trình C#.
1
MỤC LỤC
LỜI MỞ ĐẦU 3
CHƯƠNG 1 5
GIỚI THIỆU KHÁI QUÁT VỀ HỆ QUẢN TRỊ CSDL 5
VÀ NGÔN NGỮ LẬP TRÌNH 5
1.1 Ngôn Ngữ Truy Vấn CSDL SQL 5
1.2 Hệ Quản Trị CSDL Microsoft Access 6
1.2.1 Các khái niệm cơ bản 6
1.2.2 Tạo Bảng 8
1.2.3 : Giới Thiệu Về Ngôn Ngữ Lập Trình C# 10
1.3 Bộ Phát Triển .Net Visual Studio 2005 16
1.3.1: Khái niệm Form : 16
CHƯƠNG 2 21
KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG 21
2.1Hiện Trạng Thực Tế: 21
2
LỜI MỞ ĐẦU
Hiện nay công nghệ thông tin được xem là một ngành mũi nhọn của cá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,
là ngành thế mạnh của trường .
Em xin chúc các thầy các cô luôn mạnh khỏe và công tác tốt.
Em xin chân thành cảm ơn!
Việt trì Ngày tháng năm2011
Sinh viên thực hiện
Ngô Bá Khánh Ngọc4
CHƯƠNG 1
GIỚI THIỆU KHÁI QUÁT VỀ HỆ QUẢN TRỊ CSDL
VÀ NGÔN NGỮ LẬP TRÌNH
1.1 Ngôn Ngữ Truy Vấn CSDL SQL
Cơ sở dữ liệu (database) có thể hiểu là nơi chứa dữ liệu. Có nhiều loại
cơ sở dữ liệu khác nhau như cơ sở dữ liệu quan hệ, CSDL hướng đối tượng, CSDL
phân tán
CSDL quan hệ.
Trong mô hình CSDL quan hệ, dữ liệu thường được chia thành các
bảng có liên quan với nhau.
VD: ta có 2 bảng:
Bảng 1 chứa các thông tin về Mã hàng, tên hàng, ngày nhập hàng, giá
nhập hàng
Bảng 2 chứa các thông tin về Mã hàng, ngày bán hàng, giá bán.
Hai bảng này có quan hệ với nhau thông qua mã hàng, tức là chỉ cần
có mã hàng ở bảng 2, ta có thể tìm ra tên hàng dựa trên mối liên hệ giữa mã hàng và
tên hàng lưu ở bảng 1.
Hệ quản trị CSDL là chương trình dùng để quản lý một CSDL nào đó.
Chẳng hạn như chương trình Access là một hệ quản trị CSDL để quản lý CSDL
Access. Thông thường thì tên của hệ quản trị CSDL gắn liền với tên của loại CSDL.
VD như: CSDL Access <-> Hệ quản trị CSDL Access, CSDL MySQL <-> Hệ quản
Truy vấn (Query): Truy vấn là công cụ mạnh nhất của Access dùng để tổng
hợp, sắp xếp, tìm kiếm dữ liệu trên các bảng. Khi thực hiện truy vấn sẽ nhận được
một tập hợp kết quả thể hiện trên màn hình dưới dạng các bảng gọi là các dynaset.
Dynaset chỉ là bảng kết quả trung gian không được ghi trên đĩa và nó sẽ bị
xóa khi kết thúc truy vấn. Tuy nhiên, có thể sử dụng một dynaset như một bảng để
xây dựng các truy vấn khác. Chỉ với truy vấn chúng ta có thể giải quyết khá nhiều
các dạng toán trong quản trị cơ sở dữ liệu.
Mẫu biểu (Form): Mẫu biểu thường được dùng để tổ chức cập nhật dữ liệu
cho các bảng và thiết kế giao diện nhưng mẫu biểu cũng sẽ cung cấp nhiều khả năng
nhập dữ liệu tiện lợi như: Nhập dữ liệu từ một danh sách, nhận các hình ảnh, nhập
dữ liệu đồng thời trên nhiều bảng. Mẫu biểu còn cho phép nhập các giá trị riêng lẻ
(Không liên quan đến bảng) từ bàn phím. Mẫu biểu còn có khả năng quan trọng
khác là tổ chức giao diện, chương trình dưới dạng một
6
bảng, nút lệnh hoặc một hệ thống Menu.
Báo biểu (Report): Báo biểu là công cụ tuyệt vời phục vụ cho việc in ấn, nó
cung cấp cho ta các khả năng:
In dữ liệu dưới dạng bảng
In dữ liệu dưới dạng biểu
Sắp xếp dữ liệu trưới khi in
Sắp xếp và phân nhóm dữ liệu tới 10 cấp. Cho phép thực hiện các phép toán
để nhập dữ liệu tổng hợp trên mỗi nhóm.
Ngoài ra, dữ liệu tổng hợp nhận được trên các nhóm lại có thể đưa vào các công
thức để nhận được sự so sánh, đối chiếu trên toàn báo cáo.
In dữ liệu của nhiều bảng có quan hệ trên một báo cáo.
Việc lựa chọn font chữ, cỡ chữ, kiểu chữ và việc trình bày trên báo cáo được tiến
hành rất đơn giản.
Macro: Bao gồm một dãy các hành động (Action) dùng để tự động hóa một
loạt các thao tác. Macro thường dùng với mẫu biểu để tổ chức giao diện chương
Nút Open: Để mở nhập dữ liệu cho bảng được chọn
Nút Design: Để xem, sửa cấu trúc bảng được chọn.
Có hai cách để tạo bảng ứng với hai lựa chọn: Table Wizards và New Table.
Nếu chọn Tables Wizards thì bảng được xây dựng bằng công cụ Wizards
của Access và ta chỉ việc trả lời các câu hỏi mà Access yêu cầu.
+ Nếu chọn New Table thì bảng được thiết kế theo ý của người sử dụng để
tạo bảng. Khi chọn New Table xuất hiện cửa sổ dưới đây:
Hình 1- Cửa sổ tạo bảng
8
Cửa sổ Tables được chia làm hai phần:
Phần trên gồm có 3 cột Filename, Data Type, Description dùng để
khai báo các trường của bảng, Mỗi trường khi khai báo trên một dòng.
Phần dưới dùng để qui định thuộc tính của Trường. Có thể dùng chuột
hoặc ấn phím F6 để di chuyển qua lại giữa hai phần.
*Tên Trường (File Name):
Là một dãy không khóa gồm 64 ký tự bao gồm chữ cái, chữ số, dấu
cách.
* Kiểu dữ liệu (Data Type): Gồm các kiểu sau:
Text Kiểu kí tự 255 byte
Memo Kiểu kí tự 65.535 byte
Number Số nguyên, thực Dài: 1,2,4, hoặc 8 byte
Data / time Ngày tháng / giờ Dài: 8 byte
Currency Tiền tệ Dài: 8 byte
Yes / No Logic 1 Bit
Ole ĐTnhúng hình ảnh,nhị phân 1 GB
Auto Number Số nguyên dài -2.147.483648 ->
2.147.483647 kí tự
- Mô tả (Descreption):
Để giải thích cho rõ hơn một trường nào đó để cho người đọc dễ hiểu:
Như chúng ta biết, ngày nay đang tồn tại 3 phương pháp lập trình:
Lập trình có cấu trúc (Programming Structure)
Lập trình dựa trên đối tượng (Programming Laseon Object)
Lập trình theo hướng đối tượng (Programming Orient Object)
Đặc trưng của 3 phương pháp này là:
Đặc trưng của lập trình có cấu trúc là phương pháp Top – Down, dữ
liệu tách khỏi chương trình trong khi thực hiện chương trình một cách tuần tự. Hạn
chế của nó là không sử dụng lại được vì vậy việc bảo trì gặp rất nhiều khó khăn.
Đặc trưng của lập trình dựa trên đối tượng và hướng đối tượng là:
Có thể phân tích bài toán theo nhiều hướng khác nhau
Dễ sử dụng lại các khối dữ liệu
10
Khi thực hiện chương trình, Quyền chủ động thuộc về người sử dụng.
Một trong những ngôn ngữ lập trình điển hình cho việc lựa chọn đối
tượng đó là ngôn ngữ C#.
Nền tảng. Net
Nền tảng . Net bao gồm 4 nhóm:
Nhóm1: Tập hợp các ngôn ngữ lập trình như C#, VisualBasic. Net, Tập
hợp các công cụ phát triển vs.net, Tập hợp các thư viện cho việc xây dựng và phát
triển ứng dụng Win, Web. Ngoài ra gồm có Common Laguage Runtime (CLR),
ngôn ngữ thực thi dùng chung, để thực hiện các đối tượng, dự án được xây dựng
dựa trên bộ khung này.
Nhóm2: Tập hợp các Server như SQL server 2000, Exchange 2000,
BizTalk 2000, … Chúng cung cấp các chức năng cho việc lưu trữ dữ liệu, quan hệ,
thư điện tử, thương mai điện tử…
Nh óm 3: Các dịch vụ (.Web services) để phát triển nhanh hơn WebForm.
Nhóm 4: Phần . Net dùng cho các thiết bị không phải là 1 máy tính, PC như
điện thoại (Phone, Mobile…) các thiết bị game chuyên dụng (game giả tưởng, PS
…).
chương trình JIT( Justf In Time) – Just In Time và khi này kết quả chương trình là
mã máy và PC có thể thực thi được.
Cấu hình và bảo mật
* Cấu hình
Là người lập trình yêu cầu máy tính cấp phát quyền và bộ nhớ cho
chương trình
Cấu hình ở đây có nghĩa là khi chạy chương trình hệ điều hành cần
thay đổi hệ thống sao cho chương trình chạy ổn định nhất.
Cấu hình bao gồm:
Chọn nơi cài đặt nơi cấp phát bộ nhớ.
Cấu hình ngôn ngữ sử dụng cho chương trình.
VD: Chương trình tiền tệ, ngày tháng
1.2 (England) = 1,2 (France)
Cấu hình Module, dll, template… gọi chung là tiện ích của chương
trình.
Cấu hình đăng kí với Windows để sử dụng chương trình.
12
* Bảo mật
Bảo mật cho chương trình (Sercutity) là quá trình đóng gói, đặt pass,
mã hóa…
Đóng gói:
Là quá trình đóng mã lệnh thành: Control, class, … Thành DLL để hỗ
trợ chương trinh.
Chú ý: Các DLL là không thể thiếu trong 1 chương trình lớn nó đã được đóng gói
nên không thể mở, sửa chữa, mà chỉ có thể sử dụng cho chương trình nhất định.
Đóng gói còn bao gồm: Việc đóng chương trình đã được biên dịch và với
các thành phần hỗ trợ (Icon, Data, Picture…)
Mã hóa:
Dùng trong những chương trình bảo mật cao, những chương trình
Uint 4 Uint32 Không dấu 0 … 4294967295
Float 4 Single Số thực (≈ ±1.5*10-45 ≈ ±3.4*1038)
Double 8 Double Số thực(≈±5.0*10-324 ≈ ±1.7*10308)
Decimal 8 Decimal Số dấu chấm tĩnh 28 kí tự và dấu chấm
Long 8 Int64 Sốnguyêndấu23372036…92233
ULong 8 Uint64 Số nguyên không dấu từ 0 … 0*fffffff
* Biến và Hằng
Biến dùng để lưu dữ liệu mỗi biến thuộc về 1 kiểu DL nào đó.
Hằng là 1 biến nhưng giá trị không thay đổi theo thời gian.
Biến: Trong C# trước khi dùng 1 biến thì biến đó phải được khởi tạo
nếu không trình biên dịch sẽ báo lỗi.
Hằng: Khi cần thao tác trên 1 giá trị không đổi ta dùng hằng và khai
báo hằng tương tự khai báo biến nhưng có thêm từ khóa const đằng trước. Một khi
hằng khởi tạo thì ta không thể thay đổi được nữa.
Một số câu lệnh
* Lệnh rẽ nhánh không điều kiện
Loại 1: Lệnh gọi phương thức
Loại 2: Dùng từ khóa goto, break, continue, return, catch, throw
* Lệnh rẽ nhánh có điều kiện
14
Các từ khóa: If – Else, While - Do\ While, For – Switch case
Lệnh IF – Then – Else
Cú pháp: +If (Biểu thức logic)
Khối lệnh;
+ If(Biểu thức logic) – { Khối lệnh 1;}
Else – {Khối lệnh 2};
Lệnh Swich
Cú pháp: Switch (Biểu thức lựa chọn)
{
đ.vị.
Dịch bit <<, >> Dịch trái, dịch phải
Quan hệ = =; !=; <; >; Bằng, khác, lớn hơn, nhỏ hơn,
Gán =, +=, = = Là cách gán( bằng, cộng, trừ, nhân, chia)
Chỉ số [ ] Là cách truy xuất phần tử của mảng
Ép kiểu ( ) Là ép kiểu của biến…
Địa chỉ và đường
dẫn
->, [ ], & Là dùng trong con trỏ chỉ tới địa chỉ và
đường dẫn của DL
* Bộ từ truy xuất
Từ Khóa Giả Thích
Public Cộng cộng (Truy xuất mọi nơi trong chương trình)
Protected Là truy xuất trong nội bộ lớp hoặc các lớp con
Internal Là truy xuất trong nội bộ trong chương trình (assembly)
Protexted
Internal
Truy xuất nội trong chương trình(assembly) và trong các lớp con
Private Chỉ được truy xuất trong nội bộ lớp
1.3 Bộ Phát Triển .Net Visual Studio 2005
(Graphic User InterfaceConcepts)
1.3.1: Khái niệm Form :
Là đối tượng quan trọng nhất trong lập trình windows.
Nó là 1 cửa sổ, 1 thông báo lỗi, 1 văn bản,… Form được quản lý bởi
System.Exception. Form hoạt động được nhờ System. Exception.Handing.
16
1.3.2: Windows
Do C# được phát triển bởi microsoft nên nó thừa kế và sử dụng
khác của đối tượng trong Form.
Text: Là kí tự xuất hiện trong văn bản: Thuộc tính này dùng để người
lập trình quản lý Text để xử lý trong mã lệnh.
Visible (Giống với Label)
Enable: Nếu giá trị False người dùng không thao tác được với
TextBox
Password \ Password Chars: Mặc định là False. Nếu đặt là False thì
hộp nhập Password. Khi đó nhập kí tự vào Password chars để hiển thị kí tự đó thay
cho kí tự người dùng nhập vào.
Focus: Là thuộc tính đặt thiết lập con trỏ có xuất hiện đầu tiên tại đó
hay không.
Ngoài ra, Còn có các thuộc tính chung với các control.
3. Button (Nút Bấm)
Định Nghĩa: Là 1 đối tượng văn bản trong Windows Form. Nút bấm
dùng để điều khiển chương trình làm 1 điều gì đó khi người dùng bấm nút hoặc nhả
nút, kích nút.
18
Thuộc Tính: (btn) Là tên của nút bấm không được trùng bất kì tên
nào khác trong Form.
Text: Là kí tự được ghi trên nút bấm có tác dụng chú thích cho người
dùng tác dụng của nút bấm. Thuộc tính này là ReadOnly.
Visible, Enable (giống TextBox).
Ngoài ra, Còn có các thuộc tính chung với các control.
4. MenuBar (Thanh Thực Đơn)
Định nghĩa: là đối tượng căn bản với Windows. Lập trình Windows
sử dụng thuộc tính menu để lập ra thanh thực đơn.
Menu là khi kéo thả nó vào Form nó không nằm trên Form trong mà
nó nằm như 1 đối tượng dữ liệu tương đương với ADO: Kết nối CSDL, Dataset…
Thuộc Tính: + Name (giống TextBox)
20
CHƯƠNG 2
KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG
2.1Hiện Trạng Thực Tế:
2.1.1 Giới thiệu chung về công ty thuốc Hoàng Công – Việt Trì – Phú Thọ
Hệ thống quản lý thuốc chúng tôi khảo sát thực tế tại Công Ty Cổ Phần
Thương Mại Dịch Vụ Dược Phẩm Hoàng Công- Việt Trì- Phú Thọ
Sau 1 thời gian thực tế khảo sát, nghiên cứu hệ thống trên những nhân tố cụ thể.
Thông tin thực tế thu được:
Đơn vị: Công Ty Cổ Phần Thương Mại Dịch Vụ Dược Phẩm Hoàng Công
a. Mức lãnh đạo: Ban Giám đốc
Công ty có 20 nhân viên
Bao gồm: 3 bộ phận:
Bộ phận kinh doanh
Bộ phận kho
Bộ phận bán lẻ
Mức quản lý: Ban Giám đốc.
Mức điều phối: Thủ kho, người quản lý, người bán thuốc
Phạm vi hoạt động của Công ty:
Hoạt động phân phối: Cung cấp thuốc cho các đơn vị:
Bệnh viện.
Trạm y tế xã phường.
Các đại lý thuốc.
Hoạt động bán hàng.
21
Nhóm thuốc
STT Tên Nhóm
1 Nhóm thuốc Đường Hô Hấp.
2 Nhóm thuốc Mắt.
Giao tiếp khách hàng
(tiếp nhận đơn thuốc)
Kiểm soát đơn thuốc
(hình thức, nội dung đơn)
Hướng dẫn, tư vấn sử dụng thuốc
Bán thuốc
Ghi chép, lưu tài liệu
Tổ đóng hàng và thủ kho phân loại thuốc và thiết bị rồi đóng gói. Thủ kho
lập phiếu xuất gửi cho bộ phận kinh doanh để làm hóa đơn. Sau đó khớp hoá đơn
với phiếu xuất. Xuất hàng có kèm theo chứng từ hoá đơn
Các chứng từ hoá đơn được lưu 2 bản
2.2.2 Mục Đích Đề Tài
Cùng với sự phát triển của xã hội thì công nghệ thông tin đã và đang phát
triển khai thác các ứng dụng trên địa bàn toàn quốc, dần tiến tới tin học hoá tất cả
mọi hoạt động trong mọi lĩnh vực của các ngành nghề. Máy tính thật sự là công cụ
đáng tin cậy. Không thể thiếu được trong mọi hoạt động của xã hội trong thời đại
thông tin hiện nay. Chính vì vậy, việc quản lý thuốc cũng phải được tin học hóa
toàn bộ.
Dựa vào việc khảo sát thực tế đã thu được em nhân thấy việc quản lý vẫn
theo lối thủ công để quản lý sổ sách, giấy tờ chậm chạp trong việc khai báo thông
tin và chiếm nhiều thời gian lưu trữ . Vì vậy mục đích xây dựng đề tài này là
Giảm bớt thời gian ghi chép, không gây nhầm lẫn
Thực hiện tìm kiếm sửa dữ liệu rất nhanh
Mọi công việc cập nhật, điều chỉnh, tìm kiếm tra cứu đều được thực hiện
nhanh chóng, chính xác, tiết kiệm thời gian.
Người bán thuốc không phải nhớ nhiều khi tư vấn thuốc cho khách hàng
Công việc của nhà quản lý thuốc không còn vất vả mà hiêu suất công việc lại
cao
2.2.3 Phương Pháp Tiếp Cận Và Lựa Chọn Công Nghệ.
Một phần của nghệ thuật lập trình là việc lựa chọn một trong những ngôn ngữ phù
Xây dựng chương trình quản lý thuốc
* Công việc
25