|
Existing legacy applications are often
the perceived bottlenecks for companies keen on adapting
Internet technologies to take their business to a new
level. Porting such applications to the web often
becomes a very costly proposition. Nevertheless there is
precious data which is locked away in these applications
which would enhance your business if these were web
enabled. We have some solutions for you. As a result,
our clients openly express
their trust in our products and services quite often.
The services we provide include the
following: Re-0Engineering of existing legacy
application with Internet technologies. The advantages
of this are that your investment into legacy code
remains intact. Also, by segregating the user interface
from the business logic module of the legacy
application, we can modify only that which is required
for making your application "Internet aware". Helping
you decide which technologies best suit your
organization. We can review your existing systems and
applications, and your long term strategy and consult on
appropriate solutions. We can also lower your risk by
establishing the proof of concept on the proposed
solution by web enabling a part of your system, instead
of the whole.
Re-Architect an existing legacy
application to leverage your business process: There are
many ways to make your applications internet enabled.
Various tools and products are available today that
offer to accomplish these objectives. Our objective is
to provide you a with a low risk option for web enabling
your applications. Our experience in web enabling
various business processes and access to diverse skills
in Internet technologies helps us to analyze your
systems in the context of your long-range goals to
provide a strategy to get you there. Furthermore, we
provide the services to put the plan in action.
Web
Reengineering: Web Reengineering implies
changes of various types and depth to a system, from a
slight renovation to a total overhaul. A system was
developed for us, but 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
three 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?
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. 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 Detailed source code analysis at
textual, syntactic, and semantic levels allows
extracting maximum information from the system,
understanding its structure and logic. Source code
analysis also allows to detect various system defects,
such as un-initialized data, pointer errors, memory
leaks, incomplete uses of record fields, similar code
fragments, inefficient or high-complexity code, all of
which result in a lower system performance and lowered
efficiency.
Software
Product Engineering Top-level activities:
Appropriate software engineering methods and tools are
integrated into the project's defined software process.
The software requirements are developed, maintained,
documented, and verified by systematically analyzing the
allocated requirements according to the project's
defined software process. The software design is
developed, maintained, documented, and verified,
according to the project's defined software process, to
accommodate the software requirements and to form the
framework for coding. The software code is developed,
maintained, documented, and verified, according to the
project's defined software process, to implement the
software requirements and software design. Software
testing is performed according to the project's defined
software process. System and acceptance testing of the
software are planned and performed to demonstrate that
the software satisfies its requirements. The
documentation that will be used to operate and maintain
the software is developed and maintained according to
the project's defined software process. Data on defects
identified in peer reviews and testing are collected and
analyzed according to the project's defined software
process. Consistency is maintained across software work
products, including the software plans, process
descriptions, allocated requirements, software
requirements, software design, code, test plans, and
test procedures.
Inter-group
Coordination Top-level activities: The
software engineering group and the other engineering
groups participate with the customer and end users, as
appropriate, to establish the system requirements.
Representatives of the project's software engineering
group work with representatives of the other engineering
groups to monitor and coordinate technical activities
and resolve technical issues. A documented plan is used
to communicate inter-group commitments and to coordinate
and track the work performed. Critical dependencies
between engineering groups are identified, negotiated,
and tracked according to a documented procedure. Work
products produced as input to other engineering groups
are reviewed by representatives of the receiving groups
to ensure that the work products meet their needs.
Inter-group issues not resolvable by the individual
representatives of the project engineering groups are
handled according to a documented procedure.
Representatives of the project engineering groups
conduct periodic technical reviews and interchanges.
Peer Reviews
Top-level activities: Peer reviews are
planned, and the plans are documented. Peer reviews are
performed according to a documented procedure. Data on
the conduct and results of the peer reviews are
recorded. |