Reengineering
Reengineering means changes in existing system at various levels, from a small changes to a total overhaul. The Challenges that our clients face when the business process changes and demand for the software renovation:
- The existing system developed does not fulfill our needs we'd like to change several things, namely improve the system's functionality, usability, security, stability and performance; change the system's architecture or adjust it for another platform. Unfortunately, we don't have the detailed documentation on this system or a knowledgeable enough staff. How do we implement the desired changes?
- We have systems with roughly the same functionality, which work on different platforms. As these systems supplement each other, users have to use all three of them. This makes their work more complicated (starting one system means first shutting down the other two) and adds a lot of extra work for the system administrators (when a new user is added, the data must be copied to all three systems). We want to have one system instead of three.
- We have a best-selling software solution and received an order from a major client to modify it. However, no company wants to undertake its maintenance. What shall we do?
- A software component was written by someone who is no longer with the company, and there is nobody capable of working on the system's maintenance. There is no documentation or comments in the program. What shall we do?
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------TOP---------
What we do then at KIPL ?
We follow the very logical methodology to do the job and complete it successfully
DataArt's methodology and expertise allow for reengineering of complex systems even in situations when the documentation is scarce or lacking. DataArt takes the following steps in approaching each task:
Architecture
- Analyzing documentation (if documents are available)
- Determining the degree of conformity between the documentation and the existing solution
- Detecting weaknesses of the solution's architecture
- Eliminating the detected weaknesses
Mass Code Conversion
- We use both automated and manual code conversion methods. For most typical situations, such as converting VB6 to .NET, we have developed methodologies for a proprietary automated code conversion. For one of our clients we effectively used an automated Access to SQL conversion.
- Special attention is paid to the business logic, presentation and data access layers. The features' implementation in the most modern platforms is fundamentally different from older ones.
Security
- Learning the client security requirements
- Analyzing requirements to determine the level of conformity between requirements and the current solution
- Offering solutions for the required security
Performance
- Testing performance of the system's parts separately
- Testing performance of the separate layers for multi-layered applications. For one of our recent clients, for example, we used the following technologies:
Data Layer
- SQL profiling
- Execution plans analysis
Business Layer
- MS ACT for Web applications
- Aq Time for .Net Desktop profiling
This process improved the system performance by over 300%!
- Analyzing the existing source code and detecting potential bottlenecks
- Our expert knowledge of the .Net framework allows for performance fine tuning of critical application parts.
Reverse Engineering
- Knowledge, expertise and technology allow us to analyze the most complicated business processes with only the application itself and minimal documentation
Error Handling
- Testing the system for errors and making detailed descriptions
- Finding the cause of errors
- Error recovery
----------------------------------------------------------------------------------------------------------------------------------------------------------------------TOP----------
DataArt's Resources
People
DataArt's team of reengineering experts has successfully completed over 30 reengineering projects with various levels of complexity. According to DataArt's head of reengineering Artyom Astafurov :
"There is no task that can't be achieved if you have a solid education, a sense of creativity, a good knowledge base and a wide range of experience. DataArt team has these qualities and therefore is capable of performing any task. The more challenging a task, the greater the motivation to complete it "
