princípios de engenharia de software (análise i) o que são sistemas? –definição de sistema:...

32
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

Upload: internet

Post on 17-Apr-2015

126 views

Category:

Documents


14 download

TRANSCRIPT

Page 1: 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

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

Page 2: 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

– 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)

Page 3: 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

– 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)

Page 4: 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

• 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)

Page 5: 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

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??

Page 6: 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

• 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)

Page 7: 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

• 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)

Page 8: 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

• 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)

Page 9: 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

• 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)

Page 10: 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

• 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)

Page 11: 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

• 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)

Page 12: 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

• 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)

Page 13: 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

• 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)

Page 14: 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

• 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)

Page 15: 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

• 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)

Page 16: 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

• 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)

Page 17: 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

• 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)

Page 18: 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

• 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)

Page 19: 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

• 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)

Page 20: 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

• 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)

Page 21: 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

• 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)

Page 22: 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

• 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)

Page 23: 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

• 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)

Page 24: 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

• 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)

Page 25: 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

– 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)

Page 26: 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

– 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)

Page 27: 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

– 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)

Page 28: 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

• 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)

Page 29: 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

• 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)

Page 30: 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

• 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)

Page 31: 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

• 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)

Page 32: 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

• 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)