Software Development

How many times have you looked for software that would do things exactly the way you want it done? Were you disappointed?

Depending on your special circumstances, custom software might be the answer for you.

We, at Compublue, believe that the most important factor for quality software solutions is the application of well-proven software engineering methodologies and principles to the product. Software developers can only produce good products if they are software engineers first.

Our Software Development Services

We start by documenting the purpose that the product is to serve. From this, we develop software requirements, which are reviewed and finalized with participation from the client. We then proceed with selecting the right tools, and creating the design documentation. To ensure that the design fully addresses all the requirements, we develop a traceability matrix between the requirements and the design document, that points out which parts of the requirements are addressed in which parts of the design document. From this, we proceed with coding, which is accompanied with comments, that trace the coding to the design document, in order to ensure full compliance with the design document.
Once the requirements have been written within the Software Development process, we begin developing high level software test cases, to cover all the requirements. A traceability matrix is utilized to assist with this coverage. These test cases are reviewed with the client for completeness. Next, depending on the application and client preference, automated test drivers, or manual test (step by step) processes are developed. These test cases are run against the developed programs, to verify proper operation.
Software maintenance refers to the updating of software functionality, and fine-tuning of existing functionality. We stand behind every product we develop. By applying the right engineering processes to Software Development, we have all the right elements in place to provide cost effective software maintenance services to our clients. Furthermore, should our clients choose to do their own software maintenance, they will be receiving a well-constructed product to work with.
First we discuss with the client the need for any triage work for any immediate problems that are "business stoppers". If so, we quickly examine the shortest path to alleviating the immediate problems. Next, depending on project budget, we examine the existing construction of the software environment (architecture and code), and determine the best course of action for a reliable solution. Then, depending on the situation, we apply the different steps described in Software Development, in the best order possible to solve the existing problems. This order may vary from project to project. For instance, for a product that may be functioning unreliably, if there is a satisfactory requirements document, the best solution may be to write thorough test plans first, to determine all the deviations from the desired functionality. Then, trace this back to the parts of code that may require redevelopment, or correction.
In today's IT environment, heterogeneous systems are the norm, not the exception. Data Integration among heterogeneous systems is an ongoing challenge for many organizations. Compublue, depending on the architecture of your system, can offer many solutions, to address this challenge. Our solutions include, process reengineering, product replacement, and application development, and use of OTS (Off The Shelf) data integration tools. Our consultants will evaluate your needs, architect multiple approaches, evaluate the pros and cons of each approach, and arrive at a solution, best suited to your needs. Next, depending on project budget, we examine the existing construction of the software environment (architecture and code), and determine the best course of action for a reliable solution. Then, depending on the situation, we apply the different steps described in Software Development, in the best order possible to solve the existing problems. This order may vary from project to project. For instance, for a product that may be functioning unreliably, if there is a satisfactory requirements document, the best solution may be to write thorough test plans first, to determine all the deviations from the desired functionality. Then, trace this back to the parts of code that may require redevelopment, or correction.