SlideShare a Scribd company logo
1 of 23
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

More Related Content

What's hot

Algorithm and Flowcharts
Algorithm and FlowchartsAlgorithm and Flowcharts
Algorithm and FlowchartsSabik T S
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAAiman Hud
 
Problem solving using Computer
Problem solving using ComputerProblem solving using Computer
Problem solving using ComputerDavid Livingston J
 
Problem Solving Techniques and Introduction to C
Problem Solving Techniques and Introduction to CProblem Solving Techniques and Introduction to C
Problem Solving Techniques and Introduction to CPrabu U
 
Algorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo codeAlgorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo codehamza javed
 
Flowcharts and algorithms
Flowcharts and algorithmsFlowcharts and algorithms
Flowcharts and algorithmsStudent
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithmrajkumar1631010038
 
Unit 1. Problem Solving with Computer
Unit 1. Problem Solving with Computer   Unit 1. Problem Solving with Computer
Unit 1. Problem Solving with Computer Ashim Lamichhane
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchartSachin Goyani
 
Unit 1 python (2021 r)
Unit 1 python (2021 r)Unit 1 python (2021 r)
Unit 1 python (2021 r)praveena p
 
Algorithm - Introduction
Algorithm - IntroductionAlgorithm - Introduction
Algorithm - IntroductionMadhu Bala
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchartRabin BK
 
Problem Solving Techniques
Problem Solving TechniquesProblem Solving Techniques
Problem Solving TechniquesAshesh R
 
Problem solving (C++ Programming)
Problem solving (C++ Programming)Problem solving (C++ Programming)
Problem solving (C++ Programming)Umair Younas
 
Introduction to Algorithms & flow charts
Introduction to Algorithms & flow chartsIntroduction to Algorithms & flow charts
Introduction to Algorithms & flow chartsYash Gupta
 
Chapter 6 algorithms and flow charts
Chapter 6  algorithms and flow chartsChapter 6  algorithms and flow charts
Chapter 6 algorithms and flow chartsPraveen M Jigajinni
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAAiman Hud
 

What's hot (20)

Algorithm and Flowcharts
Algorithm and FlowchartsAlgorithm and Flowcharts
Algorithm and Flowcharts
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
Problem solving using Computer
Problem solving using ComputerProblem solving using Computer
Problem solving using Computer
 
Problem Solving Techniques and Introduction to C
Problem Solving Techniques and Introduction to CProblem Solving Techniques and Introduction to C
Problem Solving Techniques and Introduction to C
 
Algorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo codeAlgorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo code
 
Flowcharts and algorithms
Flowcharts and algorithmsFlowcharts and algorithms
Flowcharts and algorithms
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithm
 
Algorithm & flow chart
Algorithm & flow chartAlgorithm & flow chart
Algorithm & flow chart
 
Unit 1. Problem Solving with Computer
Unit 1. Problem Solving with Computer   Unit 1. Problem Solving with Computer
Unit 1. Problem Solving with Computer
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
 
Unit 1 python (2021 r)
Unit 1 python (2021 r)Unit 1 python (2021 r)
Unit 1 python (2021 r)
 
Algorithm - Introduction
Algorithm - IntroductionAlgorithm - Introduction
Algorithm - Introduction
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
 
Problem Solving Techniques
Problem Solving TechniquesProblem Solving Techniques
Problem Solving Techniques
 
Problem solving (C++ Programming)
Problem solving (C++ Programming)Problem solving (C++ Programming)
Problem solving (C++ Programming)
 
phases of algorithm
phases of algorithmphases of algorithm
phases of algorithm
 
Introduction to Algorithms & flow charts
Introduction to Algorithms & flow chartsIntroduction to Algorithms & flow charts
Introduction to Algorithms & flow charts
 
Chapter 6 algorithms and flow charts
Chapter 6  algorithms and flow chartsChapter 6  algorithms and flow charts
Chapter 6 algorithms and flow charts
 
Class 7 lecture notes
Class 7 lecture notesClass 7 lecture notes
Class 7 lecture notes
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 

Similar to Software develop....

What is algorithm
What is algorithmWhat is algorithm
What is algorithmmshoaib15
 
Ch1 principles of software development
Ch1 principles of software developmentCh1 principles of software development
Ch1 principles of software developmentHattori Sidek
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3REHAN IJAZ
 
Cse115 lecture03problemsolving
Cse115 lecture03problemsolvingCse115 lecture03problemsolving
Cse115 lecture03problemsolvingMd. Ashikur Rahman
 
Fundamentals of Programming Lecture #1.pptx
Fundamentals of Programming Lecture #1.pptxFundamentals of Programming Lecture #1.pptx
Fundamentals of Programming Lecture #1.pptxEyasu46
 
Program logic and design
Program logic and designProgram logic and design
Program logic and designChaffey College
 
Control Flow Testing
Control Flow TestingControl Flow Testing
Control Flow TestingHirra Sultan
 
Algorithm for computational problematic sit
Algorithm for computational problematic sitAlgorithm for computational problematic sit
Algorithm for computational problematic sitSaurabh846965
 
Programming_Lecture_1.pptx
Programming_Lecture_1.pptxProgramming_Lecture_1.pptx
Programming_Lecture_1.pptxshoaibkhan716300
 
PDLC.pptx
PDLC.pptxPDLC.pptx
PDLC.pptxmarysj3
 
PCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptxPCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptxsudharsanm56
 
Introduction to computer science
Introduction to computer scienceIntroduction to computer science
Introduction to computer scienceumardanjumamaiwada
 
PCCF UNIT 1.pptx
PCCF UNIT 1.pptxPCCF UNIT 1.pptx
PCCF UNIT 1.pptxDivyaKS12
 
Fundamental of Information Technology - UNIT 6
Fundamental of Information Technology - UNIT 6Fundamental of Information Technology - UNIT 6
Fundamental of Information Technology - UNIT 6Shipra Swati
 

Similar to Software develop.... (20)

What is algorithm
What is algorithmWhat is algorithm
What is algorithm
 
Ch1 principles of software development
Ch1 principles of software developmentCh1 principles of software development
Ch1 principles of software development
 
Lect 3-4 Zaheer Abbas
Lect 3-4 Zaheer AbbasLect 3-4 Zaheer Abbas
Lect 3-4 Zaheer Abbas
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3
 
pccf unit 1 _VP.pptx
pccf unit 1 _VP.pptxpccf unit 1 _VP.pptx
pccf unit 1 _VP.pptx
 
Cse115 lecture03problemsolving
Cse115 lecture03problemsolvingCse115 lecture03problemsolving
Cse115 lecture03problemsolving
 
Fundamentals of Programming Lecture #1.pptx
Fundamentals of Programming Lecture #1.pptxFundamentals of Programming Lecture #1.pptx
Fundamentals of Programming Lecture #1.pptx
 
Module 1 python.pptx
Module 1 python.pptxModule 1 python.pptx
Module 1 python.pptx
 
Program logic and design
Program logic and designProgram logic and design
Program logic and design
 
Control Flow Testing
Control Flow TestingControl Flow Testing
Control Flow Testing
 
Algorithm for computational problematic sit
Algorithm for computational problematic sitAlgorithm for computational problematic sit
Algorithm for computational problematic sit
 
Programming_Lecture_1.pptx
Programming_Lecture_1.pptxProgramming_Lecture_1.pptx
Programming_Lecture_1.pptx
 
PDLC.pptx
PDLC.pptxPDLC.pptx
PDLC.pptx
 
PCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptxPCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptx
 
lecture 5
 lecture 5 lecture 5
lecture 5
 
Introduction to computer science
Introduction to computer scienceIntroduction to computer science
Introduction to computer science
 
Chap6
Chap6Chap6
Chap6
 
PCCF UNIT 1.pptx
PCCF UNIT 1.pptxPCCF UNIT 1.pptx
PCCF UNIT 1.pptx
 
Fundamentals of Programming Chapter 3
Fundamentals of Programming Chapter 3Fundamentals of Programming Chapter 3
Fundamentals of Programming Chapter 3
 
Fundamental of Information Technology - UNIT 6
Fundamental of Information Technology - UNIT 6Fundamental of Information Technology - UNIT 6
Fundamental of Information Technology - UNIT 6
 

Recently uploaded

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 

Recently uploaded (20)

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 

Software develop....

  • 1. My first slides Designed by: Iqra Aleem
  • 2. PROGRAMMING FUNDAMENTALS Course Code: 104 BSCS: 1st Semester
  • 3. Software Development Method What is SDM? A framework that describes the activities performed at each stage of a software development project.
  • 4. Phases Specification of needs Problem analysis Implementation Testing and Verification Design and Algorithmic Representation Documentation
  • 5. 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.
  • 6. 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.
  • 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 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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.
  • 14. 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.
  • 15. 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.
  • 16. 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 :
  • 17. Flow chart-selection control structure It’s may be in this form condition Else- statement Then-statement
  • 18. Flow chart- repatriation control structure  It’s may be like this yes no condition Loop statement
  • 19. 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)
  • 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 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
  • 22. 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.