SlideShare a Scribd company logo
1 of 18
M.SUJITHA,
II-M.SC(CS&IT),
Nadar Saraswathi College Of Arts and Science,Theni
 The designing process involves in developing the
conceptual view of the system.
 The Software Design Techniques that takes
place are:
 Stepwise Refinement
 Levels Of Abstraction
 Structured Design
 Integrated Top-Down Develpoment
 Jackson Structured Programming
STEP-WISE REFINE MENT:
 Stepwise refinement is a top – down technique
for decomposing a system from high level
specification into more elementary levels.
 It is also known as “ Stepwise program
Development” and “Successive Refinement”.
The activities that takes place are:
 Decomposing design decisions to elementary
levels
 Isolating design aspects that are not truly
interdependent.
 Postponding decisions concering representation details
as long as possible.
 Carefully demonstrating that each successive step in
the refinement process is a faithful expasion of
previous steps.
 The procedure for computing the first N prime
numbers and writing them in file F is complete.
 It is complete because each pseudocode
statement has been refined into executable source
code.
 The efficiency of the program can be vastly
improved in several ways. For example, it is not
necessary to check X for divisibility by every number
K between S and X-l.
Example:
Refinement 5 X=l, P[l] = 2, LIM = 1.
For I = 2 to N do begin
repeat X = X+2; K = 2, PRIM := true; while PRIM and (K<
LIM) do begin
PRIM := (Xmod P[k]) <> 0 K:=K+1; . end;
until PRIM;
P[l] := X:LIM := LIM + 1 end;
MAJOR BENEFITS:
 Top-down decomposition
 Incremental addition of detail
 Postponement of design decisions
 Continual verification of consistency
LEVELS OF ABSTRACTION:
 Levels of abstraction was originally described by
Dijkstra as a bottom-up design technique in which an
operating system was designed as a layering of
hierarchical levels starting at level o .
 Internal functions are hidden from other levels, that
can only be invoked by functions on the same level.
 Each level of abstraction performs a set of services
for the functions on the next higher level of
abstraction.
 Thus a file manipulation system might be layered as a
set of routines to manipulate fields
 Higher level functions can invoke functions on lowest
levels, but lower-level functions cannot invoke make
use of higher-level functions.
 Operating system are listed in
Level 0 : Processor allocation clock interrupt handling
Level 1 : Memory segment controller
Level 2 : Console message interpreter
Level 3 : I/O buffering
Level 4 : User programs
Level 5 : operator
STRUCTURED DESIGN
 Structured design was developed by constantine as a
top-down technique for architectural design of
software systems.
 The basic approach is structured design is systematic
conversion of data-flow diagrams into structure
charts.
 Design heuristics such as coupling and cohesion are
used to guide the design process.
 The first step in structured design is review and
refinement of the data flow diagram(s) developed
during requirements definition and external design.
HIERARCHICAL STRUCTURE CHART
TRANSACTION-DRIVER DATA FLOW DIAGRAM.
INTEGRATED TOP-DOWN DEVELOPMENT
 Integrated top-down development integrates design,
implementation and testing.
 Using integrated top-down development, design
proceeds top-down from the highest-level routines;
Lower-level routines may be implementations of
elementary function.
 There is thus a hierarchical structure to a top-down
system.
JACKSON STRUCTURED PROGRAMMING
 It was developed by Michael Jackson as a systematic
technique for mapping the structure of a problem into
a program structure to solve the problem.
 The mapping is accomplished in these steps.
 The problem is modeled by specifying the input and
output data structures using tree structures
diagrams.
 The input-output model is converted into a structural
model that contains the operations needed to solve
the problem.
SPECIFICATION OF OBJECT “A” :
INPUT AND OUTPUT STRUCTURES FOR
AN INVERTING PROBLEM
CORRESPONDENCE BETWEEN INPUT & OUTPUT
STRUCTURE FOR AN INVENTORY PROBLEM.
ASSOCIATION OF OPERATIONS WITH
PROGRAM STRUCTURE
thankyou

More Related Content

What's hot

Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specificationkirupasuchi1996
 
Planning the development process
Planning the development processPlanning the development process
Planning the development processSiva Priya
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteriaUmaselvi_R
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed designpriyapavi96
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenanceakiara
 
Delphi cost estimation model
Delphi cost estimation modelDelphi cost estimation model
Delphi cost estimation modelShashwat Shriparv
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentationKudzai Rerayi
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costslalithambiga kamaraj
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsStephennancy
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 

What's hot (20)

Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specification
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
 
Software design
Software designSoftware design
Software design
 
Delphi cost estimation model
Delphi cost estimation modelDelphi cost estimation model
Delphi cost estimation model
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirements
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Design techniques
Design techniquesDesign techniques
Design techniques
 

Similar to Designing Techniques in Software Engineering

Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceArti Parab Academics
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimationKanchana Devi
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyZainab Nayyar
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringMuhammad Chaudhry
 
Restructuring functions with low cohesion
Restructuring functions with low cohesionRestructuring functions with low cohesion
Restructuring functions with low cohesionAditya Kumar Ghosh
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 
Reduced order in discrete domain
Reduced order in discrete domainReduced order in discrete domain
Reduced order in discrete domainRumrum Banerjee
 
List and describe various features of electronic systems.List and .pdf
List and describe various features of electronic systems.List and .pdfList and describe various features of electronic systems.List and .pdf
List and describe various features of electronic systems.List and .pdfinfo824691
 

Similar to Designing Techniques in Software Engineering (20)

software design
software designsoftware design
software design
 
Procedural programming
Procedural programmingProcedural programming
Procedural programming
 
Cost effort.ppt
Cost effort.pptCost effort.ppt
Cost effort.ppt
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
 
Vedic Calculator
Vedic CalculatorVedic Calculator
Vedic Calculator
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
 
Se notes
Se notesSe notes
Se notes
 
Computers in management
Computers in managementComputers in management
Computers in management
 
Restructuring functions with low cohesion
Restructuring functions with low cohesionRestructuring functions with low cohesion
Restructuring functions with low cohesion
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
E workshop system design
E workshop system designE workshop system design
E workshop system design
 
chapter 1.pdf
chapter 1.pdfchapter 1.pdf
chapter 1.pdf
 
Reduced order in discrete domain
Reduced order in discrete domainReduced order in discrete domain
Reduced order in discrete domain
 
List and describe various features of electronic systems.List and .pdf
List and describe various features of electronic systems.List and .pdfList and describe various features of electronic systems.List and .pdf
List and describe various features of electronic systems.List and .pdf
 
architectural.ppt
architectural.pptarchitectural.ppt
architectural.ppt
 
System development life cycle
System development life cycleSystem development life cycle
System development life cycle
 

More from kirupasuchi1996

Rotor machine,subsitution technique
Rotor machine,subsitution techniqueRotor machine,subsitution technique
Rotor machine,subsitution techniquekirupasuchi1996
 
DVI,FRACTAL IMAGE,SUB BAND IMAGE,VIDEO CODING AND WAVELET BASED COMPRESSION
DVI,FRACTAL IMAGE,SUB BAND IMAGE,VIDEO CODING AND WAVELET BASED COMPRESSIONDVI,FRACTAL IMAGE,SUB BAND IMAGE,VIDEO CODING AND WAVELET BASED COMPRESSION
DVI,FRACTAL IMAGE,SUB BAND IMAGE,VIDEO CODING AND WAVELET BASED COMPRESSIONkirupasuchi1996
 
Image compression standards
Image compression standardsImage compression standards
Image compression standardskirupasuchi1996
 
Datatransferandmanipulation 180214044522
Datatransferandmanipulation 180214044522Datatransferandmanipulation 180214044522
Datatransferandmanipulation 180214044522kirupasuchi1996
 
Filesharing 180214044607
Filesharing 180214044607Filesharing 180214044607
Filesharing 180214044607kirupasuchi1996
 
Managing,working with files
Managing,working with filesManaging,working with files
Managing,working with fileskirupasuchi1996
 

More from kirupasuchi1996 (14)

Rotor machine,subsitution technique
Rotor machine,subsitution techniqueRotor machine,subsitution technique
Rotor machine,subsitution technique
 
rotor machine
rotor machinerotor machine
rotor machine
 
DVI,FRACTAL IMAGE,SUB BAND IMAGE,VIDEO CODING AND WAVELET BASED COMPRESSION
DVI,FRACTAL IMAGE,SUB BAND IMAGE,VIDEO CODING AND WAVELET BASED COMPRESSIONDVI,FRACTAL IMAGE,SUB BAND IMAGE,VIDEO CODING AND WAVELET BASED COMPRESSION
DVI,FRACTAL IMAGE,SUB BAND IMAGE,VIDEO CODING AND WAVELET BASED COMPRESSION
 
Cyper crime
Cyper crimeCyper crime
Cyper crime
 
DS ppt
DS pptDS ppt
DS ppt
 
Image compression standards
Image compression standardsImage compression standards
Image compression standards
 
Software Cost Factor
Software Cost FactorSoftware Cost Factor
Software Cost Factor
 
GUI components in Java
GUI components in JavaGUI components in Java
GUI components in Java
 
Dmppt 180312092027
Dmppt 180312092027Dmppt 180312092027
Dmppt 180312092027
 
Datatransferandmanipulation 180214044522
Datatransferandmanipulation 180214044522Datatransferandmanipulation 180214044522
Datatransferandmanipulation 180214044522
 
Filesharing 180214044607
Filesharing 180214044607Filesharing 180214044607
Filesharing 180214044607
 
B tree-180214044656
B tree-180214044656B tree-180214044656
B tree-180214044656
 
Addressingmodes
Addressingmodes Addressingmodes
Addressingmodes
 
Managing,working with files
Managing,working with filesManaging,working with files
Managing,working with files
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Designing Techniques in Software Engineering

  • 2.  The designing process involves in developing the conceptual view of the system.  The Software Design Techniques that takes place are:  Stepwise Refinement  Levels Of Abstraction  Structured Design  Integrated Top-Down Develpoment  Jackson Structured Programming
  • 3. STEP-WISE REFINE MENT:  Stepwise refinement is a top – down technique for decomposing a system from high level specification into more elementary levels.  It is also known as “ Stepwise program Development” and “Successive Refinement”. The activities that takes place are:  Decomposing design decisions to elementary levels  Isolating design aspects that are not truly interdependent.
  • 4.  Postponding decisions concering representation details as long as possible.  Carefully demonstrating that each successive step in the refinement process is a faithful expasion of previous steps.  The procedure for computing the first N prime numbers and writing them in file F is complete.  It is complete because each pseudocode statement has been refined into executable source code.  The efficiency of the program can be vastly improved in several ways. For example, it is not necessary to check X for divisibility by every number K between S and X-l.
  • 5. Example: Refinement 5 X=l, P[l] = 2, LIM = 1. For I = 2 to N do begin repeat X = X+2; K = 2, PRIM := true; while PRIM and (K< LIM) do begin PRIM := (Xmod P[k]) <> 0 K:=K+1; . end; until PRIM; P[l] := X:LIM := LIM + 1 end; MAJOR BENEFITS:  Top-down decomposition  Incremental addition of detail  Postponement of design decisions  Continual verification of consistency
  • 6. LEVELS OF ABSTRACTION:  Levels of abstraction was originally described by Dijkstra as a bottom-up design technique in which an operating system was designed as a layering of hierarchical levels starting at level o .  Internal functions are hidden from other levels, that can only be invoked by functions on the same level.  Each level of abstraction performs a set of services for the functions on the next higher level of abstraction.  Thus a file manipulation system might be layered as a set of routines to manipulate fields
  • 7.  Higher level functions can invoke functions on lowest levels, but lower-level functions cannot invoke make use of higher-level functions.  Operating system are listed in Level 0 : Processor allocation clock interrupt handling Level 1 : Memory segment controller Level 2 : Console message interpreter Level 3 : I/O buffering Level 4 : User programs Level 5 : operator
  • 8. STRUCTURED DESIGN  Structured design was developed by constantine as a top-down technique for architectural design of software systems.  The basic approach is structured design is systematic conversion of data-flow diagrams into structure charts.  Design heuristics such as coupling and cohesion are used to guide the design process.  The first step in structured design is review and refinement of the data flow diagram(s) developed during requirements definition and external design.
  • 9.
  • 12. INTEGRATED TOP-DOWN DEVELOPMENT  Integrated top-down development integrates design, implementation and testing.  Using integrated top-down development, design proceeds top-down from the highest-level routines; Lower-level routines may be implementations of elementary function.  There is thus a hierarchical structure to a top-down system.
  • 13. JACKSON STRUCTURED PROGRAMMING  It was developed by Michael Jackson as a systematic technique for mapping the structure of a problem into a program structure to solve the problem.  The mapping is accomplished in these steps.  The problem is modeled by specifying the input and output data structures using tree structures diagrams.  The input-output model is converted into a structural model that contains the operations needed to solve the problem.
  • 15. INPUT AND OUTPUT STRUCTURES FOR AN INVERTING PROBLEM
  • 16. CORRESPONDENCE BETWEEN INPUT & OUTPUT STRUCTURE FOR AN INVENTORY PROBLEM.
  • 17. ASSOCIATION OF OPERATIONS WITH PROGRAM STRUCTURE