1
play

1 Where does architecture come from? What order? Use an - PDF document

Architecture 2 1 Announcements What is Architecture? Final project hand-in and documentation Big picture Structure or structures that support the system Early design decisions Architecture is the design decisions you


  1. Architecture 2 1 Announcements What is Architecture? ❚ Final project hand-in and documentation ❚ Big picture ❚ Structure or structures that support the system ❚ Early design decisions ❙ “ Architecture is the design decisions you have to make early in the project. ” ❙ Expensive to change CS361 08-3 CS361 08-4 Why is architecture What is Architecture? important? ❚ Key to meeting non-functional ❚ High-level design (components = requirements modules) ❚ Provides a common view for all ❚ Pervasive patterns (components = lower stakeholders level objects) ❚ Divide the system into modules ❙ Divide the developers into teams ❙ Subcontract work to other groups ❙ Find packages to reuse CS361 08-5 CS361 08-6 1

  2. Where does architecture come from? What order? ❚ Use an architecture you’ve seen before ❚ Use cases first? ❙ great artists often steal!! ❚ Processes first? ❚ Invent one ❚ Data model first? ❚ Let it emerge ❚ GUI first? ❚ Depends on architectural style CS361 08-7 CS361 08-8 Architecture in RUP Architecture in XP ❚ No architect ❚ “ Elaboration phase ” develops architecture, ❚ “ System metaphor ” is the architecture expressed as a skeleton system ❚ Infrastructure emerges, it isn ’ t planned in ❚ Architect advance ❙ chooses architectural style ❚ Good developers will convince customer to ❙ prioritizes use cases ❙ performs “ architectural analysis ” to decompose pick important user stories first system into components ❙ reviews work of component engineers CS361 08-9 CS361 08-10 Original Amazon.com Picking an architecture architecture ❚ Many standard architectures ❚ Each has strengths and weaknesses WebBrowser WebServer ❚ Each solves some problems and creates cgi, servlet, ASP HTTP and HTML others Logic Database CS361 08-11 CS361 08-12 2

  3. Facts about Web architecture One solution ❚ HTTP protocol is stateless WebBrowser WebServer ❙ state encoded in URLs and cookies JSP, ASP ❚ Web server should be stateless HTTP and HTML Presentation ❙ All state is in database EJB, .NET ❚ Separate “ presentation ” from logic and Logic database design Database CS361 08-13 CS361 08-14 Another solution What they have in common HTTP and HTML ❚ Use database for integration ❚ Use database for synchronization WebBrowser WebServer ❚ Database is usually the bottleneck cgi, servlet, UI Templates ASP Framework Logic Database CS361 08-15 CS361 08-16 Service-oriented architecture Organizing project: people HTTP and HTML ❚ Database designer ❚ UI designer WebBrowser WebServer ❚ programmers Application Service 1 Service 2 Service 3 Service 4 Service 5 CS361 08-17 CS361 08-18 3

  4. Organizing project: process Trade-offs ❚ Database design is key ❚ How do you pick an architectural style? ❙ hard to change ❚ How do you make design choices? ❙ everything else depends on it ❚ What is important? ❚ GUI tells what data is needed ❙ Flexibility and ease of change ❙ build prototype early ❙ Efficiency ❙ redo at the end after feedback ❙ Reliability ❙ relatively easy to change CS361 08-19 CS361 08-20 What is an architect? How it is really done ❚ Responsible for choosing architecture ❚ Experts pick a way that seems best and start to use it. ❚ Responsible for communicating with ❙ Developers ❚ If problems arise, they reconsider. ❙ Clients ❚ Responsible for making trade-offs about ❚ See http://www.fastcompany.com/online/ features 38/klein.html ❚ Chief builder - “ Architect also implements ” ❚ Blink: the power of thinking without ❚ Leader of developers thinking (Malcolm Gladwell) CS361 08-21 CS361 08-22 Summary: Why architecture? What they don ’ t tell you ❚ A common vision of the design that ❚ Good architecture requires experience enables people to talk to each other. ❚ There is more to being an architect than ❚ The key design decisions of the system. picking the architecture ❙ “ chief builder ” ❚ Simplified version of design, ideal for teaching new developers. ❙ create conceptual integrity CS361 08-23 CS361 08-24 4

  5. Next time: read on Wikipedia Quality Attributes ❚ Software Architecture ❚ Desired properties of entire system, not ❚ Architecture frameworks particular features ❙ DODAF, TOGAF, Federal Enterprise Architecture ❚ Non-functional requirements ❚ Architectural styles ❙ Client-server, database-centric *, service-oriented, three-tier ❚ Usability, maintainability, flexibility, ❚ Software Architecture Patterns understandability, reliability, efficiency, ... ❚ Architecture tradeoff analysis method * ❚ Software architect * CS361 08-25 CS361 08-26 ATAM ❚ Architectural Trade-off Analysis Method ❙ Collect scenarios (architectural use cases) ❙ Collect requirements, constraints, and environment descriptions ❙ Describe candidate architectural styles ❙ Evaluate quality attributes ❙ Identify sensitivity of quality attributes ❙ Critique candidate architectures CS361 08-27 5

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend