Ứng dụng công nghệ thông tin phát triển phần mềm quản lý hợp đồng tại công ty cổ phần phần mềm kế toán BRAVO

MỤC LỤC

Quy trình sản xuất sản phẩm

    Do nhu cầu quản lý của công ty là rất lớn, và việc quản lý các hợp đồng xây dựng phần mềm của công ty là vô cùng quan trọng, nắm bắt vấn đề này Em sẽ phát triển một chương trình quản lý hợp đồng, phát triển song song cùng với công ty trên cơ sở chương trình đã được xây dựng, chương trình được cài đặt trên cơ sở dữ liệu MS SQL Server 2005 và ngôn ngữ lập trình MS Visual C# 2005. Theo dừi được việc thực hiện hợp đồng của từng nhõn viờn trong cụng ty: Nhân viên kinh doanh - Ký kết hợp đồng, Nhân viên triển khai - Tìm hiểu nhu cầu của khách hàng và cài đặt phần mềm hoàn thiện cho khách hàng, Nhân viên lập trình - Viết các thủ tục, module chương trình theo các yêu cầu của phân tích viên, Nhân viên bảo hành - Thực hiện kiểm thử chương trình ghi nhận các kết quả kiểm thử và nhận các sản phẩm bảo hành của khách.

    Thông tin quản lý và Hệ thống thông tin quản lý .1 Hệ thống trong phân tích thiết kế phần mềm

    Thông tin trong quản lý

    Các quyết định của một tổ chức chia làm ba loại: quyết định chiến lược, quyết định chiến thuật và quyết định tác nghiệp. + Quyết định chiến thuật là những quyết định cụ thể hóa mục tiêu thành nhiệm vụ, những quyết định kiểm soát và khai thác tối ưu nguồn lực.

    Khái quát về hệ thống thông tin

    Hệ thống thông tin của mỗi tổ chức là khác nhau nhưng đều tuân thủ theo quy tắc sau: nó được thể hiện bởi con người, các thủ tục, dữ liệu và thiết bị tin học. Đầu vào (Inputs) của hệ thống thông tin được lấy từ nguồn (Sources) và được xử lý bởi hệ thống sử dụng nó cùng với các dữ liệu đã được lưu trữ từ trước.

    Phân loại hệ thống thông tin trong tổ chức doanh nghiệp .1 Phân loại

    Tầm quan trọng của hệ thống thông tin hoạt động tốt

    Quản lý có hiệu quả của một tổ chức dựa phần lớn vào chất lượng thông tin do các hệ thống thông tin chính thức sản sinh ra. + Tính được bảo vệ: thông tin là một nguồn lực quý báu của tổ chức, do vậy nó phải được bảo vệ, những người có quyền mới được tiếp nhận.

    Các công cụ mô hình hóa hệ thống thông tin

    Trên sơ đồ chỉ bao 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 hề quan tâm tới nơi, thời điểm và đối tượng chịu trách nhiệm xử lý. Chúng được dùng mô tả thêm cho luồng dữ liệu, xử lý, kho dữ liệu, tệp dữ liệu và phần tử thông tin: Phíc xử lý thông tin, phíc luồng dữ liệu, phíc phần tử thông tin, phíc kho dữ liệu, phíc tệp dữ liệu.

    Công cụ mô hình hoá cơ sở dữ liệu logic

    Vòng đời phát triển của phần mềm

    Vòng đời phát triển của một phần mềm được hiểu là quy trình từ khi phần mềm ra đời cho đến khi đưa vào sử dụng và quá trình nâng cấp bảo trì. Mục đích của công việc nghiên cứu vòng đời phát triển của phần mềm là phân ra thành các giai đoạn trên cơ sở đó tìm các giải pháp và công cụ thích hợp để tác động vào mỗi giai đoạn.

    Mô hình thác nước

    Thực tế thì khi kết thúc công việc, may mắn lắm chỉ 80% nhu cầu của hệ thống là được thu thập trong quy trình phân tích do khi đặt hàng bản thân khách hàng chỉ mới liệt kê ra các mong muốn và nguyện vọng của mình về phần mềm mà chưa hình dung được một cách cụ thể những khả năng mà phần mềm sẽ đạt được, đồng thời kỹ sư phần mềm ngay từ đầu nhận đơn đặt hàng cũng không thể hình dung hết kiến trúc tổng quát của phần mềm mà mình xây dựng. Nguyên nhân có thể là sự thay đổi của pháp luật, môi trường kinh doanh; người sử dụng không truyền đạt đúng cái họ muốn; đội ngũ dự án không tuân thủ tiến trình… Đội ngũ phát triển thường lập ra các biểu đồ và vô số tài liệu, văn bản, nhưng người dùng không phải lúc nào cũng hiểu cái mà đội ngũ phát triển cung cấp cho họ.

    Hình 2.10.b Mô hình thác nước
    Hình 2.10.b Mô hình thác nước

    Cấp bậc kiến trúc phần mềm

    Trong phương pháp này, phân tích viên, người thiết kế, người lập trình… hợp tác làm việc với nhau để hiểu biết sâu sắc hệ thống, chia sẻ các ý tưởng mới dẫn đến xây dựng được một hệ thống mạnh, phức tạp hơn. + Kiến trúc phải đảm bảo không quá phức tạp để khi dịch thành chương trình thì quy mô của chương trình không quá lớn và khi thực hiện mỗi chức năng.

    Hình 2.12 Mô hình chuyển đổi từ vấn đề thành các giải pháp
    Hình 2.12 Mô hình chuyển đổi từ vấn đề thành các giải pháp

    Một số khái niệm về lập trình hướng đối tượng

    Thiết kế (design): Là lập tài liệu kỹ thuật toàn bộ, gồm có bản tính toán, bản vẽ… để có thể theo đó mà xây dựng công trình, sản xuất thiết bị, làm sản phẩm,… Khái niệm phân tích trong tiếp cận hướng đối tượng là thực hiện đặc tả các hành vi bên ngoài, bổ sung chi tiết nếu cần thiết để cài đặt hệ thống trên máy tính bao gồm tương tác người – máy, quản lý nhiệm vụ quản lý dữ liệu. Khi thu thập yêu cầu cho hệ thống, chúng ta phải tìm ra nhu cầu tác nghiệp của người dùng và ánh xạ chúng thành yêu cầu phần mềm sao cho đội ngũ phát triển phần mềm hiểu được và sử dụng được chúng (Chuyển các vấn đề thành giải pháp). Nhờ mô hình trực quan mà chúng ta có thể chỉ ra các tầng mà hệ thống làm việc, bao gồm tương tác giữa người dùng với hệ thống, tương tác giữa các đối tượng có trong hệ thống hay giữa các hệ thống với nhau.

    Giới thiệu về Microsof Studio.Net và ngôn ngữ lập trình Visual C#

    Ngôn ngữ C#

    Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa như trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện. Do vậy, một lớp được biên dịch như là một khối self-contained, nên môi trường hosting biết được cách đọc metadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác để sử dụng nó. Để phát triển chương trình quản lý hợp đồng thì trước hết chúng ta phải xem xét các yêu cầu chính của chương trình mà Công ty cổ phần phần mềm kế toán BRAVO đòi hỏi chương trình có thể quản lý được.

    Phân tích yêu cầu của chương trình

    Trong mỗi quy trỡnh của quỏ trỡnh thực hiện hợp đồng cú thể theo dừi được các nhân viên nào trong công ty thực hiện các công việc nhỏ cụ thể nào đó của từng quy trình, ngày thực hiện công việc, ngày hoàn thành công việc đó và chi phí thực hiện công việc này là bao nhiêu?. Chương trình cho phép in ra được các báo cáo như: Danh sách hợp đồng đã được thực hiện, đang thực hiện, đưa ra thông tin về khách hàng, nhân viên của công ty… việc tham gia vào các hợp đồng của các nhân viên…. Ngoài ra chương trình còn có thể đưa ra được các dự báo thống kê đối với triển vọng phát triển của công ty để Ban lãnh đạo có thể đưa ra các chính sách phát triển kinh doanh.

    Mô tả bài toán

    Chương trình cho phép lập các hợp đồng và in được các hợp đồng phần mềm mà công ty ký kết với khách hàng, lưu trữ các thông tin về khách hàng, hợp đồng…. Chương trình này được viết trên ngôn ngữ Visual Foxpro, hiện nay công ty đang có nhu cầu chuyển sang cài đặt trên ngôn ngữ .Net nhằm tăng tính bảo mật đối với chương trình và phát triển thêm các chức năng mà chương trình hiện nay chưa đáp ứng được. Nắm được vấn đề đó và yêu cầu đối với công tác quản lý hợp đồng của công ty Em phát triển một chương trình quản lý hợp đồng và theo dừi việc thực hiện hợp đồng của cụng ty.

    Thiết kế chương trình

    Xây dựng sơ đồ luồng thông tin của chương trình quản lý hợp đồng Quá trình khách hàng đưa ra yêu cầu, Công ty tiếp nhận yêu cầu của

    + Chương trình cho phép người quản trị có khả năng cấp các quyền cho các nhân viên theo từng phòng ban cụ thể. + Khi chạy chương trình thì người sử dụng phải đăng nhập vào hệ thống để có thể chạy được các chức năng trong quyền hạn mà mình được cấp. Từ các dòng thông tin trên mà chúng ta sẽ xây dựng được chương trình quản lý hợp đồng có các chức năng xử lý sau: (Sơ đồ luồng dữ liệu).

    Hình 3.1 Sơ đồ luồng thông tin lập hợp đồng
    Hình 3.1 Sơ đồ luồng thông tin lập hợp đồng

    Sơ đồ luồng dữ liệu DFD

    Theo yêu cầu của công ty, chương trình quản lý hợp đồng sẽ được thiết kế sử dụng giao diện đồ họa, tương tác trực quan với người sử dụng thông qua các nút chức năng và các tổ hợp phím tắt. Khi chạy chương trình đầu tiên chương trình yêu cầu đăng nhập, sau khi đăng nhập thành công thì chương trình hiện ra Form chính với các chức năng tương ứng với quyền hạn của người đăng nhập. Các Form con của chương trình sẽ là các danh sách của danh mục tương ứng, các Form này cho phép thêm, sửa, xóa các danh mục bằng cách nhấn các nút chức năng tương ứng hoặc nhấn các phím nóng F3, F4, F8….

    Hình 3.5 Sơ đồ luồng dữ liệu phân rã mức 0
    Hình 3.5 Sơ đồ luồng dữ liệu phân rã mức 0

    Thiết kế chương trình

    Theo mô hình này thì từ tầng WinUI sẽ không thể trực tiếp can thiệp vào cơ sở dữ liệu được mà phải thông qua tầng BussinessRules, Tầng BussinessRules sẽ thông qua tầng DAL để truy vấn vào cơ sở dữ liệu. Các phương thức này sẽ tham chiếu tới các thủ tục lưu trữ (Store procedure) của cơ sở dữ liệu nhận kết quả từ các thủ tục lưu trữ. Khi thực hiện chương trình thì các yêu cầu của người sử dụng sẽ thông qua tầng ứng dụng và sẽ khởi tạo các dối tượng của tầng BussinessRule, các yêu cầu này sẽ thông qua các phương thức của các đối tượng này để tương tác với các tầng dưới nhằm truy vấn dữ liệu.

    Trong ngành công nghiệp phần mềm thì đây là một mô hình quan trọng, nó cho phép chia các công đoạn của quy trình lập trình thành các quy trình nhỏ độc lập với nhau, rất thích hợp với các phần mềm lớn, nhiều chức năng, nhiều lập trình viên tham gia. 60 PHÁT TRIỂN CHƯƠNG TRÌNH QUẢN LÝ HỢP ĐỒNG TẠI CÔNG TY CỔ PHẦN PHẦN MỀM KẾ TOÁN BRAVO.

    Hình 3.15 Mô hình lập trình 3 tầng trong chương trình
    Hình 3.15 Mô hình lập trình 3 tầng trong chương trình