Learn about complex systems, analysis of these systems, and complexity management.
- Motivate the need for system architecture by articulating the ideas of minimized rework and by offering examples of complexity in modern systems.
- Contrast several definitions of system architecture and construct a personal definition from your career examples.
- Differentiate systems thinking from other kinds of "thinking;" define a system, and articulate examples of things that are and are not systems. Apply system thinking to provide a perspective on a given project.
-Describe the architecture of systems and identify both architectural decisions and non-architectural decisions.
- Define and illustrate the system boundary and use it to identify system interfaces.
- Identify the constituent elements in architecture representations and place these in the context of the overall documentation of the system.
- Provide constructive criticism on the system architecture representations of others, including checking for completeness and consistency.
- Articulate more solution-neutral and less solution-neutral framings of a problem, and evaluate how solution-neutral to be for a given problem.
- Construct a design DSM, either by analyzing the design or by converting a graph of the system.
- Construct a process DSM and identify how it is different from a design DSM.
- Given a DSM, apply a sequencing algorithm to sort the components into modules or to sort tasks into groups.
- Describe rework and articulate the principles by which an analysis of change propagation could be conducted from a database of changes.
- Define the role of the architect and the stakeholders with whom the architect should work.
- Define the deliverables of the architect, with references to architectural frameworks and your career examples.