Aula 02
Processos de Software
Prof. Esp. Bruno Guaringue Trindade
Processos de Software
Objetivos:
1. Modelo em cascata;
2. Desenvolvimento incremental;
3. Engenharia de software orientada a reuso.
Modelo em Cascata
O primeiro modelo de processo de desenvolvimento de software a ser publicado foi derivado de
processos mais gerais de engenharia de sistemas (ROYCE, 1970). O modelo em cascata é um
exemplo de um processo dirigido a planos – em princípio , você deve projetar todas as atividades
do processo antes de começar a trabalhar nelas.
Principais estágios do modelo cascata:
1. Análise e definição de requisitos;
2. Projeto de sistema de software;
3. Implementação e teste unitário;
4. Integração e teste do sistema;
5. Operação e manutenção.
Modelo em Cascata
Modelo em Cascata
Análise e Definição de Requisitos: as funções, as restrições e os objetivos do sistema
são estabelecidos por meio de consulta aos usuários do sistema. Em seguida, são
definidos em detalhes e servem como uma especificação do sistema.
1. Processo inflexível;
2. Dificuldade em absorver mudanças nos requisitos e demandas
por mudanças.
Recomendação de utilização:
Softwares voltados para negócios, como plataformas de e-commerce.
Engenharia de Software orientada
a reúso
Na maioria dos projetos de software, há algum reúso de código. Isso acontece muitas vezes
informalmente, quando as pessoas envolvidas no projeto sabem de projetos ou códigos
semelhantes ao que é exigido. No entanto, no século XXI, processos de desenvolvimento de
software com foco no reúso de software passarem a ser formalmente e amplamente utilizados.
Estágios principais da engenharia de software orientada a reúso:
1. Análise de componentes;
2. Modificação de requisitos;
3. Projeto do sistema com reúso;
4. Desenvolvimento e Integração.
Engenharia de Software orientada
a reúso
Análise de componentes: Dada a especificação de requisitos, é feita uma busca por componentes
para implementar essa especificação. Em geral, não há correspondência exata, e os
componentes que podem ser usados apenas fornecem algumas funcionalidade necessária.
Modificação de requisito: Durante esse estágio, os requisitos são analisados usando-se
informações sobre os componentes que foram descobertos. Em seguida, estes serão
modificados para refletis os componentes disponíveis.
Projeto do sistema com reúso: Durante esse estágio, o framework do sistema é projetado ou algo
existente é utilizado. Os projetistas tem em mente os componentes que serão usados e
organizam o projeto para realizar o reúso.
Desenvolvimento e integração: Softwares que não podem ser adquiridos através do reúso são
desenvolvidos ou os componentes reutilizados são integrados para criar um novo sistema.
Engenharia de Software orientada
a reúso
Existem três tipos de componente de software que podem ser usados em um processo orientado
a reúso:
1. Web services desenvolvidos de acordo com os padrões de serviço e que estão disponíveis
para invocação remota.
2. Coleções de objetos que são desenvolvidas como um pacote a ser integrado com um
framework de componentes, como .NET ou JSF.
3. Sistemas de softwares stand-alone configurados para uso em um ambiente particular.
Engenharia de Software orientada
a reúso
Vantagens: Problemas:
Custos de manutenção aumentados
Confiança aumentada;
◦ Código do componente indisponível
Risco de processo reduzido; Falta de apoio de ferramenta
◦ Muitas ferramentas CASE não apoiam o reuso
Uso eficiente de especialistas; Síndrome do não-inventado-aqui
◦ Preferência em reescrever o componente
Conformidade com padrões;
Criação e manutenção de uma biblioteca
de componentes
Desenvolvimento acelerado.
◦ Imaturidade na organização de uma biblioteca
de componentes
Dúvidas
Bibliografia
[1] SOMMERVILLE, I. Engenharia de software. 9. ed. Pearson (Nacionais) 2011.
[2] PRESSMAN, R. S. Engenharia de Software . McGraw-Hill, 2006.
[3] PAULA, W. Engenharia de Software: Fundamentos, Métodos e Padrões. 2 ed. Rio de Janeiro:
LTC, 2003.