![]() | We base our development process on Architecture Driven Development approach. It allows to reduce development cost and risks and to improve performance, reliability, expandability and maintainability of application. We develop Java and .NET (C# and ASP.NET) applications of different kinds: from standalone single user programs to distributed enterprise and web applications, from product for one particular Customer to software product lines. And all our application development is architecture driven. We understand Architecture Driven Development as an approach when Code is created to fulfill Requirements according to Architecture. Architecture Driven Development can be used either with or without detailed design document, depending on budget and time limitations |
|
.
Why Architecture Driven Development is good
Architecture forms a framework of application, it allows to significantly improve such businesswise important attributes of software product as the following:
- Development cost – integration of existing libraries, code reuse and minimized rework - that is what good architecture gives and that reduces the cost.
- Performance – both short response times and ability to serve many simultaneous users.
- Reliability – application does not misbehave (does not corrupt data and does not hang up) in extreme situations - server shutdown, big load, wrong input data, etc.
- Expandability – the possibility to add or change functionality without costly and risky restructuring of application.
- Maintainability – the easiness of finding and fixing a bug.
Architecture description
Architecture description may be detailed and it may be brief, it may be in form of UML diagrams and it may be in form of text with illustrations (usually it is a mix of both). Concrete form depends on the project needs and Customer standards.
With architecture we do not aim for automatic code generation, we aim to concentrate thinking on the areas where intellectual efforts can give unproportionally big effect, like the following:
With architecture we do not aim for automatic code generation, we aim to concentrate thinking on the areas where intellectual efforts can give unproportionally big effect, like the following:
- application layering,
- choice and usage of existing libraries,
- logic unification for effective functionality reuse,
- parallel processing (proper synchronization, deadlock and bottleneck prevention),
- performance assurance (by caching, lazy loading, client-server communication reduction, etc),
- module logic encapsulation and inter-module communication,
- unification of approaches for frequent similar tasks (it is often the case in GUI),
- permission handling,
- multilanguage support,
- logging.
During the development architecture is usually being adjusted. We keep architecture description up to date as it is actively used on all stages of development and also during maintenance.
We offer Architecture development both as part of complete system development and as a separate service.
For the details please look at List of Services.
We offer Architecture development both as part of complete system development and as a separate service.
For the details please look at List of Services.


