Unformatted text preview:

CS427: Software Engineering IPotential changesSome questions and answersTopicsWaterfall modelArchitectureImportance of architectureHow to develop architecture?What order?Architecture in RUPWorkflow for capturing requirementsWorkflow for analysisArchitecture in XPPicking an architectureArchitecture of Amazon.comFacts about Web architectureOne solutionAnother solutionOrganizing project: peopleOrganizing project: processSecond example architectureCard game architectureSlide 23Slide 24Your example architectureTrade-offsQuality attributesATAMSlide 29What is an architect?Why architecture?What they don’t tell you?Next: UML introduction1CS427:Software Engineering IDarko Marinov(slides from Ralph Johnson)CS427 9-2Potential changesMidterm exam likely to be in the eveningLikely time: 7pm on Oct 10Hard to reserve rooms for class timeCan take make up exam at class time“Project fair” likely to be moved earlierDepends on how you form groupsWiki will list projects (not just proposals)CS427 9-3Some questions and answersWhen will HW1 be graded?By Oct 6When will proposals be eliminated?By Sep 29, start forming 8-student groupsGroup with on- and off-campus students?Possible, but not advisableWhat will be on midterm, any study guide?E.g., http://brain.cs.uiuc.edu:8080/SEcourse/Exams+Fall+06CS427 9-4TopicsCoveredProject initiationProject planningRequirementsToday: ArchitectureNext week: More on designUML: a lot of new, more technical readingCS427 9-5Waterfall modelME: Name the phases (what if more or less?)CS427 9-6ArchitectureHigh-level design (components = modules)Pervasive patterns (components = lower level objects)Early design decisionsHigh-levelPervasiveExpensive to changeCS427 9-7Importance of architectureHelps find requirementsKey to meeting non-functional requirements (ME: What are those?)Divide the system into modulesDivide the developers into teamsSubcontract work to other groupsFind packages to reuseCS427 9-8How to develop architecture?Use an architecture you’ve seen beforeInvent oneLet it emergeME: Which process favors which way?CS427 9-9What order?Use cases first?Processes first? Data model first?GUI first?Depends on architectural styleCS427 9-10Architecture in RUPUse casesAnalysis modelDesign modelArchitecturePreliminary It. Iter. 1 Iter. 2 Iter. 3 Iter. 4 Iter. 5 Iter. 6ME: Name the phases in RUPCS427 9-11Workflow for capturing requirementsS y s t e m A n a l y s tA r c h i t e c tU s e - C a s e s p e c i f i e rU I D e s i g n e rF i n d A c t o r s a n dU s e C a s e sD e s c r i b e U s eC a s e i n D e t a i lP r i o r i t i z eU s e C a s e sP r o t o t y p e U . I .S t r u c t u r e t h eU s e C a s e M o d e lCS427 9-12Workflow for analysisA r c h i t e c tU s e - C a s e E n g i n e e rC o m p o n e n t E n g i n e e rA r c h i t e c t u r a lA n a l y s i sA n a l y z e a c l a s sA n a l y z e a U s eC a s eA n a l y z e ap a c k a g eCS427 9-13Architecture in XPNo architect“System metaphor” is the architectureInfrastructure emerges, not planned in advanceGood developers will convince customer to pick important user stories firstCS427 9-14Picking an architectureMany standard architecturesEach has strengths and weaknessesEach solves some problems and creates othersCS427 9-15Architecture of Amazon.comDatabaseWebBrowserLogicWebServerHTTP and HTMLcgi, servlet,ASPCS427 9-16Facts about Web architectureHTTP protocol is statelessstate encoded in URLs and cookiesWeb server should be statelessAll state is in databaseSeparate “presentation” from logic and database designCS427 9-17One solutionDatabaseWebBrowserPresentationWebServerHTTP and HTMLBeans, MTSLogicJSP, ASPCS427 9-18Another solutionDatabaseWebBrowserLogicWebServerHTTP and HTMLcgi, servlet,ASPUI TemplatesFrameworkCS427 9-19Organizing project: peopleDatabase designerUI designerProgrammersCS427 9-20Organizing project: processDatabase design is keyHard to changeEverything else depends on itGUI tells what data is neededBuild prototype earlyRedo at the end after feedbackRelatively easy to changeCS427 9-21Second example architectureOnline card gameJava clientServer used for finding people to form a gameOnce game starts, server not usedCS427 9-22Card game architectureClient Client Client ClientServerCS427 9-23Card game architectureUse server only to find other clients, but game is peer to peerMore scalableCan have problems with firewallsHarder to make secureAll communications goes through serverNot as scalableMore reliable, secureCS427 9-24Card game architecturePeer to peerRandom numbers, logic is in clientEach client broadcasts events that it generatesUsually only one client is able to generate events at any one timeServer Random numbers, logic is in serverCS427 9-25Your example architectureWhat two options you may consider?CS427 9-26Trade-offsHow do you pick an architectural style?How do you make design choices?What is important?Flexibility and ease of changeEfficiencyReliabilityCS427 9-27Quality attributesDesired properties of entire system, not particular featuresNon-functional requirementsUsability, maintainability, flexibility, understandability, reliability, efficiency, ...CS427 9-28ATAM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 architecturesCS427 9-29Trade-offsHow it is really doneExperts pick a way that seems best and start to use itIf problems arise, they reconsiderWant more reading?General reading on making (big) decisionshttp://www.fastcompany.com/online/38/klein.htmlCS427 9-30What is an architect?Responsible for choosing architectureResponsible for communicating with clientResponsible for making trade-offs about featuresChief builder - “Architect also implements”Leader of developersCS427 9-31Why architecture?A common vision of the design that enables people to talk to each otherThe key design decisions of the systemSimplified version of design, ideal for teaching new developersCS427 9-32What


View Full Document

U of I CS 427 - Software Engineering I

Download Software Engineering I
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Engineering I and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Engineering I 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?