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
- Levantamento muito superficial (simples)
- Validação com usuário. Usuários não valida de acordo,
pois não compreende o que foi modelado
- Desenvolvimento
- Documentação "0" ou RUIM
- Técnica P.O.G. (Programação Orientada a Gambiarra)
- Cronograma apertado
- Entrega Final
- Cliente Insatisfeito
- Horas demais de manutenção
- Problemas
- Prazos curtos
- Custo altos
- Não atendimento dos requisitos
- 1/3 dos projetos são cancelados
- 2/3 dos projetos ficam acima dos custos
- Custo de manutenção do projeto MAIOR que o de
Desenvolvimento
- O que as empresas esperam
- Flexibilidade
- Manutenabilidade
- Rentabilidade
- Aproveitamento do legado
- Interoperabilidade
- Escalabilidade
- Menor tempo de desenvolvimento
- Robustez
- 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
- Software Quality A
- Conversa, análise, busca de informações
- Planejamento de base de dados
- Análise de dados coletados, documentação
- Desenvolvimento efetivo do código do programa
- Estabilização do SW. Testes de validação
-
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
- 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
- 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.
- 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.
- Método
Procedimentos a serem adotados para se atingir um determinado
objetivo, podendo valer-se de um conjunto de técnicas.
- 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.
- Notação
Conjunto de características, símbolos e sinais formando um
sistema convencionado de representação ou designação.
- Ferramentas
Case - ferramentas de apoio à Engenharia de Software
- 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.
- Diagrama
Representação gráfica de um determinado fenômeno. "Aurélio"
Diagramas ajudam a representar idéias de modelagem
- 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.
- 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?
- Comunicação;
- Visão comum do ambiente ANTES da automação;
- Tratar complexidade do problema por níveis de abstração;
-
Representar o ambiente observado e possibilidade o estado do
estudo do comportamento;
- Documentar;
- Representar, avaliar e refinar conceitos do Projeto;
-
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
- O que o software irá automatizar?
-
O que o software irá fazer para atingir seu objetivo independente
de tecnologia?
- Como o software será construido utilizando as tecnologias escolhidas?
- Criação do(s) BD(s) e codificação de regras.
- Verificar e validar o software!(Está fazendo correto? Está fazendo tudo?)
- 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
|