Our
software team is commited to designing, building, and deploying industrial
strength systems. Our clients have little room for “down time” and that is
exactly the environment where we excel.
Software development has continuously changed and its flavors are numerous.
Therefore, our consultant training program is very important to help keep pace
with the changing environment.
Our
services include the full range of software services:
-
Database design: using SQL 2000, MS access, Oracle 8i, 9i, Linux MySQL
-
Stored Procedure to obtain faster response times
-
Writing Programs using: C, Visual C+, Visual C#, Visual Studio.Net, J2EE, WebSphere
Experienced consultants are aware that each software development undertaking is
unique and that specifications usually evolve. With solid underlying
architectures, these changes in direction need not derail system development
efforts. Modular components permit a flexibility that can accommodate the
natural evolution across lines of business and platform.
In the case of new development, all of our system designs are walked through by
a central design committee and then presented to the end client for review.
Because most of our clients have their own Information Systems departments, we
are aware that a technology transfer of information is essential to the ongoing
internal support of applications.
Astornet is presently managing its projects using CMMI maturity level 5 with an official appraisal
to be performed within few months.
What it means for you (our client):
> Better control of products and processes
> Lower effort and schedule overruns (91% projects completed
on schedule as opposed to an
industry average of 50%)
> Better risk management for your projects
> Significantly reduced costs (cost savings up to 40%)
> Higher customer satisfaction.
Our software engineering process
|
A
project is assumed to be managed in iterations, where each iteration covers
everything from requirements engineering to system level (and acceptance
testing). The advantage is that it is possible to evaluate progress in earlier
iterations to plan later iterations.
For example, given that a 80% of the use cases
(describing a scenario where the
system is used) should be covered during one iteration and only 30% were
actually covered, it may be desirable to decrease the scope of the system or
terminate the project. Adding new resources can be a viable solution, but this
does not necessarily improve the situation.
The emphasis in early phases moves from requirements engineering, to design and
implementation in the intermediate phases and ends with an emphasis on system
level and acceptance testing in the last phases.
Each iteration can be viewed as follows:
There are three overall activities:
-
planning
-
software quality assurance
-
configuration management
These three activities are used to control the project in various ways.
Further, the actual production of software can be viewed as 6 phases:
-
requirements engineering
-
design
-
implementation
-
low-level testing
-
integration testing
-
system-level testing
As depicted, different kinds of knowledge is desirable in the different phases,
e.g. domain knowledge is necessary during requirements engineering and
system-level testing and architecture knowledge is valuable during design and
integration testing.
Modeling with respect to software engineering
|
One way of viewing software engineering is as a process of modelling. That is,
we model reality to understand it (to elicit requirements), which we usually
model as a software architecture.
This software architecture is then translated into a model (an application or
program) that can be executed on an execution environment (e.g. an operating
system or a language environment).
|