Software Architecture & Modeling Methods¶
← Back to Domain-Specific Families
Abstractions about methods and metrics for designing, modeling, and measuring software systems, including architectural description frameworks (4+1 architectural view model, metamodeling, structured analysis), complexity and size metrics (cyclomatic complexity, function point, Halstead complexity measures), and design patterns or principles (identity map pattern, service autonomy principle, unidirectional data flow).
23 abstractions in this family — domain-specific abstractions that sit near one another in structural-signature space (k-means over structural-signature embeddings). Each is shown with its short description.
- 4+1 architectural view model — A software-architecture description framework organizing one system into logical, development, process and physical views tied together by representative scenarios.
- Actor (UML) — A modeled role played by an external entity while interacting with the subject of a UML use-case model.
- API management — The governed lifecycle of publishing, securing, mediating, documenting, observing, versioning, and retiring application-programming interfaces for providers and consumers.
- Architecture astronaut — A software-design anti-pattern in which an architect pursues increasingly abstract, universal frameworks while losing contact with concrete requirements, implementation constraints, users and executable feedback.
- Control-flow diagram — A diagram that represents operations or activities and the conditional, repetitive, and sequential control paths connecting them.
- Cyclomatic complexity — The cycle rank of a program's control-flow graph, interpreted as the number of linearly independent execution paths.
- Decision table — A tabular rule representation enumerating combinations of conditions and the actions prescribed for each combination.
- Design predicates — A software-integration testing model that classifies inter-unit call relationships and assigns complexity increments used to bound independent integration paths.
- Domain application protocol — A domain-specific hypermedia interaction contract that narrows a general application protocol into the resources, link relations and state transitions of one distributed business process.
- Function point — A standardized unit estimating software functional size from user-visible inputs, outputs, inquiries, data groups and interfaces.
- Grammar-oriented programming — A software-development approach that makes a domain grammar the primary executable model for a domain-specific language and its processing architecture.
- Halstead complexity measures — A family of static software metrics derived from counts of distinct and total operators and operands.
- Identity map pattern — A unit-of-work cache that guarantees one in-memory object instance per persistent database identity within a declared context.
- Metamodeling — The construction and use of a model whose subject matter is a class of models, specifying their admissible elements, relations, constraints, semantics, and conformance rules.
- Method stub — A deliberately incomplete method implementation that preserves a callable interface and supplies placeholder behavior until the real implementation exists.
- Modular programming — A programming paradigm that decomposes software into cohesive units with explicit interfaces and limited dependence on one another.
- Object-modeling technique — An early object-oriented software-analysis and design method combining object, dynamic, and functional models across development stages.
- Operational transformation — A concurrency-control technique that transforms editing operations against concurrent operations so replicas converge while preserving user intentions.
- Service autonomy principle — A service-oriented design principle that gives each service maximal practical control over its logic, runtime resources, data, deployment, and change cycle.
- Stereotype (UML) — A UML profile mechanism that specializes an existing metaclass with domain-specific semantics, tagged values and notation.
- Structured analysis — A systems-analysis method modeling required data transformations and control responses through hierarchical data-flow and related structured diagrams.
- Unidirectional data flow — A software-state architecture in which events trigger state changes in one direction and views derive from the resulting immutable or controlled state rather than mutating it bidirectionally.
- Virtual finite-state machine — An executable software specification that models a control system through named input conditions, virtual states, transitions and output actions.