Software architecture: Difference between revisions

Content deleted Content added
FritzSolms (talk | contribs)
Added a paragraph juxtaposing software architecture design and software application design in order to more clearly communicate the concept of software architecture.
FritzSolms (talk | contribs)
Improved explanation of software architecture design versus software application design and removed overlap between this article and the referenced article on non-functional requirements.
Line 5:
The ''architecture'' of a software system is a [[metaphor]], analogous to the [[architecture]] of a building.<ref name="PERRY1992">{{Cite journal | last1 = Perry | first1 = D. E. | last2 = Wolf | first2 = A. L. | author-link2 = Alexander L. Wolf| doi = 10.1145/141874.141884 | title = Foundations for the study of software architecture | journal = [[ACM SIGSOFT Software Engineering Notes]]| volume = 17 | issue = 4 | pages = 40 | year = 1992 | url = http://users.ece.utexas.edu/~perry/work/papers/swa-sen.pdf| citeseerx = 10.1.1.40.5174 | s2cid = 628695 }}</ref> It functions as the blueprints for the system and the development project, which [[project management]] can later use to extrapolate the tasks necessary to be executed by the teams and people involved.
 
Software architecture design is commonly juxtaposed with [[software application design]]. Whilst application design focuses on the design of the processes and data supporting the required functionality (the services offered by the system), software architecture design focuses on addressingdesigning [[non-functionalthe requirement]]sinfrastructure likewithin [[scalability]]which application functionality can be deployed and [[elasticityexecuted (systemsuch resource)]],that [[robustness]],the [[security]],functionality [[auditability]],is provided in a way which meets the system's [[integrability]],non-functional [[maintainabilityrequirement]] and so ons.
 
Software architecture is about making fundamental structural choices that are costly to change once implemented. Software architecture choices include specific structural options from possibilities in [[Software design|the design of the software]].