Hello everyone. Welcome to Software QA and the Software Development Life Cycle, also known as SDLC. In this module, we're gonna look at an overview of what SDLC is, along with different styles or different methods of SDLC. Different types of software requires different methods to be successful. If you have a very large piece of software that has many modules and many parts to it, one type of SDLC would work better for that. If you have a more defined, tiny piece of software, a different type of SDLC would work better for that. And in this lesson, we're gonna look at an overview, and I created a piece of software specifically for this overview. So what exactly is SDLC? Simply put, it's a plan. It's a plan that, if you follow it, should give you quality software. Basically, the client gives you input into the plan, you use that to create a plan of coding, a plan of testing, and when you're done, you review it with the client. This started in the 60s. Before that, computers, you simply programmed them by moving a bunch of wires and plugs, but starting in the 60s, when programming languages like COBOL became more popular, you had to have a distinct plan to get the customer's needs and to have the software come out, and it's five or six phases, these are nebulous phases: requirement, analysis, design, development, testing, and maintenance. Some people wrap development and maintenance, or developing and testing, or testing and maintenance into one. So that's where you get five or six. So, let's look at an example. Using a piece of software I created that would show each of these parts. Requirements. This is simple. This is what the client wants. In this example, our client asked us to give a wish list to people so that they can choose these items in their wishlist. It's like they're ordering something. So this is what the client would bring to us. These are the requirements. Then, we would look over that and figure out, "Hmm, how can we do this so that the customer doesn't have a problem? Well, we need instructions." So that's our analysis, we analyzed what the client gave us, and we said, you know something? Your screen needs these two instructions at the top. Next part would be the actual design. We realized, you know? There's nowhere for the client to see, or the person buying the stuff, there's nowhere to see what they've ordered or what they want to order. So we recommend this items in order at the bottom. So you see how we're building it, how we're moving along. The next is development, that's simply the coding. Here's some lines of code from that program. It doesn't matter what language you use, this is just the coding of it. Now comes the testing. Now, what you see in the bottom corner, obviously, that wouldn't be in the program. In the program I created, I purposely put that in there to force the program to fail at different times. But the testing part, we would come up with different ways to test the software to look for problems, either bugs, syntax bugs, or logic bugs. A common way of testing is to do what's called the FONE testing. It would be first record, that's the F for FONE, do a first record test. The O would be a one record test, any record but the first record. Then the N, in here I wrote it as two or more records, but it stands for number of records meaning multiple records. And finally, the E, it stands for end of file, that's what EOF means, but it's the last record. So that would be a type of testing that we would document in our SDLC plan. And then maintenance. After we deliver it to the customer, we worked out all the bugs, everything's working great, we realized, "Hey, you know, there's nothing here to let the customer say, 'yes, I wanna order something.'" We realized afterwards so that's part of maintenance, little upgrades or little changes to the program based on what the customer needs. Customer might not have known that originally. And there we have the phases of the SDLC, the software development life cycle. Once again, this lesson was simply an overview. In future lessons, we're gonna see specific and you'll see how and which kind of programs work best with them.