GRA6432
Automação Comercial
Competências e Saberes da
Disciplina
Prof. Paulo Alipio Alves de Oliveira
2010
Objetivo Principal
• Na disciplina de Automação Comercial, o aluno terá
contato com ferramentas de desenvolvimento de banco
de dados e programas (dominará as técnicas para
desenvolvimento) e análise via desenvolvimento de
UML e estará apto a codificar e corrigir eventuais erros
de sintaxe e lógica estruturada, através de conceitos de
programação estruturada de sistemas e desenvolver,
através de análise de negócios, análise de processos e
análise de sistemas orientado ao objeto e todo o
planejamento técnico para desenvolver um sistema de
gestão empresarial modular com conexão à um banco
de dados e implementar todo o conhecimento adquirido
para implementação de programas.
2
Raciocínio Lógico e Conhecimento
3
Resultado Desejado
• Aliando conhecimento, experiência, didática, lógica
apurada, percepção para melhor solução dentre
muitas, metodologia, utilização de TI, dentre outros
atributos de um bom analista de sistemas, pode-se
conceber um bom planejamento e
desenvolvimento/criação de uma solução para uma
determinada necessidade/problema chegando-se a
um produto/serviço ideal. Esta será a principal
característica a ser proposta ao acadêmico para o
semestre: atribuição da melhor lógica amparada ao
seu conhecimento e informações.
4
Processos
• Porque não usamos?
–
–
–
–
Sentimento de perda de tempo
Falta de informação
Falta de uma política organizacional
Frases-chave:
• “Já está dando certo do jeito que está”
• “O usuário quer resultado logo”
• “Já dirijo à mais de 30 anos”
• Decidimos usar quando...
– Sentimento de “falta de direção”
– A manutenção de um sistema está saindo “cara” demais
5
Modelo cascata
• Primeiro processo
– Managing the development of large software
systems. W.W.Royce (1970)
– Modelo seqüencial de atividades
• Fortemente inspirado dos processos de
engenharia tradicionais
– “Engenharia de Computação”
– Necessidades  Projeto  Execução
• Atividades
– Análise  Projeto  Codificação  Teste  Manutenção
6
Managing the development of large
software systems. W.W.Royce
• Este modelo é muito simples de entender seu
funcionamento e uso. Royce (1970) caracteriza o
modelo cascata como um processo com a qual
cada fase deve ser terminada completamente antes
da fase seguinte começar. No fim de cada fase,
uma revisão ocorre para determinar se o projeto
está no trajeto correto, dizendo se o fluxo do
processo pode continuar ou não.
• Veja a figura:
7
Modelo Cascata - Royce
8
Modelo cascata
• Suposições
– Todos os requisitos são previamente conhecidos
– Requisitos não mudam
– Usuários sabem o que querem e só precisam ver o sistema quando este
estiver concluído
– Projetos podem ser feitos de maneira completamente abstrata
– Codificação sempre se adequa aos projetos (design)
– Manutenção é trivial
• Evolução
– Fonte
– Espiral
Análise
Testes
Codificação
Testes
Projeto
Projeto
Análise
Codificação
9
Surgiu então o Processo Unificado
• O que é o Processo Unificado (UP)?
– Metodologia de desenvolvimento de software iterativo e
incremental
– Procura estabelecer práticas que visem garantir a produção de
um software de alta qualidade, dentro de um cronograma e
orçamento possível.
• Principais práticas
–
–
–
–
–
–
Desenvolver iterativamente
Gerenciar Requisitos
Usar arquiteturas baseada em componentes
Modelar software visualmente
Verificar continuamente a qualidade do software
Controlar mudanças
10
Visão em espiral do UP
11
Visão Geral
12
Modelo Interativo e Incremental
• O modelo iterativo e incremental é um processo
cíclico de desenvolvimento para atender as
fraquezas do modelo cascata, o mais tradicional. O
modelo iterativo procede usando as lições
aprendidas por cada fase para modificar os
resultados da fase anterior.
• O desenvolvimento iterativo é também referenciado
como desenvolvimento incremental (Hurst, 2007).
13
Conceitos principais
• Componentes estáticos
–
–
–
–
–
Disciplinas
Fluxos
Papéis
Atividades
Artefatos
• Componentes dinâmicos
–
–
–
–
Ciclos
Fases
Iterações
Marcos
14
Conceitos-chave: Disciplina
• Disciplina
– Uma disciplina é um conjunto de atividades relacionadas
a uma “área de interesse” importante em todo o projeto.
– O fluxo de trabalho de uma disciplina é uma seqüência
semi-ordenada das atividades que são realizadas para
alcançar um determinado resultado.
• Tipos
– Relacionadas ao desenvolvimento
• Requisitos, análise e Design, implementação, implantação,...
– Relacionadas ao suporte
• Ger. de projeto, ger. de configuração e mudança, ambiente,...
15
Conceitos-Chave: Fluxo ou WBS
• Fluxo de Trabalho
– Uma simples enumeração de todos os papéis, atividades
e artefatos não constitui um processo;
– É necessária uma forma para descrever as seqüências
significativas das atividades que produzem algum
resultado importante e para mostrar as interações entre
os papéis.
– O fluxo de trabalho é uma seqüência das atividades que
produzem um resultado de valor observável.
16
Conceitos-Chave - Fluxo
17
Conceitos-Chave: Papel
• Define
– Comportamento e as responsabilidades de um indivíduo
ou de um conjunto de indivíduos que trabalham juntos
como uma equipe
• Papéis não são indivíduos
– Descrição do comportamento e das responsabilidades
que eles devem ter.
• Exemplos
– Analista de Sistemas, Designer de Negócio, Revisor de
Requisitos, Implementador, Arquiteto de Software,…
18
Conceitos-Chave: Atividade
• Uma atividade é uma unidade de trabalho que um
indivíduo, desempenhando o papel descrito, pode
ser chamado a realizar.
• Os papéis possuem atividades que definem o
trabalho que executam. Uma atividade é algo que
um papel faz e produz um resultado significativo no
contexto do projeto
• Exemplos
– Avaliar viabilidade do conceito arquitetural
– Estruturar modelo de implementação
“ Perceba que o verbo sempre está no infinitivo”
19
Conceitos-Chave: Artefato
• Um artefato é um produto de
trabalho do processo: os papéis
usam os artefatos para executar
atividades e produzem artefatos
ao executarem as atividades
• As atividades possuem artefatos
de entrada e saída
• Exemplo
Analista de Sistema/
Especificador de Requisitos
Domínio de Negócio e Especificação
de Casos de uso
20
Componentes dinâmicos
• UP é um processo baseado no modelo espiral
– Projeto dividido em ciclos
– Cada ciclo representa uma nova versão (release) do produto
– Cada ciclo possui 4 fases consecutivas
• Fases
– Iniciação ou Visão – definição do escopo
– Planejamento – análise e projeto
– Desenvolvimento ou Construção – desenvolvimento e
integração
– Transição ou Implementação/Instalação/Acompanhamento –
passagem ao “domínio público”
• O final das fases define os principais marcos do projeto
• Cada fase pode ser quebrada em iterações
– Cada iteração resulta em uma nova release (versão)
21
Fase de Iniciação ou Visão
• Objetivos
– Definir o caso de negócio do sistema
• Critério de sucesso, análise de risco,
planejamento de recursos e de tempo
(cronograma)
– Delimitar o escopo do projeto
• Saídas
–
–
–
–
Documento de visão do projeto
Caso de uso inicial (~ 20%)
Caso de negócio do sistema
Planejamento inicial (custo, cronograma,
processo,...)
– Possíveis protótipos (avaliação)
22
Marco da fase de incepção
• O fim da fase é um marco do projeto (milestone),
cujos critérios de avaliação são:
– Tomador de decisão (stakeholder) está de acordo com o
escopo e o custo e tempo estimados
– Requisitos bem compreendidos (a julgar pelo caso de uso
inicial)
– Custos e cronograma correspondem a realidade
– Avaliação dos protótipos desenvolvidos
• O projeto pode ser cancelado ou revisto se não
passar nos critérios desse marco
23
Fase da Planejamento/Elaboração
• Objetivos
– Analisar o domínio do problema
– Definir uma arquitetura de base
– Desenvolver o planejamento do projeto,
de forma a eliminar os maiores riscos
• Visão de um “oceano com um palmo
de profundidade”
• Saídas
–
–
–
–
Caso de uso (~80 %)
Arquitetura do sistema
Protótipo funcional da arquitetura
Planejamento mais detalhado, incluindo
as iterações
– Detalhamento do processo de
desenvolvimento
24
Tarefas na elaboração (1)
25
Tarefas no Planejamento Elaboração (2)
26
Marco da fase de elaboração
• Critérios de avaliação
– A visão do produto é estável?
– A arquitetura proposta é estável?
– O protótipo mostra que os riscos identificados foram
levados em conta e resolvidos?
– O plano para a fase de construção está bem detalhado?
– Os stakeholders concordam que o produto pode ser feito
no planejamento estipulado com a arquitetura proposta?
– Os custos investidos estão de acordo com o planejado?
27
Fase de Construção Desenvolvimento
• Objetivos
– Desenvolver os componentes e funcionalidades da
aplicação
– Integrar e testar os componentes
• Saídas
– O produto integrado e testado
– Manual do usuário
– Descrição da versão atual do produto
28
Marco da fase de construção
• Critérios de avaliação
– O produto está suficientemente estável e maduro para
ser colocado a disposição?
– Todos os stakeholders estão satisfeitos em colocar o
produto à disposição?
– Os custos investidos ainda estão de acordo com o
planejado?
• A fase de transição pode ser adiada se os critérios
falharem
29
Fase de transição
• Objetivos
– Realizar a transição do software aos usuários
• Inclui
–
–
–
–
–
Beta-testing
Treinamento dos usuários
Conversão das bases de dados funcionais
Execução paralela com o sistema que estará substituindo
Envio do produto ao marketing e vendas
30
Marco da fase Transição – Implementação –
Instalação - Acompanhamento
• Critérios de avaliação
– O usuário está satisfeito?
– As despesas reais com recursos são aceitáveis se
comparadas com as planejadas?
• Final
– Reiniciar um novo ciclo de vida com uma nova versão do
produto
– Manutenção total dos artefatos para terceiros que serão
responsáveis pela manutenção
– Comercialização do produto
31
Resumindo….
32
Artefatos
Documento
Iniciação
Elaboração
Construção
Transição
Análise de Domínio de Negócio
80%
13%
5%
2%
Arquitetura de Software
10%
70%
10%
10%
Camada de Dados
5%
45%
40%
10%
Especificação de Casos de Uso
50%
10%
30%
10%
Realização de Casos de Uso
0%
75%
20%
5%
Implementação
0-5%
30-40%
50-60%
0-5%
33
Download

Document