SlideShare ist ein Scribd-Unternehmen logo
1 von 26
SE-381
Software Engineering
BEIT-V
Lecture # 26
(Detailed Design / Module Description)
Recap
• We have been thru Structured System Analysis
and partly thru Structured System Design; have
completely understood the problem and have
modeled its solution in the form of Higher level or
System Design
• The Structured Chart (Higher Level Design
description) identifies the Modules, their
interconnectivity, Interfaces. Functionality of each
of these modules and their Test Cases
• These modules – for an Industrial Strength
Software – would be in large number and are to
be programmed by other team(s) of programmers
Recap
• Higher Level Design was represented by
Structured Charts, which were realized
from Data Flow Diagrams, keeping
Modularity concepts in mind
• In Structured Charts if interfaces are
containing larger number of parameters,
then these can be represented by table,
like
For Complex SCs and Inflated
Attribute Lists
1
2
3
4
Lnk
#
Inputs Outputs
1 - a, n
2 a, n a
3 x, y x, y
4 a, n sum
main
sortreadnums
switch
Add_n
Example Problem
There is a text file containing
words separated by blanks or new
lines. Design a software system to
determine the number of unique
words in the file
Transformation from DFDs to SC
An Example
MAI – Most Abstract Input MAO – Most Abstract Output
First Level Factoring
Furthering Factoring of Input
Module - SORT
Second Level Factoring of SORT
Detailed Design
– These Module descriptions are not detailed
enough, so that these can be implemented or
transformed into code by Programmers
– Detailed Design, specifies these Modules
further in a language that is Unambiguous,
Non-confusing, Clear and Detailed to an
extent that these Modules can be coded by
the programmers independently
Process/Module Description
• Processes or Modules can be described
using
– Design Specification/Description Languages
– Structured English or pseudo-code
– Decision Tables
– Decision Trees
– And other methods, For Example State
Transition Diagrams, Formal Methods; mostly
depending upon the nature of the problem
Module Specifications
– Informal methods usually lead to different
interpretations, so to avoid this, Formal or Semi-
formal methods are used to ensure the specifications
are precise and not open to multiple interpretations
– These methods are applicable to both Function or
Object Oriented Designs
– It is ensured that Module Specifications are
• Complete – these describe the entire behavior of the module
• Unambiguous
• Understandable – as these are to be implemented by
Programmers, usually not the part of design team
– Formal specifications are usually hard to understand
and equally hard to write.
– Module specifications are Implementation
Independent – should not specify or suggest any
particular method or language of implementation (Key
to re-use of design and re-implementation in any
HLPL – High Level Programming Language)
– Specifications should give the external behavior, the
internal behavior or details of the module should be
decided by the programmer
– Hoare 1969, pointed out that the inputs and outputs of
a Functional Module should qualify certain Pre-
conditions and Post-conditions, say for find_sqrt,
the input needs to be non-negative real numbers and
output is again a positive real number.
– Older Authors used Structure English for specifying
the detailed design of modules, Eg Baynon-Davies
1989, whereas the more recent authors Jalote 2005
etc call it PDL – Process Description Language
– Ideally the Structured English or PDL is to
express the design in a way that it is as
precise and unambiguous as possible, without
having too much detail and that can be easily
converted into an implementation.
– PDL has an overall outer syntax of a
Structured Programming Language and has
vocabulary of a natural language. Same is the
case with Structured English
Structured English
– Structured English is used
• To remove logical ambiguities and
• To describe activities performed by the respective
process
• Various blocks are indented, to demonstrate the
structure of the process
• Implementation details can be written if needed, in
pseudo code form
• Pseudo code is near to physical description of the
implementation
Structured English
• Structured English is comprised of
– Keywords or reserved words, used by many of the
PLs like IF, THEN, ELSE, ENDIF, FOR, READ,
WRITE, FROM, TO, DO etc for distinction these are
usually written in CAPITALS
– Imperative verbs - written in plain English, EG get,
receive, update, modify, do, iterate etc
– Variable names – from DFDs, DD, Data Elements or
Data Structures, better be italicized Eg stock,
students_database, course etc
• Process or Module name should be mentioned
on the top in all capitals
PDL Description for Sort Module
• A design in PDL or Structured English is:
minmax (in file)
ARRAY a
DO UNTIL end of input
READ an item into a
ENDDO
max, min: = first item of a
DO FOR each item in a
IF max < item THEN set max to item
IF min > item THEN set min to item
ENDDO
END
-----
CAPITILIZED are RESERVED WORDS
Problem: Determine the min and
max of a set of numbers in a file
An Example
Text is given in a file with one blank between
two words. It is to be formatted into lines of 80
characters, except the last line. A word is not
to be divided into two lines, and the numbers
of blanks needed to fill the line are added at
the end, with no more than two blanks
between words.
The PDL version of it is …
For Complex Modules …
• Structured English or PDL may not be the
solution
• For example, for an automated Chess program,
a routine required to move a pawn, will have to
consider all possible situations created by that
move and this is to be decided with the position
of other pawns at the board at that time. So
description of such a routine in SE or PDL will
not be possible and we can consider options like
Decision Tree or Decision Table
An Example – Jungle Kingdom
Admission
A Child under 3 years of age is not to be charged an
admission fee. A person under 18 is to be charged half
full admission. If a child under 12 is accompanied by an
adult, however, then that person is to be charged quarter
full admission. For persons over 18 years, full admission
is to be charged, except for students who are to be
charged half admission and senior citizens (women over
60 and men over 65 years) who are to be charged
quarter full admission. A discount of 10% is to apply to
all persons subject to full admission who are members of
a party of 10 or more. Finally, there are no student
concession on the weekends.
Decision Tree
Decision Tables
– These are comprised of four parts:
• The Condition Stub – indicates in a number of
rows the appropriate questions to be asked.
• The Conditions Entry – indicates in a series of
columns the appropriate combination of conditions
that apply
• The Actions Stub – indicates in a series of rows
the appropriate actions to be taken in a process
• The Actions Entry – indicates in a series of
columns the appropriate combination of actions
that apply, given the combination of conditions
Decision Table
References
• Pankaj Jalote, (2004 / 2005), An Integrated Approach to
Software Engineering, 2nd / 3rd Edition;Narosa Publishing
House, New Delhi – Chapter 7 / 8 – Detailed Design
• Paul Beynon-Davies (1989); Information Systems
Development, MacMillan, London, UK, pp 93-103, Ch-9
Process Description
• Jeffrey L Whitten, Lonnie D Bentley and Victor M Barlow
(1997); System Analysis and Design Methods, 2nd Edition,
Richard D Irwin Inc. Ch-19 Designing Structured Programs,
pp: 651-677
• E Yourdan and L Constantine (1979), Structured Design,
Printice Hall,

Weitere ähnliche Inhalte

Was ist angesagt?

Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Akshay Nagpurkar
 
Introduction to Computer and Programming - Lecture 03
Introduction to Computer and Programming - Lecture 03Introduction to Computer and Programming - Lecture 03
Introduction to Computer and Programming - Lecture 03hassaanciit
 
5 Names, bindings,Typechecking and Scopes
5 Names, bindings,Typechecking and Scopes5 Names, bindings,Typechecking and Scopes
5 Names, bindings,Typechecking and ScopesMunawar Ahmed
 
1909 BERT: why-and-how (CODE SEMINAR)
1909 BERT: why-and-how (CODE SEMINAR)1909 BERT: why-and-how (CODE SEMINAR)
1909 BERT: why-and-how (CODE SEMINAR)WarNik Chow
 
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...Bhavin Darji
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web designStudy Stuff
 
role of lexical anaysis
role of lexical anaysisrole of lexical anaysis
role of lexical anaysisSudhaa Ravi
 
7. Trevor Cohn (usfd) Statistical Machine Translation
7. Trevor Cohn (usfd) Statistical Machine Translation7. Trevor Cohn (usfd) Statistical Machine Translation
7. Trevor Cohn (usfd) Statistical Machine TranslationRIILP
 
CIS110 Computer Programming Design Chapter (1)
CIS110 Computer Programming Design Chapter  (1)CIS110 Computer Programming Design Chapter  (1)
CIS110 Computer Programming Design Chapter (1)Dr. Ahmed Al Zaidy
 
Principles of programming
Principles of programmingPrinciples of programming
Principles of programmingRob Paok
 
Lecture2 general structure of a compiler
Lecture2 general structure of a compilerLecture2 general structure of a compiler
Lecture2 general structure of a compilerMahesh Kumar Chelimilla
 
Compiler question bank
Compiler question bankCompiler question bank
Compiler question bankArthyR3
 
Programming for problem solving ppts unit 1
Programming for problem solving ppts unit 1Programming for problem solving ppts unit 1
Programming for problem solving ppts unit 1lakshmi lingutla
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
 

Was ist angesagt? (20)

Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3
 
Learning
LearningLearning
Learning
 
Introduction to Computer and Programming - Lecture 03
Introduction to Computer and Programming - Lecture 03Introduction to Computer and Programming - Lecture 03
Introduction to Computer and Programming - Lecture 03
 
Cognitive models unit 3
Cognitive models unit 3Cognitive models unit 3
Cognitive models unit 3
 
5 Names, bindings,Typechecking and Scopes
5 Names, bindings,Typechecking and Scopes5 Names, bindings,Typechecking and Scopes
5 Names, bindings,Typechecking and Scopes
 
Bert
BertBert
Bert
 
Ssad fp tech ii
Ssad fp tech iiSsad fp tech ii
Ssad fp tech ii
 
Compiler construction
Compiler constructionCompiler construction
Compiler construction
 
1909 BERT: why-and-how (CODE SEMINAR)
1909 BERT: why-and-how (CODE SEMINAR)1909 BERT: why-and-how (CODE SEMINAR)
1909 BERT: why-and-how (CODE SEMINAR)
 
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
role of lexical anaysis
role of lexical anaysisrole of lexical anaysis
role of lexical anaysis
 
7. Trevor Cohn (usfd) Statistical Machine Translation
7. Trevor Cohn (usfd) Statistical Machine Translation7. Trevor Cohn (usfd) Statistical Machine Translation
7. Trevor Cohn (usfd) Statistical Machine Translation
 
CIS110 Computer Programming Design Chapter (1)
CIS110 Computer Programming Design Chapter  (1)CIS110 Computer Programming Design Chapter  (1)
CIS110 Computer Programming Design Chapter (1)
 
Principles of programming
Principles of programmingPrinciples of programming
Principles of programming
 
Lecture2 general structure of a compiler
Lecture2 general structure of a compilerLecture2 general structure of a compiler
Lecture2 general structure of a compiler
 
Compiler question bank
Compiler question bankCompiler question bank
Compiler question bank
 
Programming for problem solving ppts unit 1
Programming for problem solving ppts unit 1Programming for problem solving ppts unit 1
Programming for problem solving ppts unit 1
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
Lec03
Lec03Lec03
Lec03
 

Ähnlich wie Se 381 - lec 26 - 26 - 12 may30 - software design - detailed design - se deceision trees and tables

part 1 - intorduction data structure 2021 mte.ppt
part 1 -  intorduction data structure  2021 mte.pptpart 1 -  intorduction data structure  2021 mte.ppt
part 1 - intorduction data structure 2021 mte.pptabdoSelem1
 
ProgFund_Lecture_5_Recap_and_Case_Study-1.pdf
ProgFund_Lecture_5_Recap_and_Case_Study-1.pdfProgFund_Lecture_5_Recap_and_Case_Study-1.pdf
ProgFund_Lecture_5_Recap_and_Case_Study-1.pdflailoesakhan
 
Goal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
Goal Decomposition and Abductive Reasoning for Policy Analysis and RefinementGoal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
Goal Decomposition and Abductive Reasoning for Policy Analysis and RefinementEmil Lupu
 
data structures and its importance
 data structures and its importance  data structures and its importance
data structures and its importance Anaya Zafar
 
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionarySe 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionarybabak danyal
 
Reading Notes : the practice of programming
Reading Notes : the practice of programmingReading Notes : the practice of programming
Reading Notes : the practice of programmingJuggernaut Liu
 
Software Craftmanship - Cours Polytech
Software Craftmanship - Cours PolytechSoftware Craftmanship - Cours Polytech
Software Craftmanship - Cours Polytechyannick grenzinger
 
Desired language characteristics – Data typing .pptx
Desired language characteristics – Data typing .pptxDesired language characteristics – Data typing .pptx
Desired language characteristics – Data typing .pptx4132lenin6497ram
 
Intro to Data Structure & Algorithms
Intro to Data Structure & AlgorithmsIntro to Data Structure & Algorithms
Intro to Data Structure & AlgorithmsAkhil Kaushik
 
Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3
Beit 381 se lec 15 - 16 -  12 mar27 - req engg 1 of 3Beit 381 se lec 15 - 16 -  12 mar27 - req engg 1 of 3
Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3babak danyal
 
A mathematical approach to sap functional work
A mathematical approach to sap functional workA mathematical approach to sap functional work
A mathematical approach to sap functional workSom Nandivada
 
Report
ReportReport
Reportbutest
 
CHAPTER 1 Creating a ProgramOBJECTIVES· Analyze some of the i.docx
CHAPTER 1 Creating a ProgramOBJECTIVES· Analyze some of the i.docxCHAPTER 1 Creating a ProgramOBJECTIVES· Analyze some of the i.docx
CHAPTER 1 Creating a ProgramOBJECTIVES· Analyze some of the i.docxwalterl4
 
CSCI 180 Project Grading  Your project is graded based .docx
CSCI 180 Project Grading   Your project is graded based .docxCSCI 180 Project Grading   Your project is graded based .docx
CSCI 180 Project Grading  Your project is graded based .docxfaithxdunce63732
 

Ähnlich wie Se 381 - lec 26 - 26 - 12 may30 - software design - detailed design - se deceision trees and tables (20)

Best coding practices
Best coding practicesBest coding practices
Best coding practices
 
part 1 - intorduction data structure 2021 mte.ppt
part 1 -  intorduction data structure  2021 mte.pptpart 1 -  intorduction data structure  2021 mte.ppt
part 1 - intorduction data structure 2021 mte.ppt
 
ProgFund_Lecture_5_Recap_and_Case_Study-1.pdf
ProgFund_Lecture_5_Recap_and_Case_Study-1.pdfProgFund_Lecture_5_Recap_and_Case_Study-1.pdf
ProgFund_Lecture_5_Recap_and_Case_Study-1.pdf
 
Goal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
Goal Decomposition and Abductive Reasoning for Policy Analysis and RefinementGoal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
Goal Decomposition and Abductive Reasoning for Policy Analysis and Refinement
 
Cse
CseCse
Cse
 
data structures and its importance
 data structures and its importance  data structures and its importance
data structures and its importance
 
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionarySe 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
 
Reading Notes : the practice of programming
Reading Notes : the practice of programmingReading Notes : the practice of programming
Reading Notes : the practice of programming
 
Software Craftmanship - Cours Polytech
Software Craftmanship - Cours PolytechSoftware Craftmanship - Cours Polytech
Software Craftmanship - Cours Polytech
 
Abcxyz
AbcxyzAbcxyz
Abcxyz
 
Desired language characteristics – Data typing .pptx
Desired language characteristics – Data typing .pptxDesired language characteristics – Data typing .pptx
Desired language characteristics – Data typing .pptx
 
Intro to Data Structure & Algorithms
Intro to Data Structure & AlgorithmsIntro to Data Structure & Algorithms
Intro to Data Structure & Algorithms
 
Programming in c++
Programming in c++Programming in c++
Programming in c++
 
My Thesis Guide
My Thesis GuideMy Thesis Guide
My Thesis Guide
 
Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3
Beit 381 se lec 15 - 16 -  12 mar27 - req engg 1 of 3Beit 381 se lec 15 - 16 -  12 mar27 - req engg 1 of 3
Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3
 
A mathematical approach to sap functional work
A mathematical approach to sap functional workA mathematical approach to sap functional work
A mathematical approach to sap functional work
 
Report
ReportReport
Report
 
CHAPTER 1 Creating a ProgramOBJECTIVES· Analyze some of the i.docx
CHAPTER 1 Creating a ProgramOBJECTIVES· Analyze some of the i.docxCHAPTER 1 Creating a ProgramOBJECTIVES· Analyze some of the i.docx
CHAPTER 1 Creating a ProgramOBJECTIVES· Analyze some of the i.docx
 
CSCI 180 Project Grading  Your project is graded based .docx
CSCI 180 Project Grading   Your project is graded based .docxCSCI 180 Project Grading   Your project is graded based .docx
CSCI 180 Project Grading  Your project is graded based .docx
 
RAJAT PROJECT.pptx
RAJAT PROJECT.pptxRAJAT PROJECT.pptx
RAJAT PROJECT.pptx
 

Mehr von babak danyal

Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Socketsbabak danyal
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streamsbabak danyal
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Javababak danyal
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the desbabak danyal
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network securitybabak danyal
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systemsbabak danyal
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systemsbabak danyal
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systemsbabak danyal
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systemsbabak danyal
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systemsbabak danyal
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systemsbabak danyal
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systemsbabak danyal
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systemsbabak danyal
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signababak danyal
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systemsbabak danyal
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniquesbabak danyal
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Securitybabak danyal
 

Mehr von babak danyal (20)

applist
applistapplist
applist
 
Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Sockets
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streams
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
 
Tcp sockets
Tcp socketsTcp sockets
Tcp sockets
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the des
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systems
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systems
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systems
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systems
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systems
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systems
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systems
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systems
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signa
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systems
 
Lecture9
Lecture9Lecture9
Lecture9
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniques
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 

Kürzlich hochgeladen

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 

Kürzlich hochgeladen (20)

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 

Se 381 - lec 26 - 26 - 12 may30 - software design - detailed design - se deceision trees and tables

  • 1. SE-381 Software Engineering BEIT-V Lecture # 26 (Detailed Design / Module Description)
  • 2. Recap • We have been thru Structured System Analysis and partly thru Structured System Design; have completely understood the problem and have modeled its solution in the form of Higher level or System Design • The Structured Chart (Higher Level Design description) identifies the Modules, their interconnectivity, Interfaces. Functionality of each of these modules and their Test Cases • These modules – for an Industrial Strength Software – would be in large number and are to be programmed by other team(s) of programmers
  • 3. Recap • Higher Level Design was represented by Structured Charts, which were realized from Data Flow Diagrams, keeping Modularity concepts in mind • In Structured Charts if interfaces are containing larger number of parameters, then these can be represented by table, like
  • 4. For Complex SCs and Inflated Attribute Lists 1 2 3 4 Lnk # Inputs Outputs 1 - a, n 2 a, n a 3 x, y x, y 4 a, n sum main sortreadnums switch Add_n
  • 5. Example Problem There is a text file containing words separated by blanks or new lines. Design a software system to determine the number of unique words in the file
  • 6. Transformation from DFDs to SC An Example MAI – Most Abstract Input MAO – Most Abstract Output
  • 8. Furthering Factoring of Input Module - SORT
  • 10. Detailed Design – These Module descriptions are not detailed enough, so that these can be implemented or transformed into code by Programmers – Detailed Design, specifies these Modules further in a language that is Unambiguous, Non-confusing, Clear and Detailed to an extent that these Modules can be coded by the programmers independently
  • 11. Process/Module Description • Processes or Modules can be described using – Design Specification/Description Languages – Structured English or pseudo-code – Decision Tables – Decision Trees – And other methods, For Example State Transition Diagrams, Formal Methods; mostly depending upon the nature of the problem
  • 12. Module Specifications – Informal methods usually lead to different interpretations, so to avoid this, Formal or Semi- formal methods are used to ensure the specifications are precise and not open to multiple interpretations – These methods are applicable to both Function or Object Oriented Designs – It is ensured that Module Specifications are • Complete – these describe the entire behavior of the module • Unambiguous • Understandable – as these are to be implemented by Programmers, usually not the part of design team – Formal specifications are usually hard to understand and equally hard to write.
  • 13. – Module specifications are Implementation Independent – should not specify or suggest any particular method or language of implementation (Key to re-use of design and re-implementation in any HLPL – High Level Programming Language) – Specifications should give the external behavior, the internal behavior or details of the module should be decided by the programmer – Hoare 1969, pointed out that the inputs and outputs of a Functional Module should qualify certain Pre- conditions and Post-conditions, say for find_sqrt, the input needs to be non-negative real numbers and output is again a positive real number. – Older Authors used Structure English for specifying the detailed design of modules, Eg Baynon-Davies 1989, whereas the more recent authors Jalote 2005 etc call it PDL – Process Description Language
  • 14. – Ideally the Structured English or PDL is to express the design in a way that it is as precise and unambiguous as possible, without having too much detail and that can be easily converted into an implementation. – PDL has an overall outer syntax of a Structured Programming Language and has vocabulary of a natural language. Same is the case with Structured English
  • 15. Structured English – Structured English is used • To remove logical ambiguities and • To describe activities performed by the respective process • Various blocks are indented, to demonstrate the structure of the process • Implementation details can be written if needed, in pseudo code form • Pseudo code is near to physical description of the implementation
  • 16. Structured English • Structured English is comprised of – Keywords or reserved words, used by many of the PLs like IF, THEN, ELSE, ENDIF, FOR, READ, WRITE, FROM, TO, DO etc for distinction these are usually written in CAPITALS – Imperative verbs - written in plain English, EG get, receive, update, modify, do, iterate etc – Variable names – from DFDs, DD, Data Elements or Data Structures, better be italicized Eg stock, students_database, course etc • Process or Module name should be mentioned on the top in all capitals
  • 17. PDL Description for Sort Module
  • 18. • A design in PDL or Structured English is: minmax (in file) ARRAY a DO UNTIL end of input READ an item into a ENDDO max, min: = first item of a DO FOR each item in a IF max < item THEN set max to item IF min > item THEN set min to item ENDDO END ----- CAPITILIZED are RESERVED WORDS Problem: Determine the min and max of a set of numbers in a file
  • 19. An Example Text is given in a file with one blank between two words. It is to be formatted into lines of 80 characters, except the last line. A word is not to be divided into two lines, and the numbers of blanks needed to fill the line are added at the end, with no more than two blanks between words. The PDL version of it is …
  • 20.
  • 21. For Complex Modules … • Structured English or PDL may not be the solution • For example, for an automated Chess program, a routine required to move a pawn, will have to consider all possible situations created by that move and this is to be decided with the position of other pawns at the board at that time. So description of such a routine in SE or PDL will not be possible and we can consider options like Decision Tree or Decision Table
  • 22. An Example – Jungle Kingdom Admission A Child under 3 years of age is not to be charged an admission fee. A person under 18 is to be charged half full admission. If a child under 12 is accompanied by an adult, however, then that person is to be charged quarter full admission. For persons over 18 years, full admission is to be charged, except for students who are to be charged half admission and senior citizens (women over 60 and men over 65 years) who are to be charged quarter full admission. A discount of 10% is to apply to all persons subject to full admission who are members of a party of 10 or more. Finally, there are no student concession on the weekends.
  • 24. Decision Tables – These are comprised of four parts: • The Condition Stub – indicates in a number of rows the appropriate questions to be asked. • The Conditions Entry – indicates in a series of columns the appropriate combination of conditions that apply • The Actions Stub – indicates in a series of rows the appropriate actions to be taken in a process • The Actions Entry – indicates in a series of columns the appropriate combination of actions that apply, given the combination of conditions
  • 26. References • Pankaj Jalote, (2004 / 2005), An Integrated Approach to Software Engineering, 2nd / 3rd Edition;Narosa Publishing House, New Delhi – Chapter 7 / 8 – Detailed Design • Paul Beynon-Davies (1989); Information Systems Development, MacMillan, London, UK, pp 93-103, Ch-9 Process Description • Jeffrey L Whitten, Lonnie D Bentley and Victor M Barlow (1997); System Analysis and Design Methods, 2nd Edition, Richard D Irwin Inc. Ch-19 Designing Structured Programs, pp: 651-677 • E Yourdan and L Constantine (1979), Structured Design, Printice Hall,