WARNING

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

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 of WARNING

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

:MSLogic

:Timer

:ScoreCard

:Minefield:Cell

:Cell

:Cell

:Mine

:Mine

:Score

:Score

MSLogic

Minefield Cell

ScoreCard

Mine

Timer

Score

:MSLogic

:Minefield

diag {a|b|c}e.g. diag c

77577

Which one is the behavior diagram?

a

c

b

Page 3: WARNING

EncapsulationAbstraction

Ignore lower level details and treat as higher level entities.

Package things together. Hide implementation and show only the interface.

Page 4: WARNING

EncapsulationAbstraction

Data

DataData

Data

Data

Data Data

Data

function

function function

function

function

Data

Class 1

Class 2

Class 3

Using language: Java/ C++

Page 5: WARNING

EncapsulationAbstraction

Data

Data

Data

Data

Data

Data Data

Data

Data

functionfunction function

function

function

functionfunction

Data

StudentAdmin

Lecturer

Using language: C

Page 6: WARNING

EncapsulationAbstraction

data1data2

function3

f2

functi

on1

data1data2

function3

f2

functi

on1

data1data2

function3

f2

functi

on1

LecturerStudent

Admin

Page 7: WARNING

EncapsulationAbstraction

data1data2

function3

f2

functi

on1

data1data2

function3

f2

functi

on1

data1data2

function3

f2

functi

on1

LecturerStudent

Admin

Page 8: WARNING

ClassA ClassB

Page 9: WARNING
Page 10: WARNING
Page 11: WARNING
Page 12: WARNING
Page 13: WARNING
Page 14: WARNING
Page 15: WARNING
Page 16: WARNING

Logic

TeamEvalResult

Back

Door

Logi

c

Back

Door

Serv

let

AutomatedRemindersServlet

EvaluationClosingRemindersServlet

Emails

InstructorsLogic

StudentsLogic

EvaluationsLogic

AccountsLogic

CoursesLogic

SubmissionsLogic

GateKeeper

…….. Logic

EvaluationClosingRemindersServlet

EvaluationClosingRemindersServlet

FeedbackSessionsDb AccountsDb

DatastoreFilterDatastore

StudentEvaluation

Submission

SubmissionsDb

Instructor

CoursesDb

Course Account

StudentsDb

InstructorsDb

FeedbackSession

FeedbackQuestion

FeedbackResponse

EvaluationsDb

FeedbackQuestionsDb

FeedbackResponsesDb

*

*

GaeSimulation

BaseTestCase

Ui TestsUi TestsUi Tests

BrowserPool

EmailAccount

Browser

BackDoor

HtmlHelper

AssertHelper

TestProperties

AppPage

AdminHomePage etc.BaseUi

TestCase

BaseComponent

TestCase

Ui TestsUi TestsDriver tests

Ui TestsUi TestsCommon tests

Ui TestsUi TestsLogic tests

Ui TestsUi TestsStorage tests

Action

_xyz_Servlet

_xyz_Helper

PageData

_xyz_.jsp*.css*.js*.js*.js *.css*.css _xyz_.jsp_xyz_.jsp

_xyz_Servlet_abc_Action

_xyz_Helper_xyz_PageData

LoginFilter

ActionFactory

ControllerServlet *Servlet*Servlet*Servlet

ActionResult

RedirectResult

ShowPageResult

HttpS

ervl

etRe

ques

t

FileDownloadResult

TeammatesException

EnrollException etc.EnrollException etc.EnrollException etc.

EntityAttributes

StudentAttributes

CourseAttributes

InstructorAttributes EvaluationAttributes

………………Attributes

AccountAttributes

AssumptionEmailTemplates

FieldValidator

*Helper*Helper*HelperSanitizer

Config

Const

UrlUtils

*Type

*Bundle*Bundle*Bundle

*Bundle*Bundle*Stats

*Bundle*Bundle*Summry

*Type*Type

TEAMMATES classes

Page 17: WARNING

Logic

TeamEvalResult

Back

Door

Logi

c

Back

Door

Serv

let

AutomatedRemindersServlet

EvaluationClosingRemindersServlet

Emails

InstructorsLogic

StudentsLogic

EvaluationsLogic

AccountsLogic

CoursesLogic

SubmissionsLogic

GateKeeper

…….. Logic

EvaluationClosingRemindersServlet

EvaluationClosingRemindersServlet

FeedbackSessionsDb AccountsDb

DatastoreFilterDatastore

StudentEvaluation

Submission

SubmissionsDb

Instructor

CoursesDb

Course Account

StudentsDb

InstructorsDb

FeedbackSession

FeedbackQuestion

FeedbackResponse

EvaluationsDb

FeedbackQuestionsDb

FeedbackResponsesDb

*

*

GaeSimulation

BaseTestCase

Ui TestsUi TestsUi Tests

BrowserPool

EmailAccount

Browser

BackDoor

HtmlHelper

AssertHelper

TestProperties

AppPage

AdminHomePage etc.BaseUi

TestCase

BaseComponent

TestCase

Ui TestsUi TestsDriver tests

Ui TestsUi TestsCommon tests

Ui TestsUi TestsLogic tests

Ui TestsUi TestsStorage tests

Action

_xyz_Servlet

_xyz_Helper

PageData

_xyz_.jsp*.css*.js*.js*.js *.css*.css _xyz_.jsp_xyz_.jsp

_xyz_Servlet_abc_Action

_xyz_Helper_xyz_PageData

LoginFilter

ActionFactory

ControllerServlet *Servlet*Servlet*Servlet

ActionResult

RedirectResult

ShowPageResult

HttpS

ervl

etRe

ques

t

FileDownloadResult

TeammatesException

EnrollException etc.EnrollException etc.EnrollException etc.

EntityAttributes

StudentAttributes

CourseAttributes

InstructorAttributes EvaluationAttributes

………………Attributes

AccountAttributes

AssumptionEmailTemplates

FieldValidator

*Helper*Helper*HelperSanitizer

Config

Const

UrlUtils

*Type

*Bundle*Bundle*Bundle

*Bundle*Bundle*Stats

*Bundle*Bundle*Summry

*Type*Type

TEAMMATES classes

Page 18: WARNING

Logic

TeamEvalResult

Back

Door

Logi

c

Back

Door

Serv

let

AutomatedRemindersServlet

EvaluationClosingRemindersServlet

Emails

InstructorsLogic

StudentsLogic

EvaluationsLogic

AccountsLogic

CoursesLogic

SubmissionsLogic

GateKeeper

…….. Logic

EvaluationClosingRemindersServlet

EvaluationClosingRemindersServlet

FeedbackSessionsDb AccountsDb

DatastoreFilterDatastore

Student

Evaluation

SubmissionSubmissionsDb

Instructor

CoursesDb

Course Account

StudentsDb

InstructorsDb

FeedbackSession

FeedbackQuestion

FeedbackResponse

EvaluationsDb

FeedbackQuestionsDb

FeedbackResponsesDb

*

*GaeSimulation

BaseTestCase

Ui TestsUi TestsUi Tests

BrowserPool

EmailAccount

Browser

BackDoor

HtmlHelper

AssertHelper

TestProperties

AppPage

AdminHomePage etc.BaseUi

TestCase

BaseComponent

TestCase

Ui TestsUi TestsDriver tests

Ui TestsUi TestsCommon tests

Ui TestsUi TestsLogic tests

Ui TestsUi TestsStorage tests

Action

_xyz_Servlet

_xyz_Helper

PageData

_xyz_.jsp*.css*.js*.js*.js *.css*.css _xyz_.jsp_xyz_.jsp

_xyz_Servlet_abc_Action

_xyz_Helper_xyz_PageData

LoginFilter

ActionFactory

ControllerServlet *Servlet*Servlet*Servlet

ActionResult

RedirectResult

ShowPageResult

HttpS

ervl

etRe

ques

t

FileDownloadResult

TeammatesException

EnrollException etc.EnrollException etc.EnrollException etc.

EntityAttributes

StudentAttributes

CourseAttributes

InstructorAttributes EvaluationAttributes

………………Attributes

AccountAttributes

AssumptionEmailTemplates

FieldValidator

*Helper*Helper*HelperSanitizer

Config

Const

UrlUtils

*Type

*Bundle*Bundle*Bundle

*Bundle*Bundle*Stats

*Bundle*Bundle*Summry

*Type*Type

Page 19: WARNING
Page 20: WARNING
Page 21: WARNING
Page 22: WARNING
Page 23: WARNING

?

Page 24: WARNING

Design at multiple levels

Page 25: WARNING

Expert

Proficient

Competent

Advanced beginner

Novice

Dreyfus model of skill

acquisition

Page 26: WARNING

Expert

Proficient

Competent

Advanced beginner

Can learn technologies/tools quickly, can start coding stuff quickly. Don’t want to get bogged down with fundamentals. Not yet appreciative of the big picture.

Needs recipes

Novice e.g. Can pick up Hg from tutorial

Dreyfus model of skill

acquisition

e.g. Needs to be taught how to use Hg in the project

Page 27: WARNING

Expert

Proficient

Competent

Advanced beginner

Can learn technologies/tools quickly, can start coding stuff quickly. Don’t want to get bogged down with fundamentals. Not yet appreciative of the big picture.

Needs recipes

Novice e.g. Can pick up Hg from tutorial

Dreyfus model of skill

acquisition

e.g. Needs to be taught how to use Hg in the project

Page 28: WARNING
Page 29: WARNING
Page 30: WARNING
Page 31: WARNING
Page 32: WARNING
Page 33: WARNING

Still doing detailed design, while getting more out of OO