Username: Save?
Password:
Home Forum Links Search Login Register*
    News: Keep The TechnoWorldInc.com Community Clean: Read Guidelines Here.
Recent Updates
[August 11, 2025, 02:03:44 PM]

[August 11, 2025, 02:03:44 PM]

[August 11, 2025, 02:03:44 PM]

[August 11, 2025, 02:03:44 PM]

[May 13, 2025, 02:04:25 PM]

[May 13, 2025, 02:04:25 PM]

[May 13, 2025, 02:04:25 PM]

[April 12, 2025, 01:54:20 PM]

[April 12, 2025, 01:54:20 PM]

[April 12, 2025, 01:54:20 PM]

[April 12, 2025, 01:54:20 PM]

[March 12, 2025, 03:05:30 PM]

[March 12, 2025, 03:05:30 PM]
Subscriptions
Get Latest Tech Updates For Free!
Resources
   Travelikers
   Funistan
   PrettyGalz
   Techlap
   FreeThemes
   Videsta
   Glamistan
   BachatMela
   GlamGalz
   Techzug
   Vidsage
   Funzug
   WorldHostInc
   Funfani
   FilmyMama
   Uploaded.Tech
   Netens
   Funotic
   FreeJobsInc
   FilesPark
Participate in the fastest growing Technical Encyclopedia! This website is 100% Free. Please register or login using the login box above if you have already registered. You will need to be logged in to reply, make new topics and to access all the areas. Registration is free! Click Here To Register.
+ Techno World Inc - The Best Technical Encyclopedia Online! » Forum » THE TECHNO CLUB [ TECHNOWORLDINC.COM ] » Techno Articles » Internet
 Obtaining and Implementing Software Solutions
Pages: [1]   Go Down
  Print  
Author Topic: Obtaining and Implementing Software Solutions  (Read 595 times)
Shawn Tracer
TWI Hero
**********


Karma: 2
Offline Offline

Posts: 16072


View Profile
Obtaining and Implementing Software Solutions
« Posted: February 27, 2008, 03:42:56 PM »


Obtaining and Implementing Software Solutions
 by: Michael Baker

Why Reinvent The Wheel?

For software, be it a database, operating system or any other application, whatever you need, chances are something very similar has already been written. Having located something similar it is usually very easy to adapt it to your own needs. This is a process that works with both commercial software and with open source software, and provides many benefits including reduced cost, time and risk.

An Interruption

The standard life cycle of a typical software development project can be summarised as perception of need, systems analysis, requirements definition, design, implementation, testing, installation, maintenance. Variations on this are possible, such as prototyping and rapid application development. However all variations go through each of these stages in some form.

By interrupting the process after the requirements definition stage it is possible to short-circuit much of the rest of the process. Given the requirements it is often possible to find some existing software that provides most of the desired functionality. To do this it is necessary to have a wide appreciation of contemporary software in many fields. Target systems for re-use are often found in unexpected places.

Re-purposing existing software will usually take less time, cost and risk compared to writing new software from scratch. Provided that a software application can be found that meets most of the requirements for the new system, then adding the extra functionality will involve less time, cost and risk. If a business case can be made for developing a new software system, then a stronger business case can be made for re-purposing existing software.

Two Examples

Here are two examples from my own experience. The first was a conference billing and booking system for Warwick University, the second a database to track and gather statistics at a disability advocacy service.

Conference Billing and Booking

In the mid 1980's Warwick University wanted to computerise its conference booking and billing system, which up until that time had been paper based. As a consultant, having analysed their requirements, I concluded that what they were looking for was very similar to a hotel management system. After a search for suitable suppliers, Innsite (now RedSky IT) were selected. Innsite had a modular suite of programmes that would do everything that Warwick required except for booking facilities such as meeting rooms and AV equipment. They were happy to write a module especially for Warwick's needs. This solution turned out to be more cost effective for Warwick than having their own system written.

Complaints Database

Recently I was approached to fix problems with a database used to track complaints in a disability advocacy service. The database had been written in house several years previously, the developer had left and the documentation was missing. It quickly became apparent that replacing the database was going to be easier that trying to fix a database that was running under an unsupported database system.

After a workflow analysis and requirements definition for the database it became apparent that what was required was very similar to a Customer Relationship Management (CRM) database. A search on Sourceforge, the home of many open source software projects, turned up several CRM systems. The solution chosen most closely matched the requirements, was most mature and was easiest to adapt to the clients needs. The solution is based on a MySQL database with an interface written in PHP, both of which are also free software. The simplest way of providing the necessary platform to run the solution on was to install XAMPP, a single package that provides an integrated set of Apache web server, MySQL database and PHP web programming interface.

Summary

Interrupting the standard life cycle of a software development project after the requirements have been defined, to locate existing software that meets most of the desired functionality, can reduce the time, cost and risk involved in delivering a working product.

About The Author

Copyright © 2006 Dr Michael Baker.

Dr Michael Baker is an IT specialist with over 30 years software and web development experience. For further details see his website: http://www.michael-baker.com.

Logged

Pages: [1]   Go Up
  Print  
 
Jump to:  

Copyright © 2006-2023 TechnoWorldInc.com. All Rights Reserved. Privacy Policy | Disclaimer
Page created in 0.06 seconds with 23 queries.