1 / 33

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 .

becca
Download Presentation

WARNING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. b a :Timer :Score :MSLogic :ScoreCard :Score :Minefield :MSLogic :Cell :Minefield :Cell :Mine :Cell :Mine Which one is the behavior diagram? Timer diag {a|b|c} e.g. diag c ScoreCard Score MSLogic Minefield Cell Mine c 77577 :Cell :Cell

  3. Ignore lower level details and treat as higher level entities. Package things together. Hide implementation and show only the interface. Encapsulation Abstraction

  4. Class 2 Using language: Java/ C++ Data Data Data function function Class 1 function Data Class 3 Data Data Data Data function Data function Abstraction Encapsulation

  5. Using language: C Student Admin Data Data Data Data function function Data function Data function Data Lecturer Data Data Data Encapsulation Abstraction function function function

  6. Student Lecturer f2 f2 f2 function1 function1 function1 data1 data2 data1 data2 data1 data2 function3 function3 function3 Admin Abstraction Encapsulation

  7. Student Lecturer f2 f2 f2 function1 function1 function1 data1 data2 data1 data2 data1 data2 function3 function3 function3 Admin Abstraction Encapsulation

  8. ClassA ClassB

  9. TEAMMATES classes GateKeeper AccountsLogic BrowserPool InstructorsLogic BaseTestCase StudentsLogic Logic Browser ControllerServlet *Servlet CoursesLogic *Servlet *Servlet LoginFilter EvaluationsLogic AppPage ActionResult ActionFactory SubmissionsLogic …….. Logic AdminHomePage etc. PageData ShowPageResult BaseUiTestCase Ui Tests Ui Tests Ui Tests Ui Tests Ui Tests Action Ui Tests Ui Tests Ui Tests Ui Tests Ui Tests TeammatesException Driver tests Common tests Logic tests Storage tests Ui Tests HttpServletRequest RedirectResult TeamEvalResult FieldValidator Submission EnrollException etc. Config BackDoorLogic Assumption EnrollException etc. BackDoorServlet EnrollException etc. EmailTemplates Const Sanitizer Student _xyz_Helper FeedbackResponse Evaluation EntityAttributes Emails *Helper _xyz_Helper GaeSimulation FileDownloadResult *Helper Url *Helper _xyz_PageData Utils * FeedbackQuestion Account _xyz_Servlet *Bundle AccountAttributes CourseAttributes *Type Course _xyz_Servlet *Type *Bundle *Type *Stats _abc_Action TestProperties InstructorAttributes EvaluationAttributes * FeedbackSession Instructor *Bundle BaseComponentTestCase *Bundle *Bundle *Bundle *Bundle *Summry StudentAttributes ………………Attributes AssertHelper EvaluationClosingRemindersServlet *.js EvaluationClosingRemindersServlet *.css _xyz_.jsp EvaluationClosingRemindersServlet *.js EvaluationsDb FeedbackSessionsDb AccountsDb AutomatedRemindersServlet CoursesDb _xyz_.jsp *.css HtmlHelper _xyz_.jsp *.js *.css FeedbackQuestionsDb StudentsDb SubmissionsDb BackDoor FeedbackResponsesDb InstructorsDb Datastore DatastoreFilter EmailAccount

  10. TEAMMATES classes GateKeeper AccountsLogic BrowserPool InstructorsLogic BaseTestCase StudentsLogic Logic Browser ControllerServlet *Servlet CoursesLogic *Servlet *Servlet LoginFilter EvaluationsLogic AppPage ActionResult ActionFactory SubmissionsLogic …….. Logic AdminHomePage etc. PageData ShowPageResult BaseUiTestCase Ui Tests Ui Tests Ui Tests Ui Tests Ui Tests Action Ui Tests Ui Tests Ui Tests Ui Tests Ui Tests TeammatesException Driver tests Common tests Logic tests Storage tests Ui Tests HttpServletRequest RedirectResult TeamEvalResult FieldValidator Submission EnrollException etc. Config BackDoorLogic Assumption EnrollException etc. BackDoorServlet EnrollException etc. EmailTemplates Const Sanitizer Student _xyz_Helper FeedbackResponse Evaluation EntityAttributes Emails *Helper _xyz_Helper GaeSimulation FileDownloadResult *Helper Url *Helper _xyz_PageData Utils * FeedbackQuestion Account _xyz_Servlet *Bundle AccountAttributes CourseAttributes *Type Course _xyz_Servlet *Type *Bundle *Type *Stats _abc_Action TestProperties InstructorAttributes EvaluationAttributes * FeedbackSession Instructor *Bundle BaseComponentTestCase *Bundle *Bundle *Bundle *Bundle *Summry StudentAttributes ………………Attributes AssertHelper EvaluationClosingRemindersServlet *.js EvaluationClosingRemindersServlet *.css _xyz_.jsp EvaluationClosingRemindersServlet *.js EvaluationsDb FeedbackSessionsDb AccountsDb AutomatedRemindersServlet CoursesDb _xyz_.jsp *.css HtmlHelper _xyz_.jsp *.js *.css FeedbackQuestionsDb StudentsDb SubmissionsDb BackDoor FeedbackResponsesDb InstructorsDb Datastore DatastoreFilter EmailAccount

  11. GateKeeper AccountsLogic BrowserPool InstructorsLogic BaseTestCase StudentsLogic Logic Browser ControllerServlet *Servlet CoursesLogic *Servlet *Servlet LoginFilter EvaluationsLogic AppPage ActionResult ActionFactory SubmissionsLogic …….. Logic AdminHomePage etc. PageData ShowPageResult StudentsDb BaseUiTestCase InstructorsDb AccountsDb EvaluationsDb FeedbackSessionsDb CoursesDb Ui Tests Ui Tests Ui Tests Ui Tests Ui Tests Action Ui Tests Ui Tests Ui Tests Ui Tests Ui Tests TeammatesException Student Driver tests Ui Tests Storage tests Logic tests Common tests HttpServletRequest RedirectResult FeedbackQuestionsDb SubmissionsDb * TeamEvalResult FieldValidator Submission EnrollException etc. Config BackDoorLogic Account Assumption EnrollException etc. BackDoorServlet EnrollException etc. Course FeedbackResponsesDb EmailTemplates Const Sanitizer _xyz_Helper FeedbackResponse Evaluation EntityAttributes Emails *Helper _xyz_Helper * GaeSimulation FileDownloadResult *Helper Url *Helper _xyz_PageData Instructor Utils Datastore DatastoreFilter FeedbackQuestion _xyz_Servlet *Bundle AccountAttributes CourseAttributes *Type _xyz_Servlet *Type *Bundle *Type *Stats _abc_Action TestProperties InstructorAttributes EvaluationAttributes FeedbackSession *Bundle BaseComponentTestCase *Bundle *Bundle *Bundle *Bundle *Summry StudentAttributes ………………Attributes AssertHelper EvaluationClosingRemindersServlet *.js EvaluationClosingRemindersServlet *.css _xyz_.jsp EvaluationClosingRemindersServlet *.js AutomatedRemindersServlet _xyz_.jsp *.css HtmlHelper _xyz_.jsp *.js *.css BackDoor EmailAccount

  12. ?

  13. Design at multiple levels

  14. Dreyfus model of skill acquisition Novice

  15. 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. Dreyfus model of skill acquisition Novice • e.g. Can pick up Hg from tutorial • Needs recipes • e.g. Needs to be taught how to use Hg in the project

  16. 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. Dreyfus model of skill acquisition Novice • e.g. Can pick up Hg from tutorial • Needs recipes • e.g. Needs to be taught how to use Hg in the project

  17. Still doing detailed design, while getting more out of OO

More Related