Engenharia de Software 03-09
Engenharia de Software 03-09
Engenharia de Software 03-09
TECNOLOGIA DA INFORMAÇÃO
ENGENHARIA DE SOFTWARE
2013
ENGENHARIA DE SOFTWARE
01 EMENTA
OBJETIVOS
Sistema sociotécnico
Os nomes dados a cada passo variam, assim como varia a definição exata
de cada um deles, mas basicamente o ciclo de vida começa com a análise
de requisitos movendo-se de seguida para a fase de desenho, codificação,
implementação, teste e finalmente manutenção do sistema.
Uma das grandes falhas deste modelo é o fato dos requisitos estarem
constantemente a mudar já que os negócios e ambiente em que se inserem
mudam rapidamente. Isto significa que não faz sentido parar os requisitos
durante muito tempo, enquanto o desenho e implementação do sistema
são completados.
No modelo em cascata original de Royce (1970), as seguintes fases são
seguidas em perfeita ordem:
1) Levantamento de requisitos
2) Projeto 5) Teste e depuração
6) Instalação
3) Construção (implementação ou codificação)
7) Manutenção
4) Integração
ENGENHARIA DE SOFTWARE
09 MODELO CASCATA
Projeto do sistema
O projeto do sistema é um processo de vários passos que se centraliza em
quatro atributos diferentes do sistema: estrutura de dados, arquitetura do
software, detalhes procedais e caracterização das interfaces. O processo de
projeto representa os requisitos de uma forma que permita a codificação
do produto (é uma prévia etapa de codificação). Da mesma maneira que a
análise dos requisitos, o projeto é documentado e transforma-se em uma
parte do software.
Implementação
Esta é a etapa em que são criados os programas. Se o projeto possui um
nível de detalhe elevado, a etapa de codificação pode implementar-se
automaticamente. A princípio, sugere-se incluir um teste unitário dos
módulos nesta etapa; nesse caso, as unidades de código produzidas são
testadas individualmente antes de passar a etapa de integração e teste
global.
ENGENHARIA DE SOFTWARE
09 MODELO CASCATA
Teste do sistema
Concluída a codificação, começa a fase de teste do sistema. O processo de
teste centraliza-se em dois pontos principais: as lógicas internas do
software e as funcionalidades externas. Esta fase decide se foram
solucionados erros de “comportamento” do software e assegura que as
entradas definidas produzam resultados reais que coincidam com os
requisitos especificados.
Manutenção
Essa etapa consiste na correção de erros que não foram previamente
detectados, em melhorias funcionais e de preferência e outros tipos de
suporte. A etapa de manutenção à parte do ciclo de vida do produto de
software e não pertence estritamente ao seu desenvolvimento.
ENGENHARIA DE SOFTWARE
10 MODELO EVOLUCIONÁRIO
• Prototipação;
Um protótipo exploratório é projetado para ser como um pequeno
"experimento“, a fim de testar algumas suposições importantes sobre o
projeto. Ele pode ser tanto pequeno quanto algumas centenas de linhas de
código, criadas para testar o desempenho de um software. Caracteriza-se
também por uma maneira de esclarecer os requisitos.
ENGENHARIA DE SOFTWARE
10 MODELO EVOLUCIONÁRIO
Desvantagens
• A documentação é mais pobre, o próprio projeto é praticamente a
documentação, obrigando os ingressantes na equipe a ter que estudar o
código para compreender o projeto.
Pontos de atenção
• A prototipação não é indicada para projetos longos onde a equipe pode
ser alterada constantemente.
• Deve-se evitar protótipos descartáveis quando se tem problemas com
cronograma.
ENGENHARIA DE SOFTWARE
11 MODELO ESPIRAL
O modelo Espiral foi proposto por Barry Boehm, reúne características dos
modelos Cascata e Prototipação acrescentando ainda em sua base a análise
de riscos. Consiste em agregar funcionalidades ao sistema de forma
evolutiva, apresentando resultados parciais em relação à meta desejada
(final do desenvolvimento do sistema).