The Software Development Life Cycle Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle Method to help develop software, used by all programmers 4 Key Steps: 1. Project Analysis 2.Program Design 3. Program Code 4. Program Test Repeat… Project Analysis Determine the output – What do you want? Determine input - What do you need to get the output? Example: - Create a program to generate 5 numbers to play the lottery within a range of 1-100. - Possible choices? Which ones makes sense? 5, 5, 5,5, 5 -3, 0, 8, 9, 790007 32, 5,98, 22,77 Design the program Create a detailed description of program Using special tools like Flow Charts or Pseudocode - Flow Chart: a program design tool that uses special symbols to explain the program. - Pseudocode an outline of your code using simple English statements that can be easily converted into programming statements. Identify algorithms needed - Algorithm: a step-by-step method to solve a problem or complete a task Algorithms must be: - Well defined Well ordered Must produce some result Must end Code the program Translate flow charts or pseudocode into a programming language or often called Program Code The program code will be unique to each programming language, however the basic processes are the same Each programming language uses its specific syntax - Consider syntax to be the grammatical rules of the programming language. Good coding includes explanations within your program that explains what the program does. /*Comments*/ External documentation such as user guide is also useful to help explain your program. Test the program The final stage is to test your program. - Is it doing what I wanted it to do? It is important to use many different types of test data to make sure that it works under all possible situations. Although, throughout the SDLC you should always be testing your program - In analysis phase: always ask questions Did I interpret data correctly? Does program fulfill requirements? Etc… - In design phase: check your logic Does this make sense? Is it doing what it’s supposed to do? - In coding phase: deal with the syntax errors 2-6 Why is the program not working? Repeat When testing the program you may encounter a few unexpected things. For Example: - The program may not work - Some test data does not give you the results you expect - You notice that something can be done better. What this usually means is that you will have to go back to the beginning of the SDLC . This is why it is called the Software Development Life Cycle! Software Development Process A structure imposed on the development of a software product. Sometimes called the software lifecycle or simply software process. Several models are in common use: - Waterfall process - Iterative process - Extreme programming - Capability Maturity Model Integration (CMMI) - Software Process Improvement Capability Determination (SPICE) Waterfall process Specific steps are followed in order 1. Requirements specification 2. Design 3. Construction (coding or programming) 4. Integration 5. Testing and debugging 6. Installation 7. Maintenance (support) Iterative Process Iterative or cyclic development process. It starts with an initial planning and ends with deployment with the cyclic interaction in between. - That is reviewing and repeating activities to check that everything is working Why use the SDLC? To create the best program that you can!! Note: Programs are products that can be sold. Many people have made a lot of money developing and creating programs. A good part of our modern economy depends on software projects. This is why one of the requirements of this course is to develop and complete your very own software project. Otherwise…… This is what can happen… http://www.youtube.com/watch?src_vid=OfgfnZZdMlI&an notation_id=annotation_589336&feature=iv&v=xtpyjPrp yX8