Você está na página 1de 18

Processamento de Desenvolvimento de Software

Jorge Zavaleta
UFRJ - UNESA

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

1 / 18

Introducao

Evolucao do Software

A crise do software

Processo de Desenvolvimento de Software - PDS

Ciclo de vida e atividade de um Processo

Atividades em PDS

Atividades em PDS
Analise
Especificacao
Projeto
Implementacao
Teste e integracao
Manutencao

Exerccio em grupo

Referencias

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

2 / 18

O que e Engenharia do Software?

Definicao (Software Engineering Institute- SEI, 1990)


Engenharia do Software e uma forma de engenharia que aplica os
princpios da Ciencia da Computacao e matematica para alcancar
solucoes como melhor custo-benefcio para o problema do software

Definicao (IEEE, 1990)


Engenharia de Software trata-se da aplicacao sistematica,
disciplinada, qualificavel para o desenvolvimento, operacoes e
manutencao de software

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

3 / 18

Evolucao do Software

No incio os Softwares eram muito pequenos, dadas as limitacoes


do hardware
Com o crescimento do poder computacional, cresce tambem o
tamanho e a complexidade do software
Varias tecnicas surgiram para ajudar na administracao dessa
complexidade:
Tecnicas ligadas `a linguagens de programacao
Aprofundamentos dos estudos de engenharia de software
Arquitetura de software
Ferramentas CASE

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

4 / 18

A crise do software

Inicialmente identificada nos anos 60, mas ainda hoje apresenta


seus efeitos
Um quarto de projetos de software falha na entrega
20% de taxa de rotatividade de pessoal tida como normal
Grandes sistemas levando de 3 a 5 anos para serem
desenvolvidos (muitos deles se tornando obsoletos antes de ser
entregues)
Manutencao de software responsavel pelo maior custo
relacionado a computacao para a maioria das empresas da area

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

5 / 18

Processo de Desenvolvimento de Software - PDS

Um Processo de Desenvolvimento de Software (PDS) e uma


estrutura utilizada para o desenvolvimento de um produto de
software
Entre os seus sinonimos estao ciclo de vidae processo de
software
Ha muitos modelos para esses processos, cada um descrevendo
abordagens diferentes para uma variedade de tarefas e atividades
a serem executadas durante o processo.

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

6 / 18

Ciclo de vida e atividade de um Processo


Todo processo de transformacao tem inicio e fim
Essa variavel temporal, denominada ciclo de vida, determina as
fases do desenvolvimento de software

Todo processo e composto de atividades executadas


coordenadamente em um encadeamento das fases
Compreende todas as atividades necessarias para definir,
desenvolver, testar e manter um produto de software
Existem varios processos, mas nao um melhor

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

7 / 18

Atividades em PDS

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

8 / 18

Atividades em PDS

Investigar os requisitos dos usuarios (an


alise - analysis)
Claramente definir as caractersticas necessarias ao sistema
(especificac
ao - specification)
Criar/Desenhar (ou adaptar) uma solucao adequada (projeto design)
Desenvolver a solucao proposta (implementac
ao/codificac
ao
- implementation)
Garantir que a solucao resolva o problema originalmente
levantado (teste - testing)

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

9 / 18

Atividades em PDS
Garantir que a solucao funcione corretamente no sue contexto
(integrac
ao - integration)
Modificar a solucao de trabalho quando novos requisitos forem
identificados (manutenc
ao - maintenance)

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

10 / 18

Analise
Muitos usuarios nao sabem exatamente o que eles querem
Porque muitos nao sabem exatamente o que eles fazem no dia a
dia
Portanto, a analise requer que o desenvolvedor se torne
intencionalmente especialista no domnio do usuario

FASE 1: Descoberta(escutar e observar)


FASE 2: Refinamento (interrogar e esclarecer)
FASE 3: Modelagem (sugerir e verificar)
Sada: entendimento suficiente do problema para escrever um
documento de especificacao de requisitos

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

11 / 18

Especificacao

Ultima
fase da tarefa de analise
Precisa escrever de forma nao ambgua qual e o comportamento
requerido
Notacoes formais
Documentos estruturados
exemplos

Sada: uma especificacao dos requisitos que de forma nao


ambgua comunique ao projetista as caractersticas requeridas
para o sistema

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

12 / 18

Projeto

Desenvolver uma solucao que atenda aos requisitos


Com base da experiencia acumulada (e tecnicas padronizadas)

Geralmente precisam inovar em um certo nvel


Pode gerar varias possveis solucoes
Pode usar alguma metrica para selecionar uma delas

Sada: um documento de projeto que de forma nao ambgua


comunica o projeto para aqueles que iram implementar o mesmo

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

13 / 18

Implementacao

Escrever o codigo
Documentar o codigo
Debugar o codigo
Preparar o codigo para ser testado
Retornar informacoes ao projetista e/ou analista
Enviar informacoes ao testador e/ou integrador
Sada: codigo de trabalho (e a documentacao associada)
preparado para ser testado

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

14 / 18

Teste e integracao

Precisa checar se a implementacao corresponde ao projeto (e se


funciona)
Precisa checar se a implementacao atende aos requisitos (e esta
funciona corretamente)
Deve testar os modulos individuais e o sistema por completo
Entao testa a interacao com o(s)
ambiente/softwares/dados/etc. existente(s)
Sada: codigo devidamente testado, funcionando corretamente.

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

15 / 18

Manutencao

Os requisitos dos usuarios mudam com o tempo


Mesmo teste exaustivos podem nao descobrir todos os
problemas antes da entrega do software
Portanto, o software deve tambem mudar no decorrer do tempo
Mudancas nos requisitos podem culminar em implementacoes e
testes extras, ou trabalho adicional de projeto, ou ate mesmo de
analise

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

16 / 18

Exerccio em grupo

Proposta de Sistema
Propor um sistema computacional usando as etapas usada no PDS.
Cada grupo deve estar composto por 5 alunos.

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

17 / 18

Referencias

PAULA FILHO, Wilson de Padua. Engenharia de Software:


Fundamentos, Metodos e Padroes. Terceira Edicao. Rio de Janeiro:
LTC Editora. 2009.
SOMMERVILLE, Ian. Engenharia de software. Oitava Edicao, Rio
de Janeiro: Pearson Education. 2007.

Jorge Zavaleta (UFRJ - UNESA)

Processamento de Desenvolvimento de Software

18 / 18

Você também pode gostar