Você está na página 1de 6

ANÁLISE E DESENHO DE SISTEMAS

TEMA 3 – Ciclo de Vida de Desenvolvimento de Sistemas de Informação


(CVDSI), Ferramentas Case e Gestão de Projectos

A - 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, construção, 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.
• 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).
• Motivação para o processo de desenvolvimento de software:
– 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 equipa de desenvolvimento e o cliente,
(principalmente o Cliente) porque vêem o sistema funcionando cedo.

B - Conceito CVDSI
CVDSI pode ser definido como sendo:
• Uma série de etapas que podem ser usadas no processo de desenvolvimento de
Sistemas de Informação.
• Uma metodologia de desenvolvimento de sistemas de informação.
• Um processo padrão seguido nas organizações e consiste de oito (8) fases,
nomeadamente (o mais usado):
1) 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. O resultado desta etapa é o Problema
descrito de forma clara.
2) 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). O resultado desta etapa é a
descrição do Estudo de viabilidade (Económica, Técnica e Operacional)
3) 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;
1
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. O resultado desta etapa é o documento de Requisitos do
Modelo lógico e o Modelo para entender o domínio do problema.
4) Desenho: determinar como o problema será resolvido; criar o 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. O resultado desta etapa é o Plano
físico/lógico.
5) Desenvolvimento/construção: criar o sistema, codificar/ programar,
instalar o hardware e software, escrever os procedimentos, documentar o
sistema e o processo de desenvolvimento. O resultado desta etapa é o
Sistema/Programa.
6) Teste: realizar o teste do sistema; realizar testes modular e integrado do
sistema; realizar teste em conjunto com os utilizadores. O resultado
desta etapa é o Documento com resultados do Teste do sistema.
7) Implementação: realizar a Integração e entrega formal do sistema aos
utilizadores/clientes; treinar os utilizadores no uso do sistema. O
resultado desta etapa é o Documento de entrega oficial do sistema.
8) Manutenção: manter o sistema em funcionamento; efectuar mudanças
do sistema para reflectir as novas necessidades; gerir a obsolência do
sistema. O resultado desta etapa é o Sistema em funcionamento.
• As fases não são necessariamente sequenciais.
• Cada fase possui um resultado específico e uma entrega.

C - 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.

D - Falhas durante o Desenvolvimento de S/W


As principais falhas que podem ocorrer durante o desenvolvimento de S/W, em cada
uma das fases, são as seguintes:
1) Estudo de Viabilidade: Viabilidade mal feita
2) Análise: Requisitos não documentados; Requisitos incompletos; Má especificação
de requisitos; Falta de envolvimento dos utilizadores
3) Desenho: Má interpretação da especificação de requisitos; Má especificação da
estrutura de dados; Falta de avaliação de desenho;
4) Desenvolvimento/construção: Falta de padrões na codificação; Má interpretação
do documento de desenho;

2
5) 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.
6) Manutenção: Ausência de Manutenção do sistema (Preventiva, etc.)

E - 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 (Waterfall).
o É conhecido por abordagem “top-down”, foi proposto por Royce em
1970. Até meados da década de 1980 foi o único modelo com aceitação
geral.
o Torna o processo de desenvolvimento estruturado. Tem uma ordem
sequencial de fases.
o Na realidade, os projectos raramente seguem o fluxo sequencial que o
modelo propõe.
o O cliente deve ser paciente, pois uma versão funcional não estará
disponível até o final do desenvolvimento.
o Se ocorrer um atraso, todo o processo de desenvolvimento é afectado e
faz com que o sistema apareça muito tarde.
o Só é apropriado quando os requisitos são bem conhecidos.
• Evolucionário/Prototipação
o Criação de um protótipo que ilustra como o sistema final irá funcionar
o 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
o Há pressão a fim de que concessões de implementações ocorram (isto,
por parte do Cliente)
• Espiral
o É uma aglutinação das melhores características existentes nos modelos
antecessores
o Cada volta na espiral representa uma fase no processo.
o Não há fases fixas como especificação ou projecto. As voltas na espiral
são escolhidas dependendo do que é requisitado
o Os riscos são explicitamente avaliados e resolvidos durante todo o
processo.
o Este modelo compreende a repetição de um processo básico de seis
fases:
➢ Determinação dos objectivos, alternativas e restrições do
desenvolvimento e planeamento dos custos, prazos e outros
requisitos.
➢ Avaliação das alternativas; análise dos riscos.
➢ Realização de protótipos.
➢ Desenvolvimento do produto de software.
➢ Teste e disponibilização do software.
3
o Submissão do software à avaliação pelo cliente.

F - Ferramentas de Suporte para o Desenvolvimento de Sistemas


Computer-Aided System Engineering (CASE):
• Ferramentas automatizadas para melhorar a velocidade e qualidade do trabalho
de desenvolvimento do sistema.
• Contém uma base de dados contendo informação sobre o sistema – Repositório

Ferramenta CASE é uma ferramenta que auxilia os analistas e desenhadores de


sistemas, em todo o ciclo de desenvolvimento de sistemas. O uso de CASE, permite o
desenho de sistemas com qualidade, a baixo custo e em pouco tempo.

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 de ferramentas CASE: Rational Rose, Visual Paradigm, Visible Analyst,


etc.

Vantagens da ferramenta CASE


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;

Desvantagens da ferramenta CASE


As principais desvantagens com as ferramentas CASE:
• 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;

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);
4
• Permite a produção de uma variedade de ferramentas.

G - Gestão de Projecto

Projecto: É um empreendimento temporário levado a efeito com o objectivo de


produzir um produto ou fornecer um serviço único. É temporário e único. Tem início e
fim bem definidos.

Projecto - É uma realização com um início e um fim bem definidos, que visa atingir
determinados objectivos dentro de um trinómio de restrições custo, tempo e qualidade
envolvendo uma série de recursos na sua concretização.

Gestão de projecto – é a aplicação do conhecimento, competências, ferramentas e


técnicas às actividades de um projecto de forma a alcançar as expectativas e
necessidades dos stakeholders do projecto.

Num projecto existem:


• Processos de gestão de projectos – é uma série de actividades que descrevem e
organizam o trabalho que deve ser executado no projecto
• Processos orientados ao produto - descrevem, especificam e criam o produto.

Processos de Gestão de Projectos


Os grupos de processos de gestão de projectos são os seguintes:
• Processos de Iniciação,
• Processos de Planificação e Orçamentação,
• Processos de Execução,
• Processos de Controlo,
• Processos de Encerramento.

Os Processos de gestão de projectos são para o seguinte:


• Estabelecer a equipa do projecto;
• Estabelecer o relacionamento com o cliente;
• Estabelecer o plano do projecto;
• Estabelecer os procedimentos de gestão;
• Dividir o projecto em tarefas realizáveis;
• Estimar necessidades de recursos;
• Executar o plano;
• Monitorar o progresso do projecto

Razões para o Sucesso do Projecto


• Definição clara dos requisitos do sistema
• Envolvimento substancial dos utilizadores
• Suporte da gestão máxima
• Planos do projecto detalhados
• Calendarizações realísticas e milestones

Razões pelas quais os Projectos Falham


5
• Requisitos incompletos ou alterados
• Envolvimento limitado do utilizador
• Falta de suporte dos executivos
• Falta de suporte técnico
• Fraca planificação do projecto
• Objectivos pouco claros
• Falta dos recursos necessários

H - Consolidação

• CVDSI – definição, fases, actividades de cada fase, produtos de cada fase, tipos,
modelos.
• Ferramentas CASE – definição, tipos, vantagens, desvantagens, características de
uma boa ferramenta CASE.
• Gestão de Projectos – definição de projectos, processos de gestão, razões para o
sucessos ou falhas de projectos.

I - Exercícios
1. O que entende por Ciclo de Vida de Desenvolvimento de Sistemas de
Informação (CVDSI)?
2. Explique as fases do CVDSI, num processo padrão.
3. Pesquise e liste as fases de CVDSI, num processo diferente do processo padrão.
4. Explique a diferença entre análise e desenho de um sistema de informação.
5. Mencione e explique os tipos de Ciclo de Vida de Desenvolvimento de
Sistemas de Informação.
6. O que entende por Processo de Desenvolvimento de Software?
7. Acha que na vida real os processos de desenvolvimento de software são
lineares? Argumente a sua resposta.
8. Quais são as principais falhas que podem ser identificadas num processo de
desenvolvimento de software? Como poderias evitar estas falhas?
9. Mencione e explique os modelos genéricos do processo de software. Qual deles
é melhor? Argumente a sua resposta.
10. No Processo de Desenvolvimento de Software podem ser usadas ferramentas
CASE. Explique a utilidade para o uso.
11. Mencione e explique os tipos de ferramentas CASE.
12. Quais são as boas características que uma ferramenta CASE deve ter?
13. Acha que usando as melhores ferramentas CASE, seja suficiente, para uma
equipa de desenvolvimento de software obter um software que satisfaça as
necessidades do cliente? Argumente a sua resposta.
14. O que entende por projecto?
15. Cada grupo formado deverá fazer a planificação do processo de
desenvolvimento do sistema de informação atribuído.
16. Cada grupo deverá reportar ao docente, de 15 em 15 dias, o progresso do
processo de desenvolvimento.

Você também pode gostar