Jump to content

User:Antonystang

From Wikipedia, the free encyclopedia

Architecture activities

[edit]

Len, Rod and Antony

Text below inserted by Antony Tang 21:46, 11 November 2012 (UTC)
File:SAArchitectureActivities.jpg
Three core activities of software architecting are depicted in the boxes.

There are many activities that a software architect performs. A software architect typically works with project managers, discusses architecturally significant requirements with stakeholders, designs a software architecture, evaluates a design, communicates with designers and stakeholders, documents the architectural design and more. [1] There are four core activities in software architecture design [2]. These core architecture activities are performed iteratively and at different stages of the initial software development life-cycle, as well as over the evolution of a system.

Architectural Analysis is the process of understanding the environment in which a proposed system or systems will operate and determining the requirements for the system. The input or requirements to the analysis activity can come from any number of stakeholders and include items such as:

  • what the system will do when operational (the functional requirements)
  • how well the system will perform runtime non functional requirements such as reliability, operability, performance efficiency, security, compatibility defined in ISO/IEC 25010:2011 standard [3]
  • development-time non functional requirements such as maintainability and transferability defined in ISO 25010:2011 standard [3]
  • business requirements and environmental contexts of a system that may change over time, examples are legal, social, financial, competitive, and technological [4]

Architectural synthesis or design is the process of creating an architecture. Given the requirements determined by the analysis, the current state of the design and the results of any evaluation activities, the design is created and improved. See [2] [5] for a discussion of various techniques for improving a current design.

Architecture Evaluation is the process of determining how well the current design or a portion of it satisfies the requirements derived during analysis. An evaluation can occur whenever an architect is considering a design decision, it can occur after some portion of the design has been completed, it can occur after the final design has been completed or it can occur after the system has been constructed. Some of the software architecture evaluation techniques are Architecture tradeoff analysis method and TARA [6] etc. Frameworks for comparing the techniques are discussed in frameworks such as SARA Report [7] and Architecture reviews: practice and experience [8].

Architecture Evolution is the process of maintaining and adapting an existing software architecture to cater for requirement and environmental changes. As software architecture provides a fundamental structure of a software system, its evolution and maintenance would necessarily impact on this fundamental structure. As such, architecture evolution is concerned with adding new functionality as well as maintaining existing functionality and system behaviour.

In order to carry out architecture activities, supporting architecture activities are essential (note: wiki page is under construction by Antony, see [http://en.wikipedia.org/wiki/User:Antonystang/sandbox). These supporting activities take place throughout the core software architecture activities. They are Knowledge Management and Communication, Design Reasoning and Decision Making, and Documentation.

References

[edit]
  1. ^ Kruchten, P. (2008). "What do software architects really do?". Journal of Systems and Software. 81 (12): 2413–2416. doi:10.1016/j.jss.2008.08.025.
  2. ^ a b Cite error: The named reference hofmeister07 was invoked but never defined (see the help page).
  3. ^ a b ISO/IEC (2011). "ISO/IEC 25010:2011 Systems and software engineering -- Systems and software Quality Requirements and Evaluation (SQuaRE) -- System and software quality models". Retrieved 2012-10-08.
  4. ^ Osterwalder and Pigneur (2004). "An Ontology for e-Business Models": 65–97. {{cite journal}}: Cite journal requires |journal= (help)CS1 maint: date and year (link)
  5. ^ Cite error: The named reference SAP2 was invoked but never defined (see the help page).
  6. ^ Woods, E. (2012). "Industrial architectural assessment using TARA". Journal of Systems and Software. 85 (9): 2034–2047. doi:10.1016/j.jss.2012.04.055.
  7. ^ Obbink, H.; Kruchten, P.; Kozaczynski, W.; Postema, H.; Ran, A.; Dominick, L.; Kazman, R.; Hilliard, R.; Tracz, W.; Kahane, E. (Feb 6, 2002). "Software Architecture Review and Assessment (SARA) Report" (PDF). Retrieved October 08, 2012. {{cite web}}: Check date values in: |accessdate= (help)
  8. ^ Maranzano, J. F.; Rozsypal, S. A.; Zimmerman, G. H.; Warnken, G. W.; Wirth, P. E.; Weiss, D. M. (2005). "Architecture Reviews: Practice and Experience". IEEE Software. 22 (2): 34. doi:10.1109/MS.2005.28.