尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
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

Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
lavanya marichamy
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
NancyBeaulah_R
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirements
Stephennancy
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
kavitha muneeshwaran
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
NancyBeaulah_R
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
Siva Priya
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
lalithambiga kamaraj
 
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
Siva Priya
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
janani thirupathi
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
UMA PARAMESWARI
 
Software design
Software designSoftware design
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
UMA PARAMESWARI
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
priyapavi96
 
Interface specification
Interface specificationInterface specification
Interface specification
maliksiddique1
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
akiara
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 

What's hot (20)

Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirements
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
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
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software design
Software designSoftware design
Software design
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Interface specification
Interface specificationInterface specification
Interface specification
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 

Similar to Fundamental design concepts

software engineering
software engineeringsoftware engineering
software engineering
Abinaya B
 
Design
DesignDesign
Design
Bala Ganesh
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
Vidhun T
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha 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.pptx
LeahRachael
 
Software Design abtic.pptx
Software Design abtic.pptxSoftware Design abtic.pptx
Software Design abtic.pptx
ssuser8c0d24
 
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 principles
saurabhshertukde
 
Unit 2
Unit 2Unit 2
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
Aprajita (Abbey) Singh
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
Shagufta shaheen
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
Sutha31
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
ArifaMehreen1
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
ghayour abbas
 
chapter 5.ppt
chapter 5.pptchapter 5.ppt
chapter 5.ppt
EIjerry
 
Software Engineering - SOFTWARE DESIGN Process
Software Engineering - SOFTWARE DESIGN ProcessSoftware Engineering - SOFTWARE DESIGN Process
Software Engineering - SOFTWARE DESIGN Process
Dr Anuranjan Misra
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
Amr E. Mohamed
 
Software engg. pressman_ch-10
Software engg. pressman_ch-10Software engg. pressman_ch-10
Software engg. pressman_ch-10
Dhairya Joshi
 
Unit 3
Unit 3Unit 3
5.Software Design.ppt
5.Software Design.ppt5.Software Design.ppt
5.Software Design.ppt
ssuser1288e7
 

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
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
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
 
Software Engineering - SOFTWARE DESIGN Process
Software Engineering - SOFTWARE DESIGN ProcessSoftware Engineering - SOFTWARE DESIGN Process
Software Engineering - SOFTWARE DESIGN Process
 
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
 

Recently uploaded

Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024
khabri85
 
How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17
Celine George
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
MattVassar1
 
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
Kalna College
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
biruktesfaye27
 
Opportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive themOpportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive them
EducationNC
 
What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17
Celine George
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
MattVassar1
 
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT KanpurDiversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Quiz Club IIT Kanpur
 
8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity
RuchiRathor2
 
bryophytes.pptx bsc botany honours second semester
bryophytes.pptx bsc botany honours  second semesterbryophytes.pptx bsc botany honours  second semester
bryophytes.pptx bsc botany honours second semester
Sarojini38
 
Erasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES CroatiaErasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES Croatia
whatchangedhowreflec
 
managing Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptxmanaging Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptx
nabaegha
 
Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024
Friends of African Village Libraries
 
Accounting for Restricted Grants When and How To Record Properly
Accounting for Restricted Grants  When and How To Record ProperlyAccounting for Restricted Grants  When and How To Record Properly
Accounting for Restricted Grants When and How To Record Properly
TechSoup
 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
Celine George
 
Slides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptxSlides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptx
shabeluno
 
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptxScience-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Catherine Dela Cruz
 
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
yarusun
 
220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx
Kalna College
 

Recently uploaded (20)

Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024
 
How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
 
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx78 Microsoft-Publisher - Sirin Sultana Bora.pptx
78 Microsoft-Publisher - Sirin Sultana Bora.pptx
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
 
Opportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive themOpportunity scholarships and the schools that receive them
Opportunity scholarships and the schools that receive them
 
What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
 
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT KanpurDiversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT Kanpur
 
8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity
 
bryophytes.pptx bsc botany honours second semester
bryophytes.pptx bsc botany honours  second semesterbryophytes.pptx bsc botany honours  second semester
bryophytes.pptx bsc botany honours second semester
 
Erasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES CroatiaErasmus + DISSEMINATION ACTIVITIES Croatia
Erasmus + DISSEMINATION ACTIVITIES Croatia
 
managing Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptxmanaging Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptx
 
Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024
 
Accounting for Restricted Grants When and How To Record Properly
Accounting for Restricted Grants  When and How To Record ProperlyAccounting for Restricted Grants  When and How To Record Properly
Accounting for Restricted Grants When and How To Record Properly
 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
 
Slides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptxSlides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptx
 
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptxScience-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
 
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
 
220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx
 

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.
  翻译: