quick SDLC lesson
24 12 2008If you have never taught anything in your life, you should try teaching. Just make sure you teach something that you are passionate about. For example, I love to teach Software Engineering. I was a TA for a Software Engineering Fundamentals class for a year at my University. And I loved it!
The other day I gave a class that talked about the basic software life cycle, AKA SDLC. From the birth of a project til the death of it. Most of us don’t realize that the longest stage of any software project will (almost) always be the maintenance stage. However, in University we didn’t have a class about this stage! We had classes about every other stage there is, but not about software maintenance. I guess that’s what masters/doctorates are for, huh?
Anyhow, there is vast information about the software development process in the Internet. This is a little summary of what I talked about:
1. Requirements Elicitation: At this point you find out all you can about the problem, you just gather all the information you might need.
2. Requirements Analysis/Engineering: Here, you take everything from phase 1 and you process it to come up with a set of features (for the client to approve)
3. Design: After the clients approves the problem you defined, you design the solution (architecture + detailed design) – I’m not talking about just web/graphic design here!
4. Development: Here, you take whatever you designed and you write it down as code in whatever language you want.
5. Testing: After developing the solution you test the execution of your code (using the specification) – I know, as you develop, on stage 4 you test as well but it’s different.
6. Implementation: You deploy the solution to a beta environment or production environment (both of them different to the development environment)
7. Maintenance: After the client approves the solution (after testing it thoroughly), you have to maintain the code (correct future bugs and add possible improvements)
Well, basically that’s it. It was a brief introduction of all phases/stages of the software life cycle. There is also QA and project management tasks that happen through all phases of the life cycle. I did forget to mention this last point, I should write it down for the next class. But I guess I just did that with this post.
To sum up, remember, when you start a project do not jump eagerly into the development phase. First, try to understand the problem to build a solution.
Categories : software engineering





