1 / 28

Chapter 2 Software Development Life Cycle

Chapter 2 Software Development Life Cycle. Software Development Life Cycle (SDLC ). It is also called as Software Development Process

njacqueline
Download Presentation

Chapter 2 Software Development Life Cycle

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. Chapter 2Software Development Life Cycle Chapter 2 Software Development Life Cycle

  2. Software Development Life Cycle (SDLC ) • It is also called as Software Development Process • is a process used by the software industry to design, develop and test high quality softwares to that meets or exceeds customer expectations, reaches completion within times and cost estimates. • In project management a project can be defined both with a project life cycle (PLC) and an SDLC • According to Taylor (2004), "the project life cycle encompasses all the activities of the project, while the systems development life cycle focuses on realizing the product requirements" Chapter 2 Software Development Life Cycle

  3. Software Development Life Cycle phase • Each phase in the life cycle has its own process and deliverables that feed into the next phase.  There are typically 5 phases starting with the analysis and requirements gathering and ending with the implementation • .  Chapter 2 Software Development Life Cycle

  4. Software Life Cycle phase Chapter 2 Software Development Life Cycle

  5. Phase 1: Analysis User Requirements • This phase is critical to the success of the project.  Expectations (whether of a client or your team) need to be fleshed out in great detail and documented.  This is an iterative process with much communication taking place between stakeholders, end users and the project team Chapter 2 Software Development Life Cycle

  6. Requirements • The team holds discussions with various stakeholders from problem domain and tries to bring out as much information as possible on their requirements. The requirements are contemplated and segregated into: user requirements, system requirements and functional requirements • collect of requirement: • studying the existing or obsolete system and software, • conducting interviews of users and developers, • collecting answers from the questionnaires Chapter 2 Software Development Life Cycle

  7. Phase 2: Design  • Technical design requirements are prepared in this phase by lead development staff that can include architects and lead developers.  • The Business Requirements are used to define how the application will be written.  • Technical requirements will detail database tables to be added, new transactions to be defined, security processes and hardware and system requirements. Chapter 2 Software Development Life Cycle

  8. activities of Phase Design • Risk analysis:  • Functional Specifications  • Non-Functional Specifications Chapter 2 Software Development Life Cycle

  9. 1. Risk analysis: • Threats and vulnerabilities of interactions with other systems. • code needs to be analyzed to determine if there are security vulnerabilities. • High-risk privacy projects could require review with a legal department, as what personal data to collect, how to collect it, and permissions to make changes. Chapter 2 Software Development Life Cycle

  10. 2. Functional Specifications • a description of interface requirements such as definition of data entry fields (allow numeric or alpha only, can it be left blank?) • can date entered be before current date? What timezone will user logins default to? • Workflow – after clicking approve button, which screen appears next? • after update on the database, monitoring error and logging tools Chapter 2 Software Development Life Cycle

  11. 3. Non-Functional Specifications • Extensibility of the system – will current system easily allow new enhancements or features? This is critical for any application that you’ll be adding new features and updating often. • Has the current or future capacity been analyzed for database requirements? Will the current build plan result in capacity issues shortly after you finish building? • Performance and response time – Has the expected response time been determined? • Resource Constraints – Are there constraints that need to be taken into consideration in this phase? Common ones include disk space Chapter 2 Software Development Life Cycle

  12. Phase 3: Coding/ Implementation   • This phase is the actual coding and unit testing of the process by the development team,  and enhancements may be required.  • It’s important in this phase for developers to be open-minded and flexible if any changes are introduced.  • This is normally the longest phase of the SDLC.  • The finished product here is input to the Testing phase. Chapter 2 Software Development Life Cycle

  13. Phase 4: Document and Testing • different types of testing will be performed including: • integration • system testing. • User acceptance testing is the last part of testing and is performed by the end users to ensure the system meets their expectations.  At this point, defects may be found and more work may be required in the analysis, design or coding. • Once sign-off is obtained by all relevant parties, implementation and deployment can begin. Chapter 2 Software Development Life Cycle

  14. Phase 5: Operate and maintain • Training may be required for end users, operations and on-call IT staff.  • Roll-out of the system may be performed in stages starting with one branch then slowly adding all locations or it could be a full blown implementation. Chapter 2 Software Development Life Cycle

  15. referred as Software Development Process Models Each process model follows a Series of steps unique to its type to ensure success in the process of software development. Classical Waterfall Model Iterative Waterfall Model Spiral Model Incremental process model Agile Model Prototyping Model software development life cycle model Chapter 2 Software Development Life Cycle

  16. Classical waterfall model • is the basic software development life cycle model. It is very simple but idealistic. Earlier this model was very popular but nowadays it is not used. But it is very important because all the other software development life cycle models are based on the classical waterfall model. • Classical waterfall model divides the life cycle into a set of phases. This model considers that one phase can be started after completion of the previous phase. That is the output of one phase will be the input to the next phase. Thus the development process can be considered as a sequential flow in the waterfall. Here the phases do not overlap with each other. Chapter 2 Software Development Life Cycle

  17. very simple and is easy to understand. Phases are processed one at a time. Each stage is clearly defined. Process, actions and results are very well documented. works well for smaller projects Advantages of Classical Waterfall Model Chapter 2 Software Development Life Cycle

  18. Classical waterfall model Chapter 2 Software Development Life Cycle

  19. 2.1.2 Iterative WATERFALL Model • It is almost same as the classical waterfall model except some changes are made to increase the efficiency of the software development. • it provides feedback paths (The feedback paths for error correction (from every phase to its preceding phases, which is the main difference from the classical waterfall model. • The software is first developed on very small scale and all the steps are followed which are taken into consideration. Then, on every next iteration, more features and modules are designed, coded, tested and added to the software. Every cycle produces a software, which is complete in itself and has more features and capabilities than that of the previous one. Chapter 2 Software Development Life Cycle

  20. Iterative Waterfall Model Chapter 2 Software Development Life Cycle

  21. Spiral model • is one of the most important Software Development Life Cycle models, which provides support for Risk Handling. In its diagrammatic representation, it looks like a spiral with many loops. The exact number of loops of the spiral is unknown and can vary from project to project. • Each loop of the spiral is called a Phase of the software development process. The exact number of phases needed to develop the product can be varied by the project manager depending upon the project risks. As the project manager dynamically determines the number of phases. Chapter 2 Software Development Life Cycle

  22. Each phase is divided into : • Objectives determination and alternative solutions • Identify and resolve Risks • Develop next version of the Product • Review and plan for the next Phase Chapter 2 Software Development Life Cycle

  23. Diagram of Spiral model Chapter 2 Software Development Life Cycle

  24. Incremental process model • is also know as Successive version model. • First, a simple working system implementing only a few basic features is built and then that is delivered to the customer. Then thereafter many successive versions are implemented and delivered to the customer until the desired system is realized • Requirements of Software are first broken down into several modules that can be incrementally constructed and delivered. At any time, the plan is made just for the next increment and not for any kind of long term plans. Therefore, it is easier to modify the version as per the need of the customer. Development Team first undertakes to develop core features Chapter 2 Software Development Life Cycle

  25. Diagram of Incremental process model A, B, C are modules of Software Product that are incrementally developed and delivered. Chapter 2 Software Development Life Cycle

  26. Agile model • is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product • The model was primarily designed to help a project to adapt to change requests quickly. So, the main aim of the Agile model is to facilitate quick project completion • required of accomplish project agility is • removing activities that may not be essential for a specific project. • anything that is wastage of time and effort is avoided Chapter 2 Software Development Life Cycle

  27. Steps of agile SDLC models : • Requirement gathering • Requirement Analysis • Design • Coding • Unit testing • Acceptance testing Chapter 2 Software Development Life Cycle

  28. graphical of the Agile Model  Chapter 2 Software Development Life Cycle

More Related