Software Architecture & Software Design
HELVETING is your partner for the engineering of software that is fulfilling your needs. We give you advice to make the right choice and develop your custom-fit solution. Be it a completely new software or an extension of an existing system, HELVETING will find your individual solution.
The software architecture defines the foundation of the software
Software architecture is the key to an efficient operation of your software. The lifecycle of software is similar to the one of a human being. Important and fundamental developments are done in the childhood. Based on software architecture, it becomes apparent if the product is functioning flawless, if the maintenance costs are low and if the product can be easily modified for future demands. Is this basis not or only partially established, it becomes harder and more expensive to correct these substantial errors at a later stage. Thus, the software architecture is the crucial basis for productive and custom-tailored software.
How does HELVETING support the software development in the various phases?
We develop new and individual solutions for you:
Together with you, we work out a custom-fit solution on your desires and needs. This is done in an iterative process:
- Development of software from A to Z, architecture inclusive
- Preparation of software architecture (as documentation)
- Software prototype development
Further development and extension of existing systems:
- Problem control: Consultancy in software architecture and in software design for the solving of various problems such as performance, crash, maintenance, costs and much more
- Software system migration: planning, design or execution (e.g. into the Cloud)
- Software maintenance
What is the methodology of HELVETING?
HELVETING is looking for a suitable solution based on your business demands for you. HELVETING helps you with a comparison of all the pros and cons for the right decision to answer which architecture type, which architecture design and which technology is the most appropriate for the realisation. HELVETING offers you different options and explains them to you in order to choose a custom-fit solution that meets your needs.
HELVETING creates additionally to your solution a prognosis for the expected lifetime of the system. That way, you can plan beyond the development the productive operating costs and the costs for the maintenance.
HELVETING embraces quality. Software architecture and software design by HELVETING are in accordance with the standard ISO 9126. Important basic requirements such as reliability, comprehensibility, security and performance for the end user as well as modifiability, serviceability and testability for the engineering team are presupposed in this ISO standard.
Design specification can have various forms. It can be added directly to the requirements or exist as a stand-alone document. We can create design specifications in UML, text or other forms.
What methods and competences does HELVETING us in software design and in software architecture?
HELVETING can process solutions with the following architecture types and technologies:
What influence do the design and the technology have?
In the above displayed architecture types, single components can have different designs as well as be based on various technologies.
Database design: Data normalisation and performance optimisation for Enterprise SQL databases (MS SQL server, Oracle, MySql) and local databases (SQLite, SQL CE)
Data access: ADO.net, LINQ to SQL, Entity Framework, Telerik Data Access
Service: Data exchange format, security, bandwidth and latency requirements; SOAP or REST Web Services, WCF Data Services
UI Design: Model-View-Controller (MVC), Model-View-View-Model (MVVM)
Design for testability: Test Frameworks: MS Unit Test Framework, MS Fakes, Telerik, NUnit, Moq
Synchronous/asynchronous concepts for UI and Services
Reporting solutions: Rose Reports, Telerik Reports, MS SQL Server Report authorisation concepts
How does the software architecture behave in the development environment?
Although the development environment is not an inherent part of the software architecture, the characteristics are essential to realise a solution with adequate architecture successfully. HELVETING has the following competences in this context:
Source Control Systems: TFS, SVN, Subversion, CVS
Integrated Development Environment: MS Visual Studio, Eclipse, Delphi
Team Development system: MS Team Foundation Server