10
1 - Introdução 1 Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de uma organização cujas funções incluem a recolha, armazenamento, tratamento e comunicação de informação para um propósito específico, por forma a que esta esteja disponível em qualquer momento ou local. Análise: Definida de um modo geral como o estudo de um problema antes de passar à sua resolução. Análise (no estudo de SI e sua informatização): Estudo de um sub-sistema de informação (SSI), descrição das suas características e funcionalidades. Envolve a caracterização de um sistema informático que apoie (automatize) esse SSI.

Conceito de analise de desenvolvivento de sistemas

Embed Size (px)

Citation preview

Page 1: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 1

Análise de Sistemas

Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir

um (ou mais) objectivos.

Sistema de informação (SI): sub-sistema de uma organização cujas funções

incluem a recolha, armazenamento, tratamento e comunicação de

informação para um propósito específico, por forma a que esta esteja

disponível em qualquer momento ou local.

Análise: Definida de um modo geral como o estudo de um problema antes de

passar à sua resolução.

Análise (no estudo de SI e sua informatização): Estudo de um sub-sistema de

informação (SSI), descrição das suas características e funcionalidades.

Envolve a caracterização de um sistema informático que apoie

(automatize) esse SSI.

Page 2: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 2

Enquadramento da análise de sistemas no processo de informatização

Um processo de desenvolvimento de uma aplicação é desencadeado quando:

• se reconhece que existe um problema na forma como uma actividade é

desempenhada;

• se identifica uma oportunidade de melhoramento de uma actividade.

Ciclo de vida

O processo de desenvolvimento de uma aplicação pode, numa visão genérica, ser

estruturado em três fases distintas que correspondem ao seu ciclo de vida:

• Fase de definição, ou concepção inicial do produto;

• Fase de desenvolvimento;

• Fase de manutenção, que decorre desde a entrega ao cliente até ao

envelhecimento do produto.

Fase de definição

Identifica-se o problema: que informação deve ser processada, que funções e

desempenho são pretendidos, que interfaces são necessários, que

restrições devem ser consideradas e que critérios devem ser utilizados na

avaliação do projecto.

Tipicamente, engloba três tipos de tarefas:

• Estudo de exequibilidade - definição do problema, identificação de soluções

alternativas e estimativa dos custos, benefícios e prazo de entrega, para cada

solução alternativa;

• Análise de requisitos - identificação e especificação dos requisitos funcionais,

de desempenho, de interface, etc.

• Planeamento do projecto - análise dos riscos, custos e recursos alocados pelo

projecto, definição de tarefas e plano de execução.

Page 3: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 3

Fase de Desenvolvimento

Identifica-se a solução: como é que as estruturas de dados, arquitectura do produto

e funções serão realizadas; como é que o desenho se traduzirá numa

linguagem de programação; e como serão efectuados os testes do

produto.

Tipicamente engloba três tarefas:

• Desenho - tradução dos requisitos num conjunto de representações (texto,

gráfico) que descrevem a estrutura de dados, arquitectura e funções;

• Codificação - tradução do desenho em instruções;

• Teste - procura e eliminação de defeitos na funcionalidade do produto.

Fase de Manutenção

Focada nas alterações do produto, devidas a erros não detectados nas fases

anteriores ou alterações propostas pelo cliente. Volta a aplicar as fases de

definição e desenvolvimento mas partindo do código já desenvolvido.

Tipicamente, engloba três tipos de tarefas:

• Correcção - eliminação de erros;

• Adaptação - modificação do produto devido a alterações no ambiente;

• Evolução - extensão do produto a pedido do cliente.

Page 4: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 4

Princípios no desenvolvimento de Software

(Diversidade de métodos e técnicas que devem ser seguidas de modo a atingir as

propriedades desejadas quer para o produto quer para o processo.)

• Rigor e formalidade - Aproximação destinada a melhorar a confiabilidade do

produto, produtividade e controlo do processo;

• Separação de preocupações - Separar os diferentes aspectos de um problema

com o intuito de reduzir a complexidade:

- Separação de qualidade - Por exemplo, desenhar um produto correcto e mais

tarde aumentar a sua eficiência;

- Separação de vistas - Por exemplo, analisar separadamente fluxos de dados e

de controlo;

- Separação em partes - Modularidade;

• Modularidade - Decompor o produto em partes; Destinada a aumentar a

compreensibilidade, reutilização e portabilidade do produto. Deve caracterizar-

se por:

- Elevada coesão dos elementos do módulo;

- Reduzida interdependência entre módulos;

• Abstracção - Processo destinado a identificar os aspectos importantes e ignorar

os detalhes

- Principio largamente utilizado em linguagens de programação, algoritmos e

modelos;

• Antecipação das alterações - Facilitar a reparação e alteração do produto;

• Generalidade - Tentar descobrir o problema mais genérico por detrás do

problema a resolver;

• Incrementalidade - Caracteriza um processo que se desenvolve iterativamente.

Page 5: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 5

Caracterização da actividade de análise

Actividades englobadas pela análise:

• Percepção - Envolve o estudo do SSI do sentido de identificar: objectivos,

estrutura, informação relevante, funções a desempenhar e seus requisitos;

• Especificação - Elaboração de um documento de especificação que descreva o

sistema que deve ser construído, independentemente da natureza e tecnologias a

utilizar na implementação. Desta fase resulta um documento de especificação

de requisitos:

- analisado e confirmado pelo cliente;

- utilizado para desenvolver uma solução que realize os requisitos.

Características desejáveis no documento de especificação:

• Recurso a linguagens gráficas, com suporte adequado de detalhe textual, por

forma a facilitar o diálogo entre os intervenientes no processo de informatização

(“Uma imagem vale por mil palavras”);

• Apresentação do problema decompondo-o em sub-problemas de dimensão

tratável;

• Fácil manutenção, de modo a que mais facilmente se efectuem actualizações, o

que implica uma minimização de redundância.

Tipos de intervenientes no processo de análise:

• Utilizadores finais, ou seja, aqueles que vão efectivamente utilizar o sistema

informático que se pretende desenvolver;

• Responsáveis, aos vários níveis hierárquicos da organização, pelas actividades

que se pretende automatizar;

• Analistas, ou seja, técnicos de informática que conduzem à análise.

Page 6: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 6

Algumas dificuldades:

• Estudo a desenvolver contempla novas áreas de conhecimento prático fora da

área de especialidade do analista;

• Processo de análise envolve esforços multidisciplinares que introduzem

problemas de comunicação devido à utilização de “linguagens diferentes”;

• Diferentes concepções da mesma realidade geram descrições inconsistentes

(Por vezes, cada utilizador só refere os aspectos que estão sob a sua

responsabilidade, esquecendo os restantes);

• Problemas de relacionamento pois recolher informações implica contactos

pessoais e os utilizadores nem sempre adoptam uma atitude amigável;

• A resistência à mudança assumida ou “camuflada”;

• A necessidade de consensos entre analistas e utilizadores;

• As constantes e frequentes mudanças nos requisitos;

• A determinação do fim desta actividade

“A análise de sistemas é frustrante, cheia de relacionamentos interpessoais

complexos, indefinida e difícil. Numa só palavra é fascinante. Depois de

experimentada, os antigos prazeres da construção de um sistema nunca mais são

suficientes em termos de satisfação.” (Tom DeMarco, 1978)

Page 7: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 7

Importância da análise

A análise entendida como um processo sistemático de aquisição e representação de

conhecimento, reveste-se de extrema importância, nomeadamente quando se

procura a excelência do software. Alguns dos principais motivos desta importância

incluem:

• Utilidade comprovada, pelo exame dos problemas do passado, que mereceu o

desenvolvimento de metodologias e desencorajou a passagem directa para a

implementação

=> estudos efectuados de determinação da origem dos erros surgidos no

desenvolvimento de programas produziram as seguintes estimativas:

- 64% dos erros são associados à (ausência da) fase de análise & desenho

(apenas 30% destes erros são corrigidos antes da entrega);

- 36% dos erros são atribuídos à fase de codificação (75% destes erros são

corrigidos antes da entrega);

• Apesar de a análise ser uma tarefa que consome tempo, e consequentemente

outros recursos, a contabilização final favorece a sua utilização, com base no

ganho proporcionado em tempo e custos pois:

- promove a aprendizagem, permite antecipar novas necessidades e problemas e

prevenir e detectar falhas prematuramente;

- o tempo e o custo da correcção de problemas aumentam

desproporcionalmente ao longo do ciclo de vida, sendo por vezes impossível

uma correcção adequada (=> “remendos”);

• Proporciona uma base documental comum de grande utilidade, quer para

actividades de desenvolvimento, pelo facto de permitir que diferentes pessoas

trabalhem simultaneamente em diferentes partes do mesmo sistema, quer para a

inevitável actividade de manutenção.

Page 8: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 8

Procedimentos e instrumentos da Análise de Sistemas

Metodologias

Como devem ser organizadas as actividades que levam à realização do produto:

• Considerar todo o ciclo de vida do produto: desde a sua concepção inicial até ao

seu envelhecimento;

• Definir um processo de produção;

• Aplicar os princípios do desenvolvimento de Sistemas de Informação.

Uma metodologia pode ser considerada como um conjunto formado por:

• Técnicas de representação de conhecimento (MODELOS) - representação do

universo do discurso realçando os aspectos considerados mais importantes.

• Estratégias de abordagem ao problema (MÉTODO) - como conduzir o

processo de obtenção de conhecimento sobre o problema em causa e como

conduzir a sua resolução;

• Técnicas de validação do conhecimento obtido, e representado nos modelos, no

que respeita a:

- Coerência (inexistência de informações contraditórias);

- Correcção (adequação à realidade estudada).

Limitações:

• A adesão a uma metodologia não deve ser muito rígida pois, nenhuma

metodologia é perfeita, nem completamente abrangente, sendo necessário

questionar e utilizar bom senso;

• Dada uma metodologia, procedimentos concretos e bons modelos não é possível

impedir a escolha e uso incorrecto e inadequado das ferramentas

proporcionadas.

Page 9: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 9

Modelos

Modelo: representação abstracta de uma realidade, ou seja, representação dos

aspectos de uma realidade considerados relevantes em determinado

contexto e/ou sob determinado ponto de vista.

Construímos modelos para:

• Focalizar aspectos relevantes (essência) do sistema deixando para segundo plano

(abstraindo) aspectos menos importantes, para:

- Discutir alterações e correcções de requisitos do utilizador a baixo custo e com

risco mínimo;

- Verificar se a análise do sistema traduz correctamente o ambiente do utilizador;

• Documentar a análise efectuada de forma a que o sistema possa ser construído

por outros elementos da mesma ou de outra equipa.

Cada modelo dá ênfase a um aspecto do sistema:

características funcionais

estrutura de dados e seus relacionamentos

considerações temporais

=> construir vários modelos

A modelação de um SI pode, numa visão genérica, ser dividida em:

• Modelação de dados - informação relevante e sua estruturação;

• Modelação de processos - circuitos de informação e tratamentos dados á

informação.

Page 10: Conceito de analise de desenvolvivento de sistemas

1 - Introdução 10

Principais tópicos a abordar:

• Introdução aos processos de análise e modelação de sistemas;

• Técnicas de modelação de dados;

• Técnicas de modelação funcional e de comportamento e de descrição de

componentes;

• Estratégias de modelação;

• Metodologias de desenvolvimento de Sistemas de Informação – Análise

Estruturada.