1 / 13

Software Life Cycle and Models: Definitions and Stages

Explore the stages and models of software life cycle, from inception to end-of-life, understanding how each phase contributes to effective software development. Learn about the challenges and causes of software obsolescence.

marrington
Download Presentation

Software Life Cycle and Models: Definitions and Stages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Life-Cycle and Models

  2. Let's Define Some Terms • Software Life Cycle • Software Life Cycle [Model] • Software Development Life Cycle [Model] • Software Process • Software Process Model • aka: Defined Software Process

  3. What is a Software Lifecycle? • Stages of existence of software. • Each stage represents a different state of software. • Can be from developer's view or customer's view.

  4. Real World Software Lifecycle • idea. • decision to implement. • initial prototype. • create a fake business case to justify writing it. • reimplement in greater detail • add requirements (because its too hard to remember what we've doing) • software + architecture design • working but buggy software • software initial release for use • iterative fix bugs and add new features

  5. What is a Life Cycle Model • A model of the phases that software goes through • Serves as a guide for management of software development • Models omit some real-life complexity and detail

  6. Inception of idea vision business case Analysis Design Implementation Acceptance Deployment transition training & education Typical Lifecycle Model • Maintenance and Support • End of Support • Retirement • end of useful life • transition or archiving GREEN = part of the process, not life cycle

  7. Is Testing Part of the Software Lifecycle? • Many people say it is. • Or, is it an activity that is part of many steps in the development process.

  8. What We Want Idea Software source: Bruegge, Object-oriented Software Engineering

  9. Requirements Analysis Design Implementation Testing Delivery and Installation How it should go: Our plan of attack source: Bruegge, Object-oriented Software Engineering

  10. Why the LC Model Doesn't Work • Requirements aren't complete or accurate. • even the client doesn't know precisely • Analysis and design aren't accurate. • communication issues • model not precise • Difficult to manage change... • technology changes • new requirements emerge • resource limitations • Software consists of many systems

  11. Why End of Software Life? • Software doesn't really "wear out". • Some products reach "end of support" even though people are still using them. • So what causes its end-of-life?

  12. Causes of Software Obsolescence • Newer product is superior • hardware changes • functionality is no longer needed

  13. Causes of Software "wear out" • Code becomes too difficult to maintain or modify • No one understands the source code (key developers leave w/o documentation) • Cost of maintenance is more than customers' willingness to pay • related to first item • shrinking customer base

More Related