|
Methodology
SynapseIndia has an in-house methodology,
which is based upon the industry standard Rational Unified
Process. It provides for all major workflows in a project
including requirements capture, analysis, design, implementation,
and testing. The documentation of analysis and design
work would be done using UML (Unified Modeling Language).
SynapseIndia's consultants are proficient in the use of UML
based leading industry tools like Rational Rose and
Enterprise Architect.
The major phases of project lifecycle
are described in the following table:
|
Phase
|
Description
|
| Requirement Analysis |
- Gather details of requirements from the clients.
- Finalize the User Interface and Flows.
|
| Analysis & Design |
- Prepare an Analysis model, comprising of
Structural and Dynamic Models of the system.
- Prepare a Design model, converting from Analysis
model.
|
Implementation
|
Coding |
| Testing |
Testing the system |
| Deployment |
Deploy the system at Client site. |
Process Description
Following Figure shows the process model with all the
phases.
Requirements Analysis
1. Purpose
The purpose of this phase is to collect and record requirements.
It includes use case diagrams as per the UML.
2. Activities
During this phase, the following information is collected
and recorded.
- Functional requirements
- Operational constraints (performance, projected
usage etc.)
- Nature of changes that are likely to occur
- User wish-lists that may require future consideration
- Any other
Usual techniques of requirements collection via workshops
and interviews may be used for this.
3. Deliverables
- Use case model, consisting of a set of use case
diagrams.
- Requirements document listing operational constraints,
nature of changes likely to occur, user wish-lists
etc.
Analysis and Design
Analysis Modeling
1. Purpose
The purpose of this phase is to analyse the requirements
and identify analysis models, and functional specification.
These models help in understanding the requirements.
2. Activities
During this phase, the collected requirements will be
analysed to identify the following:
- Core domain classes and static associations between
these classes (based on analysis of requirements and
the domain).
- Sequence diagrams to narrate core use cases.
- State diagrams, if required, for domain entity classes
- Activity diagrams, if required.
3. Deliverables
Analysis models (class diagrams, sequence diagrams,
state diagrams, and activity diagrams), and functional
specification document.
Architecture Design
Our trial process involves a series of reality checks
with state-of-the-art tools to improve the productivity
and effectiveness of the hardware and software being
tested. Specially designed quality checks on individual
components of the system, as well as on the integrated
system ensure a high performance of the product. This
is completed by on-line beta testing. We host it on
our servers with a temporary URL or Domain and ask the
client for their feedback. This is usually through an
interactive Internet chat. Hosting on a temporary URL
is maintained till the project is completed and the
client approves the web site for handover.
1. Purpose
The purpose of this phase is to design a structure for
the software that includes the various subsystems, and
their interrelationships. This drives the various increments
and iterations.
2. Activities
The typical activities to be conducted during this phase
include
- Decompose use cases into abstract services.
- Identify subsystems or components to provide the
above services.
- Identify infrastructure subsystems or components.
- Identify other structural aspects, such as processes,
distribution, communication, etc.
- Identify common frameworks, layers, and components
for internal as well as external reuse.
- Identify tools, technologies etc. If the tools
have already been identified, the choice may be reevaluated
at this stage if necessary.
- Conduct a technical risk analysis to identify the
technical unknowns and assumptions
3. Deliverables
Architecture of the software with logical and deployment
views. To maintain integrity, the architecture designed
in this phase has the following characteristics:
- Realize all the identified use cases.
- Allow scope for changes to requirements.
- Pose constraints against changes that violate the
architecture.
- Absorb future risks. This requires application
of design patterns, components, reflection etc. in
building the architecture.
Development Planning
1. Purpose
The purpose of this phase is to plan for iterative and
incremental development of the software.
2. Activities
The activities include the following:
- Analyse the architecture to identify candidates
for increments. This activity should also consider
the risk factors and plan for the risky increments
to be started early.
- Identify independent and infrastructure increments.
Such increments create the infrastructure for the
rest of the software.
- Identify dependent and use-case increments. Dependent
increments rely on the infrastructure created by the
independent increments.
- Identify integration points. This is based on the
dependencies.
- Decide milestones, and teaming. This is driven
by the technical requirements and size of each increment.
3. Deliverables
- Detailed project schedule with activities, teaming,
milestones for various increments (with further iterations
if necessary), and integration points.
- Integration test planning (integration points,
test cases, etc).
Implementation and Testing
1. Purpose
- To construct the increments (over multiple iterations
if necessary).
- To perform integrations and integration testing
at the integration points.
2. Activities
The following activities are applicable for each increment.
- Detailed design
- Implementation
- Preparation of unit test cases
- Unit testing
- Integration testing if there is an integration
point at the end of the increment.
- Risk analysis.
3. Deliverable
Constructed and tested subsystems or components.
Delivery
1. Purpose
To conduct system and acceptance testing and deliver
the software.
2. Activities
The activities as described in the current QMS are applicable
here.
3. Deliverables
The deliverables as described in the current QMS are
applicable here.
The Vendor would deliver to the Client, outputs of
select phases, which would be termed as deliverables.
The project deliverables as described in the current
QMS are:
- First Level Project Plan
- Requirement Analysis Report
- Final Project Plan
- Analysis Model
- Design Model
- Test Model
- Implementation model
- Documented Source Code.
|