12
play

12 zimmerka,channmn,shumwanm,wardsr (in two rows, so that you can - PowerPoint PPT Presentation

n Team am 11 lamantds,lint,audretad,fry Sit with your team 12 zimmerka,channmn,shumwanm,wardsr (in two rows, so that you can face 13 lapresga,draycs,roserrm each other) 14 Check out geislekj,degrotpc,evansea,houstoef VectorGraphics


  1. n Team am 11 lamantds,lint,audretad,fry Sit with your team 12 zimmerka,channmn,shumwanm,wardsr (in two rows, so that you can face 13 lapresga,draycs,roserrm each other) 14 Check out geislekj,degrotpc,evansea,houstoef VectorGraphics from SVN 15 weavergg,maderli,knightbk,baldwicd Browse its Planning folder 16 kautzjr,cahilltr,hannantt,hopkinaj 17 klaassmj,vermil,ernsteac,wieganda Team number used in repository name: http://svn.csse.rose-hulman.edu/repos/csse220-201020-vg-teamXX

  2. n Team am 20 Ahmed Alshaali, Kyle Apple, Ian Cundiff & Alex Mullans Sit with your team (in two rows, so that you 21 Tom Atnip, Jeremy Bailey, Susan can face each other) Cisneros & George Mammarella Check out 22 Devon Banks, Ben McDonald, Ruben VectorGraphics from Rodriguez & Nathan Varner SVN 23 Brian Collins, Katie Greenwald, Ann Browse its Planning folder Say & Franklin Totten 24 Ryan Fuller, Alex Gumz, Elizabeth Hines & Richard Thai 25 Chase Mathison, Rebecca McCarthy, Jackson Melling, & Donnie Quamme Team number used in repository name: http://svn.csse.rose-hulman.edu/repos/csse220-201020-vg-teamXX

  3. Object-Oriented Design Begin your VectorGraphics project

  4. Analysis Design Software Implementation Development Testing Deployment Maintenance

  5.  Standardized approaches intended to: ◦ Reduce costs ◦ Increase predictability of results  Examples: ◦ Waterfall model ◦ Spiral model ◦ “Rational Unified Process”

  6.  Do each stage to completion Analysis  Then do the next stage Design Implementation Testing Pipe dream model? Deployment

  7.  Schedule overruns  Scope creep  Repeat phases in a cycle  Produce a prototype at end of each cycle  Get early feedback, incorporate changes Prototype Deployment

  8.  Like the spiral model with ve very short cycles  Pioneered by Kent Beck  One of several “agile” methodologies, focused on building high quality software quickly  Rather than focus on rigid process, XP espouses 12 key practices…

  9.  Realistic planning  Pair r program ammi ming ng  Small l releases  Collective ownership  Shared metaphors  Conti tinuous nuous integra ratio tion  Simplicity  40-hour week  Te Testing ng  On-site customer  Re Refact ctoring oring  Coding ng standar ards ds When you see Use descriptive names, opportunity to make Control-Shift-F, etc code better, do it

  10. A team project to create a scalable graphics program. http://www.rose-hulman.edu/class/csse/binaries/VideoDemos/VectorGraphics220.mov

  11.  A team assignment ◦ So some division vision of labor or is appro ropri priate ate (indeed, necessary)  A learning experience, so: ◦ Rule 1: eve very team m member er must partic ticipate ipate in eve very ry major or activity ivity. ◦ Rule 2: Eve veryth ythin ing g that t you submi mit t for r this s projec ject t shoul ould d be unders ersto tood od by all team m members ers.  Not necessarily all the details, but all the basic ideas

  12. Planni anning ng Week ek Cycle cle Code de due due Planning deliverables: ◦ User Stories Cycle 0 See next slide Week ◦ in a Release Plan 7 Thursday ◦ UML class diagram Cycle 1 Monday ◦ with details for cycle Week Tuesday ◦ Task List 8 Cycle 2 Sunday Code deliverables: Monday Cycle 3 Week ◦ Code Thursday 9 ◦ Status report Friday Cycle 4 ◦ Individual evaluation of Tuesday team performance Week Public demo, Wednesday ◦ Survey on Angel 10 lunchtime

  13. Today Make the first version of your Release Plan 1. Do a draft high-level design 2. CRC cards ◦ Convert to UML class diagram ◦ Make a screen layout sketch 3. Before Thursday: Finish above 1. Produce Planning deliverables for Cycle 1 2.

  14.  Open your Release Plan for Cycle 0 ◦ VectorGraphics project from SVN ◦ Planning ~ Cycle 0 ~ ReleasePlan-ForCycle0.docx ◦ Be careful that only one team member modifies it  Familiarize yourself with the Features ◦ Listed for you in the Release Plan  Make a Release Plan ◦ For each of the 4 development cycles, what Features you will implement in that cycle ◦ You will revise and refine your Release Plan at the beginning of each development cycle

  15. A practical technique

  16.  We won’t use full -scale, formal methodologies ◦ Those are in later SE courses  We will practice a common object-oriented design technique using CRC Cards ds which then get turned into your UML class diagram gram  Like any design technique, the e key ey to success ess is practi tice ce

  17. May… 1. Dis isco cover er cl classes es based on Represent single concepts requirements Circle , Investment Represent visual elements of  Come from nouns the project in the problem description FacesComponent , UpdateButton 2. Determ rmin ine e re responsibi nsibili lities ties Be abstractions of real-life of each class entities BankAccount ,  Come from verbs TicTacToeBoard associated with the classes Be actors 3. Describ ibe e rela latio ionsh nship ips s Scanner , CircleViewer Be utilities between classes: Math is-a, has-a is

  18. Class name Responsibilities Collaborators Pick a responsibility of the program 1. Pick a class to carry out that responsibility 2. Add that responsibility to the class’s card ◦ Can that class carry out the responsibility by itself? 3. Yes  Return to step 1 ◦ No  ◦ Decide which classes should help  List them as collaborators on the first card  Add additional responsibilities to the collaborators’ cards 

  19.  Sp Sprea read d the e cards s out on a table ◦ Or sticky notes on a whiteboard instead of cards  Use a “token” to keep your place ◦ A quarter or a magnet  Focus us on high gh-level level respons ponsibi ibilit ities ies ◦ Some say < 3 per card  Keep p it informal mal ◦ Rewrite cards if they get to sloppy ◦ Tear up mistakes ◦ Shuffle cards around to keep “friends” together

  20.  High gh cohesio hesion  Low ow cou oupli ling  Immu mmutable able where ere practi ractical al ◦ Document ment where re not Pick a responsibility  Inh nher erit itan ance e for code de reuse 1. of the program  Interface terfaces to allow low other ers s to intera eract ct with h your code de Pick a class to carry out 2. that responsibility Add that responsibility to the class’s card ◦ Can that class carry out the responsibility by itself? 3. Yes  Return to step 1 ◦ No  ◦ Decide which classes  should help List them as collaborators  on the first card Add additional  responsibilities to the collaborators’ cards

  21.  Classes stay classes  Responsibilities become properties (methods)  If attributes (fields) are obvious, add them  Collaborators are usually has-a relationships  If is-a relationships are obvious, add them  You can probably work in parallel as two pairs ◦ Or a subteam can begin work on your Screen Layout sketches

  22.  Exchange contact information ◦ If you want, put it into your Planning folder  Fill in your Ta TaskLi List st-For ForCy Cycl cle0. e0.xl xlsx sx, with: ◦ Complete the CRC Cards  And scan them in ◦ Complete the UML class diagram based on them  In UMLet ◦ Do a Screen Layout Sketch  2 to 5 pages, annotated to show the user interface  Need not be pretty ◦ Do the Cycle 1 Planning deliverables  All the above: ◦ Is due Thursday in class ◦ Can be  through group meetings or  dividing up the work or  a combination of the two

Recommend


More recommend