SlideShare a Scribd company logo
1 of 35
Building Good Solutions David Millard (dem@ecs.soton.ac.uk)
Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
From Problem to Algorithm ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Features of Good Modularisation 1 ,[object Object],[object Object],Boil Water in Kettle Empty Kettle Fill Kettle with Water Switch Kettle on Wait until Kettle Boils Cohesive  – all about boiling the water
Features of Good Modularisation 1 ,[object Object],[object Object],Boil Water in Kettle Empty Kettle Fill Kettle with Water Switch Kettle on Wait until Kettle Boils Boil Water in Kettle Empty Kettle Fill Kettle with Water Switch Kettle on Wait until Kettle Boils Pour Water into Teapot Not Cohesive  – mixes using the teapot into the process Cohesive  – all about boiling the water
Features of Good Modularisation 2 ,[object Object],[object Object],Make Tea in Pot (min) Put Tea in Pot Put Boiling Water in Pot Wait min Minutes Well Coupled  – all parameters are needed
Features of Good Modularisation 2 ,[object Object],[object Object],Make Tea in Pot (min) Put Tea in Pot Put Boiling Water in Pot Wait min Minutes Make Tea in Pot (min,  temp ) Put Tea in Pot Put Boiling Water in Pot Wait min Minutes Well Coupled  – all parameters are needed Not Well Coupled  – temp variable is not used
Features of Good Modularisation 3 ,[object Object],[object Object],Add Ingredients to Cup Put Milk in Cup Pour Tea in Cup Put 1 Sugar Lump in Cup Stir Tea in Cup Not Well Generalised  –only makes sugar tea in a cup
Features of Good Modularisation 3 ,[object Object],[object Object],Add Ingredients to Cup (lumps, recep) Put Milk in recep Pour Tea in recep Put lumps Sugar Lump in recep Stir Tea in recep Add Ingredients to Cup Put Milk in Cup Pour Tea in Cup Put 1 Sugar Lump in Cup Stir Tea in Cup Well Generalised – can make tea in any receptical Not Well Generalised  –only makes sugar tea in a cup
A Problem ,[object Object],[object Object],[object Object]
Noun Phrase Parsing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Problem ,[object Object],[object Object],[object Object]
A Problem ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Verb Phrase Parsing
A Problem ,[object Object],[object Object],[object Object]
A Problem ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Tidy up the Lists
A Problem ,[object Object],[object Object],[object Object]
A Problem ,[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],Sketch Processes
Activity: What are the Noun Verb Phrases? ,[object Object],[object Object],[object Object]
Break
Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast ?
? Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast Provide Breakfast Cook Breakfast Take Order Greet People Serve Breakfast
Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer ? Provide Breakfast
Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve   Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin ? Provide Breakfast
Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve   Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Generalisation :  like  Coupling  and  Cohesion  this is a  sign of good  modularisation ? Provide Breakfast
? Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve   Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Pour Juice Pour Coffee Provide Breakfast
Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve   Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Pour (X) Make Coffee ? Provide Breakfast
Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve   Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Pour (X) Make Coffee Put Food on Plate Give Food to Customer Provide Breakfast
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Stepwise Refinement
Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Pour (X) Give Food to Customer Provide Breakfast Cook Breakfast Make Coffee Put Food on Plate Cohesion: Should  Cook Breakfast   include  Make Coffee?
Take Order Greet People Serve Breakfast Serve Customer Pour (X) Give Food to Customer Prepare Breakfast Cook Breakfast Make Coffee Put Food on Plate Provide Breakfast Fry (X) Toast (X) Cohesion: Should  Cook Breakfast   include  Make Coffee?
[object Object],[object Object],[object Object],[object Object],Stepwise Refinement
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

Similar to Building Solutions08

Super Automatic Espresso and Coffee Machine
Super Automatic Espresso and Coffee MachineSuper Automatic Espresso and Coffee Machine
Super Automatic Espresso and Coffee MachineMaggie1948
 
Ghottos (enjoying coffee, not the usual cafe way)
Ghottos (enjoying coffee, not the usual cafe way)Ghottos (enjoying coffee, not the usual cafe way)
Ghottos (enjoying coffee, not the usual cafe way)Siddharth Soni
 
Di Bella - Concept Note
Di Bella - Concept NoteDi Bella - Concept Note
Di Bella - Concept NoteAnkit Saxena
 

Similar to Building Solutions08 (8)

Eating Sustainably, Patrick M
Eating Sustainably, Patrick MEating Sustainably, Patrick M
Eating Sustainably, Patrick M
 
Super Automatic Espresso and Coffee Machine
Super Automatic Espresso and Coffee MachineSuper Automatic Espresso and Coffee Machine
Super Automatic Espresso and Coffee Machine
 
KAHVE DELICIOSO
KAHVE DELICIOSOKAHVE DELICIOSO
KAHVE DELICIOSO
 
Ghottos (enjoying coffee, not the usual cafe way)
Ghottos (enjoying coffee, not the usual cafe way)Ghottos (enjoying coffee, not the usual cafe way)
Ghottos (enjoying coffee, not the usual cafe way)
 
Espresso coffee training
 Espresso coffee training Espresso coffee training
Espresso coffee training
 
Coffee - Basic Introduction
 Coffee - Basic Introduction Coffee - Basic Introduction
Coffee - Basic Introduction
 
Di Bella - Concept Note
Di Bella - Concept NoteDi Bella - Concept Note
Di Bella - Concept Note
 
cre8ivedesi9.com
cre8ivedesi9.comcre8ivedesi9.com
cre8ivedesi9.com
 

More from David Millard

People Like You Like Presentations Like This
People Like You Like Presentations Like ThisPeople Like You Like Presentations Like This
People Like You Like Presentations Like ThisDavid Millard
 
StoryPlaces Crystal Palace Writers Workshop
StoryPlaces Crystal Palace Writers WorkshopStoryPlaces Crystal Palace Writers Workshop
StoryPlaces Crystal Palace Writers WorkshopDavid Millard
 
Control Structures08
Control Structures08Control Structures08
Control Structures08David Millard
 
PeerPigeon - eLearn 2008
PeerPigeon - eLearn 2008PeerPigeon - eLearn 2008
PeerPigeon - eLearn 2008David Millard
 
Systems in the small - Introduction to Algorithms
Systems in the small - Introduction to AlgorithmsSystems in the small - Introduction to Algorithms
Systems in the small - Introduction to AlgorithmsDavid Millard
 
Faroes Open Repositories 08
Faroes Open Repositories 08Faroes Open Repositories 08
Faroes Open Repositories 08David Millard
 
Faroes Future: Questions and Storyboards
Faroes Future: Questions and StoryboardsFaroes Future: Questions and Storyboards
Faroes Future: Questions and StoryboardsDavid Millard
 
Introduction to Faroes
Introduction to FaroesIntroduction to Faroes
Introduction to FaroesDavid Millard
 

More from David Millard (9)

People Like You Like Presentations Like This
People Like You Like Presentations Like ThisPeople Like You Like Presentations Like This
People Like You Like Presentations Like This
 
StoryPlaces Crystal Palace Writers Workshop
StoryPlaces Crystal Palace Writers WorkshopStoryPlaces Crystal Palace Writers Workshop
StoryPlaces Crystal Palace Writers Workshop
 
Control Structures08
Control Structures08Control Structures08
Control Structures08
 
Sequences Modules08
Sequences Modules08Sequences Modules08
Sequences Modules08
 
PeerPigeon - eLearn 2008
PeerPigeon - eLearn 2008PeerPigeon - eLearn 2008
PeerPigeon - eLearn 2008
 
Systems in the small - Introduction to Algorithms
Systems in the small - Introduction to AlgorithmsSystems in the small - Introduction to Algorithms
Systems in the small - Introduction to Algorithms
 
Faroes Open Repositories 08
Faroes Open Repositories 08Faroes Open Repositories 08
Faroes Open Repositories 08
 
Faroes Future: Questions and Storyboards
Faroes Future: Questions and StoryboardsFaroes Future: Questions and Storyboards
Faroes Future: Questions and Storyboards
 
Introduction to Faroes
Introduction to FaroesIntroduction to Faroes
Introduction to Faroes
 

Recently uploaded

Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
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
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 

Recently uploaded (20)

Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
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
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 

Building Solutions08

  • 1. Building Good Solutions David Millard (dem@ecs.soton.ac.uk)
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Break
  • 23. Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast ?
  • 24. ? Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast Provide Breakfast Cook Breakfast Take Order Greet People Serve Breakfast
  • 25. Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer ? Provide Breakfast
  • 26. Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin ? Provide Breakfast
  • 27. Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Generalisation : like Coupling and Cohesion this is a sign of good modularisation ? Provide Breakfast
  • 28. ? Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Pour Juice Pour Coffee Provide Breakfast
  • 29. Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Pour (X) Make Coffee ? Provide Breakfast
  • 30. Provide Breakfast Greet People Take Order Cook Breakfast Fry Egg Fry Sausage Fry Bacon Fry Mushroom Toast Bread Toast Waffle Toast Muffin Pour Juice Pour Coffee Serve Breakfast Cook Breakfast Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Pour (X) Make Coffee Put Food on Plate Give Food to Customer Provide Breakfast
  • 31.
  • 32. Take Order Greet People Serve Breakfast Serve Customer Fry (X) Toast (X) Pour (X) Give Food to Customer Provide Breakfast Cook Breakfast Make Coffee Put Food on Plate Cohesion: Should Cook Breakfast include Make Coffee?
  • 33. Take Order Greet People Serve Breakfast Serve Customer Pour (X) Give Food to Customer Prepare Breakfast Cook Breakfast Make Coffee Put Food on Plate Provide Breakfast Fry (X) Toast (X) Cohesion: Should Cook Breakfast include Make Coffee?
  • 34.
  • 35.