e. Tiêu chuẩn thiết kế
4.2.3. Phát triển hệ thống với các gói phần mềm
Một chiến lược khác để phát triển hệ thống là mua một gói phần mềm đã được thiết lập sẵn. Các gói phần mềm có thể thay đổi từ những hệ thống thực hiện những nhiệm vụ rất đơn giản (như in nhãn địa chỉ từ một
cơ sở dữ liệu có trên máy tính) tới những chương trình phức tạp với 400 mơđun nhỏ và khoảng 500000 dịng lệnh được viết cho một hệ thống máy tính lớn. Nếu tồn tại một gói phần mềm cần thiết, thì hồn tồn có thể loại bỏ được nhu cầu viết các chương trình phần mềm cần thiết và giảm được một khối lượng lớn việc thiết kế, kiểm tra, thiết lập, và bảo trì.
Các doanh nghiệp thường sử dụng phương pháp này khi xảy ra một trong những tình huống sau:
• Đối với những chức năng phổ biến cho nhiều doang nghiệp
• Khi các doanh nghiệp khơng có đủ nguồn lực để xây dựng và thiết kế hệ thống thông tin với lực lượng nội tại trong doanh nghiệp. Với ít các chuyên gia hệ thống giàu kinh nghiệm và có kỹ nằng cao, các doanh nghiệp sẽ khơng có đủ nhân lực để thực hiện các dự án phát triển hệ thống. Đồng thời, việc thiếu khả năng về tài chính cũng sẽ khiến các doanh nghiệp này tới lựa chọn các chương trình khác phần mềm trọn gói có sẵn.
• Khi các ứng dụng trên máy vi tính được phát triển theo hướng người sử dụng. Rất nhiều các chương trình phần mềm được thiết kế cho máy vi tính là nguồn trợ giúp cho các doang nghiệp với ít chi phí nhất.
Ưu điểm của phương pháp sử dụng gói phần mềm
Các chương trình gói phần mềm thường được kiểm tra trước khi đưa ra thị trường, chính vì vậy, việc sử dụng các phần mềm trọn gói sẽ giúp doang nghiêp giảm bớt được thời gian thiết kế, tổ chức tập dữ liệu, xử lý các mối quan hệ, các giao dịch, xử lý các mối quan hệ, các giao dịch, xây dựng các báo cáo.
Các gói phần mềm thường ít địi hỏi các hệ thống hỗ trợ. Do chi phí bảo trì hệ thống thơng tin thường chiếm 50 tới 80% tổng ngân sách dành cho hệ thống thơng tin, nên việc sử dụng gói phần mèm sẽ làm giảm thiểu các chi phí cho hệ thống thơng tin và giải phóng nguồn nhân lực nội tại trong doang nghiệp cho những công việc khác.
Phương pháp này cũng sẽ giảm những điểm nút của tổ chức trong quá trình phát triển hệ thống. Người sử dụng sẽ dễ dàng chấp nhận hệ
thống này do nó đã khá phổ biến trên thị trường, nên yêu cầu thiết kế và thiết kế lại được giảm tối thiểu cho doanh nghiệp.
Nhược điểm
Các chương trình thương mại hóa sẽ khơng đáp ứng được các yêu cầu về kỹ thuật và tính tinh tế cho nhiều dạng cơng việc đa dạng khác nhau. Thơng thường các chương trình thường được thiết kế và mã hóa để thực hiện tốt một chức năng nào đó hơn là đào tạo ra một hệ thống với một số lượng lớn các chức năng nào đó hơn là tạo ra một hệ thống với một số lượng lớn các chức năng xử lý phức tạp đa dạng.
Đơi khi, các gói phần mềm gây khó khăn cho việc phát triển do chi phí quá cao để chuyển đối.
Các gói phần mềm có thể khơng đáp ứng được hoàn toàn những yêu cầu của tổ chức. Các chương trình này do chạy theo tính thương mại hóa nên đã cố gắng phù hợp với yêu cầu của các tổ chức khác nhau. Một số các phần mềm được thiết kế với những đặc tính được dành khai báo riêng theo yêu cầu của những người dùng khác nhau, nhưng chúng cũng vẫn chưa thể đủ đáp ứng những nhu cầu đa dạng phát sinh trong môi trường thực tế.
Những điểm cần lưu ý khi lựa chọn các gói phần mềm: Để có thể sử dụng hệ thống gói phần mềm một cách có hiệu quả, cần phải lập ra một danh sách chi tiết các câu hỏi để xác định xem sản phẩm đó có thự phù hợp với những yêu cầu riêng biệt của tổ chức.
Các vấn đề cần quan tâm bao gồm:
• Các chức năng: các chức năng đa dạng bao hàm phần mềm cần được cần
nhắc trên những phương diện sau
+ Có bao nhiêu chức năng cần thiết được đáp ứng bởi gói phần mềm đó? + Có bao nhiêu chức năng trong số những chức năng đó đã được chuẩn hóa?
+ Những chức năng nào có thể sử dụng được nhờ việc sửa lại mã phần mềm trọn gói?
+ Những chức năng nào mà phầm mềm không thể cung cấp được? + Phân mềm này có thể đáp ứng được tương lai hay khơng?
• Tính linh hoạt
+ Phần mềm này có thể dễ sửa chữa khơng?
+ Những đặc điểm nào có thể thay đổi được theo yêu cầu của người sử dụng?
+ Liệu nhà cung cấp có sẵn sàng sửa chữa phần mềm theo u cầu của người sử dụng khơng?
• Tính tiện ích cho người sử dụng
+Phần mềm có thể sử dụng bởi những người khơng có kiến thức về kỹ thuật không?
+Yêu cầu về đào tạo để sử dụng hệ thống có nhiều khơng? +Phần mềm cho phép người sử dụng kiểm sốt tới mức độ nào?
• Các cơ sở phần cứng và phần mềm
+Chương trình địi hỏi những cấu hình phần cứng nào? +Cần có những hệ thống điều hành nào?
+Phần mềm yêu cầu về dung lượng bộ nhớ và ổ đĩa như thế nào?
• Cácđạc điểm của cơ sở dữ liệu
+Phần mềm sử dụng cấu trúc dữ liệu nào?
+Liệu cơ sở có đáp ứng được cho yêu cầu khôi phục dữ liệu và xử lý dữ liệu theo dạng khách/chủ khơng?
• Các nỗ lực thiết lập hệ thống
+Phần mềm có đoi hỏi nhiều thay đổi về các thủ tục không?
+Việc chuyển đổi từ các hệ thống sẵn có sang các hệ thống mới có khó khăn khơng?
• Bảo trì
+Liệu nhà cung cấp có thể cung cấp khả năng bảo trì và cập nhật mới cho phần mềm khơng?
+Mã nguồn có rõ ràng, có cấu trúc và dễ bảo trì khơng?
+Số lượng nhân viên tối thiểu cần có để bảo trì hệ thống là bao nhiêu?
+ Những nhà tài liệu nào(hệ thống và người sử dụng) được trang bị cho phần mềm?
+ Những tài niệu này có dễ hiểu và dễ sử dụng không?
+ Những tài liệu này đã được hồn thiện chưa hay cịn phải mất thời gian viết thêm các phần giới thiệu?
• Chất lượng của nhà cung cấp
+ Nhà cung cấp có kinh nghiệm trong lĩnh vực xây dựng những hệ thống phần mềm này không?
+ Liệu doanh số bán hàng của nhà cung cấp có cao hay khơng?
+ Liệu nhà cung cấp có trách nhiệm đối với những yêu cầu của người mua về các khả năng hồn thiện phần mềm khơng?
+ Nhà cung cấp có tiếp tục cung cấp và hồn thiện các phần mềm trọn gói đó khơng?
+ Nhà cung cấp hỗ trợ thêm những dịch vũ gia tăng giá trị nào (nhân viên hỗ trợ, đào tạo miễn phí, nhận viên phát triển và nghiên cứu)?
• Chi phí
+ Gía mua phần mềm có bao gồm các mơđum phụ trợ, các phương tiện khơi phục dữ liệu, thiết kế màn hình, thời gian cố vấn, đào tạo, và hỗ trợ thiết lập hệ thống không?
+ Liệu cịn tồn tại chi phí bảo trì và các hợp đồng bảo trì hệ thống khơng?
+ Chi phí điều hành nằm cho khối lượng các công việc được xử lý bởi phần mềm này la bao nhiêu?