Software, in its development, usually goes through different phases - all of which require their own type of expertise. We, here at accellence, offer a broad range of services that extends from the very first consultation through to the training of your employees. In this section, you will find an overview of the services we provide for your benefit. Is there an aspect that you feel is missing? Please do not hesitate to let us know.
Our range of services
Consulting
AT A GLANCE
- Complex security requirements require an intensive consultation phase.
- Accellence offers a broad and versatile range of advisory and consulting services.
- Our team has more than twenty years of experience in consulting, which, along with its multifaceted competences, makes it the ideal consulting partner for your project.
- We offer our advisory and consulting services internationally.
We offer advisory and consulting services regarding all matters of video security as well as in respect to our software products EBÜS (alarm receiving centre) and vimacc (video management), and concerning WinCC OA (process visualisation with a video option). Our clients’ complex safety requirements frequently guarantee the safety of people or buildings, or aid the monitoring of valuable machines. This is why an intensive consulting process may be needed, during which we can discuss our clients’ often highly specific questions, the better to advise them and offer specific solutions. This can range from simply providing guidance on choosing the ideal CCTV cameras to virtual camera planning to the conception and planning of technically complex network and software architecture. Non-proprietary, of course. Choosing and testing vital hardware – e.g. cameras, terminals, servers, or network components - may also feature as part of our consulting services.
The range of our consultation services mirrors the high versatility of our software specialists. We offer our clients more than a hundred man-years of experience and expertise to benefit from. Integrating systems into their corresponding system environment is an area of particular focus for our software engineers. We invite our clients from anywhere in the world to draw on our specialists’ expertise, and we accompany and support projects not just in Germany, but internationally also - as well as on-site, if so desired.
Software architecture
AT A GLANCE
- Determining software architecture in advance is often vital – particularly where it concerns large, long-term projects.
- We do this by querying various aspects of the intended project, with the final aim of devising a blueprint.
- Long-standing experience and profound knowledge in areas including, for example, C++, C#, Java or network technology is essential to devising professional software architecture.
Software architecture describes the basic components and their interaction within a complete software system. Thus, it is possible to specify in varying depth the whole of the software system: In what way will we put the software together?
What is the most suitable basis? Which software components shall be employed? Where will interfaces need to be included? These are only some of the questions we consider when devising software architecture. They result in a blueprint for the intended software – the software design.
Developing software does not always require a predetermined software architecture. Having one does however, become essential once the number of tasks the intended software is meant to perform pass a certain threshold or if it is to be expected that the software development process will require an extended period of time.
Long-standing software development experience and a profound knowledge of all it involves is key when it comes to devising a professional, well-founded software architecture. Our team’s special expertise in programming languages including C++, C# and Java as well as in network architecture, to name just a few examples, are vital for devising an optimal software architecture.
Hardware qualification
AT A GLANCE
- We test target hardware, extensively and in advance.
- Our video lab enables us to run tests in a set-up that closely emulates the real situation.
- The process of qualifying hardware is one component of the larger field of network architecture.
As early as in the planning stage of our clients’ complex projects, questions of suitable hardware may frequently arise. Choosing by indicator numbers and performance parameters, and estimating or calculating for the desired outcome is the easy part. But how do you know how the hardware will actually perform once deployed in the real world? Is it going to be as effective as previously estimated or calculated?
In order to effectively help you answer these questions, we can test the target hardware, or any kind of hardware that has already been designated for use in your project, extensively and in advance. Video projects in particular often involve very data-intensive processes, which we are able to simulate in our video test lab. It allows us to run comparative tests in conditions specified by you or with specific system peripherals, e.g. with various camera types.
Our understanding of hardware involves not just computers or servers, but also backup systems, monitors, cameras, encoders and decoders as well as other hardware components. Once it is performed, hardware qualification forms a key component for a suitable network architecture.
Software development
AT A GLANCE
- The services we offer cover software engineering in all of its facets.
- We develop software in various programming languages, according to requirements, and for use with both Windows and Linux.
- We offer particularly strong expertise in C++ development.
To put it briefly: The tenet of our software development process is to develop reliably performing software to meet our clients’ specifications, and to do so in a way that is economical, that is to say with a minimum of expenditure. The services we offer cover software engineering in all of its facets.
We perform a task analysis and devise software architecture, user interface and usability design. This is frequently followed by prototyping, which serves to test the feasibility of critical processes. If the project involves the creation of a new hardware infrastructure it may be necessary to create a corresponding network architecture. This comprises choosing suitable hardware and testing it in our test lab – what we refer to as hardware qualification.
The most elaborate part of the development process is the software development itself. Utilising various programming languages and different operating systems, we realise bespoke software applications according to our clients’ specifications and performance requirements. We specialise in C++ programming for Windows and Linux. However, we also employ other technologies, including JAVA and other web technologies, depending on the individual application.
Once the software has been tested and documented, we hand it over to our client and, usually, integrate into their system. This is followed by the so-called factory acceptance test (FAT), whereby our clients formally accept the software and its live operation commences.
Manueller & automatischer Test
AT A GLANCE
- Complex software solutions call for automated testing.
- Our team includes ISTQB-certified testers.
The testing of software fundamentally serves to assess and evaluate software in advance of its live operations to ensure it meets the defined specifications and to measure quality, that is to say to assess its process-critical parameters. Software testing comprises of four parts: component test, integration test, system test, acceptance test. Which partial test is to be carried out at what point in time may be specified in the V-model.
In software testing, a distinction is commonly drawn between manual testing and automatic testing. Manual testing, as its name suggests, describes a test sequence in which a software’s specified functionality and quality are tested manually. This way of testing is useful for simple software solutions with few operational and functional tests.
Complex software solutions call for automatic testing. In this case, test tools are used to generate complex test sequences and test scenarios which may be repeated indefinitely. The automated process allows for fast reproduction of test processes without the need for a software tester to be present. Once quality tests have been performed, a test protocol allows for a further improvement of the software’s quality.
In order to improve not only the quality of software tests, but of software testing, too, the IT industry has set itself a standard for the qualification of software testers, which is overseen by the International Software Testing Qualification Board (ISTQB). Accellence is following this standard: We have trained our staff accordingly, and they have been qualified as Certified Testers by the ISTQB.
Commissioning
AT A GLANCE
- Commissioning begins with the porting of the software onto the target hardware
- We conduct the fabric acceptance test (FAT) as per a previously defined protocol.
- Commissioning concludes with the client formally accepting the software.
- We conduct commissioning internationally and on-site, wherever in the world our clients are situated, and offer our clients the opportunity to combine it with on-site training.
The first steps in commissioning as regards software development projects in the area of security technology comprise the installation and configuration of software on the target hardware. This is followed by a function test.
The operability and flawless functioning of the software on the specified target hardware are proven to the client with the performance of a factory acceptance test (FAT). To this end, the developed software is installed on the target hardware, which may be IT equipment (PCs, server), machines, vehicles or other hardware, and tested. Testing is conducted jointly together with the client and as per a previously agreed test protocol. The commissioning concludes with the client’s formal acceptance of the software.
The factory acceptance test is usually conducted on-site at the clients’ (‘in the factory’). If so desired, it may also be conducted here at the Accellence. This can be useful particularly for projects where the actually intended user of the software is not our client, but one of his customers – a so-called end user. In this case, the factory acceptance test functions as a kind of dress rehearsal, and a second test, the site acceptance test (SAT), is being performed after the software has been installed on-site. If our clients so desire, we are happy to support them with this also.
Occasionally our clients choose to forgo the factory acceptance test, opting for conducting the commissioning of the complete system and its acceptance directly on-site at the end customers’. We support this type of commissioning internationally and on-site. It may be combined with simultaneous on-site training, if desired.
Documentation
AT A GLANCE
- Our documentation’s size is determined by our clients’ wishes, as well as the software’s complexity.
- Extensive documentation may comprise chapters concerning installation, operation, service and a description of software interfaces.
- Depending on the type of project, a separate user guide and technical documentation may prove beneficial.
- User guides also serve as a basis for the training of personnel, which we also offer.
- We usually compile documentation in German, but on request offer English documentation, too.
One of the services we offer our clients as part of our software development is the compilation of documentation for their benefit, if they so desire. The documentation’s size is usually determined by our clients’ wishes, as well as by the type of software developed and its complexity. Whereas a simple interface only requires a simple installation guideline, software may require a software documentation which can range from installation to operation and service to a description of software interfaces.
Documentation may be structured differently depending on the type of project in question. Should it be necessary to compile documentation for the service personnel which includes the GUI and explains use of the individual software features, we recommend splitting the documentation into a user guide and separate technical documentation. This also allows for the user guide to potentially be used as the basis for training service personnel, which we offer as well. Should you desire software documentation reviews, please do get in touch. By default, we compile our documentation in German. We offer the compilation of documentation in English also, if desired.
Training
AT A GLANCE
- Learning the proper use of complex and specific software in particular can take a long time.
- To help you shorten the time it may take your staff to make proper and comprehensive use of our software, we set up a learning centre.
- Our learning centre has been specifically designed and technically equipped so as to provide an optimal learning environment.
- We offer training in German and English (on request).
The appropriate use of complex and often highly specific software in a technical environment usually requires training of maintenance and operating/service personnel.
In order to help you train staff efficiently and with optimal success, we set up a learning centre, in which we offer training courses on a regular basis.
Some of these focus on user training in regards to our software products vimacc and EBÜS. We also offer a training module for the process visualisation software WinCC OA, which focuses on its video component, run jointly with Siemens. The learning centre is equipped with a multitude of sources and sinks and designed so as to provide an optimal teaching and learning environment for the benefit of our course participants. We offer training in German or, for our international participants, in English.