WARNING
description
Transcript of 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.
: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
EncapsulationAbstraction
Ignore lower level details and treat as higher level entities.
Package things together. Hide implementation and show only the interface.
EncapsulationAbstraction
Data
DataData
Data
Data
Data Data
Data
function
function function
function
function
Data
Class 1
Class 2
Class 3
Using language: Java/ C++
EncapsulationAbstraction
Data
Data
Data
Data
Data
Data Data
Data
Data
functionfunction function
function
function
functionfunction
Data
StudentAdmin
Lecturer
Using language: C
EncapsulationAbstraction
data1data2
function3
f2
functi
on1
data1data2
function3
f2
functi
on1
data1data2
function3
f2
functi
on1
LecturerStudent
Admin
EncapsulationAbstraction
data1data2
function3
f2
functi
on1
data1data2
function3
f2
functi
on1
data1data2
function3
f2
functi
on1
LecturerStudent
Admin
ClassA ClassB
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
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
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
?
Design at multiple levels
Expert
Proficient
Competent
Advanced beginner
Novice
Dreyfus model of skill
acquisition
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
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
Still doing detailed design, while getting more out of OO