Sunday, July 11, 2010

What will you learn

This 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

Who should attend


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

Documenting Software Architectures

Documenting Software Architectures

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.

What will you learn


This course will help participants to

  • conduct a process definition project
  • gather information and model processes effectively
  • identify weaknesses in current processes and find/develop alternatives
  • specify improvements and present them to management

Who should attend


  • process action team (PAT) and/or engineering process group (e.g., EPG, SEPG) members
  • anyone involved in process definition in an organization

Defining Software Processes


This three-and-a-half-day course introduces those tasked with performing process definition in an organization to the basic skills and knowledge required to effectively document and define processes and to design improvements. These basic skills include practice working as a team; using processes, methods, and skills to understand, model, and document current processes; analyzing process deficiencies; and specifying needed process improvements. Defining processes is a key step to achieving maturity level 2 in CMMI as well as to becoming certified for ISO 9000 and 9001. This course is appropriate for all people in an organization seeking to document their organizations' processes and in particular for members of process action teams (PAT) and/or engineering process groups (e.g., EPG, SEPG).

What will you learn


After attending, program managers will be better equipped to

  • devise an action plan to deal with the range of activities affected by COTS
  • anticipate and plan for problems and risks that might otherwise catch managers unaware
  • include COTS-based systems when formulating acquisition strategies