Về định hướng chương trình Mặc dù chưa thể giải quyết những khó khăn nhưng việc định hướng khitriển khai chương trình có thể giúp ta không lạc giữa những chương trìnhkhác khi có sự hỗ tr
Trang 1TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN -o0o -
XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ BỆNH VIỆN
ĐỒ ÁN TỐT NGHIỆP
NGHÀNH KỸ SƯ CÔNG NGHỆ THÔNG TIN
Giáo viên hướng dẫn : ThS Trương Trọng Cần Sinh viên thực hiện : Lê Nghĩa Đàn
Lương Thị Dịu
Lớp : 46E2-CNTT
VINH, 05/2010
Trang 2MỤC LỤC
LỜI CẢM ƠN 4
MỞ ĐẦU 5
TỔNG QUAN ĐỀ TÀI 7
1.1 Giới thiệu đề tài 7
1.1.1 Tên đề tài 7
1.1.2 Mục đích và ứng dụng 7
1.2 Hướng nghiên cứu 7
1.2.1 Về mặt lý thuyết 8
1.2.2 Về định hướng chương trình 8
1.3 Dự kiến kết quả đạt được 8
1.3.1 Dự kiến cho ứng dụng quản lý bệnh viện 8
Chương 1: CƠ SỞ LÝ THUYẾT 10
1 Ngôn ngữ sử dụng 10
1.1 Ngôn ngữ lập trình C#.Net 11
1.1.1 Công nghệ Net (Dot net) 11
1.1.2 Ngôn ngữ lập trình C#.NET 12
1.2 Hệ quản trị cơ sở dữ liệu SQL Server 2005 14
1.2.1 Giới thiệu 14
1.2.2 Các thành phần quan trọng của SQL Server 2005 14
1.3 Phân tích thiết kế hệ thống hướng đối tượng sử dụng UML Error! Bookmark not defined. 1.3.1 Nguyên tắc cơ bản Error! Bookmark not defined 1.3.2 Các giai đoạn thực hiện Error! Bookmark not defined 1.3.3 Công cụ Error! Bookmark not defined. 2 Tìm hiểu cách nhận dạng đầu vào, đầu ra 15
2.2.1 Thành phần đầu vào 15
2.2.2 Kiểm tra điều kiện đầu vào 15
2.2.3 Thành phần đầu ra 17
Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 21
1 Phân tích hệ thống 21
1.1 Phân tích yêu cầu 21
1.1.1 Yêu cầu chung 21
1.1.2 Yêu cầu quản lý 21
1.1.3 Yêu cầu chương trình 22
Trang 31.1.4 Yêu cầu về giao diện sử dụng 22
1.2 Biểu đồ phân cấp chức năng………22
1.3 Biểu đồ luồng dữ liệu mức ngữ cảnh……… 23
1.3.1 Biểu đồ luồng dữ liệu mức đỉnh………24
1.4 Biểu đồ luồng dữ liệu mức dưới đỉnh……… 25
1.4.1 Danh mục quản lý……… 26
1.4.2 Danh mục tiềm kiếm……….…27
1.4.3.Danh mục nghiệp vụ……… .28
1.4.4 Danh mục báo cáo thống kê……… 29
1.4.5 Danh mục in………30
2 Thiết kế hệ thống 31
2.1 Xây dựng quy trình bệnh nhân đến khám và điều trị 31
2.2 Thiết kế cơ sở dữ liệu 32
2.3 Sơ đồ quan hệ 40
2.2 Thiết kế giao diện 40
Chương 3: CÀI ĐẶT VÀ TRIỂN KHAI CHƯƠNG TRÌNH 41
1 Các thành phần chính trong chương trình quản lý bệnh viện 41
1.1 Tầng giao diện UI (user interface) 41
1.2 Tầng Data 41
1.3 Tầng nghiệp vụ 42
1.4 Cơ sở dữ liệu 42
2 Kết quả Demo 42
2.1 Form giao diện người dùng chính 42
2.2 Form giao diện quản lý thành phần 44
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 49
1 Kết quả đạt được 49
2 Hướng phát triển của đề tài 49
TÀI LIỆU THAM KHẢO 50
Trang 4LỜI CẢM ƠN
Trong quá trình làm đề tài này, em đã nhận được nhiều sự giúp đỡ để
có thể hoàn thành được đề tài
Em xin gửi lời cảm ơn đến các thầy cô trong khoa Công nghệ thông tintrường đại học Vinh đã giúp đỡ em trong quá trình học cũng như thực hiện đềtài
Đặc biệt, em xin chân thành cảm ơn thầy giáo ThS Trương Trọng Cầnngười đã tận tình hướng dẫn, chỉ bảo trong suốt quá trình thực hiện đề tàicũng như thực hiện báo cáo này
Sinh viên thực hiện:
Lương Thị Dịu
Lê Nghĩa Đàn
Trang 5MỞ ĐẦU
Ngày nay tin học đã thâm nhập vào tất cả mọi họat động của xã hội loàingười và máy tính điện tử trở thành một công cụ đắc lực , giảm nhẹ sức laođộng , công việ nhàm chán mà chúng ta thường gặp trong cuộc sống lao động
xã hội.Với sự phát triển vượt trội của tin học và việc ứng dụng tin học vào đờisống đã tạo ra một bước ngoặt lớn trong công cuộc phát triển xã hội Chính vì
sự phát triển của tin học như thế nên về mặt công nghệ cũng cần phát triểntheo
Xu hướng hiện tại trong việc tạo ra các chương trình ứng dụng là sửdụng những công nghệ mới vào trong công việc Công nghệ mới sẽ mang lạicho người lập trình những tiện lợi như tiết kiệm được về mặt thời gian, côngsức và khắc phục sự cố ở một thời gian ngắn nhất
Những công nghệ mới thường xuyên được phát triển và ứng dụng vàochương trình hiện có như công nghệ Ajax, GIP, UML và đặc biệt là côngnghệ Generate code (sinh mã) cho ứng dụng được phát triển mạnh
Song song với quá trình sử dụng công nghệ, người sản xuất luôn quantâm đến vấn đề mã nguồn mở, việc sử dụng mã nguồn mở có thể không tốtđối với những “quấy phá”, tuy nhiên nó lại rất hiệu quả với những ý tưởng,những sáng tạo từ cộng đồng
Cũng chính vì lý do này, trong đề tài này em quyết định thực hiện đề tài
“Xây dựng chương trình quản lý bệnh viện”.
Hệ thống được phân tích và thiết kế trên môi trường C# và được thiết kế dữliệu bằng SQL Server 2005, các chương tiếp theo sẽ nói rõ hơn về vấn đề này Mặc dù co nhiều cố gắng nhưng vốn kiến thức chưa sâu , thời gian cũngnhư khả năng nghiên cứu , tiếp cận hệ thống còn nhiều hạn chế nên không thểtránh khỏi những thiếu sót Rất mong được sự góp ý của quý thầy cô , anh chịcùng các bạn để báo cáo được hoàn thiện hơn
Trang 6Sinh viên thực hiện:
Lương Thị Dịu
Lê Nghĩa Đàn
Trang 71.2 Hướng nghiên cứu
1.2.1 Về mặt lý thuyết
Trong đề tài này hệ thống làm việc phải chính xác, hiệu quả, vì thếtrong quá trình nghiên cứu cần phải tìm hiểu kỹ về mặt lý thuyết
Đề tài tập trung nghiên cứu những vấn đề sau:
- Tìm hiểu ngôn ngữ lập trình (DotNet, SQL Server )
- Nghiên cứu quy trình làm phần mềm, từ phân tích, đặc tả đến càiđặt chương trình
- Tìm hiểu quy trình quản lý bệnh viện tại một vài bệnh viện
Trang 81.2.2 Về định hướng chương trình
Mặc dù chưa thể giải quyết những khó khăn nhưng việc định hướng khitriển khai chương trình có thể giúp ta không lạc giữa những chương trìnhkhác khi có sự hỗ trợ của những công nghệ mới, sau đây em xin đưa ra một
số công nghệ ứng dụng trong việc thực hiện đề tài này:
- Tìm hiểu và ứng dụng công nghệ NET framework, ngôn ngữC#.NET
- Tìm hiểu hệ quản trị cơ sở dữ liệu SQL SERVER 2005, mô hìnhClient/server trong SQL SERVER 2005;
- Rational Rose dùng để phân tích hệ thống bằng UML
1.3 Dự kiến kết quả đạt được
Đề tài xây dựng chương trình quản lý bệnh viện có hệ thống chínhxác, hiệu quả , phương pháp làm việc chặt chẽ Ví dụ như khi cần theo dõimột tiến trình điều trị, quản trị viên cần đi từ danh sách các bệnh nhân -> xácnhận lại thông tin -> mở bệnh án
1.3.1 Dự kiến cho ứng dụng quản lý bệnh viện
- Nắm bắt được quá trình quản lý trong bệnh viện và cơ chế hoạt
động của nó
- Xây dựng hoàn chỉnh hệ thống cho phép người sử dụng có thể thao
tác trên nó để quản lý việc điều trị cho bệnh nhân
- Tại phòng điều trị người sử dụng có thể đăng ký bệnh nhân vào
khám bệnh và tạo bệnh án cho bệnh nhân
- Tại phòng xét nghiệm người sử dụng có thể lưu kết quả xét nghiệm
vào bệnh án
- Tại phòng viện phí người sử dụng có thể thanh toán hết tất cả các
hóa đơn cần thiết
- Tại khoa điều trị các bác sĩ có thể lưu kết quả khám bệnh nhân, lưu
các theo dõi của bệnh nhân, cấp toa thuốc cho bệnh nhân và thực hiện các
Trang 9đăng ký yêu cầu khác như: đăng ký xét nghiệm, đăng ký chuyển viện, đăng
ký thanh toán
Trang 10CHƯƠNG 1:
CƠ SỞ LÝ THUYẾT
1 Ngôn ngữ sử dụng
1.1 Ngôn ngữ lập trình C#.Net
1.1.1 Công nghệ Net (Dot net)
Cấu trúc Net Framework:
.Net Framework là nền tảng cung cấp các tiện nghi cho việc xây dựng
và chạy các ứng dụng Các thành phần chính: CLR (common language runtime), FCL (.Net Framework Class Library)
Trong đó: CLR trừu tượng hóa các dịch vụ của hệ điều hành đóng vai trò thực thi các ứng dụng mà nó quản lý FCL cung cấp API hướng đối tượng
để viết các ứng dụng Net bằng FCL thay vì Window API, MFC, ATL, COM,v.v…
Managed module:
Khi xây dựng ứng dụng với trình biên dịch sản sinh mã CIL, nó sẽ tạo
ra các managed module Đó là các file thực thi được thiết kế để chạy trong
CLR Thông thường chúng có phần mở rộng là .EXE, .DLL hoặcNETMODULE
Bên trong một managed module có 4 yếu tố quan trọng:
Một header của file thực thi trên Windows;
Một CLR header chứa các thông tin quan trọng về module nhưversion của CLR, cờ điều khiển, tài nguyên sử dụng, vị trí kíchthước của metadata
Metadata mô tả mọi thứ bên trong module và các phần phụ thuộcbên ngoài: các kiểu dữ liệu, các hàm, các object được định nghĩatrong code và các tài nguyên DLL, COM hay managed module khácđược tham chiếu đến
Trang 11 Các chỉ lệnh IL (Intermediate Language) được sản sinh từ mã nguồnsau khi chúng ta biên dịch mã nguồn IL sau đó sẽ được CLR biêndịch một lần nữa ra mã máy (mã Assembly).
Mỗi managed module chứa siêu dữ liệu (metadata) mô tả nội dung
module Mọi trình biên dịch tương thích CLR đều tạo ra metadata trongmodule
- Metadata:
Metadata của một module được lưu trong một tập các bảng: bảng chứa
các phương thức được thừa kế bởi các kiểu này, bảng liệt kê các trường, bảngliệt kê các thuộc tính, v.v Một số bảng liệt kê các tham chiếu đến các kiểu dữliệu bên ngoài module, các assembly chứa các kiểu dữ liệu bên ngoài, v.v
Các thông tin metadata phụ được lưu trữ bên ngoài các bảng trongvùng heap chứa các mục tham chiếu bởi các thực thể bảng
- Common Intermediate Language (CIL):
CIL thường được mô tả như một ngôn ngữ mô phỏng assembly bởi nóđịnh nghĩa một tập hợp các chỉ lệnh trung gian cho bộ xử lý CLR
CIL có khoảng 100 chỉ lệnh, đóng vai trò trung gian giữa các ngôn ngữ
C#, VB.Net, Visual C++, J#, … Các managed module là kết quả của việc biêndịch từ các ngôn ngữ này sang CIL .Net có sẵn công cụ ILDASM để trìnhbày cho người sử dụng nội dung của một module dạng CIL
- Assembly:
Assembly là tập hợp một hoặc nhiều file được nhóm với nhau để hình
thành một đơn vị về logic và các file phải nằm trong cùng một thư mục
Các assembly còn được dùng để phân chia ứng dụng thành các phần rời
rạc để tiện download
1.1.2 Ngôn ngữ lập trình C#.NET
Microsoft Visual C#.NET là ngôn ngữ lập trình mạnh nhưng đơn giản,chủ yếu dùng cho việc tạo ra các ứng dụng chạy trên nền Microsoft NET C#
Trang 12được so sánh ngang bằng với vai trò của C trong việc phát triển UNIX Nóthừa hưởng nhiều đặc tính hay của ngôn ngữ C++ và Microsoft Visual Basic,loại bỏ đi những mâu thuẫn đặc tính lỗi thời C# có những đặc tính mới giúptăng nhanh tốc độ phát triển ứng dụng, đặc biệt khi kết hợp với MicrosoftVisual Studio NET.
Ngôn ngữ C# được biết đến như là một ngôn ngữ lập trình hiện đại,đơn giản và mạnh mẽ mang những đặc điểm:
- C# là ngôn ngữ đơn giản: không phức tạp và rối rắm như ngôn ngữjava hay C++, C# loại bỏ những macro, template, đa kế thừa, lớp cơ sở ảonhững yếu tố hay gây ra sự nhầm lẫn cho người phát triển ứng dụng C# khágiống C++ hay java về diện mạo, cú pháp, biểu thức toán tử song đã đượccải tiến để vừa mang lại sự thân thiện với những người đã quen với C++ vàcũng đơn giản hơn để học
- C# là một ngôn ngữ hiện đại: C# mang những đặc tính của một ngônngữ hiện đại như: xử lý ngoại lệ, thu gom bộ nhớ tự động, kiểu dữ liệu mởrộng, bảo mật mã nguồn
- C# là ngôn ngữ hướng đối tượng (object oriented language): C# hỗ trợnhững đặc điểm của một ngôn ngữ hướng đối tượng là sự đóng gói(encapsulation), sự kế thừa (inheritance), tính đa hình (polymorphism)
- C# là ngôn ngữ mạnh mẽ và mềm dẻo: với ngôn ngữ C# chúng ta chỉ
bị giới hạn bởi chính bản thân hay trí tưởng tượng của chúng ta, ngôn ngữ nàykhông đặt những ràng buộc lên những việc có thể làm C# được sử dụng chonhiều dự án khác nhau như tạo ra ứng dụng xử lý văn bản, xử lý đồ họa haythậm chí là trình biên dịch cho những ngôn ngữ khác
- C# là ngôn ngữ ít từ khóa: chỉ với khoảng 80 từ khóa nhưng C# vẫn
có thể đáp ứng tất cả các yêu cầu về thao tác bất kỳ nhiệm vụ nào
- C# là ngôn ngữ hướng module: Mã nguồn C# được viết trong nhữngphần gọi là lớp, những lớp này chứa các phương thức thành viên của nó và cóthể sử dụng lại trong các ứng dụng hay chương trình khác bằng cách truyền
Trang 13những mẩu thông tin đến những lớp hay phương thức chúng ta có thể tạo ramột mã nguồn có tính sử dụng lại một cách hiệu quả.
- C# sẽ là một ngôn ngữ phổ biến: có thể nói rằng C# là một trongnhững ngôn ngữ mới nhất Cùng với các đặc tính của nó và mong muốn củaMicrosoft C# đã đang và sẽ là một ngôn ngữ được sử dụng rộng rãi
Từ những lý do trên tôi quyết định chọn C# là ngôn ngữ để phát triển
đề tài của mình
1.2 Hệ quản trị cơ sở dữ liệu SQL Server 2005
1.2.1 Giới thiệu
Hệ quản trị cơ sở dữ liệu là phần mềm cho phép định nghĩa, khởi tạo,
bảo trì cơ sở dữ liệu và cung cấp các truy xuất điều khiển đến dữ liệu
Hệ quản trị cơ sở dữ liệu quan hệ là hệ quản trị dữ liệu dựa trên mô
1.2.2 Các thành phần quan trọng của SQL Server 2005
- Relational Database Engine: - Cái lõi của SQL Server
Ðây là engine có khả năng chứa data với các quy mô khác nhau dưới
dạng table và hỗ trợ tất cả các kiểu kết nối dữ liệu thông dụng của MicrosoftActiveX Data Objects - ADO, Open Database Connectivity - ODBC,…
- Replication - Cơ chế tạo bản sao (Replicate)
Cơ chế Replication của SQL Server sẽ bảo đảm cho dữ liệu ở 2database được đồng bộ (synchronized)
- Data Transformation Service (DTS) - chuyển dịch dữ liệu hiệu quả
Trang 14Giúp di chuyển dữ liệu giữa các server hiệu quả và định dạng trước khilưu vào database khác, khi đó ta sẽ thấy DTS giúp giải quyết công việc mộtcách dễ dàng.
- Analysis Service - dịch vụ phân tích dữ liệu của Microsoft
- SQL Server Tools - một công cụ của người quản trị cơ sở dữ liệu.Các công cụ đó bao gồm:
Có những dữ liệu đầu ra không chỉ là ngôn ngữ lập trình C# mà PHP,VB.Net các Procedure, Function, Statement của các hệ quản trị cơ sở dữliệu như DB2, Oracle, MySql, Access
Trong chương trình này, việc áp dụng một công cụ chỉ dừng lại ở mức
độ là có thể Gen ra được ngôn ngữ C# (trong bộ Dot.Net) và đầu vào chỉ làcác bảng trong hệ quản trị cơ sở dữ liệu SQL Server 2005
2.2.2 Kiểm tra điều kiện đầu vào
Đầu vào của chương trình được kiểm tra dựa vào File config trongchương trình, việc tạo File Config này theo một nguyên tắc sau:
Trang 15Những thông số trên có ý nghĩa như sau:
ServerName="(local)" Đây là tên Server chúng ta muốnkết nối đến
DatabaseName="benhvien" Tham số này được hiểu dùng
để khai báo tên của cơ sở dữ liệu có trên Server, nói cách khác đây chính làtên của cơ sở dữ liệu chúng ta cần thao tác trên nó
ConnectType="Windows"
LoginName="" Password=""
Đây là quá trình khai báo kiểu kết nối, có hai kiểu kết nối đến cơ sở
dữ liệu như sau:
- Một là: Windows Authentication
- Hai là: SQL Server Authentication
Trong chương trình này, sử dụng kết nối Windows và việc login vào làkhông cần Password và Name để đăng nhập
<InfoLogin LoginName="" LoginPass=""
SavePass="False" />
<WebService WS_URL="" WS_ClientName="" />
Hai dòng lệnh trên đây nói lên được thông tin kết nối, sẽ hiển thị namelogin vào và thiết lập không lưu lại password khi thoát khỏi quá trình đăngnhập Thêm vào đó là việc thiết lập thêm thuộc tính tùy chọn có thể cho ta kếtnối đến cơ sở dữ liệu trên những máy tính khác nhau
Ngoài những thông số như trên, để kiểm tra điều kiện đầu vào chương
trình này cũng dùng song song file DBConfigconnect Trong file này chủ
yếu khai báo những thuộc tính của Server, driver,ngôn ngữ sử dụng
Trang 16Hình 2.2: Khai báo điều kiện đầu vào
Việc kiểm tra kết nối dựa vào những điều kiện và thông báo ở trên nếukết nối thành công thì chương trình số thao tác trên dữ liệu đó
2.2.3 Thành phần đầu ra
Tùy thuộc vào từng chương trình mà việc áp dụng công cụ có thể gen
ra dữ liệu thuộc loại gì?
Việc ứng dụng công cụ trong đề tài này chỉ xây dựng chương trình cóthể sinh ra mã trung gian đó là ngôn ngữ lập trình C# và mọi thao tác đềuthực hiện trên nền cơ sở dữ liệu SQL Server
Việc phát sinh mã đích dựa vào quá trình biên dịch như sau :
Trình biên dịch làm nhiệm vụ đọc một chương trình được viết bằng
một ngôn ngữ khác - ngôn ngữ nguồn (Source Language) thành một ngôn ngữ khác là ngôn ngữ đích (Target Language) Một phần quan trọng trong quá
trình dịch là ghi nhận lại các lỗi có trong chương trình nguồn để thông báolại cho người viết chương trình
Hình 2.3: Mô hình làm việc của trình biên dịch
<Setting Name="DbDriver" value="Sqlclient" />
<Setting Name="ConnectionString"value="Database=C:\Program
Files\Microsoft SQL Server\MSSQL\Data;
User=(local);Password=;Dialect=;
Server=localhost";" />
<Setting Name="Language" value="C#" />
<Setting Name="DbTarget" value="Sql" />
<Setting Name="EnableLineNumbering" value="False" />
<Setting Name="EnableClipboard" value="True" />
<Setting Name="Tabs" value="4" />
<Setting Name="ScriptTimeout" value="-1" />
<Setting Name="CheckForNewBuild" value="False" />
Trang 17Trong trình biên dịch, thì mô hình phân tích được chia thành hai quá trình là Phân tích và tổng hợp:
Hình 2.4: Mô hình phân tích và tổng hợp của trình biên dịch.
Phân tích Để có được đặc tả trung gian
Tổng hợp Để có được chương trình đích
Ngoài trình biên dịch, chúng ta có thể cần dùng đến nhiều chươngtrình khác nữa để tạo ra một chương trình đích có thể thực thi được(executable) Các chương trình đó gồm: bộ tiền xử lý, trình dịch hợp ngữ, bộtải và soạn thảo liên kết
Một chương trình nguồn có thể được phân thành các module và đượclưu trong các tập tin riêng rẽ Công việc tập hợp lại các tập tin này thườngđược giao cho một chương trình riêng biệt gọi là bộ tiền xử lý (preprocessor)
Bộ tiền xử lý có thể “bung” các ký hiệu tắt được gọi là các macro thành cáccâu lệnh của ngôn ngữ nguồn
Ngoài ra, chương trình đích được tạo ra bởi trình biên dịch có thể cầnphải được xử lý thêm trước khi chúng có thể chạy được Thông thường, trình
biên dịch chỉ tạo ra mã lệnh hợp ngữ (assembly code) để trình dịch hợp ngữ
(Assembler) dịch thành dạng mã máy rồi được liên kết với một số thủ tục
trong thư viện hệ thống thành các mã thực thi được trên máy
Để dễ hình dung, một trình biên dịch được chia thành các giai đoạn,mỗi giai đoạn chuyển chương trình nguồn từ một dạng biểu diễn này sangdạng biểu diễn khác Một cách phân rã điển hình trình biên dịch như sau:
Trang 18Hình 2.5: Quy trình xử lý của một trình biên dịch
Trong mỗi giai đọan biên dịch đều có thể gặp nhiều lỗi, do đó cách xử
lý lỗi cũng tùy thuộc trình biên dịch: có thể dừng lại nếu gặp lỗi hoặc ghinhận lỗi và tiếp tục Ở đây là ghi nhận lỗi và tiếp tục xử lý
Giai đoạn phân tích từ vựng: Đọc từng ký tự gộp lại thành Token,Token có thể là một từ khóa, một danh biểu, một ký tự…,chuỗi ký tự tạothành token gọi là lexeme-trị từ vựng của token
Phân tích cú pháp và ngữ nghĩa: Xây dựng cấu trúc phân cấp cho chuỗicác token
Sinh mã trung gian: Sau khi phân tích ngữ nghĩa, một số trình biên dịch
sẽ tạo ra một dạng biểu diễn trung gian của chương trình nguồn Chúng ta cóthể xem dạng biểu diễn này như một chương trình dành cho một máy trừutượng Chúng có 2 đặc tính quan trọng: dễ sinh và dễ dịch thành chương trìnhđích
Trang 19ra, ở đây ta sử dụng sự hỗ trợ của công nghệ vào chương trình quản lý bằngcách:
- Viết code cho một form nào đó, sau đó copy các đoạn code phù hợpvào trong các lớp của trình quản lý và tinh chỉnh
Do có sự hỗ trợ của công nghệ và sự copy tinh chỉnh nên đòi hỏi hệ thốngphải có những yêu cầu chung:
- Cung cấp công cụ phục vụ người dùng
- Có hệ thống tùy chọn, tạo và kiểm tra sự kết nối;
- Xây dựng hệ thống có thể tạo mới được Project
Trang 20CHƯƠNG 2
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1 Phân tích hệ thống
1.1 Phân tích yêu cầu
1.1.1 Yêu cầu chung
Xây dựng chương trình quản lý bệnh viện, viết bằng ngôn ngữ lập trìnhC#.Net, sử dụng hệ quản trị cơ sở dữ liệu Sql Server 2005 là một hệ thốngchương trình giúp cho chúng ta quản lý nhân viên trong bệnh viện cũng nhưcác bệnh nhân khi đến khám chữa bệnh một cách nhanh và có hiệu quả Đồngthời chúng ta còn có thể đưa ra được các phiếu xuất viên, nhập viện của bệnhnhân, các danh sách bệnh nhân nội trú, ngoại trú, biết được tất cả các danhsách y tá, bác sĩ, nhân viên kỹ thuật … trong bệnh viện
1.1.2 Yêu cầu quản lý
- Cung cấp đầy đủ các chức năng quản lý như: thêm mới, lưu thông tin,hiển thị thông tin, xóa thông tin, tìm kiếm thông tin, in danh sách
Chức năng thêm mới được dùng để đăng thêm các đối tượng vào
cơ sở dữ liệu
Lưu thông tin khi có thêm mới
Hiển thị thông tin về các đối tượng dưới dạng bảng
Xóa thông tin: xóa các đối tượng không sử dụng
Tìm kiếm các đối tượng theo các thông tin: tên, mã quản lý,khoa, … Chúng ta có thể tìm kiếm các đối tượng trong giới hạn ngày, vàthông kê số lượng theo khoa, ngày,…
In danh sách: hiển thị thông tin dưới dạng các phiếu và cho phépin
- Hệ thống có thể quản lý các đối tượng:
Trang 21 Hệ thống các khoa trong bệnh viện: khoa nội, khoangoại, khoa huyết học, khoa thần kinh, khoa tim mạch, khoa răng hàm mặt,
…
viên thực hiện các thao tác kỹ thuật, và các nhân viên này vừa được quản lýtheo tên, mã, số điện thoại, địa chỉ liên lạc, và khoa công tác
nhân ngoại trú và bệnh nhân nội trú Cả hai loại bệnh nhân này đều được quản
lý dựa vào mã bệnh nhân, tên bệnh nhân, tuổi , địa chỉ, khoa… Tuy nhiên,bệnh nhân ngoại trú còn phải kèm theo thông tin như ngày bắt đầu khám,ngày tái khám Và bệnh nhân nội trú phải có thông tin giường nằm
các loại toa và phiếu được sử dụng cho công việc điều trị, theo dõi tình trạngbệnh nhân Thông tin toa thuốc cung cấp đầy đủ về tình trạng bệnh nhân vàthông tin liên quan như mã bệnh nhân, mã toa thuốc, tình trạng, tổng số tiền,
… Để quản lý tốt hơn phải có thêm bảng chi tiết toa thuốc để biết xem bệnhnhân đó đã được cho sử dụng thuốc nào, giá tiền mỗi loại, … Phiếu kỹ thuậtcũng vậy, nó phải cung cấp đầy đủ các thông tin về bệnh nhân và các kỹ thuật
y tế mà bác sĩ đã chỉ định cho bệnh nhân sử dụng
Các thông tin cụ thể liên quan được phân tích trong phần phân tích cơ sở
dữ liệu và phân tích chức năng
1.1.3 Yêu cầu chương trình
- Chương trình có thể chạy trên mạng Lan, lấy dữ liệu tập trung
- Chương trình có thể đáp ứng được các chức năng cơ bản của người dùng
- Cách quản lý bố trí các chức năng là dễ dàng, thuận tiện và thân thiện
- Chương trình phải xử lý tất cả các lỗi nhập vào của người dùng
1.1.4 Yêu cầu về giao diện sử dụng
- Chương trình phải có hệ thống Menu chính, menu trên Systemtray,các menu popup, toolbar, các chức năng phải có phím tắt
Trang 22- Do đặc thù của hệ thống bệnh viện là quản lý theo từng đối tượng nêngiao diện phải đáp ứng được các đặc thù đó.
- Các chức năng tập trung theo từng đối tượng quản lý
Trang 231.2 Biểu đồ phân cấp chức năng
1.3 Biểu đồ luồng dữ liệu mức ngữ cảnh
Trang 251.3.1 Biểu đồ luồng dữ liệu mức đỉnh