SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Software Design Introduction to Software Engineering College of Computer Studies De La Salle University - Manila
[object Object],[object Object],[object Object],Software Design
Software Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
The Process of Design   ,[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Why Design? Maintain With design Without design Implement Test Design Implement Test Maintain
Benefits of Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Phases in the Design Process Ian Sommerville.  Software Engineering, 6 th  Edition.
Aspects of Design   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Typical Architectural Components ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Architectural Design Component: Program Organization ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Approaches: Top-down Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],Design Approaches: Bottom-Up Design Object-Oriented Software Engineering (www.lloseng.com)
Top down vs Bottom up ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Top-down and Bottom-up are  not  competing strategies Back
Architectural Design Component: Error Processing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Back
Design Principles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Principle 1: Divide and Conquer   ,[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Ways of dividing a software system ,[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Design Principle 2: Increase Cohesion where possible ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Functional Cohesion  (Strong) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Layer Cohesion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Example: Layer Cohesion Object-Oriented Software Engineering (www.lloseng.com)
Sequential Cohesion (Medium) ,[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Communicational Cohesion (Medium) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Procedural Cohesion (Weak) ,[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Temporal Cohesion (Weak) ,[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Utility Cohesion (Weak) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Principle 3: Reduce Coupling where possible ,[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Content Coupling (Must be avoided) ,[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Common Coupling (Must be avoided) ,[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Control Coupling (Must be avoided)  ,[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Example of Control Coupling public routineX(String command) { if (command.equals("drawCircle") { drawCircle(); } else { drawRectangle(); } }   Object-Oriented Software Engineering (www.lloseng.com)
Stamp Coupling (Tolerable) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Example of Stamp Coupling public class Emailer { public void sendEmail(Employee e, String text) {...} ... } public class Emailer { public void sendEmail(String name, String email, String text)  {...} ... } Using simple data types to avoid it: Object-Oriented Software Engineering (www.lloseng.com)
Example of Stamp Coupling public interface Addressee { public abstract String getName(); public abstract String getEmail(); }   public class Employee implements Addressee {…}   public class Emailer { public void sendEmail(Addressee e, String text) {...} ... } Using an interface to avoid it: Object-Oriented Software Engineering (www.lloseng.com)
Data or Normal Coupling (Preferable) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Routine Call Coupling ,[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Type Use Coupling   ,[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Inclusion or Import Coupling  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
External Coupling  ,[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Design Principle 4: Keep the level of Abstraction as high as possible   ,[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Abstraction and Classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Design Principle 5: Increase Reusability where possible ,[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Design Principle 6: Reuse Existing Designs and Code where possible ,[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Design Principle 7: Design for Flexibility   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Design Principle 8: Anticipate Obsolescence   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Design Principle 9: Design for Portability   ,[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Design Principle 10: Design for Testability   ,[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)
Design Principle 11: Design Defensively ,[object Object],[object Object],[object Object],[object Object],Object-Oriented Software Engineering (www.lloseng.com)

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelssaurabhshertukde
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principlessaurabhshertukde
 
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 Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycleHimanshu
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10koolkampus
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningABHISHEK KUMAR
 
Software architecture model
Software architecture modelSoftware architecture model
Software architecture modelEmmanuel Fuchs
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 

Was ist angesagt? (20)

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
 
Software design
Software designSoftware design
Software design
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Risk Management by Roger Pressman
Risk Management by Roger PressmanRisk Management by Roger Pressman
Risk Management by Roger Pressman
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
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 Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
Software design
Software designSoftware design
Software design
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
 
Software architecture model
Software architecture modelSoftware architecture model
Software architecture model
 
Ch09
Ch09Ch09
Ch09
 
Software design
Software designSoftware design
Software design
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 

Andere mochten auch

Distributed operating system amoeba case study
Distributed operating system  amoeba case studyDistributed operating system  amoeba case study
Distributed operating system amoeba case studyRamuAryan
 
Amoeba Operating System
Amoeba Operating SystemAmoeba Operating System
Amoeba Operating SystemBurhan Abbasi
 
Top down reading activities
Top down reading activitiesTop down reading activities
Top down reading activitiesSumi Waan
 
Comparison of Amoeba, Mach & Chorus: DOS
Comparison of Amoeba, Mach & Chorus: DOSComparison of Amoeba, Mach & Chorus: DOS
Comparison of Amoeba, Mach & Chorus: DOSEr. Shiva K. Shrestha
 
Top Down and Bottom Up Design Model
Top Down and Bottom Up Design ModelTop Down and Bottom Up Design Model
Top Down and Bottom Up Design ModelAbdul Rahman Sherzad
 
Three Reading Models
Three Reading ModelsThree Reading Models
Three Reading ModelsAntonette A.
 

Andere mochten auch (11)

Distributed operating system amoeba case study
Distributed operating system  amoeba case studyDistributed operating system  amoeba case study
Distributed operating system amoeba case study
 
Distributed Operating System_4
Distributed Operating System_4Distributed Operating System_4
Distributed Operating System_4
 
Amoeba
AmoebaAmoeba
Amoeba
 
Amoeba Operating System
Amoeba Operating SystemAmoeba Operating System
Amoeba Operating System
 
Amoeba
AmoebaAmoeba
Amoeba
 
Top down design
Top down designTop down design
Top down design
 
Top down reading activities
Top down reading activitiesTop down reading activities
Top down reading activities
 
Comparison of Amoeba, Mach & Chorus: DOS
Comparison of Amoeba, Mach & Chorus: DOSComparison of Amoeba, Mach & Chorus: DOS
Comparison of Amoeba, Mach & Chorus: DOS
 
Bottom up & top down tutorial 2
Bottom up & top down tutorial 2Bottom up & top down tutorial 2
Bottom up & top down tutorial 2
 
Top Down and Bottom Up Design Model
Top Down and Bottom Up Design ModelTop Down and Bottom Up Design Model
Top Down and Bottom Up Design Model
 
Three Reading Models
Three Reading ModelsThree Reading Models
Three Reading Models
 

Ähnlich wie 07 software design

Function oriented design
Function oriented designFunction oriented design
Function oriented designVidhun T
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software EngineeringPurvik Rana
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 
CHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docxCHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docxRUKIAHASSAN4
 
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxchapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxMahmoudZidan53
 
Managing Software as Knowledge (2005)
Managing Software as Knowledge (2005)Managing Software as Knowledge (2005)
Managing Software as Knowledge (2005)Joe Gollner
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxArifaMehreen1
 
11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16Rajes Wari
 
Software Design
Software Design Software Design
Software Design Anas Bilal
 
Chapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docxChapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docxmccormicknadine86
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfputtipavan23022023
 
SWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design StrategiesSWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design Strategiesghayour abbas
 

Ähnlich wie 07 software design (20)

Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
6&8-Design.ppt
6&8-Design.ppt6&8-Design.ppt
6&8-Design.ppt
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
06 fse design
06 fse design06 fse design
06 fse design
 
CHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docxCHAPTER FOUR buugii 2023.docx
CHAPTER FOUR buugii 2023.docx
 
Design final
Design finalDesign final
Design final
 
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxchapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
 
Managing Software as Knowledge (2005)
Managing Software as Knowledge (2005)Managing Software as Knowledge (2005)
Managing Software as Knowledge (2005)
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
 
Full Paper
Full PaperFull Paper
Full Paper
 
11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16
 
Software Design
Software Design Software Design
Software Design
 
Chapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docxChapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docx
 
Unit-3.doc
Unit-3.docUnit-3.doc
Unit-3.doc
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
INTEGRATIVE PROGRAMMING ch1.pptx
INTEGRATIVE PROGRAMMING ch1.pptxINTEGRATIVE PROGRAMMING ch1.pptx
INTEGRATIVE PROGRAMMING ch1.pptx
 
Sda 2
Sda   2Sda   2
Sda 2
 
SWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design StrategiesSWE-401 - 7. Software Design Strategies
SWE-401 - 7. Software Design Strategies
 

Mehr von kebsterz

08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagramskebsterz
 
07 software design
07   software design07   software design
07 software designkebsterz
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value pointskebsterz
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value pointskebsterz
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value pointskebsterz
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value pointskebsterz
 
Pokémon competitive battling an introduction
Pokémon competitive battling   an introductionPokémon competitive battling   an introduction
Pokémon competitive battling an introductionkebsterz
 
Pokemon an introduction
Pokemon   an introductionPokemon   an introduction
Pokemon an introductionkebsterz
 
Pokémon competitive battling an introduction
Pokémon competitive battling   an introductionPokémon competitive battling   an introduction
Pokémon competitive battling an introductionkebsterz
 
Pokemon an introduction
Pokemon   an introductionPokemon   an introduction
Pokemon an introductionkebsterz
 

Mehr von kebsterz (10)

08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagrams
 
07 software design
07   software design07   software design
07 software design
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
 
An overview about effort value points
An overview about effort value pointsAn overview about effort value points
An overview about effort value points
 
Pokémon competitive battling an introduction
Pokémon competitive battling   an introductionPokémon competitive battling   an introduction
Pokémon competitive battling an introduction
 
Pokemon an introduction
Pokemon   an introductionPokemon   an introduction
Pokemon an introduction
 
Pokémon competitive battling an introduction
Pokémon competitive battling   an introductionPokémon competitive battling   an introduction
Pokémon competitive battling an introduction
 
Pokemon an introduction
Pokemon   an introductionPokemon   an introduction
Pokemon an introduction
 

Kürzlich hochgeladen

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

07 software design

  • 1. Software Design Introduction to Software Engineering College of Computer Studies De La Salle University - Manila
  • 2.
  • 3.
  • 4.
  • 5. Why Design? Maintain With design Without design Implement Test Design Implement Test Maintain
  • 6.
  • 7. Phases in the Design Process Ian Sommerville. Software Engineering, 6 th Edition.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Example: Layer Cohesion Object-Oriented Software Engineering (www.lloseng.com)
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Example of Control Coupling public routineX(String command) { if (command.equals("drawCircle") { drawCircle(); } else { drawRectangle(); } } Object-Oriented Software Engineering (www.lloseng.com)
  • 32.
  • 33. Example of Stamp Coupling public class Emailer { public void sendEmail(Employee e, String text) {...} ... } public class Emailer { public void sendEmail(String name, String email, String text) {...} ... } Using simple data types to avoid it: Object-Oriented Software Engineering (www.lloseng.com)
  • 34. Example of Stamp Coupling public interface Addressee { public abstract String getName(); public abstract String getEmail(); }   public class Employee implements Addressee {…}   public class Emailer { public void sendEmail(Addressee e, String text) {...} ... } Using an interface to avoid it: Object-Oriented Software Engineering (www.lloseng.com)
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.

Hinweis der Redaktion

  1. Pfleeger, 2nd Ed p 159 -161
  2. Good & Bad (Sommervile, 5th Ed p 226 Rapid Development, p 143 Code Complete, p 35 )