warning
DESCRIPTION
WARNING. These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions . You can download PowerPoint 2010 viewer from here . - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/1.jpg)
WARNING
These slides are not optimized for printing or exam preparation. These are for lecture delivery only.
These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here.
These slides contain a lot of animations. For optimal results, watch in slideshow mode.
![Page 2: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/2.jpg)
![Page 3: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/3.jpg)
Brooks's law : "adding manpower to a late software project makes it later"
Prof. Fred Brooks, Jr.
![Page 4: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/4.jpg)
Brooks's law : "adding manpower to a late software project makes it later"
![Page 5: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/5.jpg)
Brooks's law : "adding manpower to a late software project makes it later"
Gems of Wisdom: Software Development Principles.
CS2103/T, Lecture 8, Part 2, [Oct 11, 2013]
![Page 6: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/6.jpg)
Principle of separation of concerns
by Edsger Dijkstra
Interact with user
Get user input
Show message to user
Store user data
Refresh data storage
Authenticate user
Encrypt password
SYSTEM
![Page 7: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/7.jpg)
open closed principle Software entities should be open for extension, but closed for modification.
Minefield
MinedCell EmptyCell* *
MagicCell*
![Page 8: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/8.jpg)
open closed principle Software entities should be open for extension, but closed for modification.
Minefield {abstract}Cell
MinedCell EmptyCell
MagicCell
*
by Bertrand Meyer
![Page 9: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/9.jpg)
Liskov substitution principle Subclasses should be substitutable for their base classes.
Minefield {abstract}Cell
MinedCell EmptyCell
MagicCell
*
by Babara Liskov
![Page 10: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/10.jpg)
Single responsibility principle Every class should have a single responsibility.
Minefield
by Robert C. Martin
Mine
{abstract}Cell
Score
![Page 11: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/11.jpg)
The later you find a bug, the more it costs
![Page 12: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/12.jpg)
[extra]
Good, cheap, fast: select any two
Good
Cheap
Fast
![Page 13: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/13.jpg)
Some principles are nicely captured in famous quotes -- me
“ ”E.g. The first 90% of the code accounts for the first 90% of the development time...The remaining 10% of the code accounts for the other 90% of the development time.
-- Tom Cargill
[More such quotes]
![Page 14: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/14.jpg)
![Page 15: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/15.jpg)
![Page 16: WARNING](https://reader036.vdocuments.site/reader036/viewer/2022070421/56816361550346895dd42da6/html5/thumbnails/16.jpg)
1. Separation of concerns2. Single responsibility principle3. Open closed principle 4. ……
[by next tutorial]