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.
|
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 and again with functionality and 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 and
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.