SlideShare a Scribd company logo
1 of 37
Chapter 8
TOPICS TO BE COVERED:
Abstraction
Architecture
Aspects
Cohesion
Data Design
Design Process
Functional independence
Good design
Information Hiding
Modularity
Object Oriented Design
Pattern
Quality Attributes
Quality Guidelines
 Refactoring
Separation of concern
Software design
Stepwise Refinements
DESIGN CONCEPTS?
“Idea behind design”
SOME QUICK QUESTIONS:
•Design?
•What is it?
•Who does it?
•Why is it important?
•What is design in software engineering?
Quick answers !
• “A PLAN OR DRAWING”.
• According to Dr. Mitch Kapur in DOBBS Journal “It’s where you stand
with a foot in two worlds—the world of technology and the world of people
and human purposes—and you try to bring the two together”. Design is the
place where software quality is established.
• Software engineers.
• Design allows you to model the system or product that is to be built.
• Software design is the process of implementing software solutions to one or
more sets of problems
TRANSLATING THE ANALYSIS MODEL INTO
THE DESIGN MODEL
DESIGN PROCESS:
• Software design is an iterative process through which requirements are translated
into a “blueprint” for constructing the software
• During the design process the software requirements model is transformed into
design models that describe the details of the data structures, system architecture,
interface, and components
QUALITYATTRIBUTES OFAGOOD DESIGN:
Good software design should exhibit:
• Firmness: A program should not have any bugs that inhibit its function.
• Commodity: A program should be suitable for the purposes for which it was intended
• Delight: The experience of using the program should be pleasurable one
QUALITY GUIDELINES
• A design should be modular; that is, the software should be logically partitioned into
elements or subsystems.
• A design should contain distinct representations of data, architecture, interfaces, and
components
• A design should lead to data structures that are appropriate for the classes to be
implemented and are drawn from recognizable data patterns.
• A design should lead to components that exhibit independent functional characteristics.
• A design should lead to interfaces that reduce the complexity of connections between
components and with the external environment.
• A design should be derived using a repeatable method that is driven by information
obtained during software requirements analysis.
• A design should be represented using a notation that effectively communicates its
meaning.
FUNDAMENTAL DESIGN CONCEPTS:
 Abstraction
 Architecture
 Patterns
 Separation of concerns
 Modularity
 Information hiding
 Functional independence
 Refinement
 Aspects
• Refactoring
 Object-oriented Design concepts
 Design classes
• Permits one to concentrate on a problem at some level of abstraction
without regard to low level detail
Abstraction:
Architecture:
• Overall structure of the system
Patterns:
• General reusable solution which can be used again and again.
Separation of concerns:
• Any complex problem can be more easily handled if it is sub-divided into
pieces.
Modularity:
• Single attribute of software that allows a program to be intellectually
manageable.
MODULARITY AND SOFTWARE COST
Information Hiding:
• The way of hiding the unnecessary details
Functional Independence:
• Achieved by developing modules with “single minded” function and low
coupling.
• It can be measured using two criteria:
-Cohesion
-Coupling
• A process of elaboration of details of abstraction.
• Stepwise refinement is a top-down design strategy.
• Abstraction and refinement are complementary concepts.
Refinement:
• An aspect is a representation of a cross-cutting concern.
• Consider two requirements, A and B. Requirement A crosscuts
requirement B “if a software refinement has been chosen in which B
cannot be satisfied without taking A into account.
Aspects:
• restructuring (rearranging) code…
• “changing the structure of a program so that the functionality is not
changed”
Refactoring:
“Design system using self-contained objects and object classes”
• Objects are abstractions of real world or system entities and manage
themselves
• Objects are independent and encapsulate state and represent
information
• System functionality is expressed in terms of object services
• Shared data are eliminated. Objects communicate by message passing
Object Oriented Design Concepts:
• The requirements model defines a set of analysis classes
• Set of design classes that refine the analysis classes by providing
design detail that will enable the classes to be implemented, and
implement a software infrastructure that supports the business
solution.
• Characteristics of Design Classes
Design Classes:
DESIGN CLASS FOR FLOORPLAN AND COMPOSITE
AGGREGATION FOR THE CLASS
DIMENSIONS OF THE DESIGN MODEL
DESIGN MODEL ELEMENTS:
• Data Design Elements
• Architectural Design Elements
• Interface Design Elements
• Component-Level Design Elements
• Deployment-Level Design Elements
• Data-model  Data structures
• Data-model  Database architecture
1.Data Design Elements
The architectural model [sha96] is derived from three sources:
• Information about the application domain for the software to be built
• Specific requirements model elements such as data flow diagrams of analysis classes,
their relationship and collaborations for the problems at hand
• The availability of architectural patterns and styles
2.Architectural Design Elements
There are three important elements of interface design:
• User interface (UI)
• External interfaces to other systems, devices, networks, or other producers or
consumers of information
• Internal interfaces between various design components
3. Interface Design Elements
INTERFACE REPRESENTATION FOR CONTROL PANEL
• The component-level design for software fully describes the internal detail of each
software component
• The component-level design defines data structures for all local data objects and
algorithmic detail for all processing that occurs within a component and an interface
that allows access to all component operations
4.Component-level Design Elements
5.DEPLOYMENT-LEVEL DESIGN ELEMENTS
• Deployment-level design elements indicate how software functionality and
subsystems will be allocated within the physical computing environment that will
support the software
A UML COMPONENT DIAGRAM
A UML deployment diagram
Nahi Nahi…
Any Question ?
Design concepts

More Related Content

What's hot

Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
Oliver Cheng
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
Slideshare
 
07 software design
07   software design07   software design
07 software design
kebsterz
 

What's hot (20)

unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Design concepts and design principles
Design concepts and design principlesDesign concepts and design principles
Design concepts and design principles
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Architecture vs Design
Architecture vs DesignArchitecture vs Design
Architecture vs Design
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Design process
Design processDesign process
Design process
 
Class notes
Class notesClass notes
Class notes
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
architectural design
 architectural design architectural design
architectural design
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Unit 3
Unit 3Unit 3
Unit 3
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
07 software design
07   software design07   software design
07 software design
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Architecture Design
Architecture DesignArchitecture Design
Architecture Design
 

Viewers also liked

Architectural Design Concept
Architectural Design ConceptArchitectural Design Concept
Architectural Design Concept
Niteesh Patel
 

Viewers also liked (10)

Concepts in Architecture
Concepts in ArchitectureConcepts in Architecture
Concepts in Architecture
 
Computer Aided Software Engineering Nayab Awan
Computer Aided Software Engineering Nayab AwanComputer Aided Software Engineering Nayab Awan
Computer Aided Software Engineering Nayab Awan
 
Concept Design
Concept DesignConcept Design
Concept Design
 
Architectural Design Concept
Architectural Design ConceptArchitectural Design Concept
Architectural Design Concept
 
Concept design slides 10 6-15
Concept design slides 10 6-15Concept design slides 10 6-15
Concept design slides 10 6-15
 
Generating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design IdeasGenerating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design Ideas
 
Concept in engineering design
Concept in engineering designConcept in engineering design
Concept in engineering design
 
Architect presentation
Architect  presentationArchitect  presentation
Architect presentation
 
Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...
Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...
Architectural Design Concepts Approaches - كونسيبت التصميم المعمارى و الفكرة ...
 
Product design concept
Product design conceptProduct design concept
Product design concept
 

Similar to Design concepts

Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
MotherTheresa2
 
Software design principles
Software design principlesSoftware design principles
Software design principles
Ritesh Singh
 

Similar to Design concepts (20)

Different approaches to software design
Different approaches to software designDifferent approaches to software design
Different approaches to software design
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
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
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and 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 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Unit4
Unit4Unit4
Unit4
 
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptxChapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptx
 
B19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.pptxB19CA4020_SE_Unit3.pptx
B19CA4020_SE_Unit3.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
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 
DESIGN CONCEPTS
DESIGN CONCEPTSDESIGN CONCEPTS
DESIGN CONCEPTS
 
rEFUP.pdf
rEFUP.pdfrEFUP.pdf
rEFUP.pdf
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Architectural design
Architectural designArchitectural design
Architectural design
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 

Recently uploaded

RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
amitlee9823
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
nirzagarg
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
amitlee9823
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
kumaririma588
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
amitlee9823
 

Recently uploaded (20)

VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
 
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
 
Case Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, PuneCase Study of Hotel Taj Vivanta, Pune
Case Study of Hotel Taj Vivanta, Pune
 
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
💫✅jodhpur 24×7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
 
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
❤Personal Whatsapp Number 8617697112 Samba Call Girls 💦✅.
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...
HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...
HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 

Design concepts

  • 1.
  • 3. TOPICS TO BE COVERED: Abstraction Architecture Aspects Cohesion Data Design Design Process Functional independence Good design Information Hiding Modularity Object Oriented Design Pattern Quality Attributes Quality Guidelines  Refactoring Separation of concern Software design Stepwise Refinements
  • 5. SOME QUICK QUESTIONS: •Design? •What is it? •Who does it? •Why is it important? •What is design in software engineering?
  • 6. Quick answers ! • “A PLAN OR DRAWING”. • According to Dr. Mitch Kapur in DOBBS Journal “It’s where you stand with a foot in two worlds—the world of technology and the world of people and human purposes—and you try to bring the two together”. Design is the place where software quality is established. • Software engineers. • Design allows you to model the system or product that is to be built. • Software design is the process of implementing software solutions to one or more sets of problems
  • 7. TRANSLATING THE ANALYSIS MODEL INTO THE DESIGN MODEL
  • 8. DESIGN PROCESS: • Software design is an iterative process through which requirements are translated into a “blueprint” for constructing the software • During the design process the software requirements model is transformed into design models that describe the details of the data structures, system architecture, interface, and components
  • 9. QUALITYATTRIBUTES OFAGOOD DESIGN: Good software design should exhibit: • Firmness: A program should not have any bugs that inhibit its function. • Commodity: A program should be suitable for the purposes for which it was intended • Delight: The experience of using the program should be pleasurable one
  • 10. QUALITY GUIDELINES • A design should be modular; that is, the software should be logically partitioned into elements or subsystems. • A design should contain distinct representations of data, architecture, interfaces, and components • A design should lead to data structures that are appropriate for the classes to be implemented and are drawn from recognizable data patterns. • A design should lead to components that exhibit independent functional characteristics. • A design should lead to interfaces that reduce the complexity of connections between components and with the external environment. • A design should be derived using a repeatable method that is driven by information obtained during software requirements analysis. • A design should be represented using a notation that effectively communicates its meaning.
  • 11. FUNDAMENTAL DESIGN CONCEPTS:  Abstraction  Architecture  Patterns  Separation of concerns  Modularity  Information hiding  Functional independence  Refinement  Aspects • Refactoring  Object-oriented Design concepts  Design classes
  • 12. • Permits one to concentrate on a problem at some level of abstraction without regard to low level detail Abstraction:
  • 14. Patterns: • General reusable solution which can be used again and again.
  • 15. Separation of concerns: • Any complex problem can be more easily handled if it is sub-divided into pieces.
  • 16. Modularity: • Single attribute of software that allows a program to be intellectually manageable.
  • 18. Information Hiding: • The way of hiding the unnecessary details
  • 19. Functional Independence: • Achieved by developing modules with “single minded” function and low coupling. • It can be measured using two criteria: -Cohesion -Coupling
  • 20. • A process of elaboration of details of abstraction. • Stepwise refinement is a top-down design strategy. • Abstraction and refinement are complementary concepts. Refinement:
  • 21. • An aspect is a representation of a cross-cutting concern. • Consider two requirements, A and B. Requirement A crosscuts requirement B “if a software refinement has been chosen in which B cannot be satisfied without taking A into account. Aspects:
  • 22. • restructuring (rearranging) code… • “changing the structure of a program so that the functionality is not changed” Refactoring:
  • 23. “Design system using self-contained objects and object classes” • Objects are abstractions of real world or system entities and manage themselves • Objects are independent and encapsulate state and represent information • System functionality is expressed in terms of object services • Shared data are eliminated. Objects communicate by message passing Object Oriented Design Concepts:
  • 24. • The requirements model defines a set of analysis classes • Set of design classes that refine the analysis classes by providing design detail that will enable the classes to be implemented, and implement a software infrastructure that supports the business solution. • Characteristics of Design Classes Design Classes:
  • 25. DESIGN CLASS FOR FLOORPLAN AND COMPOSITE AGGREGATION FOR THE CLASS
  • 26. DIMENSIONS OF THE DESIGN MODEL
  • 27. DESIGN MODEL ELEMENTS: • Data Design Elements • Architectural Design Elements • Interface Design Elements • Component-Level Design Elements • Deployment-Level Design Elements
  • 28. • Data-model  Data structures • Data-model  Database architecture 1.Data Design Elements
  • 29. The architectural model [sha96] is derived from three sources: • Information about the application domain for the software to be built • Specific requirements model elements such as data flow diagrams of analysis classes, their relationship and collaborations for the problems at hand • The availability of architectural patterns and styles 2.Architectural Design Elements
  • 30. There are three important elements of interface design: • User interface (UI) • External interfaces to other systems, devices, networks, or other producers or consumers of information • Internal interfaces between various design components 3. Interface Design Elements
  • 32. • The component-level design for software fully describes the internal detail of each software component • The component-level design defines data structures for all local data objects and algorithmic detail for all processing that occurs within a component and an interface that allows access to all component operations 4.Component-level Design Elements
  • 33. 5.DEPLOYMENT-LEVEL DESIGN ELEMENTS • Deployment-level design elements indicate how software functionality and subsystems will be allocated within the physical computing environment that will support the software
  • 34. A UML COMPONENT DIAGRAM
  • 35. A UML deployment diagram