Software Engineering
The DDS Software Engineering Service Line provides our clients with the design, development, and implementation of customized software applications. Software engineering also includes the enhancement of existing software, or the integration of COTS software with legacy systems and applications.
Generally software engineering projects will include the following elements:
- Needs Analysis - determines what solution is required
- Requirements Analysis - determines timeframe & cost to construct solution
- Software Design - development of the software solution
- Software Implementation - installation and setup of the software solution
- Software Testing & QA - ensures solution is performing as intended
- System Support - ongoing maintenance and upgrades to the solution to ensure peak performance
The specific implementation of software engineering projects will differ, depending on the type of engagement with the client. In general, there are several options under two distinct categories:
Software Engineering Support
- Short-term Software Consulting
- Long-term Software Consulting
- Software Contractor Support
Software Product Development
- Complete Solution Development
- Partial Solution Development
- Solution Rework
- Solution Port
Here's a description of each category:
Software Engineering Support projects are those projects for which we provide support to a client to assist in the development and/or maintenance of an existing software application.
Short-term Software Consulting projects are generally those that happen when a client has some specific problem to solve or feature to implement.
Long-term Software Consulting projects are those that happen when a client needs to have someone periodically help with various aspects of the project, but does not have enough work to commit to a contracting engagement. In this type of engagement we should seek a 'retainer' type of payment method.
Software Contractor Support projects are those that happen when a client needs to augment his/her staff with a full-time person for some (possibly unknown) period of time. In this type of engagement you should expect month-to-month or retainer billings, with some commitment from the client on how long the resource will be needed.
Software Product Development projects will be those for which DDS will provide end-to-end development of a software product for a client.
Complete Solution Development projects - client has a specific need, and there are no commercial solutions (COTS) available to fit those needs.
Partial Solution Development projects - client has a partial solution either from an off-the-shelf product, or from an existing application, and needs us to implement the rest of the solution.
Solution Rework project - client has an existing solution that no longer meets their needs. This can be the result of a previously failed project with another vendor.
Solution Port project - client has an existing solution that satisfies their needs, but it is outdated and must be upgraded to support new hardware, operating systems, etc.
Some of the database and development tools used in the Software Engineering Service Line are:
- Microsoft .NET (ASP .NET, VB .NET, C# .NET)
- Sharepoint Portal and MOSS
- Java
- Python
- Oracle
- SQL Server
- Microsoft Access
- DB II
- Informix
- Delphi
- HTML
- C++
- Xbase