320 likes | 402 Views
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
E N D
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
Princípios de Engenharia de Software (Análise I) • 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) • O que são Sistemas de Informação? • Sistemas que geram informação !! • Sistemas nos quais podemos extrair informação. EXEMPLOS??
Princípios de Engenharia de Software (Análise I) • 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.