modelagem de software - ufu
TRANSCRIPT
![Page 1: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/1.jpg)
Faculdade de Computação
Modelagem de Software
Prof. Dr. Ronaldo Castro de [email protected]
www.facom.ufu.br/~ronaldooliveiraFACOM - 2018
![Page 2: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/2.jpg)
Faculdade de Computação
Paradigmas e Processo de Software
![Page 3: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/5.jpg)
Faculdade de Computação
5
Ciclo de Vida Caótico
![Page 6: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/6.jpg)
Faculdade de Computação
6
Ciclo de Vida Clássico (I)
![Page 7: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/8.jpg)
Faculdade de Computação
8
Modelo de Prototipação (I)
![Page 9: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/10.jpg)
Faculdade de Computação
10
Modelo Espiral (I)
![Page 11: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/12.jpg)
Faculdade de Computação
12
Técnicas de 4a Geração (I)
![Page 13: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/16.jpg)
Faculdade de Computação
16
Entrega Evolutiva (I)
![Page 17: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/18.jpg)
Faculdade de Computação
Conceitos de Gestão em Software
![Page 19: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/28.jpg)
Faculdade de Computação
Processo de Software
![Page 29: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/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: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/35.jpg)
Faculdade de Computação
Cronograma de Projeto a ser Desenvolvido
![Page 36: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/36.jpg)
Faculdade de Computação
36
Cronograma de Projeto
◼ O curso de Modelagem de Software desenvolve um projeto completo de um sistema usando os métodos apresentados em aula:
◼ Grupos de no máximo 5 alunos
◼ O sistema a ser desenvolvido será escolhido pelos alunos.
◼ É necessário um cliente real com necessidades reais.
![Page 37: Modelagem de Software - UFU](https://reader031.vdocuments.net/reader031/viewer/2022012019/616882c5d394e9041f7014ce/html5/thumbnails/37.jpg)
Faculdade de Computação
37
Cronograma de Projeto◼ Cronograma:
◼ Etapa 1 (22/03) - 5 pontos - Definição das equipes e do sistema a ser desenvolvido
◼ Etapa 2 (05/04) - 5 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 (22/04) - 5 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 (20/05) - 5 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 (17/16) - 5 pontos - Análise de Sistemas (modelo conceitual de objetos, diagrama de estado de objetos e diagramas de sequência, diagrama de entidade e relacionamentos – DER, protótipos das interfaces, diagrama de implantação)
◼ Template 4 - Documento de Análise e Projeto do Sistema
◼ Etapa 6 (08/07) - 5 pontos - Avaliação final de todos os templates