System Architecture is the conceptual model that defines the structure, behavior and specific operation, whether automated, operated by humans, or some combination, of a system.

An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structure of the system which comprises system components, the externally visible properties of those components, the relationships (e.g. the behavior) between them, and provides a plan from which products can be procured, and systems developed, that will work together to implement the overall system.

Elements of System Architecture

System Requirements (AKA Specifications)

This is a detailed accounting, organized by logical function, of each and every individual specific task that all components of the system, whether operated by humans or operated by software, must perform.

Use Case Diagrams

These are detailed visual diagrams of how human users of a system will accomplish specific tasks, which involve a decision making process. Tasks are outlined as starting at point A and ending up at point B (being the final output). The use case diagram outlines in a clear linear progression, all of the tasks the user must accomplish to get from point A to point B, and what the final output looks like.

System Process Flow Diagrams

Similar to a use case diagram in overall construct, system process flow diagrams are detailed visual diagrams of how computer systems will accomplish specific tasks, which involve automated decision making processes and the integration of multiple disparate systems. System processes are outlined as starting at point A and ending up at point B (being the final output). These diagrams outline a clear progression, though a progression of data between automated systems and not the progression of a human user. In many cases, a human user may initiate a system process (initiate point A) but do not directly interact with the process once it has been set in motion by the system.

Wireframes

Wireframes outline in most basic structure, the organization of information on a screen with the specific purpose of outlining how a human user will experience interacting with a system. Wireframes are used for Websites, kiosks, interactive CD-ROMs, Web applications, software applications and mobile applications. They typically consist of black and white boxes with labels and arrows that describe what kinds of functionalities will reside on a user interface and how that user will interact with them.