1 / 44

Chap 2 - SDLC Models

SDLC MODELS

Profound
Download Presentation

Chap 2 - SDLC Models

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. SDLC Models

  2. Software Development Life Cycle(SDLC) ●Software Development Life Cycle (SDLC) has distinct phases which are followed to develop the Software Application ●Each Phase comprises of various tasks ●Deliverable from each phase is used by the further phases. 2

  3. Software Development Life Cycle(SDLC) Requirement & Analysis Design Coding Testing Deployment Maintenance 3

  4. Requirements ● Requirement Phase: Task Owner- Business Analyst Activities Business Analyst studies the current business process and identifies/ captures the requirements of new system. Feasibility study - Should we proceed with proposed requirements /application idea? - Technical feasibility : Evaluation of the hardware and software and how it meets the need of proposed system. - Economic feasibility : A cost / benefits analysis - Operational feasibility : How well proposed system solves existing problems Requirements Analysis- Detailing of captured requirements. Deliverable- System Requirements Specification (SRS) Document.       4

  5. Requirements 5

  6. Design ● Design Phase:  Task Owner-  System Architect who prepares technical implementation details  UI designer prepares UI template, develops navigation maps  Activities  High Level Design  Low Level Design  Deliverable(s)-  Architecture Diagram  Module level design  Database Design  Screen design  Program Specifications  UI Architechture  UI navigation maps 6

  7. Architecture Diagram 7

  8. Design Design Design Module level design 8

  9. Use Case Diagram 9

  10. UI Navigation Map 10

  11. Database Design 11

  12. Coding ● Coding Phase: Task Owner- Developer Activirties Develop programs as per Program Specification and following programming standards Debugging and testing the developed programs Maintaing code under configuration management tool Deliverable(s)- Tested Codebase Unit Test Cases Unit level Test Closure Report          12

  13. Coding 13

  14. Testing ● Testing Phase:  Task Owner- Tester  Activities  To check that - Features are per user requirements - Features are working as expected - Report the issues found and track them till they are closed  Deliverable(s) -  Test Scenario Matrix  Test Cases  Defect Report  Daily / Weekly Test Status Report  Test Closure report 14

  15. Test Scenario 15

  16. Test case 16

  17. Defect Report 17

  18. Deployment ● Deployment Phase:  Task Owner- Implementation Team  Activities  Deployment of an Application to production site  User Training  Operational Acceptance Testing  Deliverable(s) -  Release Note  Set up/ Installation Guide  User Manual 18

  19. Release Note 19

  20. Installation Guide 20

  21. Maintenance ● Maintenance Phase: Need? Requirements Change due to - Changes in Business Rules - Environment Changes Address existing issues Activities Provide code fixes Provide New Features Enhancement of existing Features Deliverable(s) - Code fixes for existing issues Change requests Enhancements Update User Manual             21

  22. Project Team Organization Structure Program / Project Manager Business Analyst Sys Architect UI Designer Development Lead Test Manager Implemen- Tation Team Configuration Manager Developer Test Lead Test Engineer 22

  23. Test Team Roles and Responsibilities ● Test Manager Creation of Test Strategy Effort Estimation Monitor and control Cost, Schedule, Resource, Communication Resource Management Resource identification, on-boarding Stakeholder and communication management Update Test status, RAIDs Review and Approve Test Plan Acquire Test Environment          23

  24. Test Team Roles and Responsibilities ● Test Lead  Technically lead the Testing team  Create Test Plan  Get Test Plan approved from Test Manager  Circulate Test plan with stakeholders and get their Sing-off  Manage day-to-day Test Activities  Task allocation  Closely monitor daily test progress and Test Schedule  Review Test Results  Handle communication with Development team 24

  25. Test Team Roles and Responsibilities ●Test Engineer  Create Test Scenarios  Create Test Cases for each scenario  Create Requirements Tracebility Matrix(RTM)  Create Test Data  Execute Test Case  Log Defects  Track Defects till closure 25

  26. Application Issues ●Each phase of SDLC may introduce some errors in an Application due to Problems faced by respective task owner Error Introduced while owner is performing his activities 26

  27. List of Application Issues Application Issues Application Issues List of Application Issues SDLC Phase Issue Introduced Reason Requirements Application not meeting user requirements either partially or completely i.e. Some features are not available or partially available. Application having Performance issues (slow response to user action) Maintenance is difficult Missing / Unclear requirements Requirements not signed – off by client before proceeding further Design Complexity of application architecture Business growth not considered during design Coding Feature not working correctly and consistently Application getting halted / closed abruptly Un-skilled development resource Lack of code review Coding standards not followed 27

  28. List of Application Issues Application Issues Application Issues List of Application Issues SDLC Phase Issue Introduced Reason Testing Issues reported in live are not tracked in testing Inadequate testing due to time constraint Inadequate domain knowledge Deployment Application completely / partially not working in live Improper setup done production environment not available as per requirement 28

  29. Why do bugs occur? 29

  30. Waterfall Model ● Waterfall Model Waterfall approach was first Process Model to be introduced and followed widely in Software Engineering to ensure success of the project. In “The Waterfall” approach, the whole process of software development is divided into separate process phases. The phases in Waterfall Model are: Requirement Specification phase, Software Design, Implementation, Testing , Deployment & Maintenance. All these phases are cascaded to each other so that second phase is started as and when defined set of goals are achieved for first phase is started as and when defined set of goals are achieved for first phase and it is signed off, so the name “Waterfall Model”   30

  31. Waterfall Model Requirements Design Coding Testing Deployment Maintenance 31

  32. Waterfall Model ● Advantage:  The advantage of waterfall development is that it allows for departmentaliztion and managerial control. A schedule can be set with deadlines for each stage of development and development can proceed through phases and theoretically, be delivered on time. Development moves from concept, design, implementation, testing, installation and maintenance. Each phase of development proceeds in strict order without any overlapping or iterative steps. 32

  33. Waterfall Model ●Disadvantage: The disadvantage of waterfall development is that it does not allow for much reflection or revision. Once an application is in the testing stage, it is very difficult to go back and change something that was not well thought out in the concept stage. Cost of fixing defect is very high and testing starts only after entire product is developed. Testing may suffer as more time could be taken by development leaving less time for testing. 33

  34. Iterative Model 34

  35. Iterative Model ●An Iterative lifecycle model does not attempt to start with full specification of requirements. ●Instead, development begins by specifying and implementing just part of the software, which can then be reviewed in order to identify further requirements. ●This process is then repeated, producing a new version of the software for each cycle of the model. 35

  36. Iterative Model ● Advantage: The advatage of iterative model is that there is a working model of the system at a very early stage of development which makes it easier to find functional or design flaws. Finding issues at an early stage of development enables to take corrective measures in a limited budget.  ● Disadvantage: The disadvantage with iterative model is that it is applicable only to large and bulky software development projects. This is because it is hard to break a small software system into further small serviceable increments/modules.  36

  37. Iterative Model ● Advantage: Some working functionality can be developed quickly and early in the life cycle. Results are obtained early and periodically. Parallel development can be planned. Progress can be measured. Less costly to change the scope/requirements. Testing and debugging during smaller iteration is easy. Risks are identified and resolved during iteration: and each iteration is an easily managed milestone. Easier to manage risk-High risk part is done first. With every increment operational product is delivered.          37

  38. Iterative Model Advantages : Issues, challenges & risks identified from each increment can be utilized/applied to next increment. Risk analysis is better. It Supports changing requirement. Initial operating time less. Better suited for large and mission critical projects. During life cycle software is produced early which facilitates customer evaluation and feedback.       38

  39. Iterative Model ● Disadvantage : More resources may be required. Although cost of change is lesser but it is not very suitable for changing requirement. More management attention is required. System architecture or design issues may arise because not all requirement are gathered in the beginning of entire life cycle. Defining increments may require definition of the complete system. Not suitable for smaller projects. End of project may not be known which is a risk. Highly skilled resources are required for risk analysis. Project progress is highly dependent upon the risk analysis phase.          39

  40. Spiral Model Objectives & Alternatives Plan the Next phase SRS HLD LLD Execution Risk Analysis 40

  41. Spiral Model ● The spiral model couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model. ● It provides the potential for rapid development of incremetal version of the software. ● It is very useful model for projects involving high risk. ● Each loop is split into four sections as: Objectives and Alternatives Risk Analysis Execution Plan the next phase     41

  42. Spiral Model ●Objective and Alternatives – What are the objectives of this phase (i.e. technical activities) and what are the alternative available to achieve the objectives? ●Risk Analysis- What are the risk (EX. Technical and Management) and their alternatives to resolve them (Mitigation)? impact? What are ●Execution – Tasks required to construct, test, install and provide user support (e.g, documentation and training). 42

  43. Spiral Model ● Plan the next phase- What are the plan for next phase? Tasks required to define resources, timelines, and other projects related information. ● Using spiral model we can divide the project into different phases such as: SRS Design Detailed design Implementation Testing      43

  44. Questions ●What is SDLC? ●What are phases of SDLC? ●What are deliverables of each phase of SDLC? ●Why Software Application has bugs? ●Why maintenance phase is necessary? ●What are typical contents of SRS? ●What are typical issues in any application? ●Why developer can not do complete testing? 44

More Related