尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
SOFTWARE DESIGN
Prepared by Dr.T.Thendral 15.07.23
Prepared by
Dr.T.Thendral
Assistant Professor
Department of Computer Science
Sri Ramaskrishna College of Arts & Science for Women
Coimbatore
• Software design and Software engineering
• The Design process
• Design principles
• Design concepts
• Effective modular design
• Software Architecture
Prepared by Dr.T.Thendral 15.07.23
SOFTWARE DESIGN AND SOFTWARE
ENGINEERING
• Software design is the first of
three technical activities—
design, code generation, and
test—that are required to
build and verify the software
• The design task produces a
data design, an architectural
design, an interface design,
and a component design
• The data design transforms
the information domain model
created during analysis into
the data structures that will be
required to implement the
software
Prepared by Dr.T.Thendral 15.07.23
• The architectural design defines the relationship
between major structural elements of the software,
the “design patterns”
• The interface design describes how the software
communicates within itself, with systems that
interoperate with it and with humans who use it
• An interface implies a flow of information (e.g., data
and/or control) and a specific type of behavior
• The component-level design transforms structural
elements of the software architecture into a
procedural description of software components
Prepared by Dr.T.Thendral 15.07.23
• The importance of software design can be
stated with a single word—quality
• Design is the place where quality is fostered in
software engineering
Prepared by Dr.T.Thendral 15.07.23
Translating the analysis model into
a software design
Prepared by Dr.T.Thendral 15.07.23
THE DESIGN PROCESS
• Software design is an iterative process
through which requirements are translated
into a “blueprint” for constructing the
software
Prepared by Dr.T.Thendral 15.07.23
Design and Software Quality
• Throughout the design process, the quality of
the evolving design is assessed with a series of
formal technical reviews or design
walkthroughs
Prepared by Dr.T.Thendral 15.07.23
Three characteristics of a good design:
Prepared by Dr.T.Thendral 15.07.23
• A design should exhibit an architectural
structure that
• (1) has been created using recognizable design
patterns
• (2) is composed of components that exhibit
good design characteristics, and
• (3) can be implemented in an evolutionary
fashion, thereby facilitating implementation
and testing
Prepared by Dr.T.Thendral 15.07.23
• 2. A design should be modular
• 3. A design should contain distinct representations of data,
architecture, interfaces, and components (modules).
• 4. A design should lead to data structures that are
appropriate for the objects
• 5. A design should lead to components that exhibit
independent functional characteristics
• 6. A design should lead to interfaces that reduce the
complexity of connections between modules and with the
external environment
• 7. A design should be derived using a repeatable method
that is driven by information obtained during software
requirements analysis
Prepared by Dr.T.Thendral 15.07.23
The Evolution of Software Design
• Early design work concentrated on criteria for the
development of modular programs and methods
for refining software structures in a top-down
manner
• Procedural aspects of design definition evolved
into a philosophy called structured programming
• Later work proposed methods for the translation
of data flow or data structure into a design
definition
Prepared by Dr.T.Thendral 15.07.23
• Methods have a number of common
characteristics:
• (1) a mechanism for the translation of analysis
model into a design representation
• (2) a notation for representing functional
components and their interfaces
• (3) heuristics for refinement and partitioning, and
• (4) guidelines for quality assessment
Prepared by Dr.T.Thendral 15.07.23
Example
Prepared by Dr.T.Thendral 15.07.23
DESIGN PRINCIPLES
DESIGN PRINCIPLES
• Software design is both a process and a model
• Design should be Creative skill, past
experience, a sense of what makes “good”
software, and an overall commitment to
quality are critical success factors for a
competent design
• The design model is the equivalent of an
architect’s plans for a house
Prepared by Dr.T.Thendral 15.07.23
• e.g., a three-dimensional rendering of the
house
• slowly refines the thing to provide guidance
for constructing each detail (e.g., the
plumbing layout)
Prepared by Dr.T.Thendral 15.07.23
• The design process should not suffer from
“tunnel vision.”- onsider alternative
approaches
• The design should be traceable to the
analysis model- Because a single element of
the design model often traces to multiple
requirements
• Requirements have been satisfied by the
design model!
Prepared by Dr.T.Thendral 15.07.23
• The design should not reinvent the wheel-
Systems are constructed using a set of design
patterns
• These patterns should always be chosen as an
alternative to reinvention
• Time is short and resources are limited
• The design should “minimize the intellectual
distance” between the software and the
problem as it exists in the real world.
• structure of the software design should mimic
the structure of the problem domain
Prepared by Dr.T.Thendral 15.07.23
• The design should exhibit uniformity and
integration-
• A design is uniform if it appears that one
person developed the entire thing.
• Rules of style and format should be defined
for a design team before design work begins
• design is integrated if care is taken in defining
interfaces between design components
Prepared by Dr.T.Thendral 15.07.23
• The design should be structured to accommodate
change
• The design should be structured to degrade
gently, even when a’berrant data, events, or
operating conditions are encountered
• Design is not coding, coding is not design
• The design should be assessed for quality as it is
being created, not after the fact
• The design should be reviewed to minimize
conceptual (semantic) errors
Prepared by Dr.T.Thendral 15.07.23
Prepared by Dr.T.Thendral 15.07.23
DESIGN CONCEPTS
• Each helps the software engineer to answer
the following questions:
• What criteria can be used to partition
software into individual components?
• How is function or data structure detail
separated from a conceptual representation of
the software?
• What uniform criteria define the technical
quality of a software design?
Prepared by Dr.T.Thendral 15.07.23
• The beginning of wisdom for a [software
engineer] is to recognize the difference
between getting a program to work, and
getting it right“
• Fundamental software design concepts
provide the necessary framework for "getting
it right"
Prepared by Dr.T.Thendral 15.07.23
Abstraction
• Abstraction:
• When we consider a modular solution to any problem,
many levels of abstraction can be posed
• Procedural Abstraction
• An example of a procedural abstraction would be the word
open for a door
• Data abstraction
• A data abstraction is a named collection of data that
describes a data object
• In the context of the procedural abstraction open, we can
define a data abstraction called door
• data object, the data abstraction for door (e.g., door type,
swing direction, opening mechanism, weight, dimensions)
Prepared by Dr.T.Thendral 15.07.23
• Control abstraction is the third form of
abstraction used in software design
• control abstraction implies a program control
mechanism without specifying internal details
Prepared by Dr.T.Thendral 15.07.23
EFFECTIVE MODULAR DESIGN
• The concept of functional independence is a
direct outgrowth of modularity and the concepts
of abstraction and information hiding
• Independence is measured using two qualitative
criteria: cohesion and coupling.
• Cohesion is a measure of the relative functional
strength of a module.
• Coupling is a measure of the relative
interdependence among modules
Prepared by Dr.T.Thendral 15.07.23
Refinement
• Stepwise refinement is a top-down design
strategy originally proposed by Niklaus Wirth
• In each step (of the refinement), one or several
instructions of the given program are
decomposed into more detailed instructions
• Refinement is actually a process of elaboration
• Abstraction enables a designer to specify
procedure and data and yet suppress low-level
details
• Refinement helps the designer to reveal low-level
details as design progresses
Prepared by Dr.T.Thendral 15.07.23
Modularity
• software is divided into separately named and
addressable components, often called
modules, that are integrated to satisfy
problem requirements
Prepared by Dr.T.Thendral 15.07.23
Prepared by Dr.T.Thendral 15.07.23
• Modular decomposability - reduce the complexity of the
overall problem, thereby achieving an effective modular
solution
• Modular composability-If a design method enables existing
(reusable) design components to be assembled into a new
system
• Modular understandability-If a module can be understood
it will be easier to build and easier to change
• Modular continuity-If small changes to the system
requirements result in changes to individual modules
• Modular protection-If an aberrant condition occurs within
a module and its effects are constrained within that module
side effects will be minimized.
Prepared by Dr.T.Thendral 15.07.23
Software Architecture
• Software architecture the overall structure of
the software and the ways in which that
structure provides conceptual integrity for a
system
• One goal of software design is to derive an
architectural rendering of a system
• A set of architectural patterns enable a
software engineer to reuse designlevel
concepts
Prepared by Dr.T.Thendral 15.07.23

More Related Content

What's hot

Software design and Software engineering.pptx
Software design and Software engineering.pptxSoftware design and Software engineering.pptx
Software design and Software engineering.pptx
DrTThendralCompSci
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
Nana Sarpong
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
Belal Raslan
 
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptChapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Bule Hora University
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
ShudipPal
 
documentation-testing.ppt
documentation-testing.pptdocumentation-testing.ppt
documentation-testing.ppt
Roopa slideshare
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
Drishti Bhalla
 
Software design
Software designSoftware design
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
Satya P. Joshi
 
Software Testing Principles
Software Testing PrinciplesSoftware Testing Principles
Software Testing Principles
Kanoah
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
Rupesh Vaishnav
 
V Model in Software Testing
V Model in Software TestingV Model in Software Testing
V Model in Software Testing
Abdul Raheem
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Syed Zaid Irshad
 
Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01
Abdul Basit
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
Ra'Fat Al-Msie'deen
 
verification and validation
verification and validationverification and validation
verification and validation
Dinesh Pasi
 
Software metrics
Software metricsSoftware metrics
Software metrics
syeda madeha azmat
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
Golda Margret Sheeba J
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Poonkodi Jayakumar
 

What's hot (20)

Software design and Software engineering.pptx
Software design and Software engineering.pptxSoftware design and Software engineering.pptx
Software design and Software engineering.pptx
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptChapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
documentation-testing.ppt
documentation-testing.pptdocumentation-testing.ppt
documentation-testing.ppt
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Software design
Software designSoftware design
Software design
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Software Testing Principles
Software Testing PrinciplesSoftware Testing Principles
Software Testing Principles
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
V Model in Software Testing
V Model in Software TestingV Model in Software Testing
V Model in Software Testing
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
verification and validation
verification and validationverification and validation
verification and validation
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 

Similar to Software design and Software engineering.pptx

Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
nikshaikh786
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
SHREEHARI WADAWADAGI
 
chapter 1.pdf
chapter 1.pdfchapter 1.pdf
chapter 1.pdf
ThedronBerhanu
 
Architecture Design
Architecture DesignArchitecture Design
Architecture Design
Saqib Raza
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
JigyasaAgrawal7
 
B19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptxB19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptx
DrPreethiD1
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
TharuniDiddekunta
 
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptxChapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptx
HaifaMohd3
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
CharenReposposa
 
Design concepts
Design conceptsDesign concepts
Design concepts
Karachi University
 
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
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
malathijanapati1
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
Preeti Mishra
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
Mohammed Fazuluddin
 
Design engineering
Design engineeringDesign engineering
Design engineering
Preeti Mishra
 
Bai giang-se-24feb14
Bai giang-se-24feb14Bai giang-se-24feb14
Software design
Software designSoftware design
Software design
Savyasachi14
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
itadmin33
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
Dr VISU P
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
Niels Bech Nielsen
 

Similar to Software design and Software engineering.pptx (20)

Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
 
chapter 1.pdf
chapter 1.pdfchapter 1.pdf
chapter 1.pdf
 
Architecture Design
Architecture DesignArchitecture Design
Architecture Design
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
 
B19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptxB19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptx
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptxChapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptx
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
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
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Bai giang-se-24feb14
Bai giang-se-24feb14Bai giang-se-24feb14
Bai giang-se-24feb14
 
Software design
Software designSoftware design
Software design
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 

More from DrTThendralCompSci

Loader and linker.pptx
Loader and linker.pptxLoader and linker.pptx
Loader and linker.pptx
DrTThendralCompSci
 
The Application Layer.ppt
The Application Layer.pptThe Application Layer.ppt
The Application Layer.ppt
DrTThendralCompSci
 
Transport Layer.pptx
Transport Layer.pptxTransport Layer.pptx
Transport Layer.pptx
DrTThendralCompSci
 
Software Configuration Management.ppt
Software Configuration Management.pptSoftware Configuration Management.ppt
Software Configuration Management.ppt
DrTThendralCompSci
 
Wireless LANs PPT.ppt
Wireless LANs PPT.pptWireless LANs PPT.ppt
Wireless LANs PPT.ppt
DrTThendralCompSci
 
NETWORK LAYER.ppt
NETWORK LAYER.pptNETWORK LAYER.ppt
NETWORK LAYER.ppt
DrTThendralCompSci
 
Bluetooth.ppt
Bluetooth.pptBluetooth.ppt
Bluetooth.ppt
DrTThendralCompSci
 
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.pptMEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
DrTThendralCompSci
 
Ethernet.ppt
Ethernet.pptEthernet.ppt
Ethernet.ppt
DrTThendralCompSci
 
DATA-LINK LAYER.ppt
DATA-LINK LAYER.pptDATA-LINK LAYER.ppt
DATA-LINK LAYER.ppt
DrTThendralCompSci
 
UNIT I.ppt
UNIT I.pptUNIT I.ppt
UNIT I.ppt
DrTThendralCompSci
 
PHYSICAL LAYER.ppt
PHYSICAL LAYER.pptPHYSICAL LAYER.ppt
PHYSICAL LAYER.ppt
DrTThendralCompSci
 
COMPUTER NETWORK
COMPUTER NETWORKCOMPUTER NETWORK
COMPUTER NETWORK
DrTThendralCompSci
 

More from DrTThendralCompSci (13)

Loader and linker.pptx
Loader and linker.pptxLoader and linker.pptx
Loader and linker.pptx
 
The Application Layer.ppt
The Application Layer.pptThe Application Layer.ppt
The Application Layer.ppt
 
Transport Layer.pptx
Transport Layer.pptxTransport Layer.pptx
Transport Layer.pptx
 
Software Configuration Management.ppt
Software Configuration Management.pptSoftware Configuration Management.ppt
Software Configuration Management.ppt
 
Wireless LANs PPT.ppt
Wireless LANs PPT.pptWireless LANs PPT.ppt
Wireless LANs PPT.ppt
 
NETWORK LAYER.ppt
NETWORK LAYER.pptNETWORK LAYER.ppt
NETWORK LAYER.ppt
 
Bluetooth.ppt
Bluetooth.pptBluetooth.ppt
Bluetooth.ppt
 
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.pptMEDIUM-ACCESS CONTROL SUB LAYER.ppt
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
 
Ethernet.ppt
Ethernet.pptEthernet.ppt
Ethernet.ppt
 
DATA-LINK LAYER.ppt
DATA-LINK LAYER.pptDATA-LINK LAYER.ppt
DATA-LINK LAYER.ppt
 
UNIT I.ppt
UNIT I.pptUNIT I.ppt
UNIT I.ppt
 
PHYSICAL LAYER.ppt
PHYSICAL LAYER.pptPHYSICAL LAYER.ppt
PHYSICAL LAYER.ppt
 
COMPUTER NETWORK
COMPUTER NETWORKCOMPUTER NETWORK
COMPUTER NETWORK
 

Recently uploaded

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
 
Creating Images and Videos through AI.pptx
Creating Images and Videos through AI.pptxCreating Images and Videos through AI.pptx
Creating Images and Videos through AI.pptx
Forum of Blended Learning
 
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
ShwetaGawande8
 
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
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
MattVassar1
 
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
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
PriyaKumari928991
 
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
 
Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
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
 
Slides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptxSlides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptx
shabeluno
 
Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
Frederic Fovet
 
How to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRMHow to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRM
Celine George
 
Creation or Update of a Mandatory Field is Not Set in Odoo 17
Creation or Update of a Mandatory Field is Not Set in Odoo 17Creation or Update of a Mandatory Field is Not Set in Odoo 17
Creation or Update of a Mandatory Field is Not Set in Odoo 17
Celine George
 
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
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
MattVassar1
 
220711130097 Tulip Samanta Concept of Information and Communication Technology
220711130097 Tulip Samanta Concept of Information and Communication Technology220711130097 Tulip Samanta Concept of Information and Communication Technology
220711130097 Tulip Samanta Concept of Information and Communication Technology
Kalna College
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
Kalna College
 
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
Kalna College
 
Keynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse CityKeynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse City
PJ Caposey
 

Recently uploaded (20)

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
 
Creating Images and Videos through AI.pptx
Creating Images and Videos through AI.pptxCreating Images and Videos through AI.pptx
Creating Images and Videos through AI.pptx
 
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
 
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
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
 
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...
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
 
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
 
Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
 
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
 
Slides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptxSlides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptx
 
Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
 
How to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRMHow to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRM
 
Creation or Update of a Mandatory Field is Not Set in Odoo 17
Creation or Update of a Mandatory Field is Not Set in Odoo 17Creation or Update of a Mandatory Field is Not Set in Odoo 17
Creation or Update of a Mandatory Field is Not Set in Odoo 17
 
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
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
 
220711130097 Tulip Samanta Concept of Information and Communication Technology
220711130097 Tulip Samanta Concept of Information and Communication Technology220711130097 Tulip Samanta Concept of Information and Communication Technology
220711130097 Tulip Samanta Concept of Information and Communication Technology
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
 
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
 
Keynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse CityKeynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse City
 

Software design and Software engineering.pptx

  • 1. SOFTWARE DESIGN Prepared by Dr.T.Thendral 15.07.23 Prepared by Dr.T.Thendral Assistant Professor Department of Computer Science Sri Ramaskrishna College of Arts & Science for Women Coimbatore
  • 2. • Software design and Software engineering • The Design process • Design principles • Design concepts • Effective modular design • Software Architecture Prepared by Dr.T.Thendral 15.07.23
  • 3. SOFTWARE DESIGN AND SOFTWARE ENGINEERING • Software design is the first of three technical activities— design, code generation, and test—that are required to build and verify the software • The design task produces a data design, an architectural design, an interface design, and a component design • The data design transforms the information domain model created during analysis into the data structures that will be required to implement the software Prepared by Dr.T.Thendral 15.07.23
  • 4. • The architectural design defines the relationship between major structural elements of the software, the “design patterns” • The interface design describes how the software communicates within itself, with systems that interoperate with it and with humans who use it • An interface implies a flow of information (e.g., data and/or control) and a specific type of behavior • The component-level design transforms structural elements of the software architecture into a procedural description of software components Prepared by Dr.T.Thendral 15.07.23
  • 5. • The importance of software design can be stated with a single word—quality • Design is the place where quality is fostered in software engineering Prepared by Dr.T.Thendral 15.07.23
  • 6. Translating the analysis model into a software design Prepared by Dr.T.Thendral 15.07.23
  • 7. THE DESIGN PROCESS • Software design is an iterative process through which requirements are translated into a “blueprint” for constructing the software Prepared by Dr.T.Thendral 15.07.23
  • 8. Design and Software Quality • Throughout the design process, the quality of the evolving design is assessed with a series of formal technical reviews or design walkthroughs Prepared by Dr.T.Thendral 15.07.23
  • 9. Three characteristics of a good design: Prepared by Dr.T.Thendral 15.07.23
  • 10. • A design should exhibit an architectural structure that • (1) has been created using recognizable design patterns • (2) is composed of components that exhibit good design characteristics, and • (3) can be implemented in an evolutionary fashion, thereby facilitating implementation and testing Prepared by Dr.T.Thendral 15.07.23
  • 11. • 2. A design should be modular • 3. A design should contain distinct representations of data, architecture, interfaces, and components (modules). • 4. A design should lead to data structures that are appropriate for the objects • 5. A design should lead to components that exhibit independent functional characteristics • 6. A design should lead to interfaces that reduce the complexity of connections between modules and with the external environment • 7. A design should be derived using a repeatable method that is driven by information obtained during software requirements analysis Prepared by Dr.T.Thendral 15.07.23
  • 12. The Evolution of Software Design • Early design work concentrated on criteria for the development of modular programs and methods for refining software structures in a top-down manner • Procedural aspects of design definition evolved into a philosophy called structured programming • Later work proposed methods for the translation of data flow or data structure into a design definition Prepared by Dr.T.Thendral 15.07.23
  • 13. • Methods have a number of common characteristics: • (1) a mechanism for the translation of analysis model into a design representation • (2) a notation for representing functional components and their interfaces • (3) heuristics for refinement and partitioning, and • (4) guidelines for quality assessment Prepared by Dr.T.Thendral 15.07.23
  • 14. Example Prepared by Dr.T.Thendral 15.07.23 DESIGN PRINCIPLES
  • 15. DESIGN PRINCIPLES • Software design is both a process and a model • Design should be Creative skill, past experience, a sense of what makes “good” software, and an overall commitment to quality are critical success factors for a competent design • The design model is the equivalent of an architect’s plans for a house Prepared by Dr.T.Thendral 15.07.23
  • 16. • e.g., a three-dimensional rendering of the house • slowly refines the thing to provide guidance for constructing each detail (e.g., the plumbing layout) Prepared by Dr.T.Thendral 15.07.23
  • 17. • The design process should not suffer from “tunnel vision.”- onsider alternative approaches • The design should be traceable to the analysis model- Because a single element of the design model often traces to multiple requirements • Requirements have been satisfied by the design model! Prepared by Dr.T.Thendral 15.07.23
  • 18. • The design should not reinvent the wheel- Systems are constructed using a set of design patterns • These patterns should always be chosen as an alternative to reinvention • Time is short and resources are limited • The design should “minimize the intellectual distance” between the software and the problem as it exists in the real world. • structure of the software design should mimic the structure of the problem domain Prepared by Dr.T.Thendral 15.07.23
  • 19. • The design should exhibit uniformity and integration- • A design is uniform if it appears that one person developed the entire thing. • Rules of style and format should be defined for a design team before design work begins • design is integrated if care is taken in defining interfaces between design components Prepared by Dr.T.Thendral 15.07.23
  • 20. • The design should be structured to accommodate change • The design should be structured to degrade gently, even when a’berrant data, events, or operating conditions are encountered • Design is not coding, coding is not design • The design should be assessed for quality as it is being created, not after the fact • The design should be reviewed to minimize conceptual (semantic) errors Prepared by Dr.T.Thendral 15.07.23
  • 22. DESIGN CONCEPTS • Each helps the software engineer to answer the following questions: • What criteria can be used to partition software into individual components? • How is function or data structure detail separated from a conceptual representation of the software? • What uniform criteria define the technical quality of a software design? Prepared by Dr.T.Thendral 15.07.23
  • 23. • The beginning of wisdom for a [software engineer] is to recognize the difference between getting a program to work, and getting it right“ • Fundamental software design concepts provide the necessary framework for "getting it right" Prepared by Dr.T.Thendral 15.07.23
  • 24. Abstraction • Abstraction: • When we consider a modular solution to any problem, many levels of abstraction can be posed • Procedural Abstraction • An example of a procedural abstraction would be the word open for a door • Data abstraction • A data abstraction is a named collection of data that describes a data object • In the context of the procedural abstraction open, we can define a data abstraction called door • data object, the data abstraction for door (e.g., door type, swing direction, opening mechanism, weight, dimensions) Prepared by Dr.T.Thendral 15.07.23
  • 25. • Control abstraction is the third form of abstraction used in software design • control abstraction implies a program control mechanism without specifying internal details Prepared by Dr.T.Thendral 15.07.23
  • 26. EFFECTIVE MODULAR DESIGN • The concept of functional independence is a direct outgrowth of modularity and the concepts of abstraction and information hiding • Independence is measured using two qualitative criteria: cohesion and coupling. • Cohesion is a measure of the relative functional strength of a module. • Coupling is a measure of the relative interdependence among modules Prepared by Dr.T.Thendral 15.07.23
  • 27. Refinement • Stepwise refinement is a top-down design strategy originally proposed by Niklaus Wirth • In each step (of the refinement), one or several instructions of the given program are decomposed into more detailed instructions • Refinement is actually a process of elaboration • Abstraction enables a designer to specify procedure and data and yet suppress low-level details • Refinement helps the designer to reveal low-level details as design progresses Prepared by Dr.T.Thendral 15.07.23
  • 28. Modularity • software is divided into separately named and addressable components, often called modules, that are integrated to satisfy problem requirements Prepared by Dr.T.Thendral 15.07.23
  • 30. • Modular decomposability - reduce the complexity of the overall problem, thereby achieving an effective modular solution • Modular composability-If a design method enables existing (reusable) design components to be assembled into a new system • Modular understandability-If a module can be understood it will be easier to build and easier to change • Modular continuity-If small changes to the system requirements result in changes to individual modules • Modular protection-If an aberrant condition occurs within a module and its effects are constrained within that module side effects will be minimized. Prepared by Dr.T.Thendral 15.07.23
  • 31. Software Architecture • Software architecture the overall structure of the software and the ways in which that structure provides conceptual integrity for a system • One goal of software design is to derive an architectural rendering of a system • A set of architectural patterns enable a software engineer to reuse designlevel concepts Prepared by Dr.T.Thendral 15.07.23
  翻译: