We may earn an affiliate commission when you visit our partners.
Allen Holub

This course shows you how to visualize and communicate architecture using pictures, which is essential in an Agile environment. It takes you through the design process, covering everything from story cards to representing complex activity flows.

Read more

This course shows you how to visualize and communicate architecture using pictures, which is essential in an Agile environment. It takes you through the design process, covering everything from story cards to representing complex activity flows.

You can't program effectively (or talk about your program effectively) without pictures, particularly in an Agile environment, where communication is central. This course, Picturing Architecture: UML (The Good Bits) and More, shows you how to communicate software concepts and structure using pictures or equivalent. You'll see how to represent stories and how to organize them effectively using index cards. You'll learn how to represent and organize stories and take them through the design process. You'll also learn how to represent complex activity flows, translate those flows into a messaging system, organize and represent the classes in your system, and represent the behavior of an object when that behavior changes with state. You'll learn about Story Cards, Story Maps, CRC-card walls (a system developed by the author), and a version of UML that's optimized for the whiteboard and adapted to modern Agile practice. By the end of this course, you'll be able to use pictures to communicate your program effectively within the Agile environment to others.

Enroll now

What's inside

Syllabus

Introduction: Designing in an Agile World
Organizing Stories
Diagramming Activities
Visualizing Message Flow
Read more
Determining Class Relationships
Representing State-based Behavior
Summing up (And What's Missing)

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Builds a strong foundation for beginners in visualizing architecture using pictures
Provides a strong foundation for intermediate learners in visualizing architecture using pictures
Taught by Allen Holub, recognized for their work in design patterns and architecture
Covers topics relevant to software development and Agile environments
Introduces learners to a version of UML optimized for Agile practice

Save this course

Save Picturing Architecture: UML (The Good Bits) and More to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Picturing Architecture: UML (The Good Bits) and More with these activities:
Review object-oriented programming concepts
Refresh your understanding of object-oriented programming principles to prepare for the course's focus on software architecture.
Show steps
  • Review your notes from previous courses on object-oriented programming.
  • Do practice problems on object-oriented programming.
Review software design principles
Understand the fundamentals of software design to lay a strong foundation for the course.
Browse courses on Software Design
Show steps
  • Read a book or article about software design principles.
  • Review your notes from previous courses on software design.
  • Do practice problems on software design.
Discuss software architecture design with peers
Exchange knowledge and perspectives on software architecture design with other students, fostering a collaborative learning environment.
Browse courses on Software Architecture
Show steps
  • Find a study partner or group.
  • Set up regular meetings to discuss software architecture design topics.
  • Share ideas, ask questions, and provide feedback.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Follow tutorials on UML modeling
Become familiar with UML modeling to effectively visualize and communicate software architecture.
Browse courses on UML
Show steps
  • Find online tutorials on UML modeling.
  • Follow the tutorials and practice creating UML diagrams.
  • Apply UML modeling to a small software design project.
Practice drawing activity diagrams
Enhance your ability to represent complex activity flows using activity diagrams.
Show steps
  • Find practice problems or exercises on drawing activity diagrams.
  • Draw activity diagrams for different scenarios.
Gather resources on software architecture best practices
Curate a collection of valuable resources on software architecture best practices to enhance your knowledge and stay up-to-date.
Browse courses on Software Architecture
Show steps
  • Search for online articles, books, and videos on software architecture best practices.
  • Organize the resources into a central location.
Create a visual representation of a software architecture
Deepen your understanding of software architecture by creating a visual representation using tools or techniques covered in the course.
Browse courses on Software Architecture
Show steps
  • Choose a software architecture to represent.
  • Select a tool or technique for creating the visual representation.
  • Create the visual representation.
  • Present or share your visual representation with others.
Read "Agile Software Development with UML, Second Edition" by Larman
Gain insights into agile software development and the effective use of UML for software architecture.
Show steps
  • Read the book thoroughly.
  • Take notes and highlight important concepts.
  • Apply the concepts to a practical project.
Develop a software architecture proposal for an agile project
Integrate the course concepts by creating a comprehensive software architecture proposal that aligns with Agile principles.
Browse courses on Software Architecture
Show steps
  • Define the project scope and goals.
  • Analyze the project requirements.
  • Design the software architecture.
  • Write the software architecture proposal.

Career center

Learners who complete Picturing Architecture: UML (The Good Bits) and More will develop knowledge and skills that may be useful to these careers:
Project Manager
A Project Manager plans and manages the implementation of a project. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in communicating with stakeholders.
Business Analyst
A Business Analyst analyzes the business needs of an organization and designs and develops solutions to meet those needs. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in communicating with stakeholders.
Software Engineer
A Software Engineer designs, develops, and maintains software applications. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in an Agile environment.
Data Analyst
A Data Analyst collects, analyzes, and interprets data to identify trends and patterns. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in presenting data in a clear and concise manner.
Product Manager
A Product Manager manages the development and launch of a product. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in communicating with stakeholders.
Technical Writer
A Technical Writer writes documentation for software applications. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in creating clear and concise documentation.
Software Developer
A Software Developer designs, develops, and maintains software applications. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in an Agile environment.
Systems Analyst
A Systems Analyst analyzes the business needs of an organization and designs and develops solutions to meet those needs. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in communicating with stakeholders.
Software Architect
A Software Architect designs and develops the overall architecture of a software application. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in an Agile environment. It takes you through the design process, covering everything from story cards to representing complex activity flows.
Software Tester
A Software Tester tests software applications to ensure that they meet the requirements of the users. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in communicating with stakeholders.
Database Architect
A Database Architect designs and develops the overall architecture of a database. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in an Agile environment.
Enterprise Architect
An Enterprise Architect designs and develops the overall architecture of an enterprise. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in an Agile environment.
Technical Architect
A Technical Architect designs and develops the overall architecture of a technical solution. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in an Agile environment.
Solution Architect
A Solution Architect designs and develops the overall architecture of a solution. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in an Agile environment.
Systems Architect
A Systems Architect designs and develops the overall architecture of a computer system. This course may be useful for this role because it teaches how to visualize and communicate architecture using pictures, which is essential in an Agile environment.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Picturing Architecture: UML (The Good Bits) and More.
Provides a comprehensive overview of domain-driven design (DDD). It good choice for those who want to learn more about DDD and how to use it in practice.
Provides a comprehensive overview of object-oriented analysis and design (OOAD) and the Unified Process (UP). It good choice for those who want to learn more about OOAD and UP and how to use them in practice.
Provides a classic overview of software engineering. It good choice for those who want to learn more about software engineering and how to do it well.
Provides a practical guide to agile software development. It good choice for those who want to learn more about agile development and how to implement it in practice.
Provides a practical guide to writing clean code. It good choice for those who want to learn more about clean code and how to write it in practice.
Provides a fun and engaging introduction to design patterns. It good choice for those who want to learn more about design patterns and how to use them in practice.
Provides a practical guide to managing software projects and teams. It good choice for those who want to learn more about project management and how to manage software projects and teams effectively.
Provides a code of conduct for professional programmers. It good choice for those who want to learn more about professional programming and how to be a better professional programmer.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Picturing Architecture: UML (The Good Bits) and More.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser