Buscar

Aula 1 - Fundamentos do Desenvolvimento de Sw

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
Aula 1- Fundamentos do Desenvolvimento de Software 
 
 
 
 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
O Software é a parte programável de um SI 
Sistemas de 
Informação 
Tecnologias Pessoas Procedimentos 
Hardware Software Redes B.D. 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
O SOFTWARE 
 
 
 
• O Valor de um Sistema de Informação depende da qualidade 
de seus componentes. 
• Cada um dos elementos pode por em cheque a 
confiabilidade e usabilidade de um SI. 
• O Software é um elemento (componente) central 
• Viabiliza as funcionalidades que as pessoas precisam 
• Excelentes algoritmos trarão funções eficientes e 
otimizadas, com informações confiáveis e precisas. 
• Possui uma estrutura interna 
• Qualidade do processamento (algoritmos) 
• Possui uma estrutura externa 
• Usabilidade do software 
• Possui íntima relação com demais tecnologias (redes, 
internet, banco de dados, hardware). 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
O SOFTWARE - PROBLEMAS 
 
 
 
• É a porção lógica (não é tangível) que comanda a operação 
dos demais componentes da Tecnologia (Hw, Redes e BD) 
 
• Tenha em mente: TECNOLOGIA não faz milagre e exige 
• Pessoas Qualificadas 
• Processos e Procedimentos adequados 
• Tecnologia adequada 
 
• Do contrário, teremos problemas no software 
• Pessoas que não sabem operar o sistema. 
• Processos e procedimentos que são mal definidos e 
formatados 
• Tecnologias ineficientes, que não realizam a tarefa que 
lhes cabe. 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
O SOFTWARE - HOJE 
 
 
 
• Responsável por prover informação para toda a empresas 
• Todas as áreas 
• Todos os níveis (operacional, gerencial e estratégico) 
• O SW é a Tecnologia mais complexa de ser desenvolvida 
• Manufaturado – pessoas desenvolvem – pouca ou nenhuma 
automação no processo 
• Grandes (toda as áreas) e complexos (Todos os níveis) 
• Mudanças rápidas (influência do meio) 
 Fornecedores Clientes Concorrentes Acionistas 
Agencias Reguladoras Governo 
MKT e 
Vendas 
Compras Financeiro 
Fábrica 
/ 
Serviço 
Estoque 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
O PROCESSO DE FABRICAÇÃO DO HW X SW 
 
 
 
• O processo de desenvolvimento (fabricação) do Hardware 
evoluiu muito em 70 anos  padronização da indústria. 
• O do Software pouco evoluiu. 
 
POR QUE? 
Hardware Software 
Fabricação padronizada Manufaturado 
Falhas no início e fim da vida Falhas ao ser alterado 
Falha: Substituição de peças Falha: alteração 
Montagem: componentes 
padronizados 
Montagem: difícil padronizar 
para reutilização 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
O PROCESSO DE DESENVOLVIMENTO DO SOFTWARE 
 
 
 
• O desenvolvimento do SW depende MUITO do 
componente humano. 
 Há pouca automação no desenvolvimento. 
 Visão de projeto inadequada. 
 Histórico: gestor de TI sem formação em 
ADM. 
 Gestão (planejamento, organização e 
controle) ineficiente de prazos e custos 
 Pressão dos usuários/clientes: rapidez. 
• Daí os problemas 
 Prazos, Custos, Comunicação 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
HISTÓRICO DO DESENVOLVIMENTO DE SOFTWARE 
 
 
 
• No início 
• Sistemas pequenos e poucas mudanças 
• Usuário - Analista/Programador 
• Fases: Levantamento de dados – programação 
• Hoje 
• Sistemas grandes e muitas mudanças 
• Usuário  Analista  Equipe de desenvolv. 
• Fases: análise, projeto, programação, testes, 
implantação e manutenção 
• Ciclo de Vida do desenvolvimento (CVD) 
• Ciclo de Vida do Software = CVD + 
manutenção *********** 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
COMO TUDO COMEÇA 
ALTO NÍVEL DE 
ABSTRAÇÃO 
A distância entre idealizar e concretizar ******** 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
CICLO DE VIDA DO DESENVOLVIMENTO - FASES 
 
 
 
• Cada empresa pode definir seu próprio ciclo de 
vida de desenvolvimento 
• Fases e subfases, definindo atividades de cada 
uma 
 
 
 
 
 
 
• As fases e a maneira como são ordenadas e 
realizadas  Processo de desenvolvimento 
 
 
Concepção Requisitos Análise Projeto 
Programação Testes Implantação Operação 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
CICLO DE VIDA DO DESENVOLVIMENTO - FASES 
 
 
 
• Organização das fases, estabelecendo: 
• Quais são elas? 
• Finalidade de cada uma? 
• Ordem e ligação entre elas? 
• Funcionamento do processo 
• Documentação e modelos de cada fase 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
CICLO DE VIDA DO DESENVOLVIMENTO - FASES 
 
 
 
Concepção 
Análise 
Desenho 
Implementação 
Testes 
Implantação 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
DESENVOLVIMENTO DE SOFTWARE DEMANDAM PROJETOS 
 
 
 
• O desenvolvimento de software deve ser feito 
dentro de um PROJETO e será / terá 
• Evento inédito  o sistema é único 
• Data de Inicio, Data de Fim 
• Equipe (chefe: gerente de processo) 
• Recursos: humanos, R$ e Tempo 
• O Projeto vai gerenciar as fases do processo 
• Cada fase tem resultados: documento, 
diagrama (modelos), parte do produto do SW 
• O Software pronto deriva do resultado 
associado ao marco do projeto. 
 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
RISCOS NO PROJETO DO DESENVOLVIMENTO DO SOFTWARE 
 
 
 
• Todo projeto tem riscos. Com SW não é diferente. 
• Fases iniciais: incertezas maiores – Maior Risco 
A gestão dos riscos é fundamental 
• Planejamento dos riscos 
• Riscos identificados podem ser geridos 
• Análise dos riscos 
• Probabilidade de ocorrência + natureza + 
grau de impacto 
• Postura: Riscos x Oportunidades 
• Exemplo: aceitar prazo apertado ou 
baixo custo 
 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
REQUISITOS = CARACTERÍSTICAS DO SOFTWARE 
 
 
 
• Os softwares devem ter características para atender as 
necessidades de seus usuários 
• Essas características chamam-se requisitos 
• Existem 2 tipos de requisitos 
• Funcionais: representam o comportamento que o 
sistema deve apresentar. São as funcionalidades que o 
sistema possui. 
• Não Funcionais: quantificam determinados aspectos 
do comportamento. 
• Em um sistema, os tipos de transações (funções) suportadas 
são os requisitos funcionais 
• A facilidade de uso, o tempo de resposta e sua 
confiabilidade são requisitos não funcionais 
 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
ESPECIFICAÇÃO DOS REQUISITOS - FUNDAMENTAL 
 
 
 
• Os requisitos podem ser: 
• Explícitos: descritos em um documento de 
Especificação de requisitos 
• Normativos: descritos em leis, normas, regulamentos.. 
• Implícitos: expectativas dos clientes e usuários, e 
serão cobrados, embora não documentados 
• Implícitos: são Indesejáveis  Não documentados  não 
considerados no desenvolvimento• Resultado: Mesmo que sistema atenda aos requisitos 
explícitos e normativos, não atenderá as expectativas 
• Mesmo requisitos documentados podem resultar em 
problemas: incompletos, inconsistentes, ambíguos, 
• Além de requisitos irreais  levantamento ruim 
 
 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
ENGENHARIA DOS REQUISITOS 
 
 
 
• É a base de um bom conjunto de requisitos: completos e 
verdadeiros é o uso de técnicas adequadas e eficientes de 
levantamento, análise de dados e documentação 
• Bom levantamento  Requisitos implícitos são 
minimizados 
• Boa técnica de Análise  ajuda a produzir 
especificações mais precisas e inteligíveis 
• Boa Documentação  facilidade da equipe entender o 
projeto como um todo, ao longo do tempo 
 
• Engenharia de Requisitos = Levantamento + Análise + 
documentação 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
ENGENHARIA DOS REQUISITOS – CONSCIENTIZAÇÃO 
 
 
 
• Boas especificações são fundamentais  porém custa 
tempo e dinheiro (Clientes, Gerente projeto...) 
• Especificações mal elaborada  custa mais dinheiro e mais 
tempo 
• Importante: identificação dos requisitos reais 
• Participação dos usuários em todo processo. 
 
• Problema: Instabilidade dos Requisitos 
• Usuários solicitam novos ou pedem alteração de 
requisitos em fase avançada do desenvolvimento. 
• Consequencias: alto custo e retrabalho. 
• A boa engenharia de requisitos minimiza a Instabilidade 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
PROBLEMAS, PRAZOS E CUSTOS 
 
 
 
Fatos reais - Problemas 
+ 30% dos projetos – CANCELADOS 
+ 70% dos projetos – FALHAM as funcionalidades 
O software não faz o que deviam 
Tem baixa qualidade: erros, lentos, difíceis de usar 
Orçamento e Custo EXTRAPOLAM 
Custos – em mais de 180% a previsão 
Prazos – em mais de 200% o cronograma 
Custos do DESENVOLVIMENTO 
80% - identificar e corrigir defeitos de programação 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
REALISMO DOS PRAZOS E CUSTOS 
• Estimar prazos faz parte da rotina de desenvolver 
software (técnicos e gestores) 
• SW Viável = Projeto com sucesso = SW atendendo 
ao que se deseja dele, no prazo e custo previstos 
• Se não for possível 
• SW NÃO é viável 
• Preferível outro produto, mesmo que sejam 
sacrificados alguns requisitos. 
• Problemas: ausência de 
• Técnicas de estimativas 
• Experiência 
 
 
 
 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
REQUISITOS X PRAZOS X CUSTOS 
Requisitos 
Prazos Custos 
• Aumento de Requisitos 
• Aumento Custo ou 
• Aumento Prazo ou 
• Aumento de ambos 
 
• Redução de Requisitos 
• Redução de Prazo 
• Redução de custos 
• NEM Sempre !!!! 
• Cumprir prazos: técnicas estimativas e análise 
• Tamanho, esforço, prazo e risco 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
QUALIDADE NO SOFTWARE 
• Estar de acordo com os requisitos 
• Requisitos Previstos x Realizados 
• Requisitos não atendidos = falhas (defeitos) SW 
 
• Defeitos podem ser inseridos em qualquer fase do 
processo de desenvolvimento 
• Solução: Garantir a qualidade em todo 
processo de desenvolvimento de software 
 
• Pior caso: defeito chega ao produto 
 
 
 
 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
QUALIDADE NO SOFTWARE 
• Nível de defeitos (erros) dentro do processo de 
desenvolvimento de software 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
FRASES SOBRE SOFTWARE 
• Usuário não conhece as suas necessidades 
• Usuário muda de idéia (requisito) toda hora 
• Cliente sempre quer o sistema para ontem 
• Cliente nunca quer pagar o quanto o sistema vale 
• A equipe de desenvolvimento não documentou o 
software em seu desenvolvimento 
• Pessoal o tempo está se esgotando, precisamos 
contratar mais gente 
• Pessoal vamos pula a fase de testes, o tempo 
esgotou 
• O usuário testa o sistema para nós ******** 
 
 
 
 
 Processos de Desenvolvimento de Software– AULA1 
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 
PRINCIPAIS CONCEITOS APRESENTADOS NA AULA. 
• O SW é o elemento central de tecnologia de um SI 
• O SW moderno é grande e complexo  muitos problemas 
em seu desenvolvimento 
• O desenvolvimento do SW é manufaturado e sem muita 
padronização e automação 
• O processo de desenvolvimento é dividido em fases, cada 
qual com finalidades e marcos claros. 
• O desenvolvimento de SW demanda um projeto 
• Fundamental avaliar os riscos do desenvolvimento 
• Boa Engenharia de Requisitos é fundamental (levantamento 
+ analise + documentação) 
• Requisitos x custos x prazo  dificuldade em estimar 
• Qualidade = estar de acordo com requisitos 
• Avaliada ao longo do processo de desenvolvimento

Outros materiais