Software Architecture

Software Architecture

Software Architecture 2016 Software Architecture Software Architecture Thinking §.§. The quality and longevity of a software- reliant system is largely determined by Architecture is of its architecture. enduring §.§. Recent US studies identify architectural importance issues as a systemic cause of software because it is the right abstraction problems in government systems (OSD, for performing NASA, NDIA, National Research ongoing analyses Council). throughout a ’ system s §.§. High-level system design providing system-level lifetime. structural abstractions and quality attributes, which help in managing complexity §.§. Makes engineering tradeoffs explicit 1 Quality Attributes Central Role of Architecture Quality attributes IMPLEMENT AND EVOLVE §.§. properties of work products or goods by which stakeholders judge their quality §.§. stem from business and mission goals. DESIGN IMPLEMENT §.§. need to be characterized in a system-specific way BUSINESS AND Quality attributes include MISSION GOALS ARCHITECTURE SYSTEM §.§. Performance §.§. Availability SATISFY CONFORM §.§. Interoperability §.§. Modifiability §.§. Usability §.§. Security SATISFY §.§. Etc. One View: Architecture-Centric Engineering Advancements Over the Years §.§. Architectural patterns §.§. Component-based approaches §.§. Company specific product lines §.§. Model-based approaches §.§. Frameworks and platforms §.§. Standard interfaces 2 What HAS Changed? Technology Trends §.§. Increased connectivity §.§. Scale and complexity − decentralization and distribution https://www.flickr.com/photos/simononly/ − “big data” https://www.flickr.com/photos/c − increased operational tempo − inter-reliant ecosystems − vulnerability − collective action §.§. Disruptive and emerging technologies 10 Software Development Trends Technical Challenges §.§. Application frameworks §.§. Open source §.§. Cloud strategies §.§. NoSQL §.§. Machine Learning §.§. MDD §.§. Incremental approaches §.§. Dashboards §.§. Distributed development environments §.§. DevOps 3 The Intersection and Architecture State of the Practice At the intersections there are difficult Focus is on tradeoffs to be made §.§. culture and teaming in structure, process, §.§. time, and cost. process and practices − value stream mapping − continuous delivery practices Architecture is the Lean thinking enabler for tradeoff − analyses. §.§. tooling, automation, and measurement − tooling to automate repetitive tasks − static analysis − automation for monitoring architectural health − performance dashboards Architecture and Scale Two Perspectives of Software Architecture in Cloud Computing n §.§. Cloud strategies n §.§. Cloud strategies for mobility n §.§. Big data Two potentially different sets of = business “Scale Changes Everything” goals and quality attributes 4 Mobile Device Trends Architecture Trends: Cyber-Foraging §.§. Edge Computing §.§. Using external resource-rich surrogates to augment the capabilities of resource-limited devices − code/computation offload − data staging §.§. Industry is starting to build on this concept to Nokia Siemens Networks improve mobile user experience and decrease Liquid Applications network traffic. §.§. Our research: cloudlet-based cyber- foraging Cisco Systems Fog Computing − brings the cloud closer to the user Big Data Systems Big Data – State of the Practice “The problem is not solved” §.§. Two very distinct but related technological thrusts Building scalable, assured big data systems is hard. − Data analytics − Infrastructure §.§. Analytics is typically a massive data reduction exercise – “data to decisions.” Building scalable, assured big data systems is expensive. §.§. Computation infrastructure necessary to ensure the analytics are − fast − scalable − secure easy to use − 40 5 Big Data Survey Architecture and Big Data §.§. System costs must grow more slowly than system capacity. §.§. Approaches − scalable software architectures − scalable software technologies − scalable execution platforms §.§. Scalability reduces as implementation complexity grows. §.§. NoSQL models are not created equal. §.§. You can’t manage what you http://visual.ly/cios-big-data don’t monitor. Architecture-Centric Summary Quality Attribute Analyses Single Annotated Architecture Model Addresses Impact Across Operational Quality Attributes n §.§. Software architecture Architecture Model principles and their Safety Reliability Security • MTBF • Intrusion importance persist. • FMEA • Integrity n §.§. Change brings new • Hazard Analysis • Confidentiality challenges. Auto-generated n §.§. Software architecture analytical models practices and research are Resource Data Quality key to meeting these Consumption • Data precision/accuracy Real-time Performance challenges. • Bandwidth • • Temporal correctness Execution time/deadline n §.§. Much remains to be • CPU time • Confidence • Deadlock/starvation done. • Power consumption • Latency 6 What to do with the data SW Stack: Architecture,Standards IoT Landscape EVERY Where 7 Class Book & References Other Referenced Sites n Classics: n Primary References: q Mary Shaw & David Garlan, Software Architecture: Perspectives on an Emerging q http://portal.acm.org/dl.cfm?coll=portal&dl=ACM&CFID=3943453&CFTOKEN=26992569 Discipline;, Prentice Hall, 1996. n (ACM Copyrighted Papers) q http://ieeexplore.ieee.org/Xplore/DynWel.jsp q Many IEEE, ACM, ELSEVIER, and Open Source papers n (IEEE Copyrighted papers) n Other references actively used: q http://www.sciencedirect.com/ q Evaluating Software Architectures: Methods & Case Studies, Addison-Wesley, ISBN n (Elsevier Copyrighted material) 020170482X. q http://citeseer.nj.nec.com/cs (Lots of open source materials) q Design & Use of Software Architectures: Adopting and Evolving a Product Line Approach: q http://www.sei.cmu.edu/str/ (Lots of open source materials) ISBN: 0201674947 q http://www-2.cs.cmu.edu/~able/publications/ (Lots of open source materials) q SEI Selected Papers: http://www.sei.cmu.edu/architecture/ q http://www.sei.cmu.edu/staff/rkazman/SE-papers.html (Lots of open source materials) q USC Selected Papers: http://sunset.usc.edu q http://www.cs.ukc.ac.uk/people/staff/cr3/bib/bookshelf/Modules.html n q UCI Selected Papers: http://www.ics.uci.edu (A ton of open source materials) q http://www2.umassd.edu/SECenter/SAResources.html (Links to other sites) n Other References & Standards discussed: q http://www.cgl.uwaterloo.ca/~rnkazman/SA-sites.html (Links to other sites) q IEEE 1471, ISO RM-ODP q http://www-ksl-svc.stanford.edu:5915/ (Ontologies) q n http://www.dstc.edu.au/Research/Projects/ODP/ref_model.html http://www.sei.cmu.edu/architecture/adl.html (Architecture Definition Languages) q IEEE 1220, EIA-632, EIA-731, DO-178B, J-STD-016-1995 29 30 Other Referenced Sites Other Referenced Sites n Secondary References Used: n Tools: q http://www-2.cs.cmu.edu/afs/cs/academic/class/17655-s02/www/ q http://www.isr.uci.edu/projects/xarchuci/ (xADL 2.0 ) (Garlan’s Class on SA) q http://www.isr.uci.edu/projects/xarchuci/tools-overview.html q http://www.softwaresystems.org/architecture.html q http://www.isr.uci.edu/projects/archstudio/setup-rundevelop.html (xADL) q http://www-old.ics.uci.edu/pub/arch/ q http://www.isr.uci.edu/projects/archstudio/ q http://cora.whizbang.com/ q http://www.kc.com/products/iuml/lite.html (xUml) q http://selab.korea.ac.kr/selab/resources/se/architecture.htm#Web q http://www-2.cs.cmu.edu/~able/software.html (ACME SW) q http://www.cebase.org/ q http://www-2.cs.cmu.edu/~Compose/html/tools.html q http://www.afm.sbu.ac.uk/ q http://pavg.stanford.edu/rapide/ (RAPIDE) q http://www.wwisa.org q http://www.afm.sbu.ac.uk/z/ (Z) q http://www.dacs.dtic.mil/databases/url/key.hts?keycode=71:2024&islowerlevel=1 q http://www.cs.colorado.edu/serl/arch/Papers.html q http://www.cetus-links.org/ 31 32 8 Further Reading Further Reading n Evaluating Software Architectures: Methods and Case n Design and Use of Software Architectures : Adopting Studies, P. Clements, R. Kazman and M. Klein, 2001. and Evolving a Product-Line Approach, Jan Bosch, n Documenting Software Architectures: Views and 2000 Beyond, Clements, Paul, Felix Bachmann, Len Bass, n Applied Software Architecture, Hofmeister Christine, David Garlan, James Ivers, Reed Little, Robert Nord and 1999 Judith Stafford, 2002. n Software Architecture: Organizational Principles and n The Art of Software Architecture: Design Methods and Patterns, Dikel, David, D. Kane and J. Wilson, 2001. Techniques, S. T. Albin, 2003 n Large-Scale Software Architecture : A Practical Guide n Software Architecture in Practice, L. Bass, P. using UML, Jeff Garland and Richard Anthony, 2002. Clements and R. Kazman, 2003. n Designing Software Product Lines wtih UML: From Use Cases to Pattern Based Software Architectures, H, Gomma, 2005. n Essential Software Architecture, Ian Gorton, 2006. 33 34 Further Reading Contents Topic 0 - Overview Topic 1 - History and Definition of Software Architecture Topic 2 - Modern Software Architecture Topic 3 - Software Architecture and the Built Environment n Topic 4 - Masterplans and Piecemeal Growth Software Architecture: Foundations, Theory, and Topic 5 - Architecture Description Languages Practice, Richard N. Taylor, Nenad Medvidovic and Topic 6 - Architectural Styles Topic 7 - Architecture Patterns Eric Dashofy Topic 8 - Domain Specific Software Architecture Topic 9 - Discipline of Software Architecture n Essential Software Architecture, Ian Gorton, 2006. Topic 10 - Software Architecture and the UML Topic 11 - Architecture and Component Based Development n 97 Things Every

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    258 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us