Baixe Ciclo de vida de desenvlovimento de Sistemas e outras Manuais, Projetos, Pesquisas em PDF para Análise de Sistemas de Engenharia, somente na Docsity!
1
TEMA 2TEMA 2
CICLO DE VIDA DECICLO DE VIDA DE
DESENVOLVIMENTO DE SISTEMASDESENVOLVIMENTO DE SISTEMAS
DE INFORMAÇÃODE INFORMAÇÃO (CVDSI)
2
TÓPICOS – SESSÃO 5
- O Conceito CVDSI
- As fases do CVDSI: Planeamento, Análise, Desenho,
Implementação, Testes, Instalação e Manutenção
- Actividades e Produtos de cada fase do CVDSI
- Modelos Genéricos do Processo de Desenvolvimento
de Software: Cascata, Prototipação/Evolucionário e
Espiral
- Falhas durante o Desenvolvimento de Software
3
Processo de Desenvolvimento de
Software
- É uma sequência coerente de prácticas que tem por objectivo o desenvolvimento de sistemas. Estas prácticas englobam as actividades de especificação, projecto, implementação, testes e caracterizam-se pela interacção de ferramentas, pessoas e métodos
- Método (ou Metodologia) de desenvolvimento = Linguagem de Modelação + Processo de Desenvolvimento de SI
- Processo de desenvolvimento de SI: Define quem faz o quê, quando e como, para atingir um certo objectivo
- As grandes fases de qualquer processo de desenvolvimento: Elaboração, Planeamento, Definição de Requisitos, Construção de Protótipos (opcional), Construção do Sistema (inclui codificação e testes) e Implantação (colocar em produção, treinar usuários)
4
Processo de Desenvolvimento de
Software ( Cont)
- Não se deve ter o software inteiro funcionando por inteiro na primeira versão do sistema
- Um processo de desenvolvimento deve ser: Iterativo (ter várias iterações no tempo) e Incremental (gerar novas versões incrementadas a cada versão)
- Uma iteração dura entre 2 semanas e 2 meses
- Motivos:
- Sempre tem algo para entregar ao cliente apressado (a última iteração)
- Os requisitos mudam com tempo e um processo iterativo mantém frequentes contactos com o cliente, o que ajuda a manter os requisitos sincronizados
- Altamente motivador para a equipe de desenvolvimento e o cliente, (principalmente o Cliente) porque vêem o sistema funcionando cedo
- Para evitar um desastre anunciado (vide figuras seguintes)
7
Actividades nas fases
- Definição do Problema
- Identificar o problema, as causas e definir soluções
- Realizar uma investigação formal preliminar do problema em mão
- Identificar as necessidades
- Estabelecer prioridade e traduzir as necessidades em um calendário
- Estudo de Viabilidade
- Determinar a viabilidade técnica, operacional e económica do Sistema (orçamentação)
- Apresentar as razões (porquê o sistema deve ou não ser desenvolvido)
8
Actividades nas fases (Cont)
- Análise
- Determinar o que deve ser feito para resolver o problema
- Determinar os requisitos do sistema: Estudar o sistema actual, requisitos estruturados, eliminar redundâncias e fazer o refinamento dos requisitos
- Gerar alternativas de desenho
- Comparar alternativas
- Recomendar a melhor alternativa
- Não tratar dos detalhes de implementação
- Identificar aspectos humanos, tecnológicos e organizacionais NOTA: O modelo é para o cliente e não para o programador
- Desenho
- Determinar como o problema será resolvido
- Desenho lógico:
- Concentrar nos aspectos do negócio do sistema
- Desenho físico:
- Elaborar especificações técnicas NOTA: Resultado é para o programador ver, não para o cliente
9
Desenho/Concepção Física
CONTROLO Passwords Registo de controlo Auditoria automática Autorização de alterções
ENTRADAS On-line Digitalizado Voz Código de Barras Cartões Magnéticos PROCESSAMENTO PC Central/Pessoal Sistema operativo Telecomunicações Programas/Aplicações
BASES DE DADOS Discos ópticos Bandas magnéticas Registos/campos Tipos de acessos Organização
PROCEDIMENTO Descrição de Tarefas Timings Backups/recuperação Contingência
SAÍDAS Écrans Listagens Gráficos Audio/Video Ficheiros
10
Desenho/Concepção Lógica
CONTROLO Segurança Precisão Validação Supervisão
ENTRADAS Conteúdo Formato Origem Volume Frequência/ Timing PROCESSAMENTO Regras de decisão Modelos analíticos Fórmulas Frequência/ Timing
BASES DE DADOS Volume Formato Registos Relações Organização
PROCEDIMENTO Actividades Manuais Regras Sequência/ Timing Localização SAÍDAS Conteúdo Formato Organização Volume Frequência/ Timing
13
Resultado de cada fase do CVDSI FASES PRODUTO
- Definição do Problema Problema descrito de forma clara
- Estudo de Viabilidade EstudoOperacional)^ de^ viabilidade^ (Económica,^ Técnica^ e
- Análise
- Requisitos do Modelo lógico
- Modelo para entender o domínio do problema
- Desenho Plano físico/lógico
- Desenvolvimento Sistema/Programa
- Teste Documento com resultados do Teste do sistema
- Implementação Documento de entrega oficial do sistema
- Manutenção Sistema em funcionamento
14
CVDSI Definição do Problema
Estudo de viabilidade
Análise
Desenho
Desenvolvimento
Teste
Implementação
Manutenção
15
16
19
20
Tipos de Ciclo de Vida de DSI
Ciclo Linear: Todas as actividades são feitas em
sequência, a fase seguinte inicia apenas após o
término da anterior. Nenhuma fase se repete.
Ciclo por etapas/desenho por partes: Divide-se o
sistema (complexo) em subsistemas e o desenho pode
ser feito por partes e depois integrado.
Evolucionário: O sistema é desenvolvido
gradualmente. A experiência adquirida no
desenvolvimento de uma parte, é usada para as
partes seguintes.
Prototipagem: Criação de um protótipo que ilustra
como o sistema final irá funcionar.
21
Falhas durante o
Desenvolvimento de S/W
FASE PRINCIPAIS FALHAS Viabilidade • Viabilidade mal feita
Análise
- Requisitos não documentados;
- Requisitos incompletos;
- Má especificação de requisitos;
- Falta de envolvimento dos utilizadores
Desenho
- Má interpretação da especificação de requisitos;
- Má especificação da estrutura de dados;
- Falta de avaliação de desenho;
Desenvolvimento
- Falta de padrões na codificação;
- Má interpretação do documento de desenho;
Teste
- Modelos de teste (falta de domínio, insuficientes, etc.);
- Falta de grupo de controlo de qualidade do sistema;
- Número insuficiente de testadores e má selecção destes. Manutenção • Ausência de Manuntenção do sistema (Preventiva, etc.)
22
Modelos Genéricos do
Processo de Software
- Um modelo de processo de software pode ser
visto como uma representação, ou abstracção
dos objectos e actividades envolvidas no
processo de software.
- Exemplos de alguns modelos genéricos do
processo de software:
- Sequencial ou Cascata (W aterfall).
- Evolucionário/Prototipação
- Espiral
25
Evolucionário/Prototipação
- Criação de um protótipo que ilustra como o sistema
final irá funcionar
- Atende a dois aspectos:
- Velocidade de desenvolvimento, no sentido de propiciar ao usuário uma visão mais real do sistema que se está projectando
- Envolvimento directo do utilizador, na medida que o desenvolvimento do sistema evolui
- Há pressão a fim de que concessões de
implementações ocorram (isto, por parte do Cliente)
26
Análise de Requisitos
Desenvolvimento de Protótipo
Testes/ Experimentação
Revisão
Detalhamento
Codificação e Testes
Manutenção Implantação
27
Espiral
- É uma aglutinação das melhores características existentes nos
modelos antecessores
- Cada volta no espiral representa uma fase no processo.
- Não há fases fixas como especificação ou projecto. As voltas
no espiral são escolhidas dependendo do que é requisitado
- Os riscos são explicitamente avaliados e resolvidos durante
todo o processo
28
31
Tipos de Ferramentas CASE
- Upper CASE (Front-end) – Suporte para a Análise e Desenho de sistemas. Ajuda na construção (de forma integrada) de diagramas de modelos de sistemas.
- Lower CASE (Back-End) – Suporte para a implementação. Permite a geração de código que pode ser usado na fase de programação.
- I-CASE (Full life cycle) – Ferramenta CASE integrada. Pode ser usada em todo o CVDS (mantém a consistência em todo o ciclo).
Exemplos: Rational Rose, Visual Paradigm, Visible Analyst, etc.
32
Vantagens
A principal vantagem de CASE é a integração de
elementos de modelos. Isto permite:
- Produção rápida da documentação do sistema;
- Fácil integração / actualização / validação dos requisitos do sistema
- Garante a eficiência dos sistemas pela boa consistência da informação;
- Permite a verificação do inter-relacionamento entre as diferentes partes do projecto;
- Redução do tempo de desenvolvimento;
- Redução de custos;
33
Desvantagens
- Tem custos elevados de aquisição;
- O retorno do investimento é a médio/longo
prazos;
- Requer treinamento no uso de CASE Tools;
- Difícil escolha entre várias alternativas
existentes no mercado;
34
Características de uma boa
Ferramenta CASE
- Simplicidade e facilidade de uso;
- Útil a várias pessoas;
- Baixo custo e requer pouco tempo de
aprendizagem;
- Produz diagramas e outros elementos com
qualidade e de fácil verificação;
- Facilita a manutenção (uma alteração num dos
elementos, muda automaticamente nos restantes);
- Permite a produção de uma variedade de
ferramentas.
37
38
39
40
TÓPICOS – SESSÃO 6 (A)
- Exércícios de Fixação e Consolidação sobre o tema 2:
- Ciclo de Vida de Desenvolvimento de Sistemas de Informação (CVDSI).