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

Design It! in a nutshell

nunulk
November 28, 2019

Design It! in a nutshell

nunulk

November 28, 2019
Tweet

More Decks by nunulk

Other Decks in Programming

Transcript

  1. “Design It!” in a nutshell
    nunulk
    Try English LT! for engineers vol.3

    View Slide

  2. About me
    @nunulk
    freelance web developer
    Laravel enthusiast, Clojure lover, Mandarin
    beginner

    View Slide

  3. Before starting,

    View Slide

  4. Why I read books written in
    English
    • For learning English
    • For getting information faster
    • For getting “combo” cheaper
    combo: paper book + ebook w/ discount

    View Slide

  5. Where do I get?

    View Slide

  6. Design It!

    View Slide

  7. View Slide

  8. What is “design”?

    View Slide

  9. Design, Composition, and Performance - Rich Hickey

    View Slide

  10. –Rich Hickey
    “to prepare the plan for (a work to be
    executed), especially to plan the form
    and structure of”

    View Slide

  11. About “Design It!”
    • Part I: Introducing Software Architecture
    • Part II: Architecture Design Fundamentals
    • Part III: The Architect’s Toolbox

    View Slide

  12. What Software Architects Do

    View Slide

  13. What Software Architects Do
    What Software Architects Do - Design It!

    View Slide

  14. –Keeling, Michael. Design It!
    “They define the problem from an engineering perspective.
    They divide the software system into implementable chunks,
    but also keep an eye on the big picture to ensure the system
    still works as a consistent whole. Architects decide trade-offs
    among quality attributes and manage the inevitable growth of
    technical debt.”

    View Slide

  15. –Keeling, Michael. Design It!
    “They
    define the problem from an engineering perspective. They
    divide
    the software system into implementable
    chunks, but also
    keep
    an eye on the big picture to ensure the system still works as a consistent
    whole. Architects
    decide trade-offs among quality
    attributes and
    manage the inevitable growth of
    technical debt.”

    View Slide

  16. Design Thinking

    View Slide

  17. 4 Principles of Design
    Thinking
    1. Human rule: All design is social in nature.
    2. Ambiguity rule: Preserve ambiguity.
    3. Redesign rule: All design is redesign.
    4. Tangibility rule: Make ideas tangible to
    facilitate communication

    View Slide

  18. Architecture Patterns

    View Slide

  19. Architecture Patterns
    • Layers Pattern
    • Pipe-and-Filter Pattern
    • Publish-Subscribe Pattern
    • Big Ball of Mud Pattern
    etc. (10 patterns)

    View Slide

  20. Layers Pattern
    Evans, Eric - Domain-Driven Design

    View Slide

  21. The Architect’s Toolbox

    View Slide

  22. Activities to Understand the
    Problem
    • Choose One Thing
    • Empathy Map
    • Interview Stakeholders
    • Point-of-View Mad Lib
    etc. (38 activities)

    View Slide

  23. Choose One Thing
    “Discuss priorities with stakeholders by presenting them
    with an extreme choice: if you only get one thing, what
    will it be?”
    • faster performance or greater accuracy
    • cost or time-to-market
    • usability or security

    View Slide

  24. Wrap-up
    The book describes…
    • What Architect is and do.
    • What design thinking is.
    • How to design an architecture
    • Catalog of architecture patterns
    • Activities which helps you solve problems
    … and more

    View Slide