princípios de engenharia de software (análise i) o que são sistemas? –definição de sistema:...
TRANSCRIPT
Princípios de Engenharia de Software (Análise I)
• O que são Sistemas?
– Definição de SISTEMA:
• Dicionário:
– 1. Um grupo de itens que interagem entre si ou que sejam inter-dependentes, formando um todo unificado
– 2. Um conjunto organizado de doutrinas, idéias ou princípios, habitualmente previsto para explicar a organização ou funcionamento de um conjunto sistemático
– Definição de SISTEMA:• Continuação:
– 3. Um procedimento organizado ou estabelecido. Uma maneira de classificar, simbolizar ou esquematizar
– 4. Organização armoniosa ou modelo: ORDEM
– 5. Sociedade organizada
Princípios de Engenharia de Software (Análise I)
– Tipos de SISTEMA:• Sistemas Naturais:
– Sistemas Estelares: galáxias, sistema solar etc
• Sistemas Feitos pelo Homem:
– Sistemas Sociais: organização de leis, costumes etc– Sistemas de Comunicação: telefone, telex, sinais de fumaça
etc– Sistemas Automatizados (HW, SW, pessoas, dados,
procedimentos)
– Sistemas de tempo real, Sistemas de apoio a decisão, Sistemas baseados em conhecimento e outro...
Princípios de Engenharia de Software (Análise I)
• Ainda falando de Sistemas:
• Conceito de Subsistemas• Sistemas que fazem parte de Sistemas
• Ex. de Sistema - Navio
• Ex. de Subsistema de Navio:
– Sistema de comunicação
– Sistema de escotilhas
– Sistema de combate, casa de máquinas etc
Princípios de Engenharia de Software (Análise I)
Princípios de Engenharia de Software (Análise I)
• O que são Sistemas de Informação?
– Sistemas que geram informação !!
– Sistemas nos quais podemos extrair informação.
EXEMPLOS??
• Todos os exemplos apresentados possuem uma coisa em comum: eles são sistemas. Embora possam ser diferentes de várias maneiras, eles compartilham muitas características em comuns. O estudo dessas “características comuns” é conhecido como “teoria geral de sistemas”.
• Alguns princípios “gerais” para a construção de Sistemas Automatizados de Informações - diga-se de passagem, é o que nós iremos estudar.
Princípios de Engenharia de Software (Análise I)
• Alguns Princípios:
– Quanto mais especializado é um sistema, menos capaz ele é de se adaptar a circunstâncias diferentes.
– Quanto maior for um sistema, maior o número de seus recursos que serão destinados à manutenção diária.
– Os sistemas sempre fazem parte de sistemas maiores e sempre podem ser divididos em sistemas menores.
Princípios de Engenharia de Software (Análise I)
• Então, um Sistema pode ser definido como “Um grupo de elementos interativos, inter-relacionados, ou inter-dependentes que formam ou parecem formar uma entidade coletiva”, ou, “Mecanismo composto de várias partes que agem de maneira coordenada para prestar serviços a uma área de negócios onde estão seus usuários”, ou ainda, “Conjunto de elementos inter-relacionados que possuem características comuns e que podem ser entendidos com um todo”.
• Nosso objetivo é Modelar Sistemas que tem como um dos processadores o computador.
Princípios de Engenharia de Software (Análise I)
• Mas o que vem a ser Modelar ou Modelagem ?
– “Operação de representar a REALIDADE através de um modelo”.
• Por que modelar ? Existem diversas razões:– Facilitar a compreensão e a visualização
– Facilitar a comunicação
– Validar a custo baixo
– Prover uma documentação
Princípios de Engenharia de Software (Análise I)
• Aproveitando que estamos falando de Modelagem, vamos conceituar o termo ABSTRAÇÃO:
– “Ato de separar mentalmente elementos de uma totalidade complexa, seja material, representação ou fato real”.
Princípios de Engenharia de Software (Análise I)
• Principais Enfoque dos Métodos de Análise de Sistemas:
• Enfoque baseado em FUNÇÃO:• “Representação do Sistema através das suas Funções”• ex: Folha de Pagamento
– Problemas deste enfoque:• Esquece os dados• Dificuldade de se obter módulos coesos e com baixo
acoplamento
Princípios de Engenharia de Software (Análise I)
• Continuação: Enfoque baseado em FUNÇÃO
– Técnicas:• O&M• Análise Estruturada• Análise Essencial• Análise Estruturada Moderna
• Enfoque ou Modelagem de DADOS:• “Representação do Sistema através dos seus Dados”• Dado = matéria prima da informação
Princípios de Engenharia de Software (Análise I)
• Continuação: Enfoque baseado em DADOS:
– Técnicas:
• Estrutura de Dados
• Projeto de Banco de Dados, Normalização
• Modelo E-R (Principal Ferramenta - DER)
• Modelo E-R Estendido
– Problema deste Enfoque:
• Se preocupa muito com Dados, esquece a Funcionalidade
Princípios de Engenharia de Software (Análise I)
• Enfoque ou Modelagem ORIENTADO A OBJETO:
– “Representação do Sistema através de Objetos”
• Principal característica: ENCAPSULAMENTO (reúne DADOS e FUNÇÕES)
– Técnicas:
• Programação OO
• Análise e Projeto OO
Princípios de Engenharia de Software (Análise I)
• Fatores Críticos de todo o processo de Análise e Projeto de Sistemas:
– Documentação• Posterior• Incompleta• Desatualizada
– Comunicação• Entre fases de processo• Entre as pessoas envolvidas
Princípios de Engenharia de Software (Análise I)
• Continuação dos Fatores Críticos:
– Complexidade
– Falta de consenso
– Mudanças constantes
– Exemplo:
• Analista X Usuário
– Comunicação - fala e balanço
Princípios de Engenharia de Software (Análise I)
• Papel do Analista:
– O Analista deve ser responsável pela comunicação com todos os usuários. Ele é o principal elo de ligação entre a área usuária e o esforço de implementação.
– O Analista de Sistemas não deve ter apenas a capacidade de desenhar diagramas técnicos, precisa ter habilidade com as pessoas, conhecimento de aplicações e habilidade em processamento.
Princípios de Engenharia de Software (Análise I)
• Processo de Desenvolvimento de Sistemas de Informação
– As metodologias são utilizadas para definir os processos de desenvolvimento, bem como promover modelos para representar abstrações e diretivas para orientação do trabalho.
– O Processo de desenvolvimento de sistemas de informação, também chamado ciclo de vida, abrange todas as atividades necessárias para definir, desenvolver, testar, operar e manter um sistema.
Princípios de Engenharia de Software (Análise I)
• Ciclo de Vida de Sistemas de Informação:– Ciclo de Vida Clássico:
Requisitos --> Análise
Requisitos avaliados --> Projeto
Requisitos detalhados --> Implementação
Programas --> Testes
--> Sistema Testado e Implantado
--> Manutenção
Princípios de Engenharia de Software (Análise I)
• Modelo Espiral do Ciclo de Vida: Prototipação Evolutiva:
– Planejamento Avaliação dos riscos: pessoal, equip. – Teste ou avaliação Prototipação
– Um pouco de Levantamento de Requisitos– Um pouco de Análise– Um pouco de Projeto (Protótipo)– Implementa– Evolui com o Protótipo (Refinamento) ...
Princípios de Engenharia de Software (Análise I)
• Metodologia da Análise Essencial e Projeto Estruturado de Sistemas:
– A Análise Essencial (também conhecida com Análise Estruturada Moderna) tem um enfoque moderno de modelagem de sistemas que se baseia no particionamento por eventos e objetos.
– A AE baseia-se em princípios que buscam a essência do sistema.
– Abordagem “middle-out”.
Princípios de Engenharia de Software (Análise I)
• Fases do Ciclo de Vida da Análise Essencial:
– Fase 1 - Levantamento de Requisitos:
• Também conhecida como estudo de viabilidade ou estudo inicial das atividades, ocupa somente 5% a 10% do tempo e dos recursos de todo projeto.
• Embora não venha a consumir muito tempo e recurso, esta fase é crítica, pois ao fim pode-se decidir cancelar o projeto, principalmente do ponto de vista custo/benefício.
Princípios de Engenharia de Software (Análise I)
• Os principais objetivos da fase de Levantamento são:
– Identificar os usuários responsáveis e desenvolver um “escopo” inicial do sistema
– Identificar as atuais deficiências no ambiente do usuário
– Estabelecer metas e objetivos para um novo sistema
– Construção do modelo do sistema atual
– Determinar se é possível automatizar o sistema e, se assim for sugerir alguns esquemas aceitáveis
Princípios de Engenharia de Software (Análise I)
• Algumas “ferramentas” ou técnicas utilizadas na fase de Levantamento de requisitos ou coleta de fatos:
– Questionário
• Submeter questionamentos impressos a indivíduos para obter informação quanto a seus papéis e uso do sistema.
– Observação
• Observação do sistema em processo para verificar e registrar fatos e eventos sobre sua operação.
Princípios de Engenharia de Software (Análise I)
– Entrevista
• Encontro com indivíduos ou grupos para perguntar sobre seus papéis e o uso do sistema. Usada, por exemplo, na metodologia JAD (“Joint Application Design” - IBM):
– Figura do facilitador
– Sessão estratégica: participam gerentes, usuários relevantes, analistas e outros
– Sessão de dados/processos (política empresarial, fluxos ...)
– Sessão de telas e relatórios
Princípios de Engenharia de Software (Análise I)
– Amostragem
• Escolha de determinadas partes ou de determinados instantes na execução de um serviço para a contagem ou estimativa.
• Usada, por exemplo, na coleta de dados referentes a volumes de trabalho ou de custos operacionais de uma seção ou departamento.
Princípios de Engenharia de Software (Análise I)
– Revisão de Documentação
• Revisão das especificações registradas que descrevem os objetivos, procedimentos, relatórios produzidos, equipamento usado, etc., no sistema.
Princípios de Engenharia de Software (Análise I)
• Fases do Ciclo de Vida da Análise Essencial:
– Fase 2 - Análise:• Propósito - definir e modelar “o que” o sistema irá fazer,
independente da tecnologia que será utilizada. Isto envolve a modelagem do ambiente do usuário com diagramas de fluxo de dados, diagrama de entidade-relacionamento e outras ferramentas.
• Nesta fase são desenvolvidos um modelo ambiental e um modelo comportamental. Estes modelos combinam para formar o modelo essencial que representa uma descrição formal do que o novo sistema deve fazer, independente da tecnologia.
Princípios de Engenharia de Software (Análise I)
• Fases do Ciclo de Vida da Análise Essencial:
– Fase 3 - Projeto:
• Objetivo - definir a melhor tecnologia, levando em conta todas as características que o sistema deverá possuir e que foram levantadas na fase de análise.
• Algumas atividades desta fase:
– Ambiente de Hw e Sw
– Estruturação em Módulos
– Projeto de Banco de Dados
– Hierarquia do Sistema e etc...
Princípios de Engenharia de Software (Análise I)
• Fases do Ciclo de Vida da Análise Essencial:
– Fase 4 - Implementação
• O principal desta etapa é codificar, integrar módulos e criar o banco de dados. Esta é uma uma etapa que (tipicamente) o analista de sistemas não está envolvido.
• Durante ou após a implementação, deve-se gerar um grupo de casos de testes de aceitação a partir da especificação estruturada.
Princípios de Engenharia de Software (Análise I)
• Fases do Ciclo de Vida da Análise Essencial:
– Fase 5 - Teste:– Fase 6 - Implantação:
• O objetivo desta fase é implantar o sistema nas instalações do usuário.
• Nesta etapa são prontificados os manuais, os arquivos são carregados, o sistema é instalado e os usuários são devidamente treinados.
• O trabalho executado no sistema após a implantação é denominado de manutenção, a qual pode ser corretiva ou evolutiva.
Princípios de Engenharia de Software (Análise I)
• Fases do Ciclo de Vida da Análise Essencial:
– Fase 7 – Manutenção:
• O objetivo desta fase é implantar o sistema nas instalações do usuário.
• Nesta etapa são prontificados os manuais, os arquivos são carregados, o sistema é instalado e os usuários são devidamente treinados.
• O trabalho executado no sistema após a implantação é denominado de manutenção, a qual pode ser corretiva ou evolutiva.
Princípios de Engenharia de Software (Análise I)