KEMBAR78
Software develop.... | PPTX
My first slides
Designed by:
Iqra Aleem
PROGRAMMING FUNDAMENTALS
Course Code: 104
BSCS: 1st Semester
Software Development Method
What is SDM?
A framework that describes the activities
performed at each stage of a software
development project.
Phases
Specification of needs
Problem analysis
Implementation
Testing and
Verification
Design and
Algorithmic
Representation
Documentation
Specification of Needs
In this phase we actually learn about:
 What the problem is
 What is needed to solve it
 What solution should provide
 If there are constraint and special conditions.
Problem analysis
In this phase we should identify
following:
 Input to the problem, their form and input media
to be used
 Output expected, their form and output media to
be used
 Special constraints and conditions
 Formulas or equations to be used.
Design andAlgorithmic Representation
 An algorithm is a sequence of infinite number of
steps arranged in a specific logic order which,
when executed, produces the solution for a
problem
An algorithm must satisfy these
requirements:
 It may have an input
 It may have an output
 It should not be ambiguous
o Every step in algorithm must be clear as what is supposed to
do
Design andAlgorithmic Representation cont….
 It must be general
 It must be correct and it must solve the problem for which
it is designed
 It must execute and terminate in a finite amount of time
 It must be efficient enough so that it can solve the
intended problem using the recourses currently available
on the computer
 An algorithm can be represented by using:
orPseudo codes Flow chart
Control Structure
 In order to tackle a problem, we need:
 A correct algorithm
 To apply the algorithm at the good moment
 To decide which algorithm to apply
 To know if a certain operation to be repeated
 An algorithm can be described using only three
control structures:
sequence selection reputation
Pseudocodes
 A pseudocode is a semiformal, english-like
language with limited vocabulary that can be
used to design and describe algorithm
 Criteria of a good pseudocode:
 Easy to understand, precise and clear
 Gives correct solution in all cases
 Eventually end
Pseudocodes: the sequence control structure
 A series of steps or statement that are executed in the order they
are written in algorithm
 The beginning and ends of a block of statement can be optionally
marked with keywords begin and end.
o Example:
Begin
Read the birth date from user.
Calculate the difference between birth date and today’s date.
Print the user age.
End
Pseudocodes: The selection control structure
 Defines two courses of action depending on outcome
of a condition. A condition is an expression that is,
when computed, evaluated either true or false.
 The keywords used are if and else.
if condition if age is greater than 23
then-part printf “retire”
Else else
Else-part print “work work
work”
end_if end_if
Format Example
Pseudocodes: The repetition control structure
 The repetition control structure may be like this
example:
 Summing up to 10 numbers
Cumulative sum =0
current num = 1
while current num is less or equal to 10
cumulative sum = cumulative sum + current number
current number = current number + 1
end_while
print the value of cumulative number
o In this algorithm, we have used both sequence and repetition control
structure.
Flow charts
 Flow chart is a graph used to depict or show a step by step
solution using symbols which represent a task.
 The symbols used consists of geometrically shapes that
are connected by flow lines.
 Flow chart is graphical in nature.
Flowchart symbols
Terminal symbol-indicates the beginning and ending
points.
Process symbol-shows an instruction.
Input/output symbol- shows an input/output
operations
Disk storage-indicates input or output from disk storage.
printer output symbol- shows hard copy printer output
selection symbol-shows a selection process for two way
selection.
off page connector-provides continuation of a logical
path of another page.
Flow chart symbols cont….
On page connector-provides continuation of a logical path at another
point of the same page.
flow lines-indicates the logical sequence of execution steps.
 Flow chart –sequence control structure:
statement1
statement2
:
Flow chart-selection control structure
It’s may be in this form
condition
Else- statement Then-statement
Flow chart- repatriation control structure
 It’s may be like this
yes
no
condition
Loop
statement
Implementation
 The process of implementing on algorithm by writing a
computer program using a programming language.
 The output of the program must be solution of problem.
 The program must not do anything that is not supposed to
do
 (think of those may viruses, buffer overflow, trogon horses
etc, that we experience almost daily . All these results
from programs doing more than they were intended to do)
Testing and verification
 Program testing is the process of executing a program
to demonstrate its correctness
 Program verification is the process of ensuring that a
program meets user requirements
 After the program is compiled , we must run the
program and verify it with different inputs before the
program can be released to the public or other users
Documentation
 Contains details produced at all stages of program
development cycle.
 It can be done in two ways:
 Writing comments between your lines of codes
 Creating a separate text file to explain the program
 Important not for only other people to use or modify your
program, but also for you to understand your own program
after a long time
Documentation conti…..
 Documentation is important because:
 You may return to this program in future to use the whole of or part of
it again
 Other programmer or end user will need some information about your
program for reference or maintenance
 You may some day have to modify the program or may discover
errors in your program
 Although documentation is listed as the last stage of
software development method , it is actually an ongoing
process which should be done from very beginning of
software development method.
.
Thank you

Software develop....

  • 1.
  • 2.
  • 3.
    Software Development Method Whatis SDM? A framework that describes the activities performed at each stage of a software development project.
  • 4.
    Phases Specification of needs Problemanalysis Implementation Testing and Verification Design and Algorithmic Representation Documentation
  • 5.
    Specification of Needs Inthis phase we actually learn about:  What the problem is  What is needed to solve it  What solution should provide  If there are constraint and special conditions.
  • 6.
    Problem analysis In thisphase we should identify following:  Input to the problem, their form and input media to be used  Output expected, their form and output media to be used  Special constraints and conditions  Formulas or equations to be used.
  • 7.
    Design andAlgorithmic Representation An algorithm is a sequence of infinite number of steps arranged in a specific logic order which, when executed, produces the solution for a problem An algorithm must satisfy these requirements:  It may have an input  It may have an output  It should not be ambiguous o Every step in algorithm must be clear as what is supposed to do
  • 8.
    Design andAlgorithmic Representationcont….  It must be general  It must be correct and it must solve the problem for which it is designed  It must execute and terminate in a finite amount of time  It must be efficient enough so that it can solve the intended problem using the recourses currently available on the computer  An algorithm can be represented by using: orPseudo codes Flow chart
  • 9.
    Control Structure  Inorder to tackle a problem, we need:  A correct algorithm  To apply the algorithm at the good moment  To decide which algorithm to apply  To know if a certain operation to be repeated  An algorithm can be described using only three control structures: sequence selection reputation
  • 10.
    Pseudocodes  A pseudocodeis a semiformal, english-like language with limited vocabulary that can be used to design and describe algorithm  Criteria of a good pseudocode:  Easy to understand, precise and clear  Gives correct solution in all cases  Eventually end
  • 11.
    Pseudocodes: the sequencecontrol structure  A series of steps or statement that are executed in the order they are written in algorithm  The beginning and ends of a block of statement can be optionally marked with keywords begin and end. o Example: Begin Read the birth date from user. Calculate the difference between birth date and today’s date. Print the user age. End
  • 12.
    Pseudocodes: The selectioncontrol structure  Defines two courses of action depending on outcome of a condition. A condition is an expression that is, when computed, evaluated either true or false.  The keywords used are if and else. if condition if age is greater than 23 then-part printf “retire” Else else Else-part print “work work work” end_if end_if Format Example
  • 13.
    Pseudocodes: The repetitioncontrol structure  The repetition control structure may be like this example:  Summing up to 10 numbers Cumulative sum =0 current num = 1 while current num is less or equal to 10 cumulative sum = cumulative sum + current number current number = current number + 1 end_while print the value of cumulative number o In this algorithm, we have used both sequence and repetition control structure.
  • 14.
    Flow charts  Flowchart is a graph used to depict or show a step by step solution using symbols which represent a task.  The symbols used consists of geometrically shapes that are connected by flow lines.  Flow chart is graphical in nature.
  • 15.
    Flowchart symbols Terminal symbol-indicatesthe beginning and ending points. Process symbol-shows an instruction. Input/output symbol- shows an input/output operations Disk storage-indicates input or output from disk storage. printer output symbol- shows hard copy printer output selection symbol-shows a selection process for two way selection. off page connector-provides continuation of a logical path of another page.
  • 16.
    Flow chart symbolscont…. On page connector-provides continuation of a logical path at another point of the same page. flow lines-indicates the logical sequence of execution steps.  Flow chart –sequence control structure: statement1 statement2 :
  • 17.
    Flow chart-selection controlstructure It’s may be in this form condition Else- statement Then-statement
  • 18.
    Flow chart- repatriationcontrol structure  It’s may be like this yes no condition Loop statement
  • 19.
    Implementation  The processof implementing on algorithm by writing a computer program using a programming language.  The output of the program must be solution of problem.  The program must not do anything that is not supposed to do  (think of those may viruses, buffer overflow, trogon horses etc, that we experience almost daily . All these results from programs doing more than they were intended to do)
  • 20.
    Testing and verification Program testing is the process of executing a program to demonstrate its correctness  Program verification is the process of ensuring that a program meets user requirements  After the program is compiled , we must run the program and verify it with different inputs before the program can be released to the public or other users
  • 21.
    Documentation  Contains detailsproduced at all stages of program development cycle.  It can be done in two ways:  Writing comments between your lines of codes  Creating a separate text file to explain the program  Important not for only other people to use or modify your program, but also for you to understand your own program after a long time
  • 22.
    Documentation conti…..  Documentationis important because:  You may return to this program in future to use the whole of or part of it again  Other programmer or end user will need some information about your program for reference or maintenance  You may some day have to modify the program or may discover errors in your program  Although documentation is listed as the last stage of software development method , it is actually an ongoing process which should be done from very beginning of software development method.
  • 23.