SlideShare ist ein Scribd-Unternehmen logo
1 von 13
STEPS FOR DEVELOPING A
‘C’ PROGRAM.
BY
SAHITHI NARAPARAJU
INTRODUCTION
•
1)
2)
3)
•

The program development process in C includes three
important stages namely:
Program design
Program coding and
Program testing
All the three stages contribute to production of high
quality programs
1) Program design :
• It is a foundation for good program.
• Program design basically concerned with
development strategy to be used in writing
program, in order to achieve solution of a
problem.
• This includes mapping out a solution
procedure and the form the program would
take.
•

Program design involves 4 stages namely:
i) Problem analysis
ii) Outlining the program structure
iii) Algorithm development
iv) Selection of control structure
• Problem analysis: Before we think a
solution procedure to a problem, we must
fully understand the nature of the problem
and what we want the program to do.
• Outlining the program structure : Once we
have decided what we want and what we
have, the next step is to decide how to do it.
• As a structured language C lends itself to
top-down approach.
• Top-down approach means decomposing of
solution procedure into tasks that form a
hierarchical structure.
• The essence of top-down approach is to cut
the whole program into number of
independent constitutent tasks and then cut
into smaller subtasks
• This approach will produce a readable and
modular code that can be easily understood
and maintained.
• It also helps us classify overall functioning of
a program in terms of lower- level functions.
iii) Algorithm Development: Step by step
procedure for each function is known as
algorithm.
• The most common method of describing an
algorithm is through the use of flow charts.
• The other method is pseudo code.
•

flow chart represents algorithm pictorially,
while pseudo code describe the solution steps
in logical order.
iv) Control structures: Any algorithm can be
structured using three basic control structure
namely:
a) sequence structure b) selection structure
c) looping structure
a) Sequence structure: sequence structure
denotes the execution of statements
sequentially one after another.
b) Selection structure: selection structure involves
a decision , based on a condition and may
have 2 or more branches
Eg: if else and switch statements.
c) Looping structure: looping structure is used
when a set of instructions is evaluated
repeatedly.
Eg: do, while, for statements.
•
1)
2)
3)
4)
5)
6)

A well designed program will provide
following benefits:
Coding is easy and error-free.
Testing is simple.
Maintence is easy
Good documentation is possible.
Cost estimates can be made more accurately.
Progress of coding may be controlled more
precisely.
•

2) Program coding : progrm coding should be
readable and simple to understand.
• Complex logic and tricky coding should be
avoided.
• The elements of coding include:
i) Internal documentation
ii) Construction of statements
iii) Generality of program
iv) Input/Output formats
3) Program testing: Testing is the process of
reviewing and executing a program with the
intent of detecting errors.
• The compiler can detect syntactic and
semantic errors, it cannot detect run-time and
logical errors that show up during execution of
program.
• Testing should include necessary steps to
detect all possible errors in the program.
• Testing process may include following 2
stages:
i) Human testing and
ii) Computer-based testing.
a) Human testing : It is an effective errordetection
Process and is done before the computer based
testing begins.
• Human testing methods include code
inspection by programmer, code inspection by
test group and review by peer group.
• The test is carried out statement by statement
and is analyzed with respect to check list of
common programming errors.
• In addition to finding errors, the programming
style and choice of algorithm are reviewed.
b) Computer-based testing: computer based
testing involves two stages namely:
i) Compiler testing and
ii) Run-time testing
• Compiler testing is the simplest of two and
detects undiscovered syntax errors.
• The program executes when compiler
detects no more errors.
• Run-time errors may produce run-time error
messages such as “null-pointer assignments”
“stack overflow”.
• When program is free from all such errors, it
produces output.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Assembly Language and microprocessor
Assembly Language and microprocessorAssembly Language and microprocessor
Assembly Language and microprocessor
 
Binary presentation
Binary presentationBinary presentation
Binary presentation
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
 
Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software Coding
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economics
 
White Box Testing
White Box TestingWhite Box Testing
White Box Testing
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issue
 
Parsing in Compiler Design
Parsing in Compiler DesignParsing in Compiler Design
Parsing in Compiler Design
 
Debugging
DebuggingDebugging
Debugging
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineering
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Servlets api overview
Servlets api overviewServlets api overview
Servlets api overview
 
project on snake game in c language
project on snake game in c languageproject on snake game in c language
project on snake game in c language
 
Sign language recognizer
Sign language recognizerSign language recognizer
Sign language recognizer
 
Digital Image Fundamentals
Digital Image FundamentalsDigital Image Fundamentals
Digital Image Fundamentals
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
 
Risk Mitigation, Monitoring and Management Plan (RMMM)
Risk Mitigation, Monitoring and Management Plan (RMMM)Risk Mitigation, Monitoring and Management Plan (RMMM)
Risk Mitigation, Monitoring and Management Plan (RMMM)
 

Ähnlich wie Steps for Developing a 'C' program

Software testing & its technology
Software testing & its technologySoftware testing & its technology
Software testing & its technology
Hasam Panezai
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
smumbahelp
 

Ähnlich wie Steps for Developing a 'C' program (20)

Programming_Lecture_1.pptx
Programming_Lecture_1.pptxProgramming_Lecture_1.pptx
Programming_Lecture_1.pptx
 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
 
SDLC models testing
SDLC models testingSDLC models testing
SDLC models testing
 
Management (IP)
Management (IP)Management (IP)
Management (IP)
 
programming and languages (chapter 14)
programming and languages (chapter 14)programming and languages (chapter 14)
programming and languages (chapter 14)
 
Software testing & its technology
Software testing & its technologySoftware testing & its technology
Software testing & its technology
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Software Development presentation basic only
Software Development presentation basic onlySoftware Development presentation basic only
Software Development presentation basic only
 
Software testing and introduction to quality
Software testing and introduction to qualitySoftware testing and introduction to quality
Software testing and introduction to quality
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
2
22
2
 
2
22
2
 
COM1407: Structured Program Development
COM1407: Structured Program Development COM1407: Structured Program Development
COM1407: Structured Program Development
 
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPURLine Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
 
Manual testing by reddy
Manual testing by reddyManual testing by reddy
Manual testing by reddy
 
Prativa biswas
Prativa biswasPrativa biswas
Prativa biswas
 
Prativa biswas
Prativa biswasPrativa biswas
Prativa biswas
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
 
Bab iii static techniques
Bab iii static techniquesBab iii static techniques
Bab iii static techniques
 
Chapter 3 Static Techniques
Chapter 3 Static TechniquesChapter 3 Static Techniques
Chapter 3 Static Techniques
 

Mehr von Sahithi Naraparaju

documentation for identity based secure distrbuted data storage schemes
documentation for identity based secure distrbuted data storage schemesdocumentation for identity based secure distrbuted data storage schemes
documentation for identity based secure distrbuted data storage schemes
Sahithi Naraparaju
 
SYSTEM ARCHITECTURE / UML DIAGRAMS FOR IDENTITY BASED SECURE DISTRIBUTED DATA...
SYSTEM ARCHITECTURE / UML DIAGRAMS FOR IDENTITY BASED SECURE DISTRIBUTED DATA...SYSTEM ARCHITECTURE / UML DIAGRAMS FOR IDENTITY BASED SECURE DISTRIBUTED DATA...
SYSTEM ARCHITECTURE / UML DIAGRAMS FOR IDENTITY BASED SECURE DISTRIBUTED DATA...
Sahithi Naraparaju
 
literature survey for identity based secure distributed data storage
literature survey for identity based secure distributed data storage literature survey for identity based secure distributed data storage
literature survey for identity based secure distributed data storage
Sahithi Naraparaju
 
Identity based secure distributed data storage schemes
Identity based secure distributed data storage schemesIdentity based secure distributed data storage schemes
Identity based secure distributed data storage schemes
Sahithi Naraparaju
 
Srs document for identity based secure distributed data storage schemes
Srs document for identity based secure distributed data storage schemesSrs document for identity based secure distributed data storage schemes
Srs document for identity based secure distributed data storage schemes
Sahithi Naraparaju
 
66913017 java-ring-1217949449014046-9 (1)
66913017 java-ring-1217949449014046-9 (1)66913017 java-ring-1217949449014046-9 (1)
66913017 java-ring-1217949449014046-9 (1)
Sahithi Naraparaju
 
Self protecteion in clustered distributed system new
Self protecteion in clustered distributed system newSelf protecteion in clustered distributed system new
Self protecteion in clustered distributed system new
Sahithi Naraparaju
 
CONSTANTS, VARIABLES & DATATYPES IN C
CONSTANTS, VARIABLES & DATATYPES IN CCONSTANTS, VARIABLES & DATATYPES IN C
CONSTANTS, VARIABLES & DATATYPES IN C
Sahithi Naraparaju
 
constants, variables and datatypes in C
constants, variables and datatypes in Cconstants, variables and datatypes in C
constants, variables and datatypes in C
Sahithi Naraparaju
 
Self protecteion in clustered distributed system new
Self protecteion in clustered distributed system newSelf protecteion in clustered distributed system new
Self protecteion in clustered distributed system new
Sahithi Naraparaju
 
A Batch-authenticated And Key Agreement Framework For P2p-based Online Social...
A Batch-authenticated And Key AgreementFramework For P2p-based Online Social...A Batch-authenticated And Key AgreementFramework For P2p-based Online Social...
A Batch-authenticated And Key Agreement Framework For P2p-based Online Social...
Sahithi Naraparaju
 

Mehr von Sahithi Naraparaju (16)

PPT FOR IDBSDDS SCHEMES
PPT FOR IDBSDDS SCHEMESPPT FOR IDBSDDS SCHEMES
PPT FOR IDBSDDS SCHEMES
 
documentation for identity based secure distrbuted data storage schemes
documentation for identity based secure distrbuted data storage schemesdocumentation for identity based secure distrbuted data storage schemes
documentation for identity based secure distrbuted data storage schemes
 
SYSTEM ARCHITECTURE / UML DIAGRAMS FOR IDENTITY BASED SECURE DISTRIBUTED DATA...
SYSTEM ARCHITECTURE / UML DIAGRAMS FOR IDENTITY BASED SECURE DISTRIBUTED DATA...SYSTEM ARCHITECTURE / UML DIAGRAMS FOR IDENTITY BASED SECURE DISTRIBUTED DATA...
SYSTEM ARCHITECTURE / UML DIAGRAMS FOR IDENTITY BASED SECURE DISTRIBUTED DATA...
 
over view of viruses
over view of virusesover view of viruses
over view of viruses
 
literature survey for identity based secure distributed data storage
literature survey for identity based secure distributed data storage literature survey for identity based secure distributed data storage
literature survey for identity based secure distributed data storage
 
Identity based secure distributed data storage schemes
Identity based secure distributed data storage schemesIdentity based secure distributed data storage schemes
Identity based secure distributed data storage schemes
 
Srs document for identity based secure distributed data storage schemes
Srs document for identity based secure distributed data storage schemesSrs document for identity based secure distributed data storage schemes
Srs document for identity based secure distributed data storage schemes
 
66913017 java-ring-1217949449014046-9 (1)
66913017 java-ring-1217949449014046-9 (1)66913017 java-ring-1217949449014046-9 (1)
66913017 java-ring-1217949449014046-9 (1)
 
Self protecteion in clustered distributed system new
Self protecteion in clustered distributed system newSelf protecteion in clustered distributed system new
Self protecteion in clustered distributed system new
 
OVERVIEW OF ‘C’ PROGRAM
OVERVIEW OF ‘C’ PROGRAMOVERVIEW OF ‘C’ PROGRAM
OVERVIEW OF ‘C’ PROGRAM
 
CONSTANTS, VARIABLES & DATATYPES IN C
CONSTANTS, VARIABLES & DATATYPES IN CCONSTANTS, VARIABLES & DATATYPES IN C
CONSTANTS, VARIABLES & DATATYPES IN C
 
constants, variables and datatypes in C
constants, variables and datatypes in Cconstants, variables and datatypes in C
constants, variables and datatypes in C
 
pre processor directives in C
pre processor directives in Cpre processor directives in C
pre processor directives in C
 
Self protecteion in clustered distributed system new
Self protecteion in clustered distributed system newSelf protecteion in clustered distributed system new
Self protecteion in clustered distributed system new
 
A Batch-authenticated And Key Agreement Framework For P2p-based Online Social...
A Batch-authenticated And Key AgreementFramework For P2p-based Online Social...A Batch-authenticated And Key AgreementFramework For P2p-based Online Social...
A Batch-authenticated And Key Agreement Framework For P2p-based Online Social...
 
Haptic technology
Haptic technologyHaptic technology
Haptic technology
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Steps for Developing a 'C' program

  • 1. STEPS FOR DEVELOPING A ‘C’ PROGRAM. BY SAHITHI NARAPARAJU
  • 2. INTRODUCTION • 1) 2) 3) • The program development process in C includes three important stages namely: Program design Program coding and Program testing All the three stages contribute to production of high quality programs
  • 3. 1) Program design : • It is a foundation for good program. • Program design basically concerned with development strategy to be used in writing program, in order to achieve solution of a problem. • This includes mapping out a solution procedure and the form the program would take.
  • 4. • Program design involves 4 stages namely: i) Problem analysis ii) Outlining the program structure iii) Algorithm development iv) Selection of control structure • Problem analysis: Before we think a solution procedure to a problem, we must fully understand the nature of the problem and what we want the program to do.
  • 5. • Outlining the program structure : Once we have decided what we want and what we have, the next step is to decide how to do it. • As a structured language C lends itself to top-down approach. • Top-down approach means decomposing of solution procedure into tasks that form a hierarchical structure. • The essence of top-down approach is to cut the whole program into number of independent constitutent tasks and then cut into smaller subtasks
  • 6. • This approach will produce a readable and modular code that can be easily understood and maintained. • It also helps us classify overall functioning of a program in terms of lower- level functions. iii) Algorithm Development: Step by step procedure for each function is known as algorithm. • The most common method of describing an algorithm is through the use of flow charts. • The other method is pseudo code.
  • 7. • flow chart represents algorithm pictorially, while pseudo code describe the solution steps in logical order. iv) Control structures: Any algorithm can be structured using three basic control structure namely: a) sequence structure b) selection structure c) looping structure a) Sequence structure: sequence structure denotes the execution of statements sequentially one after another.
  • 8. b) Selection structure: selection structure involves a decision , based on a condition and may have 2 or more branches Eg: if else and switch statements. c) Looping structure: looping structure is used when a set of instructions is evaluated repeatedly. Eg: do, while, for statements.
  • 9. • 1) 2) 3) 4) 5) 6) A well designed program will provide following benefits: Coding is easy and error-free. Testing is simple. Maintence is easy Good documentation is possible. Cost estimates can be made more accurately. Progress of coding may be controlled more precisely.
  • 10. • 2) Program coding : progrm coding should be readable and simple to understand. • Complex logic and tricky coding should be avoided. • The elements of coding include: i) Internal documentation ii) Construction of statements iii) Generality of program iv) Input/Output formats
  • 11. 3) Program testing: Testing is the process of reviewing and executing a program with the intent of detecting errors. • The compiler can detect syntactic and semantic errors, it cannot detect run-time and logical errors that show up during execution of program. • Testing should include necessary steps to detect all possible errors in the program. • Testing process may include following 2 stages: i) Human testing and ii) Computer-based testing.
  • 12. a) Human testing : It is an effective errordetection Process and is done before the computer based testing begins. • Human testing methods include code inspection by programmer, code inspection by test group and review by peer group. • The test is carried out statement by statement and is analyzed with respect to check list of common programming errors. • In addition to finding errors, the programming style and choice of algorithm are reviewed.
  • 13. b) Computer-based testing: computer based testing involves two stages namely: i) Compiler testing and ii) Run-time testing • Compiler testing is the simplest of two and detects undiscovered syntax errors. • The program executes when compiler detects no more errors. • Run-time errors may produce run-time error messages such as “null-pointer assignments” “stack overflow”. • When program is free from all such errors, it produces output.