Você está na página 1de 33

ANALISE DE SISTEMAS

Prof. Dr. Wilfredo Blanco


wblancof@gmail.com
Processo de desenvolvimento

 Crise do Software
– Dificuldade de entendimento dos
requisitos
– Dificuldade de manutenção
– Duplicação de esforços
– Proliferação de tecnologias
– Baixa qualidade

15/02/2017 UERN - CAN - DC 2


O que se pode fazer?

 Precisamos buscar soluções/técnicas/métodos


para lidar com os problemas encontrados

 Não se preocupar apenas com a programação

 O processo de desenvolvimento deve


transcorrer de forma organizada e com um
foco bem definido

 Temos que chegar próximo a uma noção de


ENGENHARIA DE SOFTWARE
15/02/2017 UERN - CAN - DC 3
Engenharia de Software

 Desenvolver produtos de software de qualidade


dentro de custo e prazo estimados (com
previsibilidade)
 Reutilizar soluções de sucesso
 Melhorar a comunicação na equipe de
desenvolvimento
 Fornecer processos/metodologias de auxílio ao
desenvolvimento
15/02/2017 UERN - CAN - DC 4
As fases do desenvolvimento de sistemas
Processo de Software

 Conjunto de etapas (atividades) que devem


ser cumpridas para que tenhamos software
de qualidade
Especificação de Requisitos Planejamento &
Gerenciamento
Análise & Projeto

Implementação

Gerência de Testes
Configuração e
Mudanças Distribuição

15/02/2017 UERN - CAN - DC 6


Processo de Software

 Caracterização das Etapas


– Cada etapa possui:
• Objetivo bem definido
• Atividades a serem realizadas

 Artefatos de Entrada
 Artefatos de Saída
 Ferramentas e Técnicas que são utilizadas

15/02/2017 UERN - CAN - DC 7


Especificação de requisitos

 Objetivos
– Definir O QUÊ o sistema deve fazer
– Levantar e descrever os requisitos do
Sistema
• Requisitos Funcionais – operações que o sistema
realiza
• Requisitos Não-Funcionais - propriedades que o
sistema deve ter (ex: desempenho, usabilidade)

15/02/2017 UERN - CAN - DC 8


Análise, Projeto e
Implementação
 Análise e projeto
– Investigar os requisitos
– Formalizar a solução, definindo a arquitetura
e subsistemas
 Implementação
– Implementa elementos definidos no projeto
(arquitetura, subsistemas) em tecnologias
específicas de implementação (linguagens,
plataformas)

15/02/2017 UERN - CAN - DC 9


Testes e distribuição

 Testes
– “Encontrar Erros”
– Verifica e valida se o sistema atende
sem problemas todos os requisitos
definidos inicialmente

 Distribuição
– Preparar o sistema para ser instalado no seu
ambiente real (documentação, arquivos de
instalação)
15/02/2017 UERN - CAN - DC 10
Processo de Software

15/02/2017 UERN - CAN - DC 11


Processo de Software (Fases)

 Concepção
– Fase na qual necessidades dos usuários e conceitos da
aplicação são analisados o suficiente para justificar a
especificação de um produto de software, resultando
em uma proposta de especificação.

 Elaboração
– Fase na qual a especificação do produto é detalhada o
suficiente para modelar conceitualmente o domínio do
problema, validar os requisitos em termos deste modelo
conceitual e permitir um planejamento acurado da fase
de construção.

15/02/2017 UERN - CAN - DC 12


Processo de Software (Fases)

 Construção
– Fase na qual é desenvolvida (desenhada,
implementada e testada) uma liberação completamente
operacional do produto, que atende aos requisitos
especificados.

 Transição
– Fase na qual o produto é colocado à disposição de uma
comunidade de usuários para testes finais, treinamento
e uso inicial.

15/02/2017 UERN - CAN - DC 13


Objetivos das Etapas

 Planejamento e Gerenciamento
– Definição de escopo,
– Realização de estimativas, alocação de
recursos
– Cronogramas/prazos
 Gerência de Configuração e Mudanças
– Gerencia os artefatos que pertencem a cada
versão do software
– Avalia solicitações de mudanças para os
artefatos definidos no software,
eventualmente, autorizando-as para serem
realizadas

15/02/2017 UERN - CAN - DC 14


Etapa chave

Protótipo da Documento de Glossário


Interface Gráfica Requisitos

Artefatos de Entrada

Análise & Projeto

Artefatos de Saída

Projeto da
Arquitetura Projeto dos
Subsistemas
Projeto da
Interface Gráfica Código Gerado

15/02/2017 UERN - CAN - DC 15


Responsáveis

Análise & Projeto

Análise de
Requisitos Analistas

Projeto da Arquiteto
Arquitetura

Projeto Projetistas
Detalhado de
Subsistemas

15/02/2017 UERN - CAN - DC 16


Etapas em ênfase no nosso
curso
 Requisitos

 Análise e Projeto

15/02/2017 UERN - CAN - DC 17


Modelos de Ciclo de Vida
 Organização das etapas do processo de
desenvolvimento
– Codifica-remenda: sem organização
– Cascata: organização em sequência

– Iterativa Espiral: organização em espiral

– Iterativa e Incremental: cascata é repetido

15/02/2017 UERN - CAN - DC 18


Modelos de Ciclo de Vida
 Modelo Codifica-Remenda:
– Estrutura composta de várias fases
executadas aleatórias e desorganizadas

Especificação
????? Produto
Modelos de Ciclo de Vida

 Modelo Codifica-Remenda:
– Provavelmente o mais usado
– Não exige sofisticação técnica ou gerencial
– Alto risco
– Impossível de gerir
– Não permite assumir compromissos
confiáveis
Modelos de Ciclo de Vida
 Cascata ou Clássico
– Estrutura composta de várias fases executadas de forma
sistemática e sequencial
Requirements
definition

System and
software design

Implementation
and unit testing

Integr ation and


system testing

Operation and
maintenance

15/02/2017 UERN - CAN - DC 21


Modelos de Ciclo de Vida

 Cascata ou Clássico
– Processo mais visível, fixando pontos específicos
– Difícil mostrar resultados parciais
• Dificuldade de acomodação das mudanças depois
que o processo está em andamento
– Esse modelo é apenas apropriado quando os
requisitos são entendidos completamente e
perfeitamente

15/02/2017 UERN - CAN - DC 22


Modelos de Ciclo de Vida
 Espiral
– Acrescenta aspectos gerenciais ao processo de
desenvolvimento de software

15/02/2017 UERN - CAN - DC 23


Modelos de Ciclo de Vida
Determine ob jectiv es
Ev aluate altern atives
alternatives and id en tify, resolve risk s
cons traints Risk

 Espiral Risk
analys is

analys is
Risk
analys is Opera-
Prototyp e 3 tional
Prototyp e 2 protoyp e
Ris k
REVIEW analysis Proto-
ty pe 1
Requirements plan Simulations, models, b en ch marks
Life-cycle plan Concept o f
Operation S/W
requirements Prod uct
design Detailed
Requirement design
Develop ment
plan valid ation Code
Design Unit tes t
Integration
and test p lan V&V Integr ation
Plan next p has e test
Accep tance
Serv ice test Develop, v erify
next-level p rod uct

15/02/2017 UERN - CAN - DC 24


Modelos de Ciclo de Vida

 Espiral (Vantagens)
- Foca atenção nas opções de reuso
- Eliminação precoce de erros
- Qualidade desde o início
- Integra desenvolvimento e manutenção

15/02/2017 UERN - CAN - DC 25


Modelos de Ciclo de Vida

 Iterativo e Incremental
– Adaptação do modelo espiral
– Em vez de entregar o sistema como um todo,
o desenvolvimento e a entrega são divididos
em incrementos.
– Cada incremento entregando parte da
funcionalidade requerida.

15/02/2017 UERN - CAN - DC 26


Modelos de Ciclo de Vida

 Iterativo e Incremental (Benefícios)


– Requisitos dos usuários são priorizados e
incluídos nas iterações iniciais

– A funcionalidade do sistema está disponível


mais cedo, pois ela é entregue a partir dos
incrementos

– Diminui o risco de falha do projeto como um


todo
15/02/2017 UERN - CAN - DC 27
Projeto –
Empresas de pequeno porte
 Normalmente é iniciado após um acordo verbal
entre os usuários e a equipe do projeto
 O desenvolvimento é feito logo após esse
acordo verbal, geralmente sem a existência de
análise.
 Geralmente não existe um processo de
desenvolvimento formal. Se existe, geralmente
não é seguido ou verificado.

15/02/2017 UERN - CAN - DC 28


Projeto –
Empresas de grande porte
 Existe um processo formal de engenharia de
software
 Existem meios para verificar se o processo está
sendo seguido
 Todos conhecem o processo
 O gerente é o responsável por organizar o
projeto de acordo com o processo

15/02/2017 UERN - CAN - DC 29


Modelos

 A criação de um modelo corresponde à utilização de


uma linguagem que possa ser empregada por
analistas e compreendida por usuários, para
representar um sistema.

 Os modelos são os principais produtos da análise e


são fundamentais para se obter um produto de
software de qualidade, dentro de prazos e custos
preestabelecidos.

15/02/2017 UERN - CAN - DC 30


Modelos

 É a partir das especificações dos clientes e


usuários que os modelos serão construídos e a
partir dos modelos que o produto será
desenvolvido.

 Os modelos podem ser utilizados também para


a validação inicial do produto, o que os torna
ainda mais importantes.

15/02/2017 UERN - CAN - DC 31


Modelos

 Observação Importante:
– Um analista de sistemas, além de saber
construir modelos, deve se aprofundar no que
está sendo modelado, seja um sistema de
matricula, vendas, controle de estoque,
bancário, etc.

– Durante a modelagem, o analista muitas


vezes se torna um especialista na área.

15/02/2017 UERN - CAN - DC 32

Você também pode gostar