Đề tài Xây dựng hệ thống thông tin quản lý hợp đồng phần mềm tại Công ty cổ phần dịch cung ứng nhân lực phần mềm toàn cầu

Trong thực tế, cấu trúc dữ liệu và yêu cầu về hành vi của hệ thống thường xuyên thay đổi. Do vậy phải phân tích kỹ bài toán, lựa chọn phương pháp phát triển hệ thống thích hợp để cho hệ thống có tính chất mở, dễ thích nghi giúp cho công việc bảo trì hệ thống đỡ tốn kém. Nhiệm vụ của phân tích hệ thống là phải trả lời cho câu hỏi “ Hệ thống làm cái gì?” và “Tại sao?”. Để xác định được bài toán và trả lời được những câu hỏi nêu trên thì người phân tích cần phải phát hiện, tìm hiểu kỹ những hệ thống đã có hoặc đang hoạt động trong thực tế. Có thể đó chưa phải là hệ thống tin học hóa. Đồng thời người phân tích hệ thống cũng phải có kiến thức bao quát, có kinh nghiệm trong quá trình phân tích nhiều hệ thống ứng dụng khác nhau, đồng thời phải có khả năng giao tiếp, trao đổi và hiểu được những người đầu tư, thiết kế và những người sử dụng hệ thống.

doc79 trang | Chia sẻ: DUng Lona | Lượt xem: 1212 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống thông tin quản lý hợp đồng phần mềm tại Công ty cổ phần dịch cung ứng nhân lực phần mềm toàn cầu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ược gọi là đánh giá hay thẩm định yêu cầu, đôi khi còn được đặt tên là nghiên cứu khả thi và cơ hội. Giai đoạn này được thực hiện tương đối nhanh, không đòi hỏi chi phí lớn, nó cung cấp cho lãnh đạo tổ chức hoặc hội đồng giám đốc những dữ liệu đích thực để ra quyết định về thời cơ, tính khả thi và hiệu quả một dự án phát triển hệ thống. Các công đoạn chủ yếu của giai đoạn này bao gồm: Lập kế hoạch đánh giá yêu cầu. Làm rõ yêu cầu. Đánh giá khả năng thực thi. Chuẩn bị và trình bày báo cáo đánh giá yêu cầu. Phân tích chi tiết: Mục đích: Phân tích chi tiết được tiến hành sau khi có sự đánh giá thuận lợi về yêu cầu. Những mục đích chính của phân tích chi tiết là hiểu rõ các vấn đề của hệ thống thống đang nghiên cứu, xác định những nguyên nhân đích thực của những vấn đề đó, xác định những đòi hỏi và những ràng buộc áp đặt đối với hệ thống và xác định mục tiêu mà hệ thống thông tin mới phải đạt được. Trên cơ sở nội dung báo cáo phân tích chi tiết sẽ quyết định tiếp tục tiến hành hay thôi phát triển một hệ thống mới. Để làm những việc đó giai đoạn phân tích chi tiết bao gồm các công đoạn sau: Lập kế hoạch phân tích chi tiết. Nghiên cứu môi trường của hệ thống đang tồn tại. Nghiên cứu hệ thống thông tin thống thực tại. Đưa ra chẩn đoán và xác định các yếu giải pháp. Đánh giá lại tính khả thi. Thay đổi đề xuất của dự án. Chuẩn bị và trình bày báo cáo phân tích chi tiết. Thu thập thông tin: Là công việc mà phân tích viên thực hiện nhằm có được các thông tin về hệ thống nhằm phục vụ cho quá trình phân tích thiết kế và đánh giá hệ thống. Thông thường người ta sử dụng bốn phương pháp sau để thu thập thông tin: + Phỏng vấn + Nghiên cứu tài liệu + Sử dụng phiếu điều tra + Quan sát Trong đó hai phương pháp hay sử dụng là phỏng vấn và nghiên cứu rài liệu. Mã hóa thông tin: Khi xây dựng hệ thống thì việc mã hóa dữ liệu là rất cần thiết, nó giúp cho việc nhận diện các đối tượng không bị nhầm lẫn, mô tả nhanh chóng các đối tượng, nhận diện các nhóm đối tượng nhanh hơn. Các phương pháp mã hóa thông tin bao gồm: phương pháp mã hóa phân cấp, phương pháp mã hóa gợi nhớ, phương pháp liên tiếp, phương pháp ghép nối, phương pháp theo xeri. Mô hình hóa hệ thống thông tin: Để có một cái nhìn trực quan về hệ thống thông tin đang tồn tại cũng như hệ thống thông tin trong tương lai người ta tiến hành mô hình hóa hệ thống thông tin. Hiện nay có một số công cụ tương đối chuẩn cho việc mô tả hệ thống thông tin: Sơ đồ luồng thông tin IFD (Information Flow Diagram): dùng để mô tả hệ thống thông tin theo cách thức động. Tức là 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ơ đồ. Các ký pháp của sơ đồ luồng thông tin: Các xử lý : Thủ công Giao tác người - máy Tin học hoá hoàn toàn - Kho dữ liệu : Thủ công Tin học hoá - Dòng thông tin : Tài liệu - Điều khiển : Sơ đồ phân rã chức năng (BFD): Sơ đồ này được dựa trên kết quả của việc tổng hợp và phân tích nghiệp vụ hoạt động cần quản lý. Có thể hiểu nó là những chứuc năng cần có của chương trình. Sơ đồ luồng dữ liệu DFD (Data Flow Diagram): Sơ đồ luồng dữ liệu dùng để mô tả cũng chính hệ thống thông tin như sơ đồ luồng thông tin nhưng trên góc độ trừu tượng. Trên sơ đồ luồng dữ liệu gồm: Các luồng dữ liệu, các xử lý, các lưu trữ dữ liệu, nguồn và đích nhưng không thể quan tâm tới nơi, thời điểm và đối tượng chịu trách nhiệm xử lý. Sơ đồ luồng dữ liệu chỉ mô tả đơn thuần hệ thống thông tin làm gì và để làm gì. Một mô hình phân tích cho một hệ thống thông tin thực sự được tạo từ nhiều sơ đồ luồng dữ liệu (DFD). Với một hệ thống lớn, DFD được xây dựng từ nhiều cấu trúc hình cây. Trong cùng một mức DFD, số tiến trình thường từ 5 đến 7. Trong một DFD, nếu số tiến trình chỉ từ 5 đến 7 thì sẽ dễ hiểu hơn, còn nếu quá con số này thì sự dễ hiểu sẽ giảm xuống, đồng thời số lỗi tăng lên đáng kể. Các ký pháp của sơ đồ luồng dữ liệu (DFD): Có 4 ký pháp cơ bản : Thực thể, tiến trình, kho dữ liệu và dòng dữ liệu. Dòng dữ liệu Nguồn hoặc đích 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ý Tiến trình xử lý Kho dữ liệu Tệp dữ liệu Trong đó: - Dòng dữ liệu (Data flow): Đó là một chỉ dẫn luồng thông tin trong hệ thống được biểu diễn bằng một hình mũi tên. Một tên định danh sẽ được cho vào để thể hiện nội dung của thông tin. Dòng dữ liệu mô tả luồng dữ liệu giữa hai tiến trình xử lý, kho dữ liệu và nguồn hoặc đích đến của thông tin. Trong sơ đồ, luồng dữ liệu đi vào tiến trình và dòng ra sẽ đi tới một đối tượng của tiến trình. - Tiến trình (Process) chỉ ra tiến trình xử lý hoặc chuyển đổi dữ liệu. Dữ liệu ra có được từ dữ liệu vào thông qua một vài tiến trình xử lý hoặc chuyển đổi. Nhìn chung, các tiến trình xử lý đòi hỏi được diễn đạt bằng các động từ. Thuật ngữ "chức năng" hoặc "tiến trình" thường được sử dụng nhiều. Một mô hình chung là: một tiến trình lấy dữ liệu, tiến hành một vài xử lý và cung cấp dữ liệu ra. Do đó, một tiến trình cần ít nhất một dòng dữ liệu vào và có ít nhất một dòng dữ liệu ra. - Kho dữ liệu (Data Stores): Biểu thị nơi mà dữ liệu chỉ được chứa đựng một cách tạm thời. Tất cả các dữ liệu đòi hỏi phải có nơi chứa, ví dụ trong tệp văn bản hoặc hồ sơ (Document, files ...) để biểu thị chúng. Tại đó, dữ liệu cần được truy cập hoặc kiểm tra. Khi một xử lý không có dữ liệu vào hoặc dữ liệu ra, hoặc dữ liệu vào ra bị lỗi thì hệ thống cần phải kiểm tra lại. - Nguồn hoặc đích (Externals): chỉ ra nguồn hoặc đích đến của dữ liệu và được sử dụng bởi người đứng đầu, một tổ chức ... ngoài các phân tích viên. Thường sử dụng các danh từ để chỉ định nguồn hoặc đích đó. Nguồn hoặc đích thường chỉ rõ điểm gặp nhau trong hệ thống. Nguồn dữ liệu chỉ rõ dữ liệu vào hay ra từ đâu. Khi cung cấp bất kỳ một mô hình nào, hệ thống dữ liệu phải được biểu thị trong một DFD có một nguồn hoặc đích. Các mức DFD: Sơ đồ ngữ cảnh (Context Diagram): còn được gọi là sơ đồ mức 0 thể hiện rất khái quát nội dung chính của hệ thống thông tin. Sơ đồ này không đi vào chi tiết, mà mô tả sao cho chỉ cần một lần nhìn là nhận ra nội dung của chính hệ thống. Phân rã sơ đồ. Để mô tả chi tiết hơn người ta dùng kỹ thuật phân rã sơ đồ. Bắt đầu từ sơ đồ khung cảnh, người ta phân rã ra thành sơ đồ mức 0, tiếp sau là mức 1. Nhờ việc phân rã sơ đồ mà phân tích viên có thể chi tiết hóa các công đoạn của hệ thống. Các phích lô gíc: Trong thiết kế DFD, cần có một công cụ hỗ trợ, đó là các phích logic. Phích logic hoàn chỉnh tài liệu cho hệ thống. Có 5 loại phích logic. Chúng được dùng mô tả thêm cho luồng dữ liệu, xử lý, kho dữ liệu, và phần tử thông tin. - Mẫu phích xử lý logic. - Mẫu phích luồng dữ liệu. - Mẫu phích phần tử thông tin. - Mẫu phích kho dữ liệu. - Mẫu phích tệp dữ liệu. Sơ đồ quan hệ thực thể (ERD): Là một sơ đồ mô tả quan hệ giữa các thực thể tồn tại trong hệ thống thông tin. Mô tả kiểu quan hệ thực thể bao gồm các thực thể và mối quan hệ giữa chúng. Điều này là hợp là hợp với quy luật: không có một thực thể nào trong thế giới thực tại mà tồn tại độc lập. Chính vì vậy, sơ đồ quan hệ thực thể lưu trữ các thực thể và quan hệ giữa các tực thể đó nữa. Thiết kế hệ thống thông tin quản lý: Sau khi trình bày báo cáo phân tích chi tiết và có quyết định phát triển dự án thì đội ngũ phân tích chuyển sang giai đoạn thiết kế cho hệ thống mới. Thiết kế cho hệ thống mới bao gồm: Thiết kế lô gíc và thiết kế vật lý ngoài. Sau bước thiết kế lô gíc cho hệ thống cần phải đề xuất các phương án giải pháp, nếu phương án tốt nhất được chấp nhận thì mới buớc sang thiết kế vật lý ngoài. Mục đích của giai đoạn này là xác định một cách chi tiết và chính xác những cái gì mà hệ thống thông tin mới phải làm để đạt được những mục tiêu đã được thiết lập từ giai đoạn phân tích chi tiết mà vẫn tuân thủ những ràng buộc của môi trường. Thiết kế lô gíc: Mô hình lô gíc của hệ thống mới sẽ bao hàm thông tin mà hệ thống mới sẽ sản sinh ra (nội dung của Outputs), nội dung của cơ sở dữ liệu (các tệp, các quan hệ giữa các tệp), các xử lý và hợp thức hóa sẽ phải thực hiện (các xử lý) và các dữ liệu sẽ được nhập vào (các Inputs). Mô hình lô gíc phải được những người sử dụng xem xét và chuẩn y. Thiết kế lô gíc bao gồm những công đoạn sau: Thiết kế cơ sơ dữ liệu (CSDL): là xây dựng các tệp dữ liệu trong cơ sở dữ liệu sao cho từ các tệp đó tạo ra được tất cả các thông tin đầu ra được yêu cầu. Thiết kế cơ sở dữ liệu xác định yêu cầu thông tin của người sử dụng hệ thống mới. Có hai phương pháp hay sử dụng trong thiết kế cơ sở dữ liệu: Thiết kế cơ sở dữ liệu từ các thông tin đầu ra: là phương pháp xác định các tệp cơ sở dữ liệu trên các đầu ra của hệ thống. Với các bước cơ bản sau: Xác định các đầu ra: liệt kê tất cả các thông tin đầu ra của hệ thống, nội dung, tần xuất, Ví dụ: Để quản lý hợp đồng phần mềm, có thể có các thông tin đầu ra như: thông tin hợp đồng, thông tin khách hàng, 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 của hệ thống: liệt kê các phần tử thông tin trên đầu ra, thực hiện việc chuyển hóa mức 1(1NF), thực hiện việc chuyển hóa mức 2 (2NF), rồi mức 3 (3NF), mô tả các tệp cơ sở dữ liệu. Tích hợp các tệp để chỉ tạo ra một CSDL. Xác định khối lượng dữ liệu cho từng tệp và toàn bộ sơ đồ. Xác định liên hệ lô gíc giữa các tệp và thiết lập sơ đồ cấu trúc giữa các tệp. Thiết kế CSDL bằng phương pháp mô hình hóa: Để sử dụng phương pháp này người ta đưa ra các khái niệm: Thực thể: dùng để biểu diễn những đối tượng cụ thể hoặc trừu tượng trong thế giới thực mà ta muốn lưu trữ. Liên kết: một thực thể trong thực tế không độc lập với các thực thể khác. Có sự liên quan qua lại giữa các thực thể khác nhau. Số mức độ của liên kết: để thiết kế tốt các sự trợ giúp quản lý của hệ thống thông tin, ngoài việc biết thực thể này liên kết với các thực thể khác ra sao, cũng phải biết có bao nhiêu xuất của thực thể A tương ứng với mỗi lần xuất hiện của thực thể B và ngược lại. Có các loại liên kết sau: + 1@1 Liên kết Một – Một: Giữa hai thực thể hay hai bảng A, B với một lần xuất của thực thể A được liên kết với chỉ một lần xuất của thực thể B và ngược lại. + 1@N Liên kết loại Một – Nhiều: Giữa hai thực thể hay hai bảng A, B; mỗi lần xuất của thực thể A được liên kết với một hoặc nhiều của thực thể B và mỗi lần xuất của thực thể B chỉ liên kết với duy nhất một lần xuất của A. + N@M Liên kết Nhiều – Nhiều: Giữa hai thực thể hay hai bảng A, B; mỗi lần xuất của thực thể A được liên kết với một hoặc nhiều lần xuất của thực thể B và mỗi lần xuất của thực thể B được liên kết với một hoặc nhiều lần xuất của A. Sau khi phân tích viên có được sơ đồ khái niệm dữ liệu (quan hệ thực thể) mô tả các hoạt động của doanh nghiệp, thì cần phải chuyển nó thành tập hợp các tệp và vẽ sơ đồ cấu trúc dữ liệu DSD theo một số quy tắc sau: 1. Nếu là quan hệ một chiều: + Các quan hệ 1@1: chuyển đổi một tệp, thêm thuộc tính chứa khóa của thực thể quan hệ. + Các quan hệ 1@N: chuyển đổi thành một tệp, thêm thuộc tính chứa khóa của thực thể quan hệ. + Các quan hệ N@N: chuyển thành hai tệp: một tệp thể hiện thực thể và một tệp thể hiện quan hệ, tệp này có ít nhất hai thuộc tính chứa khóa của thực thể quan hệ tạo thành khóa. Nếu là quan hệ hai chiều: + Các quan hệ 1@1: chuyển thành hai tệp ứng với hai thực thể, tệp nào có số phần tử ít hơn thì sẽ không có thêm một thuộc tính chứa khóa của thực thể quan hệ với nó. + Các quan hệ 1@N: chuyển thành hai tệp, mỗi tệp ứng với một thực thể. Tệp thực thể bên nhiều có thêm một thuộc tính chứa khóa của thực thể quan hệ. + Các quan hệ N@N: chuyển đổi thành ba tệp, hai tệp ứng với hai thực thể, một tệp ứng với quan hệ, tệp này chứa ít nhất hai khóa quan hệ, hai khóa này gộp lại tạo ra thực thể thứ ba. 2. Đề xuất các phương án giải pháp: Sau khi các phân tích viên đã đánh giá chi phí và lợi ích (hữu hình và vô hình) của mỗi phương án, cần phải có những khuyến nghị cụ thể. Một báo cáo sẽ được gửi đến những người sử dụng và một buổi trình bày sẽ được thực hiện. Những người sử dụng sẽ chọn lấy một phương án tỏ ra đáp ứng tốt nhất các yêu cầu của họ mà vẫn đảm bảo yêu cầu ràng buộc trong tổ chức. Để đề xuất được các phương án giải pháp đó, cần có các bước thực hiện cụ thể trong giai đoạn này. Thiết kế vật lý ngoài: Giai đoạn này được tiến hành sau khi một phương án giải pháp được lựa chọn. Đâ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. Thiết kế vật lý phải bao gồm hai tài liệu kết quả cần có: tài liệu bao chứa tất cả các đặc trưng của hệ thống mới sẽ cần cho việc thực hiện kỹ thuật và tiếp đó là tài liệu dành cho người sử dụng và nó mô tả cả phần thủ công và cả những giao diện với những phần tin học hóa. Những công đoạn chính của thiết kế vật lý ngoài là: Lập kế hoạch: Phân tích viên phải lựa chọn phương tiện, khuôn dạng của dòng vào/ ra, xác định cách thức hội thoại với phần tin học hóa của hệ thống và cách thức thực hiện các thủ tục thủ công. Thiết kế chi tiết các giao diện vào/ ra: là thiết kế khuôn dạng trình bày của các đầu ra và thể thức nhập tin cho người sử dụng. Thiết kế vật lý các đầu ra: Lựa chọn vật mang tin, bố trí thông tin trên vật mang tin, thiết kế trang in ra, thiết kế ra màn hình. Thiết kế vào: Lựa chọn phương tiện nhập. Thiết kế cách thức tương tác với phần tin học hóa: đây chính là công việc thiết kế giao tác giữa người và máy, nếu việc thiết kế này kém có thể dẫn đến nhiều hạn chế trong việc sử dụng hệ thống. Có các cách thức giao tác chủ yếu sau: Giao tác bằng tập hợp lệnh. Giao tác nằng các phím trên bàn phím. Giao tác qua thực đơn Giao tác qua biểu tượng. ChươngIII Phân tích thiết kế hệ thống thông tin quản lý hợp đồng phần mềm. Đây là chương được kế thừa từ những vấn đề phương pháp luận đã trình bày ở chương hai. Bao gồm các mô hình BFD, mô hình DFD, mô hình ERD, sơ đồ DSD, quá trình thiết kế dữ liệu, thiết kế giải thuật, thiết kế màn hình giao diện, một số giao diện màn hình chương trình. Phân tích hệ thống cho HTTT quản lý hợp đồng phần mềm. Tìm hiểu bài toán: Theo nghiệp vụ quản lý hợp đồng hiện nay của công ty đã trình bày ở chương một thì đây là hoạt động quản lý chủ yếu của phòng kinh doanh và phát triển phần mềm. Hoạt động được bắt đầu từ khi khách hàng đặt làm sản phẩm và những yêu cầu, thỏa thuận được thống nhất thì hợp đồng được ký kết cho đến khi thanh lý hợp đồng. Trong suốt thời gian này, người quản lý sẽ cập nhật các thông tin về hợp đồng và các thông tin khác có liên quan sau đó có sự trao đổi thông tin giữa các bộ phận với nhau trong toàn công ty để cùng theo dõi và thực hiện hợp đồng.Vào cuối mỗi tháng hoặc quý thì ban giám đốc có thể yêu cầu về một số báo cáo thông tin về hợp đồng, về nhân viên, khách hàng, về tổng giá trị hợp đồng ở thời điểm hiện tại hoặc các phòng ban khác có thể cần lấy thông tin liên quan đến hợp đồng như phòng nhân sự và tài chính để tính lương cho nhân viên. Như vậy cùng với một số bất cập đã nêu thì hiện tại nghiệp vụ quản lý hợp đồng phần mềm tại côngty hoàn toàn thủ công, chủ yếu là trên giấy tờ. Điều này chỉ thực hiện được khi mà số lượng khách hàng, hợp đồng ít. Trong trường hợp số lượng này tăng lên sẽ khó khăn trong quá trình quản lý. Mặt khác việc thực thi trong hệ thống hiện tại là chậm chạp, không cung cấp dữ liệu đúng theo thời gian mong muốn của nhà quản lý. Việc sao lưu, phục hồi dữ liệu phức tạp, nếu có sai sót trong quản lý cũng cần thời gian khôi phục. Đánh giá bài toán: Với những bất cập về hoạt động quản lý hợp đồng phần mềm hiện tại. Trong kế hoạch phát triển trong tương lai của mình công ty cũng muốn giải quyết vấn đề này. Những người quản lý hợp đồng phần mềm cũng mong muốn có một hệ thống trợ giúp cho họ trong công việc hiện tại để họ thực hiện công việc một cách hiệu quả hơn. Từ những thông tin thu được qua khảo sát tại công ty cũng như nghiệp vụ cụ thể của người quản lý hợp đồng phần mềm. Chúng ta hoàn toàn khẳng định được rằng có thể thực hiện thành công đề tài này. Phân tích chi tiết: A. Sơ đồ luồng thông tin trong quá trình quản lý hợp đồng phần mềm: a. Sơ đồ luồng thông tin trong việc cập nhật và ký kết hợp đồng: Thời điểm Khách hàng Phòng kinh doanh Giám đốc Sau khi gặp gỡ khách hàng và xác định yêu cầu Kiểm tra các thông tin liên quan Cập nhật thông tin về hợp đồng Thông tin KH và Yêu cầu sản phẩm Hợp đồng Danh sách các điều kiện đã thoả thuận để ký kếtHĐ Hợp đồng Hợp đồng b. Sơ đồ luồng thông tin cho quá trình cập nhật và lên các danh sách, báo cáo trong quá trình thực hiện hợp đồng: Thời điểm Phòng kinh doanh Người quản lý Giám đốc Sau khi hợp đồng được ký kết Danh sách đã lập Hợp đồng Lập danh sách NV, Chiphí, Công việc Cập nhật thông tin Thông tin đã cập nhật In danh sách, báo cáo liên quan Các báo cáo, danh sách Thông tin Nviên, Chi phí,.. Sơ đồ luồng thông tin cho quá trình thanh lý hợp đồng: Thời điểm Phòng kinh doanh Khách hàng Đại diện khách hàng Sau khi hoàn thành sản phẩm Kiểm tra, chạy thử Thanh toán, thanh lý hợp đồng Bản Demo chương trình Hợp đồng đã thanh lý Chương trình đã kiểm tra Hợp đồng đã thanh lý B. Sơ đồ chức năng nghiệp vụ: Khách hàng Đổi mật khẩu Xóa tài khoản Thoát (Logout) Quản lý người dùng Quản lý hợp đồng phần mềm Đăng nhập hệ thống Tạo tài khoản mới Các danh mục Các hợp đồng Quản lý danh mục Nhân viên Hợp đồng In ấn Tìm kiếm Theo hợp đồng Theo khách hàng Đây là biểu đồ tĩnh có dạng hình cây, được xây dựng bằng kỹ thuật phân mức, xuất phát từ mức thấp nhất và các mức tiếo theo được phân rã tiếp tục cho đến mức cuối cùng là chức năng nhỏ nhất không thể phân chia được nữa. Tại mỗi nút là một chức năng của hệ thống. Và cụ thể như sau: 1. Chức năng quản lý người dùng: Đây là chức năng phụ của hệ thống quản lý hợp đồng phần mềm, để đảm bảo an toàn và bảo mật của dữ liệu. Trong chức năng này bao gồm các chức năng nhỏ hơn: + Đăng nhập hệ thống: để tiến hành sử dụng hệ thống cũng như thay đổi một số thông tin của hệ thống. Việc đăng nhập có thể được tiến hành với nhiều tài khoản khác nhau. + Tạo tài khoản mới: nhằm tạo những tài khoản mới, người được quyền tạo tài khoản mới là người quản trị hệ thống, + Đổi mật khẩu: cho phép đổi mật khẩu khi cần. + Thoát khỏi hệ thống: dùng khi người dùng đăng nhập vào hệ thống không thành công, hoặc có sử dụng chương trình và hoàn thành công việc thoát khỏi hệ thống. 2. Chức năng quản lý danh mục: Đây là một chức năng cơ bản của hệ thống, trong đó có những danh mục quan trọng là danh mục hợp đồng, khách hàng, nhân viên. Trong chức năng này cho phép thêm mới, chỉnh sửa, xóa những thông tin liên quan tới các danh mục. 3. Chức năng tìm kiếm: Đây là chức năng được tích hợp vào hệ thống để đảm bảo việc tìm kiếm các thông tin như khách hàng, hợp đồng để đảm bảo một yêu cầu nào đó khi cần thiết. 4. Chức năng In ấn: Mặc dù thay thế máy tính cho hệ thống tờ, xong việc sử dụng giấy tờ có thể chia sẻ dễ dàng. Vì vậy chương trình hỗ trợ việc in ấn, như in danh sách khách hàng, các hợp đồng, số nhân viên tham gia dự án. Sơ đồ luồng dữ liệu (DFD): 1. Sơ đồ mức ngữ cảnh (mức 0) của hệ thống (Context Diagram): Ban giám đốc Hệ thống thông tin quản lý hợp đồng phần mềm Khách hàng Người quản lý Các bộ phận khác Yêu cầu Thông tin Thông tin Hợp đồng Thông tin khách hàng Thao tác quản lý Sơ đồ ngữ cảnh (mức 0) hệ thống quản lý hợp đồng phần mềm Đây là mô hình quản lý hợp đồng phần mềm tổng quát nhất. Các tác nhân ngoài và luồng dữ liệu vào ra từ các tác nhân ngoài đến hệ thống được xác định hoàn toàn. Đối với hệ thống quản lý này có các tác nhân ngoài và luồng dữ liệu được thể hiện như ở sơ đồ trên, trong đó hình chữ nhật thể hiện các đối tượng với tên xác định được đặt trong nó, còn luồng dữ liệu được biểu diễn bằng một mũi tên có hướng mà trên đó có ghi tên nhãn là tên luồng thông tin mang theo. Các đối tượng của mô hình: Khách hàng: là những người có yêu cầu làm sản phẩm với công ty. Ban giám đốc: là người quản lý công ty có những yêu cầu đối với hệ thống. Người quản lý: ở đây là trưởng bộ phận kinh doanh và phát triển phần mềm. Các bộ phận khác: có thể là bộ phận nhân sựcần một thông tin nào đó liên quan đến hệ thống. Các luồng dữ liệu: Thông tin khách hàng: Hệ thống phải lưu trữ những thông tin liên quan đến khách hàng, có thể là: tên, địa chỉ, yêu cầu Hợp đồng: Sau khi được ký kết thì được lưư trữ trong hệ thống, khách hàng sẽ giữ một bản. Thao tác quản lý: là tiến hành các nghiệp vụ quản lý hợp đồng. Yêu cầu: là những yêu cầu của ban giám đốc khi cần một thông tin nào đó với hệ thống Thông tin giữa ban giám đốc và hệ thống: sau khi xem xét những yêu cầu của ban giám đốc thì hệ thống sẽ trả lời những thông tin thỏa mãn yêu cầu đó. Thông tin giữa các bộ phận khác với hệ thống: khi cần thông tin liên quan đến hợp đồng, tất cả các bộ phận đều có thể đưa thông tin cần tìm đến hệ thống và được hệ thống trả lời những thông tin đó. Sơ đồ luồng dữ liệu mức 1 (DFD mức 1): Để chi tiết hơn về hệ thống, chúng ta sử dụng kỹ thuật phân rã ( Explosion) sơ đồ. Bắt đầu từ sơ đồ khung cảnh, người ta phân rã thành các sơ đồ mức 1,... Sau đây là sơ đồ mức 1 (mức đỉnh) của hệ thống quản lý hợp đồng phần mềm từ sơ đồ ngữ cảnh trên: Yêu cầu Khách hàng Người quản lý Thông tin khách hàng 1.0 Xử lý Yêu cầu đã duyệt 2.0 Tạo lập HĐ 3.0 Cập nhật Khách hàng 5.0 Thống kê 6.0 In ấn Yêu cầu thống kê Yêu cầu thỏa mãn DS NV,KH,HĐ Yêu cầu In ấn 4.0 Tìm kiếm Điều kiện tìm Điều kiện Thỏa mãn Ban giám đốc Yêu cầu BC tổng hợp Hợp đồng Nhân viên Hợp đồng đã ký kết Sơ đồ mức1 hệ thống quản lý hợp đồng phần mềm Các kho dữ liệu trong sơ đồ luồng dữ liệu mức đỉnh của hệ thống quản lý hợp đồng phần mềm bao gồm: Kho dữ liệu về hợp đồng, kho dữ liệu về khách hàng và kho dữ liệu về nhân viên. Các tác nhân ở đây bao gồm: khách hàng, người quản lý (là bộ phận kinh đoan và phát triển sản phẩm), và cuối cùng là ban giám đốc. Các luỗng dữ liệu được thể hiện trên hình vẽ với các chiều mũi tên. Các chức năng tương ứng với sơ đồ phân rã chức năng của hệ thống quản ký hợp đồng đã được nêu ở trên (sơ đồ BFD). Thiết kế cho HTTT quản lý hợp đồng phần mềm. Thiết kế cơ sở dữ liệu (CSDL): Sơ đồ quan hệ thực thể (ERD): Để biểu diễn mối quan hệ giữa các thực thể (mô hình ERD) ta dùng các hình sau: Liên kết Tên thực thể Mô hình khái niệm ở dưới được thể hiện: Công ty có các khách hàng với những hợp đồng. Một hợp đồng luôn luôn phải được gắn với một khách hàng, những cũng có thể một khách hàng chưa có dự án. Đối với mỗi dự án, người ta có thể phải trả một số chi phí. Đối với mỗi khách hàng có một hoặc nhiều nhân viên với tư cách là nguồn nhân lực, các nhân viên này có thể liên kết vào nhiều dự án. Trong hệ thống có những thực thể sau: thực thể khách hàng, thực thể dự án, thực thể nhân viên và thực thể chi phí. Khách hàng #Mã khách hàng Có Nhân viên 1 N Hợp đồng Ký kết 1 N #Mã hợp đồng Tham gia N #Mã hợp đồng #Mã nhân viên N Chi phí Chi trả 1 N #Mã hợp đồng #Số hiệu chi phí #Số hiệu chi phí Sơ đồ quan hệ thực thể ERD #Mã nhân viên Từ mô hình liên kết các thực thể của hệ thống ta xây dựng được các tệp cơ sở dữ liệu sau: Khách hàng ( #Mã khách hàng, tên khach hang, địa chỉ,) Hợp đồng (#Mã hợp đồng, tên hợp đồng, ngày lập, đại diện, phương thức thanh toán). Nhân viên (#Mã nhân viên, tên nhân viên, .) Chi phí (#Số hiệu chi phí, số tiền,) Các mối quan hệ giữa các thực thể bao gồm: + Giữa thực thể Khách hàng và Dự án: là mối quan hệ 1@N, một khách hàng có thể có nhiều hợp đồng với công ty, nhưng một hợp đồng chỉ thuộc về một khách hàng. + Giữa thực thể Dự án và thực thể Chi phí: là quan hệ 1@N, một dự án người ta phải trả một số chi phí, và những chi phí đã trả chỉ thuộc về một hợp đồng. + Giữa thực thể Dự án và Nhân viên: là quan hệ N@N, tức mỗi nhân viên có thể tham gia vào nhiều hợp đồng, và mỗi hợp đồng có nhiều nhân viên tham gia. + Giữa thực thể Khách hàng và Nhân viên: là quan hệ 1@N, tức đối với mỗi khách hàng có một hoặc nhiều nhân viên với tư cách là nguồn nhân lực. 1.2 Sơ đồ cấu trúc dữ liệu (DSD):Khách hàng #MãKH .. #MãHĐ #MãKH #MãHĐ #MãNV #MãKH . #MãHĐ #MaNV . Nhân viên Tham gia #SốhiệuCP #MãHĐ . Chi trả Hợp đồng Sơ đồ cấu trúc dữ liệu DSD được suy ra từ sơ đồ quan hệ thực thể theo những quy tắc đã nêu. Cụ thể như sau: Giữa thực thể nhân viên và thực thể hợp đồng: là quan hệ hai nhiều loại nhiều – nhiều nên ta phải sinh ra ba tệp là tệp Hợp đồng, Khách hàng, và tệp công việc tham gia; tệp này chứa hai khóa quan hệ của hai tệp trước. Còn lại là các quan hệ một – nhiều: ta tách thành hai tệp, mỗi tệp tương ứng với một thực thể. Trong đó thực thể bên nhiều có thêm thuộc tính chứa khóa của thực thể quan hệ. 1.3 Tạo lập cơ sở dữ liệu: Từ sơ đồ quan hệ thực thể và sơ đồ cấu trúc dữ liệu ta có các bảng biểu chủ yếu cho chương trình quản lý hợp đồng phần mềm như sau: Một số quy ước: Kiểu dữ liệu là Character được ký hiệu là: C Kiểu dữ liệu là Numberic ký hiệu là: N Kiểu memo_ kiểu gợi nhớ ký hiệu là: M Kiểu ngày thường là date ký hiệu là: D Kiểu dữ liệu logic ký hiệu là: L Bảng Khách hàng: Với MaKH là khóa chính. Tên trường Diễn giải Kiểu dữ liệu Độ rộng MaKH Mã khách hàng C 5 TenKH Họ tên khách hàng C 30 Masothue Mã số thuế của khách hàng C 10 Diachi Địa chỉ khách hàng C 50 Dienthoai Điện thoại liên hệ của KH C 15 Tai khoanNH Tài khoản Ngân hàng C 20 Linh vucHĐ Lĩnh vực hoạt động C 30 Yeu cau Yêu cầu về sản phẩm M 4 Bảng Hợp đồng: Với MaHD là khóa chính. Tên trường Diễn giải Kiểu dữ liệu Độ rộng MaHD Mã hợp đồng C 5 TenHD Tên hợp đồng C 30 MaKH Mã khách hàng C 5 TenKH Tên khách hàng C 100 SohieuCP Số hiệu chi phí C 5 Maloai Mã loại hợp đồng C 5 Tênsanpham Tên sản phẩm KH yêu cầu C 50 GiatriHD Tổng giá trị của hợp đồng N 12 Tienđattrưoc Tiền đặt cọc trước N 12 Conno Số tiền còn lại N 12 Muckhautru Khoản tiền công ty chịu khi tổn thất về sản phẩm N 12 PhuongthucTT Phương thức thanh toán C 30 Ngayky Ngày ký kết hợp đồng D 8 Ngàyketthuc Ngày kết thúc hợp đồng D 12 Đaidiencongty Đại diện công ty ký họp đồng C 30 ĐaidienKH Đại diện bên khách hàng C 30 Ghichu Ghi chú M 4 Bảng LoạiHĐ: Với Maloai là khóa chính. Tên trường Diễn giải Kiểu dữ liệu Độ rộng Maloai Mã loại hợp đồng C 5 Tenloai Tên loại hợp đồng C 25 Bảng Chi phí: Với SohieuCP là khóa chính. Tên trường Diễn giải Kiểu dữ liệu Độ rộng SohieuCP Số hiệu chi phí C 5 TenloaiCP Tên loại chi phí chi trả C 30 So tien Số tiền trả N 12 Ghichu Ghi chú M 4 Bảng Nhânviên: Với MaNV là khóa chính Tên trường Diễn giải Kiểu dữ liệu Độ rộng MaNV Mã nhân viên C 5 TenNV Tên nhân viên C 30 Ngaysinh Ngày sinh D 8 Điachi Địa chỉ C 50 Quequan Quê quán C 30 Đienthoai Điện thoại C 10 Bảng danh mục Công việc: Với So hieu là khoá chính Tên trường Diễn giải Kiểu dữ liệu Độ rộng Sohieu Số hiệu C 5 MaHD MãHĐ C 5 MaNV Mã nhân viên C 5 Bophanlamviec Bộ phận làm việc C 30 Têncongviec Tên công việc C 30 Ghichu Ghi chú M 4 Trên đây là những bảng chính của chương trình, ngoài ra còn có thêm một số bảng phụ phục vụ cho hệ thống như bảng: người dùng, bảng phòng ban, bộ phận của nhân viên Mối quan hệ giữa các bảng được thể hiện như hình sau: Thiết kế chương trình: Thiết kế theo các modul: Modul hệ thống của chương trình như sau: Quản lý hợp đồng phần mềm Hệ thống Cập nhật Tìm kiếm Báo cáo Trợ giúp Các modul chức năng lại được phân cấp như sau: Modul: Hệ thống Hệ thống Thay đổi mật khẩu Tạo tài khoản mới Đăng nhập hệ thống Thoát khỏi chương trình Xóa tài khoản Modul: Cập nhật Cập nhật Danh mục hợp đồng Danh mục khách hàng Danh mục nhân viên Danh mục chi phí Tìm kiếm Theo hợp đồng Theo khách hàng Modul: Tìm kiếm Modul: Báo cáo Báo cáo Danh mục các hợp đồng Các khách hàng hiện tại Về chi phí sử dụng Nhân viên tham gia HĐ Modul: Trợ giúp Trợ giúp Giới thiệu Hướng dẫn sử dụng 2.2 Một số thuật toán sử dụng trong chương trình: Thuật toán đăng nhập hệ thống Thuật toán cập nhật dữ liệu: bao gồm: Cập nhật danh mục khách hàng, danh mục hợp đồng Thuật toán tìm kiếm dữ liệu. Thuật toán in các báo cáo. Thuật toán đăng nhập vào chương trình: Thuật toán này cho phép ngời sử dụng đăng nhập vào hệ thống quản lý hợp đồng phần mềm: Để vào được chơng trình thì đầu tiên người dùng sẽ phải đăng nhập vào hệ thống bằng cách khai báo tên và mật khẩu của ngời dùng. Sau khi kiểm tra tên và mật khẩu mà người dùng khai báo chơng trình tiến hành kiểm tra có cho phép vào hệ thống hay không. Nếu không có lỗi thì cho phép vào chơng trình. Nếu có lỗi thì sẽ hỏi có nhập lại không. Nếu có thì nhập lại, nếu không thì cho phép thoát khỏi chương trình. Bắt đầu Vào chương trình quản lý hợp đồng phần mềm Có lỗi ? N Nhập tên, mật khẩu mật khẩu Kiểm tra tên, mật khẩu Y Kết thúc Thông báo Thuật toán đăng nhập vào chương trình Thuật toán cập nhật: Danh mục hợp đồng: Đầu tiên để cập nhật thêm hợp đồng mới hay sửa đổi các thông tin có liên quan đến hợp đồng thì cần phải mở các tệp tin cần thiết cho quá trình nhập, sửa đổi: ví dụ như là form chương trình chính, form câp nhật danh mục hợp đồng. Khi nhập thông tin vào danh mục hợp đồng, đầu tiên là nhập mã hợp đồng, sau đó chương trình sẽ kiểm tra mã vừa nhập, việc kiểm này bao gồm: kiểm tra xem mã đã có hay chưa, và yêu cầu mã không được để trống. Nếu mắc phải một trong hai lỗi này thì chương trình sẽ xó thông báo cho phép nhập lại. Việc nhập thông tin về hợp đồng sẽ được tiến hành như sau: - Nhập mã hợp đồng theo cách mã hóa của hợp đồng. - Kết thúc việc nhập thông tin hợp đồng, nếu có chỉnh sửa về các thông tin vừa nhập thì quay lại từ đầu, không thì cho phép ghi thông tin vừa nhập. - Sau khi ghi dữ liệu nếu tiếp tục nhập cho một hợp đồng khác có thể quay lại từ đầu, nếu không sẽ đóng form cập nhật hợp đồng và thoát ra ngoài. Trước khi thoát sẽ có thông báo hiện lên hỏi người dùng có muốn thoát thật không, nếu không thì chương trình sẽ không thoát ra ngoài và vẫn còn lại với những chức năng của nó. Nếu người dùng muốn thoát thật thì chương trình sẽ ra ngoài. Nhưng đồng thời với nó sẽ cập nhật thông tin của hợp đồng hay là các thông tin đã sửa đổi, cập nhật vào các bảng DBF về hợp đồng. Bắt đầu Ghi dữ liệu Nhập mã hợp đồng Có lỗi? Tiếp tục? Chỉnh sửa? Kết thúc Nhập các thông tin về hợp đồng N Y Thông báo Y Y N N Kiểm tra mã nhập Mở form hợp đồng Đóng form hợp đồng Thuật toán cập nhật danh mục hợp đồng Danh mục khách hàng: Cũng tương tự như việc cập nhật về hợp đồng, đầu tiên để cập nhật thêm khách hàng mới hay sửa đổi các thông tin có liên quan đến khách hàng thì cần phải mở các tệp tin cần thiết cho quá trình nhập, sửa đổi: ví dụ như là form chương trình chính, form câp nhật danh mục khách hàng. Khi nhập thông tin vào danh mục khách hàng, đầu tiên là nhập mã khách hàng, sau đó chương trình sẽ kiểm tra mã vừa nhập, việc kiểm này bao gồm: kiểm tra xem mã đã có hay chưa, và yêu cầu mã không được để trống. Nếu mắc phải một trong hai lỗi này thì chương trình sẽ xó thông báo cho phép nhập lại. Việc nhập thông tin về khách hàng sẽ được tiến hành như sau: - Nhập mã khách hàng theo cách mã hóa của khách hàng. - Kết thúc việc nhập thông tin khách hàng, nếu có chỉnh sửa về các thông tin vừa nhập thì quay lại từ đầu, không thì cho phép ghi thông tin vừa nhập. - Sau khi ghi dữ liệu nếu tiếp tục nhập cho một khách hàng khác có thể quay lại từ đầu, nếu không sẽ đóng form cập nhật khách hàng và thoát ra ngoài. Trước khi thoát sẽ có thông báo hiện lên hỏi người dùng có muốn thoát thật không, nếu không thì chương trình sẽ không thoát ra ngoài và vẫn còn lại với những chức năng của nó. Nếu người dùng muốn thoát thật thì chương trình sẽ ra ngoài. Nhưng đồng thời với nó sẽ cập nhật thông tin của khách hàng hay là các thông tin đã sửa đổi, cập nhật vào các bảng DBF về khách hàng. Bắt đầu Ghi dữ liệu Nhập mã khách hàng Có lỗi? Tiếp tục? Chỉnh sửa? Kết thúc Nhập các thông tin về khách hàng N Y Thông báo Y Y N N Kiểm tra mã nhập Mở form khách hàng Đóng form khách hàng Thuật toán cập nhật danh mục khách hàng Việc cập nhật các danh mục chi phí, nhân viên cũng tương tự như việc cập nhật danh mục hợp đồng và khách hàng. Thuật toán tìm kiếm dữ liệu: Đầu tiên cần mở các tệp tin và form liên quan như form chương trình chính, form tìm kiếm. Sau đó là chọn chỉ tiêu tra cứu, có thể là theo hợp đồng, khách hàng, nhân viên. Tiếp theo là nhập điều kiện tìm. Chương trình sẽ tìm theo điều kiện này, nếu không có thì sẽ hiện thông báo không có bản ghi đáp ứng, còn nếu tìm thấy thì sẽ hiện thông báo những thông tin liên quan đến điều kiện tìm. Người tìm kiếm có thể tìm kiếm tiếp hay không sau khi có kết quả. Nếu tìm tiếp chương trình sẽ quay lại từ việc chọ chỉ tiêu tra cứu, và ngược lại sẽ thoát khỏi form tìm kiếm. N Y Bắt đầu Mở form tra cứu Thấy? Nhập điều kiện tìm Chọn chỉ tiêu tra cứu Tìm kiếm Hiển thị dữ liệu Thông báo không thấy Tìm tiếp? N Y Kết thúc Đóng form tìm kiếm Thuật toán tìm kiếm dữ liệu Thuật toán in các báo cáo: Báo cáo chứa đựng những thông tin mà giám đốc hay bất kỳ một bộ phận nào đó trong công ty cần đến. Để thực hiện được việc in báo cáo thì cần mở những tệp tin như chương trình chính, các form, form báo cáo, sau đó ta lựa chọn loại báo cáo, các điều kiện của báo cáo, có thể là ngày bắt đầu, ngày kết thúc. Nếu điều kiện đó hợp lệ thì chương trình sẽ hiện báo cáo đó trên màn hình, nếu không hợp lệ thì chương trình hiện thông báo để nhập lại các điều kiện của báo cáo Khi hiện thông báo nếu người dùng không muốn in mà chỉ muốn xem kết quả báo cáo thì không thể thực hiện được chức năng in mà có thể thoát khỏi chương trình. Khi người dùng muốn in báo cáo có thể thực hiện được nhờ chức năng in. Bắt đầu Kết thúc Mở form báo cáo, Lựa chọn loại báo cáo. Nhập các điều kiện báo cáo Kiểm tra? N Y Hiện các báo cáo Đồng ý in? In báo cáo Y N Thuật toán in báo cáo 2.3 Thiết kế một số màn hình giao diện của chương trình quản lý hợp đồng phần mềm: 2.3.1. Form đăng nhập hệ thống: Để sử dụng được chương trình thì đầu tiên người dùng phải đăng nhập hệ thống. ở đây mặc định người dùng là Thuận và với mật khẩu là rỗng. Vì từ trước người quản trị hệ thống đã tiến hành phân quyền người sử dụng, do vậy ở đây cho phép người dùng chọn tài khoản trong combobox người dùng. Nếu là quản trị hệ thống thì đănng nhập với tài khoản là Adminitrator, tài khoản này cũng mặc dịnh là rỗng và có toàn quyền sử dụng hệ thống, ngược lại nếu tài khoản là khách (Guess) thì xẽ bị hạn chế một số chức năng trong hệ thống..Khi nạp đầy đủ thông tin trên ấn vào đăng nhập thì có thể sử dụng được chương trình. Trường hợp chương trình kiểm tra quá trình đăng nhập có lỗi, thì sẽ có thông báo hay chỉ dẫn để người dùng đăng nhập đúng. 2.3.2. Form giao diện chính của chương trình: 2.3.3. Form danh mục hợp đồng: 2.3.4 Form danh mục khách hàng: 2.3.5 Form danh mục loại hợp đồng: 2.3.6 Form cập nhật danh mục chi phí: 2.3.7 Form nhân viên: 2.3.8 Form tra cứu theo hợp đồng: 2.3.9 Form tra cứu theo khách hàng: 2.3.10 Form lựa chọn báo cáo về hợp đồng: 2.3.11 Báo cáo danh mục khách hàng: 2.3.12 Báo cáo danh mục hợp đồng đã ký: Trên đây là một số giao diện chính của chương trình. Trước hết là về các form, cơ bản chúng gần giống nhau, tạo giao diện thuận lợi cho người dùng. Trên mỗi form có thành phần như sau: + Có textbox để người dùng tiến hành nhập yêu cầu, dữ liệu. + Có các label ghi rõ ràng các mục. + Có lưới Grid hiển thị kết quả. + Những nút lệnh cơ bản thao tác với dữ liệu. Bao gồm nhóm nút lệnh di chuyển (về Sau, Trước, Đầu, Cuối) và nhóm các nút lệnh thao tác với dữ liệu như: Thêm, Sửa, Xóa, Ghi, Thoát. Mô tả: + Khi người dùng kích hoạt và chức năng cập nhật trên giao diện chính thì chương trình tự động mở các form liên quan ra và người dùng thao tác trên form đó. + Khi nhấn nút Thêm, thì các xuất hiện các trường nhập để trống cho người nhập dữ liệu vào. Đồng thời các nút: Sửa, Xóa, Đầu, Trước, Sau, Cuối, Thêm mờ đi. chỉ có nút Ghi và Quay ra được hiện lên. Kết thúc nhập có thể chọn Ghi hoặc Quay ra. Nếu chọn ghi sẽ ghi các dữ liệu vừa nhập, chọn quay ra sẽ có thông báo có ghi các thay đổi vừa sửa không. Sau thông báo này cho phép người dùng lựa chọn thoát ra ngoài hay không. + Khi nhấn Sửa thì trường hiện thời được hiện ra cho người dùng sửa chữa lại các dữ liệu đã nhập. Các nút lúc này cũng tương tự như trên. + Nhấn nút Xóa, có một thông báo hỏi bạn có chắc chắn xóa bản ghi này không, nếu có bản ghi sẽ bị xóa, nếu không chọn No. + Nhấn Quayra để thoát khỏi Form hiện thời. Cũng có thông báo cho người dùng có muốn thoát thật không. + Nút: Sau: Nếu bạn muốn đến bản ghi sau, Trước nếu muốn quay lại bản ghi trước đó, Đầu nếu muốn tới bản ghi đầu tiên, Cuối nếu muốn đến bản ghi cuối cùng + Khi đã đến bản ghi cuối cùng hay đầu tiên nếu nhấn tiếp thì các nút này sẽ mờ đi. Tuy nhiên nhóm các nút di chuyển này ở một số form không có như form chi phí hày form khách hàng, mà thay vào đó là một thủ tục trong chương trình cho phép người dùng khi ấn chuột vào bản ghi trên lưới grid ở trên nó sẽ hiện bản ghi tương ứng ở duới. 2.4. Một số kết quả khi thử nghiệm chương trình: Chương trình đã được đề nghị chạy thử tại công ty và đang chờ kết quả. Tuy nhiên như đã nói ở trên, đây chỉ một chương trình quản lý có quy mô nhỏ, nên trong quá trình thực tập tại công ty và quá trình làm đề tài em nhận thấy cần có một chương trình quản lý có quy mô rộng lớn hơn có thể áp dụng cho toàn công ty có thể liên kết được với nhau và có thể làm bằng một ngôn ngữ mạnh hơn. điều này cần thời gian và quá trình nghiên cứu thêm nữa. Với sản phẩm đầu tay này em cũng đã nhận được những đánh giá từ công ty Khi chạy ứng dụng đã đáp ứng được phần nào yêu cầu đặt ra, đúng theo các giải thuật đã thiết kế. Em đã viết chương trình và chạy thử một số form như: form tra cứu nhân viên, tra cứu khách hàng, hợp đồng, form cập nhật hợp đồng, nhân viên tại công ty và cho kết quả khả quan. Tuy nhiên, vẫn còn một số lỗi nhỏ trên form, menu về phông chữ hoặc hiện thông báo khi nhập dữ liệu sai của người dùng, vấn đề bảo mật và phân quyền người sử dụng cũng chưa được tốt, và tạo các phím tắt trong hệ thống. Vì thế khi chạy chương trình yêu cầu cần nhập đúng theo mã đã mã hóa và dùng font VnTime vì tất cả phông chữ dùng trong chương trình là VnTime. Với những lỗi này nếu có thời gian em sẽ cố gắng khắc phục để chương trình được hoàn thiện hơn. Kết luận Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ thông tin và các chương trình phần mềm ứng dụng đã làm tăng năng suất và hiệu quả công việc. Công nghệ thông tin đã được ứng dụng vào các ngành kinh tế- xã hội khác nhau và ngày càng được ứng dụng nhiều trong các công ty vừa và nhỏ. Các chương trình ứng dụng đó luôn được đổi mới để đáp ứng những yêu cầu tốt hơn trong hoạt động của công ty. Với sự phát triển này cho phép người ta có thể quản lý tất cả các nghiệp vụ có liên quan. Trong khuôn khổ của chuyên đề thực tập tốt nghiệp này, với đề tài:“ Xây dựng hệ thống thông tin quản lý hợp đồng phần mềm tại Công ty cổ phần dịch vụ cung ứng nhân lực phần mềm toàn cầu ”, chương trình đã đạt được một số kết quả sau: Giao diện thân thiện với người dùng. Kiểm tra chặt chẽ dữ liệu nhập vào. Tự động điền các tham số chương trình. Đưa ra một số báo biểu. Cho phép tra cứu nhanh, có thể tra cứu chi tiết, hoặc tra cứu gợi nhớ. Có hướng dẫn sử dụng và Help cho người dùng. Một số phương hướng phát triển của đề tài: - Chương trình cần phải có thời gian kiểm nghiệm thêm trong thực tế để kịp thời phát hiện những lỗi tồn tại, những yêu cầu chưa đáp ứng được để có những sửa đổi tương ứng. - Giao diện cần đẹp hơn: đó là yêu cầu về giao diện có đi kèm thêm biểu tượng, giao diện động, thêm nhiều giao diện mới. - Cần mở rộng cao thêm về chương trình, có thể là nối kết được với mạng cục bộ để có thể sử dụng bất cứ lúc nào. - Kết nối được với các ứng dụng khác như Access, Exel. Trong thời gian tới khi có cơ hội em sẽ cố gắng nghiên cứu, học hỏi để hoàn thiện và phát triển hệ thống để đề tài được hoàn thiện hơn, nâng cao hơn nữa phạm vi ứng dụng của đề tài. Cũng như nhiều ứng dụng khác phục vụ quá trình quản lý. Do điều kiện về thời gian và khả năng còn hạn chế, mặc dù đã hết sức cố gắng xong chuyên đề thực tập này vẫn không tránh được những thiếu xót, em mong nhận được sự đóng góp ý kiến quý báu của các thầy cô và các bạn để chương trình ngày càng hoàn thiện hơn. Một lần nữa em xin được gửi lời cảm ơn chân thành nhất tới KS. Hồ Bích Hà giảng viên khoa Tin học kinh tế trường đại học Kinh tế quốc dân - Hà Nội, giám đốc Nguyễn Đức Thành, Phó giám đốc Lê Xuân Hòa chịu trách nhiệm bộ phận kinh doanh và phát triển phần mềm của công ty đã tận tình giúp đỡ, chỉ dẫn cho em trong quá trình hoàn thành chuyên đề này. Em xin chân thành cảm ơn ! Danh mục tài liệu tham khảo Giáo trình Hệ thống thông tin quản lý - TS Trương văn Tú, TS Nguyễn Thị Song Minh, NXB Thống Kê -Hà Nội, 2000. Bài giảng Hệ thống thông tin qunả lý – TS Trương Văn Tú, Khoa Tin học kinh tế, Trường Đại học kinh tế quốc dân. Những bài thực hành Visual Foxpro, Tổng hợp và biên soạn: VN-GUIDE Và Kỹ sư tin học: Đinh Xuân Lâm, NXB Thống Kê. Một số chuyên đề thực tập khác. Phụ lục một số đoạn mã CODE của chương trình: CODE MENU của hệ thống: * ********************************************************* * * * * 04/17/04 MENU_CHINH.MPR 16:16:46 * * * ********************************************************* * * * * Author's Name * * * * Copyright (C) 2004 Company Name * * Address * * City, Zip * * * * Description: * * This PROGRAM was automatically generated BY GENMENU. * * * ********************************************************* * ********************************************************* * * * * Menu Definition * * * ********************************************************* * SET SYSMENU TO SET SYSMENU AUTOMATIC DEFINE PAD _17s0yw4u0 OF _MSYSMENU PROMPT "\<He thong" COLOR SCHEME 3 ; KEY ALT+H, "" DEFINE PAD _17s0yw4u1 OF _MSYSMENU PROMPT "\<Cap nhat" COLOR SCHEME 3 ; KEY ALT+C, "" DEFINE PAD _17s0yw4u2 OF _MSYSMENU PROMPT "\<Tim kiem" COLOR SCHEME 3 ; KEY ALT+T, "" DEFINE PAD _17s0yw4ua OF _MSYSMENU PROMPT "\<Bao cao" COLOR SCHEME 3 ; KEY ALT+B, "" DEFINE PAD _17s0yw4ub OF _MSYSMENU PROMPT "\<Tro giup" COLOR SCHEME 3 ; KEY ALT+T, "" ON PAD _17s0yw4u0 OF _MSYSMENU ACTIVATE POPUP hethong ON PAD _17s0yw4u1 OF _MSYSMENU ACTIVATE POPUP capnhat ON PAD _17s0yw4u2 OF _MSYSMENU ACTIVATE POPUP timkiem ON PAD _17s0yw4ua OF _MSYSMENU ACTIVATE POPUP baocao DEFINE POPUP hethong MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF hethong PROMPT "1. \<Dang nhap he thong" DEFINE BAR 2 OF hethong PROMPT "2. \<Tao tai khoan moi" DEFINE BAR 3 OF hethong PROMPT "3. \<Doi tai khoan" DEFINE BAR 4 OF hethong PROMPT "4. \<Xoa tai khoan" DEFINE BAR 5 OF hethong PROMPT "\." DEFINE BAR 6 OF hethong PROMPT "5. \<Thoat khoi chuong trinh" ON SELECTION BAR 1 OF hethong do form forms\form_dangnhap ON SELECTION BAR 2 OF hethong DO form forms\form_taomoi ON SELECTION BAR 3 OF hethong DO form forms\form_tdmatkhau ON SELECTION BAR 4 OF hethong DO form forms\form_xoataikhoan ON SELECTION BAR 6 OF hethong ; DO _17s0yw4uc ; IN LOCFILE("QLHDPM\MENU\MENU_CHINH" ,"MPX;MPR|FXP;PRG" ,"WHERE is MENU_CHINH?") DEFINE POPUP capnhat MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF capnhat PROMPT "\<Danh muc hop dong" DEFINE BAR 2 OF capnhat PROMPT "\<Danh muc khach hang" DEFINE BAR 3 OF capnhat PROMPT "\<Danh muc nhan vien" DEFINE BAR 4 OF capnhat PROMPT "\<Danh muc chi phi" ON SELECTION BAR 1 OF capnhat DO form forms\form_hopdong ON SELECTION BAR 2 OF capnhat DO form forms\form_khang ON SELECTION BAR 3 OF capnhat DO form forms\form_nhanvien ON SELECTION BAR 4 OF capnhat DO form forms\form_chiphi DEFINE POPUP timkiem MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF timkiem PROMPT "\<1. Theo hop dong" DEFINE BAR 2 OF timkiem PROMPT "\<2. Theo khach hang" DEFINE BAR 3 OF timkiem PROMPT "\<3. Theo nhan vien" ON SELECTION BAR 1 OF timkiem DO form forms\form_tracuu_hdong ON SELECTION BAR 2 OF timkiem DO form forms\form_tracuu_khang ON SELECTION BAR 3 OF timkiem DO form forms\form_tracuu_nvien DEFINE POPUP baocao MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR 1 OF baocao PROMPT "1.\< Bao cao theo hop dong" DEFINE BAR 2 OF baocao PROMPT "2.\< Bao cao chi phi" DEFINE BAR 3 OF baocao PROMPT "3.\< Bao cao danh muc khach hang" DEFINE BAR 4 OF baocao PROMPT "4.\< Bao cao danh sach nhan vien" ON SELECTION BAR 1 OF baocao DO form forms\form_baocao_chohd ON SELECTION BAR 2 OF baocao REPORT form reports\baocao_chiphi Preview ON SELECTION BAR 3 OF baocao Report form reports\khachhang preview ON SELECTION BAR 4 OF baocao Report form reports\nhanvien preview * ********************************************************* * * * * _17S0YW4UC ON SELECTION BAR 6 OF POPUP hethong * * * * Procedure Origin: * * * * From Menu: MENU_CHINH.MPR, Record: 10 * * Called By: ON SELECTION BAR 6 OF POPUP hethong * * Prompt: 5. Thoat khoi chuong trinh * * Snippet: 1 * * * ********************************************************* * PROCEDURE _17s0yw4uc CLOSE ALL Quit CODE để bắt đầu gọi chương trình cùng với FORM đăng nhập, FORM giao diện chính của hệ thống. SET SAFETY OFF PUBLIC edittype,banghi,cap public _CurrStatus, _CurrPhong,_Currbophan,_currnhanvien,currValue public kq as Boolean PUBLIC i as Integer PUBLIC dangnhap as Integer dangnhap=0 edittype=0 quyen=1 && 1-toan quyen; 2-doc va in; 3-chi doc PUBLIC cap as Character && Muc truy nhap cap='0' SET HELP on SET HELP TO helptabl WITH _Screen .CLOSABLE=.F. .ICON= [Cid.Ico] .ControlBox=.T. .MaxButton=.T. .MinButton=.T. .Height=400 .Width=550 .Caption='Chuong trinh quan ly hop dong phan mem' .WindowState=2 ENDWITH *SET PROCEDURE TO programss\kiemtra IF WEXIST("STANDARD") HIDE WINDOW STANDARD ENDIF HIDE WINDOW all DO menu_chinh.mpr DO FORM forms\form_giaodienchinh DO FORM Forms\form_dangnhap READ events CODE của một số nút lệnh: Nút Đầu: IF RECCOUNT()0 IF !BOF() GO TOP THISFORM.Cmddau.Enabled=.F. THISFORM.Cmdtruoc.Enabled=.F. THISFORM.Cmdsau.Enabled=.T. THISFORM.Cmdcuoi.Enabled=.T. ELSE THISFORM.Cmddau.Enabled=.F. THISFORM.Cmdtruoc.Enabled=.F. THISFORM.Cmdsau.Enabled=.T. THISFORM.Cmdcuoi.Enabled=.T. ENDIF SCATTER MEMVAR MEMO THISFORM.Refresh ENDIF Nút Trước: IF RECCOUNT()0 IF !BOF() SKIP -1 IF BOF() THISFORM.CmdDau.Enabled=.F. THISFORM.CmdTruoc.Enabled=.F. THISFORM.CmdSau.Enabled=.T. THISFORM.CmdCuoi.Enabled=.T. ELSE THISFORM.CmdSau.Enabled=.T. THISFORM.CmdCuoi.Enabled=.T. ENDIF ELSE THISFORM.CmdDau.Enabled=.F. THISFORM.Cmdtruoc.Enabled=.F. THISFORM.CmdSau.Enabled=.T. THISFORM.CmdCuoi.Enabled=.T. ENDIF SCATTER MEMVAR MEMO THISFORM.Refresh ENDIF Nút Sau: IF RECCOUNT()0 IF !EOF() SKIP IF EOF() SKIP-1 THISFORM.Cmddau.Enabled=.T. THISFORM.Cmdtruoc.Enabled=.T. THISFORM.Cmdsau.Enabled=.F. THISFORM.Cmdcuoi.Enabled=.F. ELSE THISFORM.Cmdtruoc.Enabled=.T. THISFORM.Cmddau.Enabled=.T. ENDIF ELSE Skip-1 THISFORM.Cmddau.Enabled=.T. THISFORM.Cmdtruoc.Enabled=.T. THISFORM.Cmdsau.Enabled=.F. THISFORM.Cmdcuoi.Enabled=.F. ENDIF SCATTER MEMVAR MEMO THISFORM.Refresh ENDIF Nút Thêm mới hợp đồng: *IF quyen=1 IF thisform.cmdthemGhi.Caption="\<Thêm" && Nhấn nút Thêm thisform.trangthai=1 SELECT hopdong thisform.SetAll('readonly',.F.,'textbox') thisform.SetAll('readonly',.F.,'editbox') thisform.SetAll('readonly',.F.,'combobox') thisform.SetAll('Enabled',.F.,'CommandButton') thisform.cmdthemGhi.Enabled=.t. thisform.cmdsuaHuy.Enabled=.t. thisform.cmdthemGhi.Caption="\<Ghi" thisform.cmdsuaHuy.Caption="\<Hủy" SCATTER MEMVAR blank thisform.Refresh thisform.txtmahd.SetFocus ELSE && Nhấn nút Ghi IF EMPTY(ALLTRIM(thisform.txtmahd.Value)) MESSAGEBOX("Ma hop dong khong duoc de trong",48,"Loi nhap sai") thisform.txtmahd.SetFocus else IF EMPTY(ALLTRIM(thisform.txtmahd.Value)) MESSAGEBOX("Ma hop dong khong duoc de trong",48,"Loi nhap sai") thisform.txtmahd.SetFocus else IF thisform.trangthai=1 aPPEND BLANK IN hopdong gATHER MEMVAR memo thisform.trangthai=0 ELSE gATHER MEMVAR memo ENDIF thisform.trangthai=0 thisform.SetAll('readonly',.t.,'textbox') thisform.SetAll('readonly',.t.,'editbox') thisform.SetAll('readonly',.t.,'combobox') thisform.SetAll('Enabled',.T.,'CommandButton') thisform.cmdthemGhi.Caption="\<Thêm" thisform.cmdsuaHuy.Caption="\<Sửa" thisform.Refresh ENDIF ENDIF * END TRANSACTION ENDIF CODE Tra cứu hợp đồng: *MESSAGEBOX(thisform.edittype) IF thisform.edittype=1 THEN thisform.grdTimkiem.RecordSource="" * Cau lenh truy van chinh select makh,maloai,tenhd,tensanpham,giatrihd,tiendattruoc,conno,muckhautru,phuongthuctt,ngayky,ngayketthuc,daidiencongty,daidienkh from hopdong ; where LOWER(ALLTRIM(thisform.cbomahd.Value)) $ LOWER(ALLTRIM(hopdong.mahd)) ; or LOWER(ALLTRIM(thisform.txtten.Value)) $ LOWER(ALLTRIM(tenhd)) ; ORDER BY makh into CURSOR cursorthuan *Dat nguon du lieu cho Grid thisform.grdTimkiem.RecordSourceType= 1 thisform.grdTimkiem.RecordSource="cursorthuan" * lam mo cac nut thisform.edittype=2 thisform.cmdTim.Caption="Tìm mới" thisform.txtten.Enabled=.F. thisform.cbomahd.Enabled=.F. * Lam rong luoi khi nut la tim moi IF RECCOUNT()>0 then thisform.label5.Caption=STR(RECCOUNT()) ELSE thisform.label5.Caption="0" ENDIF ELSE thisform.grdtimkiem.RecordSource="" thisform.cmdTim.Caption="Tìm kiếm" thisform.Refresh *Khoi tao lai gia tri thisform.cbomahd.Enabled=.T. thisform.txtten.Enabled=.T. thisform.cbomahd.Value="" thisform.txtten.Value="" thisform.cbomahd.SetFocus Thisform.edittype=1 ENDIF

Các file đính kèm theo tài liệu này:

  • doc2288.doc