Professional Documents
Culture Documents
ĐỒ ÁN TỐT NGHIỆP
2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐỒ ÁN TỐT NGHIỆP
MỤC LỤC
MỤC LỤC........................................................................................................3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.............................................................13
4
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
6
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
7
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Hình 3-28: Giao diện cơ sở vật chất, video, đội ngũ bác sĩ.............................85
Hình 3-29: Giao diện thông tin chi tiết bác sĩ.................................................86
Hình 3-32: Giao diện đăng nhập tài khoản trên Website.................................89
Hình 3-34: Giao diện trang hiển thị danh mục tin tức trên Website................90
8
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Bảng 3-3: Danh sách các lớp đối tượng và quan hệ........................................53
9
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
LINQ Languege Integrated Query Ngôn ngữ tích hợp truy vấn
HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn
bản
CSS Cascading Style Sheets Ngôn ngữ quy định cách trình
bày của các thẻ html trên trang
web
10
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Thời đại nào cũng thế, sức khỏe luôn được đặt lên hàng đầu bởi vậy mới có
câu nói “Có sức khỏe là có tất cả”. Khi chất lượng cuộc sống ngày càng được tốt
hơn thì nhu cầu khám chữa bệnh chăm sóc sức khỏe của người dân ngày càng lớn.
Yêu cầu về dịch vụ đi kèm cũng đòi hỏi phải được nâng cao.
Trong khi các bệnh viện công đang trong tình trạng quá tải bởi nhu cầu khám
chữa bệnh thì có nhiều bệnh viện tư nhân được thành lập giúp cho người dân có
nhiều sự lựa chọn.
Kinh doanh trong lĩnh vực y tế khám chữa bệnh cũng như nhiều ngành nghề
kinh doanh khác, các doanh nghiệp tổ chức y tế chăm sóc sức khỏe đang phải đối
diện với nhiều áp lực về chất lượng dịch vụ, khả năng điều trị cũng như số lượng
các đối thủ cạnh tranh.
Vậy làm thế nào để quảng bá chất lượng dịch vụ của bệnh viện tới người dân
một cách hiệu quả? Sở hữu một website bệnh viện là phương tiện hiệu quả nhất
giúp cho bệnh viện của bạn vượt lên đối thủ cạnh tranh và quảng bá được dịch vụ
một cách thành công. Bên cạnh đó bệnh nhân có cơ hội tìm hiểu một cách dễ dàng
về dịch vụ khám chữa bệnh chăm sóc sức khỏe tại bệnh viện.
Là một bệnh viện tư đang phát triển, Bệnh viện Đa khoa Hưng Hà rất quan
tâm đến website của mình. Hiện tại Bệnh viện đã có một website nhưng do đã lâu
nên chưa thực sự thân thiện với người dùng, chưa có nhiều chức năng nhằm quảng
bá thương hiệu của bệnh viện, cũng như khách hàng khó tìm kiếm các thông
tin,...Vì vậy bệnh viện cần thay đổi website hiện tại để nâng cao chất lượng khám
chữa bệnh, quảng bá thương hiệu, thuận tiện cho người dùng tra cứu thông tin khám
chữa.
Là sinh viên ngành CNTT, em luôn mong muốn mình sẽ làm được gì đó để
ứng dụng những kiến thức đã học xây dựng được những sản phẩm có ứng dụng
11
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
thực tế. Với mong muốn áp dụng những kiến thức mình đã học được tạo ra sản
phẩm hoàn thiện có tính thực tế, đồng thời giúp nâng cao khả năng lập trình và đúc
rút được nhiều kinh nghiệm cho những công việc trong tương lai sau khi ra trường,
cùng với sự đồng ý của giáo viên hướng dẫn đề tài, em quyết định lựa chọn đề tài
“Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà” để làm đề tài
đồ án tốt nghiệp.
Trình bày được các vấn đề liên quan đến APS.NET MVC và ứng dụng vào
xây dựng website Bệnh viện Đa khoa Hưng Hà
Xây dựng được website để nâng cao chất lượng khám chữa bệnh, quảng bá
thương hiệu, thuận tiện cho người bệnh khi tra cứu thông tin khám chữa bệnh,...cho
Bệnh viện Đa khoa Hưng Hà
Triển khai cài đặt và cấu hình Website trên môi trường Internet.
Đề tài xây dựng website Bệnh viện Đa khoa Hưng Hà sử dụng các công nghệ
lập trình như ASP.NET MVC, SQL Serve 2014 và công cụ lập trình Visual Studio
2015
- Nghiên cứu công nghệ lập trình Website với ASP.NET MVC
- Phân tích yêu cầu và đề xuất giải pháp Website trên công nghệ .NET
13
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1.1 Xuất xứ
Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox
PARC ở Palo Alto. Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập
trình hướng đối tượng (Object Oriented Programming) cho phép lập trình viên làm
việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và
phương thức riêng của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox
PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model –
View – Controller). MVC được phát minh tại Xerox Parc vào những năm 70, bởi
TrygveReenskaug. MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80.
Sau đó trong một thời gian dài hầu như không có thông tin nào về MVC, ngay cả
trong tài liệu 80 Smalltalk. Các giấy tờ quan trọng đầu tiên được công bố trên MVC
là “A Cookbook for Using the Model-View-Controller User Interface Paradigm in
Smalltalk - 80”, bởi Glenn Krasner và Stephen Pope, xuất bản trong tháng 8 / tháng
9 năm 1988.
Trong kiến trúc MVC, một đối tượng đồ họa người dùng (GUI Component)
bao gồm 3 thành phần cơ bản: Model, View và Controller. Model có trách nhiệm
đối với toàn bộ dữ liệu cũng như trạng thái của đối tượng đồ họa. View chính là thể
hiện trực quan của Model, hay nói cách khác chính là giao diện của đối tượng đồ
họa. Và Controller điều khiển việc tương tác giữa đối tượng đồ họa với người sử
dụng cũng như những đối tượng khác.
14
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Khi người sử dụng hoặc những đối tượng khác cần thay đổi trạng thái của đối
tượng đồ họa, nó sẽ tương tác thông qua Controller của đối tượng đồ họa. Controller
sẽ thực hiện việc thay đổi trên Model. Khi có bất kỳ sự thay đổi nào ở xảy ra ở
Model, nó sẽ phát thông điệp (broadcast message) thông báo cho View và
Controller biết. Nhận được thông điệp từ Model, View sẽ cập nhật lại thể hiện của
mình, đảm bảo rằng nó luôn là thể hiện trực quan chính xác của Model. Còn
Controller, khi nhận được thông điệp từ Model, sẽ có những tương tác cần thiết
phản hồi lại người sử dụng hoặc các đối tượng khác.
15
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Lợi ích quan trọng nhất của mô hình MVC là nó giúp cho ứng dụng dễ bảo trì,
module hóa các chức năng, và được xây dựng nhanh chóng. MVC tách các tác vụ
của ứng dụng thành các phần riêng lẽ model, view, controller giúp cho việc xây
dựng ứng dụng nhẹ nhàng hơn. Dễ dàng thêm các tính năng mới, và các tính năng
cũ có thể dễ dàng thay đổi. MVC cho phép các nhà phát triển và các nhà thiết kế có
thể làm việc đồng thời với nhau. MVC cho phép thay đổi trong 1 phần của ứng
dụng mà không ảnh hưởng đến các phần khác. Sở dĩ như vậy vì kiến trúc MVC đã
tách biệt (decoupling) sự phụ thuộc giữa các thành phần trong một đối tượng đồ
họa, làm tăng tính linh động (flexibility) và tính tái sử dụng (reusebility) của đối
tượng đồ họa đó. Một đối tượng đồ họa bấy giờ có thể dễ dàng thay đổi giao diện
bằng cách thay đổi thành phần View của nó trong khi cách thức lưu trữ (Model)
cũng như xử lý (Controller) không hề thay đổi. Tương tự, ta có thể thay đổi cách
thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng đồ họa mà những thành
phần còn lại vẫn giữ nguyên.
Chính vì vậy mà kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều
framework và thư viện đồ họa khác nhau. Tiêu biểu là bộ thư viện đồ họa của ngôn
ngữ lập trình hướng đối tượng SmallTalk (cũng do Xerox PARC nghiên cứu và phát
triển vào thập niên 70 của thế kỷ 20). Các Swing Components của Java cũng được
xây dựng dựa trên kiến trúc MVC. Đặc biệt là nền tảng ASP.NET MVC Framework
sẽ được em trình bày ở chương sau đây.
Như đã nói ở phần 1, mô hình MVC với những ưu điểm đã được ứng dụng
nhiều trên các nền tảng (framework) khác nhau, trong đó có một nền tảng
(framework) nổi tiếng được nhiều người biết đến và sử dụng đó là nền tảng
(framework) ASP.NET MVC. Vậy ASP.NET MVC là gì ? ASP.NET MVC là một
nền tảng (framework) phát triển ứng dụng web mới của Microsoft, nó kết hợp giữa
16
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
tính hiệu quả và nhỏ gọn của mô hình model-viewcontroller(MVC), những ý tưởng
và công nghệ hiện đại nhất, cùng với những thành phần tốt nhất của nền tảng
ASP.NET hiện thời. Là một lựa chọn khác bên cạnh nền tảng WebForm khi phát
triển 1 ứng dụng web sử dụng ASP.NET. Trong chương này em sẽ trình bày lý do
lại sao ASP.NET MVC được tạo ra, nó có gì khác so với ASP.NET WebForm, và
cuối cùng là những cái mới trong ASP.NET MVC.
Để hiểu được những đặc điểm nổi bật và mục tiêu thiết kế của ASP.NET
MVC, trước tiên cần coi lại lịch sử phát triển của website ASP. Trong số những nền
tảng phát triển web của Microsoft, chúng ta sẽ thấy sức mạnh và sự phức tạp tăng
lên theo từng năm. Như trong bảng ta thấy mỗi nền tảng mới đều giải quyết những
thiếu sót đặc trưng của nền tảng trước đó. Tương tự, ASP.NET MVC được thiết kế
để giải quyết những thiếu sót của ASP.NET WebForms truyền thống, nhưng lại
bằng cách nhấn mạnh sự đơn giản.
17
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Thời kỳ đầu Common Gateway Đơn giản, linh hoạt Chạy ngoài web
Interface (CGI) Lựa chọn duy nhất serve, nên cần nhiều
vào thời điểm này tài nguyên (cần các
tiến trình riêng lẻ
trên HĐH cho mỗi
lời yêu cầu)
Cấp thấp
Thời kỳ tiếp Microsoft Internet Chạy trong web Chỉ là đóng gói cho
theo Database Connector server những câu truy vấn
(IDC) SQL và template
cho các kết quả
1996 Active Server Pages Khả năng dễ tiếp Mục đích chung Xu
(ASP) cận, tính mở, không hướng “spaghetti
cần biên dịch code”
18
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
ASP.NET đã là 1 bước nhảy vọt khi lần đầu tiên xuất hiện, nhằm thu hẹp khoảng
cách giữa phát triển Window Form hướng đối tượng (có trạng thái) và phát triển
web hướng HTML (không có trạng thái). Hình dưới minh họa công nghệ Asp.net
WebForm trong lần đầu xuất hiện năm 2002.
Microsoft đã cố gắng che dấu HTTP (không trạng thái) và HTML (vào thời điểm đó
không thân thiện với nhiều người lập trình) bằng cách dùng mô hình giao diện như
một đối tượng điều khiển (control) có cấu trúc hoạt động phía server.
Mỗi đối tượng điều khiển (control) lưu giữ trạng thái qua các yêu cầu (request)
(sử dụng tính năng ViewState), tự động tạo ra mã HTML khi cần thiết, và tự động
kết nối với các sự kiện phía client (ví dụ như click) với mã hồi đáp phía server. Kết
19
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
quả WebForm là một lớp trừu tượng lớn nhằm chuyển giao diện có xử lý sự kiện
thông qua Web.
ASP.NET truyền thống đã từng là một ý tưởng hay, nhưng thực tế lại trở nên rắc
rối. Qua nhiều năm, sử dụng ASP.NET WebForm cho thấy có một số nhược điểm:
- ViewState (trạng thái hiển thị): Kĩ thuật lưu giữ trạng thái qua các yêu cầu
(request) thường mang lại kết quả là những khối dữ liệu lớn được chuyển qua lại
giữa client và server. Nó có thể đạt hàng trăm kilobytes trong nhiều dữ liệu thực, và
nó đi qua đi lại với mỗi lần yêu cầu (request), làm những người truy cập vào trang
web phải chờ một thời gian dài khi họ click một button hoặc cố gắng di chuyển đến
trang kế tiếp. ASP.NET bị tình trạng này rất tồi tệ, Ajax là một trong các giải pháp
được đưa ra để giải quyết vấn đề này.
- Page life cycle (chu kỳ sống của một trang web): Kĩ thuật kết nối sự kiện
phía client với mã xử lý sự kiện phía server là một phần của page life cycle, có thể
cực kì rắc rối và mỏng manh. Chỉ có một số ít lập trình viên thành công trong việc
xử lý hệ thống đối tượng điều khiển (control) trong thời gian thực mà không bị lỗi
ViewState hoặc hiểu được rằng một số trình xử lý sự kiện không được kích hoạt
một cách bí hiểm.
- Limited control over HTML (giới hạn kiểm soát HTML): Server control tự
tạo ra nó như là mã HTML, nhưng không phải là mã HTML mà bạn muốn. Ngoài
việc mã HTML của chúng thường không tuân theo tiêu chuẩn web hoặc không sử
dụng tốt CSS mà hệ thống các server control còn tạo ra các giá trị ID phức tạp và
không đoán trước dc, làm khó khăn trong việc sử dụng JavaScript.
- Ý thức sai về sự tách biệt các thành phần: Mô hình code-behind của
ASP.NET cung cấp một giải pháp cho phép ứng dụng đưa mã ra khỏi các dòng
HTML vào thành một lớp code – behind riêng biệt. Điều này đã được ca ngợi là làm
tách biệt giữa giao diện với mã xử lý, nhưng thực tế người lập trình được khuyến
khích pha trộn mã xử lý giao diện (xử lý cây control phía server) với mã xử lý
20
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
chương trình (xử lý CSDL) trong cùng những lớp code behind khổng lồ. Nếu không
có sự tách biệt rõ ràng giữa các thành phần, kết quả cuối cùng thường là mỏng
manh và khó hiểu.
- Untestable (kiểm chứng): Khi những người thiết kế của ASP.NET lần đầu
tiên giới thiệu nền tảng này, họ có thể đã không lường trước được là việc kiểm thử
(test) tự động sẽ trở thành một công đoạn chính của việc phát triển phần mềm ngày
nay. Không quá ngạc nhiên, cấu trúc mà họ đã thiết kế hoàn toàn không thích hợp
với việc kiểm thử (test) tự động.
- ASP.NET tiếp tục bổ sung thêm các tính năng. Phiên bản 2.0 thêm nhiều
thành phần (component) chuẩn có thể giảm khá nhiều lệnh mà bạn cần phải tự viết.
AJAX release năm 2007 đã là phản hồi của Microsoft với phong trào Web 2.0/Ajax
hồi đó, hỗ trợ tương tác phía client trong khi làm cho công việc của người lập trình
đơn giản hơn. Phiên bản 3.5 là một bản nâng cấp nhỏ hơn, thêm hỗ trợ cho các tính
năng của .NET 3.5 và các đối tượng điều khiển (control) mới. Tính năng ASP.NET
Dynamic Data tạo ra các trang cho phép chỉnh sửa / liệt kê cơ sở dữ liệu một cách
tự động .
Vào tháng 11 năm 2007, ở hội thảo ALT.NET tại Austine, Texas, giám đốc điều
hành Scott Guthrie của Microsoft đã công bố và mô tả về nền tảng phát triển web
MVC mới, xây dựng trên ASP.NET, rõ ràng được thiết kế như là một lời hồi đáp
thẳng vào các lời chỉ trích trước đây.
ASP.NET MVC cung cấp sự tách biệt rõ ràng giữa các thành phần bất chấp việc sử
dụng lại mô hình MVC mặc dù nó không có gì mới – MVC lần đầu được công bố
vào năm 1978 trong dự án Smalltalk của Xerox PARC - nhưng ngày nay nó phổ
biến như là một kiến trúc cho các ứng dụng web bởi vì các lý do sau :
- Người dùng tương tác với ứng dụng MVC tự nhiên sẽ theo một chu trình :
người dùng thực hiện một hành động, và để hồi đáp lại, ứng dụng thay đổi mô hình
dữ liệu của nó và chuyển một trang đã được cập nhật cho người dùng, và sau đó
21
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
vòng xoay lập lại. Điều này là thích hợp cho một ứng dụng web phải luân chuyển
hàng loạt các lời yêu cầu cũng như hồi đáp.
- Những ứng dụng web luôn cần phải kết hợp một số công nghệ (về cơ sở dữ
liệu, HTML và mã xử lý), luôn chia thành nhiều lớp, và những mẫu đề ra đã nảy
sinh thành các khái niệm trong MVC. ASP.NET MVC thực thi một biến thể hiện
đại trên MVC mà đặc biệt thích hợp với các ứng dụng web.
Như đã giới thiệu ở chương trên, ASP.NET MVC cũng chia nhỏ một ứng dụng
thành ba thành phần để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh
hưởng lẫn nhau, đó là models, views, và controllers.
Models trong các ứng dụng dựa trên MVC là những thành phần có nhiệm vụ lưu trữ
thông tin, trạng thái của các đối tượng, thông thường nó là một lớp được ánh xạ từ
một bảng trong CSDL. Lấy ví dụ, chúng ta có lớp Giáo trình được sử dụng để mô tả
dữ liệu từ bảng Giáo trình trong SQL, bao gồm Mã giáo trình, Tên giáo trình...
Views chính là các thành phần chịu trách nhiệm hiển thị các thông tin lên cho người
dùng thông qua giao diện. Thông thường, các thông tin cần hiển thị được lấy từ
thành phần Models.
Ví dụ, đối tượng Giáo trình có một "Edit" view bao gồm các textbox, các dropdown
và checkbox để chỉnh sửa các thuộc tính của thông tin giáo trình; có một "Display"
22
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
view gồm 2 dòng, cột dòng là Mã giáo trình, dòng sau là Tên giáo trình... để xem
thông tin về sinh viên.
Controllers trong các ứng dụng kiểu MVC chịu trách nhiệm xử lý các tác động về
mặt giao diện, các thao tác đối với models, và cuối cùng là chọn một view thích hợp
để hiển thị ra màn hình. Trong kiến trúc MVC, View chỉ có tác dụng hiển thị giao
diện mà thôi, còn điều kiển dòng nhập xuất của người dùng vẫn do Controllers đảm
trách.
Bạn đã được nghe qua về điểm yếu và giới hạn của ASP.NET WebForm truyền
thống, và làm thế nào mà ASP.NET MVC vượt qua những vấn đề này. Điều đó
không có nghĩa là ASP.NET WebForm đã chết mà chỉ là : Microsoft muốn mọi
người hiểu rằng có hai nền tảng song song nhau, hỗ trợ cho nhau, và cả hai đều là
đối tượng cho việc phát triển hiện tại. Nói chung, việc bạn chọn lựa giữa hai mô
hình còn tùy vào hoàn cảnh.
ASP.NET WebForm mang tới một trang web mà giao diện có thể lưu giữ trạng
thái, và cuối cùng thêm vào một lớp trừu tượng tinh vi nằm trên HTTP và HTML,
sử dụng ViewState và postback để tạo ra hiệu ứng của việc có trạng thái . Điều này
thích hợp với phong cách phát triển kéo và thả của Window Form, tức là bạn đặt
các đối tượng có giao diện lên trang và mã xử lý vào trình xử lý sự kiện của chúng.
MVC hòa vào bản chất không trạng thái của HTTP, làm việc chung với nó hơn là
chống lại. Điều này yêu cầu bạn phải hiểu thật sự cách làm việc của một ứng dụng
web, để đạt được điều đó, MVC cung cấp một cách tiếp cận đơn giản, mạnh mẽ và
hiện đại cho việc viết các ứng dụng web với mã có trật tự mà dễ dàng để kiểm thử
(test) và bảo trì sau này, giải phóng những phức tạp khó chịu và các giới hạn không
đáng có.
Điều đặc biệt là ASP.NET MVC có mã nguồn mở, không giống các nền tảng trước
đó, bạn có thể dễ dàng tải mã nguồn gốc của ASP.NET MVC, thậm chí bạn có thể
sửa đổi và tạo ra phiên bản của riêng bạn.
23
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Có những tình huống mà ASP.NET WebForm khá tốt thậm chí còn tốt hơn
ASP.NET MVC. Ví dụ như các ứng dụng nhỏ, nội bộ mà trực tiếp kết nối thẳng vào
các bảng CSDL hoặc dẫn người sử dụng thông qua các trình hướng dẫn tự động
(wizard). Vì thế sẽ không cần phải lo lắng về băng thông do ViewState, không dính
dáng tới vấn đề tối ưu hóa hệ thống tìm kiếm, và không bị làm phiền về việc kiểm
thử (test) và bảo trì lâu dài. Sự tiện lợi của cách phát triển kiểu kéo thả của
ASP.NET WebForm làm mờ đi các điểm yếu của nó.
Nhưng mặt khác, nếu bạn viết 1 ứng dụng trên Internet, hoặc các ứng dụng nội bộ
lớn hơn, bạn sẽ hướng tới tốc độ download nhanh và tương thích trình duyệt chéo,
được xây dựng với chất lượng cao hơn, mã kiến trúc tốt thích hợp cho việc test tự
động, trong trường hợp đó ASP.NET MVC sẽ mang lại nhưng ưu điểm quan trọng.
Kiến trúc Kiến trúc mô hình WebForm- Kiến trúc sử dụng việc phân
chương trình >Business- >Database chia chương trình thành
Controllers, Models, View
Cú pháp Sử dụng cú pháp WebForm, tất Các sự kiện được kiều khiển
chương trình cả các sự kiện và control do bởi controllers, các control
server quản lý không do server quản lý
Truy cập dữ Sử dụng hầu hết các công nghệ Phần lớn dùng LINQ to SQL
liệu truy cập dữ liệu trong ứng dụng class để tạo mô hình truy cập
đối tượng
Debug Debug chương trình phải thực Debug có thể sử dụng các unit
hiện tất cả bao gồm các lớp test kiểm tra các phương thức
truy cập dữ liệu, sự hiển thị, trong controllers
điều khiển các controls
Tốc độ phân Tốc độ phân tải chậm trong khi Phân tải nhanh hơn do không
24
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
tải trang có quá nhiều các controls phải quản lý ViewState để quản
vì ViewState quá lớn lý các control trong trang
Tương tác với Tương tác với javascrip khó Tương tác với javascrip dễ
javascrip khăn vì các controls được điều dàng vì các đối tượng không do
khiển bởi server server quản lý điều khiển
không khó
URL Address Cấu trúc địa chỉ URL có Cấu trúc địa chỉ rành mạch theo
dạng .aspx?& dạng Controllers/Action/ID
- Có tính mở rộng do có thể thay thế từng thành phần 1 cách dễ dàng
- Không sử dụng Viewstate, điều này làm các nhà phát triển dễ dàng điều
khiển ứng dụng của mình.
- Hệ thống định tuyến mới mạnh mẽ.
- Hỗ trợ tốt hơn cho test-driven development (TDD – mô hình phát triển kiểm
thử) cài đặt các kiểm thử đơn vị (unit tests) tự động, xác định và kiểm tra lại
các yêu cầu trước khi bắt tay vào viết code.
- Hỗ trợ kết hợp rất tốt giữa người lập trình và người thiết kế giao diện.
- Sử dụng các tính năng tốt nhất đã có của ASP.NET.
- LINQ hỗ trợ hầu hết các dạng nguồn dữ liệu khác nhau, bao gồm cả đối
tượng bộ nhớ (LINQ to Object), XML (LINQ to XML), cơ sở dữ liệu
SQL Server (LINQ to SQL)…
25
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- LINQ có từ phiên bản .NET Framework 3.5, do đó nếu muốn truy vấn dữ
liệu bằng LINQ thì tối thiểu chương trình phải được chạy trên nền tảng
3.5 hoặc mới hơn.
- LINQ là phần mở rộng cho phép viết các câu truy vấn ngay trong ngôn
ngữ lập trình. Nó cho phép làm việc với các kiểu tập hợp dữ liệu như:
XML, collection, array… và cả cơ sở dữ liệu.
- ADO.NET là công nghệ cho phép các ứng dụng có thể kết nối và làm việc
với các loại cơ sở dữ liệu khác nhau (truy vấn, thêm, xóa, cập nhật, gọi
thủ tục…).
- Bản thân LINQ không phải là một công nghệ được tạo ra để thay thế
ADO.NET, chúng ta có thể làm việc với LINQ mà không dính tới cơ sở
dữ liệu. Tuy nhiên, LINQ to SQL, là một phần mở rộng của LINQ, cho
phép chúng ta có thể làm việc được với cơ sở dữ liệu SQL Server, trong
trường hợp này chúng ta có thể bỏ qua các câu lệnh ADO.NET mà chỉ
quan tâm tới cú pháp mà LINQ cung cấp.
Mapping) có bên trong .NET Framework bản “Orcas” (nay là .NET 3.5),
nó cho phép bạn mô hình hóa một cơ sở dữ liệu dùng các lớp .NET. Sau
đó bạn có thể truy vấn cơ sở dữ liệu (CSDL) dùng LINQ, cũng như cập
nhật/thêm/xóa dữ liệu từ đó.
26
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Có thể thêm một mô hình dữ liệu LINQ to SQL vào một project ASP.NET,
Class Library hay Windows bằng cách dùng tùy chọn “Add New Item” trong
Visual Studio và chọn “LINQ to SQL Classes”.
Việc chọn mục “LINQ to SQL Classes” sẽ khởi chạy LINQ to SQL
designer, và cho phép mô hình hóa các lớp mà nó biểu diễn một CSDL quan hệ
bằng cách kéo thả các bảng trong Server Explorer vào LINQ to SQL designer.
27
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Sau đó “SAVE” lại là chúng ta đã mô hình hóa được cơ sở dữ liệu vừa chọn
vào file LINQ to SQL. Nó cũng sẽ tạo ra một lớp kiểu “DataContext”, trong đó có
các thuộc tính để biểu diễn mỗi bảng mà chúng ta mô hình hóa trong CSDL, cũng
như các phương thức cho mỗi Stored Procedure mà chúng ta mô hình hóa.
Khi bạn bấm nút “Save” bên trong màn hình thiết kế LINQ to SQL, Visual
Studio sẽ lưu các lớp .NET biểu diễn các thực thể và quan hệ bên trong CSDL
mà chúng ta vừa mô hình hóa. Cứ mỗi một file LINQ to SQL chúng ta thêm vào
solution, một lớp DataContext sẽ được tạo ra, nó sẽ được dùng khi cần truy vấn
hay cập nhật lại các thay đổi. Lớp DataContext được tạo sẽ có các thuộc tính để
biểu diễn mỗi bảng được mô hình hóa từ CSDL, cũng như các phương thức mà
chúng ta đã thêm vào.
LINQ to SQL được Microsoft giới thiệu năm 2007 như là một phần
của .NET, nó được thiết kế để giúp chúng ta giảm tải một số lượng lớn đoạn code
cần viết khi thao tác truy xuất cơ sở dữ liệu, và giúp chúng ta thoát khỏi gánh
nặng trong việc tạo và duy trì stored procedure cho mỗi loại query chúng ta cần
thực thi. Nó là một công cụ
ORM (Objectrelational mapping), nó chưa tốt bằng Nhibernate, nhưng đôi khi
nó dễ dàng sử dụng.
Cách sử dụng LINQ to SQL rất đơn giản, từ trong môi trường Visual
Studio, chúng ta kéo và thả các tables và stored procedures vào trong tấm
bạc(cửa sổ do visual tạo ra khi thao tác kéo thả cơ sở dữ liệu), sau đó, chúng ta
sử dụng các câu lệnh truy vấn LINQ bên trong code C#, và nhận lấy các thực thể
này từ data context (nó chuyển câu truy vấn từ LINQ sang SQL lúc thực thi),
thay đổi chúng bên trong C#, sau đó gọi SubmitChanges() để viết những thay đổi
này ngược trở lại cơ sở dữ liệu.
28
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Hệ thống website Bệnh viện Đa khoa Hưng Hà cung cấp các chức năng như:
Tìm kiếm các dich vụ của bệnh viện, thông tin bác sỹ, giờ làm việc của bệnh viện,
các tin tức trên website; Khách hàng (bệnh nhân) có thể viết bình luận, gửi phản
hồi, góp ý cho bệnh viện.
Hệ thống Website Bệnh viện Đa khoa Hưng Hà cần đạt được những mục tiêu
sau:
1. Xây dựng được giao diện người dùng thân thiện. Người dùng có thể
xem các thông tin bệnh viện, bác sĩ, chuyên khoa, hoạt động của bệnh viện
qua các hình ảnh, tin tức, video
2. Người dùng có thể lựa chọn Bệnh viện Đa khoa Hưng Hà theo site
gần nơi mình nhất để tiện xem và thăm khám
3. Khi chọn 1 bài viết sẽ chuyển tới trang chi tiết của bài viết. Bên dưới
các bài viết liên quan
4. Xây dựng hoàn thiện giao diện trang quản trị với các chức năng như
quản lý danh mục tin tức, quản lý tin tức, quản lý hình ảnh, quản lý video,
quản lý văn bản, quản lý thông tin bệnh viện, quản lý thông tin chuyên khoa,
quản lý thông tin bác sĩ, quản lý bình luận
5. Xây dựng được tính năng bảo mật cao, phân quyền cho người sử dụng
6. Xây dựng tính năng xem nhật ký hoạt động
- Yêu cầu người dùng đăng nhập khi muốn bình luận hay viết bài.
29
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- Khi người dùng chọn site bệnh viện nào thì Website sẽ chuyển tới trang có
bài viết thuộc bệnh viện đó.
- Hiển thị bài viết theo Tiếng Việt và Tiếng Anh. Nếu bài viết người đăng bài
chỉ đăng bằng Tiếng Viết thì hệ thống sẽ tự động sao chép bài viết Tiếng Việt đó
sang trang bằng Tiếng Anh
- Hiển thị phần header là địa chỉ bệnh viện, số điện thoại cấp cứu, đường dây
nóng, link facebook, logo của bệnh viện
- Hiển thị phần thân trang là slide quảng bá hình ảnh, tìm kiếm, các box hình
ảnh nhằm quản bá hình ảnh bệnh viện như lý do chọn chúng tôi, các chuyên khoa;
video, đội ngũ bác sĩ, dịch vụ nổi bật, tin tức nổi bật, liên hệ.
+ Trang chuyên khoa: Hiển thị theo hình ảnh các box hình vuông để người
dùng lựa chọn các chuyên khoa. Khi nhấn vào sẽ hiển thị thông tin chi tiết, các bác
sĩ và bài viết về chuyên khoa đó
+ Trang dịch vụ nổi bật: Hiển thị các dịch vụ của bệnh viện theo các box hình
vuông để khách hàng dễ tìm kiếm. Khi click vào dịch vụ nào thì sẽ hiển thị các bài
viết về dịch vụ đó
+ Phần Đội ngũ bác sĩ: chia làm 2 tab là Bác sĩ nội viện và Bác sĩ ngoại viện.
Khi khách hàng click vào ảnh bác sĩ nào sẽ hiển thị các thông tin cơ bản của bác sĩ
đó
- Cho phép người dùng bình luận ở cuối mỗi bài viết.
- Khi người dùng nhấn bình luận cần nhập đầy đủ thông tin Họ tên và email.
Bình luận đó phải được duyệt bởi quản trị viên thì mới hiển thị lên trang chủ
30
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- Cung cấp chức năng đăng xuất cho các tài khoản quản trị.
- Khi người dùng sử dụng chức năng đăng xuất, Website sẽ chuyển đến trang
đăng nhập.
31
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
3 Người viết bài Người viết bài, viết tin tức cho website
4 Khách hàng (bệnh nhân) Xem thông tin trên website, viết bình luận
2. Quản lý danh mục tin tức Thêm, sửa, xóa, tìm kiếm danh mục tin tức
5. Quản lý tài khoản Thêm, sửa, xóa, tìm kiếm tài khoản
7. Quản lý danh mục bác sỹ Thêm, sửa, xóa, tìm kiếm bác sỹ
8. Quản lý bệnh viện Thêm, sửa, xóa, tìm kiếm bệnh viện
9. Quản lý chuyên khoa Thêm, sửa, xóa, tìm kiếm chuyên khoa
32
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
10. Quản lý hình ảnh Thêm, sửa, xóa, tìm kiếm hình ảnh
11. Quản lý văn bản Thêm, sửa, xóa, tìm kiếm văn bản
13. Đăng bài viết Thêm, sửa, xóa, tìm kiếm bài viết
System
DangBaiViet
VietBinhLuan
KhachHang QuanLyTinTuc
<<include>> <<include>> NguoiVietBai
QuanLyBinhLuan
QuanLyDanhMucTin
<<include>> <<include>>
<<include>>
QuanLyDMBacSy <<include>>
QuanLyNhatKyHeThong
DangNhap
TongQuanTri
QuanTriVien QuanLyChuyenKhoa <<include>>
<<include>>
QuanLyDMPhanQuyen
<<include>>
QuanLyHinhAnh <<include>>
<<include>>
QuanLyTaiKhoan
QuanLyVanBan
<<include>>
<<include>>
QuanLyVideo QuanLyBenhVien
33
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Them
DangNhap
<<include>>
<<extend>>
Sua
<<include>>
<<include>>
<<extend>>
<<include>>
HienThiDanhSach
QuanLyTinTuc Duyet
<<extend>>
TongQuanTri <<include>>
<<extend>>
Xoa <<include>>
<<extend>>
TimKiem
Tóm tắt
o Người sử dụng: Tổng quản trị
o Chức năng:
Thêm mới tin tức
Sửa thông tin tin tức
Xóa tin tức
Duyệt tin tức
Hiển thị danh sách tin tức
o Ý nghĩa: Quản lý tin tức khi có thay đổi.
34
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
5. Tổng quản trị chọn từng chức năng 6.Hệ thống hiển thị danh sách gồm
nhỏ (thêm, sửa, xóa, tìm kiếm và các thông tin bắt buộc phải nhập vào
duyệt tin tức) hệ thống để thực hiện chức năng
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa, duyệt tin tức
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
DangNhap Them
<<extend>>
<<include>>
<<include>>
<<extend>> Sua
<<include>>
QuanLyDanhMucTin
<<extend>> HienThiDanhSach
<<include>>
TongQuanTri
Xoa
<<extend>> <<include>>
TimKiem
Tóm tắt
o Người sử dụng: Tổng quản trị
o Chức năng:
35
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa danh mục tin tức
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
36
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
DangNhap
Them
<<extend>> <<include>>
<<include>>
<<extend>> Sua
<<include>>
QuanLyNhatKyHeThong HienThiDanhSach
<<extend>> <<include>>
TongQuanTri
Xoa
<<extend>> <<include>>
TimKiem
Tóm tắt
o Người sử dụng: Tổng quản trị
o Chức năng:
Xóa nhật ký hệ thống
Hiển thị danh sách nhật ký hệ thống
o Ý nghĩa: Xem lịch sử các thay đổi.
37
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
DangNhap
Sua
<<extend>> <<include>>
<<include>>
HienThiDanhSach
QuanLyDMPhanQuyen
<<include>>
TongQuanTri
<<extend>>
Xoa
Tóm tắt
o Người sử dụng: Tổng quản trị
o Chức năng:
Sửa thông tin danh mục phân quyền
Xóa danh mục phân quyền
Hiển thị danh sách danh mục phân quyền
o Ý nghĩa: Quản lý danh mục phân quyền khi có thay đổi.
38
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa danh mục phân quyền
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
Them
DangNhap
<<include>>
<<extend>>
Sua
<<include>> <<include>>
<<extend>>
<<include>>
<<extend>> HienThiDanhSach
QuanLyTaiKhoan Khoa/MoTaiKhoan
TongQuanTri
<<extend>> <<include>>
Xoa
<<include>>
<<extend>>
TimKiem
Tóm tắt
39
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa tài khoản
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
40
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
DangNhap
Duyet
<<include>> <<extend>> <<include>>
QuanLyBinhLuan HienThiDanhSach
QuanTriVien <<include>>
<<extend>> Xoa
Tóm tắt
o Người sử dụng: Quản trị viên
o Chức năng:
Xóa bình luận
Duyệt bình luận
Hiển thị danh sách bình luận
o Ý nghĩa: Quản lý danh mục tin tức khi có thay đổi.
41
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, xóa, duyệt bình luận
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
DangNhap
Them
<<extend>> <<include>>
<<include>>
<<include>>
<<extend>>
TimKiem
Tóm tắt
o Người sử dụng: Quản trị viên
o Chức năng:
Thêm mới danh mục bác sỹ
Sửa thông tin danh mục bác sỹ
Xóa danh mục bác sỹ
Hiển thị danh sách danh mục tin tức
o Ý nghĩa: Quản lý danh mục bác sỹ khi có thay đổi.
42
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa bác sỹ
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
DangNhap Them
<<extend>> <<include>>
<<include>>
<<extend>> Sua <<include>>
QuanLyBenhVien HienThiDanhSach
<<extend>> <<include>>
QuanTriVien
Xoa
<<extend>> <<include>>
TimKiem
43
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Tóm tắt
o Người sử dụng: Quản trị viên
o Chức năng:
Thêm mới bệnh viện
Sửa thông tin bệnh viện
Xóa danh mục bệnh viện
Hiển thị danh sách bệnh viện
o Ý nghĩa: Quản lý thông tin bệnh viện khi có thay đổi.
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa bệnh viện
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
UseCase “Quản lý chuyên khoa”
44
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
DangNhap Them
<<extend>> <<include>>
<<include>>
Sua <<include>>
<<extend>>
HienThiDanhSach
QuanLyChuyenKhoa <<include>>
<<extend>>
QuanTriVien
Xoa
<<include>>
<<extend>>
TimKiem
Tóm tắt
o Người sử dụng: Quản trị viên
o Chức năng:
Thêm mới chuyên khoa
Sửa thông tin chuyên khoa
Xóa danh mục chuyên khoa
Hiển thị danh sách chuyên khoa
o Ý nghĩa: Quản lý chuyên khoa khi có thay đổi.
45
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa chuyên khoa
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
Them
DangNhap
<<include>>
<<extend>>
<<include>>
Sua
<<extend>> <<include>>
HienThiDanhSach
QuanLyHinhAnh <<include>>
<<extend>>
QuanTriVien Xoa
<<extend>> <<include>>
TimKiem
Tóm tắt
o Người sử dụng: Quản trị viên
o Chức năng:
Thêm mới hình ảnh
Sửa thông tin hình ảnh
Xóa danh mục hình ảnh
Hiển thị danh sách hình ảnh
o Ý nghĩa: Quản lý hình ảnh khi có thay đổi.
46
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa hình ảnh
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
47
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Them
DangNhap
<<extend>> <<include>>
<<include>>
Sua
<<include>>
<<extend>>
QuanLyVanBan <<include>> HienThiDanhSach
<<extend>> <<include>>
TimKiem
Tóm tắt
o Người sử dụng: Quản trị viên
o Chức năng:
Thêm mới văn bản
Sửa thông tin văn bản
Xóa danh mục văn bản
Hiển thị danh sách văn bản
o Ý nghĩa: Quản lý văn bản khi có thay đổi.
48
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa văn bản
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
DangNhap
Them
<<extend>> <<include>>
<<include>>
QuanLyVideo HienThiDanhSach
<<extend>>
QuanTriVien
<<include>>
Xoa
<<extend>> <<include>>
TimKiem
Tóm tắt
o Người sử dụng: Quản trị viên
o Chức năng:
Thêm mới video
Sửa thông tin video
Xóa danh mục video
Hiển thị danh sách video
o Ý nghĩa: Quản lý video khi có thay đổi.
49
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa video
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
UseCase “Đăng bài viết ”
DangNhap Them
<<include>>
<<extend>>
<<include>>
Sua <<include>>
<<extend>>
HienThiDanhSach
DangBaiViet <<extend>> <<include>>
NguoiVietBai Xoa
<<include>>
<<extend>>
TimKiem
50
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Tóm tắt
o Người sử dụng: Người viết bài
o Chức năng:
Thêm mới bài viết
Sửa thông tin bài viết
Xóa danh mục bài viết
Hiển thị danh sách bài viết
o Ý nghĩa: Quản lý bài viết khi có thay đổi.
Điểm mở rộng
o Thông tin cơ bản: Hiển thị, thêm mới, sửa, xóa bài viết
o Thông tin chi tiết: Hiển thị, Cập nhật chi tiết
UseCase “Viết bình luận”
o Người sử dụng: Khách hàng (bệnh nhân)
o Chức năng: Viết bình luận
51
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
o Ý nghĩa: Viết bình luận để đặt câu hỏi thắc mắc, nhận xét, đánh giá bệnh
viện
Điểm mở rộng
o Thông tin cơ bản: Hiển thị bình luận. Nếu bình luận đó là phản cảm, gây
hại cho bệnh viện thì không hiển thị trên website
o Thông tin chi tiết: Hiển thị bình luận và câu trả lời phản hồi lại bình luận
hoặc không hiển thị bình luận
52
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
53
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
54
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Lớp Category
ST
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
T
1. id uniqueidentifier Khóa chính Mã danh mục tin tức
55
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Lớp Comment
56
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Lớp Department
ST
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú
T
1. id uniqueidentifier Khóa chính Mã chuyên khoa
57
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Lớp Doctor
ST
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
T
1. id uniqueidentifier Khóa chính Mã bác sỹ
58
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Lớp Document
STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
1. id uniqueidentifier Khóa chính Mã tài liệu
2. category_id uniqueidentifier Khóa ngoại Mã danh mục tin tức
3. type int Loại tài liệu
4. effective_from_date datetime Ngày có hiệu lực
5. effective_to_date datetime Ngày hết hiệu lực
6. document_name nvarchar(500) Tên tài liệu
7. document_code nvarchar(100) Số quyết đinh
8. document_date datetime Ngày quyết định
9. attach_file_path varchar(500) Đường dẫn file
10. bin_location varchar(500) /file
59
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
ST
Tên thuộc tính Loại Ràng buộc Ý nghĩa/ ghi chú
T
1. id uniqueidentifier Khóa chính Mã tin tức
2. title_l nvarchar(250) Tiêu đề bằng tiếng Việt
3. title_e nvarchar(250) Tiêu đề bằng tiếng Anh
4. alias nvarchar(250) Tên hiệu tin tức
5. image_path nvarchar(500) Đường dẫn ảnh
6. detail_l ntext Chi tiết bằng tiếng Việt
7. detail_e ntext Chi tiết bằng tiếng Anh
8. description_l ntext Mô tả bằng tiếng Việt
60
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
62
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
63
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
64
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
1 : YeuCauDangNhap()
2 : YeuCau()
3 : HienThiTrangDangNhap
4 : NhapTenTaiKhoanVaMatKhau()
5 : KiemTraCacTruongDuLieu()
6 : GuiThongTinTaiKhoan()
7 : TruyVanKiemTraThongTn()
8 : GuiKetQuaTruyVan
9 : KiemTraXacMinhQuyen
seq KiemTraTonTaiCuaTaiKhoan
10 : HienThiTrangTuongUngVoiQuyen
11 : OLaiTrangDangNhapVaThognBaoLoi
65
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
1 : YeuCauChucNang()
2 : LayDanhMucTin()
3 : LayDanhMucTin()
5 4
6 : NhapThongTinTinTuc()
7 : DanhMaTuDong()
8 : ThemTinTuc()
9 : DuyetTinTuc()
10
11
12
1 : ChonTinTucCanSua()
2 : LayThongTinTinTuc() 3 : LayThongTinTinTuc()
5 4
6 : LayThongTinDanhMucTin()
7 : LayThongTinDanhMucTin()
8
9
10 : YeuCauCapNhat
11 : CapNhatThongTinTinTuc()
12 : CapNhatTinTuc()
13 : CapNhatTinTuc()
14 : DuyenTinTuc()
15
16
17
18
66
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
1 : ChonTinTuc()
2 : XacNhanXoa
opt XacNhanXoa
3 : ChonXoa()
4 : XacNhanXoa()
5 : XoaTinTuc()
7 6
8
9 : KhongXoa()
10 : KhongXoa() <<destroy>>
11 : Huy()
67
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
1 : YeuCauChucNang()
2 : YeuCauNhapThongTinBenhVien
3 : NhapThongTinBenhVien()
4 : DanhMaTuDong()
5 : ThemBenhVien()
6
7
8
1 : ChonBenhVien()
2 : LayThongTinBenhVien()
3 : LayThongTinBenhVien()
5 4
6 : YeuCauNhapThongTinMoi
7 : NhapThongTinMoi()
8 : CapNhatThongTin()
9 : CapNhatThongTin()
10
11
12
68
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
1 : ChonBenhVien()
2 : LayThongTinBenhVien()
3 : LayThongTinBenhVien()
5 4
6 : YeuCauXacNhanXoa
opt XacNhanXoa
7 : XacNhanXoa()
8 : XacNhanXoa()
9 : XoaBenhVien()
10
11
12
13 : KhongXoa() <<destroy>>
14 : KhongXoa()
15 : Huy()
69
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
: QuanTriVien :BacSi
:FrmQuanLyBacSi :CtrlQuanLyBacSi
1 : YeuCauChucNang()
2 : YeuCauNhapThongTinBacSi
3 : NhapThongTinBacSi()
4 : DanhMaTuDong()
5 : ThemBacSi()
6
7
8
1 : ChonBacSi()
2 : LayThongTinBacSi()
3 : LayThongTinBacSi()
5 4
6 : YeuCauNhapThongTinMoi
7 : NhapThongTinMoi()
8 : CapNhatThongTin()
9 : CapNhatThongTin()
10
11
12
70
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
:CtrlQuanLyBacSi :BacSi
: QuanTriVien :FrmQuanLyBacSi
1 : ChonBacSi()
2 : LayThonTinBacSi()
3 : LayThongTinBacSi()
4
5
6 : YeuCauXacNhanXoa
opt XacNhanXoa
7 : XacNhanXoa()
8 : XacNhanXoa()
9 : XoaBacSi()
10
11
12
13 : KhongXoa()
14 : KhongXoa() <<destroy>>
15 : Huy()
Sau quá trình thiết kế, em đã xác định mô hình câu trúc của website trên database
như sau:
71
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
72
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Ràng
STT Tên trường Kiểu dữ liệu Mô tả
buộc
1. id uniqueidentifier Khóa chính Mã nhật ký hệ thống
73
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
74
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
ST
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
T
1. id uniqueidentifier Khóa chính Mã chuyên khoa
75
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
76
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Anh
77
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
78
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
79
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
ST
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
T
1. id uniqueidentifier Khóa chính Mã bệnh viện
2. name_company_l nvarchar(250) Tên tiếng Việt
3. name_company_e nvarchar(250) Tên tiếng Anh
4. favicon nvarchar(500)
5. address_l nvarchar(500) Địa chỉ bằng tiếng
80
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Việt
81
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
ST
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
T
1. id uniqueidentifier Khóa chính Mã quản trị viên
2. full_name nvarchar(150) Họ tên quản trị viên
3. user_name nvarchar(250) Tên đăng nhập
4. password varchar(32) Mật khẩu
5. email nvarchar(250) Email
6. address nvarchar(250) Địa chỉ
7. image_path nvarchar(500) Đường dẫn ảnh
8. gender int Giới tính
9. created_by_user_id uniqueidentifier Khóa ngoại Mã người tạo
82
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
ST
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
T
1. id varchar(20) Khóa chính Mã nhóm tài khoản
2. full_name nvarchar(150) Tên nhóm tài khoản
ST
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
T
83
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
84
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- Giao diện trang chủ người dùng bao gồm địa chỉ, số điện thoại cấp cứu,
đường dây nóng, facebook, logo của bệnh viện, menu chính, slide quảng bá hình
ảnh cho bệnh viện; ba box hình chữ nhật về dịch vụ bảo hiểm, tra cứu kết quả hình
ảnh, thời gian làm việc; box chức năng tìm kiếm, tra cứu dịch vụ, box lý do chọn
chúng tôi; cơ sở vật chất; video; đội ngũ bác sĩ; dịch vụ nổi bật; tin tức nổi bật; đăng
ký dịch vụ.
85
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Hình 3-35: Giao diện cơ sở vật chất, video, đội ngũ bác sĩ
86
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- Giao diện đội ngũ bác sỹ gồm hai tab là Bác sĩ nội viện và Bác sĩ ngoại viện.
Mỗi tab là các box hình ảnh và thông tin tên bác sĩ, chuyên khoa chính bác sĩ đang
làm việc. Muốn xem chi tiết các thông tin của bác sĩ nào thì click vào hình ảnh đó
- Giao diện chi tiết bác sỹ gồm tên, chức danh, chuyên khoa, học vẫn, các hoạt
động chuyên ngành và các đề tài nghiên cứu của bác sĩ
87
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- Giao diện chi tiết một bài đăng tin tức bao gồm: tiêu đề, ngày đăng, số lượt
xem, nội dung tin tức, bình luận của người đọc, các tin tức mới
88
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- Giao diện trang liên hệ bao gồm bản đồ; họ tên, số điện thoại, email, nội
dung phản hồi của khách hàng. Chân trang bao gồm logo, tên bệnh viện, địa chỉ, số
điện thoại, số fax, email, facebook, youtobe của bệnh viện, và bản đồ chỉ đường đến
bệnh viện.
89
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Hình 3-39: Giao diện đăng nhập tài khoản trên Website
- Giao diện trang đăng nhập, cung cấp chức năng đăng nhập cho người dùng,
bao gồm các trường: tên đăng nhập, mật khẩu.Yêu cầu người dùng nhập đúng tên
đang nhập và mật khẩu mà người tổng quan trị cung cấp qua email. Khi người dùng
click vào nút “Đăng nhập” Website sẽ hiển thị thông báo đăng nhập thành công và
chuyển đến CMS của Website.
90
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- Giao diện trang chủ CMS thực hiện các chức năng: Quản lý danh mục tin
tức, Quản lý tin tức, Quản lý hình ảnh, Quản lý video, Quản lý văn bản, Các danh
mục khác (Quản lý bệnh viện, chuyên khoa, bác sỹ, bình luận), Cấu hình hệ thống
(Nhật ký hệ thống, Quản lý tài khoản, Phân quyền).
Hình 3-41: Giao diện trang hiển thị danh mục tin tức trên Website
91
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- Giao diện trang chi tiết Danh mục tin tức bao gồm các chức năng: hiển thị
danh sách danh mục tin tức, thêm, sửa, xóa danh mục tin tức, ẩn/ hiện, ẩn/hiển trên
trang chủ. Khi người dùng click vào “Xóa” Website sẽ hiển thị thông báo “Bạn chắc
chắn muốn xóa danh mục tin tức này không?” Nếu chọn “Xóa”, mục tin tức đó sẽ
được xóa khỏi CMS và trang chủ; chọn “Hủy” để hủy hành động xóa mục tin tức.
Khi danh mục tin tức ở chế độ “Ẩn” thì các bài viết trong “Quản lý tin tức không
thể kế thừa được” và ngược lại khi chọn “Hiện”. Khi chọn “Ẩn trên trang chủ”thì
danh mục đó không hiển thị trên trang chủ và ngược lại khi chọn “Hiển thị trên
trang chủ”.
- Giao diện quản lý tin tức bao gồm: tin đã đăng, tin chờ duyệt, tin không
duyệt và tin đã xóa.Có các chức năng như: thêm, sửa, xóa, tìm kiếm tin tức, ẩn/ hiện
tin tức trên trang chủ. Khi chọn “Xóa” sẽ hiển thị thông báo “Bạn chắc chắn muốn
92
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
xóa tin tức này không?”,chọn “Hủy” để hủy hành động xóa, nếu chọn xóa thì tin tức
đó sẽ thành tin chờ duyệt. Nếu xóa tin tức đó trong phần “Tin chờ duyệt” thì tin tức
đó sẽ chuyển đến phần“Tin đã xóa”, nếu xóa tin tức ở phần này thì không thể khôi
phục được. Trong phần “Tin đã xóa” có chức năng “Khôi phục” các tin đã xóa và
xóa vĩnh viễn một tin tức nào đó.
- Giao diện Thêm mới tin tức: Người viết bài cần chọn tin tức đó thuộc “Danh
mục tin tức nào”, chọn Bệnh viện (nếu không chọn thì tin tức đó sẽ có ở tất cả các
93
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
site bệnh viện), chọn Chuyên khoa (nếu chọn thì tin tức đó sẽ hiển thị cả trong
chuyên khoa đó), thẻ từ khóa, thẻ mô tả phục vụ cho việc SEO website.
- Giao diện chỉnh sửa tin tức: Click button “Cập nhật” thì tin tức đó được load
lại nội dung lên một trang mới cho tổng quản trị thay đổi. Khi tổng quản trị click
vào “Cập nhật” nội dung bài viết sẽ được lưu lại.
94
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
- Giao diện trang nhật ký hệ thống bao gồm các hành động của User, chi tiết
hành động của User và ngày giời thực hiện hành động đó
95
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
Hệ thống mới chỉ dừng lại ở các chức năng cơ bản, chưa có nhiều cơ chế bảo
mật API.
Trong thời gian nghiên cứu và thực hiện đề tài, tác giả đã vạch ra được hướng
phát triển tiếp theo của đề tài như sau:
Bổ sung bảo mật API để nâng cao bảo mật của ứng dụng tránh bị tấn
công và lấy dữ liệu
Tối ưu hóa giao diện và hiệu năng nhằm tăng tốc độ của ứng dụng
96
Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà
[2] Nguyễn Văn Quyết, Giáo trình Công nghệ Web và ứng dụng. Hưng Yên, Việt
Nam: Khoa Công nghệ Thông tin - UTEHY, 2010.
97