Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROCESSOS DE DESENV. DE SOFTWARE CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Professor: David Falcão, M.Sc. davidfalcaoprof@gmail.com Aula 1 e 2 – Conceitos gerais de PDS Conceitos de PDS O que é Software? Para que serve? É a parte abstrata do sistema computacional; Funciona num hardware, a partir de instruções codificadas numa linguagem de programação; Processa e armazena de informações na forma de dados codificados que podem ser controlados pelo usuário; Este controle, bem como a troca de informações entre o usuário e o sistema é feita através da interface de usuário, composta por hardware e software. Software faz parte de um Sistema de Informação (Hardware+Software+Pessoas+Procedimentos+Dados) Conceitos de PDS Fluxo de dados em um Sistema de Informação Um software realiza operações que transformam aquilo que foi recebido, ingerido, importado, alimentado (entrada) em outros elementos que poderão ou não ser aqueles observados na (saída). Conceitos de PDS Fluxo de dados em um SI Dados Informação Conhecimento Inteligência PROCESSAMENTO ANÁLISE SÍNTESE Decisão Elementos brutos, sem significado, desvinculado da realidade. Dados com significado, relevância e propósito. Compreender e internalizar as informações recebidas, combinando-as. Conceitos de PDS Fluxo de dados em um SI Processos do Negócio Informação Dado Conhecimento Processo Decisório Sistema de Informação Exemplos Seguindo os conceitos anteriores, o que podemos citar como dados, informação e conhecimento para: Ex: 1 – Indo ao Médico Dados, Informação e Conhecimento? Ex: 2 – Indo ao Mecânico. Dados, Informação e Conhecimento? De que forma um software pode auxiliar o médico / mecânico? Exemplos Conceitos de PDS Categorias de Software Era inicial - Anos 50/60 - Orientação batch; - distribuição limitada; - software projetado para um usuário específico; - computadores de baixa capacidade. Segunda era - até meados dos anos 70 - Multiusuário; - tempo real; - banco de dados; - software como produto; - linguagens de programação em alto nível. Conceitos de PDS Evolução do Software Terceira era: (Até meados dos anos 80) - Sistemas distribuídos; - inteligência embutida; - hardware de baixo custo; - impacto das vendas de computadores pessoais = grande demanda por software; - crise de software! (+ demanda, - oferta) Quarta era: (dias atuais) - tecnologias orientadas a objeto e aspectos; - sistemas baseados em conhecimento; - sistemas web; - portabilidade; Conceitos de PDS Evolução do Software 60's / 70's 70's / 80's 90's – 00's 00'S - HOJE Interfaces textuais Integração Interfaces web Mobilidade Conceitos de PDS Categorias de Software (Pressman, R.) - Software básico: compiladores, editores simples, drivers, componentes do SO. - Software de tempo real: monitora, analisa e controla eventos em tempo real. - Software comercial: controle de estoque, vendas etc. (manipulam algum mecanismo de persistência, como uma de suas principais características) Conceitos de PDS Categorias de Software - Software científico e de engenharia: intenso processamento de números e cálculos. - Software embutido: celulares, microondas, injeção eletrônica. - Software de computador pessoal: processador de texto, planilha, jogos, apresentações etc. - Software de inteligência artificial: sistemas especialistas, redes neurais e aprendizado. Antes de desenvolver software, precisamos responder algumas perguntas: Qual é o problema a ser resolvido? Quais características do software a ser gerado resolvem o problema? Como o software (a solução) serão concebidos? Como o software será construído? Qual a abordagem que será utilizada para resolver erros feitos no projeto e construção do software? Como o software será mantido a longo prazo, quando correções, adaptações e melhorias forem requeridas por usuários do software? Conceitos de PDS PROCESSO DE DESENV. SOFTWARE Procedimentos e métodos que definem o relacionamento de tarefas A C B D Pessoas com habilidades, treinamento e motivação Ferramentas e Equipamentos Conceitos de PDS O que é Processo de Software? É um conjunto de tarefas requeridas para construir software de alta qualidade. O Processo define a abordagem a ser utilizada no desenvolvimento de software. É um método de organizar as atividades relacionadas à criação, entrega e manutenção de sistemas de software. Conjunto de fases e etapas de projeto, estágios, métodos, técnicas, e práticas que as pessoas empregam para desenvolver e manter software e seus artefatos associados (planos, documentos, modelos, código, etc.) Define quem faz o quê, quando e como Conceitos de PDS Conceitos de PDS Problemas no desenvolvimento de software - Os principais problemas não são tecnológicos. - A principal preocupação da indústria refere-se à falta de previsibilidade de prazo e de custo dos projetos. Qual a causa destes problemas? A indústria de software continua lidando com projetos mal sucedidos. As estatísticas do desenvolvimento de software apresentam que: • Somente 34% dos projetos são bem sucedidos • 15% dos projetos são cancelados • 43% é o erro médio em relação ao orçamento do projeto daqueles que foram completados • Somente 52% das características (requisitos não funcionais) e funcionalidades são entregues no produto. Conceitos de PDS Problemas mais comuns - Custo de desenvolver software - Receita prevista X custo total; - Custo < receita; - Complexidade dos requisitos - Requisitos com especificação pobre; - Mapeamento de riscos - Riscos não identificados, resolvidos ou mitigados; - Fragilidade da solução - Projeto de software elaborado de maneira ineficiente. Conceitos de PDS Problemas mais comuns Exemplos clássicos (1 de 2): - Custo maior que o previsto; - Descumprimento de cronograma; - Relação pobre entre cliente e fornecedor; - Dificuldades de personalização do software; - Falta de acompanhamento do projeto; - Ciclo de desenvolvimento muito longo; - Excesso de retrabalho; - Falta de habilidade de prever problemas; - Baixa disponibilidade e alta rotatividade de recursos humanos; - Falsas promessas: o “comercial” faz promessas ao cliente que a equipe técnica não pode cumprir. Conceitos de PDS Problemas mais comuns Exemplos clássicos (2 de 2): - Integração com sistemas legados (falta de pessoal especializado, dificuldade de manutenção); - Ausência de apoio da alta gerência da empresa; - Escopo volátil: o cliente adiciona e altera o escopo e a funcionalidade do projeto com o trabalho em andamento e com prazos e recursos limitados; - Não-envolvimento do usuário final: o ponto de vista do usuário final não é incorporado na funcionalidade e usabilidade do produto; MITOS NO DESENVOLVIMENTO DE SOFTWARE O problema de atraso no cronograma pode ser resolvido aumentando a equipe; Todos os programadores são iguais; Todos os programadores experientes têm a mesma habilidade; O programa está quase pronto … O programa está 95% pronto; Para iniciar a programação basta uma identificação geral dos objetivos. Os detalhes podem ser identificados depois; As mudanças no software podem ser feitas rapidamente porque o software é flexível; Enquanto não se tem um programa “rodando” não é possível avaliar a sua qualidade; O único produto de um projeto de desenvolvimento de software é um programa funcionando. Conceitos de PDS Problemas no Desenvolvimento de Software
Compartilhar