SOFTWARE DEVELOPMENT

Technology

We provide software development services based on proven design patterns such as MVC (Model-View-Controller), SOA (Service-Oriented Architecture) and Three-Tier Architecture. The choice which specific pattern to apply depends on the business needs of the Client as well as the conditions of the IT environment in which the software is intended to function.

To construct IT systems, we employ acknowledged methodologies such as MDA (Model Driven Architecture) and RM-ODP (Open Distributed Processing – Reference Model) as well as ISO standards. The solutions we use in our IT systems are both commercial and open source, i.e. based on free software components.

Development process

Our software is produced following a meticulous and proven development process. Where possible, we prefer to carry out projects according to the idea of Design Thinking. The first step in software development is to understand the needs of the user. This is the key step to guarantee the Client’s full satisfaction, and it is present regardless of the mode in which an order is accomplished. At this stage, we try to adopt the Client’s perspective and understand his actual needs (not strictly those articulated in the formal documents). The next step is to define the problem that needs solving. The precise understanding of the core of the task to be accomplished is an important part of this stage. The next step involves ideas. Our analysts employ a number of methods for generating ideas, e.g. brainstorming, the 635 method or the lotus blossom technique. The subsequent stage is prototyping. Here, we try to build a physical counterpart of the solution to be able to physically check whether a given solution (e.g. a functionality) meets the user’s needs and if it exhibits any faults that were not detected during the design stage. Testing the solution is the final step in Design Thinking. A crucial element of this method is the possibility of carrying out iterative improvements of the solution in order to eliminate any faults of the product that were impossible to identify during the design stage.

Geographic information systems

Systems utilising the idea of GIS (Geographic Information System) have a particular space in our portfolio. Within this scope, our offer encompasses the full spectrum of services, including:

  • The full software development process, including: analysing the Client’s needs, business analysis, system analysis, coding and testing of the developed software
  • Building data models (conceptual schemas) using the ISO 19100 standard series
  • Building GML application schemas based on conceptual schemas in UML
  • Modelling data processing methods and spatial analyses using UML notation
  • Establishing data quality models based on standard ISO 19157
  • Obtaining GIS data (vector and raster data models, photogrammetric and remote sensing data)
  • Data control using automated, semi-automated and manual mechanisms
  • Dedicated GIS applications using QGIS, GeoMedia and ArcGIS environments
  • Preparing and optimising database environments for collecting and processing spatial data – Postgres/PostGIS, Oracle, SQL Server
  • Publishing and optimising spatial data services, including hosting spatial data services
  • Cloud solutions for spatial data – VPS, bare-metal servers