SlideShare uma empresa Scribd logo
1 de 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,

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
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
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 

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,