Análise e Projeto de Sistemas I
Notas de aula



Aula dia 07/08/2007

Como podemos definir essa disciplina:
  • Análise
  • Levantamento de Necessidade
  • Processos
  • Definição de Requisitos
  • Modelagem
  • Protótipos
  • Definição das Regras de Negócio
  • Documentação de caso de Uso
  • Qualidade
  • Escopo
  • Projeto de Sistemas
  • Controle
  • Custo
  • Prazo
  • Recursos
  • Processos
  • Risco
  • Mudança
  • Esforço

Cenário Atual
  1. Levantamento muito superficial (simples)
  2. Validação com usuário. Usuários não valida de acordo, pois não compreende o que foi modelado
  3. Desenvolvimento
  4. Documentação "0" ou RUIM
  5. Técnica P.O.G. (Programação Orientada a Gambiarra)
  6. Cronograma apertado
  7. Entrega Final
    1. Cliente Insatisfeito
    2. Horas demais de manutenção
  8. Problemas
  9. Prazos curtos
  10. Custo altos
  11. Não atendimento dos requisitos
  12. 1/3 dos projetos são cancelados
  13. 2/3 dos projetos ficam acima dos custos
  14. Custo de manutenção do projeto MAIOR que o de Desenvolvimento
  15. O que as empresas esperam
  16. Flexibilidade
  17. Manutenabilidade
  18. Rentabilidade
  19. Aproveitamento do legado
  20. Interoperabilidade
  21. Escalabilidade
  22. Menor tempo de desenvolvimento
  23. Robustez
  24. Menor risco

Tendências
  • Fábrica de Software
  • Extreme prog.
  • CMM
  • RUP (Regional Unic Proccess)
  • Frameworks
  • Métricas
  • Automação de testes
  • SW componentes
  • Controle de versão
  • Reutilização do código
  • UML (Unic Model Language)
  • Ferramentas WorkFlow

CRONOGRAMA DE UM PROJETO

S
Q
A

Concepção
20%

Plan
10%

Análise
Proj.20%

Desenvolvimento
40%

Estab.
10%

Mudança Requisitada


Qualidade de Software
  1. Software Quality A
  2. Conversa, análise, busca de informações
  3. Planejamento de base de dados
  4. Análise de dados coletados, documentação
  5. Desenvolvimento efetivo do código do programa
  6. Estabilização do SW. Testes de validação
  7. Mudança de requisitos (a qualquer momento momento podemos mudar regras, com ajustes no cronograma.

Voltar ao Início



Aula dia 09/08/2007

Conceitos
  1. Engenharia de Software
    - Software
    - Tipos de Softwares
    • Básico (Interação com hardware)
    • Tempo Real (monitorando, analisando, controlando, respondendo)
    • Técnico (baseado algorítmo de processamento e simulação numérica)
    • Embutido (residente em memória)
    • De apoio
    • Especialista
    • Comercial
    • Jogos

  2. Metodologia
    Maneira de se utilizar um conjunto coerente e coordenada de métodos para atingir um objetivo de modo que se evite a subjetividade na execução do trablaho.

  3. Processos
    - Sequência de passos executados com algum propósito.
    - O que as pessoas fazem utilizando procedimentos, métodos, ferramentas e equipamentos para transformar matéria-prima em produto que possua MAIOR valor para o cliente.

  4. Método
    Procedimentos a serem adotados para se atingir um determinado objetivo, podendo valer-se de um conjunto de técnicas.

  5. Técnica
    Modo apropriado de se investigar sistematicamente um determinado universo de interesse ou domínio de um problema, e cuja expressão é feita por meio de uma ou mais notações.

  6. Notação
    Conjunto de características, símbolos e sinais formando um sistema convencionado de representação ou designação.

  7. Ferramentas
    Case - ferramentas de apoio à Engenharia de Software

  8. Modelo
    - Representação abstrata e simplificada de um sistema real, com o qual se pode explicar ou testar o seu comportamento, em todo ou em partes.
    - O conhecimento humano é composto de modelos do mundo real ou de modelos criados a partir de outros existentes em nossa mente.

  9. Diagrama
    Representação gráfica de um determinado fenômeno. "Aurélio"
    Diagramas ajudam a representar idéias de modelagem

  10. Abstração
    - Ato de separar mentalmente um ou mais elementos de uma totalidade complexa, os quais mentalmente podem substituir fora dessa totalidade."Aurélio"
    - Processo mental através do qual selecionamos algumas características e propriedades de um conjunto de objetos e excluímos outras não relevantes
    - "Desconsiderar o que não interessa"
    - Níveis de abstração, detalhamento das características de sistema no modelo.

  11. Modelagem
    - Criar a partir de uma parcela do mundo real ou de outro modelo.
    - Representamos as características do mundo real que são do nosso interesse, ou seja, que são relevantes para o propósito da modelagem.
    - Por que modelar?
  12. Comunicação;
  13. Visão comum do ambiente ANTES da automação;
  14. Tratar complexidade do problema por níveis de abstração;
  15. Representar o ambiente observado e possibilidade o estado do estudo do comportamento;
  16. Documentar;
  17. Representar, avaliar e refinar conceitos do Projeto;
  18. Servir como suporte para negociações e especificações de requisitos e possibilidades futuras para o sistema;

Voltar ao Início



Aula dia 13/08/2007

Desenvolvimento de Software

Desenvolver não é somente modelar e escrever código e criar aplicações que resolvam problemas dos usuários. É fazer isso dentro do prazo de forma precisa e com ALTA QUALIDADE.Scott Ambler

Problema a ser resolvido como qualquer outro:
- Por que?
- O que fazer?
- Como fazer?

Visão Esquemática



Modelos de ciclo de Desenvolvimento

- Modelo Clássico (Waterfall)

Visão esquemática

Funcionamento

  1. O que o software irá automatizar?
  2. O que o software irá fazer para atingir seu objetivo independente de tecnologia?
  3. Como o software será construido utilizando as tecnologias escolhidas?
  4. Criação do(s) BD(s) e codificação de regras.
  5. Verificar e validar o software!(Está fazendo correto? Está fazendo tudo?)
  6. Instalar e configurar o software para início da operação.

- Prototipação

 

Voltar ao Início



Aula dia 06/09/2007

Visão geral

Descreve o que o sistema de modo breve.
Objetivo é esclarecer a respeito do que se trata o sistema.
Exemplo: Sistema de controle de locações de vídeo locadora.

Objetivo

Descreve os motivos da criação do sistema ou seja "o porquê".
Exemplo: Tornar mais rápido o atendimento ao cliente durante o processo de locação e devolução de filmes.

Cenário atual

Descreve de forma clara o cenário atual, envolvendo procedimentos (filtro de trabalho).

Cenário proposto

Descrever, baseado na necessidades, o "como" o sistema irá ficar e se comportar (fluxo de trabalho).

Dificuldades

Descrever, baseando no cenário atual, quais são as dificuldades / necessidades encontradas no procedimento de trabalho.

Requisitos funcionais (funções do sistema)

Detalhar o que será e NÃO será feito pelo sistema.
Exemplo:
 - Registrar locações;
 - Registrar devoluções;
 - Calcular multa, em caso de atraso na devolução;
 - O sistema deve permitir pesquisar filmes por parte no nome do título ou autor;
 - O cliente deve pagar no momento da locação;
 - Deve permitir visualizar uma lista de devoluções pendentes;
 - Os filmes devem ser separados por categorias;
 - Impedir locação para cliente com pendência (multa por atraso)

Requisitos não funcionais (características do sistema)

Detalhar quais as caracteristicas e limitações do sistema.
Exemplo:
 - O sistema deve suportar 1.000 clientes;
 - O sistema deve suportar 250.000 locações;
 - O sistema deve suportar 20.000 títulos (DVD);
 - Tempo de resposta tem que ser inferior a 2 segundos.

Voltar ao Início



Aula dia 20/09/2007

Exercício:

Descreva quais são os passos para identificar o erro identificado por José, conforme imagem abaixo.

Resposta: Isolar Rotina B no ponto 2 e analisar dados recebidos, com isso podemos analisar se o problema está na Rotina A ou na Rotina B

Exemplo de Caso de Uso (UC):

Nome do cenário: O paciente marca, cancela ou altera o horário da consulta.
Descrição:

Evento acionador: O paciente liga e solicita a marcação de uma consulta ou pede para cancelar um consulta existente.
Tipo : Externo;


 

Entradas Importantes

Saídas Importantes

    Horário de Consulta - banco de dados  
    Nome paciente - paciente  
    Horário de Consulta - paciente  
    Consulta alt/canc - paciente  
    Observação paciente - banco de dados  
    Horário disponível - banco de dados  


Etapas Principais Executadas

Informações de etapas

    Se for alteração ou cancelamento, localize horário marcado.     Nome do paciente
    Verifique se paciente é cadastrado e não tem nada pendente  
    Se for paciente novo execute UC Cadastro paciente  
    Com informação do paciente encontre horário para paciente a ser agendado     Horário a ser revisado

 

Voltar ao Início



Aula dia 27/09/2007

Exercício:

Baseado em um site da Internet diga quais são os requisitos desse site:

 Resposta:

Site analisado: http://www.americanas.com.br

Objetivo do site: Vendas on-line

Requisitos:
- Gerenciamento de produtos
   - Cadastro de produto;
   - Registro de estoque;
   - Pesquisa por descrição ou tipo de produto.
- Gerenciamento de departamentos
   - Cadastro dos departamentos;
   - Pesquisa de produtos por departamento.
- Gerenciamento de clientes
   - Cadastro dos departamentos;
   - Envio de mensagens eletrônicas com promoções.
- Gerenciamento de Vendas
   - Cadastro de formas de pagamento;
   - Cadastro de pedidos;
   - Notificações com posição do pedido, por e-mail;
   - Gerenciamento de entrada do produto.

Exemplo visual:

Voltar ao Início