Điều đó dẫn đến một thực tế làm sao chúng ta có thể quản lý được một cách hiệu quả các cửa hàng trên khi mà lưu lượng thông tin trên mạng rất lớn thì có biện pháp gì để có thể ngăn chặn
Trang 1Đồ án tốt nghiệp CafeInternet WebProxy
Mục lục
MỞ ĐẦU 7
Chương 1: TỔNG QUAN 8
1.1.Thực trạng sử dụng Internet hiện nay 8
1.2.Giải pháp 9
1.2.1.Yêu cầu bài toán: 9
1.2.2 Phân tích bài toán 10
1.2.3 Hướng giải quyết 10
Chương 2: CƠ SỞ LÝ THUYẾT 12
2.1.Giao thức HTTP 1.0 12
2.1.1.Giới thiệu 12
2.1.2.Cơ chế hoạt động theo HTTP 12
2.2 Chiến lược cache LRU (least recently used): 14
2.3 Tổng quan về ngôn ngữ thiết kế UML 16
2.3.1 Giới thiệu về UML 16
2.3.2 Tại sao sử dụng UML? 17
2.3.2.1 Trong phân tích thiết kế 17
2.3.2.2 Tại sao dùng đặc tả UML? 17
2.3.2.3 Các biểu đồ UML 18
Chương 3 : THIẾT KẾ HỆ THỐNG 19
3.1 Các loại biểu đồ 19
3.1.1.Biểu đồ UseCase 19
3.1.1.1.Danh sách Actor 19
3.1.1.2.Mô tả Actor 19
3.1.1.3.Diễn giải UseCase 20
X Đăng nhập 20
X Truy cập Internet 21
Trang 2Đồ án tốt nghiệp CafeInternet WebProxy
X Thay đổi máy 22
X Yêu cầu dịch vụ kèm theo 22
3.1.2 Biểu đồ tuần tự 23
3.1.3 Biểu đồ cộng tác 24
3.2 Thiết kế hệ thống 25
3.2.3.Tổ chức cơ sở dữ liệu 28
3.2.4.Tổ chức hệ thống 34
Chương 4: CHƯƠNG TRÌNH 36
4.1.Triển khai hệ thống 36
4.2.Giao diện chương trình 38
4.2.1.Màn hình chính 38
4.2.1.1.Thanh tiêu đề 38
4.2.1.2.Menu chức năng 39
4.2.1.3.Thanh công cụ 40
4.2.1.4.Cây phân cấp chức năng 41
4.2.2.Phân hệ quản lý các máy 41
4.2.3.Phân hệ quản lý dịch vụ 45
4.2.4.Phân hệ cài đặt dịch vụ 47
4.2.5.Phân hệ cài đặt máy 49
4.2.5.Phân hệ cài đặt địa chỉ các trang web hệ thống ngăn chặn 50
4.2.5.Phân hệ cài đặt địa chỉ các trang hay được truy cập 51
4.2.6.Phân hệ giá cước Internet 53
4.2.7.Phân hệ quản lý dung lượng bộ đệm 53
4.2.8.Phân hệ báo cáo các trang web truy cập 54
4.2.9 Phân hệ báo sử dụng của các máy 56
4.2.10 Trợ giúp 58
KẾT LUẬN 59
Trang 3Đồ án tốt nghiệp CafeInternet WebProxy
Các định nghĩa, thuật ngữ và từ viết tắt
Từ viết tắt Từ đầy đủ Giải thích
HTTP Hypertext Transfer Protocol Giao thức HTTP
Trang 4DANH MỤC CÁC HÌNH
Hình 2.1 n Mô hình hoạt động của HTTP 13
Hình 2.2 n Cấu trúc của HTTP request 13
Hình 2.3 n Cấu trúc của HTTP response 14
Hình 2.4 n Mô hình Proxy Cache 15
Hình 2.5 n Hoạt động của LRU 16
Hình 3.1 n Biểu đồ UseCase 20
Hình 3.2 n Biểu đồ tuần tự 24
Hình 3.3 n Biểu đồ cộng tác 25
Hình 3.4 n Sơ đồ quan hệ 29
Hình 3.5 n Sơ đồ khối qúa trình thực hiện Proxy 35
Hình 4.1 n Cài đặt Browser để sử dụng chương trình 36
Hình 4.2 n Mô hình triển khai hệ thống 37
Hình 4.3 – Màn hình sau khi kích hoạt hệ thống 38
Hình 4.4 – Thanh tiêu đề 38
Hình 4.5 – Menu chức năng 39
Hình 4.6 – Các chức năng trong nhóm chức năng Hệ thống 39
Hình 4.7 – Các chức năng trong nhóm chức năng Cài đặt 39
Hình 4.8 – Các chức năng trong nhóm chức năng Báo cáo 39
Hình 4.9 – Các chức năng trong nhóm chức năng Trợ giúp 40
Hình 4.10 – Thanh công cụ 40
Hình 4.11 – Cây phân cấp chức năng 41
Hình 4.12 –Phân hệ quản lý máy 42
Hình 4.13– Chọn chức năng đăng nhập 42
Hình 4.14 – Màn hình đăng nhập 43
Hình 4.15 – Chi tiết về một máy 43
Hình 4.16 – Chức năng đổi máy 43
Hình 4.17 – Màn hình đổi máy 44
Trang 5Hình 4.18 n Vùng thông tin 44
Hình 4.19 n Phân hệ quản lý 46
Hình 4.20 n Phân hệ cài đặt dịch vụ 48
Hình 4.21 n Menu chức năng cài đặt dịch vụ 48
Hình 4.22 n Chức năng sửa đổi thông tin dịch vụ 48
Hình 4.23 n Phân hệ cài đặt dịch vụ 49
Hình 4.23 n Chức năng thêm máy mới 50
Hình 4.24 n Phân hệ cài đặt địa chỉ các trang web ngăn chặn 51
Hình 4.25 n Phân hệ cài đặt địa chỉ các trang hay truy cập 52
Hình 4.26 n Phân hệ giá cước Internet 53
Hình 4.27 n Phân hệ quản lý bộ đệm 54
Hình 4.28 n Phân hệ báo cáo truy cập của các máy 55
Hình 4.29 n Phân hệ báo cáo sử dụng của các máy 57
Trang 6DANH MỤC CÁC BẢNG
Bảng 3.1 : ServiceDetail 29
Bảng 3.2 : Service: 30
Bảng 3.3 : Computer: 30
Bảng 3.4 : User 30
Bảng 3.5 : LogInfor: 31
Bảng 3.6 : URLs: 32
Bảng 3.7 : Temp: 32
Bảng 3.8 : CacheLength: 33
Trang 7MỞ ĐẦU
Ngày nay, khi mà Internet trở nên thân thuộc với đời sống con người thì yêu cầu của người sử dụng cũng càng cao hơn, đòi hỏi các nhà làm tin học phải không ngừng thiết
kế và phát triển các hệ thống hướng tới mức ngày càng hoàn thiện
Có một thực tế đặt ra là: Hiện nay, số lượng người truy cập Internet ở Việt Nam đã tăng nhanh Hệ thống các cửa hàng cho thuê dịch vụ Internet cũng đã tăng Điều đó dẫn đến một thực tế làm sao chúng ta có thể quản lý được một cách hiệu quả các cửa hàng trên khi mà lưu lượng thông tin trên mạng rất lớn thì có biện pháp gì để có thể ngăn chặn các thông tin, văn hóa phẩm độc hại từ Internet
Lễ ký kết Thông tư liên tịch số 02/2005/TTLT (gọi tắt là Thông tư 02) về quản lý đại lý Internet giữa Bộ Bưu chính, Viễn thông, Bộ Văn hóa Thông tin; Bộ Công an và Bộ
Kế hoạch và Đầu tư đã được tổ chức tại Hà Nội, ngày 14/7/2005 Theo quy định, Thông
tư này sẽ có hiệu lực sau 15 ngày, kể từ ngày đăng Công báo Đây có thể được coi là một
cố gắng của các cơ quan quản lý Nhà nước nhằm tạo hành lang pháp lý cho sự phát triển lành mạnh của Internet Việt Nam, đồng thời đưa hoạt động của các đại lý Internet đi vào
nề nếp
Các phần mềm quản lý Internet ngày nay đang được áp dụng tại các cửa hàng Internet chỉ đáp ứng được chức năng quản lý việc thanh toán truy cập Internet và sử dụng các dịch vụ kèm theo, chưa có một cơ chế lưu lại các địa chỉ trang web khách hàng đã truy nhập và ngăn chặn kịp thời truy cập vào các trang web có nội dung không lành mạnh
Từ những yêu cầu thực tế trên cần có một hệ thống quản lý thống có khả năng tính tiền dịch vụ caféninternet, đồng thời có thể lưu thông tin về khách hàng truy cập và có cơ chế ngăn chặn khách hàng vào các trang web có nội dung không lành mạnh
Trang 8Chương 1: TỔNG QUAN Thực trạng sử dụng Internet hiện nay.
Có thể khẳng định rằng, trong khoảng thời gian 5 năm trở lại đây, nhờ những chính sách quản lý hợp lý và phù hợp với xu thế phát triển, như việc ban hành Nghị định số 55/2001/NĐnCP về quản lý, cung cấp và sử dụng dịch vụ Internet, với quan điểm rất mới “quản lý phải theo kịp yêu cầu của sự phát triển”, Internet Việt Nam đã phát triển với tốc độ chóng mặt, giá cước Internet liên tục được giảm xuống, số lượng người sử dụng Internet gia tăng ngày càng nhanh Theo số liệu thống kê của Trung tâm Thông tin mạng Internet Việt Nam (VNNIC), tính đến hết tháng 6/2005, số lượng thuê bao Internet Việt Nam đã đạt con số 2,7 triệu thuê bao, tương đương số lượng quy đổi khoảng 7,5 triệu người sử dụng Internet, đạt mật độ 9,1% Mật độ người dùng Internet tại Việt Nam đã vượt mật độ trung bình của khu vực châu Á là 8,4%, và đang tiếp cận nhanh đến mật độ trung bình của thế giới là 13%
Trong sự phát triển mạnh mẽ của Internet Việt Nam với chất lượng ngày càng tăng, giá cước truy nhập ngày càng giảm, nội dung thông tin ngày càng phong phú, các đại lý Internet công cộng đã đóng góp một vai trò rất quan trọng trong việc góp phần phổ cập Internet rộng rãi tới cộng đồng xã hội Tuy nhiên, bên cạnh vai trò lớn và yếu
tố tích cực nêu trên, hoạt động của các đại lý Internet đã bộc lộ một số mặt tiêu cực như liên quan đến tội phạm mạng, để xảy ra tình trạng ăn cắp mật khẩu, tài khoản truy cập, sử dụng Internet để tiến hành các hoạt động tội phạm như buôn bán ma túy, mại dâm, các hành vi vi phạm trật tự xã hội Chẳng hạn như tại Thành phố Đà Nẵng, qua kiểm tra, các cơ quan chức năng đã nhận thấy phần lớn các đại lý Internet tại đây đều
có sai phạm (mức độ sai phạm và hành vi sai phạm có khác nhau) Hay như tại Hà Nội, thanh tra Sở VHTT đã tiến hành các đợt kiểm tra các đại lý Internet Kết quả cho thấy, những vi phạm chủ yếu của các đại lý Internet là để khách hàng truy cập vào những website có nội dung đồi trụy, khiêu dâm, kích dục trên mạng “Những hành vi
vi phạm này đã và đang gây ảnh hưởng nghiêm trọng đến tầng lớp thanh thiếu niên, đặc biệt là trẻ vị thành niên, khiến dư luận hết sức bức xúc”, Thứ trưởng Bộ VHTT Đỗ Quý Doãn nói
“Việc 4 Bộ phối hợp ban hành Thông tư 02 về quản lý đại lý Internet không có mục đích nào khác hơn là nhằm thúc đẩy sự phát triển của Internet Việt Nam, đưa đại
Trang 9“đen”) và phát triển Internet với nội dung thông tin sạch, lành mạnh (Internet
“xanh”)”, Thứ trưởng Bộ BCVT Lê Nam Thắng phát biểu
Thông tư liên tịch này đã kế thừa những văn bản quản lý Internet từ trước đến nay như Nghị định 55/2001/NĐnCP, Thông tư số 04/2001/TTnTCBĐ hướng dẫn thi hành Nghị định 55, Quyết định của Bộ trưởng Bộ Công an về đảm bảo an toàn, an ninh thông tin trên mạng Internet , đồng thời đưa ra nhiều biện pháp quản lý nhằm hạn chế sự phát triển và tác động của Internet “đen”, đưa quản lý Internet đi vào nề nếp như:
Điều 8 Quyết định này quy định rõ: Thông tin liên quan đến người sử dụng dịch
vụ phải được lưu giữ lại tại máy chủ của đại lý trong thời gian 30 ngày, thời gian lưu trữ tính từ khi thông tin đi/đến máy chủ Đồng thời, có sổ đăng ký sử dụng dịch vụ thống kê đầy đủ chi tiết thông tin về khách hàng gồm: họ tên, địa chỉ, số chứng minh nhân dân hoặc hộ chiếu, thời gian sử dụng dịch vụ Phải có giải pháp ngăn chặn việc truy cập đến các trang web có nội dung xấu trên Internet và cài đặt chương trình phần mềm để quản lý tức thời nội dung thông tin của khách hàng
1.2.Giải pháp
Với thực trạng như trên chúng tôi xin đưa ra giải pháp xây dựng hệ thống
“CAFE INTERNET WEB PROXY “
1.2.1.Yêu cầu bài toán:
Hệ thống phải đảm bảo tốt các chức năng sau:
n Quản lý tự động hiệu quả các máy và thanh toán tại các cửa hàng
n Ngăn ngừa việc truy cập trái phép của khách hàng vào các trang web có nội dung không lành mạnh
n Tăng tốc độ truy cập bằng phương pháp cache dữ liệu ( Internal, External )
n Lưu trữ được dữ liệu về khách hàng và các trang web mà khách hàng đã truy cập để phục vụ cho việc báo cáo
CafeInternetnWeb Proxy là mô hình ( phần mềm) được cài đặt ở nhiều máy chủ các cửa hàng dich vụ Internet
Trang 101.2.2 Phân tích bài toán
Sau khi thu thập các thông tin của khách hàng chúng tôi đưa ra các đặc điểm sau:
Khách hàng là các chủ cửa hàng cho thuê dịch vụ Internet, các trường học
có nối mạng
Thời gian quán Internet mở cửa là từ sáng sớm (8h15’) đến tận tối khuya ( 11h tôi) Như vậy thì chủ không thể trông coi liên tục từng ấy thời gian trong ngày được, công việc được chia cho các nhân viên khác trong quán Do đó, cần có cơ chế giám sát nhân viên một cách hiệu quả
Việc tính toán giá cước bằng tay cho khách hàng có nhiều điểm bất lợi: không thống nhất được giá chung, chủ không nắm được thời gian truy cập của khách hàng khi không có mặt mình
Về khách hàng của cửa hàng thì không hài lòng nếu tính toán thủ công bằng tay, như vậy họ không biết chính sác thời gian họ truy cập và tiền mà họ phải trả
Về phía nhà quản lý, việc quản lý và ngăn chặn các trang thông tin có nội dung không lành mạnh là rất khó khăn Nó đòi hỏi nhiều biện pháp khác nhau, nhiều cách thức khác nhau Mỗi biện pháp đều có hiệu quả nhất định, có điểm mạnh điểm yếu
Các nhà quản lý cũng có thể giám sát các hoạt động thông qua các vết lưu tại server của cửa hàng
Ngoài ra, hệ thống cung cấp sự thuận tiện cho nhà quản lý trong việc quản
lý về tài chính, nhân viên, thời gian truy cập Internet, và cho báo cáo chính xác mọi hoạt động kinh doanh của cửa hàng
1.2.3 Hướng giải quyết
Các yêu cầu đối với Hệ thống quản lý dịch vụ InternetnWebProxy:
Quản lý thời gian truy cập các máy
Tính toán giá cước dich vụ và giá cước Internet cho khách hàng
Có thể thiết đặt các cấu hình cho hệ thống
Trang 11Đưa ra các báo cáo để chủ cửa hàng có thể nắm được tình hình thu chi của cửa hàng
Ngăn các website mà khách hàng truy cập nếu cần thông qua cơ chế ngắt kết nối với trang đó bằng proxy
Có chế độ Cache dữ liệu tự động, giúp tăng tốc độ và thời gian truy cập
Tự động tải về các trang web người dùng hay truy cập nhất
Tự động xóa dữ liệu về người dùng sau 30 ngày lưu trữ
Xử lý toàn bộ lỗi từ người dùng cũng như từ hệ thống trong suốt thời gian
hệ thống hoạt đông
Trang 12Chương 2: CƠ SỞ LÝ THUYẾT 2.1.Giao thức HTTP 1.0
2.1.1.Giới thiệu
Khi người dùng truy cập vào trang Web, trình duyệt phía Client sẽ gửi thông tin yêu cầu tới máy chủ Web Server Quá trình liên lạc giữa máy khách và máy chủ phải tuân theo một số qui ước nhất định Tập hợp qui định này gọi là giao thức truyền thông (Protocol) Giao thức được dùng cho World Wide Web là giao thức truyền tải siêu văn bản HTTP (HyperText Transfer Protocol)
Giao thức truyền tải siêu văn bản HTTP là một giao thức ở mức ứng dụng hỗ trợ các hệ thống thông tin cộng tác và phân tán HTTP được đưa vào sử dụng từ năm
1990 bởi sáng kiến thông tin toàn cầu WWW Từ đó đến nay HTTP đã có nhiều phiên bản khác nhau như HTTP/0.9, HTTP/1.0 Ở đây chúng ta chỉ xem xét giao thức HTTP/1.1
2.1.2.Cơ chế hoạt động theo HTTP
Giao thức HTTP là một giao thức hỏi/đáp Trong một lần kết nối với máy chủ, một máy khách gửi yêu cầu của mình tới máy chủ dưới khuôn dạng phù hợp với phương pháp truy vấn, phù hợp với URI và phiên bản giao thức, theo sau là một tin nhắn dạng MIME chứa các thông tin bổ nghĩa, thông tin về máy khách và có thể cả chính nội dung yêu cầu Máy chủ sẽ trả lời bằng một đường trạng thái (status line) bao gồm phiên bản giao thức của tin nhắn và mã thành công hay lỗi, kèm theo sau là tin nhắn dạng MIME chức các thông tin về máy chủ, siêu thông tin thực thể và có thể có
cả thân nội dung của thực thể Hầu hết các giao tiếp HTTP được thiết lập bằng một tác nhân người dùng và bao gồm một yêu cầu để tác động tới tài nguyên trên một máy chủ gốc nào đó Trong trường hợp đơn giản nhất, điều này có thể đạt được thông qua một kết nối đơn giữa tác nhân người dùng (UA) và máy chủ gốc (O)
request chain nnnnnnnnnnnnnnnnnnnnnnnn>
UA nnnnnnnnnnnnnnnnnnnvnnnnnnnnnnnnnnnnnnn O
<nnnnnnnnnnnnnnnnnnnnnnn response chain
Trang 13Mô hình:
Hình 2.1 n Mô hình hoạt động của HTTP
Hình 2.2 n Cấu trúc của HTTP request
Trang 14Hình 2.3 n Cấu trúc của HTTP response Việc truyền thông qua giao thức HTTP thường thực hiện thông qua kết nối TCP/IP Cổng mặc định là TCP 80, nhưng các cổng khác cũng có thể được sử dụng Điều này không cản trở việc HTTP được sử dụng nhiều hơn hẳn các giao thức khác trên mạng Internet hoặc các mạng khác
Đoạn này cần m ô tả ngắn gọn phương thức hoạt động của HTTP
request/response (Lấy hình 2.2, 2.3 minh họa)
2.2 Chiến lược cache LRU (least recently used):
Việc sử dụng cache ngày càng trở nên thông dụng trong các hệ thống web do các ưu điểm sau:
n Làm giảm độ trễ của response cũng như của mạng
n Làm giảm sự quá tải của các hệ thống có số request lớn (ví dụ như các site search …)
Trang 15Hình 2.4 n Mô hình Proxy Cache
Để sử dụng các chiến lược cache hiệu quả nên đi phân tích qua một số vấn đề sau:
n Những file nào nên được cache: nếu tài nguyên không phải là những tài nguyên động ( không hay thay đổi) thì chúng có thể được cho vào cache Nếu tài nguyên trong hệ thống còn đáp ứng được nhu cầu thì có 3 giải pháp chọn lựa tài nguyên để cache:
+ Cache tất cả: khi đó xóa các tài nguyên được cache trước đó để lấy không gian
+ Cache theo một ngưỡng( threshold): khi đó các tài nguyên có dung lượng nhỏ hơn một ngưỡng nào đó thì mới được cache
+ Cache theo một ngưỡng có khả năng thích nghi động (adaptive dynamic threshold ): dung lượng lớn nhất để tài nguyên có thể cache có thể được thay đổi động
n Những file nào nên được xóa: một phương pháp đơn giản và thông dụng nhất
đó là sử dụng chiến lược cache LRU ( Least Recently Used), sẽ xóa đi những file nào
mà thời gian tồn tại là lâu nhất, cho đến khi có đủ không gian lưu trữ tài nguyên cho văn bản mới Tuy nhiên trên thực tế có rất nhiều chiến lược cache cho web khác nhau như là: MRU (Most Recently Used ), Least Frequently Used (LFU), First In First Out (FIFO), LIFO (Last In First Out ) Về mặt hiệu năng có sự khác biệt trong trường hợp số lượng request tới proxy server là lớn Tuy nhiên, với yêu cầu đặt ra với hệ thống này là có một chiến lược cache đơn giản và hiệu quả chúng tôi đã sử dụng chiến lược cache LRU
Query Cache
Web Server Hit?
Trang 16Đặc điểm của chiến lược cache LRU:
Sắp xếp queue tại thời điểm truy cập,
Sự truy cập mới sẽ được xếp ở đầu của queue
Phần tử cuối của queue có thể bị loại bỏ
Hình 2.5 n Hoạt động của LRU
n Áp dụng chiến lược cache này trong hệ thống Cafe Internet n Web proxy
Mỗi một response (bao gồm các tài nguyên như: file html, ảnh, âm thanh …) được trả
về hệ thống sẽ cache lại, gắn cho mỗi response một tham số thời gian tại thời điểm trả
về Khi vượt quá dung lượng cache thì sẽ loại bỏ tài nguyên nào cũ nhất (đã tồn tại trong cache lâu nhất)
2.3 Tổng quan về ngôn ngữ thiết kế UML
2.3.1 Giới thiệu về UML
Ngôn ngữ mô hình hợp nhất UML (Unified Modeling Language) là một ngôn ngữ trực quan cung cấp cho nhà phân tích thiết kế các hệ thống hướng đối tượng một cách hình dung ra các hệ thống phần mềm, mô hình hóa các chức năng tổ chức nghiệp
vụ sử dụng các hệ thống phần mềm này; cũng như xây dựng chúng và làm tài liệu về chúng
Trang 17UML là một ngôn ngữ đặc tả UML cho phép mô tả mô hình chính xác, không nhập nhằng và hoàn thiện UML hướng tới đặc tả thiết kế, phân tích và quyết định cài đặt trong quá trình phát triển và triển khai phần mềm
UML là ngôn ngữ dể xây dựng UML có thể ánh xạ mô hình trong UML tới các ngôn ngữ khác như Java, Visual Basic, C++,… hay các Cơ Sở Dữ Liệu quan hệ, Cơ
Sở Dữ Liệu hướng đối tượng Ánh xạ cho phép biến đổi thuận từ mô hình UML sang ngôn ngữ lập trình Đồng thời, có khả năng biến đổi ngược lại từ cài đặt về mô hình UML
2.3.2 Tại sao sử dụng UML?
2.3.2.1 Trong phân tích thiết kế
Việc sử dụng UML trong thiết kế giúp:
Trìu tượng hóa các thuộc tính của bản thiết kế
Chỉ ra mối quan hệ giữa các thành phần của bản thiết kế
UML được dùng để trừu tượng hóa, giúp cho việc biểu diễn các sự vật phức tạp trở nên đơn giản bằng cách dùng một số loại mô hình Giữa các mô hình này có các quan hệ, bao gồm:
Quan hệ cấu trúc (tructural relationship): UML biểu diễn bằng sự kết hợp giữa các lớp
Quan hệ tổ chức (organization relationship): Trình tự theo thời gian của các thông điệp trong một tương tác của biểu đồ tuần tự
Quan hệ nhân quả (cause and effect relationship): Các trạng thái trong biểu đồ trạng thái
Quan hệ tiến hóa (evolutionary relationship): Các đường phụ thuộc giữa các biểu đồ trong mô hình thiết kế và mô hình phân tích
2.3.2.2 Tại sao dùng đặc tả UML?
Trong các dự án phát triển hướng đối tượng, UML là một ngôn ngữ mô hình được ưu tiên cho việc phân tích và thiết kế một sản phẩm Lý do lớn nhất để sử dụng
Trang 18UML là vì nó đã trở thành một chuẩn thực tế đối với mô hình hướng đối tượng UML
là ngôn ngữ mô hình hợp nhất UML được tích hợp từ các đặc điểm tốt nhất của các ngôn ngữ lập trình khác
2.3.2.3 Các biểu đồ UML
UML có khả năng xây dựng các biểu đồ trực quan để biểu diễn các khía cạnh khác nhau của hệ thống gồm: Biểu đồ trường hợp sử dụng (Usecase Diagram), biểu đồ tuần tự (Sequence Diagram), biểu đồ lớp (Class Diagram), biểu đồ cộng tác (Collaboration), biểu đồ biến đổi trạng thái (State tranfer Diagram),…
Trang 19Chương 3 : THIẾT KẾ HỆ THỐNG 3.1 Các loại biểu đồ
3.1.1.Biểu đồ UseCase
Biểu đồ này chỉ ra tương tác giữa các Usecase và tác nhân Usecase biểu diễn chức năng của hệ thống Tác nhân là người hay hệ thống khác cung cấp thông tin hay thu nhận thông tin từ hệ thống đang được xây dựng Biểu đồ Usecase tập trung vào quan sát trạng thái tĩnh của các Usecase trong hệ thống, đặc biệt quan trọng trong việc
tổ chức và mô hình hóa hệ thống
Biểu đồ Usecase biểu diễn yêu cầu của hệ thống từ góc nhìn người dùng, nên Usecase là chức năng mà hệ thống cần có Nó cũng chỉ ra tác nhân nào khởi động Usecase, và khi nào tác nhân thông tin từ hệ thống
Biểu đồ Usecase chỉ ra chức năng tổng thể của hệ thống đang phát triển
3.1.1.1.Danh sách Actor
Danh sách các Actor bao gồm:Khách hàng, Nhân viên cửa hàng, Nhân viên quản lý
3.1.1.2.Mô tả Actor
Nhân viên quản lý: Thực hiện công tác quản lý thông tin sử dụng dịch
vụ café n internet và người sử dụng hệ thống, cụ thể là:
Nhập số chứng minh thư của người sử dụng dịch vụ internet Đổi máy khi có yêu cầu
Nhập số liệu về các dịch vụ mà khách hàng sử dụng Thanh toán tiền sử dụng của khách hàng
Trang 20Nhân viên cửa hàng: Nhận yêu cầu dịch vụ từ khách hàng và chuyển tới cho nhân viên quản lý
Khách hàng: Yêu cầu các dịch vụ, đổi máy, thanh toán …
Hình 3.1 n Biểu đồ UseCase 3.1.1.3.Diễn giải UseCase
UseCase này bắt đầu khi một người dùng đăng nhập vào Hệ thống
Nhân viên quản lý yêu cầu CMT để đăng nhập vào máy mà khách hàng sẽ sử dụng Hệ thống sẽ kiểm tra xem số CMT có hợp lệ hay không (phải là các chữ số
Trang 21Với số CMT hợp lệ, khách hàng sẽ được quyền sử dụng dịch vụ Internet tại máy
mà đã đăng nhập Luồng sự kiện đăng nhập kết thúc
Các điều kiện trước
Máy đăng nhập phải chưa được sử dụng
Các điều kiện sau
Nếu địa chỉ URL mà khách hàng truy cập có trong danh sách các trang web cấm của
hệ thống thì sẽ hiển thị trên Browser của khách hàng dòng chữ “Bạn không được quyền truy cập đến trang web này“
Các yêu cầu đặc biệt
Không có
Các điều kiện trước
Máy của khách hàng sử dụng phải được đăng nhập
Các điều kiện sau
Khách hàng truy cập các trang web bình thường
Thanh toán
Mô tả tóm tắt
UseCase này mô tả quá trình khách hàng thanh toán tiền khi đã sử dụng dịch vụ của hệ thống
Trang 22Luồng sự kiện chính
UseCase này bắt đầu khi khách hàng kết thúc quá trình sử dụng dịch vụ
Các luồng sự kiện phụ
Khi khách hàng không sử dụng máy
Các điều kiện trước
Các điều kiện trước
Khi khách hàng đã sử dụng máy và có máy rỗi
Các điều kiện sau
Khách hàng được chuyển đến máy mới
Yêu cầu dịch vụ kèm theo
Trang 23Các điều kiện trước
Biểu đồ tuần tự làm nổi bật thêm một vài khía cạnh Việc tạo ra một đối tượng được mô tả tường minh bằng mũi tên hướng đến hình chữ nhật chứa tên đối tượng (SharingAgreement), và đường sinh tồn của nó (đường thẳng đứng nét đứt) được bắt đầu tại điểm tạo Tiêu điểm kiểm soát (Focus control) được biểu diễn bằng hình chữ nhật dài và hẹp trên đường sinh tồn, cho biết khi nào một đối tượng hoạt động, hoặc bởi nó đang thực hiện một số hành động hoặc khi nó gởi một thông điệp cho đối tượng khác thực hiện một hành động nhân danh nó
Trang 24Hình 3.2 n Biểu đồ tuần tự 3.1.3 Biểu đồ cộng tác
Biểu đồ cộng tác chỉ ra các thông tin như biểu đồ tuần tự nhưng theo cách khác,
nó tập trung vào tổ chức cấu trúc của các đối tượng gửi và nhận thông điệp
Biểu đồ cộng tác và biểu đồ tuần tự thuộc loại biểu đồ tương tác và chúng có thể biến đổi qua lại nhau Trong khi biểu đồ tuần tự biểu diễn tương tác đối tượng và tác nhân theo thời thì biểu đồ cộng tác lại không quan tâm đến thời gian
Trang 25Hình 3.3 n Biểu đồ cộng tác 3.2 Thiết kế hệ thống
3.2.1 Đặt vấn đề:
Cơ sở dữ liệu và quản trị cơ sở dữ liệu là một trong những vấn đề cốt lõi của tin học Xét cho cùng khi ứng dụng tin học để giải quyết các bài toán thì người ta phải giải quyết vấn đề xây dựng cơ sở dữ liệu và xây dựng thuật toán xử lý chúng Khi cơ sở dữ liệu càng lớn nhu cầu xử lý phức tạp, yêu cầu bảo mật càng cao thì vấn đề quản trị cơ
sở dữ liệu càng phức tạp Vì vậy các mục tiêu của đề án này là tìm hiểu khai thác SQL Server và sử dụng nó để giải quyết bài toán quản lý dân cư Từ mục tiêu của đề án chúng ta thấy rằng nội dung của đề án gồm có hai phần cơ bản:
Trang 261 Tìm hiểu khai thác SQL Server
2 Giải quyết bài toán quản lý dân cư trên SQL Server
• MS SQL Server tiện dụng trong việc phân tán tra cứu dữ liệu nhanh
• MS SQL Server hỗ trợ mạnh với dữ liệu phân tán
MS SQL Server chạy trên môi trường Win NT (Server) và Win 9.X, Win 2000 (Client),
SQL Server là một trong những hệ phần mềm tiện lợi và hiệu quả trong việc phát triển các ứng dụng cơ sở dữ liệu lớn, phân tán thích hợp cho cơ quan, tổ chức, địa phương,
MS SQL Server hỗ trợ tốt trong quản lý xử lý đồng nhất, bảo mật dữ liêu theo
mô hình Client/Server trên mạng
Với máy chủ có MS SQL Server có thể quản trị nhiều Server với tên khác nhau (các Server là hệ quản trị các cơ sở dữ liệu riêng của mình), và nhóm các Server (Server group)
Trên mỗi Server thông thường có nhiều cơ sở dữ liệu (Databases) Mỗi cơ sở
dữ liệu chứa một số đối tượng cơ sở dữ liệu là các bảng, các khung nhìn (view), hay các thủ tục truy vấn (query) Mỗi cơ sở dữ liệu sẽ chứa danh sách những người sử dụng cơ sở dữ liệu đó, họ được trao một số quyền nhất định để truy nhập đến từng đối tượng Người sử dụng có quyền cao nhất với một cơ sở dữ liệu chính là người tạo ra
cơ sở dữ liệu đó (Owner)
Chủ nhân cơ sở dữ liệu (Database Owner) là người sử dụng tạo nên cơ sở dữ liệu, mỗi cơ sở dữ liệu có một chủ nhân, chủ nhân cơ sở dữ liệu có đầy đủ đặc quyền bên trong cơ sở dữ liệu và xác định cung cấp khả năng truy cập tới người khác Trong
cơ sở dữ liệu của mình người sử dụng được giới thiệu như là DBO trong cơ sở dữ liệu khác, Chủ nhân cơ sở dữ liệu là được biết đến bởi tên sử dụng cơ sở dữ liệu của họ
Trang 27Chủ nhân của các đối tượng cơ sở dữ liệu (Database Object Owner) là người
sử dụng tạo ra cơ sở dữ liệu (các bảng, các chỉ số, các khung nhìn, mặc định, các
trigger, các quy tắc, và các thủ tục ) Mỗi cơ sở dữ liệu có duy nhất một người tạo ra Chủ nhân của các đối tượng cơ sở dữ liệu là tự động gán quyền cho phép toàn bộ trên đối tượng cơ sở dữ liệu Chủ nhân của đối tượng cơ sở dữ liệu có thể trao quyền cho phép tới người sử dụng khác, tới đối tượng sử dụng
SQL Server lưu trữ cơ sở dữ liệu trên các thiết bị khác nhau, mỗi thiết bị có thể nằm trên đĩa cứng, mềm, băng từ, có thể nằm trên nhiều đĩa
Cơ sở dữ liệu có thể được lưu trữ trên một hay nhiều thiết bị Cũng có thể mở rộng kích thước thiết bị và thiết bị lưu trữ một cơ sở dữ liệu
SQL Server cho phép quản trị với tệp dữ liệu lớn tới 32 TB (Tetabyte)
SQL Server được kế thừa cùng Windows NT tạo nên một hệ thống bảo mật tốt quản trị user, Server, và những tiện ích của Windows NT
Một số vấn đề về chuẩn hoá dữ liệu
Ta nói rằng X n> Y (đọc là X xác định hàm Y hoặc Y phụ thuộc hàm vào X) Nếu r
là một quan hệ xác định trên R(U) sao cho bất kỳ hai bộ T1, T1? r mà
Trang 28T1[X] = T2[X] thì T1[Y] = T2[Y]
Cần chú ý rằng chỉ xét các phụ thuộc hàm thoả m•n mọi quan hệ trên lược đồ quan
hệ tương ứng của nó chứ không xét phụ thuộc hàm thoả m•n một quan hệ đặc biệt nào
Các dạng chuẩn
Việc chuẩn hoá các quan hệ cũng như các sơ đồ quan hệ đóng vai trò cực kỳ quan trong trong việc thiết kế các hệ quản trị cơ sở dữ liệu trên mô hình dữ liệu Nhờ có các chuẩn hoá các quan hệ và các sơ đồ quan hệ chúng ta tránh được việc dư thừa
dữ liệu và tăng tốc độ của các phép toán xử lí quan hệ
Dạng chuẩn 1 (1NF)
Định nghĩa 1NF: một lược đồ quan hệ R được gọi là ở dạng chuẩn một (1NF) nếu
và chỉ nếu toàn bộ các miền có mặt trong R đều chỉ chứa giá trị nguyên tố
Dạng chuẩn 2 (2NF)
Trước khi đưa ra định nghĩa cần xem xét tới khái niệm về phụ thuộc hàm đầy đủ: Cho lược đồ quan hệ R(U) trên tập thuộc tính U = {A1, Ak} X, Y là hai tập thuộc tính khác nhau nhưng đều là tập con của U Y là phụ thuộc hàm đầy đủ vào X nếu
Y là phụ thuộc hàm vào X nhưng không phụ thuộc hàm vào bất kỳ một tập hợp con thực sự nào của X
Định nghĩa 2NF: Lược đồ quan hệ R ở dạng chuẩn thứ hai nếu nó ở dạng chuẩn thứ nhất và mỗi thuộc tính không khoá của R là phụ thuộc hàm đầy đủ vào khoá chính Dạng chuẩn 3 (3NF)
Định nghĩa 3NF: lược đồ quan hệ R ở dạng chuẩn thứ ba nếu nó ở dạng chuẩn thứ hai và nếu mỗi thuộc tính không khoá của R là không phụ thuộc hàm bắc cầu vào khoá chính
Trên đây là ba dạng chuẩn điển hình, ngoài ra còn có một số chuẩn khác như không nêu ra ở đây Các bảng trong cơ sở dữ liệu chưa chuẩn hoá thì ta có thể tiến hành phân rã các bảng này thành các bảng ở dạng chuẩn hoá Trong thực tế không phải lúc nào dữ liệu dư thừa cũng không tốt, đôi khi người ta chấp nhận sự dư thừa này
để tránh phải trả giá cho việc thêm phép kết nối từ xa tốn kém hơn nhiều
3.2.3.Tổ chức cơ sở dữ liệu
Lược đồ biểu diễn quan hệ giữa các bảng CSDL:
Trang 29Hình 3.4 n Sơ đồ quan hệ Bảng 3.1 : ServiceDetail:
Lưu thông tin các dịch vụ khách hàng sử dụng
vụ
Trang 30Bảng 3.2 : Service:
Lưu thông tin các loại dịch vụ trong cửa hàng
Trường idservice của bảng Service tự ñộng tăng
Bảng 3.3 : Computer:
Lưu thông tin về từng máy
trên mạng LAN
Bảng 3.4 : User:
Lưu thông tin về người dùng trên từng máy
dụng dịch vụ