E N D
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/257709716 Session Plan for SDLC Model Chapter · January 2012 CITATIONS 0 READS 973 1 author: Dr Qaim Mehdi Rizvi Qassim University 25PUBLICATIONS 20CITATIONS SEE PROFILE Some of the authors of this publication are also working on these related projects: BRAIN Under the Shadow of MachineView project All content following this page was uploaded by Dr Qaim Mehdi Rizvi on 31 May 2014. The user has requested enhancement of the downloaded file.
Session –5 Session Name: SDLC MODEL Author Name: Dr. Qaim Mehdi Rizvi Department: Computer Science & Engineering Subject/Course: SOFTWARE ENGINEERING
Session Objectives At the end of this session, the learner will be able to: Understand the Role Software Engineering Analyze the different phases of SDLC Outline the pros & cons of different Steganographic approaches Teaching Learning Material Chalk & Duster Projector, Laptop & MS Power Point Page 2 Ver : 1.02 SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow
Session Plan Learning Outcomes (Blooms + Gardeners) Learning Aid and Methodology Time (in min) Faculty Approach Typical Student Activity Content 10 Recap: Software Engineering Facilitates Guides Participates Answers Remembering Interpersonal Match the Chits Analyzing Linguistic Logical Software Development Life Cycle Model 15 Listen Correlates Analogy [Picnic] Give Analogy Understanding Intrapersonal Visual 20 Demonstration through PPT Facilitates Guides Listens Participates Types of SDLC Models Applying Intrapersonal Interpersonal Verbal-Linguistic 10 Selection of SDLC Model for Mini Projects Participates Observes Listens Mini Projects Conduct Understanding Interpersonal Verbal- Linguistic 05 Participates Answers Conclusion MCQs Conduct SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow Page 3
Session Inputs Recap: Introduction to Software Engineering “The establishment and use of sound engineering principles in order to obtain economically developed software that is reliable and works efficiently on real machines” -‐ Fritz Bauer (very first definition of software engineering in 1968) Suggested Activity: MATCH THE CHITS Divide the learners into 6 groups where 10 students will be in each group. Write the following areas in some chits and the development methodologies in some chits. Shuffle the chits and provide them to each group. Also give them a chart. Ask the groups to exactly match and stick the chits on the chart. The following are the sample areas and its development methodologies: 1. Bridge – Conventional Engineering. 2. Library System -‐ Program 3. Building of SRMCEM – conventional Engineering 4. Our Transport -‐ Conventional Engineering 5. Matlab – Software Engineering 6. ERP of SRMCEM – Software Engineering 7. LKO-‐FZB Highway-‐ Conventional Engineering 8. Lucknow SGPGI-‐ Conventional Engineering 9. Website of GBTU-‐ Software Engineering 10. GPU-‐ Conventional Engineering 11. Apple iPad2-‐ Conventional Engineering 12. Android Honey Comb-‐ Software Engineering Give them 5 minutes to stick and provide the answer. Correct the incorrect answer(s) by telling the reason. Software Engineering is the design, development, and documentation of software by applying technologies and practices from computer science, project management, engineering, application domains, interface design, digital asset management and other fields. Page 4 Ver : 1.02 SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow
Software Development Life Cycle Learners will be able to learn about, software development life cycle (SDLC), its phases: Plan/Requirements/Analyze/Design/Verify Validate/Execute etc. with respect to the different phases while planning a picnic. Suggested Activity: ANALOGY Faculty: “Let’s go for a picnic. For organizing a successful picnic one has to take care of all the prerequisites. For a picnic to be successful, It has to be Feasible. Its requirement should be properly known. It should be properly planned. It should be executed well.” Initially there is a problem statement, “A group of learners wants to go for a picnic, in the lakeside on a weekend. Also, the picnic should be within 50 KM from the city limits, there should be proper transportation for the place, the time duration should be 08 AM to 06 PM, there should be music / dance/ games for the learners, there should be lunch/ snacks for the learners and the picnic should not cost > Rs.750/-‐ per head.” Check for the feasibility of going to the picnic with respect to the boundaries specified. The problem in hand is logistically huge and for effectively solving the problem it has to be broken into small manageable pieces. Then according to the credentials and capabilities of the learners in the group the smaller tasks should be distributed among them. In addition there should be a group leader/ manager who will distribute the tasks and see the overall progress. 1.Decide how many people want to go for the picnic? 2.What should be the location of the picnic? Check for 50 KM boundary 3.Who will arrange for the transportation? 4.Who will arrange for the food? 5.Who will arrange for the fun bits i.e. dance/music/games.? 6.Who will collect money? Check for the limit of Rs. 750/-‐? 7.Who will check for the overall progress? 8.Who will look for the permissions for the lakeside etc.? SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow Page 5
The above points refers to a process Feasibility-‐>Analysis-‐>Requirement Gathering-‐>Design-‐>Implement-‐>Test This process is similar to how software is designed & coded. The step by step process of planning, analyzing, designing, testing and coding of software within a set of rules and parameters is called Software Development Life Cycle (SDLC). The step by step process of planning, analyzing, designing, testing and coding of software within a set of rules and parameters is called Software Development Life Cycle (SDLC). Types of SDLC Model Learners will be told about various popular SDLC models with the help of relevant figures and illustrations about their mechanism. Suggested Activity: DEMONSTRATION THROUGH PPT The Software Development Life Cycle (SDLC) Process is a repeatable, predictable process intended to improve project productivity and system quality and to enhance the management of a computer systems project. SDLC for software engineering is chosen based on the nature of the project and application, the methods and tools to be used, and the controls and deliverables that are required. Page 6 Ver : 1.02 SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow
General SDLC Model Various SDLC models are available and these are used according to the need and nature of the projects, the environmental conditions, and the available time frame in which it is going to be finished. It is shown here with its working structure. SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow Page 7
Classical Waterfall Model Page 8 Ver : 1.02 SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow
Iterative Waterfall Model SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow Page 9
RAD Model Page 10 Ver : 1.02 SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow
Incremental Model Spiral Model SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow Page 11
Selection of SDLC Model for Mini Projects Students should able to understand the requirements and the limitations of every model. By critical analysis of a model, it is more feasible to develop interest in next proposed approach for interacting real life problems. Mini Projects are the most feasible tools for improving the technical skills of students about the various available models. Suggested Activity: Mini Projects Divide the groups into some groups based on the below topics. Assign the below topics to each group and ask them to prepare the SDLC phases for the assigned topic. Finally one representative from each group will be called to narrate their preparation. For effective involvement, provide them some charts so that the narration would be very easy for the volunteer. Some sample topics from the various wings of SRMCEM would be as follows: 1.Bus Management System 2.Hostel Management System 3.Mess Management System 4.Student Management System 5.Time-‐Table Management System The structure imposed by this SDLC is specifically designed to maximize the probability of a successful software development. But user requirements vary from time to time. That is why software development is not like only constructing a building, but it is a more creative process than that. Conclusion The best way to conclude the overall session is to check the knowledge status of students and re-‐brush the knowledge in an interesting way. Page 12 Ver : 1.02 SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow
Suggested Activity: Multiple Choice Questions We can give the following multiple choice questions to the learners to help them review or revise the concepts and terms that were discussed during this session. We can form the learners into groups of eight each. Hard copies of the following question sheet can be circulated among all the groups. The questions can be distributed into the set of 5 different questions. The solution can be discussed and the fully solved puzzle can be displayed. 1. The linear sequential model of software development is A) A reasonable approach when requirements are well defined. B) A good approach when a working program is required quickly. C) The best approach to use for projects with large development teams. D) An old fashioned model that cannot be used in a modern context. 2. The linear sequential model of software development is also known as the A) Classical life cycle model B) Fountain model C) Spiral model D) Waterfall model E) both a and d 3. The incremental model of software development is A) A reasonable approach when requirements are well defined. B) A good approach when a working core product is required quickly. C) The best approach to use for projects with large development teams. D) A revolutionary model that is not used for commercial products. 4. The rapid application development model is A) Another name for component-‐based development. B) A useful approach when a customer cannot define requirements clearly. C) A high speed adaptation of the linear sequential model. D) All of the above. 5. Evolutionary software process models A) Are iterative in nature B) Can easily accommodate product requirements changes C) Do not generally produce throwaway systems D) All of the above SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow Page 13
6. The prototyping model of software development is A) A reasonable approach when requirements are well defined. B) A useful approach when a customer cannot define requirements clearly. C) The best approach to use for projects with large development teams. D) A risky model that rarely produces a meaningful product. 7. The spiral model of software development A) Ends with the delivery of the software product B) Is more chaotic than the incremental model C) Includes project risks evaluation during each iteration D) All of the above 8. The concurrent development model is A) Another name for the rapid application development model. B) Often used for the development of client/server applications. C) Only used for development of parallel or distributed systems. D) Used whenever a large number of change requests are anticipated. 9. The component-‐based development model is A) Only appropriate for computer hardware design. B) Not able to support the development of reusable components. C) Works best when object technologies are available for support. D) Not cost effective by known quantifiable software metrics. 10. The formal methods model of software development makes use of mathematical methods to A) Define the specification for computer-‐based systems B) Develop defect free computer-‐based systems C) Verify the correctness of computer-‐based systems D) All of the above 11. Which of these is not one of the phase names defined by the Unified Process model for software development? A) Inception phase B) Elaboration phase C) Construction phase D) Validation phase 12. In the Unified Process model requirements are determined iteratively and may span more than one phase of the process. A) True B) False Page 14 Ver : 1.02 SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow
The solution of each question set will be announced in the class room for self-‐ assessment of students. Assignment 1.Explain the software crisis with the help of any well-‐known example of software crisis from the real world. 2.Distinguish between a software product and a software process. What are the characteristics of software product? 3.What is software engineering? How is it different from other traditional engineering branches? 4.“The whole idea of software development is prone to pit falls and no paradigm can change this practical reality” Discuss the merits and demerits of this view point. 5.Explain the different phases of the lifecycle model of software development. 6.Explain how both waterfall model and the prototyping model can be accommodated in the spiral process model. 7.What are the objectives of software engineering? Describe any three software product attributes and any three software process attributes. 8.Write short notes on prototyping model and under what circumstances it is beneficial to construct a prototyping model. 9.Define IEEE definition of software. Discuss the characteristics, components and application of software. Describe the various myths prevalent regarding software. 10.Discuss the various causes by which the traditional Waterfall Model failed to implement in the development of large software projects. SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow Page 15
11.The crash of Kalpna Chawla’s space shuttle was an unfortunate example of Software Crisis. Do you agree this point? Explain in detail. 12.Define the role of maintainability in the process model of software development life cycle. 13.Explain necessary steps in aspect of the face entry and phase exit criteria for every phases of SDLC model. 14.Define the recommended development model for ADHAAR CARD application. 15.The software development now shifting from producing good quality software to good quality maintainable software. Do you agree with this statement? Explain in detail. Page 16 Ver : 1.02 SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow
References 1.R. S. Pressman, Software Engineering: A Practitioners Approach, McGraw Hill. 2.Rajib Mall, Fundamentals of Software Engineering, PHI Publication. 3.Mohapatra, K. J. Pratap, Software Engineering (A Lifecycle Approach), New Age International. 4.SWEBOK: Guide to the Software Engineering Body of Knowledge, IEEE Computer Society 5.B. B. Agarwal, M. Gupta, Software Engineering and Testing, Jones and Bartlett Publisher 6.Pankaj Jalote, Software Engineering, Wiley 7.Carlo Ghezzi, M. Jarayeri, D. Manodrioli, Fundamentals of Software Engineering, PHI Publication. 8.Ian Sommerville, Software Engineering, Addison Wesley SDLC MODEL Dr Qaim Mehdi Rizvi SRMCEM, Lucknow Page 17 View publication stats View publication stats