Buscar

Aula1 EngSoftware

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 43 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 43 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 43 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

Engenharia de Software 
Osvaldo Viana Jr, Msc 
osvaldoviana@yahoo.com.br 
Aula 1 
Software e Engenharia de Software 
1- Natureza do Software 
 Introdução 
 Software é tanto um produto como um veículo 
que distribui um produto; 
 Como produto: fornece o potencial 
computacional representado pelo hardware; 
 Como veículo: atua como base para o 
controle do computador (Sist. Operacionais), a 
comunicação de informações (redes) e a criação 
e o controle de outros programas. 
1- Natureza do Software 
 Definição 
 Software consiste em: 
 - Instruções (programas de computador) que quando 
executadas, fornecem características, funções e 
desempenho desejados; 
 - Estruturas de dados que possibilitam aos programas 
manipular informações adequadamente; 
 - Informação descritiva, tanto na forma impressa como 
virtual, descrevendo a operação e o uso dos programas. 
1- Natureza do Software 
 Definição 
 Software é desenvolvido ou passa por um 
processo de engenharia, ele não é fabricado no 
sentido clássico. 
Aumento da taxa de defeitos 
devido a efeitos colaterais. 
1- Natureza do Software 
 Definição 
 Software não se desgasta mas se deteriora. Ele 
não é suscetível aos males ambientais que 
fazem com que o hardware se desgaste. 
 Ele passa por alterações, a medida que estas 
ocorram, é provável que sejam introduzidos 
erros. 
1- Natureza do Software 
 Campos de aplicação de software 
 Software de sistema 
 - Conjunto de programas feito para atender a 
outros programas. 
 - Exemplo: compiladores, editores, 
componentes do sistema operacional, drivers, 
software de rede etc. 
1- Natureza do Software 
 Campos de aplicação de software 
 Software de aplicação 
 - programas sob medida que solucionam uma 
necessidade específica de negócio. É usado 
para controlar funções de negócio em tempo 
real. 
 - Exemplo: processamento de transações em 
pontos de venda, controle de processos de 
fabricação em tempo real. 
1- Natureza do Software 
 Campos de aplicação de software 
 Software científico/de engenharia 
 - Tem sido caracterizado por algoritmos 
“number crunching” (para processamento 
numérico pesado). 
 - As aplicações vão da astronomia à 
vulcanologia, da análise de tensões na 
indústria automotiva à dinâmica orbital de 
ônibus espaciais etc. 
1- Natureza do Software 
 Campos de aplicação de software 
 Software embutido 
 - residente num produto ou sistema e utilizado 
para implementar e controlar características e 
funções para o usuário final e para o próprio 
sistema. 
 - Exemplo: controle de painel de forno micro-
ondas, funções digitais de automóveis etc. 
1- Natureza do Software 
 Campos de aplicação de software 
 Software para linhas de produtos 
 - projetado para prover capacidade específica 
de utilização por muitos clientes diferentes. 
 - Exemplo: produtos para controle de estoque, 
processamento de texto, planilhas eletrônicas, 
computação gráfica etc. 
1- Natureza do Software 
 Campos de aplicação de software 
 Aplicações para a Web 
 - Chamadas de “WebApps” essa categoria de 
software centralizada em redes abarca uma 
vasta gama de aplicações. 
 - Exemplo: conjunto de arquivos de hipertexto 
conectados ou sofisticados ambientes 
computacionais. 
1- Natureza do Software 
 Campos de aplicação de software 
 Software de inteligência artificial 
 - Faz uso de algoritmos não numéricos para 
solucionar problemas complexos que não são 
passíveis de computação ou de análise direta. 
 - Exemplo: robótica, sistemas especialistas, 
redes neurais artificiais, prova de teoremas e 
jogos. 
1- Natureza do Software 
 Software Legado 
 São softwares antigos que foram desenvolvidos 
décadas atrás e que tem sido continuamente 
modificados para se adequar a mudanças dos 
requisitos de negócios e a plataformas 
computacionais. 
2- A Natureza Única das 
WebApps 
 Atributos das WebApps 
 Uso intensivo de redes: reside em uma rede 
e deve atender às necessidades de uma 
comunidade diversificada de clientes. 
 Simultaneidade: um grande número de 
usuários pode acessar a webapp ao mesmo 
tempo. 
 Carga não previsível: o número de usuários 
pode variar em ordem de grandeza de um dia 
para outro. 
 
2- A Natureza Única das 
WebApps 
 Atributos das WebApps 
 Desempenho: não deve deixar o usuário 
esperar muito para acesso, processamento etc. 
 Disponibilidade: usuários normalmente 
exigem acesso 24h por dia, 7 dias por semana. 
 Orientada a dados: a função principal de 
muitas WebApps é usar hipermídias para 
apresentar texto, gráficos, áudio e vídeo para o 
usuário final. 
 
2- A Natureza Única das 
WebApps 
 Atributos das WebApps 
 Sensibilidade no conteúdo: a qualidade e a 
natureza estética do conteúdo são fatores 
importantes que determinam a qualidade de 
uma WebApp. 
 Evolução contínua: algumas são atualizadas 
de minuto a minuto ou seu conteúdo é 
computado independentemente para cada 
solicitação. 
2- A Natureza Única das 
WebApps 
 Atributos das WebApps 
 Imediatismo: apresentam tempo de colocação 
no mercado que pode consistir de poucos dias 
ou semanas. 
 Segurança: devido ao grande número de 
usuários, fortes medidas de segurança devem 
ser implementadas ao longo da infraestrutura. 
 Estética: consiste na aparência e na 
impressão que desperta. 
3- Engenharia de Software 
 Introdução 
 Ao desenvolver um software o mesmo deve 
estar preparado para enfrentar os desafios do 
século vinte e um. 
 Projetar é uma atividade fundamental na 
engenharia de software. 
 Qualidade e facilidade de manutenção são 
resultantes de um projeto bem feito. 
3- Engenharia de Software 
 Fatores a observar no desenvolvendo do Software 
 Software tornou-se profundamente 
incorporado em praticamente todos os 
aspectos de nossas vidas; 
 Os requisitos de tecnologia de informação 
demandados por indivíduos, empresas e 
órgãos governamentais estão se tornando cada 
vez mais complexos a cada ano. 
3- Engenharia de Software 
 Fatores a observar no desenvolvendo do Software 
 Indivíduos, negócios e governos dependem, de 
forma crescente, de software para decisões 
estratégicas e táticas. 
 À medida que o valor de uma aplicação 
específica aumente, a probabilidade é de que 
sua base de usuários e longevidade também 
cresçam. 
3- Engenharia de Software 
 Camadas da Engenharia de Software 
 Foco na qualidade: A pedra fundamental 
que sustenta a engenharia de software é o foco 
na qualidade. 
3- Engenharia de Software 
 Camadas da Engenharia de Software 
 Processo: A base para a engenharia de 
software é a camada de processos, pois é a liga 
que mantém as camadas de tecnologia coesas e 
possibilita o desenvolvimento de forma 
racional e dentro do prazo. 
 Métodos: fornecem informações técnicas para 
desenvolver software. 
3- Engenharia de Software 
 Camadas da Engenharia de Software 
 Ferramentas: fornecem suporte 
automatizado ou semiautomatizado para o 
processo e para os métodos. 
 - As ferramentas podem ser integradas de 
modo que as informações criadas por uma 
podem ser usadas por outra. 
4- O Processo de Software 
 Definição 
 O Processo de software é um conjunto de 
atividades, ações e tarefas realizadas na 
criação de algum produto de trabalho. 
 Um processo define quem esta fazendo o quê, 
quando e como para atingir determinado 
objetivo. 
4- O Processode Software 
 Atividades Genéricas de Metodologia de Processo 
 Comunicação: antes de iniciar qualquer 
trabalho técnico é de vital importância 
comunicar-se e colaborar com o cliente. 
 Planejamento: o projeto de software é uma 
jornada complicada, e a atividade de 
planejamento cria um “mapa” que ajuda a 
guiar a equipe na sua jornada. 
4- O Processo de Software 
 Atividades Genéricas de Metodologia de Processo 
 Modelagem: um engenheiro de software cria 
modelos para melhor entender as necessidades 
de software e o projeto que irá atender a essas 
necessidades. 
 Construção: combina geração de código 
(manual ou automatizada) e testes necessários 
para revelar erros na codificação. 
4- O Processo de Software 
 Atividades Genéricas de Metodologia de Processo 
 Emprego: O software é entregue ao cliente, 
que avalia o produto entregue e fornece 
feedback, baseado na avaliação. 
5- A Prática da Engenharia de 
Software 
 A Essência da Prática 
 Compreender o problema(Comunicação e 
análise) 
 Planejar uma solução (Modelagem e projeto de 
software) 
 Executar o plano (geração de código) 
 Examinar o resultado para ter precisão (testes 
e garantia da qualidade) 
5- A Prática da Engenharia de 
Software 
 Princípios gerais 
 Primeiro princípio: a razão de existir 
 - Um sistema de software existe por uma 
única razão: gerar valor a seus usuários; 
 Segundo princípio: Faça de forma simples 
 - Todo projeto deve ser o mais simples 
possível, mas não tão simples assim; 
 - Simplificar exige muita análise e trabalho 
durante as iterações; 
5- A Prática da Engenharia de 
Software 
 Princípios gerais 
 Terceiro princípio: mantenha a visão 
 - Uma visão clara é essencial para o sucesso. 
Sem ela, um projeto se torna ambíguo; 
 Quarto princípio: o que um produz outros 
consomem 
 - Sempre especifique , projete e implemente 
ciente de que alguém mais terá de entender o 
que você está fazendo; 
5- A Prática da Engenharia de 
Software 
 Princípios gerais 
 Quinto princípio: esteja aberto para o futuro 
 - Jamais faça projetos limitados, sempre 
pergunte “e se” e prepare-se para todas as 
possíveis respostas; 
 Sexto princípio: planeje com antecedência, 
visando a reutilização 
 - Reuso reduz o custo e aumenta o valor tanto 
dos componentes reutilizáveis quanto dos 
sistemas; 
5- A Prática da Engenharia de 
Software 
 Princípios gerais 
 Sétimo princípio: pense! 
 - Pensar bem e de forma clara antes de agir 
quase sempre produz melhores resultados; 
 - Ganha-se também conhecimento de como 
fazer correto novamente; 
6- Mitos Relativos ao Software 
 Mitos de Gerenciamento 
 Mito 
 - Já temos um livro que está cheio de padrões 
e procedimentos para desenvolver; 
 Realidade 
 - Ele é usado ? Os praticantes estão cientes de 
que ele existe ? Reflete a pratica da 
Engenharia de Software ? É adaptável ? 
 
 
6- Mitos Relativos ao Software 
 Mitos de Gerenciamento 
 Mito 
 - Se o cronograma atrasar, podemos 
acrescentar mais programadores e ficarmos 
em dia; 
 Realidade 
 - Acrescentar pessoas num projeto de software 
atrasado só o tornará mais atrasado ainda; 
 
 
6- Mitos Relativos ao Software 
 Mitos de Gerenciamento 
 Mito 
 - Se eu terceirizar o projeto, posso relaxar e 
deixar essa empresa realiza-lo; 
 Realidade 
 - Se uma organização não souber gerenciar, 
ela enfrentará dificuldades ao terceiriza-los; 
 
 
6- Mitos Relativos ao Software 
 Mitos de Clientes 
 Mito 
 - Uma definição geral dos objetivos é 
suficiente para começar a escrever os 
programas; 
 Realidade 
 - Uma definição de objetivos ambígua é receita 
para um desastre; 
 
 
6- Mitos Relativos ao Software 
 Mitos de Clientes 
 Mito 
 - Os requisitos de software mudam, mas as 
mudanças podem ser facilmente assimiladas; 
 Realidade 
 - Uma estrutura de projeto foi estabelecida e 
mudar pode causar uma revolução que exija 
recursos adicionais e modificações 
fundamentais no projeto; 
 
 
6- Mitos Relativos ao Software 
 Mitos de dos profissionais da área 
 Mito 
 - Uma vez feito um programa, nosso trabalho 
está terminado; 
 Realidade 
 - Levantamento indicam que entre 60% e 
80% todo o esforço será despendido após a 
entrega do software ao cliente pela primeira 
vez; 
 
 
6- Mitos Relativos ao Software 
 Mitos de dos profissionais da área 
 Mito 
 - Até que o programa entre em 
funcionamento, não há maneira de avaliar 
sua qualidade; 
 Realidade 
 - Um dos mecanismos de garantia da 
qualidade de software mais eficaz pode ser 
aplicado desde a concepção de um projeto; 
 
 
6- Mitos Relativos ao Software 
 Mitos de dos profissionais da área 
 Mito 
 - O único produto passível de entrega é o 
programa em funcionamento; 
 Realidade 
 - Uma variedade de produtos derivados 
constitui uma base para uma engenharia 
bem-sucedida e, mais importante, uma 
orientação para suporte de sofware; 
 
 
6- Mitos Relativos ao Software 
 Mitos de dos profissionais da área 
 Mito 
 - A engenharia de software nos fará criar 
documentação volumosa e desnecessária; 
 Realidade 
 - A engenharia de software não trata de 
criação de documentos, trata da criação de 
um produto de qualidade; 
 
 
Pontos a ponderar ? 
 Por que concluir um software leva tanto tempo ? 
 Por que os custos de desenvolvimento são altos ? 
 Por que não conseguimos encontrar todos os erros 
antes de entregarmos o software aos clientes ? 
 Por que continuamos a ter dificuldade em medir o 
progresso enquanto o software está sendo 
desenvolvido e mantido ? 
 Acrescente um novo mito a essa lista e declare a 
realidade que acompanha tal mito. 
Referencia Bibliografica 
 PRESSMAN, Roger. Engenharia de Software: 
Uma Abordagem Profissional. Págs. 29-49. 7 ed. – 
Porto Alegre: AMGH, 2011.

Outros materiais