Knowra Software design Software design Software design defines a system’s structure, components, interfaces, and behavior so they meet specified requirements. It turns requirements into a plan that guides implementation and evolution.
Software architecture : The high-level organization of a software system, including its components, relationships, and governing principles. Architecture captures the system-wide structural decisions made during design.
Software requirements specification : A document that states a software system’s required functions, constraints, and quality attributes. Design translates these stated needs into a system structure and behavior.
Model–view–controller : A software architectural pattern that separates an application’s data, presentation, and control logic. MVC is a concrete way to divide responsibilities in interactive applications.
Software engineering : The disciplined application of engineering methods to software development, operation, and maintenance. Software design is one activity within the broader engineering lifecycle.
Modularity : The division of a system into components with bounded responsibilities and defined connections. Modularity limits how much a change in one part affects other parts.
Use case : A description of interactions between an actor and a system to achieve a goal. Use cases expose interaction sequences that the design must support.
Microservices : An architectural style that organizes an application as independently deployable services communicating over a network. Choosing service boundaries is a major design decision with operational consequences.
Software development : The end-to-end work of creating, delivering, and maintaining software. Design informs development but does not include all implementation and maintenance work.
Abstraction : A way of representing a system while suppressing details irrelevant to a particular purpose. Abstraction lets designers reason about behavior without committing to every implementation detail.
Unified Modeling Language : A standardized visual language for specifying, visualizing, and documenting software systems. UML diagrams can express structures and interactions before implementation.
Show all 21