Presentation is loading. Please wait.

Presentation is loading. Please wait.

17 Chapter 16: Trends in System Development Systems Analysis and Design in a Changing World.

Similar presentations


Presentation on theme: "17 Chapter 16: Trends in System Development Systems Analysis and Design in a Changing World."— Presentation transcript:

1 17 Chapter 16: Trends in System Development Systems Analysis and Design in a Changing World

2 Systems Analysis and Design in a Changing World, 3rd Edition 2 Reasons for Slow Development u Rework l Using the wrong software l Not meeting minimum quality standards u Shifting requirements and project changes l Changes to design and construction u Improper tools and techniques for project l Reduces quality, increases development time u Poor Project Management

3 Systems Analysis and Design in a Changing World, 3rd Edition 3 Cost of Change in Each Project Phase

4 Systems Analysis and Design in a Changing World, 3rd Edition 4 What is RAD? u Collection of development approaches, techniques, tools, and technologies u RAD proven to shorten development schedules u No universal RAD approach shortens every project schedule u No technique, tools or technology fits perfectly u Key is identifying overall development approach and matching set of techniques, tools, techniques most suitable to approach and specific project

5 Systems Analysis and Design in a Changing World, 3rd Edition 5 Rapid Application Development u RAD is overused and poorly understood u Software developers claim they do, but cannot precisely define u Equated with tools and techniques l Prototyping, fourth-generation programming languages, CASE tools l Object-oriented analysis, design, and development u Tool vendors and methodologies claim RAD u Competing and confusing claims

6 Systems Analysis and Design in a Changing World, 3rd Edition 6 RAD in Perspective u Conventional SDLC approach typically sequential l Completely define requirements before design l Make major design decisions before implementation l Systems were simple, development tools were primitive, hardware was expensive and slow u Project characteristics determine approach u Iterative approaches better for large project and/or uncertain requirements

7 17 Systems Analysis and Design in a Changing World, 3rd Edition 7 Development Approach as a Function of Project Characteristics

8 Systems Analysis and Design in a Changing World, 3rd Edition 8 Prototyping Approach to Development u Discovery prototype l Used in analysis or early design l Uncover or refine system requirements l Can be thrown away u Developmental prototype l Not thrown away l Part of iterative development until final system complete

9 Systems Analysis and Design in a Changing World, 3rd Edition 9 When to Use a Prototyping Approach u When to use: l Requirements cannot be fully specified outside of architectural or detailed design l Technical feasibility unknown or uncertain l Development tools powerful enough to create functional system u When not to use: l System is non-interactive or internally complex l Strict security or performance requirements exist

10 Systems Analysis and Design in a Changing World, 3rd Edition 10 Prototyping Tool Requirements u Development speed u Flexibility and power u Techniques and capabilities l WYSIWYG (what you see is what you get) l Generation of complete programs, program skeletons, or database schemas from diagrams l Rapid customization of software libraries or components l Error-checking and debugging capabilities

11 Systems Analysis and Design in a Changing World, 3rd Edition 11 Prototyping Tools u Simple l Access l Excel l Graphical u Visual Studio.NET u PowerBuilder u Oracle Forms

12 Systems Analysis and Design in a Changing World, 3rd Edition 12 Prototyping FPF Principle  Make it Functional  Make it Pretty  Make it Fast

13 Systems Analysis and Design in a Changing World, 3rd Edition 13 Spiral Approach to Development u Iterative development approach l Each iteration may include combination of planning, analysis, design, or development steps u More radical departure from traditional development than prototyping development

14 17 Systems Analysis and Design in a Changing World, 3rd Edition 14 The Spiral Life Cycle

15 Systems Analysis and Design in a Changing World, 3rd Edition 15 Steps in the Spiral Development Approach u Criteria for feature selection for each prototype l User priorities l Uncertain requirements l Function reuse l Implementation risk u Break into categories l “Must have”, “Should have”, “Nice to have” l Complete high priorities earlier to reduce risk

16 Systems Analysis and Design in a Changing World, 3rd Edition 16 Benefits and Risks of Spiral Development u Benefits l High parallelism l High user involvement l Gradual resource commitment l Frequent product delivery u Risks l Management difficulties and design complexity l More potential for rework

17 17 Systems Analysis and Design in a Changing World, 3rd Edition 17 Cumulative Cost Plotted Against Time

18 Systems Analysis and Design in a Changing World, 3rd Edition 18 eXtreme Programming (XP) u Developed by Kent Beck in mid-1990’s u Borrows heavily on earlier development approaches such as prototyping, object-oriented development, and pair programming u Focused on creating user stories (use case) and system metaphors (class diagram), delivering releases of system, and quickly testing

19 17 Systems Analysis and Design in a Changing World, 3rd Edition 19 eXtreme Programming System Development Approach

20 Systems Analysis and Design in a Changing World, 3rd Edition 20 XP Principles and Techniques u Continuous automated testing u Continuous integration u Heavy user involvement u Team programming or pair programming u Specific attention to human interactions and limitations

21 17 Systems Analysis and Design in a Changing World, 3rd Edition 21 Comparison of Traditional, Spiral, and XP Development

22 Systems Analysis and Design in a Changing World, 3rd Edition 22 When to Use XP u Small development teams (12 or less) u Talented development personnel with broad range of skills u Limited scope of projects l Stand-alone l New systems l Minimal interfaces to legacy system u Extensive use of high-quality OO development and testing tools

23 Systems Analysis and Design in a Changing World, 3rd Edition 23 The Unified Process u Comprehensive development approach l Originally developed by Jacobsen, Booch, and Rumbaugh in late 1990s l Dominant approach for developing software with OO models and tools l Adopts iteration from prototyping and spiral development approaches l Exclusive reliance on OO models, tools, and techniques

24 Systems Analysis and Design in a Changing World, 3rd Edition 24 UP Phases and Objectives (Figure 16-2)

25 Systems Analysis and Design in a Changing World, 3rd Edition 25 The Unified Process Life Cycle (Figure 16-1)

26 Systems Analysis and Design in a Changing World, 3rd Edition 26 How the UP Organizes Software Development u UP’s SDLC includes four high-level activities: l Inception – similar to project planning l Elaboration – defining requirements in more detail and concentrate on analysis, design, construction for high risk and complex activities l Construction – complete programming, testing, and installation for lower-risk and simpler activities l Transition – test and deploy entire production system

27 Systems Analysis and Design in a Changing World, 3rd Edition 27 Iterations and Disciplines u Timeboxing - organizing a complex task or project into series of equal-length time intervals u More effective when iterations are relatively short and each iteration produces concrete result l Frequent testing, immediate user feedback, motivation, and greater accomplishment u Disciplines include business modeling, requirements, design, implementation, and project management

28 Systems Analysis and Design in a Changing World, 3rd Edition 28 UP Development is Series of Iterations

29 Systems Analysis and Design in a Changing World, 3rd Edition 29 When to Use the Unified Process u Benefits and risks mirror spiral development u Major obstacles to adopt UP include: l Complex project management (compared to sequential development) required l Need to adopt OO models, tools, techniques throughout project u UP’s formal steps, well-defined roles, attention to model building and validation makes UP preferred approach for large-scale development

30 Systems Analysis and Design in a Changing World, 3rd Edition 30 Rapid Development Techniques u Collection of guidelines used to help an analyst complete system development activities or tasks l Risk management l Joint application design (JAD) l Tool-based development l Software reuse l Object frameworks

31 Systems Analysis and Design in a Changing World, 3rd Edition 31 Risk Management u Systematic process of identifying and mitigating software development risks l Most risks can be identified if specific attention is directed to them l Risks appear, disappear, increase, and decrease as development process proceeds l Small risks should be monitored and large risks mitigated u Every project should use risk management

32 17 Systems Analysis and Design in a Changing World, 3rd Edition 32 Major Categories of Development Schedule Risk

33 17 Systems Analysis and Design in a Changing World, 3rd Edition 33 Steps in Risk Management Identify project risks Estimate risk outcomes & probabilities Prioritize risks Develop & implement mitigation strategies Project completed

34 Systems Analysis and Design in a Changing World, 3rd Edition 34 Joint Application Design u Effective technique for quickly defining system requirements u Shortens development time by including all key decision makers u Can be incorporated into any development approach u Well suited to iterative development approaches

35 Systems Analysis and Design in a Changing World, 3rd Edition 35 Tool-Based Development u Chooses tool(s) that best match system requirements u Do not develop any requirements not easily implemented with selected tool (s) u Applies generic 80/20 or 90/10 rule - resources best used to construct system that satisfies 80% or 90% of requirements most easily implemented u System limited by tool u No tool works for all development approaches

36 Systems Analysis and Design in a Changing World, 3rd Edition 36 Software Reuse u Mechanism that allows software used for one purpose to be reused for another u Can shorten development schedule u Possible time savings must also consider l Effort required to identify reusable software l Effort required for modification l Extent to which software must be repackaged

37 17 Systems Analysis and Design in a Changing World, 3rd Edition 37 Comparison of Various OO Code Reuse Methods

38 Systems Analysis and Design in a Changing World, 3rd Edition 38 Object Frameworks u Set of foundation classes specifically designed to be reused in wide variety of programs or systems l User-interface classes l Generic data structure classes l Relational database interface classes l Classes specific to an application area u Programmers modify class attributes and methods for requirements of specific applications

39 Systems Analysis and Design in a Changing World, 3rd Edition 39 Impact of Object Frameworks on Design u Frameworks must be chosen before detailed design begins u System must conform to specific assumptions about application program structure and operation that framework imposes u Development personnel must be trained on frameworks u Multiple frameworks might be required l Early compatibility and integration testing

40 Systems Analysis and Design in a Changing World, 3rd Edition 40 Components u Standardized and interchangeable software module that is fully assembled and ready to use u Well-defined interfaces to connect component to clients or other components u Components are reusable packages of executable code u Structured design and object frameworks are methods of reusing source code

41 Systems Analysis and Design in a Changing World, 3rd Edition 41 Component Standards and Infrastructure u Interoperability of components requires standards l Common Object Request Broker Architecture (CORBA) l Component Object Model Plus (COM+) l Enterprise JavaBean (EJB) l Simple Object Access Protocol (SOAP) and.NET l Web services

42 Systems Analysis and Design in a Changing World, 3rd Edition 42 Component Communication Using SOAP

43 Systems Analysis and Design in a Changing World, 3rd Edition 43 Components and the Development Life Cycle u Purchased components can form part or all of system u Components provide one model for designing and deploying systems u Component issues l Internally developed components l Object-oriented techniques l Designing components for reuse

44 17 Systems Analysis and Design in a Changing World, 3rd Edition 44 Activities Added to SDLC Phases when Components are Purchased

45 Systems Analysis and Design in a Changing World, 3rd Edition 45 Components and System Performance u Examine component-based designs to estimate network traffic patterns u Examine existing server capacity and network infrastructure to determine communication ability u Upgrade network and server prior to development u Test system performance and make adjustments u Continuously monitor system performance l Redeploy components, upgrade server capacity, and upgrade network to reflect changed conditions

46 Systems Analysis and Design in a Changing World, 3rd Edition 46 Summary u Rapid application development (RAD) has goal of speeding application development u RAD techniques include risk management, joint application design, tool-based design, and software reuse u RAD approaches include prototyping, eXtreme programming, spiral development, the Unified Process u RAD tools include object frameworks and components and supporting infrastructure

47 Systems Analysis and Design in a Changing World, 3rd Edition 47 Summary ( continued ) u Developer must examine project characteristics to determine which RAD concepts are likely to speed development u Software reuse and inheritance l Providing a library of reusable source code l Can be quickly adapted to new application requirements and operating environment u Components are units of reusable executable code that can be plugged into applications


Download ppt "17 Chapter 16: Trends in System Development Systems Analysis and Design in a Changing World."

Similar presentations


Ads by Google