As trained Software Engineers, the project managers
and programmers in Signetique are well versed in all the popular
software development paradigms or approach. However, after considering
the scope and nature
of your project, we would be using the Classical System Development
Life Cycle approach to construct your system. Although this approach
was designed originally to assist system development teams in designing
software for mainframe based systems, it continued to be one of
the most popular approach until now.
The components of the Classical Approach
is as follows:
a) Preliminary Investigation
This is the first activity prior to an initiation
of a system development. The main objectives of this phase are to
ensure that the system to be developed aligns with organisational
goals and is achievable with current technology, assigned budget,
and available resources. Signetique will work closely with the Project
Manager in charge of your project to look in to these details.
b) Requirements Determination
The purpose of this stage is to learn exactly
what takes place inthe current system
(eg. traditional ways etc). In this phase, Signetique, together
with your project manager will research on the exact process(es)
companies have to go through now to buy/sell products and their
respective functions. With the new system in mind, we will fully
document what should take place, and to make recommendation to management
on the various solutions.
The role that Signetique will take in this phase is to ensure that
all the functions in the current system is defined, problems identified,
and how we can modify certain functions so as to e-nable the system.
At the end of this phase, Signetique will present the functional
specifications for your review.
c) System Design
The objective of the System Design phase is to
determine how to construct the proposed system based on the Functional
Specifications.
d) System Development
This is the phase which the system is actually
constructed. Tables in the database are designed, relationships
defined, and the actual coding takes place. The end product of this
phase will be the functioning and documented system.
e) System Testing
As the name suggests, this phase is to ensure that
the system comply with the Functional Specifications. In addition,
we will ensure that the system is reliable and accurate. Test data
will be prepared for this phase and users will be encouraged to
go through the whole process.
f) System implementation
Finally, after approval of all the results and
functions of the new system,
the application will go "live".
In an ideal situation, the phases above is carried out one after
another.
RDBMS Database approach
We will be utilising the Relational Database Management
System as our database system of choice. Relational databases are
powerful because
they require few assumptions about how data is related or how it
will be extracted from the database. As a result, the same database
can be viewed in many different ways. An important feature of relational
systems is that a single database can be spread across several tables.
This differs from flat-file databases, in which each database is
self-contained in a single table. Almost all full-scale database
systems are RDBMS's. Small database systems, however, use other
designs that provide less flexibility in posing queries.
Some companies that offers RDBMS database systems :
·
Oracle
·
Informix
·
Sybase
·
TCX DataKonsultAB (MySql)
More importantly, systems built on RDBMS is fully
scalable. According
to TCX DataKonsultAB, the MySql database engine that is in use in
their corporation now has 40 databases containing 10,000 tables,
of which more than 500 tables have more than 7 million rows. This
is about 100 gigabytes of mission-critical data. (Source : www.mysql.com)
The database engine is able to handle such
a huge amount of data over a relatively short period of time and
yet maintain data integrity and performance because it is fully
expandable. Even though the database is large, it is still able
to perform complex search and retrieval functions without a noticeable
performance lag.
Modular Programming
Approach
All our programs are constructed using the modular
approach. This means that the design of our system composed of separate
components that can be connected together. This greatly enhances
scalability because a developer can replace or add any one component
(module) without affecting the rest of the system. This is important
because as the Internet landscape changes every few months, and
where competing companies are rushing to value add their sites,
there is a frequent need to "go back to the source code"
to add new features. If your system is NOT modular
in nature, it will greatly hamper the effort.