warning

16
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.

Upload: lynna

Post on 23-Feb-2016

34 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: WARNING

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
Page 3: WARNING

Brooks's law : "adding manpower to a late software project makes it later"

Prof. Fred Brooks, Jr.

Page 4: WARNING

Brooks's law : "adding manpower to a late software project makes it later"

Page 5: WARNING

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

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

open closed principle Software entities should be open for extension, but closed for modification.

Minefield

MinedCell EmptyCell* *

MagicCell*

Page 8: WARNING

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

Liskov substitution principle Subclasses should be substitutable for their base classes.

Minefield {abstract}Cell

MinedCell EmptyCell

MagicCell

*

by Babara Liskov

Page 10: WARNING

Single responsibility principle Every class should have a single responsibility.

Minefield

by Robert C. Martin

Mine

{abstract}Cell

Score

Page 11: WARNING

The later you find a bug, the more it costs

Page 12: WARNING

[extra]

Good, cheap, fast: select any two

Good

Cheap

Fast

Page 13: WARNING

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
Page 15: WARNING
Page 16: WARNING

1. Separation of concerns2. Single responsibility principle3. Open closed principle 4. ……

[by next tutorial]