Upgrade to Pro — share decks privately, control downloads, hide ads and more …

UMLなんて今更必要ないと思っていた…

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Yatakeke Yatakeke
July 20, 2024
200

 UMLなんて今更必要ないと思っていた…

Scrum Fest Kanazawa 2024

Avatar for Yatakeke

Yatakeke

July 20, 2024
Tweet

More Decks by Yatakeke

Transcript

  1. ࣗݾ঺հ { ँࡑ: “جௐߨԋͷԻ੠τϥϒϧͷݪҼ͸ࢲͰ͢ɻਃ͠༁͋Γ·ͤΜͰͨ͠ɻ”, ໊લ: {࿨໊: ໼ాɹਐ೭հ, ϩʔϚࣈ: Yata Shinnosuke,

    X: @yatakeke”}, ॅॴ: [“ࡾՏ”, “ࡳຈ”, “ߔͷޱ”, “ֶܳେֶ”, “ࡾՏ”, ”ྲྀࢁ”], ձࣾ: “ΫϦΤʔγϣϯϥΠϯגࣜձࣾ”, ৬ۀ: [“σʔλαΠΤϯςΟετ”, “ΞϓϦέʔγϣϯΤϯδχΞ”], ݴޠ: {Python: “8೥”, JavaScript: “3೥”, Java: “2೥”}, ڵຯ: [“ϖΞɾϞϒϓϩ”, “ϦϑΝΫλϦϯά”, “ΦϒδΣΫτࢦ޲”, “ܶஂCL”], ෆ҆: “ΦϒδΣΫτࢦ޲ք۾ͷਓͨͪɺා͍͔ΒԌ্͠ͳ͍͔ͳ…” } 2
  2. ஏ͔͍͚ͣ͠Ͳ࿅शͷ੒ՌͷҰ෦Λެ։ʂ 21 OOCͷεϙϯαʔϒʔεͷϞσϦϯά • ࢀՃऀ͸શһελϯϓΧʔυ͕഑ΒΕΔ • ϒʔεΛ๚ΕΔͱελϯϓ͕΋Β͑Δ • ΦϑΟγϟϧϒʔεͱεϙϯαʔϒʔε͕͋Δ •

    ελϯϓ͕6ݸஷ·Δ͝ͱʹܠ඼Ψνϟ 3݄࣌఺ͳͷͰࠓͳΒ΋ͬͱ্ख͘… X͔Βऔಘ͕ͨ͠ɺͲͳ͔ͨͷࣸਅ͔͕Θ͔Βͳ͘ͳΓ·ͨ͠ɻ͢Έ·ͤΜ
  3. ϞσϧΛඳ͍ͨ͜ͱͰ࣮૷Πϝʔδ͕มΘͬͨ 22 ϞσϦϯά͔ΒಘΒΕͨؾ͖ͮ • ΫϥεͰ͸ͳͯ͘ɺ;Δ·͍ʹର͢ΔϢχοτς ετΛ͔͜͜Βॻ͜͏ͱ͍͏ࣗ৴͕࣋ͯͨ ɹˠ εϙϯαʔϒʔεʹߦ͘ͱελϯϓ͕΋Β͑Δ • ໾ׂͷҠৡ͕Ͱ͖͍ͯͦ͏ͳײ͡

    ɹˠ ελϯϓΧʔυͷ੹຿ ɹɹɾελϯϓΛԡͤΔ͔ ɹɹɾΨνϟ͕ճͤΔ͔ • ֓೦͔͠ߟ͑ΒΕͳ͍ͷͰ໋໊͕͍ͭ΋ΑΓγϯ ϓϧʹͳͬͨ ϞσϦϯάͤͣʹ࣮૷ͨ͠Βҧ͏݁ՌʹͳΓͦ͏
  4. UMLΛॻ͘͜ͱ΁ͷҙࣝͷมԽ • ϦϦʔεલ΍ೲ඼લͳͲͷ۠੾ΓͰॻ͚͘Ͳಡ·Εͳ͍ҹ৅ ɹɹˠ ࣮૷ޙͰ͸ͳ͘ɺ࣮૷લʹϞσϦϯά͢ΔͨΊʹॻ͍ͨ΄͏͕Α͍ • ໼ҹͷछྨʢू໿/Ҡৡ/ܧঝʣͱ͔ه๏͕֮͑ΒΕͳ͍ ɹɹˠ ϞσϦϯά͢Δ্Ͱ͸͋·Γ໰୊ʹͳΒͳ͍ •

    Ҏલ͸Google Drive ͷdraw.io͔͠࢖ͬͨ͜ͱͳͯ͘… ɹɹˠ ࣗ෼͸PlantUMLΛ࢖͏ͷ͕͘͢͝ϑΟοτ͍ͯ͠Δɻastah iPad΋αΫαΫ͔͚Δ • ϖΞϞϒϓϩͰ࣮૷͠ͳ͕Βઃܭ͍ͯ͠ΔͷͰඞཁੑΛײ͡ͳ͍ ɹɹˠ ϞϒϓϩͰͰ͖ΔͷͰɺ΍ͬͯΈ͍ͨʂ 28
  5. ༨ஊɿ PlantUML͸࢖͍΍͍͢ class TrainGate { +work() -enter(Ticket t) -enter(ElectricMoney e)

    -open() -close() } TrainGate *-right- ICReader TrainGate *-left- TicketReader class TicketReader { +enter(Ticket t) +exit(ticket t) } TicketReader o-- Ticket abstract class Ticket { +getStartPlace() +getPrice() +isSeasonTicket() } Ticket <|-- PriceTicket: imp Ticket <|-- RideTicket: imp Ticket <|-- SeasonTicket: imp class PriceTicket { startPlace price +getStartPlace() +getPrice() +isSeasonTicket() } class RideTicket { startPlace endPlace +getStartPlace() +getPrice() +isSeasonTicket() } class SeasonTicket { startPlace endPlace +getStartPlace() +getPrice() +isSeasonTicket() } class ICReader { +enter(ElectricMoney m) +exit(ElectricMoney m) } Interface ElectricMoney { } ICReader o-- ElectricMoney • جຊతʹίʔυ͚ͩॻ͚͹Α͍ • ϩʔϧόοΫͰ͖Δ • ഑ஔΛ͋·Γؾʹ͠ͳͯ͘΋Α͍ 30 ։ൃऀͳΒ޷Ή͸ͣʂ
  6. ·ͱΊ • ਖ਼͍͠จ๏ͷUMLΛॻ͘ << ϞσϦϯάΛ͢Δ • UML ͷclass diagramΛॻ͖ͳ͕Β࣮૷Λߟ͑Δ͚ͩͰ ࣗવͱϞσϦϯάʹͳ͍ͬͯ͘

    • ʢຊ౰͸࣮຿Ͱ΋΍Γ͍͚ͨͲʣ࿅शͰԿݸ͔UMLϞσϦϯάͯ͠Έ Δ͚ͩͰ΋ߟ͑ํͷ෯͕޿͕ΔΑʂͥͻҰา໨Λʂ 37
  7. ΦϒδΣΫτࢦ޲ͷ͜͜Ζ • Certi fi ed Scrum Developer(CSD)ݚम Ͱ͓͢͢Ί͞Εͨ • σβΠϯύλʔϯͷཧղͱͱ΋ʹ

    ΧϓηϧԽʹؔ͢Δଊ͑ํ͕มΘΔຊ • CSDݚमˠΦϒδΣΫτࢦ޲ͷ͜͜Ζ ͸͓͘͢͢͢͝Ίʂ 40