search menu icon-carat-right cmu-wordmark

Documenting Software Architectures - eLearning

Software architecture has become a widely accepted conceptual basis for the development of nontrivial software in all application areas and by organizations of all sizes. However, the treatment of architecture to date has largely concentrated on its design and, to a lesser extent, its validation. Effectively documenting an architecture is as important as crafting it; if the architecture is not understood (or worse, misunderstood), it cannot be analyzed effectively or meet its goal as the unifying vision for system and software development. Documentation-based architecture strategies stop short of prescribing documentation standards.

  • How do you document architectures using well-known styles such as service-oriented, client-server, multi-tiered, layered, and so forth?
  • What are effective architecture documentation guidelines?
  • How do you represent architectural elements and the relations among them?
  • How do you document interface semantics and architectural rationale?
  • How do you provide relevant architectural information to important stakeholders?
  • Are there templates for architecture documentation?

This online course provides in-depth coverage of effective software architecture documentation practices that meet the needs of the entire architecture stakeholder community. This course presents the information in the context of prevailing prescriptive models, including the Rational Unified Process (RUP), the Siemens Four Views software approach, the IEEE 1471-2000 standard, and the Unified Modeling Language (UML). The course is based on the book Documenting Software Architectures: Views and Beyond.


Learners will have three months to complete the course. Upon completing all course elements, the learner is awarded an electronic certificate of course completion and 1.5 Continuing Education Units (CEUs).

Audience

This course is targeted at

  • software architects and software lead designers whose jobs include producing architectural documentation
  • software technical managers whose jobs include overseeing and/or managing the architecture definition process
  • software engineers who may be expected to use architecture documentation


This online course is designed for independent learners to quickly gain knowledge, at their convenience, of the best practices for documenting software architectures.

Objectives

This online course shows software architects how to produce a comprehensive documentation package for a software architecture that is useful to stakeholders. After attending this course, participants will have a better understanding of

  • the basic principles of sound technical documentation
  • a stakeholder- and view-based approach to documenting software architectures
  • which views are available for documenting an architecture
  • how to choose the set of views that will be most valuable to the architecture's community of stakeholders
  • the information needed to document a view
  • how to use formal and informal notations (including UML) to represent elements and relations in a view
  • how to document a software interface and software behavior
  • the information needed to document information that applies across views

Topics

  • principles of sound documentation
  • viewtypes, styles, and views
  • advanced concepts such as refinement, context diagrams, variability, software interfaces, and how to document interfaces
  • documenting the behavior of software elements and software systems
  • choosing relevant views
  • building a documentation package using a seven-part template

Documenting Software Architectures-eLearning will require a minimum of 12 hours of study time. Once registered, learners will be granted 24-hour-a-day access to the course material for three months.

Learners can proceed through the course at their convenience and can review and repeat individual sections as often as needed.

Materials

  • Thirteen modules of instruction narrated by the SEI instructor
  • Topic quizzes to confirm understanding
  • Optional exercises with solution guidance
  • References and additional resources related to the subject matter
  • Concluding self-assessment
  • Downloadable copy of the course presentation slides

This course is presented in the form of narrated instructional pages. Self-assessments following each topic presented assist with thorough comprehension of the subject matter. A final, comprehensive assessment helps the learner to identify areas that require further study.

Prerequisites

Before registering for this course, participants must

  • have experience in designing and developing software-intensive systems
  • understand the basic concepts of software architecture. If desired, they can gain this understanding by completing the Software Architecture: Principles and Practices course, which is available as instructor-led classroom training and as eLearning

Before beginning this course, the learner must acquire a copy of the text book: Documenting Software Architectures: Views and Beyond. The textbook can be purchased through the following link: http://www.mypearsonstore.com/bookstore/product.asp?isbn=0321552687.

To access the SEI Learning Portal, your computer must have the following:

  • For optimum viewing, we recommend using the following browsers: Chrome, Mozilla Firefox, Internet Explorer 8 or above, Safari 4 or above
  • These browsers are supported on the following operating systems: MS Windows 7 and above, OSX, most Linux distributions
  • Mobile Operating Systems: iOS default browsers versions 6 and 7; Android versions higher than 4.2

This is an eLearning course.

Register Now

Course Fees [USD]

  • eLearning: $500.00

Schedule

If you wish to purchase this course for a group of learners, please email course-info@sei.cmu.edu or telephone at +1 412-268-7622 for group rate details.




Course Questions?

Email: course-info@sei.cmu.edu
Phone: 412-268-7388
FAX: 412-268-7401

Related Courses

  • Software Architecture: Principles and Practices - eLearning

    ONLINE

    Although the term software architecture is used frequently in today's software industry, its meaning is not universally understood. What is software architecture? How do you use software architectures in practice? What does a software architect do for an organization? What value does software architecture provide? This course introduces the...

    Learn More
  • ATAM Evaluator Training

    2 - Day Course

    Most complex software systems must be modifiable and perform well. They might also need to be secure, interoperable, portable, and reliable. But What precisely do quality attributes such as modifiability, security, performance, and reliability mean? Can a system be analyzed to determine whether it has certain desired qualities? How soon can such...

    Learn More
  • Software Architecture Design and Analysis

    2 - Day Course

    A system's software architecture is widely regarded as one of the most important software artifacts. Software professionals routinely make decisions that impact that architecture, yet many times that impact is not fully considered or well understood. Which design decisions will lead to a software architecture that successfully addresses the...

    Learn More
  • Software Architecture: Principles and Practices

    2 - Day Course

    Although the term software architecture is used frequently in today's software industry, its meaning is not universally understood. What is software architecture? How do you use software architectures in practice? What does a software architect do for an organization? What value does software architecture provide? This course introduces the...

    Learn More
  • Software Product Lines

    2 - Day Course

    A software product line is a set of software-reliant systems that share a common, managed set of features satisfying a particular market or mission area, and are built from a common set of core assets in a prescribed way. Producing a set of related products as a product line has allowed organizations to achieve increased quality and...

    Learn More

Training courses provided by the SEI are not academic courses for academic credit toward a degree. Any certificates provided are evidence of the completion of the courses and are not official academic credentials. For more information about SEI training courses, see Registration Terms and Conditions and Confidentiality of Course Records.