análise e projeto de sistemas - facom.ufu.br · faculdade de computação 4 paradigmas da...
TRANSCRIPT
![Page 1: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/1.jpg)
Faculdade de Computação
Análise e Projeto de Sistemas
Prof. Dr. Ronaldo Castro de [email protected]
www.facom.ufu.br/~ronaldooliveiraFACOM - 2018
![Page 2: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/2.jpg)
Faculdade de Computação
Paradigmas e Processo de Software
![Page 3: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/3.jpg)
Faculdade de Computação
3
Engenharia de Software: Abrangência Engenharia de Software possui 3 elementos
fundamentais: métodos: “como fazer”
ferramentas: apoio automatizado aos métodos.
Procedimentos: elo de ligação entre os métodos e os procedimentos
Existem diversos Paradigmas de Engenharia de Software: abordagens que envolvem estes métodos,
ferramentas e procedimentos
![Page 4: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/4.jpg)
Faculdade de Computação
4
Paradigmas da Engenharia de Software
Existem diversos paradigmas de software, dentre eles: Desemvolvimento Caótico
Modelo Clássico
Modelo de Prototipação
Modelo Espiral
Técnicas de 4a Geração
Modelo de Entrega Evolutiva
![Page 5: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/5.jpg)
Faculdade de Computação
5
Ciclo de Vida Caótico
![Page 6: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/6.jpg)
Faculdade de Computação
6
Ciclo de Vida Clássico (I)
![Page 7: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/7.jpg)
Faculdade de Computação
7
Ciclo de Vida Clássico (II)
Problemas:
projetos reais não seguem um fluxo seqüencial: dificuldade de acomodar mudanças depois de iniciado.
Dificuldade de declaração de todas as exigências pelo cliente.
Paciência!
![Page 8: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/8.jpg)
Faculdade de Computação
8
Modelo de Prototipação (I)
![Page 9: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/9.jpg)
Faculdade de Computação
9
Modelo de Prototipação (II)
Problemas: o cliente pega em mãos um produto
inacabado e sem qualidade e exige ótimo funcionamento
devido a rapidez com que o protótipo é implementado o programador pode fazer concessões que futuramente podem ser esquecidas, piorando assim a qualidade do produto
![Page 10: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/10.jpg)
Faculdade de Computação
10
Modelo Espiral (I)
![Page 11: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/11.jpg)
Faculdade de Computação
11
Modelo Espiral (II)
1. Planejamento determinação dos
objetivos, alternativas e restrições;
2. Análise de Riscos análise de alternativas
e identificação e resolução dos riscos;
3. Engenharia desenvolvimento do produto
no “nível seguinte”;
4. Avaliação feita pelo cliente avaliação
dos resultados da engenharia do produto
![Page 12: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/12.jpg)
Faculdade de Computação
12
Técnicas de 4a Geração (I)
![Page 13: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/13.jpg)
Faculdade de Computação
13
Técnicas de 4a Geração (II)
Abrange um amplo conjunto de ferramentasde software que têm uma coisa em comum:cada uma delas possibilita que odesenvolvedor de software especifiquealgumas características num software numnível elevado. A ferramenta gera então,automaticamente, o código fonte, tendocomo base a especificação do desenvolvedor.
![Page 14: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/14.jpg)
Faculdade de Computação
14
Técnicas de 4a Geração (III)
Inclui as seguintes ferramentas:
linguagens não procedimentais para consultas debancos de dados;
geração de relatórios;
manipulação de dados;
interação e definição de todos;
geração de código;
capacidade gráfica de alto nível;
capacidade de planilhas eletrônicas.
![Page 15: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/15.jpg)
Faculdade de Computação
15
Técnicas de 4a Geração (IV)
Resumo da abordagem 4GT Com raras exceções as 4GT limitam-se a aplicações
comerciais, especificamente, análise de informações e relatórios ligados a grandes bancos de dados.
Os dados coletados com o uso de 4GT parecem indicar que o tempo exigido para se produzir software é reduzido para aplicações pequenas e médias.
O uso das 4GT para grandes sistemas exige tanto ou mais análise, planejamento e testes para conseguir as significativas economias de tempo que podem ser obtidas por meio da eliminação da atividade de codificação.
![Page 16: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/16.jpg)
Faculdade de Computação
16
Entrega Evolutiva (I)
![Page 17: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/17.jpg)
Faculdade de Computação
17
Entrega Evolutiva (II)
Combinação dos modelos de Cascata e Prototipagem em Espiral.
Permite, em pontos bem definidos, que os usuários possam avaliar partes do produto e fornecer realimentação quanto às decisões tomadas.
Facilita o acompanhamento do processo de cada projeto, tanto pelos gerentes como dos clientes.
![Page 18: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/18.jpg)
Faculdade de Computação
Conceitos de Gestão em Software
![Page 19: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/19.jpg)
Faculdade de Computação
19
Gestão em Software
• O que está envolvido quando recebemos a incumbência de desenvolver um software?
▪ Produto
▪ Processo
▪ Construção
▪ Pessoal
![Page 20: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/20.jpg)
Faculdade de Computação
20
Gestão em Software
O produto
▪ Qual é o problema do cliente?
▪ O que o cliente deseja?
O software está alinhado com o negócio do cliente?
Quais são as funcionalidades e as restrições do software?
![Page 21: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/21.jpg)
Faculdade de Computação
21
Gestão em Software
O produto
▪ O que mais precisamos descobrir a respeito do produto?
Qual é o prazo de entrega?
Qual é o custo?
Qual é a diferença entre custo e preço?
![Page 22: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/22.jpg)
Faculdade de Computação
22
Gestão em Software
O processo
▪ Quais são as etapas para a produção do produto e como estas se relacionam?
▪ Que tarefas estão relacionadas a cada etapa?
▪ O processo está adequado às necessidades do produto/cliente?
![Page 23: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/23.jpg)
Faculdade de Computação
23
Gestão em Software
A construção
▪ Quais são os riscos do produto?
▪ Afeta prazos e custo.
▪ A equipe tem a aptidão necessária?
▪ A equipe está motivada?
▪ Qual será a intensidade dos testes einspeções?
![Page 24: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/24.jpg)
Faculdade de Computação
24
Gestão em Software
Cliente
Usuários - Pessoal Operativo;
Gerentes;
Diretoria;
Fornecedor Analista de Negócios
Gerente de Projetos
Analistas de Sistemas;
Projetistas de Sistemas;
Programadores;
Testadores;
Pessoal de implantação e treinamento
Pessoal de Suporte Manutenção
Auditores, pessoal de controle e qualidade
O pessoal: Que pessoas estão envolvidas no desenvovimento de um software?
![Page 25: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/25.jpg)
Faculdade de Computação
25
Gestão em Software
Pessoal▪ Quais devem ser as preocupações com o
pessoal? Comunicação
Confiança
Distribuição de aptidões
Coesão
▪ “Trabalhar com pessoas é difícil, mas não impossível.” (Peter Drucker)
![Page 26: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/26.jpg)
Faculdade de Computação
26
Gestão em Software
Pessoal
▪ Como se organiza uma equipe?
Paradigma Fechado: Hierarquia tradicional de autoridade.
Paradigma Aleatório: Iniciativa individual de seus membros (caos).
Paradigma Aberto: Mescla (Fechado + Aleatório); Decisões em consenso.
Paradigma Síncrono: Organizada em torno da decomposição do problema. Pouca interação.
![Page 27: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/27.jpg)
Faculdade de Computação
27
Gestão em Software
Considerações Finais▪ Não perca o foco:
Por que o software está sendo desenvolvido?
O que vai ser feito?
Quando vai ser feito?
Quem vai fazer?
Onde eles estão?
Como o trabalho será conduzido?
Quanto recurso será dispendido?
![Page 28: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/28.jpg)
Faculdade de Computação
Processo de Software
![Page 29: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/29.jpg)
Faculdade de Computação
29
Processo de Software
O que se espera da ESOF?
Processo de construção de software
Modelos, ferramentas, padrões, qualidade, prazos e custos estimados.
O que é um processo de software?
Sequência de atividades (e resultados associados) que levam à produção de um software de qualidade.
![Page 30: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/30.jpg)
Faculdade de Computação
30
Processo de Software
Atributos de qualidade de um software
Manutenabilidade
Robustez
confiabilidade
proteção
segurança
Eficiência
Usabilidade
![Page 31: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/31.jpg)
Faculdade de Computação
31
Processo de Software
Custos associados ao software
Desenvolvimento
Especificção
Análise e desenho
Implementação.
Integração eTeste
25%
25%
25%
25%
![Page 32: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/32.jpg)
Faculdade de Computação
32
Processo de Software
Custos associados ao software
Evolução
Desenvolvimento
Manutenção/ Evolução
25%
75%
![Page 33: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/33.jpg)
Faculdade de Computação
33
Processo de Software
Alguns desafios para a ESOF
Sistemas Legados
Heterogenidade dos ambientes
Entrega
no prazo especificado
dentro do custo estimado
sem erro
![Page 34: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/34.jpg)
Faculdade de Computação
34
Processo de Software
Ética na ESOF
Aspectos relacionados a
confidencialidade
competência
propriedade intelectual
mal uso do computador
![Page 35: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/35.jpg)
Faculdade de Computação
Cronograma de Projeto a ser Desenvolvido
![Page 36: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/36.jpg)
Faculdade de Computação
36
Cronograma de Projeto
O curso de Análise e Projeto de Sistemas desenvolve um projeto completo de um sistema usando os métodos apresentados em aula:
Grupos de no máximo 4 alunos
O sistema a ser desenvolvido será escolhido pelos alunos.
![Page 37: Análise e Projeto de Sistemas - facom.ufu.br · Faculdade de Computação 4 Paradigmas da Engenharia de Software Existem diversos paradigmas de software, dentre eles: Desemvolvimento](https://reader031.vdocuments.mx/reader031/viewer/2022022717/5c2cb1c709d3f29a638d3c60/html5/thumbnails/37.jpg)
Faculdade de Computação
37
Cronograma de Projeto Cronograma:
Etapa 1 (20/03) - 2 pontos - Definição das equipes e do sistema a ser desenvolvido Etapa 2 (03/04) - 3 pontos - Identificação das necessidades, coleta inicial de dados
com estudo de viabilidade do sistema Template 1 - Documento de Modelagem de Negócio
Etapa 3 (17/04) - 3 pontos - Análise Estruturada de Sistemas (Lista de eventos, diagrama de contexto, diagrama de fluxo de dados completo e modelo de entidade e relacionamento notação Chen)
Template 2 - Documento de Análise Estruturada
Etapa 4 (28/05) - 3 pontos - Análise, especificação e validação dos requisitos (diagrama de caso de uso com especificação dos completa dos cenários)
Template 3 - Documento de Requisitos de Projeto
Etapa 5 (11/06) - 3 pontos - Análise de Sistemas (modelo conceitual de objetos, diagrama de estado de objetos e diagramas de sequência)
Template 4 - Documento de Análise do Sistema
Etapa 6 (25/06) - 3 pontos - Projeto do Sistema (diagrama de entidade e relacionamentos - DER, diagrama de classe, diagramas de atividades, especificação da arquitetura do sistema com diagrama de implantação, definição de padrões de interface e relatórios, protótipo do sistema)
Template 5 - Documento de Projeto do Sistema
Etapa 7 (10/07) - 3 pontos - Avaliação final de todos os templates