Software Design

In the beginning there is the idea. Then it is researched, modelled and perhaps given the go-ahead to be implemented as part of a managed project. However, at some point that initial vision or idea needs to be transformed into reality.

The process of developing a solution can be split into multiple roles and/or processes which can use a variety of technologies and methodologies depending on the size of the solution and the set-up of the organisation.

Rainbow solutions Ltd is happy to work with your organisation in developing your IT solution in whichever way best suits you. We are more than happy to take on the Technical Consultancy role and hand over completed documentation for the Solutions Architect or vice versa. Alternatively we are equally pleased to manage the whole development life cycle for you.

However, for completeness we have described these roles and processes individually so that you might best decide which combination would best suit your needs.

Back To Top

Technical Consultancy

The role of the Technical Consultant or Functional Analyst (FA) is to capture, consolidate, and communicate the information from the Subject Matter Expert(s) (SMEs) to the rest of the team.

This often coincides and merges with the Business Analyst role whereby initial requirements are gathered in laymen's terms (or non-technical speak) and converted into technical language that can be understood by the Solutions Architect.

As Rainbow Solutions can provide a full end to end solution we have experience in combining the necessary skill sets of the 4 major roles (Business Analyst, Technical Consultant and Solutions Architect and Project Manager) involved in implementing and project managing IT Developments. For example, we can easily converse with a non technical manager to obtain his/her system requirements and automatically convert that into a technical document which can either be used internally by ourselves or provided for external Solution Architects / Developers.

Back To Top

Solutions Architecture

Rainbow Solutions has implemented many IT solutions, each of which follows a standard procedure.

Firstly, we verify that the appropriate level of business analysis has been completed and a finalised list of requirements has been agreed.

Secondly, we create a series of UML diagrams (essentially process diagrams) to map the existing business processes and data interdependencies so that each process, data table or entity is defined as an object.

Then we use the existing UML diagrams as a basis to create re-designs of processes, data tables, data interdependencies and software functionality. These new designs, which will be in-line with the requirements and scope of the solution as documented by the Business Analyst, will form the blueprint of the solution which can be 'signed-off' before the actual coding begins.

Back To Top

Object Oriented Design (OOD)

Object-oriented design (OOD) is used to develop an object-oriented model, as part of the implementation of the identified requirements, of a software system.

OOD is advantageous as it provides the benefits of maintainability and re-usability which saves time and costs and can yield gains in productivity.

Rainbow Solutions uses OOD in all of its design projects as many of the core functions of a software system: data access and retrieval are common amongst systems and it allows us to develop systems more quickly and cost effectively.

Back To Top

Unified Modelling Language (UML)

UML is a standardised specification, general purpose, language for object modelling and is used to create an abstract model of a system. In this case a system may be anything from software to business processes and organisational structures and relationships.

Rainbow Solutions believes that modelling a system using UML 2.0 can provide significant benefits to an organisation looking at implementing new IT systems or business processes. UML modelling not only enables an organisation to see a snapshot of a systems process before an implementation begins, it also enables designs to be visually checked and verified before any programming commences and furthermore with the use of advanced software UML models can be extrapolated into basic code and database template layouts which can save huge amounts of development time.

Many 'old-school' senior developers often used to say to me that you should be able to design your test plans before writing a single line of code. Whilst I've never known that to happen in reality, UML does enable the customer to visualise the end result of a development before any programming begins. This can in many cases provide reassurance to the customer to 'sign off' and agree to a proposed solution with a 'real' understanding of the target outcome. Additionally, this in turn provides a simple graphical structured framework for the developer to work to which should minimise development time and rework.

Rainbow Solutions Ltd uses Enterprise Architect to model customer software, data mappings, business processes and organisational relationships. However, whilst this software is of immense value to it has to be said that it is only as good as the knowledge that goes in to mapping the reality of your organisation and that in all honesty comes down to good preparation and solid Business Analysis and Technical Consultancy skills.

Rainbow Solutions are more than happy for you to take advantage of those skills.

Back To Top

System Tester / System Test Plan Designer

The system tester is responsible for conducting a series of tests on a complete, integrated system to evaluate a system's compliance with its specified requirements. The purpose of system testing is to determine whether the system complies with its functional requirements (as designed by the Functional Analyst).

System testing is best performed according to a specific System Test Plan which is a document that specifies the nature and order of tests to be performed. The tests themselves can either be carried out by an external resource or preferably by an organisation's super users (supported by the author of the software and the System Test Plan).

Where Rainbow Solutions has been involved in the development or design of a bespoke system, we are more than happy to offer our services in creating a system test plan and assisting in the efficient execution of the tests.

Back To Top

Bespoke Training

Where Rainbow Solutions have been tasked with developing a bespoke solution we believe that we are often the best equipped to roll out information and training regarding how the system works. Whilst your organisation's key stakeholders will automatically understand the information requirements of the system (after all they will have requested most of the functionality) they are less likely to fully understand the actual processing path of the software and so this is often best disseminated (at least initially) from the originator.

Rainbow Solutions Ltd can provide bespoke training at the level and intensity that you require, however, we will automatically, upon your approval, provide basic user training to super users as standard for any bespoke software that we provide.

Back To Top

Ongoing Support

Rainbow Solutions automatically provides a warranty period by which any initial bugs or errors will be fixed free of charge. This period can be anything from between 1 week and 90 days depending on the type and size of the implementation.

Towards the end of this warranty period Rainbow Solutions will offer further ongoing support & maintenance. This tends to be a bespoke package covering an appropriate level of time and materials based on your specific requirements.

You will not be under any obligation to take any such package with us.

Back To Top

Business Analysis, Software Design & Project Management Business Analaysis Software Design Project Management Contact Rainbow Solutions