SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Requirements analysis
Requirements analysisRequirements analysis
Requirements analysisasimnawaz54
 
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
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9Ian Sommerville
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 MuhammadTalha436
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software designTech_MX
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architectureLilia Sfaxi
 
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
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patternsLilia Sfaxi
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architectureHimanshu
 

Was ist angesagt? (20)

Requirements analysis
Requirements analysisRequirements analysis
Requirements 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
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architecture
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Unit 2
Unit 2Unit 2
Unit 2
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Importance of software architecture
Importance of software architectureImportance of software architecture
Importance of software architecture
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 
Chapter 1(1) system development life .ppt
Chapter 1(1) system development life .pptChapter 1(1) system development life .ppt
Chapter 1(1) system development life .pptDoaaRezk5
 

Ähnlich wie 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
 
Chapter 1(1) system development life .ppt
Chapter 1(1) system development life .pptChapter 1(1) system development life .ppt
Chapter 1(1) system development life .ppt
 

Kürzlich hochgeladen

AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
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
 
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
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
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
 
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
 
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
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
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.
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
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
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 

Kürzlich hochgeladen (20)

AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
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
 
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
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
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...
 
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
 
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Ă...
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
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...
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
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
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.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
 

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