Phân tích thiết kế hệ thống web quản lý và khai thác Tạp chí Địa chất

Một phần của tài liệu Ứng dụng công nghệ thông tin trong quản lý khai thác tạp chí địa chất (Trang 82 - 97)

Chương 3 XÂY DỰNG CHƯƠNG TRÌNH MÁY TÍNH QUẢN LÝ VÀ KHAI THÁC TẠP CHÍ ĐỊA CHẤT

3.2. Phân tích thiết kế hệ thống web quản lý và khai thác Tạp chí Địa chất

Hệ thống được phân tích, thiết kế theo phương pháp top - down.

Phương pháp này cho ta cách nhìn tổng thể về hệ thống thông tin quản lý. Khi đó hệ thống website được phân tích thiết kế về chức năng, về dữ liệu... theo yêu cầu đặt ra của việc quản lý và khai thác Tạp chí Địa chất như ở các phần trên. Cụ thể việc phân tích thiết kế như sau:

3.2.1. Biu đồ phân cp chc năng ca h thng (BPC)

Biểu đồ phân cấp chức năng là biểu đồ diễn tả sự phân rã dần dần các chức năng từ khái quát đến chi tiết. Biểu đồ chức năng có dạng cây. Biểu đồ này cho ta cách nhìn khái quát, dễ hiểu, từ tổng quan hệ thống đến chi tiết về các chức năng và nhiệm vụ cần thực hiện (thường ở mức diễn tả logic). Căn

75

cứ vào kết quả phân tích về quy trình nghiệp vụ và các yêu cầu chức năng của hệ thống được tin học hoá, ta có thể hình dung ra hệ thống bao gồm các chức năng cơ bản sau:

• Quản lý

• Xem tin (bài báo)

• Tìm kiếm

• Diễn đàn trao đổi

Biểu đồ phân cấp chức năng của hệ thống được biểu diễn ở hình 3.11:

Kiểm tra mật khẩu (1.1)

Bài báo (2.1)

HỆ THỐNG TẠP CHÍ ĐỊA CHẤT

Tìm kiếm (2) Quản lý

(1) Xem tin

(3) Diễn

đàn trao đổi (4)

76

Hình 3.11. Biểu đồ phân cấp chức năng

Từ biểu đồ phân cấp chức năng này, chúng ta có thể thấy rõ hơn nhiệm vụ của từng chức năng:

3.2.2. Biu đồ lung d liu

Các thành phần của biểu đồ luồng dữ liệu được thể hiện ở các mục tiếp theo.

77

3.2.2.1. Biểu đồ luồng dữ liệu mức khung cảnh (Mức 0)

Biểu đồ luồng dữ liệu mức khung cảnh, biểu diễn một chức năng duy nhất, đó là chức năng tổng quát của hệ thống (hệ thống thông tin) và các đối tác của hệ thống, cùng với các luồng thông tin trao đổi giữa chức năng tổng quát và các đối tác.

Trong biểu đồ này, tất cả các đối tác đều phải xuất hiện, nhưng các kho dữ liệu không được xuất hiện ở biểu đồ mức khung cảnh.

Như vậy ta có biểu đồ luồng dữ liệu mức khung cảnh của hệ thống thông tin như hình 3.12.

Hệ thống Tạp chí Địa chất

Người xem tin Người quản trị

hệ thống Tin

Tạo tin, thông tin người dùng

Tin, thông tin người dùng Yêu cầu tin

Tạo tin, thông tin cá nhân

Tin, thông tin cá nhân Người viết bài

78

Hình 3.12. Biểu đồ luồng dữ liệu mức khung cảnh 3.2.2.2. Biểu đồ luồng dữ liệu mức đỉnh (Mức 1)

Biểu đồ luồng dữ liệu mức đỉnh miêu tả sự phân cấp chức năng cùng với các luồng trao đổi dữ liệu giữa các chức năng con và các đối tác của hệ thống. Ở mức này cũng chỉ gồm một biểu đồ duy nhất.

Căn cứ vào việc phân tích này ta có biểu đồ luồng dữ liệu mức đỉnh của hệ thống thông tin như hình 3.13.

79

Hình 3.13. Biểu đồ luồng dữ liệu mức đỉnh

3.2.2.3 Biểu đồ luồng dữ liệu mức dưới đỉnh (Mức 2)

3.2.2.3.1. Biểu đồ luồng dữ liệu mức 2 ứng với chức năng quản lý Hình 3.14 biểu diễn biểu đồ luồng dữ liệu mức dưới đỉnh (mức 2)

Yêu cầu tin

Người quản trị

1. Quản lý

Người quản trị 2. Tìm

kiếm

Người xem tin Người duyệt bài,

biên tập

Người viết bài

Người viết bài

Người duyệt tin,

biên tâp

Người xem tin Người

quản trị

Duyệt bài, trả bải, thông tin cá nhân Tin, TT cá nhân

Viết bài, sửa bải thông tin cá nhân Tin, TT

cá nhân

Tin

Yêu cầu tin

Viết bài, sửa bải, thông tin cá nhân

4. Diễn đàn

Người quản trị

Người duyệt, biên tập

tin

Tin

Dữ liệu hệ thống

Tin

3. Xem tin

80

Tin tức

1.3 Cập nhật chuyên

mục

Ngườ i viết Thông tin bài

người dùng

1.1 Kiểm tra mật

khẩu

Thông tin người

dùng Thôn

g tin về tin

Cơ sở dữ liệu hệ thống

Thông tin về nhóm

tin Thông tin về chuyên mục Người

duyệt,

biên tập Thông tin truy cập

Quyền truy

cập

1.4 Cập nhật tin

1.5 Cập nhật nhóm

người dùng

Thông tin về nhóm người dùng

1.6 Cập nhật người

dùng

Người duyệt, biên tập bài

Người viết

bài Tin tức

Người duyệt, biên tập bài Thông tin

người dùng

Tin tức Quản trị hệ

thống

Người quản trị hệ thống

Người quản trị hệ thống

1.2 Cập nhật

nhóm tin Thông tin

về nhóm

tin Thông tin

về chuyên mục Người

viết bài

Quyền truy

cập

Hình 3.14. Biểu đồ luồng dữ liệu mức dưới đỉnh (mức 2)của chức năng quản lý

81

3.2.2.3.2. Biểu đồ luồng dữ liệu mức 2 ứng với chức năng tìm kiếm

Hình 3.15. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng tìm kiếm

Yêu cầu tin

Dữ liệu hệ thống

Người quản trị

2.2 Tìm người dùng

Người xem tin

2.1 Tìm tin

Người viết bài

Người duyệt, biên

tập Người

quản trị

Tin Thông tin về

người dùng

Yêu cầu tin

Yêu cầu tin

Tin Tin

82

3.2.2.4. Biểu đồ luồng dữ liệu mức 3

Biểu đồ luồng dữ liệu ứng với chức năng cập nhật tin

Hình 3.16. Biểu đồ luồng dữ liệu mức 3 chức năng cập nhật tin 3.2.3. Thiết kế cơ s d liu

Dữ liệu được tổ chức theo mô hình quan hệ vì các lí do sau:

- Đơn giản: các dữ liệu được biểu diễn dưới dạng duy nhất là quan hệ, đó là các bảng giá trị, khá tự nhiên và gần gũi với người dùng.

- Chặt chẽ: các khái niệm được hình thức hoá cao, cho phép áp dụng các công cụ toán học, các thuật toán.

Dữ liệu hệ thống

Người quản trị

1.4.1 Thêm tin

1.4.4 Trả lại tin

Người duyệt,

biên tập Người

quản trị

Tin

Thông tin về tin

Tin Tin

1.4.2 Sửa tin

1.4.3 Xóa tin

Tin

Người viết bài

Tin chờ duyệt

Tin Tin

Người viết bài

Tin bị trả lại

1.4.6 Bỏ xuất bản 1.4.5 Xuất

bản tin

Tin

Tin Tin

83

- Trừu tượng hoá cao: mô hình chỉ dừng ở mức quan niệm, nghĩa là độc lập với mức vật lý, sự cài đặt, các thiết bị, nhờ đó làm tăng tính độc lập giữa dữ liệu và chương trình.

- Cung cấp các ngôn ngữ truy vấn ở mức cao như SQL, dễ sử dụng và đã trở thành chuẩn.

Vì vậy chúng ta lựa chọn mô hình quan hệ để thiết kế dữ liệu cho Website Tạp chí Địa chất.

3.2.3.1. Sơ đồ thực thể liên kết E-R

Sơ đồ thực thể liên kết E-R biểu diễn mối quan hệ giữa các bảng dữ liệu. Sơ đồ này cho chúng ta biết mối liên quan của các bảng dữ liệu (thực thể), từ đó hình dung ra cách xử lý dữ liệu.

Để đáp ứng được những yêu cầu trên hệ thống cần được thiết kế chặt chẽ về mặt cơ sở dữ liệu, đảm bảo sao cho tránh dư thừa dữ liệu nhưng vẫn cung cấp đầy đủ các thông tin quản lý.

Từ những phân tích thực tế yêu cầu thông tin quản lý và quá trình phân tích chức năng (sự xuất hiện của các luồng dữ liệu và các kho dữ liệu tương ứng), chúng ta đưa ra các bảng dữ liệu và mối quan hệ giữa chúng.

Ta có sơ đồ quan hệ giữa các bảng của hệ thống như ở hình 3.17.

84

Hình 3.17. Sơ đồ quan hệ của hệ thống thông tin

Mô hình quan hệ trên hoàn toàn đáp ứng được các yêu cầu của hệ quản trị cơ sở dữ liệu và phù hợp với hệ thống website đã đặt ra. Chi tiết về trường dữ liệu trong các bảng như sau:

Bảng 3.1. tblSection (Bảng lưu thông tin về các nhóm tin)

Tên trường Kiểu dữ liệu Độ rộng Nội dung Khoá chính

SectionID Int 4 Mã nhóm tin 1

SectionName nvarchar 100 Tên nhóm tin 0

85

Bảng 3.2. tblCategory (Bảng lưu thông tin về các chuyên mục tin)

Tên trường Kiểu dữ liệu Độ rộng Nội dung Khoá chính

CateID Int 4 Mã chuyên mục 1

CateName nvarchar 100 Tên chuyên mục 0

SectionID Int 4 Mã nhóm tin 0

Bảng 3.3. tblNews (Bảng lưu thông tin về tin)

Tên trường Kiểu dữ liệu Độ rộng Nội dung Khoá chính

NewsID Int 4 Mã tin 1

CateID Int 4 Mã chuyên mục 0

Title nvarchar 200 Tiêu đề 0

Content ntext 16 Nội dung tin 0

Abstract ntext 16 Tóm tắt tin 0

Comment ntext 16 Chú thích 0

CreatedBy Int 4 Người tạo tin 0

CreatedDate smalldatetime 4 Ngày tạo tin 0

ModifiedBy Int 4 Người sửa tin 0

ModifiedDate smalldatetime 4 Ngày sửa tin 0

PublishedBy Int 4 Người duyệt tin 0

PublishedDate smalldatetime 4 Ngày duyệt tin 0

DeniedBy Int 4 Người trả lại tin 0

DeniedDate smalldatetime 4 Ngày trả lại tin 0

State nvarchar 50 Trạng thái tin 0

SoBaoID Int 4 Mã số báo 0

ChuyenDe2ID Int 4 Mã chuyên ngành 2 0

VungLanhThoID Int 4 Mã vùng lãnh thổ 0

VungDiaChatID Int 4 Mã vùng địa chất 0

86

Bảng 3.4. tblGroup (Bảng lưu thông tin về nhóm người dùng)

Tên trường Kiểu dữ liệu Độ rộng Nội dung Khoá chính

GroupID Int 4 Mã nhóm 1

GroupName nvarchar 50 Tên nhóm 0

Permission tinyint 1 Quyền truy nhập 0

Bảng 3.5. tblUser (Bảng lưu thông tin về người dùng)

Tên trường Kiểu dữ liệu Độ rộng Nội dung Khoá chính

UserID Int 4 Mã người dùng 1

UserName nvarchar 50 Tên người dùng 0

Password nvarchar 50 Mật khẩu 0

Fullname nvarchar 40 Tên đầy đủ 0

Email nvarchar 100 Địa chỉ email 0

Description ntext 16 Thông tin mô tả 0

CreatedDate smalldatetime 4 Thời điểm đăng ký 0 LastLogin smalldatetime 4 Đăng nhập lần cuối 0

GroupID Int 4 Mã nhóm 0

Bảng 3.6. tblSoBao (Bảng lưu thông tin về người dùng)

Tên trường Kiểu dữ liệu Độ rộng Nội dung Khoá chính

SoBaoID Int 4 Mã số báo 1

SoTapchi Char 10 Số Tạp chí 0

ThangXuatBan Char 10 Tháng xuất bản 0

NamXuatBan Int 4 Năm xuất bản 0

LoatID Int 4 Loạt 0

87

Bảng 3.7. tblTacGia (Bảng lưu thông tin về người dùng)

Tên trường Kiểu dữ liệu Độ rộng Nội dung Khoá chính

TacGiaID Int 4 Mã tác giả 1

TenTG Nvarchar 100 Tên tác giả 0

TenCQ Nvarchar 100 Cơ quan 0

Email Nvarchar 50 Email 0

Bảng 3.8. tblLoat (Bảng lưu thông tin về người dùng)

Tên trường Kiểu dữ liệu Độ rộng Nội dung Khoá chính

LoatID Int 4 Mã loạt 1

TenLoat Nvarchar 10 Tên loạt 0

NgonNgu Nvarchar 50 Ngôn ngữ 0

3.2.3.2. Sử dụng Store Procedure

Store Procedure là một tập lệnh SQL được sắp xếp trong một đơn vị logic để thực thi một nhiệm vụ riêng. Store Procedure dùng đóng gói các thao tác, các truy vấn để thực hiện trên máy chủ chứa Cơ sở dữ liệu.

Store Procedure được biên dịch trước, được gọi với tham số khác nhau và đưa kết quả khác nhau.

Trong chương trình này do đòi hỏi của chương trình về kết xuất thông tin để hiển thị hay làm báo cáo nên chúng ta cũng xây dựng các Store Procedure sau:

- Section_GetSingle : để lấy một dòng trong bảng Section - Section_Get : để lấy tất cả các dòng trong bảng Section - Section_Delete : để xóa một dòng trong bảng Section - Section_Add : để thêm một dòng vào bảng Section

88

- Section_Update: để cập nhật thông tin về một dòng trong bảng Section - Category_GetSingle : để lấy một dòng trong bảng Category

- Category_Get : để lấy tất cả các dòng trong bảng Category - Category_Delete : để xóa một dòng trong bảng Category - Category_Add : để thêm một dòng vào bảng Category

- Category_Update : để cập nhật thông tin về 1 dòng trong bảng Category - Groups_Add: để thêm một nhóm người dùng

- Groups_Delete : để xóa một nhóm người dùng - News_Delete : để xóa một tin

- News_Get : để lấy tất cả các tin trong bảng News - News_UpdateState: để cập nhật trạng thái của một tin - News_Update: để cập nhật thông tin về một tin

- News_Add: để thêm một tin - News_GetSingle: để lấy một tin

- News_Comment : để lấy phần chú thích của tin - Groups_GetAll : để lấy thông tin về tất cả các nhóm - Groups_UpDate : cập nhật thông tin về một nhóm - Users_Get : lấy thông tin về một người dùng

- Users_GetAll : lấy tất cả các thông tin về người dùng trong bảng User - Users_Add : để thêm một người dùng

- Users_Delete : để xóa một người dùng

- Users_Search: để tìm kiếm thông tin về người dùng ….v.v

89

Một phần của tài liệu Ứng dụng công nghệ thông tin trong quản lý khai thác tạp chí địa chất (Trang 82 - 97)

Tải bản đầy đủ (PDF)

(131 trang)