|
Application Software Development
Phases
A phased approach to implementation
reduces project risk and promotes
success, providing the opportunity
for early success and flexibility to
incorporate new technology at low
risk prior to final system delivery.
Large project implementations should
be delivered and tested in multiple
delivery phases. System delivery is
generally quicker than other project
activities (data base design,
application development, and user
training), and phases of system
delivery can be completed without
extending project time lines.
Software Development Approach &
Methodology
Our rigorous approach includes phase
wise understanding, each being an
independent sub-project in itself,
with its own target dates, tasks and
milestones.
Definition Phase
This information-intensive phase
includes a Requirements Definition
Document which describes the
required functionality, environment,
and interfaces for the project. It
is achieved by conducting interviews
with management of the company, end
users, technical experts etc. These
documents outline exactly how to
develop and deliver the project. Any
suggestions during the SRS are
discussed in details with technical,
financial and functional
implications occurring as per the
requirement.
The activity can be segregated
into:
Feasibility Report
A detailed feasibility report
including risk analysis is arranged
taking into consideration technical
and financial viability of the
client's requirement.
The activity involves rigorous steps
to attain high quality standards
such as:
-
Identify customer's need.
-
Evaluate feasibility report.
-
Financial and technical analysis
-
Resource availability and
constraints
-
Cost control measures and
viability
-
A feasibility report is
submitted to client for approval
SRS Preparation
-
A highly qualified team of IT
professional is set up to
understand the requirement.
-
Mock-ups are prepared and
interviews are conducted with
the client to enable them to
understand the basic aspect of
proposal.
-
Check-list is prepared on the
basis of interviews conducted
and further information is
gathered from the client. A gap
analysis is prepared to evaluate
and understand the requirement.
-
Final SRS is prepared and
submitted to Client for
approval.
Analysis and Design Phase
Once the SRS freezes, a detailed
Functional Specifications, which
defines the system behavior is
submitted. On acceptance of the
Functional Specifications, a
detailed document containing design
specifications is prepared for
development, describing the internal
architecture of the system.
A High level System Design will
include:
-
All the components, their
purpose and relationships will
be identified. These
relationships will be
represented graphically for
enhancing clarity.
-
Interfaces between components
will be designed.
-
Preparing a detailed DFD (Data
Flow Diagram).
-
Preparing a Data Structure
Design and structure charts
-
Review Design with SRS
-
Interfaces between components
will be designed.
A Low level System Design will
include:
-
To reduce the gap between
system's functionality and user
requirements, prototyping
sessions would be held.
-
The group reviews would be
conducted to ensure commonality
in understanding amongst the
development team members and
thus minimize the chance of
interface inconsistencies being
present in the end product.
-
Since the design would already
have been ratified, users would
not have to spend time in
understanding the design. This
would aid them in reviewing the
document and giving feedback and
help accepting the System Design
Document (SDD).
-
Identifying each module, its
components and units
-
Physical design of data
structure
-
Workflow of each functions in
the module
-
Prepare data dictionary
-
Detailed algorithm for
processing
-
Defining naming conventions and
standard compliance is also made
at this phase.
-
Review functionality with SRS &
HLD.
Development Phase
Using coding standards, our
programmers work exclusively from
the Functional and Design
Specifications. Applying
state-of-the-art tools and
technologies, our programmers
develop applications quickly, while
maintaining top-quality standards.
The coding is reviewed timely &
again with functionality &
requirement specification.
This is achieved through
tractability matrix.
System Test Phase
Quality Assurance specialists
begin work from the first day of the
project: Functional specifications
must be satisfactory and achievable
with design specifications meeting
strict reliability and user
convenience standards. A detailed
Test Plan is then developed and
methodically followed throughout the
coding phase, including independent
module inspections as well as
complete system tests.
Three steps of test is carried out
namely, unit /module test,
integrated test & Acceptance test to
attain quality of the software.
Quality Control Processes
Software quality is conformance to
explicitly state functional and
performance requirements, explicitly
documented development standards and
implicit characteristics that are
expected of all professionally
developed software. Quality software
is reliable, efficient and is easy
to learn and operate. The software
should be easy to maintain and
should include tasks for correcting
faults in the original design and
make improvements to adapt the
functionality of the software to
changing environments. Software
quality is also determined by
whether the software product is
portable, reusable and also whether
it can be expanded.
Security
Security basically means Legitimate
use, Confidentiality, Data integrity
and, Adaptability of data and
software. Legitimate use means
proper authentication of users. It
also specifies which user has access
over which data and can execute
which programs. Confidentiality
implies that a system will provide
appropriate services, such as data
encryption, to ensure that only
authorized personnel can see
sensitive data. Data Integrity
defines the ways for files or
databases hosted on the operating
system to recover from system,
application and network faults and
failures
Most of the Operating Systems (OS)
come with many security features.
The security model of the OS allows
user-level authentication however
access level for the data can be
specified.
Windows NT / Windows 2000 Server has
a layered security model consisting
of the Security subsystem and its
associated components. The
components are the Local Security
Authority (LSA), the Security
Reference Monitor (SRM), Security
Accounts Manager (SAM) and the
discretionary access controls. All
of these help the Win NT OS to
provide the necessary security
features.
On the other hand Windows 95/98
operating systems do not provide the
security features that are provided
in Windows NT. Only application
level security can be provided.
Access to system resources, such as
files, directories and folders,
printers, network shares, and system
services, can be controlled either
through GUI-based system tools or
through the command line.
Application level security can be
provided by user-name authentication
for the whole application or for
different levels of the application.
Users can be restricted to access or
view even specific data
layers/modules in the application.
Restricted parts of the project as
specified by the user can be
developed at the user site, to
ensure that confidential data does
not get distributed. |