6.1 Contribution
The paper is biased towards an audience consisting of students in computer science and engineering. This in mind, we have presented an overview of three types of software development lifecycles in an organized form, emphasizing their major differences, as well as their relationships. We also presented a definition of what we believe is the distinction between incremental and iterative development. Furthermore, we related two new research trends, architectural analysis and component-based software engineering, to the established software lifecycle models.