Software Development
Dcoded limited provides turnkey software development service. Tell us what problem you are trying to solve and we'll work with you to create the right application! We can create it from scratch or help you modify/update your existing programs.
Technologies
We have experience in a very broad range of software technologies including:
- Specification and design using UML
- Object Oriented Design and Programming
- Programming using C/C++/C#, Python, Ruby, Visual Basic and Java
- 3D graphics programming using OpenGL
- Advanced 3D geometry programming
- Windows GUI programming using MFC and .Net
- Skinned GUI programming using MFC
- Cross platform GUI programming using wxWindows
- SQL database programming
- Compiler creation with lex+yacc (flex+bison)
- GCode generation for NC machining
- Hardware interfacing using RS232 and USB
- Embedded Linux using uClibC and Busybox
We are always keen to learn new skills and use new technologies. We have a great deal of experience getting to grips quickly with third party development tools and libraries in order to deliver quality software. Contact us to discuss your software design requirements.
Design Process
For anything but the smallest projects DCoded Limited applies eXtreme Programming methodologgies to software design and development. We attach particular importance to the systematic testing of all code written and thorough documenting of all design and implementation decisions. Our software design principles include the following:

- The requirements are captured and documented prior to design
- The software architecture and operation are documented with commented UML diagrams
- Test units are created prior to actual coding
- The test units are systematically executed on every build
- The release iteration cycle is kept short (typically a few days)
- Constant code refactoring is performed to ensure high-quality design
This design process allows the production of high quality code, delivered fully documented and with a comprehensive set of test units which facilitates future development. Our short release cycle permits faster feedback and allows our customers greater control over the development of their applications.

