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 full-size slide

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

    View full-size slide

  3. Before starting,

    View full-size 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 full-size slide

  5. Where do I get?

    View full-size slide

  6. What is “design”?

    View full-size slide

  7. Design, Composition, and Performance - Rich Hickey

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  10. What Software Architects Do

    View full-size slide

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

    View full-size slide

  12. –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 full-size slide

  13. –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 full-size slide

  14. Design Thinking

    View full-size slide

  15. 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 full-size slide

  16. Architecture Patterns

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  19. The Architect’s Toolbox

    View full-size slide

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

    View full-size slide

  21. 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 full-size slide

  22. 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 full-size slide