• Call us on +44 1986 232040 or
  • Email enquiries@microdata.systems

Software Development

Image
Over thirty years spent developing software for a wide variety of clients has taught us that no two projects are the same and a "one size fits all" approach is mostly impractical. With this in mind, it is likely that the creation of your system will be unique to you, but in general it can be broken down into six, not necessarily linear, stages.

We use a prototyping methodology, which has been proven to result in systems that more closely match our clients' requirements and offer what we consider to be the most rapid way to deliver a system that meets, and exceeds your initial expectations. For smaller systems some of the stages are combined. For example, design and implementation can often become a closely coupled iterative process that has no clear boundary.

Your system will be developed using any number of different technologies, depending on your requirements. We typically prefer to implement "desktop" applications, for a number of reasons. If portability, or global availability are a concern, we would usually suggest a "web based" system, though it is also possible to provide distributed access to desktop applications. Through discussion with you, the best approach for your specific situation will be chosen.

Specification

We discuss your exact requirements, ensuring that all key elements are taken into consideration. Scope is determined, so that the interface between the new system and any existing systems is clearly defined. Performance characteristics are also discussed to ensure that the completed solution operates within appropriate parameters.

Design

Taking the specification into consideration, the software and hardware design are created. Since we develop software using a prototyping methodology, we occasionally implement certain elements of our designs ahead of time so that we can determine performance characteristics of our design and revise it accordingly.

Implementation

The appropriate platform and software development toolkits are determined and work begins on realising the design. Since our software is prototyped, the design and implementation may be revised simultaneously whilst working closely with you. Developmental testing also occurs to ensure that the performance characteristics match the requirements.

Testing

During the implementation phase, developers constantly test the various system components to ensure that it operates correctly and according to the specification. This work happens "behind the scenes". Completed components are also made available to you, so that they can be tested and confirmed to be operating as expected.

Revision

Often, the prototyping process results in suggestions for enhancements or improvements to the original specification. These can be deferred to a further stage, or may become part of the design, implementation and testing cycle. This would be based upon your own preferences and budgetary requirements. Small revisions and improvements additional to the original specification may be included at this stage.

Production

Once the iterative implementation, testing and revision phases are complete, and a final test of the complete system is signed-off, the software can be introduced. Often, where possible, a phased approach is taken - particularly if replacing an existing system. We work closely with you to ensure a smooth transition to your new system.

Examples of our work

Fulfilment Systems

Our software is used to manage the fulfliment of stock on behalf of a number of leading TV shopping vendors.

 

 

Payment Processing

We have integrated systems with various payment processors, including Paypal and Mastercard. We have also worked with one of the leading payment solution providers that manages funds for many local authorities.

Accounting Software

We have created a complete open source accounting package that fully integrates with our business management software. We are also able to help you integrate your systems with other accounting software vendors.

Product Costing

We have assisted a leading packaging supplier with the creation of a complete product costing solution. Historically, we have also assisted clients accurately track and manage time and materials in both manufacturing and service sectors.

Club Management

Our software manages pay as you go club memberships for a number of clients. These systems manage membership tracking, renewal and payment processing.

 

Dictionary Management

Our software was used to transition a medical dictionary author's content from various documents to a structured database. We are able to assist with parsing and structuring data so that it can be consumed in a variety of ways.

Embedded Systems

We have developed software for a number of different micro-controllers so if you are looking for a developer to assist with a new IOT project, we are able to help.

 

 

Archive Management

If you use the "Comma" archive software and are concerned about recovering your data, contact us. We have created a solution that allows a Comma database to be transferred to a more modern database and managed using our in-house software.

Language Learning

We are currently developing a language learning system that allows learners to focus on content that is most important to them, blending visual and audio cues with spaced repetition. It will be available as a desktop app, a web site and on mobile devices.

In case you are looking for a list of the different languages and technologies that we are familiar with, they are listed below. Usually our clients allow us the freedom to work with the tools that we determine as being the most suitable for the task in hand, but if you have a legacy system that you require assistance with, this information is for you.

Historically we have worked with assembly language (Zilog, Intel, AMD and ATmega), C, C++, Modula-2 and Objective C.

Currently, we tend to work with PHP, Javascript, and Object Pascal (both Delphi and Freepascal). We also work with HTML, CSS and frequently integrate with different APIs.

Our preferred database is Postgresql but we also work with Mariadb/MySQL, Firebird, and Oracle (respective trademarks acknowledged).

Micro Data Systems Ltd
60 Blakestone Drive,
Thorpe St Andrew,
Norwich,
Norfolk,
NR7 0LF.

Tel: +44 1986 232040
Email: enquiries@microdata.systems