Bài giảng Systems Analysis and Design - Chapter 6: Agile Modeling and Prototyping
Summary (Continued)
Core practices of the agile approach
Stages in the agile development process
User stories
Agile lessons
Scrum methodology
Dangers to adopting innovative approaches
52 trang |
Chia sẻ: vutrong32 | Lượt xem: 1082 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Systems Analysis and Design - Chapter 6: Agile Modeling and Prototyping, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Agile Modeling and PrototypingSystems Analysis and Design, 7eKendall & Kendall6© 2008 Pearson Prentice HallLearning ObjectivesUnderstand the roots of agile modeling in prototyping and the four main types of prototypingBe able to use prototyping for human information requirements gatheringUnderstand the concept of RAD for use in human information requirements gathering and interface designUnderstand agile modeling and the core practices that differentiate it from other development methodologiesLearn the importance of values critical to agile modelingUnderstand how to improve efficiency for users who are knowledge workers using either structured methods or agile modeling2Agile Modeling, but First PrototypingAgile modeling is a collection of innovative, user-centered approaches to systems developmentPrototyping is an information-gathering technique useful in seeking user reactions, suggestions, innovations, and revision plans3Major TopicsPrototypingRapid application development (RAD)Agile Modeling4PrototypingPatched-up Nonoperational First-of-a-seriesSelected features5Patched-Up PrototypeA system that works but is patched up or patched togetherA working model that has all the features but is inefficientUsers can interact with the systemRetrieval and storage of information may be inefficient6Nonoperational Scale ModelsA nonworking scale mode that is set up to test certain aspects of the design A nonworking scale model of an information system might be produced when the coding required by the application is too expensive to prototype but when a useful idea of the system can be gained through prototyping of the input and output only 7First-of-a-Series PrototypeCreating a pilotPrototype is completely operational Useful when many installations of the same information system are plannedA full-scale prototype is installed in one or two locations first, and if successful, duplicates are installed at all locations based on customer usage patterns and other key factors8Selected Features PrototypeBuilding an operational model that includes some, but not all, of the features that the final system will haveSome, but not all, essential features are includedBuilt in modulesPart of the actual system9Figure 6.1 Four kinds of prototypes (clockwise, starting from the upper left)10Prototyping as an Alternative to the Systems Life CycleTwo main problems with the SDLCExtended time required to go through the development life cycleUser requirements change over timeRather than using prototyping to replace the SDLC use prototyping as a part of the SDLC11Guidelines for Developing a Prototype Work in manageable modulesBuild the prototype rapidlyModify the prototype in successive iterationsStress the user interface12Disadvantages of PrototypingIt can be difficult to manage prototyping as a project in the larger systems effortUsers and analysts may adopt a prototype as a completed system13Advantages of PrototypingPotential for changing the system early in its developmentOpportunity to stop development on a system that is not workingPossibility of developing a system that more closely addresses users’ needs and expectations14Prototyping Using COTS SoftwareSometimes the quickest way to prototype is through the modular installation of COTS softwareSome COTS software is elaborate and expensive, but highly useful15Users’ Role in PrototypingHonest involvementExperimenting with the prototypeGiving open reactions to the prototypeSuggesting additions to or deletions from the prototype16RAD (Rapid Application Development)An object-oriented approach to systems development that includes a method of development as well as software tools17RAD PhasesRequirements planningRAD design workshopImplementation18Figure 6.4 The RAD design workshop is the heart of the interactive development process19Requirements Planning PhaseUsers and analysts meet to identify objectives of the application or systemOrientation is toward solving business problems20RAD Design WorkshopDesign and refine phaseUse group decision support systems room if availableUsers respond to actual working prototypesAnalysts refine designed modules based on user responses21Implementation PhaseAs the systems are built and refined, the new systems or part of systems are tested and then introduced to the organizationWhen creating new systems, there is no need to run old systems in parallel22Martin’s Pioneering Approaches to RADRequirements planningUser designConstructionCutover23Figure 6.5 Martin’s phases of RAD24Software Tools for RADMicrosoft Access, Microsoft Visual Basic, Visual C++, and Microsoft .NETDiffer from one another in their:Capabilities to support client/server applicationsEase of use and the amount of programming skill that is required25Comparing RAD to the SDLCRAD software tools are used to generate screens and exhibit the overall flow of the running of the applicationRAD users are signing off on a visual model representationRAD implementation is less stressful because users have helped to design the business aspects of the system26Figure 6.6 The RAD design workshop and the SDLC approach compared27When to Use RADThe team includes programmers and analysts who are experienced with itThere are pressing reasons for speeding up application developmentThe project involves a novel ecommerce application and needs quick resultsUsers are sophisticated and highly engaged with the goals of the company28Disadvantages of RADTrying to hurry the project too muchLack of documentation29Agile ModelingAgile methods are a collection of innovative, user-centered approaches to systems developmentTries to define an overall system plan quickly, develop and release software quickly, and then continuously revise the software to add additional features30Values and Principles of Agile Modeling CommunicationSimplicityFeedbackCourage31Figure 6.7 Values are crucial to the agile approach32The Basic Principles of Agile ModelingProviding rapid feedbackAssuming simplicityChanging incrementallyEmbracing changeEncouraging quality work33Figure 6.8 Five Agile Principles guide the systems analyst through a successful project34Activities, Resources, and Practices of Agile ModelingCodingTestingListeningDesigning35Four Resource Control Variables of Agile ModelingTimeCostQualityScope36Four Core Agile PracticesShort releases40-hour work weekOnsite customerPair programming 37Figure 6.9 The core practices are interrelated with agile modeling’s resources, activities, and values38The Agile Development ProcessExplorationPlanningIterations to the first releaseProductionizingMaintenance39Writing User StoriesSpoken interaction between developers and usersSeeking first and foremost to identify valuable business user requirementsThe goal is prevention of misunderstandings or misinterpretations of user requirements40Figure 6.10 User stories can be recorded on cards. The user story should be brief enough for an analyst to determine what systems features are needed41Development Tools for Agile ModelingTools that facilitate collaborationTools that support defect managementAutomated unit testers, acceptance testers, and GUI testersTools for quality assuranceMeasuring system and component performanceSource code configuration managementDevelopment environments42Lessons Learned from Agile ModelingShort releases allow the system to evolvePair programming enhances overall qualityOnsite customers are mutually beneficial to the business and the agile development team43Lessons Learned from Agile Modeling (Continued)The 40-hour work week improves worker effectivenessBalanced resources and activities support project goalsAgile values are crucial to success44Figure 6.11 There are six vital lessons that can be drawn from the agile approach to systems45ScrumProduct backlogSprint backlogSprintDaily scrumDemo46Comparing Agile Modeling and Structured MethodsImproving the efficiency of systems developmentRisks inherent in organizational innovation47Figure 6.12 How Davis and Naumann’s (1999) strategies for improving efficiency can be implemented using two different development approaches48Figure 6.13 Adopting new information systems involves balancing several risks49SummaryPrototypingPatched-up systemNonoperationalFirst-of-a-seriesSelected-featuresPrototype development guidelinesPrototype disadvantages50Summary (Continued)Prototype advantagesUsers’ role in prototypingAgile modelingFive values of the agile approachPrinciples of agile developmentAgile activitiesAgile resources51Summary (Continued)Core practices of the agile approachStages in the agile development processUser storiesAgile lessonsScrum methodologyDangers to adopting innovative approaches52
Các file đính kèm theo tài liệu này:
- systems_analysis_and_design_chapter_6_0303.ppt