Tools Methods and Methodology

Download as pdf or txt
Download as pdf or txt
You are on page 1of 67
At a glance
Powered by AI
Some key takeaways are that modeling, prototyping, and different development methods like structured analysis, agile development, and the spiral model are discussed for analyzing, designing, and developing information systems.

Some common system development tools and methods discussed include modeling, prototyping, structured analysis, object oriented analysis, agile development, rapid application development, the waterfall model, incremental development, and the spiral model.

Structured analysis represents a system in terms of data and processes. It uses phases like the systems development life cycle and tools like data flow diagrams and process descriptions. Its main advantages are that it is traditional and easy to understand.

TOOLS AND

METHODOLOGY
SYSTEMS DEVELOPMENT
TOOLS
Modeling
• Modeling produces a graphical representation of a
concepts or process that systems developers can
analyze, test, and modify. A system analysts can describe
and simplify an information system by using a set of
business, data, object, network, and process models.
Business Model
• A business model describes the information that a system
must provide. Analysts also create model to represent
data, objects, networks, and other system components.
Prototyping
• Prototyping tests system concepts and provides an
opportunity to examine input, output, and user interfaces
before final decisions are made.
Prototype
• A prototype is an early working version of an information
system. It can serve as an initial model that is used as a
benchmark to evaluate the finished system, or the
prototype itself can develop into the final version of the
system
• A possible disadvantage of prototyping is that important
decisions might be made too early, before business of IT
issues are understood thoroughly.
SYSTEMS DEVELOPMENT
METHODS
System Development Methods
• Structured Analysis / SDLC
• Object Oriented Analysis
• Agile / Adapting Method
• Joint Application Development
• Rapid Application Development
• Linear Sequential / Waterfall Model / Classic Life Cycle-
Model
• Prototyping
• Incremental
• Spiral
Structured Analysis
• it represents the system in terms of data and the
processes that act upon that data.
• System development is organized into phases, with
deliverables and milestones to measure progress
• Structure analysis is a traditional system development
technique that is time-tested and easy to understand.
• It uses a series of phases called the systems
development life cycle (SDLC), to plan analyze, design,
implement and support an information system.
Structured Analysis Modeling Tools
• data flow diagram (DFD)
• process descriptions
• business process modeling
Structured Analysis Pros
• it is a traditional method which has been very popular over
time.$
• It relies heavily on written documentation
• Frequent phase iteration can provide flexibility
comparable with other methods
• It is well suited to project management tools and
techniques.
Structured Analysis Cons
• changes can be costly, especially in later phases
• requirements are defined early, and can change during
development
• users might not be able to describe their needs until they
can see examples of features and functions.
System Development Life Cycle (SDLC)
• used by structured analysis to plan and manage the
systems development process
• describes activities and functions that all systems
developers perform, regardless of which approach they
use
Phases of SDLC
• Systems Planning
• System Analysis
• System Design
• System Implementation
• System Support and Security
SDLC-System Planning
• The system planning phase usually begin with a formal
request to the IT department, called a system requests,
which describes problems or desired changes in an
information system or a business process
• The request may come from the top manager, a planning
team, a department head, or the IT department itself
• The purpose of this phase is to perform a preliminary
investigation to evaluate an IT-related business
opportunity problem
SDLC-System Analysis
• The purpose of the system analysis phase is to build a
logical model of the new system
• The first step is requirements modeling, where you
investigate business processes and document what the
new system must do to satisfy users
• To understand the system, fact-finding techniques must
be used
• The deliverable for the system analysis phase is the
system requirements document.
SDLC-System Design
• The purpose of the system design is to create a physical
model that will satisfy all documented requirements for the
system
• At this stage, user interface is designed, and necessary
outputs, inputs and processes were identified.
SDLC-System Implementation
• the new system is constructed
• Programs are written, tested, and documented and the
system is installed
• The objective of this phase is to deliver a completely
functioning and documented information system
• The system is ready for use
• It also includes assessment called systems evaluation
SDLC-System Support and Security
• During the system support and security phase, the IT staff
maintains, enhances, and protects the system
• Maintenance changes correct errors and adapt to
changes in the environment.
Object-Oriented Analysis
• it views the system in terms of objects that combines data
and processes
• The objects represent actual people, things, transactions,
and events
• phases tend to be more interactive
• It can use waterfall model of the model that stresses
greater iteration.
Object-Oriented Analysis Modeling Tools
• system actors
• methods, and messages
• business modeling.
Object-Oriented Analysis Pros
• integrates easily with object-oriented programming
languages
• code is modular and reusable, which can reduce costs
and development time
• It is easy to maintain and expand because new objects
can be clones using inherited properties.
Object-Oriented Analysis Cons
• it is somewhat newer method might be less familiar to
development team members. Interaction of objects and
classes can be complex in large systems
Agile / Adapting Method
• it stresses intense team-based effort. It breaks
development into cycles, or iterations that add
functionality
• Each cycle is designed, built, and tested in an ongoing
process
• Attempts to reduce major risks by incremental steps in
short time intervals.
• Agile method attempts to develop a system incrementally
by building a series of prototypes and constantly adjusting
them to user requirements
Agile / Adapting Method
• As the agile process continues, developers revise, extend,
and merge earlier versions into the final product.
• An agile approach emphasizes continuous feedback, and
each incremental step is affected by what was learned in
the prior steps
• Agile methods typically use a spiral model which
represents a series of iterations, or revisions based on
user feedback.
Agile / Adapting Method Modeling Tools
• collaborative software
• brainstorming
• whiteboards
• business process modeling
Agile / Adapting Method Pros
• it is very flexible and efficient in dealing with change
• stresses team interaction and reflects a set of community-
based values
• Frequent deliverable constantly validate the project and
reduce risk.
Agile / Adapting Method Cons
• team members need a high level of technical and
communication skills
• lack of structure and documentation can introduce risk
factors
• overall project might be subject to scope change as user
requirements change.
Joint Application Development
• It is a popular fact-finding technique that brings users into
the development process as active participants
• A JAD team usually meets over a period of days or weeks
in a special conference room or at an off-site location
• The objective is to analyze the existing system, obtain
user input and expectations, and document user
requirements for the new system.
Joint Application Development Pros
• it allows key users to participate effectively in the
requirements modeling process.
Joint Application Development Cons
• it is more expensive if the group is too large relative to the
size of the project.
Rapid Application Development
• it is a team-based techniques that speeds up information
system development and produces a functioning
information system
• Rad is a complete methodology with a four-phase life
cycle that parallels the traditional SDLC
• It relies on prototyping and user involvement.
• The main objective of RAD is to cut development time and
expenses by involving users in every phase of system
development.
Rapid Application Development Pros
• System can be developed more quickly with significant
cost savings.
Rapid Application Development Cons
• it stresses the mechanics of the system itself and does
not emphasize the company’s strategic business needs
• The accelerated time cycle might allow less time to
develop quality, consistency, and design standards.
Phases of RAD

Requirements Planning

User Design Construction

Cutover
RAD-Requirement Planning
• It combines elements of system planning and system
analysis of SDLC.
• Users, managers, and IT staff members discuss and
agree on business needs, project scope, constraints and
system requirements
• The requirements planning phase ends when the team
agrees on the key issues and obtains management
authorization to continue.
RAD-User Design
• users interact with system analysts and develop models
and prototypes that represent all systems processes,
outputs, and input
• The RAD group of subgroups typically use a combination
of JAD techniques and CASE (Computer Aided Systems
Engineering) tools to translate user needs into working
models
• User design is a continuous, interactive process that
allows to understand, modify, and eventually approve a
working model of the system that meets their needs.
RAD-Construction
• The construction phase focuses on program and
application development tasks similar to SDLC
• users continue to participate and still can suggest
changes of improvements as actual screens or reports
are developed.
RAD-Cutover
• The cutover phase resembles the final tasks in the SDLC
implementation phases, including data conversion,
testing, changeover to the new system, and user training
Linear Sequential
• The simplest process model is the water fall model which
states that the force is organized in a linear order
• also known as the linear sequential model or classic life
style model
• oldest and the most widely used paradigm for software
engineering
• suggests a systematic, sequential approach to software
development that begins at the system level and
progresses through analysis, design, coding, testing and
maintenance.
Phases of Linear Sequential
Linear Sequential Pros
• Simple and systematic.
• Linear ordering clearly marks the end of the one phase
and starting of another phase.
• The output of particular phase will be input put for next
phase there for this output are normally referred as
intermediate product or based line
Linear Sequential Cons
• Real projects rarely follow the sequential flow that the
model proposes. Changes can cause confusion as the
project team proceeds.
• It is difficult for the customer to state all requirements
explicitly at the beginning of the projects.
• The water fall model assumes that the requirement should
be completely specified before the rest of the
development can proceed. In some situation it might be
required that first developed a part of the system
completely and then later enhance a system where the
client face an important role in requirement specification.
Linear Sequential Cons
• The customer must have patience. A working version of
program(s) will not be available until late in the project
time span.
• Development is often delayed unnecessarily. The linear
nature of the classic life cycle leads to “Blocking state” in
which some project team members must wait for other
members of the team to complete dependent tasks.
• The time spent waiting can exceed the time spent on
productive work.
Prototyping
• Prototyping refers to building software application
prototypes which display the functionality of the product
under development but may not actually hold the exact
logic of the original software.
Prototyping Pros
• Increased user involvement in the product even before
implementation
• Since a working model of the system is displayed, the
users get a better understanding of the system being
developed.
• Reduces time and cost as the defects can be detected
much earlier.
• Quicker user feedback is available leading to better
solutions.
• Missing functionality can be identified easily
• Confusing or difficult functions can be identified
Prototyping Cons
• Risk of insufficient requirement analysis owing to too
much dependency on prototype
• Users may get confused in the prototypes and actual
systems.
• Practically, this methodology may increase the complexity
of the system as scope of the system may expand beyond
original plans.
• Developers may try to reuse the existing prototypes to
build the actual system, even when its not technically
feasible
• The effort invested in building prototypes may be too
much if not monitored properly
Prototyping Applications
• development of systems having high level of user
interactions such as online systems.
Phases of Prototyping
• Basic requirement identification
• Developing the initial prototype
• Review of the prototype
• Revise and enhance the prototype
Prototyping-Basic Requirement Identification
• This step involves understanding the very basics product
requirements especially in terms of user interface.
• The more intricate details of the internal design and
external aspects like performance and security can be
ignored at this stage.
Prototyping-Developing the Initial Prototype
• The initial Prototype is developed in this stage, where the
very basic requirements are showcased and user
interfaces are provided.
• These features may not exactly work in the same manner
internally in the actual software developed and the
workarounds are used to give the same look and feel to
the customer in the prototype developed.
Prototyping-Review of the Prototype
• The prototype developed is then presented to the
customer and the other important stakeholders in the
project.
• The feedback is collected in an organized manner and
used for further enhancements in the product under
development.
Prototyping-Revise and Enhance the Prototype
• The feedback and the review comments are discussed
during this stage and some negotiations happen with the
customer based on factors like , time and budget
constraints and technical feasibility of actual
implementation.
• The changes accepted are again incorporated in the new
Prototype developed and the cycle repeats until customer
expectations are met
Incremental
• Incremental model are broken down into multiple
standalone modules of software development cycle
Incremental Pros
• Software will be generated quickly during the software life
cycle.
• It is flexible and less expensive to change requirements
and scope.
• Thought the development stages changes can be done.
• This model is less costly compared to others.
• Customer can respond to each built.
• Errors are easy to be identified.
Incremental Cons
• It requires a good planning design.
• Problems might cause due to system architecture as such
not all requirements collected up front for the entire
software life cycle.
• Each iteration phase is rigid and does not overlap each
other.
• Rectifying a problem in one unit requires correction in all
the units and consumes a lot of time.
When to use incremental model?
• Requirements of the system are clearly understood
• When demand for early release of product arises
• When team resources are not very well skilled or trained
• When high-risk features and goals are involved
• Such model is more in use for web application and
product based companies
Phases of Incremental Model
Spiral
• Spiral model is a combination of sequential and prototype
model. This model is best used for large projects which
involves continuous enhancements.
Spiral Pros
• Development is fast
• Larger projects / software are created and handled in
a strategic way
• Risk evaluation is proper.
• Control towards all the phases of development.
• More and more features are added in a systematic
way.
• Software is produced early.
• Has room for customer feedback and the changes are
implemented faster.
Spiral Cons
• Risk analysis is important phase so requires expert
people.
• Is not beneficial for smaller projects.
• Spiral may go infinitely.
• Documentation is more as it has intermediate phases.
• It is costly for smaller projects.
When to use spiral model?
• When the project is large.
• Where the software needs continuous risk evaluation.
• Requirements are a bit complicated and require
continuous clarification.
• Software requires significant changes.
• Where enough time frame is there to get end user
feedback.
• Where releases are required to be frequent.
Phases of Spiral
Spiral-Planning
• Requirements are studied and gathered.
• Feasibility study
• Reviews and walkthroughs to streamline the requirements
Spiral-Analysis
• Requirements are studied and brain storming sessions
are done to identify the potential risks
• Once the risks are identified , risk mitigation strategy is
planned and finalized
Spiral-Engineering
• Actual development and testing if the software takes
place in this phase
Spiral-Evaluation
• Customers evaluate the software and provide their
feedback and approval

You might also like