The Importance Of Knowledge In Software Architecture Design

914 Words4 Pages
2.4 Knowledge in Software architecture Design Architectural procedural knowledge is on how to do things, how to make decisions, how to diagnose, and how to prescribe. The other type of knowledge, architectural declarative knowledge, denotes descriptive knowledge or knowing "what" as opposed to knowing "how" (Dalkir, 2011). Knowledge in software architecture design is related to available and useful information that contributes to better understanding and efficient design of software. The following describes the main knowledge management approaches applied to software architecture design. 2.4.1 Design Patterns as Knowledge Since the 1990s, patterns have been used as a way to capture and reuse knowledge of software architectures (Farenhorst…show more content…
This definition allows us to characterize the knowledge as the information that should be provided for responsibles of decision-making processes and take advantage of having this information. In this way, knowledge is "reasoning about the information to actively guide task execution, problem solving and decision making in order to perform, learn and teach" (Beckman, 1997a). In software design, designer’s reasoning and its actions are an important generator of knowledge because allows us to know the reasons for the designer to choose a particular solution taking into account some design issues. This process of rationale management should be a fundamental part of the design process (Bassetal.,2006). This initiative must take into account the documentation of software systems does not describe itself the concerns and motivations which gave rise to the current design such as discussions, dialogues and agreements that structuring it, justifications of its particular characteristics, why this design had not adopted other characteristics and tradeoffs that were considered (Carroll and Rosson,…show more content…
This architecture design rationale includes the knowledge and the reasons that justify the resultant design, allows understanding how the design meets the functional requirements and the quality attributes, why several design choices had been selected over other alternatives and what behavior is expected on several environmental conditions (Lee,

More about The Importance Of Knowledge In Software Architecture Design

Open Document