Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 17: Current Trends in System Development

Similar presentations


Presentation on theme: "Chapter 17: Current Trends in System Development"— Presentation transcript:

1 Chapter 17: Current Trends in System Development
Systems Analysis and Design in a Changing World, 3rd Edition

2 Learning Objectives Describe rapid application development and the prototyping, spiral, eXtreme Programming, and Unified Process development approaches Compare the prototyping, spiral, eXtreme Programming, and Unified Process development approaches with more traditional development approaches Choose an appropriate development approach to match project characteristics Systems Analysis and Design in a Changing World, 3rd Edition

3 Learning Objectives (continued)
Implement a risk management process Describe rapid application development techniques, including joint application design, tool-based development, and code reuse Describe components, the process by which they are developed and deployed, and their impact on the systems development life cycle Systems Analysis and Design in a Changing World, 3rd Edition

4 Overview Rapid change in business practices and information technology has created management challenge Changing technology: Provides developers with new tools and techniques Increases users’ expectations for system functionality This chapter presents a subset of rapid application development (RAD) techniques Systems Analysis and Design in a Changing World, 3rd Edition

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

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

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

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

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

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

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

12 System Development Based on Developmental Prototypes
Planning Analysis Architectural Design Analysis & Design Construction Testing & Evaluation Additional Implementation Systems Analysis and Design in a Changing World, 3rd Edition

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

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

15 Project Conditions Determine Prototyping Tools
Suitability for technical environment in which system will be deployed Ability to implement all system requirements Ability to interface with software developed with other tools Object-oriented, component-based, and Web service technologies and standards make software interoperability more achievable. Systems Analysis and Design in a Changing World, 3rd Edition

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Download ppt "Chapter 17: Current Trends in System Development"

Similar presentations


Ads by Google