|
A) UML for Requirement
Analysis and Design :- |
|
Leave
alone seemingly complex projects, even
the most simplest looking projects can
have inherent complexities A standard
approach and representation technique
for requirement analysis and design
process helps ward of the pitfalls right
from the beginning. UML- The Universal
Modeling Language, adopted by eGenietech,
helps the stake holders, analysts,
programmers and other involved in system
development to understand the system and
use a common language to discuss the
system and agree upon its behavior.
|
|
Benefits
of UML: |
|
1)
|
Your
software system is professionally
designed and documented before it is
coded. You will know exactly what you
are getting, in advance. |
|
|
|
2)
|
Since
system design comes first, reusable code
is easily spotted and coded with the
highest efficiency. You will have lower
development costs. |
|
|
|
|
3) |
Logic
'holes' can be spotted in the design
drawings. Your software will behave as
you expect it to. There are fewer
surprises. |
|
|
|
4)
|
The
overall system design will dictate the
way the software is developed. The right
decisions are made before you are
married to poorly written code. Again,
your overall costs will be less.
|
|
|
|
5)
|
UML lets
us see the big picture. We can develop
more memory and processor efficient
systems. |
|
|
|
6)
|
When we
come back to make modifications to your
system, it is much easier to work on a
system that has UML documentation. Much
less 'relearning' takes place. Your
system maintenance costs will be lower.
|
|
|
|
7)
|
If you
should find the need to work with
another developer, the UML diagrams will
allow them to get up to speed quickly in
your custom system. Think of it as a
schematic to a radio. How could a tech
fix it without it? |
|
|
|
|
|
 |
|
B)
Iterative Model of Development:- |
|
How would you feel if you
ordered for a Sandwich and got a Pizza?
This kinds of situations are non unheard
of when it comes to development of
software systems using the traditional
way.
Iterative Software development is
ideally suited for offshore projects,
where the team is not working under your
nose. It consists of breaking the
overall functionality of the system into
small iterations. Each Iteration aims to
deliver a set of functionality of the
system. You can think of each iteration
as mini projects, which can be seen,
reviewed , tested and the functionality
verified. Each successive iteration add
to the functionality of the previous
iterations. Though Iterative development
is very effective, it requires good
skills to manage them which we have
developed.
|
|
Advantages of Iterative Development :- |
|
|
|
|
1) |
High
visibility into the progress of the
whole project. |
|
|
|
|
2) |
Early
Identification of Risks in project |
|
|
|
3)
|
Regular
delivery of something which you can see
working and its reviews, help to build
mutual confidence and helps avoid shocks
at the end for both the stakeholders and
developers. |
|
|
|
|
4) |
Gives a
clear cut idea of project progress as
per budgeted time. |
|
|
|
|
|
 |
|
C)
Continuous Integration Process:- |
|
|
This is a
technical process which supplements the
Iterative Development. One of the
biggest hurdles to timely deliveries in
big projects is the issue of integration
of different programmers working
together to build the system. The issues
are multiplied if the team is spread
over continents. Continuous Integration
process is such a ‘Silver Bullet’ for
this problem.
In this process all the work done
programmer for that day , is brought
together, compiled into program and
automatically tested. Any failures are
instantly notified to the programmers so
that they can be corrected the same day.
Since the work of all programmers is
brought together and tested everyday,
integration issues are resolved then and
there avoiding the costly time spent in
integration at the fag end of the
project when time pressures are high. |
|
|
|
|
|
 |