3. The Software Development Method is a process of building a good
software and its phases provides Quality and Correctness of good
software. All the phases are important in itself. One Wrong step can
create a big mistake in the development of Software.
Software Development Method
4. Software Development Method
Requiremen
t Gathering
System
Analysis
System
Design
Coding
Testing
Deployment
Following 6 steps are followed for developing reliable, efficient and
errorless Software.
5. Requirement gathering and analysis is the first and major stage. This
phase is basically the brainstorming phase because it has the many sub
stages for Feasibility Analysis Stages to check how much idea can put
into action for development.
In this Stages, communication taking place between stakeholders, end
users and the project team. So, all the persons which are related to the
project ,gather information for software development.
• Identify and capture stakeholder requirements using customer
interviews and surveys.
1.) Requirement Gathering and Analysis
6. This is the second phase where the entire system is defined in detail.
In fact, In this stage Developer get a detailed blueprint of the various
phases of the software that are to be developed in the project.
The system is divided into smaller parts (modules) to make it easier
more manageable for the developers, designers, testers, project
managers and other professionals who are going to work on the
software in the later stages.
2.) System Analysis
7. In this phase the design of the system is prepared. The Design is
developed by The analysts and designers. The System analyst design the
logical design for the designers and then designer get the basic idea of
designing the software design of Front end and back end both.
The system analyst and Designer work together in designing the
software design and Designer design the best software design under the
guidance of System Analyst.
3.) System Design
8. It is the logical part of the development process. In this phase lots of
brains are working for coding and get the final successful result for the
software. In this A team of programmers is assigned by the company to
work on the software.
The work is subdivided under a sub-phase called Task Allocation, where
each task is assigned different coder. So, the development process is
working faster.
4.) Coding
9. By process of coding, then the final process testing is proceeding. When
the software is ready it is sent to the testing department where Quality
Analysts test it thoroughly for different errors by forming various test
cases.
Once the testing department and Quality Analyst makes sure that the
software is error-free, then it goes to the next stage. So, the testing
process is complete when all the testing module is complete.
5.) Testing
10. This is the final phase of the software development process. In this stage,
if the software runs on various systems by users or buyers and If it runs
smoothly on these systems without any flaw, then it is considered ready
to be launched.
If it generates error then it goes to Testing Department for Testing and
many coders write a new code for developers errorless Software.
6.) Deployment/Implementation
11. Following are the famous software development models.
1. Waterfall model
2. Prototyping model
3. Incremental model
4. Spiral model
5. Rapid Application Development (RAD) model
Software Development Models
13. Definition: the process of understanding the problems and
users needs and proposing solutions to those problems.
Goal: gain a better understanding, before development
begins, of the problem to be solved.
Avoid to jump to conclusions by identifying the root cause
of the problem.
Identify the sources of information for system analysis.
Problem Analysis :
14. Write a simple and clear definition of the problem
description
Establish an order of importance for all features of the
system
Come to an agreement with all stakeholders
Resolve conflicts by negotiation
Steps towards Problem Analysis
Step1 : Gain agreement on the problem definition
15. This part of the analysis requires input from extremely
knowledgeable, insightful and experienced persons.
Make sure that the problem identified is the real problem
Sometimes, a problem hides other more important
problems
Addressing the wrong problem leads to failure
A problem can have several causes:
• Some might be eliminated by non-software solutions
• More than one solution might be needed
Steps towards Problem Analysis
Step 2 : Identify the root causes of the problem
16. Stakeholder: anyone who could be affected by the new
system or has input to provide in the implementation of
the new system
Complex problems always involve the input of different
stakeholders that have different viewpoints on the
problem.
Users: will use the system
Managers: will pay for the system, or will manage the
users
Steps towards Problem Analysis
Step 3 : Identify stakeholders and users
17. IT people: will install, manage and maintain the system
External regulators: will impose constraints on the system
operation
System developers: will implement a solution to the
problem
Forgetting one of these might lead to major rework later
on, or even to project failure.
Steps towards Problem Analysis
Step 3 : Identify stakeholders and users
18. System is divided as:
The system itself and its functionalities
The things (outside the system) that interacts with the
system
Actors:
Supplies, uses, or modifies the information in the system
Someone or something, outside the system, that interacts
with the system
Steps towards Problem Analysis
Step 4 : Define the system boundary
19. Constraint : a restriction on the degree of freedom we have
in providing a solution
They are as important as requirements : they direct what
the system should not do, or what the system should not
be.
Steps towards Problem Analysis
Step 5 : Identify the constraints on the system
20. A good, general understanding of the problem and its
causes
Identified the stakeholders whose collective input and
judgment will determine the nature of the System
A notion of the boundary of the system and its interface
with the exterior
An understanding of the constraints imposed on the
system
Steps towards Problem Analysis
After that, we have :
21. Pseudocode is a detailed description of what a computer program or
algorithm must do, expressed in a natural language rather than in a
programming language.
Used as detailed steps in the process of developing a program.
It allows designers or lead programmers to express the design in
great detail and provides programmers a detailed template for the
next step of writing code in a specific programming language.
About Pseudocode
23. An informal definition : “a set of rules that precisely defines a
sequence of operations.”
An algorithm is a step-by-step set of operations to be
performed.
An algorithm is an effective method that can be expressed within a
finite amount of space and time and in a well-defined formal
language for calculating a function
About Algorithm
24. About Algorithm
•"←" is a shorthand for "changes to". For instance, "largest ←
item" means that the value of largest changes to the value of item.
•"return" terminates the algorithm and outputs the value that
follows
25. posed by David Hilbert in 1928
About Algorithm
Born 23 January 1862
Died
14 February 1943 (aged 81)
Göttingen, Germany
Residence Germany
Nationalit
y
German
Fields
Mathematics, Physics and
Philosophy
Institutio
ns
University of Königsberg
Göttingen University
26. A flowchart is a formalized graphic representation of a logic
sequence.
The purpose of a flow chart is to provide people with a common
language or reference point when dealing with a project or process.
About Flowchart
27. Flowcharts use simple geometric symbols and arrows to define
relationships.
In programming, for instance, the beginning or end of a program is
represented by an oval. A process is represented by a rectangle, a
decision is represented by a diamond and an I/O process is
represented by a parallelogram. The Internet is represented by a
cloud.
About Flowchart
29. About Algorithm
•"←" is a shorthand for "changes to". For instance, "largest ←
item" means that the value of largest changes to the value of item.
•"return" terminates the algorithm and outputs the value that
follows
32. A process of executing a program or application with the intent of
finding the software bugs
Process of validating that a software program or application or
product meets the business and technical requirements
Blackbox Testing
Whitebox Testing
Software Testing
33. Blackbox Testing
Also called functional testing
Focuses on the output generated against any input and
execution of the system
Ignores the internal mechanism of the system
Software Testing
34. Whitebox Testing
Also called structural testing , clear box testing and glass box testing
Takes into account the internal mechanism of a system
You have full visibility of the internal workings of the software
product, specifically, the logic and the structure of the code.
Software Testing