Đồ á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

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.

doc96 trang | Chia sẻ: aloso | Lượt xem: 1817 | Lượt tải: 0download
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:

  • doc31906.doc