词条 | Architecturally significant requirements |
释义 |
Architecturally significant requirements are those requirements that have a measurable effect on a computer system’s architecture.[1] This can comprise both software and hardware requirements. They are a subset of requirements, the subset that affects the architecture of a system in measurably identifiable ways. Relation to non-functional requirements and quality attributesFor quite a long time,{{vague|date=October 2018}} architecturally significant requirements were not recognized as an important notion. When talking about architecture, non-functional requirements or quality attributes is often used.[2] However, recent empirical studies show that, for a software system, not all non-functional requirements affect its architecture, and requirements that are not non-functional requirements can also affect its architecture.[1][3] So, architecturally significant requirements is a valuable notion that is suggested to use when talking about requirements in relation to architecture.[3] CharacteristicsArchitecturally significant requirements can be characterized from the following aspects.[1] Descriptive characteristicsArchitecturally significant requirements are often hard to define and articulate, tend to be expressed vaguely, tend to be initially neglected, tend to be hidden within other requirements, and are subjective, variable, and situational. Other requirements could also demonstrate these descriptive characteristics. However, architecturally significant requirements’ significance made these manifestations unique and challenging. IndicatorsA requirement that has wide effect, targets trade-off points, is strict (constraining, limiting, non-negotiable), assumption breaking, or difficult to achieve is likely to be architecturally significant. Indicators for architectural significance that have been reported in the literature include:
The OpenUP[4] and Peter Eeles (IBM) discusses additional criteria for architectural significance in several articles and presentations[5] HeuristicsWhen a requirement specifies a software system’s quality attributes, refers to a software system’s core features, impose constraints on a software system, defines the environment in which the software system will run, it is likely to be architecturally significant. See discussion of design vs. architecture under software architecture for additional criteria of architectural significance. ElicitationLike all non-functional requirements and quality attribute[6] requirements, architecturally significant requirements should be specified in a SMART way. Quality attribute scenarios[2] are one way to achieve the S(specific) and the M(easured) criteria in SMART. The SEI{{clarify|What does SEI mean? What is it?|date=October 2018}} recommends Quality Attribute Workshops for this effort.[7] It has been suggested to keep architecture analysis and design lightweight and flexible; quality attribute trees for certain application genres and technology domains can support such approaches.[8] It is important to communicate the elicited architecturally significant requirements, and any other architectural artifacts, in a notation and language that is comprehensible for the target audience (hear: business stakeholders).[9] ImpactArchitecturally significant requirements are used in software design to drive and justify architectural decisions; if not satisfied properly, they contribute to the accumulation of technical debt. For instance, failure to meet security and compliance requirements complicates the system and process assurance audits and increases the risk of audit findings.[10] Exemplary advice on how to address system quality attributes (including architecturally significant requirements) is available in the literature.[11][12] See also
References1. ^1 2 {{Cite journal |doi = 10.1109/MS.2012.174|url = http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6365165|title = Characterizing Architecturally Significant Requirements|journal = IEEE Software|volume = 30|issue = 2|pages = 38–45|year = 2013|last1 = Chen|first1 = Lianping|last2 = Ali Babar|first2 = Muhammad|last3 = Nuseibeh|first3 = Bashar}} 2. ^1 {{cite book |last=Bass |first=Len |last2=Clements |first2=Paul |date=2003 |title=Software Architecture in Practice|publisher= Addison Wesley |isbn=978-0321154958}} 3. ^1 {{cite conference |url=http://www4.in.tum.de/~vogelsan/publications/ICSE16.pdf|title=Are "Non-functional" Requirements really Non-functional? - An Investigation of Non-functional Requirements in Practice|first=Jonas |last=Eckhardt |first2=Andreas|last2=Vogelsang |first3=Daniel|last3=Fernández |date=2016 |conference=The 38th International Conference on Software Engineering |conferenceurl=http://2016.icse.cs.txstate.edu/ |publisher=Association for Computing Machinery}} 4. ^http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/concepts/arch_significant_requirements_1EE5D757.html 5. ^http://www.architecting.co.uk/presentations/Architecting%20Large-Scale%20Systems.pdf 6. ^http://www.sei.cmu.edu/reports/95tr021.pdf 7. ^http://www.sei.cmu.edu/architecture/tools/establish/qaw.cfm 8. ^{{Cite journal | url = http://ieeexplore.ieee.org/document/7093052 | doi=10.1109/MS.2015.65 | title = Lightweight and Flexible: Emerging Trends in Software Architecture from the SATURN Conferences | journal = IEEE Software | volume = 32 | issue = 3 | pages = 7–11 | year = 2015 | last1 = Keeling| first1 = Michael}} 9. ^{{Cite journal | url = http://ieeexplore.ieee.org/document/7458757/?arnumber=7458757 | doi=10.1109/MS.2016.67 | title = Why They Just Don't Get It: Communicating about Architecture with Business Stakeholders | journal = IEEE Software | volume = 33 | issue = 3 | pages = 13–19 | year = 2016 | last1 = Schulenklopper | first1 = Jochem}} 10. ^K. Julisch et al., Compliance by design - Bridging the chasm between auditors and IT architects Computers & Security 30(6-7): 410-426 (2011) 11. ^https://msdn.microsoft.com/en-us/library/bb402962.aspx 12. ^A. Rotem-Gal-Oz, SOA Patterns, Manning, 2012. 1 : Software architecture |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。