SlideShare une entreprise Scribd logo
1  sur  64
Software Design Principles
Software Design Principles 1
Being presented by
Mr. Ritesh Singh
Thanks. 1
Special thanks to Ms. Charu Jain for this initiave
Introduction 4
Software: A set of programs which helps user to execute
its task using the system
Design: creation of a plan to construct a system
Principles: Rules or laws to be followed
Demystifying the subjectDemystifying the subject
Objectives 5
• Clearly understand the software design
principles
• Follow the structured approach for the software
design
• Understand different models
System Models 6
System : A collection of components placed together to perform a task which
is beyond components’ individual capability.
System Models 7
Types of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
• data flow diagram
• entity relation diagram
• object class/inheritance diagram
• State transition diagram
• Used to show the principal
activities
System Models :: Data processing Model 8
Data-flow ModelsTypes of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Data-flow Models 9
• Used to model the way data is processed in the system
• Notation Used:
Rounded corner rectangle -> Processing steps
Rectangle -> Data Stores
Arrows -> Flow of data
System Models 10
Types of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Composition Model 11
Data-flow ModelsTypes of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Semantic-data Model 12
• Semantics of data
• Identifies entity in a database, their attributes
and explicit relationship b/w them
Notation Used:
<Nam
e>
<name>
An entity
Input Cardinality
Output Cardinality
<name> An entity or
Relation attribute
System Models 13
Types of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Classification Model 14
Data-flow ModelsTypes of System Model
Process
Data-processing
Classification
Composition
Stimulus-response
System Models :: Object Model 15
• Represent both data and its processing
• Combination of some of uses of DFD and SDM
Notation Used:
<class name>
<Attribute>
<Service>
Object Class
System Models :: Data Dictionaries 16
• List of name used by the systems, arranged alphabetically.
Advantage:
 mechanism for name management
 store of organization information which can link analysis, design,
implementation, and evaluation
Names* -> entities, types, relations, attributes or services
Software Design 17
What is software design?
"all the activities involved in conceptualizing,
framing, implementing, commissioning, and
ultimately modifying complex systems“
-Wikipedia
Software Design:: Activities 18
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 19
To put it simply:
"the activity following requirements specification
and before programming."
Design
Requirement
Specification Programming
Software Design:: Activities 20
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 21
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Process 22
What is a process?
A series of actions or steps taken to
achieve an end.
Action 1 Action 2 Action 3 Action 4 Action nPROCESS
Software Design :: Process 23
Design Activities (Actions):
Architectural
Design
1
Abstract
Specification
2
Software Design :: Process 24
Interface
Design
3
Component
Specification
4
Software Design :: Process 25
Data
Structure
Design5
Algorithm
Design
6
Software Design :: Process 26
Sub-systems making up the system and
their relationships
Architectural
Design
1
Software Design :: Process 27
For each sub-system, an abstract specification of
the services it provides and the constraints
under which it must operate is produced.
Abstract
Specification
2
Software Design :: Process 28
Developing a method for two (or more) modules
in a system to connect and communicate
Interface
Design
3
Software Design :: Process 29
Services are allocated to different components and
the interfaces of these components are designed.
Component
Design
4
Software Design :: Process 30
The data structures used in the system
implementation is designed in detail and specified.
Data
Structure
Design5
*Data Structure : storing and organizing data
Software Design :: Process 31
A specific method to create a mathematical process
in solving problems.
Algorithm
Design
6
*Algorithm : step-by-step procedure for calculations
Software Design:: Activities 32
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 33
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Methods 34
1. Data flow model: data transformations
2. Entity relation model: logical data structures being used
3. Structural model: System components and their interactions
are documented
4. Object oriented model: a model of how objects are
composed of other objects and, usually, an object use
model which shows how objects are used by other objects.
Software Design:: Activities 35
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 36
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Description 37
Role:
•Basis for detailed implementation
•communication medium between designers of sub-systems
•Info to system maintainers about the original intentions of the system designers
Notations Used:
Graphical notations
Program description languages
Informal text
Software Design :: Description 38
1. Graphical notations:
• Display the relationships between the components making up the design
and to relate the design to the real-world system.
• Most useful for giving an overall picture of the system.
2. Program description languages:
• use control and structuring constructs based on programming language
constructs but also allow explanatory text and additional types of
statement to be used.
• intention of the designer is expressed rather than the details of how the
design is to be implemented.
3. Informal text:
1. Information about design rationale or non-functional considerations may
be expressed using natural language text.
Continue..
Software Design:: Activities 39
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 40
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Strategies 41
1. Functional design:
• functional viewpoint, starting with a high-level view and progressively
refining this into a more detailed design.
• Example: Jackson Structured Programming and the Warnier-Orr method
2. Object oriented design:
• system is viewed as a collection of objects rather than as functions.
• JSD is a design method that falls somewhere between function oriented
and object oriented design.
*JSD : Jackson System Develpment
Software Design:: Activities 42
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design 43
ProcessProcess
MethodsMethods
DescriptionDescription
StrategiesStrategies
QualityQuality
Software Design :: Quality 44
• The design components should be cohesive
• Loosely coupled
Coupling the independence of components.
• looser the coupling, easier it is to adapt the design.
Good Design Efficient code
Architectural Design 45
What is a it?
Initial design process of identifying sub-system
and establishing a framework for sub-system
control and communication
Architectural Design 46
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: System Structuring 47
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: System Structuring 48
• Decompose a system into a set of interacting sub-systems
• Notations Used:
• Box -> Sub system
• Boxes within boxes -> sub-system has been decomposed to
sub-systems
• Arrow -> direction of data and/or control
System structuring
 Repository model
 Client-server model
 Abstract machine model
Architectural Design :: System Structuring 49
System structuring
Repository model
 Client-server model
 Abstract machine model
• Data is held in a central database
• Accessed by all sub-systems
Project repository
Design
editor
Code
Generator
Design
analyzer
Report
Generator
Program
editor
Design
translator
Architectural Design :: System Structuring 50
System structuring
 Repository model
Client-server model
 Abstract machine model
• Distributed sys model
• Standalone servers offer service to sub-sys (clients)
• A network
Network
Catalog
server
Video
server
Client 1
Picture
server
Hypertext
server
Client 2 Client 4Client 3
Architectural Design :: System Structuring 51
System structuring
 Repository model
 Client-server model
Abstract machine model
• Layered
• Layers provide a set of service to layer above
• Supports incremental development
• Changeable and portable
Client 2Client 2Operating system
Database Management
Object Management
Version Management
Architectural Design 52
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: Control Models 53
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design ::Control models 54
• Control flow b/w sub-system
Control models
Centralized control Event-based Control
Architectural Design ::Control models 55
Control models
Centralized control Event-based Control
• One sub-system designated as the system controller
System
Controller
Computation
Process
Sensor
Processes
Actuator
Processes
Fault
Handler
Laser
Interface
Architectural Design ::Control models 56
Control models
Centralized control Event-based Control
• Driven by externally generated events
Broadcast models Interrupt-driven models
• Broadcast to all, but particular
sub-system responds to it
• Used in Real time sys
• Interrupt handler
Architectural Design 57
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: Control Models 58
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design ::Modular Decomposition 59
Modular Decomposition
Object-oriented design Data-flow models
• Sys is decomposed into
a set of communicating objects
• Sys is decomposed into
functional modules
• Also called Pipeline Approach
Architectural Design 60
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: Control Models 61
System Structuring
Control models
Modular decomposition
Domain-specific architectures
Activities Involves
Architectural Design :: Domain-specific architecture 62
Domain-specific Architecture
Generic models Reference models
• Abstraction of many
real systems
• contains Principal characteristics
• Describe a larger class of systems
• Informs Sys Architect about that
Class of sys
Generic models Vs. Reference models
Derived from “bottom-up”
from existing system
Derived from “top-down”
from existing system
Summary 63
 System Models
 Software Design
 Architecture Design
Thank you for your time. 
1

Contenu connexe

Tendances

Software architecture
Software architectureSoftware architecture
Software architecturenazn
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software EngineeringManish Kumar
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteriaUmaselvi_R
 
software design principles
software design principlessoftware design principles
software design principlesCristal Ngo
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and viewsDr Reeja S R
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classesgopal10scs185
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15koolkampus
 
Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13koolkampus
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
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.pptxKarthigaiSelviS3
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesionSutha31
 

Tendances (20)

EFFECTIVE MODULAR DESIGN.pptx
EFFECTIVE MODULAR DESIGN.pptxEFFECTIVE MODULAR DESIGN.pptx
EFFECTIVE MODULAR DESIGN.pptx
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
System testing
System testingSystem testing
System testing
 
software design principles
software design principlessoftware design principles
software design principles
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classes
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
 
Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13Real Time Software Design in Software Engineering SE13
Real Time Software Design in Software Engineering SE13
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
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
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 

En vedette

modelingtools
modelingtoolsmodelingtools
modelingtoolslearnt
 
The OO Design Principles
The OO Design PrinciplesThe OO Design Principles
The OO Design PrinciplesSteve Zhang
 
Software design principles
Software design principlesSoftware design principles
Software design principlesMd.Mojibul Hoque
 
Modular architecture today
Modular architecture todayModular architecture today
Modular architecture todaypragkirk
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo designConfiz
 
Software Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularitySoftware Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularityJose Emilio Labra Gayo
 
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)Bojan Veljanovski
 
"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design PrinciplesSerhiy Oplakanets
 
SOLID - Principles of Object Oriented Design
SOLID - Principles of Object Oriented DesignSOLID - Principles of Object Oriented Design
SOLID - Principles of Object Oriented DesignRiccardo Cardin
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 

En vedette (10)

modelingtools
modelingtoolsmodelingtools
modelingtools
 
The OO Design Principles
The OO Design PrinciplesThe OO Design Principles
The OO Design Principles
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 
Modular architecture today
Modular architecture todayModular architecture today
Modular architecture today
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo design
 
Software Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularitySoftware Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularity
 
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
Bojan Veljanovski - Modular Software Architecture and Design (Code Camp 2016)
 
"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles"SOLID" Object Oriented Design Principles
"SOLID" Object Oriented Design Principles
 
SOLID - Principles of Object Oriented Design
SOLID - Principles of Object Oriented DesignSOLID - Principles of Object Oriented Design
SOLID - Principles of Object Oriented Design
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 

Similaire à Software design principles

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.PPTmalathijanapati1
 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software designSandeep Kumar Nayak
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentationdikshagupta111
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design conceptsJigyasaAgrawal7
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssadPreeti Mishra
 
An Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignAn Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignBlue Elephant Consulting
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentationMAHERMOHAMED27
 
Software developement life_cycle_v1.1
Software developement life_cycle_v1.1Software developement life_cycle_v1.1
Software developement life_cycle_v1.1Ganapathi M
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.pptHaiderAli252366
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Fadhil Ismail
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 

Similaire à Software design principles (20)

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
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
Presentation of se
Presentation of sePresentation of se
Presentation of se
 
Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software design
 
Chapter 6 design
Chapter 6 designChapter 6 design
Chapter 6 design
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Chapter1
Chapter1Chapter1
Chapter1
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
An Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignAn Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed Design
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentation
 
Software developement life_cycle_v1.1
Software developement life_cycle_v1.1Software developement life_cycle_v1.1
Software developement life_cycle_v1.1
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Ch01
Ch01Ch01
Ch01
 
Software System Engineering - Chapter 15
Software System Engineering - Chapter 15Software System Engineering - Chapter 15
Software System Engineering - Chapter 15
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 

Dernier

What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
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
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
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
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
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
 
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
 

Dernier (20)

What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
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
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.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
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
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Ă...
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
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
 
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
 

Software design principles

  • 2. Software Design Principles 1 Being presented by Mr. Ritesh Singh
  • 3. Thanks. 1 Special thanks to Ms. Charu Jain for this initiave
  • 4. Introduction 4 Software: A set of programs which helps user to execute its task using the system Design: creation of a plan to construct a system Principles: Rules or laws to be followed Demystifying the subjectDemystifying the subject
  • 5. Objectives 5 • Clearly understand the software design principles • Follow the structured approach for the software design • Understand different models
  • 6. System Models 6 System : A collection of components placed together to perform a task which is beyond components’ individual capability.
  • 7. System Models 7 Types of System Model Process Data-processing Classification Composition Stimulus-response • data flow diagram • entity relation diagram • object class/inheritance diagram • State transition diagram • Used to show the principal activities
  • 8. System Models :: Data processing Model 8 Data-flow ModelsTypes of System Model Process Data-processing Classification Composition Stimulus-response
  • 9. System Models :: Data-flow Models 9 • Used to model the way data is processed in the system • Notation Used: Rounded corner rectangle -> Processing steps Rectangle -> Data Stores Arrows -> Flow of data
  • 10. System Models 10 Types of System Model Process Data-processing Classification Composition Stimulus-response
  • 11. System Models :: Composition Model 11 Data-flow ModelsTypes of System Model Process Data-processing Classification Composition Stimulus-response
  • 12. System Models :: Semantic-data Model 12 • Semantics of data • Identifies entity in a database, their attributes and explicit relationship b/w them Notation Used: <Nam e> <name> An entity Input Cardinality Output Cardinality <name> An entity or Relation attribute
  • 13. System Models 13 Types of System Model Process Data-processing Classification Composition Stimulus-response
  • 14. System Models :: Classification Model 14 Data-flow ModelsTypes of System Model Process Data-processing Classification Composition Stimulus-response
  • 15. System Models :: Object Model 15 • Represent both data and its processing • Combination of some of uses of DFD and SDM Notation Used: <class name> <Attribute> <Service> Object Class
  • 16. System Models :: Data Dictionaries 16 • List of name used by the systems, arranged alphabetically. Advantage:  mechanism for name management  store of organization information which can link analysis, design, implementation, and evaluation Names* -> entities, types, relations, attributes or services
  • 17. Software Design 17 What is software design? "all the activities involved in conceptualizing, framing, implementing, commissioning, and ultimately modifying complex systems“ -Wikipedia
  • 18. Software Design:: Activities 18 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 19. Software Design 19 To put it simply: "the activity following requirements specification and before programming." Design Requirement Specification Programming
  • 20. Software Design:: Activities 20 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 22. Software Design :: Process 22 What is a process? A series of actions or steps taken to achieve an end. Action 1 Action 2 Action 3 Action 4 Action nPROCESS
  • 23. Software Design :: Process 23 Design Activities (Actions): Architectural Design 1 Abstract Specification 2
  • 24. Software Design :: Process 24 Interface Design 3 Component Specification 4
  • 25. Software Design :: Process 25 Data Structure Design5 Algorithm Design 6
  • 26. Software Design :: Process 26 Sub-systems making up the system and their relationships Architectural Design 1
  • 27. Software Design :: Process 27 For each sub-system, an abstract specification of the services it provides and the constraints under which it must operate is produced. Abstract Specification 2
  • 28. Software Design :: Process 28 Developing a method for two (or more) modules in a system to connect and communicate Interface Design 3
  • 29. Software Design :: Process 29 Services are allocated to different components and the interfaces of these components are designed. Component Design 4
  • 30. Software Design :: Process 30 The data structures used in the system implementation is designed in detail and specified. Data Structure Design5 *Data Structure : storing and organizing data
  • 31. Software Design :: Process 31 A specific method to create a mathematical process in solving problems. Algorithm Design 6 *Algorithm : step-by-step procedure for calculations
  • 32. Software Design:: Activities 32 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 34. Software Design :: Methods 34 1. Data flow model: data transformations 2. Entity relation model: logical data structures being used 3. Structural model: System components and their interactions are documented 4. Object oriented model: a model of how objects are composed of other objects and, usually, an object use model which shows how objects are used by other objects.
  • 35. Software Design:: Activities 35 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 37. Software Design :: Description 37 Role: •Basis for detailed implementation •communication medium between designers of sub-systems •Info to system maintainers about the original intentions of the system designers Notations Used: Graphical notations Program description languages Informal text
  • 38. Software Design :: Description 38 1. Graphical notations: • Display the relationships between the components making up the design and to relate the design to the real-world system. • Most useful for giving an overall picture of the system. 2. Program description languages: • use control and structuring constructs based on programming language constructs but also allow explanatory text and additional types of statement to be used. • intention of the designer is expressed rather than the details of how the design is to be implemented. 3. Informal text: 1. Information about design rationale or non-functional considerations may be expressed using natural language text. Continue..
  • 39. Software Design:: Activities 39 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 41. Software Design :: Strategies 41 1. Functional design: • functional viewpoint, starting with a high-level view and progressively refining this into a more detailed design. • Example: Jackson Structured Programming and the Warnier-Orr method 2. Object oriented design: • system is viewed as a collection of objects rather than as functions. • JSD is a design method that falls somewhere between function oriented and object oriented design. *JSD : Jackson System Develpment
  • 42. Software Design:: Activities 42 ProcessProcess MethodsMethods DescriptionDescription StrategiesStrategies QualityQuality
  • 44. Software Design :: Quality 44 • The design components should be cohesive • Loosely coupled Coupling the independence of components. • looser the coupling, easier it is to adapt the design. Good Design Efficient code
  • 45. Architectural Design 45 What is a it? Initial design process of identifying sub-system and establishing a framework for sub-system control and communication
  • 46. Architectural Design 46 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 47. Architectural Design :: System Structuring 47 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 48. Architectural Design :: System Structuring 48 • Decompose a system into a set of interacting sub-systems • Notations Used: • Box -> Sub system • Boxes within boxes -> sub-system has been decomposed to sub-systems • Arrow -> direction of data and/or control System structuring  Repository model  Client-server model  Abstract machine model
  • 49. Architectural Design :: System Structuring 49 System structuring Repository model  Client-server model  Abstract machine model • Data is held in a central database • Accessed by all sub-systems Project repository Design editor Code Generator Design analyzer Report Generator Program editor Design translator
  • 50. Architectural Design :: System Structuring 50 System structuring  Repository model Client-server model  Abstract machine model • Distributed sys model • Standalone servers offer service to sub-sys (clients) • A network Network Catalog server Video server Client 1 Picture server Hypertext server Client 2 Client 4Client 3
  • 51. Architectural Design :: System Structuring 51 System structuring  Repository model  Client-server model Abstract machine model • Layered • Layers provide a set of service to layer above • Supports incremental development • Changeable and portable Client 2Client 2Operating system Database Management Object Management Version Management
  • 52. Architectural Design 52 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 53. Architectural Design :: Control Models 53 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 54. Architectural Design ::Control models 54 • Control flow b/w sub-system Control models Centralized control Event-based Control
  • 55. Architectural Design ::Control models 55 Control models Centralized control Event-based Control • One sub-system designated as the system controller System Controller Computation Process Sensor Processes Actuator Processes Fault Handler Laser Interface
  • 56. Architectural Design ::Control models 56 Control models Centralized control Event-based Control • Driven by externally generated events Broadcast models Interrupt-driven models • Broadcast to all, but particular sub-system responds to it • Used in Real time sys • Interrupt handler
  • 57. Architectural Design 57 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 58. Architectural Design :: Control Models 58 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 59. Architectural Design ::Modular Decomposition 59 Modular Decomposition Object-oriented design Data-flow models • Sys is decomposed into a set of communicating objects • Sys is decomposed into functional modules • Also called Pipeline Approach
  • 60. Architectural Design 60 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 61. Architectural Design :: Control Models 61 System Structuring Control models Modular decomposition Domain-specific architectures Activities Involves
  • 62. Architectural Design :: Domain-specific architecture 62 Domain-specific Architecture Generic models Reference models • Abstraction of many real systems • contains Principal characteristics • Describe a larger class of systems • Informs Sys Architect about that Class of sys Generic models Vs. Reference models Derived from “bottom-up” from existing system Derived from “top-down” from existing system
  • 63. Summary 63  System Models  Software Design  Architecture Design
  • 64. Thank you for your time.  1