1. Phân tích hệ thống.
Hệ thống tính cước Internet của VIETEL đã tồn tại hơn một năm, việc phân tích hệ thống để thực hiện công việc tin học hoá đã được tiến hành khá tỉ mỉ và chi tiết do đó công việc mà cơ quan thực tập giao đó là phân tích và thiết kế để bổ xung một modul mới vào hệ thống do vậy việc phân tích ở đây là phân tích ở mức hẹp chỉ phục vụ cho việc thiết kế modul bổ sung vào hệ thống mà thôi.
Sơ đồ DFD ngữ cảnh (context ) được thể hiện qua sơ đồ sau:
Nộp tiền Thông báo
Yêu cầu Báo cáo
Khách hàng Lãnh đạo Lãnh đạo Khách hàng Modul kế toán nợ
Hồ sơ khách hàng Hồ sơ quản lý cước
Sơ đồ DFD Context(level 0)
Từ sơ đồ này phân rã ra thành các mức khác nhau và có các công đoạn khác nhau. Sau đây là phân rã từ sơ đồ DFD context(level 0) sang sơ đồ DFD level 1.
Nộp tiền
Yêu cầu báo
Có cáo
D.mục khách hàng
D.liệu cước
Yêu cầu Hoá đơn nợ
Gửi đến Báo cáo Khách hàng Kế toán Khách hàng Lãnh đạo 1.0 Cập nhật
tiền cước 3.0Xem xét Thông báo 4.0 Lập báo cáo 2.0 Xử lý d.liệu cước
2. Thiết kế dữ liệu.
Dữ liệu của modul trong chương trình được cung cấp bởi hệ thống tính cước phí Internet đã tồn tại. Và dữ liệu được cung cấp để từ đó có thể phân tích và thiết kế modul là các bảng của từng tháng, mỗi tháng được cung cấp một bảng.
Bảng có dạng như sau:
FieldName DataType FieldSize
User-Name Text 50
Duration Number Double
Sum-Account Number Duoble
Cap Number Duoble
Trong quá trình phân tích và thiết kế modul từ bảng dữ liệu gốc này không thể đáp ứng nhu cầu thiết kế do đó,xây dựng bảng mới để có thể phát triển Query phục vụ cho việc thiết kế. Trong bảng dữ liệu gốc chưa xác định trường khoá chính và mỗi một User-Name có hai bản ghi, một bản ghi ứng với tiền cước mà User-Name đó dùng khi trường Cap có giá trị 1 còn bản ghi còn lại ứng với thuế VAT mà User-Name đó phải trả với trường Cap có
giá trị 0. Do vậy để thuận tiện cho việc phân tích cần phải tạo một bảng mới là hoàn toàn cần thiết. Bảng mới này sẽ lấy nguồn từ một Query được xây dựng từ bảng dữ liệu cũ.
Query được thiết kế bằng lệnh sau:
SELECT [thang8].[User-Name], [thang8].Duration, [thang8].[Sum- Account], [thang8].[Sum-Account]*1.1 AS Tongtra
FROM thang8
WHERE ((([thang8].Cap)=1));
Với bảng dữ liệu cũ (thang8) như sau:
Với dữ liệu của công ty đã giao như vậy và qua quá trình phân tích dữ liệu ta có mối quan hệ như sau: