Giới thiệu về ngôn ngữ lập trình Visual Basic và hệ quản trị cơ sở dữ liệu Microsoft Access ...38 Chơng III: Phân tích và thiết kế phần mềm quản lý hợp đồng tại Công ty cổ phần xây dựng
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
KHOA TIN HỌC KINH TẾ
Trang 2mục lục
Trang
Lời mở đầu .1
Chơng I: Giới thiệu tổng quan về Công ty cổ phần xây dựng số 1 Hà Nội 5
1.1 Giới thiệu về công ty cổ phần xây dựng số 1 Hà Nội .5
1.1.1 Quá trình hình thành và phát triển của doanh nghiệp .5
1.1.2 Lĩnh vực hoạt động và các mục tiêu của công ty .6
1.1.3 Đặc điểm về hoạt động của công ty .7
1.1.4 Giới thiệu chung về Xí nghiệp 115 .12
1.2 Tình hình ứng dụng tin học của công ty .12
1.2.1 Thực trạng ứng dụng tin học trong Công ty cổ phần xây dựng số 1 Hà Nội .12
1.2.2 Chiến lợc phát triển hệ thống thông tin của Công ty cổ phần xây dựng số 1 Hà Nội .15
1.3 Giới thiệu đề tài .16
Chơng II: Phơng pháp luận về xây dựng phần mềm ứng dụng .18
2.1 Phần mềm .18
2.1.1 Khái niệm phần mềm .18
2.1.2 Các giai đoạn phát triển của phần mềm .18
2.1.3 Các đặc trng của phần mềm .19
2.1.4 Phân loại phần mềm .19
2.2 Công nghệ phần mềm .22
2.2.1 Khái niệm công nghệ phần mềm .22
2.2.5 Mô hình thác nớc .28
2.2.6 Mô hình lặp và tăng dần .31
2.3 Tổng quan về ngôn ngữ lập trình .33
2.3.1.Ngôn ngữ lập trình .33
2.3.2 Các thế hệ ngôn ngữ lập trình .35
2.3.4 Giới thiệu về ngôn ngữ lập trình Visual Basic và hệ quản trị cơ sở dữ liệu Microsoft Access .38
Chơng III: Phân tích và thiết kế phần mềm quản lý hợp đồng tại Công ty cổ phần xây dựng số 1 Hà Nội 40
3.1 Khảo sát hệ thống .40
Trang 33.1.1 Mô tả bài toán .40
3.1.2 Các nghiệp vụ quản lý hợp đồng .41
3.2 Yêu cầu của đề tài .42
3.2.1 Yêu cầu của nghiệp vụ .42
3.2.2 Yêu cầu phi nghiệp vụ .42
3.3 Phân tích và thiết kế phần mềm .42
3.3.1 Sơ đồ luồng thông tin của chơng trình quản lý .42
3.3.2 Sơ đồ luồng dữ liệu DFD .47
3.3.3 Thiết kế các thực thể .55
3.3.4 Thiết kế giao diện .67
3.3.5 Thiết kế chơng trình .67
Kết luận 80
Danh mục tài liệu tham khảo .93
Trang 4Lời mở đầu
Tin học ngày càng đóng vai trò quan trọng trong xã hội, nó trợ giúp chocon người làm việc với độ chính xác cao, tổ chức quản lý công việc hiệu quả,thông tin được phổ biến và cập nhật nhanh chóng, chính xác Do đó, việc ứngdụng tin học vào trong lĩnh vực quản lý là điều rất cần thiết
Việt Nam vừa gia nhập WTO để hội nhập cùng với nền kinh tế toàncầu yêu cầu các doanh nghiệp phải tự đổi mới Đổi mới trong quản lý là yêucầu cấp bách quyết định đến sự thành công hay thất bại của doanh nghiệp Đểlàm được điều này các doanh nghiệp phải áp dụng tin học vào trong quản lý
Nú giỳp cho các doanh nghiệp nâng cao được chất lượng quản lý và hiệu quảcủa doanh nghiệp, đáp ứng yêu cầu cạnh tranh và phát triển Trong xu thế đó,việc ứng dụng tin học vào hoạt động quản lý hợp đồng sẽ nâng cao hiệu quảcủa hoạt động công ty, giảm khối lượng tính toán cho các nhân viên, thông tinđược xử lý nhanh hơn
Với lý do trên trong thời gian thực tập tại Công ty cổ phần xây dựng số
1 Hà Nội Em đã chọn đề tài “ Xây dựng phần mềm quản lý hợp đồng tại
Công ty cổ phần xây dựng số 1 Hà Nội ”.
Nội dung của chuyên đề thực tập:
Chương I: Tổng quan về Công ty cổ phần xây dựng số 1 Hà Nội
Chương II: Phương pháp luận về xây dựng phần mềm ứng dụng
Chương III: Phân tích và thiết kế phần mềm quản lý hợp đồng tại Công ty cổphần xây dựng số 1 Hà Nội
Trang 5Chương I: Giới thiệu tổng quan về Công ty cổ phần xây dựng số 1 Hà Nội 1.1 Giới thiệu về công ty cổ phần xây dựng số 1 Hà Nội
1.1.1 Quá trình hình thành và phát triển của doanh nghiệp
Tên công ty : Công ty cổ phần xây dựng số 1 Hà Nội
Tên giao dịch tiếng anh : Hanoi Contruction Join Stock Company No1
Tên viết tắt: HACC1
Địa chỉ trụ sở chính : 59 Quang Trung, Hai Bà Trưng, Hà Nội
Điện thoại : 04.9.426966
Fax : 04.9.425956
Công ty cổ phần xây dựng số 1 Hà Nội là doanh nghiệp hạng 1 thuộc tổngcông ty xây dựng Hà Nội – tiền thân là Công ty Kiến trúc Hà nội được thànhlập ngày 05/08/1958 theo quyết định số 117/QĐ-BKT của Bộ Kiến trúc.Năm 1960 được Bộ xây dựng đổi tên thành Công ty Xây dựng số 1 và năm
1984 Tổng công ty Xay dựng Hà Nội được thành lập, Công ty xây dựng số 1
Hà Nội trở thành đơn vị thành viên của Tổng công ty Xây dựng Hà Nội vàđược thành lập theo quyết định số 141A/BXD-TCLĐ ngày 16/3/1993 của Bộtrưởng Bộ xây dựng
Năm 2005, căn cứ vào đặc điểm và tình hình thực tế của Công ty, Công tyxây dựng số 1 lùa chọn hình thức cổ phần hóa theo mục 2 điều 3 Nghị định số187/2004/NĐ-CP ngày 16 tháng 11 năm 2004 về việc chuyển công ty nhànước thành công ty cổ phần Công ty Xây dựng số 1 được chuyển đổi thànhCông ty cổ phần xây dựng số 1 Hà Nội theo quyết định số 1820/QĐ-BXDngày 09/12/2005
Trải qua 50 năm xây dựng và phát triển, Công ty cổ phần xây dựng số 1
Hà Nội luôn hoàn thành vượt mức các chỉ tiêu kinh tê – xã hội được giao Đãvinh dự được Đảng và Nhà nước tặng thưởng cao quý Các phần thưởng đólà:
Trang 6- Huân chương Lao động hạng Ba (ngày 21 tháng 08 năm 1978).
- Huân chương Lao động hạng Nhì ( ngày 04 tháng 09 năm 1982)
- Huân chương Lao động hạng Nhất (ngày 16 tháng 11 năm 1985)
- Huân chương Độc lập hạng Ba (ngày 27 tháng 11 năm 1998)
- Huân chương Độc lập hạng Nhì (ngày 24 tháng 02 năm 2004)
- Cờ thi đua của Chính phủ (ngày 05 tháng 01 năm 2004)
- Và các bằng khen của các Sở, Ban, Ngành, Bộ Xây dựng…
1.1.2 Lĩnh vực hoạt động và các mục tiêu của công ty
a Các lĩnh vực hoạt động của công ty
- Xây dựng các công trình cụng nghiờp, dân dụng, giao thông (cầu, đường,sân bay, bến cảng), thuỷ lợi, bưu điện, các công trình kỹ thuật hạ tầng đô thị
và khu công nghiệp, đường dây, trạm biến áp
- Đầu tư kinh doanh phát triển nhà, thương mại du lịch (lữ hành nội địa,quốc tế)
- Sản xuất, kinh doanh vật tư, vật liệu xây dựng (gạch, ngãi, cấu kiện bêtông, cấu kiện và phụ kiện kim loại, đồ mộc, thộp)
- Đầu tư xây dựng và kinh doanh hạ tầng các khu đô thị, khu công nghiệp
- Đầu tư kinh doan bất động sản, nhà hàng, nhà nghỉ, khách sạn (không baogồm kinh doanh quán ba, phũng hỏt karaoke, vũ trường)
- Đầu tư xây dựng, kinh doanh và chuyển giao (BOT) các dự án giao thông,thuỷ điện
- Xây dựng và lắp đặt hệ thống phòng cháy chữa cháy, các công trình cấpthoát nước và trạm bơm
- Lắp đặt và sửa chữa các thiết bị cơ điện nước công trình, thiết bị dân dụng,công nghiệp, điện máy, điện lạnh và gia nhiệt
Trang 7- Kinh doanh xuất nhập khẩu máy móc, thiết bị, các loạ vật tư, xăng dầu, vậtliệu xây dựng.
b Mục tiêu của công ty.
Công ty được thành lập để huy động và sử dụng vốn có hiệu quả trongviệc xây dựng các công trình công nghiệp, dân dụng, giao thụng…và cỏcngành nghề kinh doanh đã đăng ký nhằm mục tiêu thu lợi nhuận tối đa, tạoviệc làm ổn định cho người lao động, tăng cổ tức cho các cổ đông, đóng gópcho ngân sách nhà nước và phát triển công ty
1.1.3 Đặc điểm về hoạt động của công ty
a Các đơn vị thành viên của công ty
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng 101
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng 102
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng 103
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng 105
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng 106
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng 108
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng 109
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng 115
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng số 1
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng sè
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây lắp và mécnội thất
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp lắp máy điệnnước và xây dựng
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xe máy gia công
cơ khí và xây dựng
Trang 8- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây lắp và sảnxuất vật liệu xây dựng.
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội - Xí nghiệp xây dựng và pháttriển hạ tầng
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội Số 116
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội tại miền nam
- Chi nhánh Công ty CP xây dựng số 1 Hà Nội Số 118
- Ban chủ nhiệm Công trình 104
- Ban chủ nhiệm Công trình Ba Đình
- Ban quản lý dự án phát triển nhà
- Đội xây dựng số 110
Trang 9PHã TæNG GI¸M §èC PHã TæNG GI¸M §èC PHã TæNG GI¸M §èC
HµNH CHÝNH - QU¶N TRÞ KINH TÕ - KÕ TO¸N Kü THUËT - KÕ HO¹CH §ÇU T¦
bAN
AN TOµN B¶O HIÓM LAO §éNG
Trang 10- Đại hội đồng cổ đông: Là cơ quan quyết định cao nhất của công ty:thảo luận và thông qua Điều lệ, bầu Hội đồng quản trị và Ban kiểm soát,thông qua phương án sản xuất kinh doanh, quyết định cơ cấu bộ máy tổ chứcsản xuất của công ty.
- Hội đồng quản trị: Là cơ quan quản lý Công ty, quyết định mọi vấn đềliên quan đến mục đích, quyền lợi của Công ty, trừ những vấn đề thuộc themquyền của Đại hội đồng cổ đông
- Ban kiểm soát: Là người thay mặt cổ đông để kiểm soát mọi hoạt độngkinh doanh của công ty
- Tổng giám đốc: Là người đại diện theo pháp luật của công ty, người đạidiện sở hữu phần vốn của nhà nước tại Công ty, là người có quyền quyết địnhcao nhất về điều hành hoạt động của công ty và chịu trách nhiệm trước Hộiđồng quản trị vè việc thực hiện các quyền và nhiệm vụ được giao
- Phó tổng giám đốc hành chính quản trị: Điều hành hoạt động hànhchính, quản trị, chịu trách nhiệm quản lý và chỉ đạo tổ chức lao động
- Phó tổng giám đốc kinh tế kế toán: Điều hành hoạt động tài chớnh-kếtoỏn, chịu trách nhiệm quản lý và chỉ đạo phòng tài vụ
- Phó tổng giám đốc kỹ thuật-kế hoạch đầu tư-kinh tế thị trường: Chịutrách nhiệm về mặt kỹ thuật của công ty, công tác kinh doanh, công tác thịtrường, an toàn lao động và bảo hiểm cho người lao động
- Phòng tổ chức lao động hành chính: Nghiên cứu đề xuất các phương
án, mô hình tổ chức phù hợp với yêu cầu từng giai đoạn phát triển sản xuất;
có trách nhiệm quản lý và giải quyết các chế độ chính sách đối với cán bộcông nhân viên, đề xuất tiếp nhận, phân công bố trí công tác và bổ nhiệm cán
bộ, đào tạo và bồi dưỡng nâng bậc lương, khen thưởng, kỷ luật, giải quyết cáckhiếu nại báo cáo, thuyên chuyển công tác, thôi việc, hưu trớ…; hướng dẫncác đơn vị thực hiện công tác quản lý lao động; có trách nhiệm kiểm tra định
Trang 11kỳ, thường xuyên và đột xuất trên tất cả các công trình đơn vị đang thi công
để kịp thời chấn chỉnh và xử lý sai phạm về quản lý và sử dụng lao động
- Phòng kế toán tài chính: Theo dõi tình hình công nợ, vốn, tài sản củacông ty dưới hình thức giá trị Đồng thời hạch toán chi phí, xác định kết quảhoạt động kinh doanh để báo cáo với ban lãnh đạo và hội đồng quản trị, phổbiến kịp thời các văn bản hướng dẫn của Nhà nước về công tác quản lý tàichính, tổ chức hạch toán, chính sách chế độ mới có liên quan đến quản lý tàichính, tham mưu cho ban giám đốc xây dựng các quy chế quản lý tài chínhcủa công ty Tập trung xây dựng và chỉ đạo các quy chế về huy động cácnguồn vốn để phục vụ sản xuất kinh doanh của công ty
- Phòng kỹ thuật: Chịu trách nhiệm về kỹ thuật, chất lượng, tiến độ trongtất cả các công trình do đơn vị thi công, chịu sự kiểm tra của cấp trên quản lý(trừ cỏc cụng trình do công ty làm chủ đầu tư) Nghiên cứu và đưa ra biệnpháp thi công, tiến độ công trình để cấp trên duyệt Nghiên cứu công nghệmới xây dựng công trình sau đó chuyển giao xuống cho các đơn vị trực thuộccông ty
- Phòng kế hoạch đầu tư: Lập kế hoạch sản xuất kinh doanh và đầu tưxây dựng cơ bản năm, hàng quý, hàng tháng, bào cáo giám sát thực hiện côngtác đầu tư để báo cáo Lãnh đạo công ty, Tổng công ty và Cục thống kê thànhphố Hà Nội Giao kế hoạch hàng năm cho các đơn vị trực thuộc, theo dõi đônđốc quá trình thực hiện Căn cứ vào báo cáo thực hiện hàng tháng, hàng quýcủa đơn vị trực thuộc mà xem xét điều chỉnh kế hoạch đã giao cho phù hợpvới tình hình sản xuất thực tế Hướng dẫn công tác kế hoạch cho các đơn vịtrực thuộc
- Phòng kinh tế thị trường: Kiểm tra đối chiếu thông tin và cấp hồ sơđăng ký dự thầu cho các đơn vị trực thuộc phục vụ công tác tiếp thị, đấu thầu
Trang 12Quản lý, theo dừi cỏc hồ sơ đăng ký dự thầu Hàng thỏng lập bỏo cỏo và thụngbỏo sự trựng lặp gửi cho Tổng giỏm đốc để gửi cho Tổng cụng ty.
- Ban an toàn bảo hiểm lao động: Là ban chuyờn mụn cú chức năng thammưu, giỳp việc cho Hội đồng quản trị và Tổng giỏm đốc chỉ đạo và triển khaithực hiện cụng tỏc an toàn-bảo hiểm lao động của cụng ty
1.1.4 Giới thiệu chung về Xớ nghiệp 115
Xớ nghiệp là một đơn vị trực thuộc Cụng ty cổ phần xõy dựng số 1 Hà Nội
Sơ đồ tổ chức của xớ nghiệp
Giám đốc
phòng kế toán
tài chính
phòng tổ chức lao động tài chính
Phòng kế hoạch
đầu t
phòng tổ chức lao động
ban chủ nhiệm công trình
Hỡnh 1.2 Sơ đồ tổ chức của xớ nghiệp
Cỏc phũng ban của xớ nghiệp đều cú chức năng giống như cỏc phũngban của cụng ty Cũn ban chủ nhiệm cụng trỡnh cú chức năng quản lý cỏccụng trỡnh do xớ nghiệp đang xõy dựng, thuyờn chuyển cỏn bộ, cụng nhõngiữa cỏc cụng trỡnh sao cho hợp lý nhất
Trang 131.2 Tình hình ứng dụng tin học của công ty
1.2.1 Thực trạng ứng dụng tin học trong Công ty cổ phần xây dựng số 1
Hà Nội
Trong tình hình công nghệ thông tin phát triển như vũ, được đưa vàoứng dụng rộng rãi trong các doanh nghiệp như hiện nay, Công ty cổ phần xâydựng số 1 Hà Nội còng bước đầu thay đổi cách quản lý từ quản lý thủ côngsang quản lý tự động Nhờ có sự áp dụng công nghệ vào quản lý làm giảmnhững thao tác thừa, không chính xác trong quá trình quản lý, giảm chi phí,nâng cao năng suất lao động, đưa ra các thông tin chính xác kịp thời Hiệnnay, một số phòng ban được trang bị mỏy tớnh, máy in, mạng, phần mềm…Tuy nhiên, các thiết bị vẫn chưa được sử dụng đúng mục đích, chưa khai thácđược hết khả năng của nó Do kinh phí còn hạn hẹp hiện nay công ty mới chỉtrang bị công nghệ hiện đại cho một số phòng ban, còn hầu hết vẫn thực hiệnthủ công là chính Cụ thể tình hình ứng dụng tin học ở công ty như sau:
- Phòng giám đốc: Đã trang bị máy tính, mạng nhưng chủ yếu vẫn dựa trờnquản lý thủ công là chính Mọi văn bản đều do thư ký chuẩn bị rồi đưa lên ký,phê duyệt Máy tính vẫn chưa phục vụ nhiều cho công tác quản lý và ra quyếtđịnh
- Phòng phó giám đốc: Cũng được trang thiết bị máy tính thuận tiện hơntrong quá trình quản lý và nghiên cứu các thông tin về thị trường, tình hìnhcủa công ty, các nhà đầu tư và các đối thủ cạnh tranh trong cỏc cụng trìnhthầu Và quản lý và ra quyết định chủ yếu là thủ công Các văn bản và cácquyết định đều do các cấp dưới chuẩn bị đưa lên phê duyệt và ký
- Phòng tổ chức lao động hành chính: đã được trang thiết bị máy tính, máy
in kết nối mạng internet để thuận tiện cho việc nghiên cứu mô hình tổ chức
Trang 14lao động phù hợp, đăng ký tuyển dụng trên mạng Nhưng các cán bộ trongphòng vẫn không sử dụng đúng mục đích thường lang thang trên mạng.
- Phòng kế toán – tài chính: là phòng thao tác các nghiệp vụ kế toán haycông tác quản lý đều được thực hiện trên máy tính Phòng cũng được nốimạng internet và mạng cục bộ trong phòng để tiện cho việc hạch toán và quản
lý Phần mềm sử dụng là MS Excel và được trang bị phần mềm kế toánchuyên dụng FastAccouting
- Phòng kỹ thuật: vẫn quản lý thủ công mặc dù đó cú sự trợ giúp của máytính Mọi thông tin lưu trữ dưới dạng các văn bản giấy tờ Máy tính chỉ phục
vụ quản lý tức thời mà không có ý nghĩa lâu dài Muốn lưu giữ thông tin haytrình giám đốc phê duyệt thì tất cả mọi thông tin đều phải in ra giấy
- Phòng kế hoạch đầu tư: được trang bị thiết bị máy tính, máy in nối mạnginternet để thuận tiện đưa ra kế hoạch, cập nhật thông tin một cách nhanhchóng Phũng cú sử dụng phần mềm chuyên việt: phần mềm dự toán 97/2003
- Phòng kinh tế thị trường: đã được trang bị máy tính, máy in nối mạnginternet để thuận tiện cho nghiên cứu và tìm kiếm thị trường để nhanh chóngđưa ra chiến lược đấu thầu các công trình đem lại doanh thu cao nhất và tróngthầu các công trình
- Ban an toàn bảo hiểm lao động: quản lý thủ công là chủ yếu, máy in máytính chủ yếu để soạn văn bản Thông tin được lưu trữ một cách thủ công trêngiấy
Các máy tính của công ty chưa được nối với nhau một cách đồng bộ mànằm riêng lẻ giữa các phòng, mỗi phòng cũng chưa được nối với nhau thànhmạng cục bộ nên việc chia sẻ thông tin và quản lý các nguồn lực của toàncông ty bị hạn chế và khó khăn hơn Công ty chưa được trang bị phần mềmquản lý toàn doanh nghiệp Phòng nào cần thông tin của phũng khỏc khôngthể tìm kiếm thông tin ngay trên máy tính của phong mà phải làm văn bản yêu
Trang 15cầu và đợi các văn bản của phũng khỏc Điều đó dẫn đến việc chậm chễ trongviệc đáp ứng thông tin, gây khó khăn cho công tác lập kế hoạch, chiến lược
và ra quyết định cấp lãnh đạo
Từ những khó khăn trên, ban giám đốc công ty nhận thấy cần phải tinhọc hoá toàn diện công tác quản lý, ban giám đốc đã đề ra chiến lược pháttriển hệ thống thông tin phục vụ công tác ra quyết định để đáp ứng yêu cầumới của nền kinh tế
1.2.2 Chiến lược phát triển hệ thống thông tin của Công ty cổ phần xây dựng số 1 Hà Nội
Ban giám đốc, hội đồng quản trị của công ty xác định tình trạng quản lýthủ công không thể kéo dài nhưng nếu thay đổi hệ thống thông tin của công tymột cách đồng bộ thỡ khỏ tốn kém mà công ty còn sử dụng vốn cho nhữngmục đích khác nữa nờn đó chọn giải pháp tin học hoá từng phần, từng bộphận Sau đó, sẽ kết nối thành một hệ thống quản lý thống nhất trên cơ sởthiết lập mạng máy tính thống nhất toàn bộ cơ quan và trang bị một phầnmềm quản lý doanh nghiệp toàn diện để dễ dàng quản lý các nguồn lực, chia
sẻ thông tin một cách dễ dàng giữa các phòng nhằm cung cấp thông tin mộtcách nhanh chóng, kịp thời và dễ dàng
Năm tới, công ty sẽ trang bị thêm máy tính, máy in, hệ thống mạng chocỏc phũng ban đặc biết coong ty sẽ trang bị các phần mềm chuyên dụng đểtạo điều kiện thuận lợi cho cỏc phũng ban thực hiện các nghiệp vụ và công tácquản lý của của mình, nâng cao năng suất lao động, đạt hiệu quả cao trongcông việc như phần mềm kế toán, phần mềm dự báo, phần mềm quản lý nhõn
sự và phần mềm lý quản lý công văn giấy tờ…Cỏc phần mềm viết bằng ngônngữ mạng sẽ được chia sẻ giữa các phòng ban trong công ty để giảm bớt thủtục rườm rà trong quá trình ra quyết định Một hệ thống quản lý doanh nghiệpthống nhất sẽ được công ty thiết lập và trang bị để thay thế hoàn toàn cho việc
Trang 16quản lá thủ công bằng quản lý tự dộng hoá với sự trợ giúp của máy tính vàthực hiện của con người Tuy nhiên các văn bản quan trọng, các quyết định…phải được in ra để đảm bảo tính pháp lý và lưu trữ trên giấy tờ, sổ sách Khiquá trình tin học hoá công tác quản lý được hoàn thành, hoàn chỉnh, thốngnhất trợ giúp trợ giúp đắc lực cho quá trình ra quyết định của lãnh đạo, giảiquyết kịp thời những vấn đề mới nảy sinh, nắm bắt được khoa học công nghệtiên tiến, phù hợp với sự phát triển chung của đất nước va dành được ưu thếcạnh tranh trên thị trường.
1.3 Giới thiệu đề tài
Ngày nay, loài người bước vào kỷ nguyên mới đó là kỷ nguyên côngnghệ thông tin Công nghệ thông tin đã trở thành một yếu tố quan trọng quyếtđịnh tới sự thành công của một tổ chức, một doanh nghiệp còng như phát triểncủa một đất nước, một quốc gia Càng ngày công nghệ thông tin càng chứng
tỏ vai trò của nó trong mọi lĩnh vực của đời sống xã hội đặc biệt trong lĩnhvực quản lý Việt Nam đã trở thành một thành viên của WTO, vì vậy quátrình hội nhập yêu cầu các tổ chức, các doanh nghiệp phải tự đổi mới để hoàvào cùng sự phát triển chung của nhân loại
Công ty cổ phần xây dựng số 1 Hà Nội là một doanh nghiệp chuyênxây dựng và thi công cụng trỡnh nên hàng tháng, hàng quý, hàng năm sốlượng hợp đồng xây dựng mà công ty ký kết với các đối tác là khá lớn Cónhững công trình công ty là chủ đầu tư, có những công trình công ty là ngườigiao khoỏn, cú những công trình công ty được giao khoán Mỗi một cụngtrình trong các hợp đồng cũng yêu cầu về khối lượng, chất lượng, đơn giá,tiến độ thi công cũng khác nhau cho nên quản lý nó cũng rất khó khăn Khimột công trình thi công thì công ty cũng phải mua, thuê vật liệu phục vụ chocác công trình này và phát sinh hợp đồng kinh tế giữa công ty với nhà cungcấp vật tư xây dựng Làm sao quản lý được các hợp đồng này một cách hiệu
Trang 17quả là một bài toán khó đặt ra đối với công ty hiện nay Việc quản lý hợpđồng do phòng kế hoạch vầ đầu tư trong công ty, việc quản lý này thường làthủ công trên giấy Nhiều công trình mà công ty thi công ở rất xa trụ sở nếu
có yêu cầu thì rất khó và mất thời gian Điều này gây cản trở cho việc quản lý
và ra quyết định của lãnh đạo và hạ thấp năng suất Với yêu cầu thị trường đòihỏi thông tin nhanh chóng và chính xác thỡ cỏch quản lý này công ty sẽnhanh chóng đánh mất đi những công trình sẽ thu được lợi nhuận khá cao chocông ty Hội đồng quản trị công ty cũng nhận thấy rõ tình trạng này và muốnthay đổi cách quản lý thủ công bằng việc ứng dụng công nghệ thông tin vàoquản lý hợp đồng nhằm giảm bớt thời gian, giảm chi phí, nâng cao năng suấtlao động, đạt hiệu quả cao nhất, tham mưu và trợ giúp kịp thời cho quá trình
ra quyết định của ban giám đốc và hội đồng quản trị đảm bảo cỏc cụng trìnhthực hiện theo đúng yêu cầu trong hợp đồng, nâng cao năng lực công ty trênthị trường
Qua thời gian tìm hiểu, em thấy được nhược điểm của hệ thống thôngtin quản lý hợp đồng thủ công và nhu cầu của công ty muốn xây dựng một
phần mềm quản lý hợp đồng riờng nên em quyết định chọn đề tài: “Xây dựng
phần mềm quản lý hợp đồng tại Công ty cổ phần xây dựng số 1 Hà Nội”.
Phần mềm sau khi đưa vào áp dụng sẽ phù hợp với tình hình của doanhnghiệp, khắc phục được những sai sót trong quá trình quản lý thủ công và đápứng được yêu cầu của ban giám đốc và hội đồng quản trị cũng như nhu cầungày càng cao của công việc
Trang 18Chương II: Phương pháp luận về xây dựng phần mềm ứng
dụng
2.1 Phần mềm
2.1.1 Khái niệm phần mềm
Hiện nay trên thế giới có nhiều khái niệm khác nhau về phần mềm
(software) và chương trình (program) Phần mềm là các chương trình các
thủ tục tin học liên quan tới việc khai thác Hệ thống thông tin Chương trình
là tập hợp các chỉ dẫn nhằm thực hiện một nhiệm vụ xác định trên máy tính
Chương trình là một tập hợp cỏc cõu lệnh được viết bằng một hoặc
nhiều ngôn ngữ lập trình, nhằm tự động thực hiện một số chức năng giảiquyết một số bài toán nào đó
Theo giáo trình Tin học đại cương của khoa Tin học ĐH Kinh tế QuốcDân thì: “Phần mềm máy tính là các chương trỡnh, các cấu trúc dữ liệu làmcho chương trình xử lý được những thông tin thích hợp và các tài liệu mô tảphương thức sử dụng các chương trình Êy” Phần mềm luôn luôn được bổsung và sửa đổi thường xuyên
Khi lập trình ở qui mô học đường, người ta thường đồng nhất kháiniệm phần mềm với chương trình Trong công nghệ phần mềm, Khái niệmphần mềm được hiểu tổng quát hơn Người ta chấp nhận định nghĩa của nhàtin học người Mỹ Roger Pressman: Phần mềm là tổng thể gồm 3 yếu tố:
Phần mềm = Chương trình mỏy tớnh + Cấu trúc dữ liệu + Hệ thống tài liệu sử dụng
2.1.2 Các giai đoạn phát triển của phần mềm
Tiến trình phát triển của phần mềm được chia ra thành 4 giai đoạn Đó là:
- Giai đoạn 1:Từ năm 1950 – 1960: Phàn mềm có tốc độ chậm, xử lýtheo lụ.Phần mềm là đơn chức
Trang 19- Giai đoạn 2: Từ năm 1960 – 1970: Tốc độ nhanh hơn, xử lý theo thờigian thực.
- Giai đoạn 3: Từ năm 1970 – 1990: Hệ thống phân tán Phần mềm đãbắt đầu được thương mại hóa
- Giai đoạn 4: Từ năm 1990 đến nay: Hệ thống để bàn, ngôn ngữ lậptrình hướng đối tượng Phần mềm được sản xuất trên qui mô công nghiệp
Phần mềm hiện nay được ứng dụng trong mọi lĩnh vực của cuộc sốngnhư: Viện nghiên cứu, trường học, bệnh viện, tài chính ngân hàng… Phầnmềm được ví như “linh hồn” của một cơ thể sống, không có phần mềm thìmáy tính không hơn gì một vật trang trí đắt tiền Tính linh lợi của máy tínhnằm hầu hết ở phần mềm, tức là tập hợp những chuơng trình để vận hành máytính đó Khi phần cứng trở nên hiện đại bao nhiêu thì phần mềm càng đóngvai trò quan trọng bấy nhiêu trong việc phát huy năng lực của phần cứng
2.1.3 Các đặc trưng của phần mềm
Phần mềm là phần tử hệ thống logic chứ không phải là phần tử hệthống vật lý Do đó nú cú những đặc trưng khác với hệ thống phần cứng Phầnmềm cú cỏc đặc trưng sau đõy:
- Phần mềm được kỹ nghệ húa, nú không được chế tạo theo nghĩa cổ điển
- Phần mềm không bị háng đi trong quá trình sử dụng
- Phần mềm được xây dựng theo đơn đặt hàng chứ không lắp ráp từ các thànhphần có sẵn
Trang 20được chia thành các loại sau:
- Phần mềm năng suất(Productivity Sofware)
Là phần mềm giúp cho người dùng làm việc có hiệu quả và hiệu suất cao hơn,một số phần mềm loại này như:
+ Hệ soạn thảo điều khiển các máy tính hoạt động như mét máy chữ đểgiúp người dùng biên soạn các tài liệu như công văn, thư từ, bỏo cỏo… Hệsoạn thảo văn bản được sử dụng nhiều nhất là MS Word
+ Các bộ chương trình lập bảng tớnh giỳp tính toán trờn cỏc con số để
dễ dàng lập ra các bảng biểu kế toán, thống kê, phõn tớch… Bảng tính đuợc
sử dụng nhiều nhất là MS Excel
Hệ Quản trị cơ sở dữ liệu giúp lưu trữ, tổ chức, sắp xếp, cập nhật thông tintrong máy tính và tìm kiếm thông tin khi càn thiết Các hệ quản trị cơ sở dữliệu thống nhất hiện nay là Foxpro, Microsoft Excel
+ Phần mềm gửi và nhận thư điện tử giúp chúng ta giữ liên hệ với mọiđối tác cho dù họ ở bất cứ nơi đâu trên thế giới thông qua mạng Internet, vớ
dụ như Outlook Express, Pegasus Mail…
+ Phần mềm đồ họa giúp vẽ những bức tranh, tạo những hình ảnh bachiều và làm phim hoạt hình
+ Phần mềm chế bản điện tử cho phép dùng máy tính để phân trang,chia cột,…và còn nhiều phần mềm khác
- Phần mềm kinh doanh
Phần mềm kinh doanh: bao gồm các bộ chương trình giỳp cỏc doanh nghiệphoàn thành những nhiệm vụ xử lý thông tin có tính chất thủ tục lặp đi lặp lạihàng ngày, hàng tháng, hàng quớ hay hàng năm Phần mềm kinh doanh khácphần mềm năng suất ở chỗ nó nhấn mạnh vào những nhiệm vụ trên phạm vitoàn cơ quan như kế toán, quản lý nhân sự, quản lý vật tư…Cỏc phần mềm kếtoán được sử dụng nhiều nhất hiện nay là Fast và Bravo…
Trang 21- Phần mềm giải trí
Phần mềm giải trí bao gồm các trò chơi và các bộ chương trình để giúptiêu khiển, giải trí Chương trình trò chơi phần mềm tỏ hấp dẫn đối với những
ai muôn nghỉ ngơi thanh thản sau những giê làm việc căng thẳng
- Phần mềm giáo dục và tham khảo
Phần mềm giáo dục và tham khảo giúp cung cấp kiến thức, kỹ năng vềmột chủ đề, lĩnh vực nào đó, cung cấp các bộ cơ sở dữ kiệu cho phép tra cứuthông tin theo yêu cầu Vớ dụ như hệ thống phần mềm hỗ trợ học ngoại ngữ
và tin học của công ty Win school, bộ từ điển và phần mềm học ngoại ngữcủa công ty Lạc Việt,…
b Phần mềm hệ thống (System software)
Phần mềm hệ thống bao gồm các chương trình quản lý, hỗ trợ các tàinguyên và điều hành các hoạt động của hệ thống máy tính điện tử Phần mềm
hệ thống giúp cho các máy tính hoạt động đạt hiệu quả cao nhất
Các chương trình thuộc phần mềm hệ thống được chia thành
- Hệ điều hành (Operating System) là một chương trình phục vụ cho
việc quản lý chặt chẽ hệ thống tính toán và tổ chức khai thác chúng một cáchtối ưu
- Các chương trình tiện Ých (Utilities) thường được xây dựng bởi các
thế hệ thứ ba với mục đích bổ sung thờm cỏc dịch vụ cần cho nhiều người mà
hệ điều hành chưa đáp ứng được hay là đó cú nhưng chưa trọn vẹn Ví dụchương trình quản lý các phân vùng đĩa cứng (PQ magic,Patition Magic), tiệnÝch cho phép tìm kiếm thông tin trên đĩa cứng
- Các chương trình điều khiển thiết bị (device driver) giúp máy tính
điều khiển một thiết bị nào đó mà không có trong danh sách những thiết bịphần cứng được hệ điều hành hỗ trợ như là các loại Card màn hình, card âmthanh cao cấp của MSI, Aopen,ATI,…
Trang 22- Các chương trình dịch có nhiệm vụ dịch các chương trình viết bằng
ngôn ngữ thuật toán sang ngôn ngữ máy để máy tính có thể hiểu và xử lýđược
Ngôn ngữ lập trình là công cụ để diễn tả thuật toán thành chương trìnhcho máy tính thực hiện Cho đến nay đó cú năm thế hệ ngôn ngữ lập trình vàhiện đại nhất có thể nói là thế hệ ngôn ngữ lập trình hướng đối tượng Dotnetcủa Microsoft
2.2 Công nghệ phần mềm
2.2.1 Khái niệm công nghệ phần mềm
Từ những năm 90 trở đi khi sự phát triển của tin học đạt đến trình độcao thì phần mềm với xuất phát điểm chỉ là những công cụ xử lý thông tin đãbiến đổi trở thành một ngành công nghiệp và trong những năm gần đây làngành công nghiệp mòi nhọn của tất cả các nước phát triển
Công nghệ phần mềm là một tổ hợp các công cụ, phương pháp và thủtục làm cho người quản trị viên dự án nắm được xu thế tổng quát phát triểnphần mềm và giúp cho kỹ sư lập trình có một nền tảng để triển khai một phầnmềm hiệu quả còn đối với người quản lý dự án nó cung cấp một tiến trìnhchuẩn để thực hiện một dự án phần mềm
dù ¸n
Kü s phÇn mÒm
Trang 23Hình 2.1 Cấu trúc công nghệ phần mềm
2.2.2 Các công đoạn chủ yếu trong công nghệ phần mềm
Mỗi một phần mềm không phụ thuộc vào mức độ phức tạp khả năngứng dụng mà đều trải qua 3 giai đoạn được biểu diễn trong hình vẽ dưới đây:
Giai đoạn 1
Trang 24- Sửa đổi
- Thớch nghi
- Nõng cao
Hỡnh 2.2 Cỏc giai đoạn của Cụng nghệ phần mềm
Giai đoạn 1: Trả lời cõu hỏi cỏi gỡ? Tức là nhúm sản xuất phần mềm phải xỏcđịnh cụ thể và chi tiết sản phẩm phần mềm mà mỡnh cần tạo ra Đõy là cụngđoạn cực kỳ quan trọng trong sản xuất phần mềm ở quy mụ cụng nghiệp vỡchỉ cú xỏc định rừ ràng phạm vi của sản phẩm và cỏc ràng buộc liờn quan tamới cú thể cho kết quả của cỏc cụng đoạn sau
Giai đoạn 1 phải giải quyết vấn đề mấu chốt là tiến hành phõn tớch hệthống một cỏch toàn diện theo quan điểm một phần mềm là một thành phầncủa hệ thống quản lý do đú nú phải được đặt trong tổng thể hệ thống đú vàxem xột trong mối quan hệ ràng buộc cỏc yếu tố quản lý khỏc
Giai đoạn 2: Trả lời cõu hỏi thế nao? Tức là chỳng ta cần thực hiện đối tượngphần mềm ở giai đoạn thứ nhất được triển khai bằng phương tiện gỡ và theocụng nghệ nào Giai đoạn này bao gồm quy trỡnh thiết kế, mú hoỏ, kiểm thử
Giai đoạn xác định
Giai đoạn phát triển
Giai đoạn bảo trì
Trang 25Giai đoạn 3: Trả lời câu hỏi thay đổi thế nào? Tức là các vấn đề liên quan đếnhậu mãi sản phẩm phần mềm ở đây công ty phần mềm phải thực hiện bacông việc: bảo trì sửa đổi (tức là điều chỉnh những sai sót của phần mềm saukhi khách hàng đưa vào sử dụng), bảo trì thích nghi (giữa phần mềm của nhàsản xuất và cơ sở doanh nghiệp sử dụng phần mềm có sự chênh lệch về tìnhnăng phiên bản do đó theo yêu cầu công ty phần mềm phải sửa đổi hoạt độngtốt trong môi trường khách hàng), bảo trì hoàn thiện (trong khi khách hàngmua phần mềm có nhu cầu nâng cao tính năng của phần mềm ở một phạm vinào đó để hiệu quả hơn với công việc thì công ty phải cử cán bộ đến bảo trìphần mềm).
2.2.3 Các đặc trưng của nền công nghệ phần mềm
Trong thời gian gần đây, phần mềm đã phát triển với một tốc độ vôcùng nhanh chóng trở thành một ngành công nghiệp
Công nghiệp phần mềm là ngành công nghiệp sản xuất ra các sản phẩm phần mềm máy tính phục vụ cho các lĩnh vực hoạt động khác nhau của con người, nhất là trong các hoạt động kinh tế và thương mại.
Trên thế giới nền công nghiệp phần mềm ở các nước là cường quốc vềcông nghệ thông tin, phát triển với tốc độ cao Công nghệ phần mềm của Mỹtrong thời kỳ 1980 – 1992 tăng 28% mỗi năm khi GDP chỉ tăng 3% hàngnăm Hiện tại, công nghệ phần mềm là ngành xếp thứ 6 của nước Mỹ Ấn Độcũng là nước có nền công nghiệp phần mềm phát triển rất mạnh Thị phần thếgiới của các sản phẩm phần mềm sản xuất tại Ên Độ có 7 khu công nghiệpphần mềm công nghệ cao cấp quốc gia và cứ mỗi năm một số chuyên viên kỹthuật phần mềm tăng thêm 600,000 người Chỉ một khu công nghiệp phầnmềm Banggaloro cũng đã thu hót nửa tỷ USD vốn đầu tư nước ngoài và làkhu công nghiệp phần mềm đứng thứ 5 trên thế giới
Trang 26Nền công nghệ phần mềm cú cỏc đặc trưng sau:
- Trong giá trị của mỗi sản phẩm công nghiệp thông thường đều chứamột khối lượng rất lớn cỏc nguyờn vật liệu thô ban đầu như sắt, thép, ximăng…được sản xuất ra theo mét quy trình công nghệ đồng bộ, kết tinh laođộng cơ bắp của con người Còn trong các sản phẩm của nền công nghiệpphần mềm lại chứa một hàm lượng lao động sáng tạo rất cao Nó là sản phẩmlao động trí tuệ của lập trình viên Có thể nói vật liệu tiêu thụ quan trọng nhất
để sản xuất ra phần mềm là chất xám Nhà khoa học Mỹ Mc.Corduck đã nói:
“Cụng nghiệp phần mềm là ngành công nghiệp lý tưởng Nó tạo ra giá trịbằng cách biến đổi năng lực trớ nórủi ro của con người, tiêu thụ rất Ýt nănglượng và nguyên liệu thụ”
- Nền tảng của nền công nghiệp thông thường là nhà xưởng, máy móc,dây chuyền công nghệ còn trong nền công nghiệp phần mềm thì nền tảngquan trọng nhất là trí tuệ của đội ngò lập trình viên Nhà khoa học MỹFeigenbaum đã cho rằng: “Tri thức là quyền lực, còn máy tính điện tử là bộkhuyếch đại các quyền lực đú”
- Các sản phẩm của nền công nghiệp phần mềm được chuyển giao giữanhà cung cấp và người sử dụng một cách mau chóng, tốn kém rất Ýt chi phíchuyên chở từ nơi sản xuất đến nơi tiêu thụ (có thể chi là một CD ROM chứaphần mềm đã đóng gói hoặc chỉ là một tệp chương trình đã được nén lại vàgửi qua mạng Internet) Còn trong nền công nghiệp thông thường, việcchuyên chở sản phẩm luôn là một khoản mục đáng kể được tính vào chi phíthành phẩm nhất là trong ngành công nghiệp nặng
- Một đặc điểm quan trọng khác khi sử dụng thì sản phẩm của ngànhcông nghiệp phần mềm không bị khấu hao theo thời gian
Trang 27- Các nước tuy chưa có nền công nghiệp phát triển cao cũng có thểtham gia xây dựng phần mềm nếu có một tiềm năng chất xám và một chínhsách phù hợp ở tầm quản lý vĩ mô.
- Nền công nghiệp phần mềm tạo ra các nghề nghiệp mới chưa có trướcđây như là các ngành nghề liên quan đến thông tin và quá trình xử lý thông tinnhư phân tích hệ thống, lập trình viên, thiết kế hệ thống, quản trị hệ thống,thao tác viên phòng máy, marketing sản phẩm phần mềm, quản lý dự án phầnmềm…
Đối với Việt Nam, ngày 05/06/2000, chớnh phủ đã ra Nghị Quyết số07/CP về phát triển nền công nghiệp phần mềm của Việt Nam thành mộtngành kinh tế mòi nhọn
2.2.4 Vòng đời phát triển của phần mềm
Trong công nghiệp phần mềm người ta đặc biệt quan tâm tới vấn đề làvòng đời phát triển của phần mềm Vòng đời phát triển của phần mềm là quytrình từ khi phần mềm ra đời cho đến khi đưa vào sử dụng và quá trình nângcấp và 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: + Người ta nghiên cứu vòng đời phát triển của phần mềm để hiểu rõtrình tự từng công đoạn
+ Người ta tìm ra các phương tiện thích hợp nhất để tác động vào từngcông đoạn nhằm mục đích nâng cao hiệu quả của phần mềm
ThiÕt kÕ
M·
ho¸
KiÓm thö
B¶o tr×
Trang 28Hình 2.3 Mô hình thác nước
Công đoạn đầu tiên là công nghệ hệ thống: nó bao trùm lên toàn bộ cácquy trình tiếp theo trong công nghệ phần mềm vì phần mềm là một thànhphần của hệ thống quản lý do đó nó phải được xem xét trong mối liên hệ tổngthể về kinh tế - kỹ thuật - tổ chức của toàn bộ guồng máy quản lý
Công đoạn tiếp theo là phân tích: với mục đích đưa ra một khái niệmtổng thể các khía cạnh của phần mềm và chính là nền tảng của thiết kế
- Yêu cầu chức năng – hệ thống được thiết kế để làm gì? Khuôn dạngcác định nghĩa này phụ thuộc vào phương pháp luận sử dụng trong giai đoạnphân tích
- Yêu cầu về cấu hình – các thiết bị cuối, các thông điệp, thời gian trảlời qua mạng, dung lượng vào ra, yêu cầu đo thời gian xử lý
- Yêu cầu giao diện – dữ liệu trao đổi với các ứng dụng và đơn vị khác
là gì? Định nghĩa này bao gồm cả tính thời gian, phương tiện và khuôn dạng
dữ liệu trao đổi
- Yêu cầu thiết kế – các ví dụ về yêu cầu thiết kế bao gồm công tác lưutrữ dữ liệu, phần cứng, các điều kiện trắc nghiệm, các yêu cầu chuyển đổi, cácyêu cầu giao tác người – máy
Trang 29- Các chuẩn xây dựng phần mềm – dạng cấu trúc, tính thời gian, nộidung cơ bản của tài liệu cần đưa ra trong quá trình xây dựng phần mềm Địnhdạng thông tin bao gồm nội dung của dữ liệu từ điển hay kho lưu trữ đối vớiviệc thiết kế đối tượng, nội dung báo cáo dự án, các yêu cầu cần thiết khácđược giám sát bởi nhóm tham gia dự án.
Công đoạn tiếp theo là quy trình thiết kế: với mục đích phác hoạ hệthống cần làm gì và sẽ làm như thế nào trong cấu hình phần cứng, phần mềmnhất định Nhứng thuật ngữ khỏc dựng để miêu tả các hoạt động thiết kế baogồm thiết kế chi tiết, thiết kế vật lý, thiết kế bên trong và thiết kế sản phẩm.Trong suốt giai đoạn thiết kế, nhóm kỹ sư phần mềm phải tạo, sưu tập tài liệu
- Giao diện: nội dung chi tiết, tính toán thời gian, với trách nhiệm cụthể và thiết kế dữ liệu được trao đổi với những chương trình ứng dụng hay tổchức khác
- Kiểm tra: xác định chiến lược, nhiệm vụ và tính toán thời gian chomọi loại hình kiểm tra cần được tiến hành
Dữ liệu: đây là việc xác định cách thể hiện vật lý của dữ liệu trên cácthiết bị và các yếu tố yêu cầu, tính toán thời gian, nhiệm vụ phân rã, sao chépcác bản sao dữ liệu
Công đoạn tiếp theo là mó hoỏ: trong quá trình mó hoỏ, thành phầnchương trình mức thấp của sản phẩm phần mềm được tạo ra từ kết quả của
Trang 30việc thiết kế và gỡ lỗi Kiểm tra đơn vị là sự kiểm tra tính đúng đắn màchương trình thực hiện nếu như nó yêu cầu.
Công đoạn tiếp theo là kiểm thử: với mục đích kiểm tra đảm bảo chấtlượng có thể được kiểm soát trong giai đoạn kiểm tra hoặc coi như là mộthoạt động riêng biệt Trong quá trình kiểm tra đảm bảo chất lượng, sản phẩmphần mềm (phần mềm hoặc tài liệu) được đánh giá bởi các thành viên khôngchính thức của nhóm dự án để xác định các yêu cầu phân tích có được thoảmãn hay không
Công đoạn tiếp theo là triển khai: thực hiện triển khai còn được gọi làcài đặt và cho phép sử dụng Triển khai là một quá trình sản phẩm phần mềmđược tích hợp vào môi trường làm việc và cho phép sử dụng Thực hiện triểnkhai bao gồm sự hoàn chỉnh của chuyển đổi dữ liệu, cài đặt và đào tạo sửdụng Vào thời điểm này của chu trình một dự án quá trình phát triển phầnmềm kết thúc, và giai đoạn bảo hành, bảo trì bắt đầu Việc bảo trì tiếp tục chođến khi dự án kết thúc Quy trình vận hành và bảo trì là một giai đoạn trongquá trình sản xuất phần mềm mà ở đó snar phẩm phần mềm được sử dụngtrong môi trường làm việc, giám sát đối với hiệu quả thống kê, và sửa đổi nếucần thiết
Người ta dùng mô hình thác nước để biểu diễn vòng đời phát triển củaphần mềm với hai ý nghĩa:
+ Khẳng định đây là giai đoạn của một quy trình thống nhất, khôngtách rời và có mối quan hệ mật thiết với nhau
+ Trong mô hình này công đoạn càng ở phía dưới thì càng chịu tácđộng của công đoạn phía trên, chỉ trừ công đoạn công nghệ hệ thống thìkhông chịu tác động của công đoạn nào
Để xây dựng được hệ thống phần mềm ta phải mô tả được vấn đề vàyêu cầu của khách hàng bằng trả lời cỏc cõu hỏi như vấn đề của hệ thống là
Trang 31gì? Hệ thống phải làm gì? Phân tích của tiến trình tập trung vào việc điều travấn đề thay cho việc tìm ra giải pháp Để có tài liệu phân tích đầy đủ và đúngđắn thì phải phân tích lĩnh vực vấn đề là khu vục tác nghiệp trong đó phầnmềm được xây dựng.
Những người tham gia vào xây dựng phần mềm như khách hàng, phântích viên, lập trình viờn… theo phương pháp thác nước rất Ýt khi làm việc vớinhau để trao đổi chia sẻ các hiểu biết sâu sắc về các vấn đề đang giải quyết
Do vậy họ mất nhiều thời gian để xây dựng được hệ thống phần mềm
2.2.6 Mô hình lặp và tăng dần
Mô hình thác nước không cho ta đi ngược lại chuỗi trình tự phất triểnphần mềm, theo mô hình này thì phải xác định toàn bộ yêu cầu, nó được thựchiện thông qua bàn bạc với người sử dụng hệ thống và khảo sát các chi tiếttiến trình tác nghiệp Thực tế thì khi kết thúc công việc, may mắn lắm chỉ80% yêu 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ê các mong muốn và nguyện vọngcủ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 các kỹ sư phần mềm ngay từ đầunhậ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ầnmềm mà mình xây dựng Tiếp theo là quy trình thiết kế, nơi mà tại đó tậptrung vào những nhiệm vụ như đặt chương trình ở đâu, cần phần cứng nào…trong khi thực hiện công việc này, chóng ta có thể tìm ra một số nhiệm vụmới của hệ thống Do đó, xuất hiện nhu cầu đi ngược lại người sử dụng đểtrao đổi bàn bạc về nó, có nghĩa là chúng ta phải quy lại quy trình phân tích.Sau khi lặp lại vài lần như vậy chúng ta mới chuyển đến quy trình lập hệthống Khi mã hóa chương trình, chúng ta phát hiện một vài quyết định khithiết kế là không thề cài đặt.Vậy ta phải quay trở lại quy trình phân tích đểxem xét lại yêu cầu.Sau quy trình lập trình lập trình, quy trình kiểm thử bắt
Trang 32đầu Trong khi kiểm thử chúng ta nhận thấy một vài yêu cầu chưa đủ chi tiết,giải thích nhầm lẫn có thể xảy ra Vậy ta phải trở lại quy trình phân tích đểxem xét lại yêu cầu Sau một vài lần lạp lại như vậy ta có được hệ thống hoànchỉnh và bản giao cho khách hàng Vấn đề luật pháp, quy trình kinh doanh cóthể thay đổi theo thời gian khi xây dựng hệ thống, người sử dụng có thể phànnàn về các vấn đề này, sản phẩm làm ra không đúng họ mong đợi Nguyênnhân có thể là do 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 ý họ muốn, đội ngò dự án không tuân thủ tiếntrỡnh… Đội ngò phát triển thường lập ra các biểu đồ và vô số tài liệu, vănbả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áttriển cung cấp cho họ Giải pháp nào để trỏnh cỏc vấn đề này? Câu trả lời là
mô hình hóa trực quan có thể giúp họ Phát triển phần mền là tiến trình phứctạp Nếu bỏ qua khả năng quay trở lại của các bước thực hiện trước đó thìthiết kế hệ thống có thể sai lầm và thiếu sót nhu cầu Để có thể đi ngược lạicác bước phát triển hệ thống phần mềm chúng ta có phương pháp mới,phương pháp phát triển lặp lại Phát trển lặp lại là làm đi làm lại việc đó.Trong phương pháp này ta sẽ đi qua các bước phân tích, thiết kế, phát triển,kiểm thử và triển khai phần mềm theo từng bước nhỏ nhiều lần Bởi chúng ta
có thể thu thập được đầy đủ mọi yêu cầu vào công đoạn đầu tiên của dự án.Theo quan niệm này thì dự án được coi là các thác nước nhỏ, mỗi thác nướcđược thiết kế đủ lớn để sao cho có thể hoàn thiện từng bộ phận quan trọng của
dự án và đủ nhỏ để tối thiểu nhu cầu đi trở lại
Trang 33Hình 2.3 Mô hình lặp tăng dần
Theo mô hình lặp và tăng dần thì mỗi chu kỳ lặp là một vòng đời thác nướcnhỏ Vòng lặp sau được hình thành trên cơ sở tiến hoá của vòng lặp trước đó.Như vậy các quy trình truyền thống được lặp đi lặp lại và tăng dần Trongphươ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áclà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 Theo mô hình lặp
và tăng dần thì mỗi chu kỳ lặp là một vòng đời thác nước nhỏ Vòng lặp sauđược hình thành trên cơ sở tiến hoá của vòng lặp trước đó Như vậy các quytrình truyền thống được lặp đi lặp lại và tăng dần 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 đượcmột hệ thống mạnh, phức tạp hơn
ThiÕt kÕ
M·
ho¸
KiÓm thö
B¶o tr×
Trang 342.3 Tổng quan về ngôn ngữ lập trình
2.3.1.Ngôn ngữ lập trình
Mỗi chương trình máy tính đều được tạo ra dựa trờn một thuật toán làmnền tảng Chương trình là một thuật toán trong đó mỗi lệnh được viết bằngcác ký hiệu theo đúng qui cách thống nhất sao cho máy tính có thể nhận biết
và thực hiện được
Thuật toán (còn gọi là giải thuật) là một bản hướng dẫn bao gồm một số hữu hạn các mệnh lệnh qui định chính xác những phép toán và động tác cần thực hiện một cách máy móc theo một trình tự đã vạch rõ để giải quyết một loại bài toán hay nhiệm vụ nào đó.
Thuật toán được biểu diễn có thể bằng lời hoặc bằng sơ đồ khối Biểudiễn bằng lời có nghĩa là dùng lời nói, chữ viết để mô tả các bước thực hiệnthuật toán Biểu diễn bằng sơ đồ khối có nghĩa là sử dụng kết hợp các khối cơbản như khối bắt đầu, khối kết thúc, khối xử lý, khối điều kiện… để biểu diễnthuật toán
Mỗi ngôn ngữ lập trình được kiến tạo từ các yếu tố cơ sở sau:
Như vậy có thể nói
“Ngụn ngữ lập trình là công cụ để diễn tả thuật toán thành chương trình cho máy thực hiện”.
Trang 35Trong số các ngôn ngữ lập trình người ta phân biệt ngôn ngữ máy vớingôn ngữ còn lại để ghi chép thuật toán gọi chung là ngôn ngữ thuật toán.
Ngôn ngữ máy là ngôn ngữ lập trình viết các lệnh dưới dạng nhị phân
can thiệp trực tiếp vào trong các mạch điện tử Chương trình viết bằng ngônngữ máy có thể thực hiện ngay
Ngôn ngữ thuật toán là ngôn ngữ lập trình rất gần với ngôn ngữ tự
nhiên của con người (Tiếng Anh) nhưng chính xác như ngôn ngữ toán học.Chương trình viết bằng ngôn ngữ thuật toán chưa thể thực hiện ngay được màphải chuyển sang ngôn ngữ máy
2.3.2 Các thế hệ ngôn ngữ lập trình
Ngôn ngữ thế hệ thứ nhất
Ngôn ngữ thế hệ thứ nhất được phát triển từ những năm 1950 Tiểubiểu nhất của ngôn ngữ thế hệ thứ nhất là hợp ngữ ASSEMBLY Hợp ngữ làmột loại ngôn ngữ lập trình giúp cho lập trình viên dễ dàng hơn khi viết trongngôn ngữ máy Hợp ngữ có dạng giống như ngôn ngôn ngữ máy tức là mỗilệnh hợp ngữ tương đương một lệnh ngôn ngữ mỏy ( cũng có lệnh của hợpngữ tương đương nhiều lệnh của ngôn ngữ máy Những lệnh này gọi là lệnh
vĩ mô), nhưng hợp ngữ khác ngôn ngữ máy ở chỗ người ta dựng cỏc mó dễnhớ để viết các lệnh, cỏc tờn biến thay cho cỏc dãy chữ số 0,1 vô hồn củangôn ngữ máy
Các ngôn ngữ thế hệ thứ nhất có đặc điểm là phụ thuộc rất mạnh vàotừng máy tính điện tử cụ thể và mức độ trừu tượng của các chương trìnhthương rất thấp
Ngôn ngữ thế hệ thứ hai
Ngôn ngữ thế hệ thứ hai được phát triển từ cuối những năm 1950 vàđầu những năm 1960 Các ngôn ngữ thế hệ thứ hai được đặc trưng bởi việc có
Trang 36một thư viện các chương trình phần mềm rất lớn và được sử dụng rộng rãItrong rất nhiều lĩnh vực khác nhau.
FOXTRAN là ngôn ngữ thế hệ thứ hai được áp dụng rất phổ biến trongviệc giảI quyết các bài toán khoa học và kỹ thuật Bản chuẩn gốc củaFOXTRAN, được gọi là FOXTRAN 66, là một công cụ rất mạnh để giảiquyết các bài toán tính toán nhưng tương đối nghèo về các kiểu cấu trúc dữliệu tiền định, còng như việc không dễ dàng xử lý xâu ký tự Bản chuẩn củaANSI mới, gọi là FOXTRAN 77 đã khắc phục một số khuyết điểm củaFOXTRAN 66
COBOL là thế hệ ngôn ngữ thứ hai được ứng dụng rất rộng rãi trongcác lĩnh vực thương mại và xử lý dữ liệu kinh tế COBOL gồm 4 phần riêngbiệt:
- Phần tên gọi: Mô tả các tham số của chương trình
- Phần thiết bị: Mô tả các thiết bị phần cứng sử dụng trong chương trình
- Phần dữ liệu: Mô tả các kiểu dữ liệu theo cấu trúc cấp bậc
- Phần thủ tục: Mô tả các giải thuật xử lý dữ liệu
Do khả năng định nghĩa dữ liệu tuyệt vời của mình mà cho đến nayngay cả trong các nước phát triển, COBOL vẫn được sử dụng khi giải quyếtcác bài toán trong lĩnh vực kinh tế và thương mại
BASIC la ngôn ngữ lập trình phi cấu trúc Khi xuất hiện máy tính cá nhânIBM PC, ngôn ngữ BASIC lại được phát triển rất mạnh với rất nhiều bản khácnhau như QBASIC, GWWBASIC…
Ngôn ngữ thế hệ thứ ba
Ngôn ngữ lập trình thế hệ thứ ba còn được gọi là ngôn ngữ lập trìnhhiện tại Nét đặc trưng của các ngôn ngữ này là khả năng cấu trúc rất phongphú và các thủ tục mạnh
Ngôn ngữ lập trình thế hệ thứ ba được chia thành hai loại:
Trang 37- Ngôn ngữ cao cấp vạn năng.
- Ngôn ngữ hướng đối tượng
Ngôn ngữ cao cấp vạn năng
ALGOL là ngôn ngữ lập trình vạn năng rất phát triển với việc đưa racác kết cấu thủ tục và định khiển dữ liệu ALGOL rất thông dụng ở Châu Âunhưng lại không được phổ biến rộng rãi lắm ở Mỹ Phiên bản được sử dụngrộng rãi nhất của ALGOL được gọi là ALGOL 60 và sau đó được phát triểnvới sự cài đặt mạnh hơn trong ALGOL 68 Đặc trưng của ALGOL 60 vàALGOL 68 là đưa vào khái niệm cấu trúc khối và cấp phát bộ nhớ động, giảithuật đệ quy
Trên cơ sở ALGOL người ta đã sáng tạo ra các ngôn ngữ lập trình vạnnăng khác như PL/1, PASCAL, MODULA 2, C và ADA có rất nhiều ứngdụng trong khoa học cũng như kinh tế và thương mại
PL/1 có thể coi như ngôn ngữ thế hệ 2,5 được thiết kế với một phạm vi rấtrộng có tính năng, có thể ứng dụng trong nhiều lĩnh vực khác nhau PL/1 cungcấp các ứng dụng trong khoa học, kỹ thuật còng như trong kinh tế và thươngmại PL/1 còn cho phép làm việc với các cấu trúc dữ liệu phức tạp, đa dạng,đầu vào, đầu ra phong phú cũng như khả năng xử lý danh sách và các tínhnăng khỏc Đó cú cỏc tập con của PL/1 để lập trình PL/1 dùng cho các bộ vi
xử lý PL/M và lập trình hệ thống PL/S
PASCAL được Niklaus Wirth khởi xướng năm 1968 Đây là một ngônngữ rất trong sáng, được giới khoa học rất ưa chuộng trong việc dùng thể hiệnthuật toán PASCAL kế thừa từ ANGOL nhiều đặc trưng như cấu trúc khối,định kiểu dữ liệu, hỗ trợ đệ quy Đến nay, PASCAL vẫn được dùng nhiềutrong các kỳ thi tin học Việt Nam và quốc tế
Ngôn ngữ C do Dennis Ritche phát triển năm 1972 ở New Jersey Sùchuyển tiếp giữa ngôn ngữ phổ biến đầu tiền và ngôn ngữ phổ biến của ngày
Trang 38hôm nay diễn ra giữa PASCAL và C C rất phổ biến dùng trong việc lập trìnhcác hệ điều hành như Unix, Window, Mac và Linux, Ngôn ngữ C++, sảnphẩm thừa kế ngôn ngữ C, cũng là sự khởi đầu cho phương pháp lập trìnhhướng đối tượng.
ADA là ngôn ngữ lập trình do Bộ quốc phòng Mỹ phát triển Đây làngôn ngữ chuẩn dùng cho các máy tính thời gian thực Ngày nay, ADA được
sử dụng trong các mục đích quân sự lẫn dõn sự ADA có cấu trúc cú pháp tựanhư PASCAL nhưng mạnh mẽ hơn, phong phú và phức tạp hơn nhiều ADA
cú các hỗ trợ chức năng đa nhiệm, xử lý ngắt
Ngôn ngữ hướng đối tượng – OOL (Object Oriented Language)
Đây là ngôn ngữ lập trình được xây dựng dựa trờn cỏc khái niệm sự vật
và các thuộc tính, líp và thành phần, toàn thể và bộ phận
Nói đến ngôn ngữ lập trình hướng đối tượng, chúng ta phải kể đến Java
do Sum Microsystems khởi xướng từ đầu thập kỷ 90 Với ý tưởng, viết mộtlần thay chạy nhiều lần trên các thiết bị khác nhau, Java những tưởng sẽ thốngtrị thế giới phần mềm Song trên thực tế, sau những va chạm xung quanh vấn
đề khai thác và sử dụng Java với công ty phần mềm số 1 trên thế giới hiện nay
là Microsoft, ngôn ngữ này đang đứng trước sự cạnh tranh gay gắt Nhất làkhi Microsoft đã đánh cược tương lai của mình vào nền tảng DotnetFramework cùng công cụ lập trình mới nhất của mình Visual Studio.Net.Dotnet Framework tạo ra môi trường lập trình hướng đối tượng 100% Tất cảcác thành phần trong môi trường lập trình của chúng ta đều là hướng đốitượng, cho chóng ta khả năng lập trình mềm dẻo Các ngôn ngữ lập trìnhhướng đối tượng tiêu biểu khác là C++, Object Pascal, Eiffel
Trang 392.3.4 Giới thiệu về ngôn ngữ lập trình Visual Basic và hệ quản trị cơ sở dữ liệu Microsoft Access
Phần mềm quản lý hợp đồng tại Công ty cổ phần xây dựng số 1 đượcxây dùng trong môi trường hệ điều hành Microsoft Access 2003 Đây là hệquản trị cơ sở dữ liệu thuộc mô hình quan hệ, nó cho phép lưu trữ dữ liệucùng với nguyên tắc ràng buộc dữ liệu, kiểm soát chặt chẽ các dữ liệu đượcnhập cũng như truy xuất ra khỏi hệ thống, đảm bảo an toàn dữ liệu Hệ quảntrị cơ sở dữ liệu này đơn giản, dễ sử dụng thông quan ngôn ngữ truy vấn SQL
Ngôn ngữ sử dụng là Visual Bacsic 6.0 là ngôn ngữ lập trình hướng đốitượng có khả năng lập trình rất mạnh, có khả năng tạo giao diện đẹp, thânthiện với người sử dụng cuối cùng Nú cú những công cụ hỗ trợ việc lập trình
và cung cấp tính năng thuận tiện trong việc lập trình xử lý các mã lệnh Có thểdùng Visual Basic để kết nối với CSDL từ nhiều nguồn khác nhau tạo nên sựtiện dụng trong việc thao tác CSDL
Sự kết hợp giữa ngôn ngữ lập trình Visual Basic và Hệ quản trị cơ sở
dữ liệu Access 2003 tạo nên một công cụ mạnh mẽ, tiện dựng giỳp tạo nênmột phần mềm hoàn chỉnh, thuận tiện và mang tính chuyên nghiệp cao
Trang 40Chương III: Phân tích và thiết kế phần mềm quản lý hợp đồng
tại Công ty cổ phần xây dựng số 1 Hà Nội
3.1 Khảo sát hệ thống
3.1.1 Mô tả bài toán
Trên thực tế công việc quản lý và theo dõi hợp đồng là một công việchết sức cần thiết, đây là công việc gắn liền với sự phát triển của bất kỳ mộtdoanh nghiệp nào trong quá trình hội nhập hiện nay, khi mà số lượng hợpđồng của các công ty này là khá lớn Công ty cổ phần xây dựng số 1 là doanhnghiệp chuyên xây dựng các công trình công nghiệp, dân dụng, giao thụng…nên số hợp đồng là khá lớn Khi nhận được yêu cầu của chủ đầu tư về xâydựng một công trình xây dựng thì hợp đồng xây lắp chủ đầu tư và thi công sẽđược ký kết Khi hợp đồng xây dựng được ký kết, nếu có những hạn mụccông trình mà công ty không thực hiện được thì công ty sẽ đi thuê nhà thầukhác thi công hạn mục đó Lúc đó hợp đồng nhà thầu phụ sẽ được ký kết Đểthi công được công trình thì công ty phải thuê máy móc thiết bị, mua nguyênvật liệu và thuê nhân công thi công công trình Do đó, hợp đồng máy mócthiết bị, hợp đồng mua nguyên vật liệu, hợp đồng thuê nhân công được ký
Công ty chưa có phần mềm quản lý hợp đồng, em xây dựng mộtchương trình quản lý hợp đồng và theo dõi thực hiện hợp đồng cuả công ty.Chương trình có chức năng chính sau đây: