Chuyên đề 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

Trang

Chương 1 3

GIỚI THIỆU VỀ CÔNG TY CỔ PHẦN PHẦN MỀM KẾ TOÁN BRAVO 3

1.1- Lịch sử hình thành và phát triển 3

1.1.1 Giới thiệu công ty 3

1.1.2 Lịch sử phát triển 3

1.2 Sản phẩm 4

1.3 Khách hàng 5

1.4 Chính sách chất lượng 6

1.5- Bộ máy công ty 7

1.5.1 Hệ thống quản lý chất lượng 7

1.5.2 Sơ đồ cơ cấu bộ máy quản lý trong công ty. 7

1.5.3 Các phòng ban và chức năng tương ứng 8

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

1.6.1 Hoạch định quá trình tạo sản phẩm 27

1.6.2 Các vấn đề liên quan đến khách hàng 28

1.6.3 Thiết kế sản phẩm 29

1.7. Tình trạng tin học hóa công tác quản lý hợp đồng 32

1.7.1 Chương trình quản lý khách hàng của công ty. 32

1.7.2 Yêu cầu của đề tài 32

Chương 2 33

CƠ SỞ PHƯƠNG PHÁP LUẬN VỀ HỆ THỐNG THÔNG TIN QUẢN LÝ 33

2.1 Thông tin quản lý và Hệ thống thông tin quản lý 33

2.1.1 Hệ thống trong phân tích thiết kế phần mềm 33

2.1.2 Thông tin trong quản lý 33

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

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

2.2.1 Phân loại 35

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

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

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

2.4 Công nghệ phần mềm 41

2.5 Khái niệm phần mềm 43

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

2.5.2 Mô hình thác nước. 45

2.5.3 Mô hình lặp và tăng dần 47

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

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

2.8 Giới thiệu về cơ sở dữ liệu Microsoft SQL-Server 2005 54

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

2.9.1 Microsof Studio.Net 56

2.9.2 Ngôn ngữ C# 60

Chương 3 62

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 62

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

3.2 Mô tả bài toán 63

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

3.3.1 Xây dựng sơ đồ luồng thông tin của chương trình quản lý hợp đồng 65

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

3.3.3 Thiết kế các thực thể 75

3.3.4 Thiết kế giao diện 89

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

 

 

doc154 trang | Chia sẻ: maiphuongdc | Ngày: 12/09/2014 | Lượt xem: 1036 | Lượt tải: 5download
Bạn đang xem nội dung tài liệu Chuyên đề 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, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
mềm khác nhau. Tiêu chuẩn duy nhất để lựa chọn một kiểu kiến trúc nào đó là không quá phức tạp nhưng vẫn đảm bảo tính năng hoạt động của phần mềm. Đây chính là quá trình cấu trúc hóa các vấn đề phi cấu trúc. 2.7 Một số khái niệm về lập trình hướng đối tượng Phương thức (method): Phương thức hay (Phương pháp) là cách thức cấu trúc các suy nghĩ và hành động của cong người. Nó cho biết chúng ta phải làm cái gì, làm như thế nào, làm khi nào và tại sao lại phải làm như vậy để hình thành hệ thống phần mềm. Đối tượng (object): Theo nghĩa thông thường thì đối tượng là một người, mội vật hay hiện tượng mà con người nhằm vào trong suy nghĩ, trong hành động; là bất cứ cái gì nhìn thấy được và sờ mó được. Trong phương pháp hướng đối tượng thì đối tượng là trừu tượng cái gì đó trong lĩnh vực vấn đề hay trong cài đặt của nó, phản ánh khả năng hệ thống lưu giữ thông tin về nó và tương tác với nó; gói các giá trị thuộc tính và các dịch vụ (các phương thức). Lớp (class): Theo nghĩa thông thường thì lớp là nhóm của một nhiều người hay vật có tính tương tự nhất định hay đặc điểm chung. Trong phương pháp hướng đối tượng thì lớp là một mô tả hay nhiều đối tượng, mô tả tập thống nhất các thuộc tính và phương thức. Nó còn mô tả cách tạo đối tượng mới trong lớp như thế nào. Theo đó mỗi một đối tượng là một instance của một lớp. Trừu tượng (abstract): Trừu tượng là nguyên lý bỏ qua những khía cạnh của chủ thể không liên quan đến mục đích hiện tại để tập trung đầy đủ hơn vào các khía cạnh còn lại. Như vậy có thể nói rằng trừu tượng là đơn giản hoá vấn đề đang xem xét. Chúng loại bỏ đi các chi tiết dư thừa mà chỉ tập trung vào các điểm chính cơ bản. Mô hình (model): Trong lĩnh vực phần mềm, mô hình là kế hoạch chi tiết của hệ thống, nó giúp ta lập kế hoạch trước khi xây dựng hệ thống. Mô hình giúp ta khẳng định tính đúng đắn của thiết kế, phù hợp yêu cầu, hệ thống vẫn giữ vững khi yêu cầu người dùng thay đổi. Phương pháp hướng đối tượng xem xét một phần của thế giới thực như các đối tượng. Máy điện thoại, con người, ô tô …. Là các đối tượng. Các đối tượng này bao gồm nhiều đối tượng khác như: ô tô có tay lái, bánh xe…, con người có tay chân, mắt mũi… Đối tượng thế giới thực có cấu trúc phức tạp làm con người khó nhận thức chúng. Trong cuộc sống hàng ngày chúng ta đơn giản hoá đối tượng khi suy nghĩ, hay nói cách khác chúng ta làm việc với mô hình. Mô hình chỉ cho phép lựa chọn một vài khía cạnh có ý nghĩa cho việc thực hiện công việc cụ thể nào đó. Chúng cho phép dự đoán, hiểu các khía cạnh của vấn đề đang quan tâm. Như vậy mô hình là bức tranh hauy mô tả của vấn đề đang được cố gắng giải quyết hay biểu diễn. Mô hình còn có thể là mô tả chính giải pháp. Trong phát triển phần mềm thay cho đối tương thực chúng ta sẽ làm việc với biểu tượng. Tiến trình phát triển phần mềm là làm giảm một số đặc trưng của đối tượng để hình thành mô hình: Làm giảm độ phức tạp bằng mô hình trừu tượng. Phương pháp luận (methodlogy): Phương pháp luận mô tả cách thức suy nghĩ về phần mềm và phát triển phần mềm. Nó bao gồm ngôn ngữ mô hình hoá, và tiến trình. Phương pháp luận khác với phương pháp. Phương pháp luận là nghiên cứu phương pháp. Phương pháp luân mô tả hình thức các phần tử mô hình, cú pháp và ngữ nghĩa của các ký pháp trong mô hình. Lĩnh vực vấn đề (domain prolem): Mục tiêu của tiếp cận hướng đối tượng là mô hình hoá các đặc tính tĩnh và động của môi trường, nơi xác định yêu cầu phần mềm. Môi trường này được gọi là lĩnh vực vấn đề. Vấn đề là câu hỏi đặt ra để giải quyết hoặc xem xét. Lĩnh vực là không gian của các hoạt động hoặc ảnh hưởng. Nó là vùng tác nghiệp hay kinh nghiệm của con người trong đó phần mềm được sử dụng. Vậy lĩnh vực vấn đề là vùng mà ta đang cố gẵng xem xét. Phân tích: Phân tích là tách, chia nhỏ tổng thể thành các phần để tìm ra đặc tính, chức năng, quan hệ… của chúng. Khái niệm phân tích trong tiếp cận hướng đối tượng là thực hiện nghiên cứu lĩnh vực vấn đề, dẫn tới đặc tả hành vi quan sát từ ngoài và các thông báo nhất quán, hoàn chỉnh, khả thi của những cái cần. Phân tích hướng đối tượng tập trung vào tìm kiếm, mô tả các đối tượng trong lĩnh vực vấn đề. 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. Thiết kế hướng đối tượng tập trung vào xác định đối tượng phần mềm logic sẽ được cài đặt bằng ngôn ngữ hướng đối tượng. Lập trình hướng đối tượng: Là thiết kế các module sẽ được cài đặt trên một ngôn ngữ lập trình hướng đối tượng như thế nào (trên java, .Net…). Mô hình hoá (modeling): Khái niệm mô hình hoá thường được sử dụng đồng nghĩa với phân tích. Đó là việc thực hiện tách hệ thống thành các phần tử đơn giản dễ hiểu. Trong khoa học máy tính, mô hình hoá bắt đầu từ mô tả vấn đề sau đó là mô tả giải pháp vấn đề. Các hoạt động này còn được gọi là phân tích và thiết kế. 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). Tiếp theo là khả năng sinh mã trình từ các yêu cầu này, đồng thời đảm bảo rằng yêu cầu phải được phù hợp với mã trình vừa phát sinh và dễ dàng chuyển đổi mã trình ngược lại thành yêu cầu. Tiến trình này gọi là mô hình hoá. Mô hình hoá trực quan: Là tiến trình lấy thông tin từ mô hình và hiển thị đồ hoạ bằng tập các phần tử đổ hoạ chuẩn. Tiêu chuẩn là cốt lõi để thực hiện một trong các lợi thế của mô hình trực quan, đó là vấn đề giao tiếp. Giao tiếp giữa người dùng, người phát triển, phân tích viên, kiểm thử viên, người quản lý và người khác tham gia dự án là mục tiêu quan trọng nhất của mô hình hoá trực quan. Tương tác này có thể được thực hiện bằng văn bản nhưng con người có khả năng hiểu tốt hơn độ phức tạp trên đồ hoạ thay cho văn bản. 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. Sau khi tạo ra mô hình ta có thể chỉ ra từng phần quan tâm. Các nhà tin học đã rất cố gắng để hình thành một số ký pháp mô hình hoá trực quan. Nói chung việc sử dụng các ký pháp là để xây dựng mô hình, để hiểu sâu sắc hơn về mô hình đang xây dựng. Chúng ta sử dụng mô hình cho các hệ thống phức tạp vì ta không thể hiểu nó như tổng thể. Nhờ mô hình hóa ta sẽ đạt được các mục tiêu sau + Mô hình giúp ta hiển thị hệ thống như chính nó hay như cách mà ta muốn nó hiển thị. + Mô hình cho phép ta đặc tả cấu trúc hay hành vi hệ thống. + Mô hình cho ta mẫu để hướng dẫn trong việc xây dựng hệ thống. + Mô hình giúp ta làm tài liệu cho các quyết định khi phân tích thiết kế hệ thống. 2.8 Giới thiệu về cơ sở dữ liệu Microsoft SQL-Server 2005 SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server 2000 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server.... SQL Server có 7 editions: Enterprise : Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến 32 CPUs và 64 GB RAM. Thêm vào đó nó có các dịch vụ giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services) Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM. Personal: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các phiên bản windows kể cả Windows 98. Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc.... Ðây là edition mà các bạn muốn học SQL Server cần có. Chúng ta sẽ dùng edition này trong suốt khóa học. Edition này có thể cài trên Windows 2000 Professional hay Win NT Workstation. Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktop và không có user interface (giao diện). Thích hợp cho việc triển khai ứng dụng ở máy client. Kích thước database bị giới hạn khoảng 2 GB. Win CE : Dùng cho các ứng dụng chạy trên Windows CE Trial: Có các tính năng của Enterprise Edition, download free, nhưng giới hạn thời gian sử dụng. Người dùng tương tác với cơ sở dữ liệu SQL-Server thông qua ngôn ngữ truy vấn có cấu trúc Transact Struct Query Language (T-SQL). T-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International Organization for Standardization) và ANSI (American National Standards Institute) được sử dụng trong SQL-Server. Chúng được chia thành 3 nhóm: + Data Definition Language (DLL): Đây là những lệnh dùng để quản lý các thuộc tính của một database như định nghĩa các hàng hoặc cột của một bảng biểu, hay vị trí file dữ liệu của một cơ sở dữ liệu… thường có dạng: CREATE TenDoiTuong ALTER TenDoiTuong DROP TenDoiTuong Trong đó TenDoiTuong có thể là một table, view, stored procedure, indexes… + Data Control Language (DCL): Đây là những lệnh quản lý quyền truy cập lên từng đối tượng. Thường có dạng: GRANT TenDoiTuong REVOKE TenDoiTuong DENY TenDoiTuong + Data Manipulation Language (DML): Đây là những lệnh phổ biến dùng để xử lý dữ liệu như SELECT, INSERT, UPDATE, DELETE. 2.9 Giới thiệu về Microsof Studio.Net và ngôn ngữ lập trình Visual C# 2005 2.9.1 Microsof Studio.Net Microsoft .NET gồm 2 phần chính : Framework và Integrated Development Environment (IDE). Framework cung cấp những gì cần thiết và căn bản, chữ Framework có nghĩa là khung hay khung cảnh trong đó ta dùng những hạ tầng cơ sở theo một qui ước nhất định để công việc được trôi chảy. IDE thì cung cấp một môi trường giúp chúng ta triển khai dễ dàng, và nhanh chóng các ứng dụng dựa trên nền tảng .NET. Nếu không có IDE chúng ta cũng có thể dùng một trình soạn thảo ví như Notepad hay bất cứ trình soạn thảo văn bản nào và sử dụng command line để biên dịch và thực thi, tuy nhiên việc này mất nhiều thời gian. Tốt nhất là chúng ta dùng IDE phát triển các ứng dụng, và cũng là cách dễ sử dụng nhất. Thành phần Framework là quan trọng nhất .NET là cốt lõi và tinh hoa của môi trường, còn IDE chỉ là công cụ để phát triển dựa trên nền tảng đó thôi. Trong .NET toàn bộ các ngôn ngữ C#, Visual C++ hay Visual Basic.NET đều dùng cùng một IDE. Tóm lại Microsoft .NET là nền tảng cho việc xây dựng và thực thi các ứng dụng phân tán thế hệ kế tiếp. Bao gồm các ứng dụng từ client đến server và các dịch vụ khác. Một số tính năng của Microsoft .NET cho phép những nhà phát triển sử dụng như sau: + Một mô hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch vụ web và ứng dụng client với Extensible Markup Language (XML). + Tập hợp dịch vụ XML Web, như Microsoft .NET My Services cho phép nhà phát triển đơn giản và tích hợp người dùng kinh nghiệm. + Cung cấp các server phục vụ bao gồm: Windows 2000, SQL Server, và BizTalk Server, tất cả điều tích hợp, hoạt động, và quản lý các dịch vụ XML Web và các ứng dụng. + Các phần mềm client như Windows XP và Windows CE giúp người phát triển phân phối sâu và thuyết phục người dùng kinh nghiệm thông qua các dòng thiết bị. + Nhiều công cụ hỗ trợ như Visual Studio .NET, để phát triển các dịch vụ Web XML, ứng dụng trên nền Windows hay nền web một cách dể dàng và hiệu quả. .NET Framework có hai thành phần chính: Common Language Runtime (CLR) và thư viện lớp .NET Framework. CLR là nền tảng của .NET Framework. Chúng ta có thể hiểu runtime như là một agent quản lý mã nguồn khi nó được thực thi, cung cấp các dịch vụ cốt lõi như: quản lý bộ nhớ, quản lý tiểu trình, và quản lý từ xa. Ngoài ra nó còn thúc đẩy việc sử dụng kiểu an toàn và các hình thức khác của việc chính xác mã nguồn, đảm bảo cho việc thực hiện được bảo mật và mạnh mẽ. Thật vậy, khái niệm quản lý mã nguồn là nguyên lý nền tảng của runtime. Mã nguồn mà đích tới runtime thì được biết như là mã nguồn được quản lý (managed code). Trong khi đó mã nguồn mà không có đích tới runtime thì được biết như mã nguồn không được quản lý (unmanaged code). Thư viện lớp, một thành phần chính khác của .NET Framework là một tập hợp hướng đối tượng của các kiểu dữ liệu được dùng lại, nó cho phép chúng ta có thể phát triển những ứng dụng từ những ứng dụng truyền thống command-line hay những ứng dụng có giao diện đồ họa (GUI) đến những ứng dụng mới nhất được cung cấp bởi ASP.NET, như là Web Form và dịch vụ XML Web. Như đã đề cập thì CLR thực hiện quản lý bộ nhớ, quản lý thực thi tiểu trình, thực thi mã nguồn, xác nhận mã nguồn an toàn, biên bịch và các dịch vụ hệ thống khác. Những đặc tính trên là nền tảng cơ bản cho những mã nguồn được quản lý chạy trên CLR. Do chú trọng đến bảo mật, những thành phần được quản lý được cấp những mức độ quyền hạn khác nhau, phụ thuộc vào nhiều yếu tố nguyên thủy của chúng như: liên quan đến Internet, hệ thống mạng trong nhà máy, hay một máy tính cục bộ. Điều này có nghĩa rằng, một thành phần được quản lý có thể có hay không có quyền thực hiện một thao tác truy cập tập tin, thao tác truy cập registry, hay các chức năng nhạy cảm khác. CLR thúc đẩy việc mã nguồn thực hiện việc truy cập được bảo mật. Ví dụ, người sử dụng giới hạn rằng việc thực thi nhúng vào trong một trang web có thể chạy được hoạt hình trên màn hình hay hát một bản nhạc, nhưng không thể truy cập được dữ liệu riêng tư, tập tin hệ thống, hay truy cập mạng. Do đó, đặc tính bảo mật của CLR cho phép những phần mềm đóng gói trên Inernet có nhiều đặc tính mà không ảnh hưởng đến việc bảo mật hệ thống. CLR còn thúc đẩy cho mã nguồn được thực thi mạnh mẽ hơn bằng việc thực thi mã nguồn chính xác và sự xác nhận mã nguồn. Nền tảng của việc thực hiện này là Common Type System (CTS). CTS đảm bảo rằng những mã nguồn được quản lý thì được tự mô tả (selfdescribing). Sự khác nhau giữa Microsoft và các trình biên dịch ngôn ngữ của hãng thứ ba là việc tạo ra các mã nguồn được quản lý có thể thích hợp với CTS. Điều này thì mã nguồn được quản lý có thể sử dụng những kiểu được quản lý khác và những thể hiện, trong khi thúc đẩy nghiêm ngặt việc sử dụng kiểu dữ liệu chính xác và an toàn. Thêm vào đó, môi trường được quản lý của runtime sẽ thực hiện việc tự động xử lý layout của đối tượng và quản lý những tham chiếu đến đối tượng, giải phóng chúng khi chúng không còn được sử dụng nữa. Việc quản lý bộ nhớ tự động này còn giải quyết hai lỗi chung của ứng dụng: thiếu bộ nhớ và tham chiếu bộ nhớ không hợp lệ. Trong khi runtime được thiết kế cho những phần mềm của tương lai, nó cũng hỗ trợ cho phân mềm ngày nay và trước đây. Khả năng hoạt động qua lại giữa mã nguồn được quản lý và mã nguồn không được quản lý cho phép người phát triển tiếp tục sử dụng những thành phần cần thiết của COM và DLL. Rutime được thiết kế để cải tiến hiệu suất thực hiện. Mặc dù CLR cung cấp nhiều các tiêu chuẩn dịch vụ runtime, nhưng mã nguồn được quản lý không bao giờ được dịch. Có một đặc tính gọi là Just-in-Time (JIT) biên dịch tất cả những mã nguồn được quản lý vào trong ngôn ngữ máy của hệ thống vào lúc mà nó được thực thi. Khi đó, trình quản lý bộ nhớ xóa bỏ những phân mảnh bộ nhớ nếu có thể được và gia tăng tham chiếu bộ nhớ cục bộ, và kết quả gia tăng hiệu quả thực thi. 2.9.2 Ngôn ngữ C# Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu được xây dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng. Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại. Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java. Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Cả hai người này điều là những người nổi tiếng, trong đó Anders Hejlsberg được biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến. Và ông đứng đầu nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây dựng môi trường phát triển tích hợp (IDE) cho lập trình client/server. Phần cốt lõi hay còn gọi là trái tim của bất cứ ngôn ngữ lập trình hướng đối tượng là sự hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp. Những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộng ngôn ngữ để tạo mô hình tốt hơn để giải quyết vấn đề. Ngôn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thực thi đóng gói, kế thừa, và đa hình, ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình hướng đối tượng. Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìm thấy trong phần khai báo của nó. Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++. Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cho lớp. C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp cho những dịch vụ mà giao diện quy định. 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. Khi một lớp thực thi một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện. Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái niệm về ngữ nghĩa của nó thay đổi khác với C++. Trong C#, một cấu trúc được giới hạn, là kiểu dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ so với một lớp. Một cấu trúc thì không thể kế thừa từ một lớp hay được kế thừa nhưng một cấu trúc có thể thực thi một giao diện. Ngôn ngữ C# cung cấp những đặc tính hướng thành phần (component-oriented), như là những thuộc tính, những sự kiện. Lập trình hướng thành phần được hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho một lớp. Metadata mô tả cho một lớp, bao gồm những phương thức và những thuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tính khác. Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của 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ó. Một lưu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc [] trong toán tử. Các mã nguồn này là không an toàn (unsafe). Và bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối tượng được tham chiếu bằng sử dụng con trỏ cho đến khi chúng được giải phóng. Chương 3 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 Để 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. Chúng ta sẽ có các công việc sau: 3.1 Phân tích yêu cầu của chương trình Công ty BRAVO là một công ty phần mềm chuyên nghiệp, công ty chuyên sản xuất và bán các phần mềm kế toán BRAVO theo các phiên bản của nó. Khách hàng của công ty là các doanh nghiệp trong và ngoài nước. Quy trình thực hiện hợp đồng của Công ty cổ phần phần mềm kế toán BRAVO. Phòng kinh doanh có chức năng tìm kiếm thị trường, tiếp cận với khách hàng để nhận các yêu cầu từ phía khách hàng. Phân tích các yêu cầu đó. Nếu các yêu cầu này được chấp nhận thì sẽ đi đến ký kết hợp đồng cung cấp phần mền kế toán BRAVO theo phiên bản được thỏa thuận giữa hai bên. Sau khi hợp đồng được ký kết thì sẽ lập một kế hoạch thực hiện hợp đồng đó và giao cho phòng triển khai thực hiện. Phòng triển khai tiếp nhận kế hoạch thực hiện rồi thực hiện theo kế hoạch được giao. Sau khi thực hiện theo kế hoạch, kết quả được trưởng phòng triển khai xét duyệt thì sẽ được đem chuyển giao cho khách hàng và kết thúc hợp đồng. Sau đó sẽ tổng hợp các kêt quả thực hiện được rồi báo cáo lên Ban giám đốc. Chương trình phải cho phép khai báo các danh mục như danh mục phòng ban, danh mục chức vụ trong công ty, danh mục công việc cần triển khai theo quy trình sản xuất phần mềm chuyên nghiệp, danh mục khách hàng… 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 cho phép chia quy trình thực hiện các hợp đồng thành các giai đoạn cụ thể theo quy trình sản xuất phần mềm: + Quy trình khảo sát và phân tích các yêu cầu của khách hàng. + Quy trình thiết kế sản phẩm. + Quy trình lập trình (mã hóa). + Quy trình kiểm thử (test). + Quy trình triển khai. 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?... Việc theo dõi các công việc như thanh toán, thanh lý hợp đồng cũng được quản lý trong chương trình. 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. 3.2 Mô tả bài toán Trên thực tế công việc quản lý và theo dõi việc thực hiện hợp đồng là một công việc hết sức cần thiết, đây là công việc nó gắn liền với sự phát triển của bất kỳ một doanh nghiệp nào trong quá trình hội nhập hiện nay, khi mà số lượn hợp đồng trong công ty là rất lớn. Công ty cổ phần phần mềm kế toán BRAVO đã triển khai một chương trình quản lý khách hàng trong đó có theo dõi việc thực hiện hợp đồng bán phần mềm của công ty đối với khách hà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. Chương trình sẽ có các chức năng chính sau: Cập nhật danh mục: + Danh mục nhân viên + Danh mục phòng ban + Danh mục chức vụ + Danh mục công việc cần thực hiện + Danh mục khách hàng Lập và theo dõi các hợp đồng + Lập các hợp đồng + Theo dõi tình trạng hợp đồng: Hợp đồng đang được thực hiện ở quy trình nào?. + Theo dõi việc triển khai hợp đồng: Việc phân chia công việc thực hiện cho các nhân viên của công ty theo chức năng tương ứng của nhân viên. + Theo dõi việc thanh toán hợp đồng theo các điều khoản được ghi trên hợp đồng. + Theo dõi việc thanh lý và hủy bỏ hợp đồng. Nhận và triển khai các hợp đồng phải bảo hành Đưa ra được các báo cáo thống kê + Danh sách các danh mục + Danh sách các hợp đồng + In được chi tiết một hợp đồng nào đó + Báo cáo tình hình thực hiện việc triển khai hợp đồng theo nhân viên… Tìm kiếm + Chương trình có được chức năng tìm kiếm theo các tiêu chí mà người sử dụng đã chọn. Phân quyền + 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. Ngoài ra chương trình còn có một số chức năng tiện ích khác. 3.3 Thiết kế chương trình Sau khi tiếp nhận yêu cầu của bài toán chúng ta sẽ tiến hành thiết kế chương trình theo các quy trình phát triển một phần mềm chuyên nghiệp mà đã trình bày ở chương 2. 3.3.1 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 quy trình thực hiện một hợp đồng được thể hiện qua các sơ đồ luồng thông tin sau: Sơ đồ luông thông tin ký kết, lập và thực hiện hợp đồng Hình 3.1 Sơ đồ luồng thông tin lập hợp đồng Sơ đồ luồng thông tin theo dõi việc bảo hành phần mềm Hình 3.2 Sơ đồ luồng thông tin theo dõi việc bảo hành phần mề

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

  • doc32152.doc