2009-05-17 25 views
5

Tôi là một người không có kỹ thuật và có một công ty nhỏ đã hỗ trợ phần mềm công ty của tôi trong một số năm. Các giải pháp hoạt động tốt và hoán vị của giải pháp đã được với các nhà cung cấp dịch vụ CNTT hiện tại trong hơn 15 năm. Gần đây tôi đã có một công ty CNTT được thành lập hơn để thực hiện kiểm toán chung về phần mềm. Giải pháp hiện tại sử dụng truy cập như một giao diện người dùng với sqlserver 2005 làm cơ sở dữ liệu. Công ty kiểm toán đã đưa ra danh sách các lỗi trong số các công nghệ khác là lỗi thời, giải pháp không thể mở rộng, thiết kế kém, giao diện thân thiện với người dùng, bảng không chuẩn hóa, bảng không có tính toàn vẹn tham chiếu, không sử dụng các tiêu chuẩn mã hóa phù hợp và quy ước đặt tên, không có bảo mật ứng dụng chỉ bảo mật cơ sở dữ liệu, vv Công ty đã thực hiện kiểm toán đề xuất rằng giải pháp phải được viết lại và đề nghị làm như vậy. Các nhà cung cấp dịch vụ hiện tại thừa nhận một số phát hiện nhưng đảm bảo với tôi rằng nó đặt ra rất ít hoặc không có rủi ro cho doanh nghiệp của tôi. Để viết lại ứng dụng sẽ tốn rất nhiều tiền. Tôi đang ở trong một tình huống khó khăn và sẽ đánh giá cao một số lời khuyên kỹ thuật. Tôi về cơ bản cần phải biết nếu doanh nghiệp của tôi có nguy cơ chạy trên công nghệ hiện tại. Tôi có tối đa 70 người dùng đồng thời làm việc trên hệ thống tại một thời điểm nhất địnhGhi lại truy cập adp/sqlserver vào C# .net?

Trả lời

3

Vâng, nếu bạn coi trọng Joel's word, tôi sẽ nói rằng bạn thực sự đang mạo hiểm ở đây.

thứ Viết lại đã và sẽ không bao giờ là một điều an toàn để làm cho một công ty.

1

Những đề nghị được cung cấp bởi "hơn thành lập công ty CNTT" là khá phổ biến cho các dự án máy chủ truy cập/sql. Đề xuất này hầu như luôn viết lại chúng dưới dạng ứng dụng web.

Tôi chỉ làm điều này bản thân mình năm ngoái - đã lấy một ứng dụng cuối MS Access front-end/SQL Server, và viết lại phần truy cập như là một trang web C#/ASP.Net. Chúng tôi rất thích hiệu suất tốt hơn và linh hoạt hơn nhờ chuyển đổi, nhưng giao diện người dùng cũ đã đủ dài để chúng tôi không bao giờ lấy lại tất cả chức năng mà chúng tôi đã từng có trước khi viết lại. Nếu bạn đang thực sự nhìn thấy 70 người dùng đồng thời và không ai trong số họ đang gặp sự cố về hiệu suất và mạng công ty của bạn đủ an toàn, thì bạn có thể mất nhiều hơn bằng cách viết lại ứng dụng, ít nhất là về chức năng. Mặt khác, điều này có thể là một cơ hội tốt để đánh giá "những gì làm việc" và "những gì có thể làm việc tốt hơn" - và tăng cường quy trình công việc.

Sử dụng tuyệt vời các tiêu chuẩn mã hóa không nhất thiết phải chuyển thành một ứng dụng tuyệt vời.

2

Trước khi bạn đi xem vấn đề của bạn từ quan điểm kỹ thuật, bạn phải đánh giá mức độ quan trọng của ứng dụng là để doanh nghiệp của bạn. Có vẻ như bạn có một ứng dụng hoạt động. Nếu nó cung cấp hành vi nhất quán VÀ bạn không cần nâng cấp/phát triển mới, bạn có thể muốn để nó một mình. Chúng tôi phát triển phần mềm thích khiếu nại về mã của người khác, viết lại tác phẩm của người khác bằng các giải pháp "thanh lịch". Điều đó có nghĩa là tiền bạc.

Tuy nhiên, bạn có khoản đầu tư có thể cần bảo trì và khi bạn có mã và cơ sở dữ liệu cơ bản trong mảng, bạn sẽ phải trả thêm phí vì ứng dụng không tự sửa đổi. Bạn sẽ muốn có được một cảm giác về sự thay đổi bạn cần để hỗ trợ. Cho rằng nó đã được sản xuất trong 15 năm bạn đã có một hoạt động tốt, vì vậy bạn không có nhiều rủi ro ở đó.

Để viết lại bạn sẽ phải trả phí, vì bạn cần tạo lại ứng dụng, và vì cơ sở dữ liệu và chương trình hỗ trợ dường như "không chuẩn hóa" và không có cấu trúc nên sẽ tốn rất nhiều công sức. Có những ưu điểm để có một mô hình cơ sở dữ liệu sạch bởi vì nó sẽ dễ dàng hơn để làm báo cáo, xuất sang Excel, v.v. Và nếu bạn muốn sửa đổi nó, các nhà phát triển sẽ có thời gian dễ dàng hơn để tìm ra việc cần làm.

Để tiêu tiền để có được những gì bạn đã yêu cầu, bạn hãy thách thức công ty nêu chi tiết những lợi ích bổ sung bạn sẽ nhận được. Những lợi ích này vượt quá những gì bạn đang nhận được ngày hôm nay, và công ty này sẽ cung cấp những lời hứa của họ? Công ty của bạn sẽ tốt hơn nếu cơ sở dữ liệu được "chuẩn hoá" nhưng bạn không nhận được lợi ích nào khác ngoài những gì ứng dụng hiện tại cung cấp cho bạn? Hãy ghi nhớ những điều này trước khi bạn chuyển sang một nền tảng mới.

2

Để đun sôi nó xuống thành ngữ đơn giản, hãy tự hỏi những câu hỏi sau:

  1. Bạn đang gặp vấn đề với các phần mềm hiện nay? Người dùng có phàn nàn về giao diện người dùng hay đặc biệt khó để người dùng mới có thể nhận phần mềm khi sử dụng? Dữ liệu bị mất hoặc bị hỏng ở bất kỳ giai đoạn nào hoặc bạn đang gặp sự cố khi truy xuất báo cáo từ cơ sở dữ liệu?

  2. Bạn hiện tại hay trong tương lai bạn có thể cần sửa đổi không? Nếu phần mềm của bạn bị viết sai, các sửa đổi sẽ tốn kém hơn và có nhiều khả năng phá vỡ ứng dụng hơn và gây ra thời gian chết nói chung.

Nếu câu trả lời cho cả hai câu hỏi là không, thì có thể bạn không cần phải viết lại phần mềm. Bạn phải nhớ rằng các nhà phát triển phần mềm giỏi thấy phần mềm được viết sai và muốn viết lại nó đúng cách - cũng như điều này, có tiền cho họ trong việc phát triển phần mềm, vì thế quan điểm của họ không hoàn toàn không thiên vị. Giống như những người khác đã nói, viết lại một hệ thống có rủi ro riêng của mình - lỗi cũ đã được sửa chữa một thời gian dài trước đây có thể trở lại đầu của họ một lần nữa, lỗi mới có thể được giới thiệu, các nhà phát triển của hệ thống mới hoàn toàn có thể bỏ lỡ các điểm và làm cho hệ thống ít sử dụng hơn so với hệ thống trước đó.

Nếu có sự cố với hệ thống hiện tại, có thể đáng xem xét hệ thống được viết lại bởi nhà phát triển có thẩm quyền - nếu bạn chọn đi tuyến đường này, hãy đảm bảo nhận phản hồi từ người dùng hiện tại của bạn, đặc biệt là người dùng 'chuyên gia' hoặc 'quyền lực', để đảm bảo rằng hệ thống sẽ đáp ứng tất cả các yêu cầu của họ.

2

Khắc phục sự cố trong ứng dụng hiện có. Nó sẽ rẻ hơn nhiều, có thể được thực hiện từng bước, và nếu được thực hiện đúng cách, sẽ dẫn đến một ứng dụng bền vững hơn.

Đề xuất thay thế giao diện người dùng của ADP âm thanh như định kiến ​​thuần khiết/vô minh đối với tôi - chúng không bán phát triển truy cập để họ muốn xây dựng cho bạn một ứng dụng hoàn toàn mới. Mặt khác, lời khuyên về đầu cuối có vẻ giống như một thứ mà bạn không nên đợi để sửa (mặc dù nó có thể đòi hỏi nhiều công việc, vì dữ liệu hiện tại có thể sẽ không phù hợp với RI).

Sự cố kết thúc và giao diện người dùng là hai vấn đề riêng biệt và có thể được xử lý độc lập (mặc dù ứng dụng có thể cần được cập nhật để phản ánh thay đổi trong RI - không thể nói mà không đánh giá từng trường hợp).

Tôi sẽ thuê một nhà phát triển có thẩm quyền về Access với trải nghiệm ADP để xử lý dự án. Điều này sẽ rẻ hơn nhiều so với viết lại hoàn toàn và bạn sẽ không hy sinh bất kỳ chức năng nào, cũng như bạn sẽ không giới thiệu lại các lỗi đã được giải quyết trong ứng dụng hiện có của bạn. Nó cũng có thể được thực hiện từng bước (tùy thuộc vào vấn đề là gì và cách chúng cần được giải quyết).

0

Câu trả lời đơn giản ... Hầu hết các "rủi ro" khi sử dụng Access đều được kết nối bằng cách sử dụng máy chủ SQL làm phần cuối. Bạn đã nói giải pháp hiện tại của bạn hoạt động.

Vì vậy, nó sẽ tóm tắt kế hoạch tương lai của bạn. Nếu ứng dụng hiện tại của bạn không thiếu bất kỳ chức năng nào không thể được cung cấp thông qua quyền truy cập, tôi sẽ chỉ gắn bó với những gì bạn có. Nếu bạn cần các tính năng mới, tôi sẽ xem xét một vài điều.

  1. Chúng có phải là thứ mà Access không thể cung cấp hoặc làm tốt (ví dụ: Giải pháp hướng về mặt Internet) không?
  2. Lợi ích tiềm năng thu được bằng cách có các tính năng mới là gì?
  3. Chi phí tiềm năng phát sinh bởi không có các tính năng mới là gì?
  4. Bạn có thể đặt số đô la trên 1 & 2 không?
  5. Bao nhiêu để phát triển giải pháp trong Access?
  6. bao nhiêu để phát triển các giải pháp trong C#

Nói cách khác, luôn luôn làm CBA :) Hơn thế nữa, làm bạn sở hữu CBA, sau đó yêu cầu cả hai công ty cung cấp cho bạn một, và so sánh cho vui. Trong trường hợp xấu nhất, bạn có thể khiến công ty hiện tại của bạn giảm giá để giữ chân bạn như một khách hàng.

1

Điều gì đã nhắc việc kiểm tra? Giải pháp của họ có giải quyết vấn đề này không?

Hãy làm phép tính: Mọi người: 70 CPC Giờ Sử dụng phần mềm/ngày: 2 (bảo thủ) Mức lương/giờ: $ 8.00 (Really Bảo thủ) Business Days/năm: 250 (Đã diễn ra cuối tuần & nghỉ/ốm)

Chi phí lao động sử dụng ứng dụng: 70 * 2 * 8 * 250 = $ 280.000/Năm (Có thể vượt quá 500K)

Bạn có thể nhận được bao nhiêu cải thiện? 5%, 10%, 25% Đơn đăng ký mới sẽ mất bao nhiêu tiền? 50K, 100K, 200K

Nếu bạn có thể tiết kiệm thời gian này, người dùng của bạn sẽ được giải phóng để thực hiện tạo doanh thu hay họ chỉ có nhiều thời gian hơn để lướt web? Bạn có thể muốn tạo ra một số yếu tố hiệu quả công nhân: 90%, 75%

Các vấn đề liên quan