METODOLGIA EM ANÁLISE
E PROJETO DE SISTEMAS
TECNOLOGIA EM PROC. DE DADOS
INTRODUÇÃO À ENGENHARIA DE
SOFTWARE
Prof. José Eduardo Freire
INTRODUÇÃO


Hoje em dia, o software está presente,
explicitamente ou mesmo sem se fazer notar,
em todos os aspectos de nossa vida,
inclusive nos sistemas críticos que afetam a
nossa saúde e o nosso bem-estar.
Neste contexto a Engenharia de Software é
muito importante, pois deve assegurar que o
software tenha uma contribuição positiva em
nossas vidas.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
INTRODUÇÃO

De forma moderna, a Engenharia de
Software caminha em paralelo com os
sistemas de informação, ambos temas
destinados às organizações, para auxiliar as
mesmas a tomarem decisões sob o foco de
seu negócio empresarial ou de sua atividade
pública.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
O que é Engenharia de Software?



Primeiro é essencial entender a natureza do
problema, pois não devemos impor máquinas
e técnicas computacionais a toda questão
que aparecer em nosso caminho.
Deve-se começar a investigação analisando
o problema, isto é, dividindo-o em partes que
sejam capazes de entender e manipular.
Vejamos a figura a seguir que mostra O
Processo de Análise.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
O que é Engenharia de Software?


Analisado o problema, deve-se elaborar a
solução a partir de componentes que
resolvam vários de seus aspectos.
Vejamos a seguir a figura que ilustra O
Processo de Síntese.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
O que é Engenharia de Software?

Qualquer técnica de solução de problemas
deve ter duas partes:


a análise do problema para determinar a sua
natureza;
síntese da solução com base em nossa análise.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
O que é Engenharia de Software?

Para ajudar a resolver um problema
utilizamos uma variedade de métodos,
ferramentas, procedimentos e paradigmas.

Você sabe o que é métodos ou técnicas,
ferramentas, procedimentos e paradigmas?
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
O que é Engenharia de Software?




Método ou técnica: procedimento para a
produção de um resultado
Ferramenta: instrumento ou sistema
automatizado para realizar uma tarefa da
melhor maneira (preciso, eficiente, produtivo)
Procedimento: combinação de ferramentas e
técnicas, que em harmonia, produzem um
resultado específico.
Paradigma: estilo de fazer algo, representa
uma abordagem ou filosofia em particular para a
construção do software (AOO e Procedural).
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
O que é Engenharia de Software?

Como você define Engenharia de Software?
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
O que é Engenharia de Software?

Para Sommerville a Engenharia de software
envolve questões técnicas e não técnicas,
tais como a especificação do conhecimento,
técnicas de projeto e implementação,
conhecimentos dos fatores humanos pelo
engenheiro de software e ainda, gestão de
projetos.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Atuação dos Profissionais na Engenharia
de Software


Utilizam dos computadores e linguagem de
programação como ferramentas, no projeto e
na implementação da solução de um
problema
Veja a figura a seguir que mostra a relação
entre a ciência da computação e a
engenharia de software.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Grau de Sucesso da Engenharia de
SW



Os cientistas da computação e pesquisadores
da engenharia de software estudam os
mecanismos dos computadores e teorizam
sobre como torná-los mais produtivos e
eficientes.
Eles também projetam sistemas computacionais
e escrevem programas para realizar tarefas
nesses sistemas, uma prática que envolve arte,
originalidade e técnica.
A engenharia de software trata do projeto e do
desenvolvimento de software de alta qualidade.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Grau de Sucesso da Engenharia de
SW

Os produtos de software não estão isentos
de problemas.



defeitos
erros
e falhas
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Grau de Sucesso da Engenharia de
SW


Um defeito ocorre quando uma pessoa
comete um engano, chamado de erro, na
realização de alguma atividade relacionada a
um software.
EXEMPLO: um projetista pode não
compreender corretamente um requisito e
criar um projeto que não condiz com a
verdadeira intenção do analista de requisitos
e do usuário.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Grau de Sucesso da Engenharia de
SW



Uma falha é uma divergência entre o
comportamento requerido para o sistema e o
comportamento real.
Um defeito é uma visão interna do sistema,
observada pelo ponto de vista dos
desenvolvedores, enquanto uma falha é vista
a partir de um referencial externo ao sistema,
ou seja, um problema que o usuário vê.
Veja a figura a seguir que mostra como o
erro humano causa um falha.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Grau de Sucesso da Engenharia de
SW

Não se pode negar que os produtos de
software têm apoiado avanços na medicina,
agricultura, transportes, educação, robótica,
telefonia e outros setores.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
O que é um bom software?

Da mesma maneira que os fabricantes
buscam modos de assegurar a qualidade dos
produtos que produzem, os engenheiros de
software também procuram métodos que
assegurem que seus produtos são de
qualidade e utilidade aceitáveis.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Perspectivas de Garvin sobre qualidade





Visão transcendental: algo que podemos
reconhecer, mas não definir
Visão do usuário: conveniência para
propósito pretendido
Visão do fabricante: conformidade com
especificação
Visão do produto: relação com as
características inerentes ao produto
Visão do mercado: dependência de quanto
os consumidores estão dispostos a pagar
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Considerações da Qualidade para
Kitchenham e Pfleeger



Qualidade do Produto
Qualidade do Processo
Qualidade no contexto do ambiente de
negócios
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Qualidade do Produto


Freqüentemente constrói modelos com o
objetivo de relacionar a visão externa que o
usuário tem do software com a visão interna
dos desenvolvedores.
Veja na figura a seguir os fatores de
qualidade externo (lado esquerdo)que se
relacionam com os critérios de qualidade do
produto (lado direito).
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Figura 1.5
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Qualidade do Processo






Uma das vantagens de se modelar o processo é que isso nos
permite examiná-lo e procurar meios de aprimorá-lo.
Algumas questões que podem ajudar:
Onde e quando é mais provável encontrarmos um tipo de
defeito?
Como podemos encontrar defeitos o mais cedo possível no
processo de desenvolvimento?
Como podemos incluir tolerância a defeitos de maneira que
minimizemos a probabilidade de um defeito se tornar uma
falha?
Existem atividades alternativas que podem tornar nosso
processo mais efetivo ou eficiente com relação à garantia da
qualidade?
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Qualidade no contexto do ambiente de
negócios









Treinamento
Cronograma
Risco
Qualidade
Produtividade
Processo
Cliente
Custos
Negócios
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
EXERCÍCIO

Leia o artigo da Tampico do Brasil e descreva
sobre a QUALIDADE do software
apresentado pela empresa.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Participantes da Engenharia de Software




Cliente
Desenvolvedor
Usuário.
Veja a relação entre eles na figura a seguir:
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Figura 1.7
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Abordagem de Sistemas


É importante estabelecer o contexto de cada
projeto conhecendo suas fronteiras, ou seja,
o que está incluído no projeto e o que não
está.
Veja o exemplo a seguir:
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Figura 1.9
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Abordagem de sistemas



Identificar atividades e objetos.
Definir as relações e fronteiras do sistema.
Considerar sistemas inter-relacionados.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Uma abordagem de Engenharia
(CASA X SISTEMA)









Identificar e analisar os requisitos
Produzir e documentar todo o projeto
Detalhar as especificações
Identificar e projetar os componentes
Construir cada componente
Testar cada componente
Integrar os componentes
Fazer as modificações finais
Manutenção contínua









Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Análise e definição dos
requisitos
Projeto do sistema
Projeto do programa
Escrever os programas
Testes das unidades
Teste de integração
Teste do sistema
Entrega do sistema
Manutenção
Prentice Hall
Membros de uma equipe de
desenvolvimento

Vejamos a participação de todos que
compõem uma equipe de desenvolvimento
de software.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Figura 1.11
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Fatores-chave que mudaram a prática da
engenharia de software (Wasserman)







Aspecto crítico do tempo para entrega do produto ao
mercado, no caso de produtos comerciais
Mudanças na economia da computação (redução dos
custos de hardware e aumento nos custos de
desenvolvimento e manutenção)
Disponibilidade poderosa da computação em desktops
Aumento das redes locais e remotas
Disponibilidade e adoção da tecnologia orientada a
objetos
Uso de interfaces gráficas
Imprevisibilidade do modelo de desenvolvimento de
software cascata
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Disciplina de engenharia de software
de Wasserman








Abstração
Métodos e notações de análise e projeto
Protótipo da interface com o usuário
Arquitetura de software
Processo de software
Reuso
Medição
Ferramentas e ambientes integrados
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Abstração


É de um problema com um nível de
generalização que nos permite concentrar
nos principais aspectos do problema, sem
nos perdermos nos detalhes.
A abstração envolve a identificação de
classes de objetos que nos permitem agrupálos, podendo lidar com menos coisas e nos
concentrar no que os itens de cada classe
têm em comum.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Métodos e notações de análise e projeto



Os métodos de análise de projetos nos oferecem
mais do que um meio de comunicação, eles nos
permitem construir modelos e avaliar a completeza
e a consistência.
Pode-se ainda reutilizar prontamente requisitos e
componentes de projetos de desenvolvimento
anteriores, aumentando a produtividade e qualidade
com relativa facilidade.
Proporcionam os detalhes de “como fazer” para
construir o software.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Protótipo da interface com o usuário



Significa construir uma versão de um
sistema, com funcionalidade limitada.
Ajuda o usuário ou cliente a definir os
principais requisitos de um sistema.
Demonstra a viabilidade do projeto ou de
uma abordagem.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Arquitetura de software

É importante não somente para facilitar a
implementação e o teste do sistema, mas
também para a rapidez e eficiência com que
poderão ser realizadas alterações e
manutenções.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Processo de software

Muitos engenheiros de software têm
prestado bastante atenção ao processo de
desenvolvimento de software, assim como
aos produtos resultantes desse processo,
pois estes contribuem com a qualidade e
rapidez de seu desenvolvimento.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Reuso

Empresas investem em itens reutilizáveis e
têm benefícios quando esses itens são
utilizados de novo em outros projetos.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Medição

Aspecto-chave para a boa prática da
engenharia de software.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Ferramentas e ambientes integrados





Integração da plataforma: a habilidade da
ferramentas de operar em redes heterogênea.
Integração da apresentação: padronização da
interface com o usuário.
Integração do processo: união entre as ferramentas
e o processo de desenvolvimento.
Integração de dados: o modo como as ferramentas
compartilham os dados.
Integração do controle: habilidade de uma
ferramenta em notificar e iniciar a ação de uma
outra.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Ferramentas e ambientes integrados

São os instrumentos que proporcionam os
detalhes de “como fazer” para construir o
software.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Bibliografia


PFLEEGER, SHARI LAWRENCE.
Engenharia de software: teoria e prática. Ed:
Prentice Hall. São Paulo, 2004. Cap 01:
Porque Engenharia de software.
REZENDE, DENIS ALCIDES. Engenharia de
software e sistemas de informação. Ed:
Brasport. Rio de Janeiro, 2005.
Engenharia de Software: Teoria e Prática
Shari Lawrence Pfleeger
Capítulo 1
Prentice Hall
Download

No Slide Title