Conceitos básicos. Sistemas de software. Engenharia de software. Os princípios da engenharia de software. Paradigmas de engenharia de software. Ciclo de vida clássico. O paradigma evolutivo. O paradigma espiral. Engenharia de software influenciado e sendo influenciada por outras áreas dentro e fora da computação. Extração de requisitos. Dificuldades no processo de extração de requisitos. Técnicas para extração e análise de requisitos.Modelos para especificação de sistemas de software. especificação. Modelos e princípios da engenharia de software. Modelos do mundo real. Modelos de projeto. Modelos para projeto geral. Modelos para projeto detalhado. Modelos para testes de programas. Modelos de planejamento do projeto. Metodologias, métodos e ferramentas. Planejamento de projetos de software. organização do projeto.