Professional Documents
Culture Documents
Change Agent
A systems analyst may investigate the existing system to find the reasons for it’s
failure. The role of an investigator is to extract the problems from existing
systems and create information structures that uncover previously unknown
trends that may have a direct impact on organization. The role of a Monitor is to
undertake and successfully complete a project. In this role, analysts must monitor
programs in relation to time, cost and quality.
Architect
The analyst’s role as an architect is liaison between the user’s logical design
requirements and the detailed physical system design. As architect the analyst
also creates a detailed physical design of candidate systems. A systems analyst
makes the design of information system architecture on the basis of end user
requirements. This design becomes the blue print for the programmers.
Motivator
System acceptance is achieved through user participation in its development, effective user
training and proper motivation to use the system. The analyst’s role as a motivator becomes
obvious during the first few weeks after implementation and during times when turnover
results in new people being trained to work with the candidate system.
Psychologist
In system development, systems are built around people. The analyst plays the role of
psychologist in the way s/he reaches people, interprets their thoughts, assesses their behaviour
and draws conclusions from these interactions. Psychologist plays a major role during the phase
of fact finding.
System Design
Includes the design of application, network, databases, user interfaces, and
system interfaces.
Transform the SRS document into logical structure, which contains detailed and
complete set of specifications that can be implemented in a programming
language.
Create a contingency, training, maintenance, and operation plan.
Review the proposed design. Ensure that the final design must meet the
requirements stated in SRS document.
Finally, prepare a design document which will be used during next phases.
Implementation
Implement the design into source code through coding.
Combine all the modules together into training environment that detects errors
and defects.
A test report which contains errors is prepared through test plan that includes test
related tasks such as test case generation, testing criteria, and resource
allocation for testing.
Integrate the information system into its environment and install the new system.
Maintenance/Support
Include all the activities such as phone support or physical on-site support for
users that is required once the system is installing.
Implement the changes that software might undergo over a period of time, or
implement any new requirements after the software is deployed at the customer
location.
It also includes handling the residual errors and resolve any issues that may exist
in the system even after the testing phase.
Maintenance and support may be needed for a longer time for large systems and
for a short time for smaller systems.
Phases of system development
Recognition of need
One must know what the problem is before it can be solved. The basis for a candidate system is
recognition of a need for improving an information system or a procedure. For eg: a supervisor
may want to investigate the system flow in purchasing or a bank president has been getting
complains about the long lines in the drive-in. This need leads to a preliminary survey or an
initial investigation to determine whether alternative systems can solve the problems. It entails
looking into the duplication of efforts, bottleneck, inefficient existing in procedures or whether
parts of the existing system would be candidates for computerization.
Problem definition
The first step in the problem solving and decision making process is to identify and define the
problem. Therefore, before a program is written for solving a problem, it is important to define the
problem clearly. For most software projects, systems analysts approach the user requirements and
define the problem that a system aims to solve. A design specification describes the program input,
output and functionality of the programs of the system. Note that the program input may be entered by
the user through any input devices or retrieved from data stores. whereas program output may be
stored, printed or displayed on screen, etc. In addition to verifying the correctness of program input,
output and functionality, it is important to ensure that any planned user-computer interactions be
approved by the users.
Involvement–getting users and other stakeholders involved in systems development is critical for most
systems development projects. Having the support of top-level managers is also important. The
involvement of users throughout the development will mean they are less likely to resist the software
when it is delivered.
Degree of Change–a major factor that affects the quality of systems development is the degree of
change associated with the project. The scope can vary from implementing minor enhancements to an
existing system, up to major reengineering. The project team needs to recognise where they are on this
spectrum of change.
Managing Change–the ability to manage change is critical to the success of systems development. New
systems inevitably cause change. Unfortunately, not everyone adopts easily, and the increasing complexity
of systems can multiply the problems. Managing change requires the ability to recognize existing or
potential problems and deal with them before they become a serious threat to the success of the new or
modified system. Here are some of the most common problems:
Fear that the employee will lose his or her job, power or influence within the organization
Belief that the proposed system will create more work than it eliminates.
Anxiety that the proposed system will negatively alter the structure of the organization
Belief that other problems are more pressing than those solved by the proposed system or that the
system is being developed by people unfamiliar with “the way things need to get done”
Waterfall approach was first SDLC Model to be used widely in Software Engineering to
ensure success of the project. In "The Waterfall" approach, the whole process of
software development is divided into separate phases. In this Waterfall model, typically,
the outcome of one phase acts as the input for the next phase sequentially.
The following illustration is a representation of the different phases of the Waterfall
Model.
Requirement Gathering and analysis − All possible requirements of the system
to be developed are captured in this phase and documented in a requirement
specification document.
System Design − The requirement specifications from first phase are studied in
this phase and the system design is prepared. This system design helps in
specifying hardware and system requirements and helps in defining the overall
system architecture.
Implementation − With inputs from the system design, the system is first
developed in small programs called units, which are integrated in the next phase.
Each unit is developed and tested for its functionality, which is referred to as Unit
Testing.
Integration and Testing − All the units developed in the implementation phase
are integrated into a system after testing of each unit. Post integration the entire
system is tested for any faults and failures.
Deployment of system − Once the functional and non-functional testing is done;
the product is deployed in the customer environment or released into the market.
Maintenance − There are some issues which come up in the client environment.
To fix those issues, patches are released. Also to enhance the product some
better versions are released. Maintenance is done to deliver these changes in the
customer environment.
Process Modelling
The data object sets defined in the Data Modelling phase are converted to establish the
business information flow needed to achieve specific business objectives as per the
business model. The process model for any changes or enhancements to the data
object sets is defined in this phase. Process descriptions for adding, deleting, retrieving
or modifying a data object are given.
Application Generation
The actual system is built and coding is done by using automation tools to convert
process and data models into actual prototypes.
Prototyping Model –
Prototyping is defined as the process of developing a working replication of a
product or system that has to be engineered. It offers a small scale facsimile of
the end product and is used for obtaining customer feedback as described
below:
The Prototyping Model is one of the most popularly used Software Development
Life Cycle Models (SDLC models). This model is used when the customers do
not know the exact project requirements beforehand. In this model, a prototype
of the end product is first developed, tested and refined as per customer
feedback repeatedly till a final acceptable prototype is achieved which forms the
basis for developing the final product.
In this process model, the system is partially implemented before or during the
analysis phase thereby giving the customers an opportunity to see the product
early in the life cycle. The process starts by interviewing the customers and
developing the incomplete high-level paper model. This document is used to
build the initial prototype supporting only the basic functionality as desired by
the customer. Once the customer figures out the problems, the prototype is
further refined to eliminate them. The process continues until the user approves
the prototype and finds the working model to be satisfactory.
There are four types of models available: