cheungkt foltztm ngop
play

cheungkt,foltztm,ngop, hannumed,hugheyjm,weavergg,woodhaal 07 - PowerPoint PPT Presentation

n Team am 01 amanb,labarpr,walthagd, Sit with your team (in two rows, so 02 breenjw,eatonmi,runchemr, that you can face 03 buqshank,macshake,mcgeevsa,smebaksg each other) 04 correlbn,moravemj,shinnsm,wanstrnj Check out


  1. n Team am 01 amanb,labarpr,walthagd, Sit with your team (in two rows, so 02 breenjw,eatonmi,runchemr, that you can face 03 buqshank,macshake,mcgeevsa,smebaksg each other) 04 correlbn,moravemj,shinnsm,wanstrnj Check out parasby,pedzindm,sheetsjr, 05 VectorGraphics from SVN 06 cheungkt,foltztm,ngop, hannumed,hugheyjm,weavergg,woodhaal 07 Browse its Planning folder carvers,davidsac,kominet,krachtkq 08 09 beaversr,duganje,lemmersj,popenhjc Team number used in repository name: http://svn.csse.rose-hulman.edu/repos/csse220-201030-vg-teamXX

  2. Object-Oriented Design Begin your VectorGraphics project

  3. Analysis Design Software Implementation Development Testing Deployment Maintenance

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

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

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

  7.  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…

  8.  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  Testing ng  On-site customer  Refactor toring ing  Coding ng standar ards ds When you see Use descriptive names, opportunity to make Control-Shift-F, etc code better, do it

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

  10.  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

  11.  Read the specification  Exchange contact info – you may want to add to your planning folder.  Start working on your first milestone due Friday ◦ But try to get it done by Thursday so you can get some feedback in class before it’s graded. ◦ Next slides are some review of CRC cards and UML.

  12. A practical technique

  13.  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

  14. 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. Determi mine ne responsibi nsibili litie 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

  15. 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 

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

  17.  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

  18.  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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend