SlideShare a Scribd company logo
1 of 25
Submitted By,
M. Lavanya, M.Sc.(CS&IT),
P. Nithya, M.Sc.(CS&IT),
N. Pandimeena, M.Sc.(CS&IT),
Nadar Saraswathi College of Arts & Science, Theni.
FUNDAMENTAL DESIGN CONCEPTS
Fundamental concepts of software design
includes the following techniques,
1. Abstraction
2. Structure
3. Information Hiding
4. Modularity
5. Concurrency
6. Verification
7. Design Aesthetics
Abstraction is the intellectual tool that allows us to deal
with concepts apart from particular instances of those
concepts.
Three widely used abstraction mechanisms in software
design are,
1. Functional Abstraction
2. Data Abstraction
3. Control Abstraction
These mechanisms allow us to control the complexity
of the design process by systematically proceeding from the
abstract to the concrete.
ABSTRACTION
Information hiding is a fundamental design concept for
software. Each module in the system hides the internal details
of its processing activities and modules communicate only
through well-defined interfaces.
Other candidates for information hiding include:
1. A data structure and its internal linkage
2. The format of control blocks such as those for
queues in an operating system
3. Character codes
4.Shifting, masking and other machine
dependent details
INFORMATION HIDING
Structure is a fundamental characteristic of computer
software.
The use of structuring permits decomposition of a large
system into smaller, more manageable units with well-defined
relationships to the other units in the system.
The most general form of system structure is the network.
Software System Structure
Network
STRUCTURE
Link
Node
Node
The nodes can represent processing elements that
transform data and the arcs can be used to represent data links
between nodes.
Alternatively, the nodes can represent data stores and
the arcs data transformation.
Environment group templates
Shared objects
Processes
Process
Each process, one might find functional abstraction
groups, data abstraction groups, and control abstraction groups.
Template group
Processing groups
Utility group
Group
Each group might consist of a visible specification part
and a hidden body.
The visible portion would provide attributes such as
procedure interfaces, data types, and data objects available for
use by other groups.
Visible part
Static area
Hidden part
The term of “module” a module is FORTRAN sub routine
 module ada package "to” module is a work of individual
programmer
Modular system is collection of abstraction
• Data abstraction
• Function abstraction
• Control abstraction
 The abstraction to handle problem to solved
 Modularity enhance design clarity
• Implementation
• Debugging
• Testing
• Document
• Maintenance
MODULARITY
Modular system include:
i) Well defined sub system
ii) Each abstraction single
iii) More than one major structure
iv) Function share global data
v) Function abstract data type
 Software system can be categorized as
Sequential
Concurrency
 Sequence system can activate at any time.
 Concurrency system can process simutanuously using
multiprocess available.
 The implementation of time sharing, multiprocessor, real
time system and Concurrency system include:
Deadlock
Mutual exclusion
Synchronization
CONCURRENCY
DEADLOCK
 When process in computer system are waiting are other
process executed
MUTUAL EXCLUSION
 Mutual exclusion multi process do not attempt ,same
component at share process at a time
SYNCHRONIZATION
 Concurrent process at different execution speed
CONCURRENCY PRINCIPLE
 Fundamental of software design
Verification is a fundamental concept in
software design.
The verification technique has two steps:
i) verification is software requirement
definition satisfied customer need
ii) verification is the design satisfied
requirement definition
VERIFICATION
Aesthetics is fundamental to design, whether in art
or technology.
• Simplicity,
• Clarity,
• Elegance
• Quality of product
The mathematical elegance or structure beauty the
properties of satisfaction of requirements
AESTHETICS
MODULES AND
MODULARIZATION CRITERIA
CHARACTERISTICS
A software module to be a named entity
having the following characteristics:
 Modules contain instructions, processing logic, and
data structures.
 Modules can be separately compiled and stored in a
library.
 Modules can be included in a program.
 Module segments can be used by invoking a name
and some parameters.
 Modules can use other modules.
EXAMPLES
 Examples of modules include procedures,
subroutines, and functions; functional groups of
related procedures, subroutines, and functions;
data abstraction groups; utility groups and
concurrent processes.
 Modularization allows the designer to
decompose a system into functional units, to
impose hierarchical ordering on function usage,
to implement data abstractions, and to develop
independently useful subsystems.
COUPLING AND COHESION
Coupling:
The strength of coupling between two modules is
influenced by the complexity of the interface, the type of
connection, and the type of communication.
Coupling between modules can be ranked on a scale of
strongest(least desirable) to weakest(most desirable) as
follows:
Content coupling
Common coupling
Control coupling
Stamp coupling
Data coupling
Content Coupling:
Content coupling occurs when one module
modifies local data values or instructions in
another module.
Common Coupling:
Modules are bound together by global data
structures.
Control Coupling:
Control coupling involves passing control
flags(as parameters or globals) between modules
so that one module controls the sequence of
processing steps in another module.
Stamp Coupling:
Stamp coupling is similar to common
coupling, except that global data items are shared
selectively among routines that require the data.
Data Coupling:
Data coupling involves the use of parameter
lists to pass data items between routines.
The most desirable form of coupling between
modules is a combination of stamp and data
coupling.
Cohesion:
The internal cohesion of a module is measured in
terms of the strength of binding of elements within the
module.
Cohesion of elements occurs on the scale of
weakest(least desirable) to strongest(most desirable) in
the following order:
Coincidental cohesion
Logical cohesion
Temporal cohesion
Communication cohesion
Sequential cohesion
Functional cohesion
Informational cohesion
Coincidental Cohesion:
Coincidental cohesion occurs when the
elements within a module have no apparent
relationship to one another.
Logical Cohesion:
Logical cohesion implies some relationship
among the elements of the module.
Ex: In a module that performs all input and
output operations, or in a module that edits all data.
Temporal Cohesion:
Modules with temporal cohesion exhibit
many of the same disadvantages as logically
bound modules.
A typical example of temporal cohesion is a
module that performs program initialization.
Communication Cohesion:
The elements of a module possessing
communicational cohesion refer to the same set of
input and/or output data.
Ex: “Print and Punch the Output File” is
communicationally bound.
Sequential Cohesion:
Sequential cohesion of elements occurs when the
output of one element is the input for the next element.
Functional Cohesion:
Functional cohesion is a strong, and hence
desirable, type of binding of elements in a module
because all elements are related to the performance of
a single function.
Informational Cohesion:
Informational cohesion of elements in a module
occurs when the module contains a complex data
structure and several routines to manipulate the data
structure.
OTHER MODULARIZATION
CRITERIA
Additional criteria for deciding which functions
to place in which modules of a software system
include:
Hiding difficult and changeable design decisions
Limiting the physical size of modules
Structuring the system to improve observability and
testability
Isolating machine dependencies to a few routines
Easing likely changes
Providing general purpose utility functions
Reducing the call return overhead of excessive subroutine
calls.

More Related Content

What's hot

Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factorsNancyBeaulah_R
 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specificationkirupasuchi1996
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed designpriyapavi96
 
Planning the development process
Planning the development processPlanning the development process
Planning the development processSiva Priya
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentationKudzai Rerayi
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesionSutha31
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenanceakiara
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costslalithambiga kamaraj
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Programming team structure
Programming team structureProgramming team structure
Programming team structureNancyBeaulah_R
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle modelStephennancy
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)ShudipPal
 
Interface specification
Interface specificationInterface specification
Interface specificationmaliksiddique1
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquesSiva Priya
 

What's hot (20)

Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specification
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Software design
Software designSoftware design
Software design
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle model
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
Interface specification
Interface specificationInterface specification
Interface specification
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniques
 

Similar to Fundamental design concepts

software engineering
software engineeringsoftware engineering
software engineeringAbinaya B
 
Function oriented design
Function oriented designFunction oriented design
Function oriented designVidhun T
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxUNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxLeahRachael
 
Software Design abtic.pptx
Software Design abtic.pptxSoftware Design abtic.pptx
Software Design abtic.pptxssuser8c0d24
 
Designing PrinciplesOf Software
Designing PrinciplesOf Software Designing PrinciplesOf Software
Designing PrinciplesOf Software Ankita Agrawal
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxArifaMehreen1
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basicsghayour abbas
 
chapter 5.ppt
chapter 5.pptchapter 5.ppt
chapter 5.pptEIjerry
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignAmr E. Mohamed
 
Software engg. pressman_ch-10
Software engg. pressman_ch-10Software engg. pressman_ch-10
Software engg. pressman_ch-10Dhairya Joshi
 
5.Software Design.ppt
5.Software Design.ppt5.Software Design.ppt
5.Software Design.pptssuser1288e7
 
Unit-III(Design).pptx
Unit-III(Design).pptxUnit-III(Design).pptx
Unit-III(Design).pptxFajar Baskoro
 
System software design1
System software design1System software design1
System software design1PrityRawat2
 

Similar to Fundamental design concepts (20)

software engineering
software engineeringsoftware engineering
software engineering
 
Design
DesignDesign
Design
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxUNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
 
Software Design abtic.pptx
Software Design abtic.pptxSoftware Design abtic.pptx
Software Design abtic.pptx
 
Designing PrinciplesOf Software
Designing PrinciplesOf Software Designing PrinciplesOf Software
Designing PrinciplesOf Software
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Unit 2
Unit 2Unit 2
Unit 2
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
 
chapter 5.ppt
chapter 5.pptchapter 5.ppt
chapter 5.ppt
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
 
Software engg. pressman_ch-10
Software engg. pressman_ch-10Software engg. pressman_ch-10
Software engg. pressman_ch-10
 
Unit 3
Unit 3Unit 3
Unit 3
 
5.Software Design.ppt
5.Software Design.ppt5.Software Design.ppt
5.Software Design.ppt
 
Unit-III(Design).pptx
Unit-III(Design).pptxUnit-III(Design).pptx
Unit-III(Design).pptx
 
System software design1
System software design1System software design1
System software design1
 
Sda 2
Sda   2Sda   2
Sda 2
 

Recently uploaded

Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
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
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
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
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 

Recently uploaded (20)

Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.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
 
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🔝
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
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
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 

Fundamental design concepts

  • 1. Submitted By, M. Lavanya, M.Sc.(CS&IT), P. Nithya, M.Sc.(CS&IT), N. Pandimeena, M.Sc.(CS&IT), Nadar Saraswathi College of Arts & Science, Theni. FUNDAMENTAL DESIGN CONCEPTS
  • 2. Fundamental concepts of software design includes the following techniques, 1. Abstraction 2. Structure 3. Information Hiding 4. Modularity 5. Concurrency 6. Verification 7. Design Aesthetics
  • 3. Abstraction is the intellectual tool that allows us to deal with concepts apart from particular instances of those concepts. Three widely used abstraction mechanisms in software design are, 1. Functional Abstraction 2. Data Abstraction 3. Control Abstraction These mechanisms allow us to control the complexity of the design process by systematically proceeding from the abstract to the concrete. ABSTRACTION
  • 4. Information hiding is a fundamental design concept for software. Each module in the system hides the internal details of its processing activities and modules communicate only through well-defined interfaces. Other candidates for information hiding include: 1. A data structure and its internal linkage 2. The format of control blocks such as those for queues in an operating system 3. Character codes 4.Shifting, masking and other machine dependent details INFORMATION HIDING
  • 5. Structure is a fundamental characteristic of computer software. The use of structuring permits decomposition of a large system into smaller, more manageable units with well-defined relationships to the other units in the system. The most general form of system structure is the network. Software System Structure Network STRUCTURE Link Node
  • 6. Node The nodes can represent processing elements that transform data and the arcs can be used to represent data links between nodes. Alternatively, the nodes can represent data stores and the arcs data transformation. Environment group templates Shared objects Processes
  • 7. Process Each process, one might find functional abstraction groups, data abstraction groups, and control abstraction groups. Template group Processing groups Utility group
  • 8. Group Each group might consist of a visible specification part and a hidden body. The visible portion would provide attributes such as procedure interfaces, data types, and data objects available for use by other groups. Visible part Static area Hidden part
  • 9. The term of “module” a module is FORTRAN sub routine  module ada package "to” module is a work of individual programmer Modular system is collection of abstraction • Data abstraction • Function abstraction • Control abstraction  The abstraction to handle problem to solved  Modularity enhance design clarity • Implementation • Debugging • Testing • Document • Maintenance MODULARITY
  • 10. Modular system include: i) Well defined sub system ii) Each abstraction single iii) More than one major structure iv) Function share global data v) Function abstract data type
  • 11.  Software system can be categorized as Sequential Concurrency  Sequence system can activate at any time.  Concurrency system can process simutanuously using multiprocess available.  The implementation of time sharing, multiprocessor, real time system and Concurrency system include: Deadlock Mutual exclusion Synchronization CONCURRENCY
  • 12. DEADLOCK  When process in computer system are waiting are other process executed MUTUAL EXCLUSION  Mutual exclusion multi process do not attempt ,same component at share process at a time SYNCHRONIZATION  Concurrent process at different execution speed CONCURRENCY PRINCIPLE  Fundamental of software design
  • 13. Verification is a fundamental concept in software design. The verification technique has two steps: i) verification is software requirement definition satisfied customer need ii) verification is the design satisfied requirement definition VERIFICATION
  • 14. Aesthetics is fundamental to design, whether in art or technology. • Simplicity, • Clarity, • Elegance • Quality of product The mathematical elegance or structure beauty the properties of satisfaction of requirements AESTHETICS
  • 16. CHARACTERISTICS A software module to be a named entity having the following characteristics:  Modules contain instructions, processing logic, and data structures.  Modules can be separately compiled and stored in a library.  Modules can be included in a program.  Module segments can be used by invoking a name and some parameters.  Modules can use other modules.
  • 17. EXAMPLES  Examples of modules include procedures, subroutines, and functions; functional groups of related procedures, subroutines, and functions; data abstraction groups; utility groups and concurrent processes.  Modularization allows the designer to decompose a system into functional units, to impose hierarchical ordering on function usage, to implement data abstractions, and to develop independently useful subsystems.
  • 18. COUPLING AND COHESION Coupling: The strength of coupling between two modules is influenced by the complexity of the interface, the type of connection, and the type of communication. Coupling between modules can be ranked on a scale of strongest(least desirable) to weakest(most desirable) as follows: Content coupling Common coupling Control coupling Stamp coupling Data coupling
  • 19. Content Coupling: Content coupling occurs when one module modifies local data values or instructions in another module. Common Coupling: Modules are bound together by global data structures. Control Coupling: Control coupling involves passing control flags(as parameters or globals) between modules so that one module controls the sequence of processing steps in another module.
  • 20. Stamp Coupling: Stamp coupling is similar to common coupling, except that global data items are shared selectively among routines that require the data. Data Coupling: Data coupling involves the use of parameter lists to pass data items between routines. The most desirable form of coupling between modules is a combination of stamp and data coupling.
  • 21. Cohesion: The internal cohesion of a module is measured in terms of the strength of binding of elements within the module. Cohesion of elements occurs on the scale of weakest(least desirable) to strongest(most desirable) in the following order: Coincidental cohesion Logical cohesion Temporal cohesion Communication cohesion Sequential cohesion Functional cohesion Informational cohesion
  • 22. Coincidental Cohesion: Coincidental cohesion occurs when the elements within a module have no apparent relationship to one another. Logical Cohesion: Logical cohesion implies some relationship among the elements of the module. Ex: In a module that performs all input and output operations, or in a module that edits all data.
  • 23. Temporal Cohesion: Modules with temporal cohesion exhibit many of the same disadvantages as logically bound modules. A typical example of temporal cohesion is a module that performs program initialization. Communication Cohesion: The elements of a module possessing communicational cohesion refer to the same set of input and/or output data. Ex: “Print and Punch the Output File” is communicationally bound.
  • 24. Sequential Cohesion: Sequential cohesion of elements occurs when the output of one element is the input for the next element. Functional Cohesion: Functional cohesion is a strong, and hence desirable, type of binding of elements in a module because all elements are related to the performance of a single function. Informational Cohesion: Informational cohesion of elements in a module occurs when the module contains a complex data structure and several routines to manipulate the data structure.
  • 25. OTHER MODULARIZATION CRITERIA Additional criteria for deciding which functions to place in which modules of a software system include: Hiding difficult and changeable design decisions Limiting the physical size of modules Structuring the system to improve observability and testability Isolating machine dependencies to a few routines Easing likely changes Providing general purpose utility functions Reducing the call return overhead of excessive subroutine calls.