Các nguyên tắc hữu ích cho việc thiết kế thông tin ra trên màn hình
Đặt mọi thông tin gắn liền với một nhiệm vụ trên cùng một màn hình. Người sử dụng không phải nhớ thông tin từ màn hình này sang màn hình khác.
Chỉ dẫn rõ cách thoát khỏi màn hình. Đặt giữa các tiêu đề và xếp đặt thông tin theo trục trung tâm.
Nếu đầu ra gồm nhiều trang màn hình thì mỗi trang phải được đánh số thứ tự.
Viết văn bản theo quy ước chung bằng cách sử dụng chữ in hoa, in thường, chữ gạch chân . và ngắt câu hợp lý.
Đặt tên đầu cột cho mỗi cột.
Tổ chức các phần tử của danh sách theo trật tự quen thuộc trong quản lý.
Cân trái các cột văn bản và cân phải các cột số, vị trí dấu thập phân thẳng hàng.
Chỉ đặt màu cho những thông tin quan trọng.
96 trang |
Chia sẻ: aloso | Lượt xem: 1895 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng phần mềm quản lý khách hàng tại công ty cổ phần phần mềm quản trị doanh nghiệp CyberSoft, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
thêm chương trình CT 10: Lập báo cáo về khách hàng/khách hàng tiềm năng cho phân hệ quản lý khách hàng và khách hàng tiềQuản lý khách hàng và khách hàng tiềm năng
CT 2: Vào số liệu cho tệp khách hàng
CT 3: Vào số liệu cho tệp khách hàng tiềm năng
CT 9: Sửa chữa, bổ xung, cập nhật thông tin về KH
CT 10: Lập báo cáo về KH/KH tiềm năng
m năng.
Phác thảo thứ ba:
Gộp các module 6, 7 thành phân hệ quản lý khách hàng .
CT 6: Vào số liệu cho tệp hợp đồng
CT 7: Quản lý việc thực hiện hợp đồng
Thiết kế thêm chương trình CT 11: Báo cáo kết quả kinh doanh theo loại hợp đồng cho phân hệ quản lý khách hàng .
Quản lý hợp đồng
CT 6: Vào số liệu cho tệp hợp đồng
CT 7: Quản lý việc thực hiện hợp đồng
CT 11: Báo cáo KQKD doanh theo loại HĐ
Phác thảo thứ tư:
Thiết kế thêm chương trình CT 12: Báo cáo khách hàng bảo hành và gộp với CT 8: Quản lý việc thực hiện bảo hành, lập thành phân hệ quản lý bảo hành.
Quản lý bảo hành
CT 8: Quản lý việc thực hiện bảo hành
CT 12: Báo cáo khách hàng bảo hành
Sau đó ta sẽ gộp bốn phân hệ vừa thiết kế thành một hệ tin học thống nhất của quản lý doanh nghiệp dưới mô hình sau đây:
Quản lý doanh nghiệp
Quản lý nhân sự
CT 1
Quản lý KH và KH tiềm năng
Quản lý hợp đồng
Quản lý bảo hành
CT 4
CT 5
CT 6
CT 7
CT 11
CT 2
CT 3
CT 9
CT 8
CT 12
CT 10
2.3 Quy trình xây dựng phần mềm quản lý
Quá trình xây dựng một phần mềm quản lý gồm 6 quy trình chính được liệt kê dưới đây:
- Quy trình 1: Xác định yêu cầu của khách hàng
- Quy trình 2: Xây dựng và quản lý khách hàng phần mềm
- Quy trình 3: Quy trình thiết kế
- Quy trình 4: Quy trình lập trình
- Quy trình 5: Quy trình test chương trình
- Quy trình 6: Quy trình triển khai
2.3.1 Quy trình 1: Xác định yêu cầu của khách hàng
a) Mục đích: Quy trình xác định yêu cầu khách hàng có mục đích khảo sát hệ thống, xác định một cách chính xác yêu cầu của khách hàng.
b) Các dấu hiệu đặc trưng của quy trình 1:
- Khảo sát hệ thống.
- Phân tích nghiệp vụ.
- Phân tích yêu cầu của khách hàng.
Các công cụ được sử dụng trong quy trình 1 để tiến hành phân tích hệ thống: sơ đồ chức năng nghiệp vụ (BFD), sơ đồ luồng thông tin (IFD), sơ đồ luồng dữ liệu ( DFD ).
Sơ đồ chức năng nghiệp vụ (BFD)
Mục đích của BFD: Tăng cường cách tiếp cận lô gic tới việc phân tích hệ thống và chỉ ra miền khảo cứu hệ thống trong toàn bộ hệ thống tổ chức. Giúp xác định phạm vi hệ thống cần phân tích.
Một BFD đầy đủ gồm :
- Tên chức năng.
- Mô tả có tính chất tường thuật.
- Đầu vào của chức năng.
- Đầu ra của chức năng.
- Các sự kiện gây ra sự thay đổi.
Sơ đồ BFD chỉ cho ta biết cần phải làm gì chứ không chỉ ra là phải làm thế nào, ở đây chúng ta không cần phân biệt chức năng hành chính với chức năng quản lý. Tất cả các chức năng đó đều quan trọng và cần được xử lý như nhau như một phần của cùng một cấu trúc.
Sơ đồ luồng thông tin (IFD)
Sơ đồ luồng thông tin được dùng để mô tả hệ thống thông tin theo cách thức động. Tức là mô tả sự di chuyển của dữ liệu, việc xử lý, việc lưu trữ trong thế giới vật lý bằng các sơ đồ.
Ký pháp dùng cho sơ đồ luồng thông tin:
- Xử lý
Thủ công
Giao tác người – máy
Tin học hóa hoàn toàn
- Kho lưu trữ dữ liệu
Thủ công
Tin học hóa
- Dòng thông tin
- Điều khiển
Tài liệu
Sơ đồ luồng dữ liệu (DFD)
Mục đích của DFD là trợ giúp cho 4 hoạt động chính của nhà phân tích.
- Liên lạc: DFD mang tính đơn giản, dễ hiểu đối với người phân tích và người dùng.
- Tài liệu: Đặc tả yêu cầu hình thức và yêu cầu thiết kế hệ thống là nhân tố làm đơn giản việc tạo và chấp nhận tài liệu.
- Phân tích DFD: Để xác định yêu cầu của người sử dụng.
- Thiết kế: Phục vụ cho việc lập kế hoạch và minh họa các phương án cho nhà phân tích và người dùng xem xét khi thiết kế hệ thống mới.
Ký pháp dùng cho sơ đồ luồng dữ liệu:
Ký pháp
Tên
Diễn giải
Tên người/ bộ phận phát/ nhận tin
Nguồn hoặc đích
Là nơi xuất phát (nguồn) hay nơi đến (đích) của luồng dữ liệu. Ký pháp được biểu hiện bằng một hình chữ nhật, bên trong ghi tên của nguồn hoặc đích.
Tên dòng dữ liệu
Dòng dữ liệu
Là các dữ liệu di chuyển từ một vị trí này đến một vị trí khác trong hệ thống. Dòng dữ liệu được ký hiệu bằng một mũi tên có chiều để chỉ hướng dữ liệu di chuyển và tên của dữ liệu được ghi trên đó.
Tên tiến trình xử lý
Tiến trình xử lý
Là một công việc hay một hành động tác động lên dữ liệu làm cho chúng được di chuyển, lưu trữ hay thay đổi. Tiến trình được mô tả bằng một hình tròn, bên trong ghi tên tiến trình.
Tệp dữ liệu
Kho dữ liệu
Là các dữ liệu được lưu trữ ở một chỗ. Nó được mô tả bằng một hình chữ nhật khuyết hai cạnh bên trái và bên phải, bên trong có ghi tên cơ sở dữ liệu.
c) Lưu đồ của quy trình 1
Mở đầu
Kết thúc
Lập kế hoạch xác định yêu cầu
Khảo sát hệ thống
Phân tích nghiệp vụ
Phân tích yêu cầu khách hàng
Mô tả hoạt động hệ thống
Báo cáo xác định yêu cầu
Hình 2. 4 Lưu đồ quy trình 1: Xác định yêu cầu khách hàng
2.3.2 Quy trình 2: Xây dựng và quản lý khách hàng phần mềm
a) Mục đích
Quy trình xây dựng và quản lý khách hàng phần mềm có các mục đích :
- Xác định giải pháp kỹ thuật.
- Soạn thảo hợp đồng.
- Tổ chức việc quản lý và thanh toán thanh lý hợp đồng.
b) Các dấu hiệu đặc trưng
- Đưa ra các giải pháp kỹ thuật.
- Lập và quản lý khách hàng phần mềm.
- Thanh toán, thanh lý hợp đồng phần mềm.
c) Lưu đồ của quy trình 2
Mở đầu
Kết thúc
Đề xuất xây dựng hợp đồng phần mềm
Đề ra các giải pháp kỹ thuật
Xây dựng và ký kết hợp đồng phần mềm
Theo dõi thực hiện hợp đồng phần mềm
Thanh toán, thanh lý hợp đồng phần mềm
Báo cáo, bàn giao kết quả
Hình 2. 5 Lưu đồ quy trình 2: Xây dựng và quản lý khách hàng phần mềm
2.3.3 Quy trình 3: Quy trình thiết kế
a) Mục đích: Xây dựng đặc tả yêu cầu phần mềm, thiết kế kiến trúc hệ thống và thiết kế kỹ thuật.
b) Các dấu hiệu đặc trưng
Quy trình thiết kế được đặc trưng bởi các dấu hiệu sau:
- Thiết kế kiến trúc hệ thống.
- Thiết kế kỹ thuật: Thiết kế dữ liệu.
Thiết kế chương trình.
Thiết kế giao diện.
Thiết kế các công cụ cài đặt.
Để thiết kế cơ sở dữ liệu người ta thường dùng một trong hai phương pháp phổ biến: phương pháp từ các đầu ra và phương pháp mô hình hóa.
c) Thiết kế cơ sở dữ liệu
Thiết kế cơ sở dữ liệu lô gic từ các thông tin đầu ra
Bước 1. Xác định các đầu ra
- Liệt kê toàn bộ các thông tin đầu ra.
- Nội dung, khối lượng, tần suất và nơi nhận chúng.
Bước 2. Xác định các tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra.
- Đầu tiên liệt kê toàn bộ các thuộc tính thành một danh sách
- Đánh dấu các thuộc tính lặp – là những thuộc tính có thể nhận nhiều giá trị dữ liệu.
- Đánh dấu các thuộc tính thứ sinh – là những thuộc tính được tính toán ra hoặc được suy ra từ các thuộc tính khác
- Gạch chân các thuộc tính làm khóa chính cho thông tin đầu ra.
Thực hiện chuẩn hoá mức 1 (1.NF):
- Chuẩn hoá mức một quy định rằng, trong mỗi danh sách không được chứa các thuộc tính lặp. Nếu có các thuộc tính lặp thì phải tách các thuộc tính lặp đó thành các danh sách con, có ý nghĩa dưới góc độ quản lý.
- Gắn thêm cho nó một tên, tìm cho nó một thuộc tính định danh riêng.
Thực hiện chuẩn hoá mức 2 (2.NF):
- Chuẩn hoá mức hai quy định rằng, trong một danh sách mỗi thuộc tính phải phụ thuộc hàm hoàn toàn vào toàn bộ khoá chức không chỉ phụ thuộc vào một phần của khoá. Nếu có sự phụ thuộc như vậy thì phải tách những những thuộc tính phụ thuộc hàm vào bộ phận của khoá thành một danh sách con mới.
- Lấy bộ phận khóa đó làm khóa cho danh sách mới. Đặt cho danh sách mới này một tên riêng thích hợp.
Thực hiện chuẩn hoá mức 3 (3.NF):
- Chuẩn hoá mức 3 quy định rằng, trong một danh sách không được phép có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu thuộc tính này phụ thuộc hàm vào thuộc tính kia thì phải tách chúng ta thành các thuộc tính khác nhau có quan hệ với nhau.
- Xác định khóa và tên cho mỗi danh sách mới.
Bước 3. Tích hợp các tệp để chỉ tạo ra một CSDL
Sau khi thực hiện bước 2 sẽ tạo ra rất nhiều danh sách, mỗi danh sách liên quan tới một đối tượng quản lý. Những danh sách nào cùng mô tả về một thực thể thì phải tích hợp lại, nghĩa là tạo một danh sách chung, bằng cách tập hợp tất cả các thuộc tính chung và riêng của những danh sách đó.
Bước 4. Xác định khối lượng dữ liệu cho từng tệp và toàn bộ sơ đồ
- Xác định số lượng các bản ghi cho từng tệp.
- Xác định độ dài cho một thuộc tính, tính độ dài cho bản ghi.
Bước 5. Xác định liên hệ lô gic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu
Xác định mối liên hệ giữa các tệp, biểu diễn chúng bằng các mũi tên hai chiều.
Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa
Các thành phần của mô hình dữ liệu bao gồm :
- Thuộc tính : là đặc trưng của thực thể. Thuộc tính liên quan đến các kiểu thực thể, còn giá trị thuộc tính riêng biệt thì thuộc về riêng từng thực thể. Có 3 loại thuộc tính như :
+ Thuộc tính định danh ( thuộc tính khoá): là một hay nhiều thuộc tính cho phép xác định duy nhất một thực thể.
+ Thuộc tính mô tả: hầu hết các thuộc tính trong một kiểu thực thể đều là thuộc tính mô tả. Mỗi thuộc tính chỉ xuất hiện trong một bảng
Ví dụ:
Với thực thể DmKhachHang ( MaKH, TenKH, DiaChi, DienThoai ) thì:
* Thuộc tính MaKH là khoá.
* Thuộc tính TenKH, DiaChi, DienThoai là thuộc tính mô tả.
+ Thuộc tính kết nối: là thuộc tính được dùng để chỉ ra mối quan hệ giữa một thực thể này với một thực thể khác.
- Thực thể: được hiểu là tập hợp các đối tượng cùng loại dưới góc độ quan tâm của nhà quản lý.
Có hai loại thực thể:
- Thực thể tài nguyên: Chỉ mô tả mà không giao dịch.
VD: DmKhachHang ( MaKH, TenKH, DiaChi, DienThoai )
- Bảng giao dịch (Nhóm thực thể giao dịch): Thể hiện các giao dịch.
Ví dụ: HopDong (SoHD, MaKH, DienGiai, NgayHD, MaNhanVien)
- Kiểu thực thể: là một nhóm tự nhiên một số thực thể lại, mô tả một loại thông tin chứ không phải bản thân thông tin.
- Các kiểu liên kết :
1@1 Liên kết Một - Một
Một lần xuất hiện của thực thể A được liên kết với chỉ một lần xuất hiện của thực thể B và ngược lại.
1@N Liên kết Một - Nhiều
Loại liên kết này phổ biến trong thực tế, một lần xuất hiện của thực thể A liên kết với một hay nhiều lần xuất hiện của thực thể B, nhưng mỗi lần xuất hiện của B chỉ liên kết với một lần xuất hiện của A.
Ví dụ như quan hệ giữa khách hàng và hóa đơn bán hàng, một khách hàng có thể có nhiều hóa đơn bán hàng, còn một hóa đơn bán hàng chỉ thuộc về một khách hàng nào đó.
N@M Liên kết Nhiều - Nhiều
Mỗi lần xuất của A tương ứng với một hay nhiều lần xuất của B và ngược lại, nhiều mỗi lần xuất của B tương ứng với một hay nhiều lần xuất của B.
d) Thiết kế giao diện
Những nguyên tắc cơ bản khi trình bầy thông tin trên màn hình
Theo Dumas và Galitz thì có những nguyên tắc cơ bản cho việc trình bầy thông tin trên màn hình sau:
Đặt mọi thông tin gắn liền với một nhiệm vụ trên cùng một màn hình. Người sử dụng không phải nhớ thông tin từ màn hình này sang màn hình khác.
Chỉ dẫn rõ cách thoát khỏi màn hình. Đặt giữa các tiêu đề và xếp đặt thông tin theo trục trung tâm.
Nếu đầu ra gồm nhiều trang màn hình thì mỗi trang phải được đánh số thứ tự.
Viết văn bản theo quy ước chung bằng cách sử dụng chữ in hoa, in thường, chữ gạch chân ... và ngắt câu hợp lý.
Đặt tên đầu cột cho mỗi cột.
Tổ chức các phần tử của danh sách theo trật tự quen thuộc trong quản lý.
Cân trái các cột văn bản và cân phải các cột số, vị trí dấu thập phân thẳng hàng.
Chỉ đặt màu cho những thông tin quan trọng.
Các quy tắc hữu ích cho việc thiết kế màn hình nhập liệu
Khi nhập dữ liệu từ một tài liệu gốc, khuôn dạng màn hình nhập liệu phải giống như tài liệu gốc.
Nên nhóm các trường trên màn hình theo một trật tự có ý nghĩa, theo trật tự tự nhiên, theo tần số sử dụng, theo chức năng hoặc theo tầm quan trọng.
Người dùng không phải nhập các thông tin mà chương trình có thể tìm được từ CSDL hoặc tính toán được.
Đặt tên các trường ở trên hoặc trước trường nhập.
Đặt các giá trị ngầm định cho phù hợp.
Sử dụng phím Tab để chuyển trường.
e) Lưu đồ của quy trình 3
Mở đầu
Kết thúc
Lập kế hoạch thiết kế
Xác định yêu cầu phần mềm
Thiết kế kiến trúc hệ thông
Xem xét kiến trúc hệ thống
Thiết kế kỹ thuật
Báo cáo tổng hợp kết quả thiết kế
Đạt
Chưa đạt
Hình 2. 6 Lưu đồ quy trình 3: Quy trình thiết kế
2.3.4 Quy trình 4: Quy trình lập trình
a) Mục đích
Quy trình lập trình có các mục đích sau đây:
- Lập kế hoạch lập trình.
- Lập trình các module.
- Tích hợp và mô tả hệ thống.
b) Các dấu hiệu
Quy trình lập trình được đặc trưng bởi các dấu hiệu:
- Lập trình các module.
- Tích hợp các module.
- Mô tả cơ chế hoạt động của chương trình.
c) Lưu đồ của quy trình 4
Mở đầu
Kết thúc
Lập kế hoạch lập trình
Kiểm tra công cụ lập trình
Lập trình các thư viện chung
Lập trình các module chức năng
Tích hợp phần mềm
Lỗi khi tích hợp
Tập hợp bàn giao kết quả
Không có lỗi
Có lỗi
Hình 2. 7 Lưu đồ quy trình 4: Quy trình lập trình
2.3.5 Quy trình 5: Quy trình test chương trình
a) Mục đích
Quy trình test có mục đích test hệ thống, test theo các tiêu chuẩn nghiệm thu và test theo yêu cầu của khách hàng.
b) Các dấu hiệu
- Lập kịch bản test.
- Tiến hành test chương trình phần mềm.
- Viêt hồ sơ test chương trình.
c) Lưu đồ của quy trình 5
Mở đầu
Kết thúc
Lập kế hoạch test
Lập kịch bản test
Thực hiện test
Bàn giao kết quả test
Duyệt kế hoạch test
Duyệt kịch bản test
Ghi nhân kết quả test
Duyệt
Duyệt
Không duyệt
Không duyệt
Hình 2. 8 Lưu đồ quy trình 5: Quy trình test chương trình
2.3.6 Quy trình 6: Quy trình triển khai
a) Mục đích
Quá trình triển khai có mục đích
- Cài đặt phần mềm cho khách hàng tại các điểm triển khai
- Đào tạo sử dụng cho khách hàng
- Hỗ trợ chuyển đổi dữ liệu từ hệ thống cũ sang hệ thống mới.
b) Các dấu hiệu
Quy trình triển khai được đặc trưng bởi các dấu hiệu:
- Cài đặt máy chủ, máy trạm.
- Cài đặt các phần mềm ứng dụng.
- Đào tạo và hỗ trợ người sử dụng.
c) Các phương pháp cài đặt hệ thống
Có bốn kiểu cài đặt cơ bản: Trực tiếp, song song, cục bộ từng phần và phân giai đoạn. Việc lựa chọn phương pháp cài đặt là tùy thuộc vào quy mô và độ phức tạp của những thay đổi liên quan đến hệ thống mới.
Cài đặt trực tiếp
Theo phương pháp này người ta thực hiện cài đặt trong thời gian ngắn, toàHệ thống cũ
Hệ thống mới
n bộ các công việc được thưc hiện đồng thời.
Ưu điểm: Thực hiện trong thời gian ngắn, tổng kinh phí ít, do thời gian thực hiện ngắn nên việc chống đối khó có điều kiện thực hiện.
Nhược điểm: Tính rủi ro cao, đòi hỏi chi phí cấp tập, đòi hỏi nhân lực công nghệ thông tin, việc quản lý căng thẳng.
Áp dụng: phương pháp này phù hợp với các hệ thống thông tin (HTTT) nhỏ, ít rủi ro, người quản lý có kinh nghiệm chuyển đổi.
Cài đặt song song
Theo phương pháp này HTTT mới sẽ hoạt động song hành với HTTT cũ trong thời gian khá dài. Khi HTTT mới chúng tỏ được ưu việt của mình thì ngHệ thống cũ
Hệ thống mới
ười ta ngừng hoạt động của HTTT cũ.
Ưu điểm: phương pháp này cực kì an toàn, có thể chứng tỏ được tính ưu việt của hệ thống mới, có điều kiện so sánh kết quả của hai hệ thống, có thể chỉnh sửa được hệ thống mới, phát hiện được những vô lý của hệ thống cũ.
Nhược điểm: phương pháp này thường tốn kém, quản lý khó khăn, đòi hỏi nhân lực lớn, kéo dài nên có sự chống đối của cái cũ.
Áp dụng phương pháp này được sử dụng trong các hệ thống mà đòi hỏi sự an toàn một cách sống còn. Chỉ nên áp dụng trong các hệ thống vừa và nhỏ, các hệ thống mà người sử dụng tương đối có kinh nghiệm.
Cài đặt thí điểm cục bộ
Người ta sẽ chọn một bộ phận tiêu biểu và tiến hành chuyển đổi cho bộ phận này sau đó rút kinh nghiệm và triển khai đại trà cho tất cả các bộ phận Hệ thống mới
Hệ thống cũ
Hệ thống mới
khác.
Ưu điểm: phương pháp này khá an toàn, tổng chi phí vừa phải, hiệu quả ưu việt của HTTT khá đảm bảo, thời gian chuyển đổi khá ngắn.
Nhược điểm: Việc chọn bộ phận làm thí điểm có một ít khó khăn, khó khăn vì cả hệ thống mới và hệ thống cũ cùng hoạt động.
Áp dụng: phương pháp này phù hợp với những hệ thống có nhiều bộ phận nhỏ chức năng tương đương nhau, hay các hệ thống trên địa bàn rộng lớn, phức tạp.
Chuyển đổi dần từng bộ phận
Theo phương pháp này sẽ tiến hành cài đặt từng bộ phận cho đến khi toàn hệ thống được cài đặt.
Hệ thống cũ
Hệ thống mới
Ưu điểm: phương pháp này an toàn, qua quá trình cài đặt rút ra điều kiện kinh nghiệm, phương pháp này phù hợp với việc kinh phí cấp dần theo thời gian.
Nhược điểm: khó quản lý, thời gian kéo dài nên gây tâm lý chống đối. Tổng kinh phí cho việc chuyển đổi lớn. Do thời gian kéo dài nên có thể bị lạc hậu về kỹ thuật.
Áp dụng: phương pháp này phù hợp với những hệ thống lớn, kinh phí bao cấp, phù hợp với các hệ thống mà sự ảnh hưởng của công nghệ là vừa phải.
d) Lưu đồ của quy trình 6
Mở đầu
Kết thúc
Lập kế hoạch triển khai
Xây dựng giải pháp
Cài đặt chương trình
Đưa hệ thống vận hành
Kiểm tra
Hướng dẫn sử dụng
Thông qua
Không thông qua
Tổng hợp bàn giao kết quả
Hình 2. 9 Lưu đồ quy trình 6: Quy trình triển khai
CHƯƠNG III
XÂY DỰNG PHẦN MỀM QUẢN LÝ HỢP ĐỒNG TẠI CÔNG TY CỔ PHẦN MỀM PHẦN MỀM QUẢN LÝ DOANH NGHIỆP CYBERSOFT
3.1 Khảo sát hệ thống quản lý khách hàng tại công ty CYBERSOFT
Quá trình thu thập thông tin cho việc phân tích thiết kế hệ thống quản lý khách hàng tại công ty CyberSoft được thực hiện bởi hai phương pháp chủ yếu là phỏng vấn trực tiếp và nghiên cứu tài liệu.
Phương pháp phỏng vấn tập trung đi sâu tìm hiểu các vấn đề liên quan đến nghiệp vụ, kinh nghiệm cũng như các vấn đề phát sinh trong quá trình hoạt động của hệ thống. Với đối tượng phỏng vấn đến từ nhiều bộ phận khác nhau của công ty, lượng thông tin thu thập được khá đầy đủ và chi tiết.
Phương pháp nghiên cứu tài liệu thu thập các thông tin về lịch sử hoạt động của công ty, chức năng của mỗi phòng ban trong công ty, quá trình kí kết, gia hạn hợp đồng với khách hàng cũng như các loại hồ sơ liên quan đến khách hàng như: hợp đồng mua phần mềm, hợp đồng bảo trì sản phẩm, phiếu hỗ trợ bảo hành,…
3.1.1 Các hoạt động chủ yếu của hệ thống quản lý khách hàng
- Tiếp nhận các yêu cầu của khách hàng về nhu cầu phần mềm, nhu cầu ký hợp đồng bảo trì.
- Cập nhật thông tin về khách hàng.
- Cập nhật thông tin về các sản phẩm phần mềm.
- Cập nhật thông tin về các hợp đồng.
-Cập nhật thông tin về yêu cầu bảo hành
-Cập nhật thông tin về ý kiến khách hàng
- Lập phiếu đề nghị triển khai thực hiện hợp đồng.
- Lập các báo cáo theo định kỳ hoặc khi có yêu cầu như bản kê khách hàng, báo cáo kết quả kinh doanh, báo cáo tình hình ký kết,bảng kê ý kiến của khách hàng, danh sách khách hàng có yêu cầu bảo hành trong tháng…
3.1.2 Các mẫu biểu thường gặp
- Hợp đồng cung cấp phần mềm và phụ lục hợp đồng (nếu có).
- Hợp đồng bảo trì.
- Phiếu đề nghị triển khai.
- Phiếu theo dõi thông tin hợp đồng.
- Bản kê danh sách khách hàng.
- Báo cáo tình hình ký kết, báo cáo kết quả kinh doanh.
3.1.3 Quy trình của bài toán quản lý khách hàng
Quá trình quản lý khách hàng tại công ty CYBERSOFT sẽ diễn ra như sau:
Khi một khách hàng gửi nhu cầu muốn được sử dụng phần mềm tới công ty thì phòng kinh doanh sẽ xem xét yêu cầu của khách hàng đó.
Nếu sản phẩm phần mềm của công ty đáp ứng được yêu cầu của khách hàng thì sẽ tiến hành ký hợp đồng cung cấp phần mềm.
Nếu phần mềm chưa đáp ứng ngay điều kiện yêu cầu của khách hàng thì phòng kinh doanh sẽ tiến hành khảo sát, sau đó gửi báo cáo đến phòng lập trình để phòng lập trình sửa đổi phần mềm cho phù hợp với yêu cầu của khách hàng. Khi đã hoàn thành xong thì hợp đồng cung cấp phần mềm được ký kết với khách hàng.
Sau khi ký hợp đồng cung cấp phần mềm thì phòng kinh doanh sẽ gửi phiếu đề nghị triển khai tới phòng triển khai đồng thời gửi yêu cầu bảo hành cho khách hàng tới phòng bảo hành (phòng hỗ trợ và chăm sóc khách hàng).
Khi phòng triển khai thực hiện cài đặt phần mềm và hướng dẫn sử dụng phần mềm cho khách hàng xong thì lúc phần mềm xảy ra trục trặc phòng bảo hành sẽ đảm nhận khắc phục lỗi và hướng dẫn tư vấn cho khách hàng.
Những khách hàng còn thời gian bảo hành như trong hợp đồng sẽ được phòng bảo hành thực hiện việc bảo hành. Khi hết khách hàng thời gian bảo phần mềm thì nhân viên phòng bảo hành sẽ thông báo cho khách hàng. Khách hàng có nhu cầu ký hợp đồng bảo trì sẽ liên hệ với phòng bảo hành để ký hợp đồng bảo trì.
3.2 Phân tích hệ thống quản lý khách hàng tại công ty CYBERSOFT
3.2.1 Sơ đồ chức năng nghiệp vụ (BFD)
3.2.1.1 Sơ đồ chức năng nghiệp vụ của công ty CYBERSOFT
Công ty phần mềm CYBERSOFT
1. Quản lý khách hàng
2. Quản lý
hợp đồng
3. Quản lý
bảo hành
4. Quản lý
văn phòng
Hình 3. 1 BFD của công ty CYBERSOFT
3.2.1.2 Sơ đồ chức năng nghiệp vụ của bộ phận quản lý khách hàng
Quản lý khách hàng
Quản lý danh mục
Quản lý hợp đồng
Quản lý bảo hành
Báo cáo & thống kê
Hình 3. 2 BFD của bộ phận quản lý khách hàng
BFD tiến trình 1: Quản lý danh mục
Quản lý danh mục
Quản lý DM khách hàng
Quản lý DM nhân viên
Quản lý DM liên quan khác
Nhập mới
Sửa
Tìm kiếm
Nhập mới
Sửa
Tìm kiếm
Nhập mới
Sửa
Tìm kiếm
In DM khách hàng
In DM nhân viên
In danh mục
BFD tiến trình 2: Quản lý hợp đồng
Quản lý hợp đồng
Cập nhật hợp đồng mới
Sửa hợp đồng
Tìm kiếm hợp đồng
In hợp đồng
BFD tiến trình 3: Quản lý bảo hành
Quản lý bảo hành
Nhập thông tin bảo hành
Quản lý ý kiến khách hàng
Tìm kiếm thông tin
In các báo cáo
- BFD tiến trình4: Thống kê và báo cáo
Thống kê và báo cáo
Thống kê
Báo cáo
Báo cáo kết quả kinh doanh
Báo cáo thôn tin bảo hành
Báo cáo ý kiến KH
3.2.2 Sơ đồ luồng thông tin (IFD) của quá trình thu thập xử lý thông tin của hệ thống quản lý khách hàng
Các ký pháp của sơ đồ luồng thông tin:
Xử lý:
Xử lý thủ công
Giao tác người – máy
Tin học hóa hoàn toàn
Kho lưu trữ dữ liệu:
Thủ công
Tin học hóa
Dòng thông tin:
Tài liệu
Thời điểm
Khách hàng
Phòng kinh doanh
Phòng triển khai, Giám đốc điều hành
Tần suất xử lý
Cuối tháng, khi có yêu cầu của lãnh đạo
Ký hợp đồng
Trong tháng
Hợp đồng cung cấp phần mềm
Nhu cầu sản phẩm phần mềm
Thông tin về khách hàng
Hợp đồng
Quản lý hợp đồng
Thống kê, báo cáo
3 phiếu/ ngày
Yêu cầu cài đặt, đào tạo
Hợp đồng
Khách hàng
Quản lý khách hàng
Lưu trữ hợp đồng
Báo cáo
Phiếu đề nghị triển khai
15 hợp đồng/ 1 nhân viên/ tháng
Hình 3. 3 Sơ đồ luồng thông tin của hệ thống quản lý hồ sơ khách hàng, quản lý khách hàng cung cấp phần mềm.
Thời điểm
Khách hàng
Phòng kinh doanh
Phòng triển khai, Giám đốc điều hành
Tần suất xử lý
Ký hợp đồng bảo trì
Cuối tháng, khi có yêu cầu của lãnh đạo
Trong tháng
Hợp đồng bảo trì
Báo giá hợp đồng bảo trì
Nhu cầu ký hợp đồng bảo trì
Thông tin về thời gian bảo trì
Thống kê, báo cáo
Lưu trữ hợp đồng
Quản lý hợp đồng
Hợp đồng
Hợp đồng
Hồ sơ bảo trì
Quản lý bảo hành
Phiếu bảo hành cho KH
Lịch bảo trì định kỳ cho KH
Báo cáo
3 phiếu/ 1 nhân viên / ngày
Hình 3. 4 Sơ đồ luồng thông tin hệ thống quản lý bảo hành, quản lý khách hàng bảo trì
3.2.3 Sơ đồ luồng dữ liệu (DFD) của hệ thống quản lý khách hàng
Các ký pháp dùng trong sơ đồ luồng dữ liệu:
Tên người/ bộ phận phát nhận tin
Tên dòng dữ liệu
Tên tiến trình xứ lý
Tệp dữ liệu
Nguốn hoặc đích
Dòng dữ liệu
Tiến trình xử lý
Kho dữ liệu
3.2.3.1 Sơ đồ ngữ cảnh hệ thống quản lý khách hàng
HTTT Quản lý hợp đồng
Khách hàng
Phòng triển khai
Giám đốc/ Trưởng phòng
Khách hàng
P. Bảo hành
Hợp đồng cung cấp phần mếm
Yêu cầu cài đặt phần mềm
Phiếu đề nghị triển khai
Phiếu theo dõi thông tin hợp
đồng
Hợp đồng bảo trì
Phiếu yêu cầu thực hiện bảo hành
Nhu cầu bảo trì
Khách hàng
Thông tin khách hàng
Báo giá hợp đồng bảo trì
Báo cáo định ký
Hình 3. 5 Sơ đồ ngữ cảnh hệ thống quản lý khách hàng
3.2.3.2 Sơ đồ luồng dữ liệu mức 0
Khách hàng
1.0 Quản lý danh mục khách hàng
2.0 Quản lý HĐ cung cấp phần mềm
3.0
Quản lý hợp đồng bảo trì
4.0
Thống kê,
báo cáo
DMKhách hàng
Khách hàng
Khách hàng
Giám đốc/ Trưởng phòng
Phòng triển khai
Hợp đồng
Phòng bảo hành
Báo cáo định ký
Thông tin về khách hàng
Nhu cầu phần mềm
Thông tin bảo trì của khách hàng
Hợp đồng bảo trì
Nhu cầu bảo trì
Báo giá hợp đồng bảo trì
Hợp đồng cung cấp phần mềm
Yêu cầu cài đặt phần mềm
Báo cáo tình hình triển khai
Phiếu đề nghị triển khai,
Phiếu theo dõi thông tin HĐ
Hình 3. 6 Sơ đồ luồng dữ liệu mức 0 hệ thống quản lý khách hàng
3.2.3.3 DFD mức 1 của tiến trình 1.0: Quản lý danh mục khách hàngKhách hàng
Danh mục khách hàng
1.1
Thu thập
thông tin về khách hàng
1.2
Phân loại khách hàng
1.3
Cập nhật
thông tin về khách hàng
1.4
Cập nhật
nhu cầu
phần mềm
Khách hàng
Thông tin đã thu thập
Thông tin về khách hàng
Thông tin sau khi phân loại
Nhu cầu về phần mềm
Hình 3. 7 DFD mức 1 của tiến trình 1.0 Quản lý danh mục khách hàng
3.2.3.4 DFD mức 1 của tiến trình 2.0: Quản lý khách hàng cung cấp phần mềm
Khách hàng
Hợp đồng
2.1
Cập nhật hợp đồng cung cấp phần mêm
2.2
Lập phiếu
đề nghị triển khai
2.3
Lập phiếu theo dõi thông tin hợp đồng
Khách hàng
Phiếu theo dõi thông tin hợp đồng
Danh mục nhân viên
Phòng triển khai
Hợp đồng cung cấp phần mềm
Yêu cầu cài đặt, đào tạo
Phiếu đề nghị triển khai
Báo cáo tình hình triển khai
DM Khách hàng
Hình 3. 8 DFD mức 1 của tiến trình 2.0 Quản lý khách hàng cung cấp phần mềm3.2.3.5 DFD mức 1 của tiến trình
3.0: Quản lý khách hàng bảo trì
Khách hàng
Hợp đồng
3.1
Thông báo thời hạn
bảo hành
3.2
Báo giá
hợp đồng
bảo trì
3.3
Cập nhật
hợp đồng
bảo trì
Thời gian bảo hành
DM nhân viên
P.Bảo hành
3.4
Phân công
bảo trì cho khách hàng
Khách hàng
Phòng bảo hành
P.Bảo hành
Khách hàng
Nhu cầu ký hợp đồng bảo trì
Báo giá
Thông tin bảo hành
Thông tin báo giá
Hợp đồng bảo trì
Phiếu bảo hành
Phiếu bảo hành có xác nhận của khách hàng
DM khách hàng
Hình 3. 9 DFD mức 1 của tiến trình 3.0 Quản lý khách hàng bảo trì
3.2.3.6 DFD mức 1 của tiến trình 4.0: Thống kê, báo cáo
Hợp đồng
4.1
Truy xuất
dữ liệu
4.2
Tính toán
tổng hợp số liệu
4.3
Lên báo cáo
Dữ liệu đã được lọc
DM nhân viên
Giám đốc/ Trưởng phòng
DM Khách hàng
Báo cáo định ký
Thông tin cho báo cáo
Hình 3. 10 DFD mức 1 của tiến trình 4.0 Thống kê, báo cáo
3.2.4 Từ điển dữ liệu
3.2.4.1 Phích luồng dữ liệu
Tên luồng: Hợp đồng cung cấp phần mềm
Mô tả: Là hợp đồng được lập khi phát sinh nghiệp vụ bán sản phẩm phần mềm cho khách hàng.
Vật mang: Là hợp đồng trên giấy tờ và được lưu trữ trên các vật mang tin như đĩa từ.
DFD liên quan: DFD mức 1 của tiến trình 2.0: Quản lý hợp đồng cung cấp phần mềm.
Nguồn: Khách hàng
Đích: chuyển đến phòng kinh doanh.
Các phần tử thông tin: Số hợp đồng, ngày lập hợp đồng, tên khách hàng, sản phẩm phần mềm cung cấp cho khách hàng, giá trị hợp đồng.
Tên luồng: Phiếu đề nghị triển khai
Mô tả: Được lập sau khi có phát sinh bán sản phẩm phần mềm cho khách hàng. Đây là căn cứ để triển khai cài đặt phần mềm, đào tạo người sử dụng cho khách hàng.
Vật mang: Là văn bản trên giấy tờ và được lưu trữ trên các vật mang tin như đĩa từ.
DFD liên quan: DFD mức 1 của tiến trình 2.0: Quản lý hợp đồng cung cấp phần mềm.
Nguồn: Do nhân viên kinh doanh lập.
Đích: Chuyển đến phòng triển khai.
Các phần tử thông tin: Tên khách hàng, người đại diện, địa chỉ, điện thoại, thời gian triển khai.
Tên luồng: Hợp đồng bảo trì
Mô tả: Hợp đồng bảo trì sản phẩm phần mềm của công ty đã ký với khách hàng có thời hạn là một năm.
Vật mang: Là hợp đồng trên giấy tờ và được lưu trữ trên các vật mang tin như đĩa từ.
DFD liên quan: DFD mức 1 của tiến trình 3.0: Quản lý hợp đồng bảo trì.
Nguồn: Khách hàng
Đích: Chuyển đến phòng bảo trì.
Các phần tử thông tin: Số hợp đồng, tên khách hàng, sản phẩm phần mềm, giá trị hợp đồng.
Tên luồng: Báo giá hợp đồng bảo trì
Mô tả: Báo giá hợp đồng bảo trì gửi cho khách hàng.
Vật mang: Là văn bản trên giấy hoặc thông tin gửi cho khách hàng.
DFD liên quan: DFD mức 1 của tiến trình 3.0: Quản lý hợp đồng bảo trì.
Nguồn: Phòng hỗ trợ và chăm sóc khách hàng (Phòng bảo hành)
Đích: Khách hàng
Các phần tử thông tin: Tên khách hàng, địa chỉ, điện thoại, giá trị hợp đồng.
3.2.4.2 Phích xử lý logic
Tên xử lý: Cập nhật thông tin về khách hàng
Mô tả: Được thực hiện bởi nhân viên kinh doanh khi có thông tin về khách hàng bằng cách nhập những thông tin đã qua xử lý vào chương trình.
Phương tiện thực hiện: Nhập dữ liệu thông qua bàn phím vào chương trình.
DFD liên quan: DFD của tiến trình 1.0: Quản lý danh mục khách hàng.
Các luồng dữ liệu vào: Thông tin về khách hàng.
Các luồng dữ liệu ra: Các dữ liệu về khách hàng trong chương trình.
Kho dữ liệu: Danh mục khách hàng.
Tên xử lý: Cập nhật hợp đồng cung cấp phần mềm
Mô tả: Xử lý được thực hiện bởi nhân viên kinh doanh khi một sản phẩm phần mềm được bán cho khách hàng.
Phương tiện thực hiện: Nhập dữ liệu thông qua bàn phím vào chương trình.
DFD liên quan: DFD của tiến trình 2.0: Quản lý hợp đồng cung cấp phần mềm.
Các luồng dữ liệu vào: Thông tin về hợp đồng.
Các luồng dữ liệu ra: Số hợp đồng, tên khách hàng, sản phẩm phần mềm, giá trị hợp đồng được lưu trong chương trình.
Kho dữ liệu: Danh mục khách hàng, danh mục nhân viên, hợp đồng.
Tên xử lý: Lập phiếu đề nghị triển khai
Mô tả: Thực hiện bởi nhân viên kinh doanh khi một hợp đồng cung cấp phần mềm được ký.
Phương tiện thực hiện: Lấy từ kho dữ liệu hợp đồng các thông tin cần thiết để lập phiếu.
DFD liên quan: DFD của tiến trình 2.0: Quản lý hợp đồng cung cấp phần mềm.
Các luồng dữ liệu vào: Số hợp đồng, ngày ký, tên khách hàng, địa chỉ, điện thoại.
Các luồng dữ liệu ra: Phiếu đề nghị triển khai.
Kho dữ liệu: Hợp đồng
Tên xử lý: Cập nhật hợp đồng bảo trì
Mô tả: Xử lý được thực hiện khi khách hàng ký hợp đồng bảo trì.
Phương tiện thực hiện: Nhập dữ liệu thông qua bàn phím.
DFD liên quan: DFD mức 1của tiến trình 3.0: Quản lý hợp đồng bảo trì.
Các luồng dữ liệu vào: Hợp đồng bảo trì ký với khách hàng.
Các luồng dữ liệu ra: Số hợp đồng, tên khách hàng, sản phẩm, giá trị hợp đồng được lưu trong chương trình.
Kho dữ liệu: Danh mục khách hàng, danh mục nhân viên, hợp đồng.
Tên xử lý: Lên báo cáo
Mô tả: thực hiện khi có yêu cầu từ cấp trên hoặc định kỳ lập báo cáo.
Phương tiện thực hiện: Chương trình tự động lên báo cáo lựa chọn của người lập báo cáo.
DFD liên quan: DFD mức 1của tiến trình 4.0: Thống kê, báo cáo
Các luồng dữ liệu vào: Thông tin về khách hàng, thông tin về hợp đồng.
Các luồng dữ liệu ra: Những báo cáo cần thiết, bản kê các danh mục.
Kho dữ liệu: Danh mục khách hàng, danh mục nhân viên, hợp đồng.
3.2.4.3 Phích kho dữ liệu
Tên kho: Danh mục khách hàng
Mô tả: Bao gồm các thông tin về khách hàng như mã khách hàng, tên khách hàng, địa chỉ, điện thoại, người đại diện, loại hình sở hữu.
Vật mang: Lưu trên máy tính
DFD liên quan: DFD mức 1của các tiến trình 1.0: Quản lý danh mục khách hàng; 2.0: Quản lý hợp đồng cung cấp phần mềm; 3.0: Quản lý hợp đồng bảo trì; 4.0: Thống kê, báo cáo.
Các xử lý có liên quan: Cập nhập thông tin về khách hàng, cập nhật hợp đồng cung cấp phần mềm, cập nhật hợp đồng bảo trì, truy xuất dữ liệu.
Tên kho: Hợp đồng
Mô tả: Gồm các thông tin về hợp đông như số hợp đồng, tên khách hàng, loại hợp đồng, ngày ký, giá trị hợp đồng.
Vật mang: Lưu trên máy tính
DFD liên quan: DFD mức 1của các tiến trình 2.0: Quản lý hợp đồng cung cấp phần mềm; 3.0: Quản lý hợp đồng bảo trì; 4.0: Thống kê, báo cáo.
Các xử lý có liên quan: Cập nhật hợp đồng cung cấp phần mềm, cập nhật hợp đồng bảo trì, truy xuất dữ liệu.
Tên kho: Danh mục nhân viên
Mô tả: Gồm các thông tin về nhân viên như mã nhân viên, họ tên, ngày sinh, địa chỉ, điện thoại, phòng ban.
Vật mang: Lưu trên máy tính
DFD liên quan: DFD mức 1của các tiến trình 2.0: Quản lý hợp đồng cung cấp phần mềm; 3.0: Quản lý hợp đồng bảo trì; 4.0: Thống kê, báo cáo.
Các xử lý có liên quan: Cập nhật hợp đồng cung cấp phần mềm, cập nhật hợp đồng bảo trì, truy xuất dữ liệu.
3.3 Thiết kế lô gíc
3.3.1 Thiết kế cơ sở dữ liệu theo phương pháp mô hình hóa quan hệ thực thể
Ta có phác họa về mối quan hệ giữa các thực thể như sau:
Công ty có nhiều nhân viên thuộc các phòng ban khách nhau.Mỗi nhân viên lại thuộc một nhóm nhân viên khác nhau. Mỗi nhân viên đạt được một bậc lương nhất định tùy theo kinh nghiệm của nhân viên đó.
Khách hàng của công ty ký hợp đồng với nhân viên của công ty để sử dụng phần mềm. Mỗi khách hàng có thể ký nhiều loại hợp đồng khác nhau như: hợp đồng cung cấp phần mềm, hợp đồng bảo trì… Mỗi khách hàng do một nhân viên phụ trách. Khách hàng được chia vào các nhóm khách hàng và thuộc các địa phương khác nhau.
Mỗi hợp đồng chỉ liên quan đến một sản phẩm phần mềm của công ty. Giá trị của đồng cũng có thể được tính bằng những loại tiền khác chứ không nhất thiết phải là Việt Nam đồng, mỗi hợp đồng cũng có thuế suất khác nhau.
3.3.2 Các tệp cơ sở dữ liệu
Cơ sở dữ liệu phục vụ cho chương trình quản lý khách hàng tại công ty CYBERSOFT được xây dựng từ các tệp (bảng) sau:
- Bảng DMKH (danh mục khách hàng)
Bảng này chứa thông tin về các khách hàng đã mua sản phẩn của công ty. Bảng gồm các trường sau:
Tên trường
Kiểu
Độ rộng
Diễn giải
MaKH
Character
6
Mã khách hàng. Mã này do công ty đặt ra cho khách hàng. Đây là khóa chính của bảng.
TenKH
Character
100
Tên của khách hàng
TenTM
Character
50
Tên thương mại của khách hàng
DiaChi
Character
100
Địa chỉ của khách hàng
DoiTac
Character
30
Tên của người liên hệ thuộc phía khách hàng.
DThoai
Character
15
Điện thoại của khách hàng
Fax
Character
15
Số Fax của khách hàng
Email
Character
30
Địa chỉ Email của khách
Website
Character
30
Trang Web (nếu có) của khách
CtyMe
Character
100
Tên công ty mẹ (nếu có) của khách
MaNV
Character
10
Mã nhân viên phụ trách khách hàng này
MaDP
Character
10
Mã địa phương nơi khách hàng trú ở đó.
MaNhKh
Character
10
Mã nhóm khách hàng. Mỗi khách hàng thuộc một nhóm nhất định.
GhiChu
Memo
Các thông tin liên quan
- Bảng DMNKH (danh mục nhóm khách hàng)
Bảng này chứa thông tin về các nhóm khách hàng dùng cho việc phân loại khách hàng. Bảng gồm các trường sau:
Tên trường
Kiểu
Độ rộng
Diễn giải
MaNKH
Character
10
Mã nhóm khách hàng. Đây là khóa chính của bảng.
TenNhom
Character
30
Tên nhóm khách hàng
Ghi chú
Memo
Các thông tin liên quan
- Bảng DMDP (danh mục địa phương)
Tên trường
Kiểu
Độ rộng
Diễn giải
MaDP
Character
10
Mã địa phương. Đây là khóa chính của bảng.
TenDP
Character
30
Tên địa phương
GhiChu
Memo
Các thông tin liên quan
- Bảng DMNV (danh mục nhân viên)
Tên trường
Kiểu
Độ rộng
Diễn giải
MaNV
Character
10
Mã của nhân viên. Đây là khóa chính của bảng.
TenNV
Character
30
Họ tên của nhân viên
DiaChi
Character
30
Địa chỉ của nhân viên
NgaySinh
Date
8
Ngày sinh
MaPB
Character
10
Mã phòng ban của nhân viên
MaBL
Character
5
Mã bậc lương của nhân viên
DThoai
Character
15
Điện thoại của nhân viên
Email
Character
30
Địa chỉ email của nhân viên
MaDP
Character
10
Mã địa phương nơi nhân viên ở
MaNhNV
Character
10
Mã nhóm nhân viên
GhiChu
Memo
Các thông tin liên quan
- Bảng DMNNV (danh mục nhóm nhân viên)
Bảng này lưu thông tin về các nhóm nhân viên để tiện cho việc phân loại nhân viên. Bảng gồm các trường:
Tên trường
Kiểu
Độ rộng
Diễn giải
MaNhNV
Character
10
Mã nhóm nhân viên. Đây là khóa chính của bảng.
TenNhNV
Character
30
Tên nhóm nhân viên
GhiChu
Memo
Các thông tin liên quan
- Bảng DMPhongBan (danh mục phòng ban)
Bảng này lưu thông tin về các phòng ban của công ty. Bảng gồm các trường:
Tên trường
Kiểu
Độ rộng
Diễn giải
MaPB
Character
10
Mã phòng ban. Đây là khóa chính của bảng.
TenPB
Character
30
Tên phòng ban
GhiChu
Các thông tin liên quan
- Bảng DMBacLuong (danh mục bậc lương)
Tên trường
Kiểu
Độ rộng
Diễn giải
MaBL
Character
5
Mã bậc lương. Đây là khóa chính của bảng.
TenBL
Character
15
Tên bậc lương
GhiChu
Các thông tin liên quan
- Bảng HopDong (hợp đồng)
Bảng này dùng để lưu thông tin về các hợp đồng. Bảng gồm các trường:
Tên trường
Kiểu
Độ rộng
Diễn giải
MaHD
Character
10
Số hợp đồng. Đây là khóa chính của bảng.
MaKH
Character
10
Mã khách hàng
NgayHD
Date
8
Ngày ký hợp đồng
HanBH
Date
8
Hạn bảo hành
GiaTriHD
Curency
Giá trị hợp đồng
MaNT
Character
10
Mã ngoại tệ
TyGia
Curency
Single
Tỷ giá ngoại tệ
MaLoaiHD
Character
10
Mã loại hợp đồng
MaPB
Character
10
Mã phiên bản phần mềm
MaNV
Character
10
Mã nhân viên
- Bảng DMLoaiHD (danh mục loại hợp đồng)
Tên trường
Kiểu
Độ rộng
Diễn giải
MaLoaiHD
Character
10
Mã loại hợp đồng. Đây là khóa chính của bảng.
TenLoaiHD
Character
20
Tên loại hợp đồng
GhiChu
Memo
Các thông tin liên quan
- Bảng DMPhienBan (danh mục phiên bản)
Tên trường
Kiểu
Độ rộng
Diễn giải
MaPB
Character
10
Mã phiên bản. Đây là khóa chính của bảng.
TenPB
Character
30
Tên phiên bản
GhiChu
Memo
Các thông tin liên quan
- Bảng DMNgoaiTe (danh mục ngoại tệ)
Tên trường
Kiểu
Độ rộng
Diễn giải
MaNT
Character
10
Mã ngoại tệ. Đây là khóa chính của bảng.
TenNT
Character
30
Tên ngoại tệ
GhiChu
Memo
Các thông tin liên quan
- Bảng DMNSD (danh mục người sử dụng)
Tên trường
Kiểu
Độ rộng
Diễn giải
TenDN
Character
30
Tên đăng nhập. Đây là khóa chính của bảng.
Pass
Character
30
Mật khẩu.
PQ
Character
20
Phân quyền (admin, user)
3.3.3 Mối quan hệ giữa các tệp trong cơ sở dữ liệu
Hình 3. 12 Mối quan hệ giữa các tệp trong cơ sở
V. Triển khai hệ thống chương trình quản lý khách hàng
1. Một số thuật toán của chương trình
? Thuật toán đăng nhập chương trình
? Thuật toán thêm hoặc sửa dữ liệu
? Thuật toán lầy thông tin trong các danh mục
3.5 Thiết kế giao diện cho chương trình
Thiết kế các giao diện là xác định hệ thống thông tin trình bầy thông tin như thế nào cho người sử dụng khi nhập dữ liệu vào hệ thống hoặc đưa kết quả ra. Đây là giai đoạn rất quan trọng vì những mô tả chính xác ở đây có ảnh hưởng và tác động trực tiếp tới công việc thường ngày của những người sử dụng.
3.5.1 Thiết kế vào
Mục đích của thiết kế vào là thiết kế các thủ tục nhập dữ liệu có hiệu quả và giảm thiểu các sai xót.
Một số nguyên tắc hữu ích cho việc thiết kế màn hình nhập liệu:
Khi nhập dữ liệu từ một tài liệu gốc, khuôn dạng màn hình nhập liệu phải giống như tài liệu gốc.
Nên nhóm các trường trên màn hình theo một trật tự có ý nghĩa, theo trật tự tự nhiên, theo tần số sử dụng, theo chức năng hoặc theo tầm quan trọng.
Người dùng không phải nhập các thông tin mà chương trình có thể tìm được từ CSDL hoặc tính toán được.
Đặt tên các trường ở trên hoặc trước trường nhập.
Đặt các giá trị ngầm định cho phù hợp.
Sử dụng phím Tab để chuyển trường.
Màn hình cập nhật thông tin về hợp đồng
Màn hình chứa các ô Characterbox để người sử dụng nhập thông tin về khách hàng. Mỗi ô Characterbox đều có một nhãn nằm ở phía trên hoặc bên trái của ô. Việc nhập dữ liệu được thực hiện dễ dàng vì có thể thao tác thông qua nút lệnh ở trên form, hoặc dùng bàn phím, dùng phím Tab đê di chuyển qua lại giữa các trường nhập.
Màn hình cập nhật thông tin về khách hàng
Màn hình bao gồm DataGrid để hiện thị thông tin về các khách hàng của công ty. Bên cạnh đó còn có các Characterbox để người dùng nhập các thông tin về khách hàng khi người dùng định thêm mới khách hàng hoặc sửa các thông tin về một khách hàng nào đó.
Màn hình cập nhật thông tin về người liên hệ
Màn hình cập nhật thông tin về người liên hệ
3.5.2 Thiết kế ra
Các nguyên tắc hữu ích cho việc thiết kế thông tin ra trên màn hình
Đặt mọi thông tin gắn liền với một nhiệm vụ trên cùng một màn hình. Người sử dụng không phải nhớ thông tin từ màn hình này sang màn hình khác.
Chỉ dẫn rõ cách thoát khỏi màn hình. Đặt giữa các tiêu đề và xếp đặt thông tin theo trục trung tâm.
Nếu đầu ra gồm nhiều trang màn hình thì mỗi trang phải được đánh số thứ tự.
Viết văn bản theo quy ước chung bằng cách sử dụng chữ in hoa, in thường, chữ gạch chân ... và ngắt câu hợp lý.
Đặt tên đầu cột cho mỗi cột.
Tổ chức các phần tử của danh sách theo trật tự quen thuộc trong quản lý.
Cân trái các cột văn bản và cân phải các cột số, vị trí dấu thập phân thẳng hàng.
Chỉ đặt màu cho những thông tin quan trọng.
Mẫu báo cáo tình hình ký kết hợp đồng
Mẫu báo cáo kết quả kinh doanh theo nhân viên
Mẫu báo cáo tổng hợp ý kiên khách hàng
Mẫu báo cáo tổng hợp ý kiên khách hàng
PHỤ LỤC
Một số đoạn mã chính của chương trình
Chức năng cập nhật danh mục khách hàng
* Cac function trong module nay
* DmKh_F3 Sua/them moi mot khach hàng
* V_Nhan Luu khach hang
* DmKh_F8 Xoa mot khach hàng
* DmKh_F7 In Danh sach khach hàng
*---------------------------------------------------------------------------------------------*
SELECT 0
USE (K_data + [dmkh] ) ORDER makh ALIAS M_dmkh
ON KEY LABEL F3 DO Dmkh_F3 WITH [S]
ON KEY LABEL F4 DO Dmkh_F3 WITH [M]
ON KEY LABEL F7 DO Print
ON KEY LABEL F8 DO Dmkh_F8
BROWSE;
FIELDS makh:20 :h="M· kh¸ch hµng", tenkh:40 :h="Tªn KH" ,tentm:40 :h="Tªn th¬ng m¹i" ,diachi:40:h="§Þa chØ" , ;
doitac:20:h="Dèi t¸c", dthoai: 10:h="§iÖn tho¹i",fax:15:h="Fax",email:20:h="Email",ctyme:10:h="CTy mÑ", ;
madp:10:h="M· ®Þa ph¬ng", ;
nhom1:5:h="Nhãm 1",nhom2:5:h="Nhãm 2",nhom3:5:h="Nhãm 3" ,ghichu:25:h="Ghi chó" ;
NAME oBrowse;
NOAPPEND NOMODIFY NODELETE NOWAIT ;
WHEN Change_Color_Of_Browse(RECNO());
WINDOW M_WinBrw ;
FONT M_Font_Name, M_Font_Size -2 ;
TITLE 'asf'
*M_Prompt + IIF(m_Lan = 'V', [. F3-Sua, F4-Them, F8-Xoa, ], ECode2String('ARkh0002'))
*TITLE M_Prompt + IIF(m_Lan = 'V', [. F3-Sua, F4-Them, F8-Xoa, F6-Doi ma, F10-Sap xep, F5-Tim theo ten, ^F/G-Tim, Esc-Quay ra], ECode2String('ARkh0002'))
Obrowse.readonly = .T.
_title = M_Prompt + IIF(M_LAN = 'V','3-Sua, F4-Them, F8-Xoa, F7-In, ^F/G-Tim, Esc-Quay ra',ECode2String('ARkh0002'))
DO (K_PROG + "SMBROW_") WITH 'oBrowse', _title
ON KEY LABEL F3
ON KEY LABEL F4
ON KEY LABEL F7
ON KEY LABEL F8
USE IN M_dmkh
RETURN
*............................... Procedure: Dmkh_F3 ..........................................*
* Object: Dmkh_F3
PROCEDURE Dmkh_F3
PARAMETER _Moi_Sua
_InSELECT = SELECT()
PUSH KEY CLEAR
IF _Moi_Sua=[S] AND RECNO() > RECCOUNT([M_dmkh])
POP KEY
SELECT (_InSELECT)
RETURN
ENDIF
DO SAVE_MEMVAR_CT WITH [M_dmkh]
SELECT M_dmkh
IF _moi_sua = [M]
SCAT MEMVAR BLANK
ELSE
SCATTER MEMVAR MEMO
ENDIF
_RecNo = RECNO()
M.makhOld = M.makh
_Prompt = IIF(_Moi_Sua=[M], IIF(m_Lan = 'V', [ Them ], ECode2String('ARkh0003')), IIF(m_Lan = 'V', [ Sua ], ECode2String('ARkh0004')))
M.Nhan_Huy = 1
ON KEY LABEL F10 KEYBOARD CHR(23)
DO FORM (K_Screen + [dmkh_F3])
ON KEY LABEL F10
POP KEY
SELECT (_InSELECT)
DO REST_MEMVAR_CT
RETURN
* ........................... FUNCTION V_Nhan ............................
FUNCTION V_Nhan
PARAMETER _OrdOld
PRIVATE _Used, _i, _makh_Len, _Order
SELECT M_dmkh
SET FILTER TO
IF LASTKEY()=27 OR M.Nhan_Huy # 1
IF _RecNo <= RECCOUNT([M_dmkh])
GO _RecNo
ENDIF
RETURN .T.
ENDIF
IF EMPTY(M.makh)
MsgBox( IIF(m_Lan = 'V', [Chua vao ma KH!], ECode2String('ARkh0005')),48,M_Cyber_Ver)
M.Nhan_Huy = 0
RETURN
ENDIF
IF EMPTY(M.tenkh)
MsgBox( IIF(m_Lan = 'V', [Chua vao ten KH!], ECode2String('ARkh0006')),48,M_Cyber_Ver)
M.Nhan_Huy = 0
RETURN
ENDIF
*! Kiem tra M.makh $ M_dmkh.makh
_CodExist = .F.
IF _Moi_Sua = [M]
IF SEEK(ALLTRIM(M.makh))
_CodExist = .T.
ENDIF
ELSE && Neu sua
IF SEEK(ALLTRIM(M.makh))
IF (RECNO() # _RecNo)
_CodExist = .T.
ELSE
IF !EOF()
SKIP
IF makh = ALLTRIM(M.makh)
_CodExist = .T.
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
*! Kiem tra M_dmkh.makh $ M.makh
IF (M.makh # M.makhOld) &&.AND.(!EMPTY(M.TkOld))
_makh_Len = FSIZE([makh], [M_dmkh])
FOR _i = 1 TO LEN(ALLTRIM(M.makh))
IF SEEK(PADR(LEFT(M.makh, _i), _makh_Len)).OR.(M.makh = ALLTRIM(makh))
IF ((_Moi_Sua = [M]) .OR. (RECNO() # _RecNo)).AND.(!EOF())
_CodExist = .T.
ENDIF
ENDIF
NEXT
ENDIF
* m.makh = allt(m.makh)
m.tenkh = allt(m.tenkh)
m.dia_chi = allt(m.dia_chi)
m.doi_tac = allt(m.doi_tac)
m.ma_so_thue = allt(m.ma_so_thue)
IF (_Moi_Sua=[S]) .AND. (M.makh==M.makhOld) &&.AND. (M.Tk == M.TkOld)
SELECT M_dmkh
GO _RecNo
GATHER MEMVAR MEMO
FLUSH
UNLOCK IN M_dmkh
ELSE
SELECT M_dmkh
_OrdOld = ORDER()
SET ORDER TO makh
IF SEEK (M.makh)
MsgBox( IIF(m_Lan = 'V', [Ma da co!], ECode2String('ARkh0008')),48,M_Cyber_Ver)
UNLOCK IN M_dmkh
SET ORDER TO &_OrdOld
M.Nhan_Huy = 0
RETURN
ENDIF
SET ORDER TO &_OrdOld
IF _Moi_Sua = [M]
APPEND BLANK
ELSE
GO _RecNo
ENDIF
GATHER MEMVAR MEMO
FLUSH
UNLOCK IN M_dmkh
ENDIF
SELECT M_dmkh
RETURN .T.
*.................... PROCEDURE Dmkh_F8 .....................
PROCEDURE Dmkh_F8
PRIVATE _Ans, _RecNo
SELE M_dmkh
IF RECNO() > RECCOUNT([M_dmkh])
RETURN .T.
ENDIF
SCATTER MEMVAR MEMO
_RecNo = RECNO()
_Ans = MsgBox(M_SureDele, 4+32+256, M_Cyber_Ver)
IF _Ans # 6
GO _Recno
RETURN .T.
ENDIF
SELE M_dmkh
GO _Recno
GATHER MEMVAR MEMO
FLUSH
DELETE
RETURN .T.
***********************Print ***********************
PROCEDURE print
DO pr_report
ENDPROC
Chức năng báo cáo tình hình kí kết
curSelect=SELECT()
m_rfyn = .T.
IF NOT m_Refresh
*+ Mo cac bang de len bao cao
DO OpenDatabases
m.Nhan_huy = 1
m.Ngay_ct1 = m_Ngay_ct1
m.Ngay_ct2 = m_Ngay_ct2
isCreate = .F.
DO FORM (K_Screen + "dm_hopdong")
IF m.Nhan_huy1
DO CloseDatabases
RETURN
ENDIF
SAVE TO (k_tmp + "tRPMemvarList") ALL
ELSE
RESTORE FROM (k_tmp + "tRPMemvarList") ADDITIVE
ENDIF
WAIT m_Process WINDOW NOWAIT
* Tao dieu kien loc
IF NOT GenKey()
DO CloseDatabases
RETURN
ENDIF
*+ Tinh toan
DO INOfItem
*+ Xem, In
WAIT CLEAR
DO BrowseTable
*+ Dong cac bang lai
DO CloseDatabases
IF isCreate
USE IN tListMa_vt
ENDIF
*+ Ket thuc chuong trinh
SELECT (curSelect)
RETURN
*!* ----------------------------------------
*!* PROCEDURE INOfItem
*!* ----------------------------------------
PROCEDURE INOfItem
public _tong_giatri
sele 0
SELECT ;
SPACE(5) AS stt, ;
SPACE(100) AS fTag, ;
[0] AS Bold,;
"x" as ftag1,;
mahd,maloaihd ,SPACE(35) as tenloaihd,makh ,SPACE(50) as tenkh, ;
ngay_hd,han_bh,maver,SPACE(35) as tenver,manv,SPACE(35) as tennv, ;
giatri_hd ;
FROM M_dm_hopdong ;
WHERE &_Key ;
INTO TABLE (k_tmp + "dm_hopdong_tmp_1")
sum giatri_hd to _tong_giatri
_tong_giatri=STR(_tong_giatri)
index on ngay_hd tag ngay_hd
set orde to ngay_hd
goto top
nIndex = 0
index on stt tag stt
REPLACE all stt WITH STR(Increa(nIndex), 5)
set orde to stt
INDEX ON maloaihd TAG maloaihd
SET RELATION TO maloaihd INTO m_dmloaihd
REPLACE ALL tenloaihd WITH m_dmloaihd.tenloaihd
index on makh tag makh
set rela to makh into m_dmkh
REPLACE all tenkh with m_dmkh.tenkh
index on maver tag maver
set rela to maver into m_dmver
REPLACE all tenver with m_dmver.tenver
index on manv tag manv
set rela to manv into m_dmnv
REPLACE all tennv with m_dmnv.tennv
sele 0
SELECT ;
SPACE(5) AS stt, ;
SPACE(100) AS fTag, ;
"x" as ftag1,;
[1] AS Bold,;
SPACE(20) as mahd,;
SPACE(10) as maloaihd,;
SPACE(35) as tenloaihd,;
SPACE(10) as makh,;
SPACE(50) as tenkh,;
SPACE(20) as ngay_hd,;
SPACE(20) as han_bh,;
SPACE(10) as maver,;
SPACE(20) as tenver,;
SPACE(10) as manv,;
" Tong :" as tennv, ;
SUM(giatri_hd) as giatri_hd ;
FROM M_dm_hopdong ;
WHERE &_Key ;
INTO TABLE (k_tmp + "dm_hopdong_tmp")
index on mahd tag mahd
appen from (k_tmp + "dm_hopdong_tmp_1")
USE IN dm_hopdong_tmp
ENDPROC
*!* ----------------------------------------
*!* PROCEDURE OpenDatabases
*!* Mo cac bang de len bao cao
*!* ----------------------------------------
PROCEDURE OpenDatabases
USE (K_Data + "dm_hopdong" ) ORDER mahd ALIAS M_dm_hopdong IN 0 NOUPDATE
USE (k_data + "dmkh" ) ORDER Makh ALIAS m_Dmkh IN 0 NOUPDATE
USE (k_data + "dmloaihd" ) ORDER Maloaihd ALIAS m_Dmloaihd IN 0 NOUPDATE
USE (k_data + "dmver") ORDER Maver ALIAS m_Dmver IN 0 NOUPDATE
USE (k_data + "dmnv") ORDER Manv ALIAS m_Dmnv IN 0 NOUPDATE
ENDPROC
********************Close Database***********************
PROCEDURE CloseDatabases
USE IN M_Dm_hopdong
USE IN m_Dmkh
USE IN m_Dmloaihd
USE IN m_Dmver
USE IN m_Dmnv
ENDPROC
*!* ----------------------------------------
*!* PROCEDURE BrowseTable
*!* Xem bang
*!* ----------------------------------------
PROCEDURE BrowseTable
ON KEY LABEL F5 DO CreatTable4Detail WITH stt, ALLTRIM(Ma_vt), allt(ten_vt)
ON KEY LABEL F7 DO print
SELECT 0
USE (k_tmp + "dm_hopdong_tmp") ORDER mahd ALIAS dm_hopdong_tmp EXCLUSIVE
index on stt tag stt
set orde to stt
GO TOP
__Title = a_Report(l_Report,1)+ IIF(m_Lan = 'V', ". F5 - Xem chi tiet, F7 - In, F10 - Tuy chon, Esc - Quay ra", ECode2String('INTH10001'))
BROWSE ;
FIELDS;
stt, ;
mahd:20:h="M· H§",;
maloaihd:5:h="M· H§",tenloaihd:20:h="Lo¹i H§",;
makh:5:h="M· KH",tenkh:30:h="Tªn KH",;
ngay_hd:15:h="Ngµy kÝ",;
han_bh:15:h="H¹n BH",;
maver:5:h="M· Phiªn b¶n",tenver:20:h="Phiªn b¶n",;
manv:5:h="M· NV",tennv:20:h="Tªn NV", ;
giatri_hd: P="@Z" + m_Ip_tien ;
NAME oBrowse NOWAIT;
WHEN Change_color_of_browse(RECNO(),"IIF(EMPTY(stt),RGB(100,200,255),RGB(255,255,255))");
NOAPPEND NOMODIFY NODELETE WINDOW M_WinBrw;
TITLE __Title
oBrowse.SetAll("DynamicFontBold", "EMPTY(stt)", "Column")
DO HookObjectBrowse
BROWSE LAST
ON KEY LABEL F5
ON KEY LABEL F7
USE IN dm_hopdong_tmp
RETURN
*!* ----------------------------------------
*!* PROCEDURE GenKey()
*!* ----------------------------------------
FUNCTION GenKey
PRIVATE curSelect
curSelect = SELECT()
_Key = _Key + " AND BETWEEN(Ngay_hd, m.Ngay_ct1, m.Ngay_ct2) AND Ma_dvcs = ALLTRIM(m.Ma_dvcs)"
RETURN .T.
*!* ----------------------------------------
*!* FUNCTION Increa(nIndex)
*!* ----------------------------------------
FUNCTION Increa(nIndex)
nIndex = nIndex + 1
RETURN nIndex
DANH MỤC TÀI LIỆU THAM KHẢO
TS Trương Văn Tú – TS Trần Thị Song Minh : Giáo trình hệ thống thông tin quản lý. Hà Nội 2000
ThS Trần Công Uẩn : Giáo trình cơ sở dữ liệu 1, Hà Nội 2005
TS Hàn Viết Thuận: Bài giảng công nghệ phần mềm
Nguyễn Ngọc Minh: Sử dụng và khai thác MS Visual FoxPro 6.0. NXB Giáo dục. 20000
Các file đính kèm theo tài liệu này:
- 31906.doc