SlideShare uma empresa Scribd logo
Uma	
  Introdução	
  a	
  
Engenharia	
  de	
  So4ware	
  
  Centro	
  de	
  Informá-ca	
  -­‐	
  Universidade	
  Federal	
  de	
  Pernambuco	
  
                            Sistemas	
  de	
  Informação	
  
                            Vinicius	
  Cardoso	
  Garcia	
  
                                      vcg@cin.ufpe.br	
  
                                                      	
  
                        Slides	
  originais	
  elaborados	
  por	
  Ian	
  Sommerville	
  
                 O	
  autor	
  permite	
  o	
  uso	
  e	
  a	
  modificação	
  dos	
  slides	
  para	
  fins	
  didá-cos	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Engenharia de software	
  
•  As economias de TODAS as nações desenvolvidas
   são dependentes de software.
•  Cada vez mais sistemas são controlados por
   software.
•  A engenharia de software se dedica às teorias,
   métodos e ferramentas para desenvolvimento de
   software profissional
  –  Sistemas não-triviais
  –  Com base em um conjunto de requisitos



                                                                                                       2	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Custos de software	
  
•  Os custos de software dominam os custos de
   sistemas computacionais.
  –  Em geral, software custa mais que hardware
•  Manter um software custa mais que desenvolvê-lo
•  A engenharia de software dedica-se ao
   desenvolvimento de software com custos
   adequados
  –  Respeitando o cronograma acordado
  –  Satisfazendo as necessidades dos clientes
  –  Minimizando o custo de manutenção

                                                                                                       3	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Definições	
  
•  Disciplina gerencial e tecnológica que lida
   com a produção e manutenção
   sistemática de produtos de software
   desenvolvidos dentro de estimativas de
   custo e tempo
•  “Multi-person construction of multi-version
   software”(Parnas)



                                                                                                   4	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


FAQs sobre engenharia de software	
  
•  O que é software?
•  O que é engenharia de software?
•  Qual é a diferença entre engenharia de
   software e ciência da computação?
•  Qual é a diferença entre engenharia de
   software e engenharia de sistemas?
•  O que é processo de software?
•  O que é um modelo de processo de
   software?

                                                                                                  5	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


FAQs sobre engenharia de software	
  
•  Quais são os custos da engenharia de
   software?
•  Quais são os métodos da engenharia de
   software?
•  O que é CASE (Computer-Aided Software
   Engeneering)?
•  Quais são os atributos de um bom software?
•  Quais são os desafios-chave enfrentados
   pela engenharia de software?

                                                                                                   6	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


O que é software?	
  
•  Programas de computador e artefatos associados
•  Produtos de software podem ser:
  –  Genéricos – desenvolvidos para serem vendidos
     para uma grande variedade de clientes (e.g., Excel e
     Word)
  –  Personalizados – desenvolvidos para um único
     cliente de acordo com as suas especificações.
•  Um software novo pode ser criado através de
  –  desenvolvimento de novos programas;
  –  configuração de sistemas de software genéricos; ou
  –  reutilização de um software existente.

                                                                                                           7	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


O que é engenharia de software?	
  
•  Engenharia de software é uma disciplina relacionada
   com todos os aspectos da produção de software.
•  ... e propõe ferramentas, técnicas e processos para:
   –  Entender com precisão qual é o problema (as
      necessidades associadas ao sistema que deve ser
      construído/modificado)‫‏‬
   –  Produzir uma solução adequada para esse problema (um
      sistema pronto para usar, levando-se em consideração as
      necessidades das partes interessadas)‫‏‬
   –  Levando-se em conta restrições de desenvolvimento e
      recursos disponíveis




                                                                                                              8	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  

Qual é a diferença entre engenharia de software e
ciência da computação?	
  

•  A ciência da computação dedica-se à teoria e
   aos fundamentos;
   –  Engenharia de software dedica-se aos aspectos
      práticos de desenvolvimento e de entrega de
      software
   –  O que vs. Como
•  Teorias de ciência da computação são ainda
   insuficientes para atuar como uma base
   completa para a engenharia de software
   (diferente de, por exemplo, física e
   engenharia elétrica).
   –  Em outras palavras: não há receitas prontas!


                                                                                                         9	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  

Qual é a diferença entre engenharia de software e
engenharia de sistemas?	
  

•  Engenharia de sistemas:
   –  Mais ampla
   –  Muita ênfase em aspectos de hardware e infra-
      estrutura
      •  Abstração do hardware
      •  Organização física das partes do sistema
      •  Aspectos de comunicação
   –  Engloba a engenharia do software
•  Os engenheiros de sistema estão envolvidos
   em diversas atividades da engenharia de
   software
   –  Projeto da arquitetura
   –  Elicitação e especificação de requisitos

                                                                                                             10	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


O que é processo de software?	
  
•  Um conjunto estruturado de atividades, práticas,
   artefatos e ferramentas necessários para o
   desenvolvimento de um sistema de software
   –    Especificação;
   –    Desenvolvimento;
   –    Validação;
   –    Evolução.
•  Exemplos: Processo Unificado (RUP), Programação
   Extrema, UML Components
•  Diferente da definição do livro!!!
   –  processo , modelo de processo , método e
      metodologia


                                                                                                         11	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


O que é processo de software?	
  
•  Alguns elementos de um processo:
  –  Modelos de sistema:
     •  Modelos gráficos que podem/devem ser produzidos e
        as notações que devem ser empregadas;
     •  Restrições aplicadas aos modelos de sistema;
  –  Recomendações de boas práticas de projeto;
  –  Atividades que devem ser seguidas em
     determinada ordem
  –  Às vezes também prescrevem ferramentas
•  Um processo adere a um ou mais modelos
   de processo
                                                                                                         12	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


O que é um modelo de processo de software?	
  

•  Uma representação simplificada de um processo de
   software, apresentado sob uma perspectiva específica
   –  Incluindo algumas atividades e sua organização de alto
      nível
•  Modelos gerais de processo
   –  Cascata;
   –  Desenvolvimento iterativo;
   –  Engenharia de software baseada em componentes.
•  Dois modelos não são necessariamente mutuamente
   excludentes!
•  Representações de modelos de processo:
   –  Modelo de workflow – seqüência de atividades;
   –  Modelo de fluxo de dados – fluxo de informações;
   –  Modelo de papel/ação – quem faz o quê.


                                                                                                                 13	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Quais são os custos da engenharia de software?	
  

•  60% dos custos são custos de desenvolvimento
•  40% são custos de testes
•  Para software sob encomenda, os custos de
   evolução normalmente excedem os de
   desenvolvimento.
•  Os custos variam dependendo do tipo de sistema
   que está sendo desenvolvido e dos requisitos do
   sistema, tais como desempenho e confiabilidade
•  A distribuição de custos depende do modelo de
   desenvolvimento que é usado.


                                                                                                    14	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Distribuição de custos nas atividades	
  




                                                                                                15	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


O que é CASE (Computer-Aided Software Engineering)	
  

•  Sistemas de software que se destinam a
   fornecer apoio automatizado para as
   atividades de desenvolvimento de software.
•  Sistemas CASE são usados freqüentemente
   para apoiar um método específico
•  Upper-CASE
   –  Ferramentas para apoiar as atividades iniciais de
      processo de requisitos e de projeto;
•  Lower-CASE
   –  Ferramentas para apoiar as atividades finais tais
      como programação, debugging e teste.

                                                                                                        16	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Quais são os atributos de um bom software?	
  

•  O software deve fornecer a funcionalidade e o
   desempenho requeridos para o usuário e deve
   apresentar certas características
•  Facilidade de manutenção
   –  Deve ser fácil e barato fazer com que o sistema, depois de
      implantado, evolua para atender às necessidades dos
      clientes
•  Confiabilidade
   –  O software deve funcionar de maneira que o usuário possa
      depender dele. No caso de falha, não traz danos físicos ou
      econômicos
•  Eficiência
   –  O software deve usar o mínimo de recursos e prover máxima
      funcionalidade
•  Usabilidade
   –  O software deve ser compreensível e fácil de usar

                                                                                                               17	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  

Quais são os desafios-chave enfrentados pela
engenharia de software?	
  

•  Heterogeneidade
   –  Sistemas de software devem ser capaz de lidar com diferentes
      plataformas de hardware e ambientes de execução;
•  Entrega
   –  O sistema deve ser entregue ao cliente no menor tempo
      possível, com o menor custo possível;
•  Confiança
   –  O usuário deve poder justificadamente depositar sua confiança
      no sistema
•  Escala
   –  O sistema deve funcionar adequadamente mesmo quando um
      grande número de usuários o está usando



                                                                                                                 18	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Responsabilidade profissional e ética	
  

•  A engenharia de software envolve
   responsabilidades mais amplas do que
   simplesmente a aplicação de habilidades
   técnicas.
•  Os engenheiros de software devem se
   comportar de modo honesto e eticamente
   responsável para serem respeitados como
   profissionais.
•  O comportamento ético é mais do que
   simplesmente a sustentação de leis.
                                                                                                19	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Questões de responsabilidade profissional	
  

•  Confidencialidade
   –  Os engenheiros de software devem normalmente respeitar a
      confidencialidade de seus funcionários ou clientes,
      independentemente de ter ou não assinado um acordo formal.
      •  Caso não aceitem essas condições, devem deixar isso expiícito
         para seus contratantes

•  Competência
   –  Os engenheiros não devem conscientemente aceitar um
      trabalho que esteja fora de sua competência.




                                                                                                                    20	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Questões de responsabilidade profissional	
  

•  Direitos sobre propriedade intelectual
   –  Desenvolvedores devem estar cientes das
      leis locais que regem o uso de propriedade
      intelectual, tais como patentes, direitos
      autorais, etc.
   –  Eles devem tomar cuidado para assegurar
      que a propriedade intelectual dos funcionários
      e clientes seja protegida.




                                                                                                        21	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


Dilemas éticos	
  
•  Discordância, em princípio, das políticas
   da gerência sênior.
•  Um funcionário age de uma forma não
   ética e libera um sistema de segurança
   crítico sem finalizar o teste do sistema.
•  Participação no desenvolvimento de
   sistemas de armamentos militares ou de
   sistemas nucleares

                                                                                                  22	
  
[if977]	
  Engenharia	
  de	
  So4ware	
  -­‐	
  CIn	
  -­‐	
  UFPE	
  


A@vidade	
  Prá@ca	
  
•  Para	
  a	
  próxima	
  aula	
  
   – Projeto	
  de	
  um	
  Avião	
  
       • E	
  ele	
  tem	
  que	
  voar!	
  




                                                                                                               23	
  

Mais conteúdo relacionado

Mais procurados

As aula 1 - introdução a análise de sistemas
As   aula 1 - introdução a análise de sistemasAs   aula 1 - introdução a análise de sistemas
As aula 1 - introdução a análise de sistemas
tontotsilva
 
Processos de Software
Processos de SoftwareProcessos de Software
Processos de Software
Vinicius Garcia
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na Pratica
Alessandro Kieras
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
Cloves da Rocha
 
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
Leinylson Fontinele
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
Computação Depressão
 
CMM e CMMI
CMM e CMMICMM e CMMI
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
Mauricio Cesar Santos da Purificação
 
Fundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de Requisitos
Barbara Lima
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Elaine Cecília Gatto
 
Jogo da forca - Diagrama de Classe
Jogo da forca - Diagrama de ClasseJogo da forca - Diagrama de Classe
Jogo da forca - Diagrama de Classe
Daniela Carvalho
 
Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvel
Janynne Gomes
 
Engenharia de Software 100% Agil (SCRUM, FDD e XP)
Engenharia de Software 100% Agil (SCRUM, FDD e XP)Engenharia de Software 100% Agil (SCRUM, FDD e XP)
Engenharia de Software 100% Agil (SCRUM, FDD e XP)
Rildo (@rildosan) Santos
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e Projeto
Sergio Silva
 
Modelos eap
Modelos eapModelos eap
Modelos eap
ren543210
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
Leinylson Fontinele
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
Camilo de Melo
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
Elton Minetto
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
Lucas Damasceno
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
Álvaro Farias Pinheiro
 

Mais procurados (20)

As aula 1 - introdução a análise de sistemas
As   aula 1 - introdução a análise de sistemasAs   aula 1 - introdução a análise de sistemas
As aula 1 - introdução a análise de sistemas
 
Processos de Software
Processos de SoftwareProcessos de Software
Processos de Software
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na Pratica
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
Sistemas Multimídia - Aula 04 - O Que é Multimídia (Ambientes Multimídia e Pr...
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 
CMM e CMMI
CMM e CMMICMM e CMMI
CMM e CMMI
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Fundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de Requisitos
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Jogo da forca - Diagrama de Classe
Jogo da forca - Diagrama de ClasseJogo da forca - Diagrama de Classe
Jogo da forca - Diagrama de Classe
 
Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvel
 
Engenharia de Software 100% Agil (SCRUM, FDD e XP)
Engenharia de Software 100% Agil (SCRUM, FDD e XP)Engenharia de Software 100% Agil (SCRUM, FDD e XP)
Engenharia de Software 100% Agil (SCRUM, FDD e XP)
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e Projeto
 
Modelos eap
Modelos eapModelos eap
Modelos eap
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
 

Destaque

Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
elliando dias
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
Rogerio P C do Nascimento
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
Nécio de Lima Veras
 
Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1
André Phillip Bertoletti
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
Ronney Moreira de Castro
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
Fabiano Da Ventura
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
Mailson Queiroz
 
Prototipação
PrototipaçãoPrototipação
Prototipação
Daniel Fernandes
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
Tiago Antônio da Silva
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
Yuri Garcia
 
Modelos de desenvolvimento de software (dino brasilis)
Modelos de desenvolvimento de software (dino brasilis)Modelos de desenvolvimento de software (dino brasilis)
Modelos de desenvolvimento de software (dino brasilis)
djadrianodez
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
Joao Johanes
 
Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3
André Phillip Bertoletti
 
Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2
André Phillip Bertoletti
 
Engenharia De Requisitos
Engenharia De RequisitosEngenharia De Requisitos
Engenharia De Requisitos
Robson Silva Espig
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
João Rolim
 
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Matheus Piscioneri
 
Garantia da qualidade cap.7
Garantia da qualidade   cap.7Garantia da qualidade   cap.7
Garantia da qualidade cap.7
emc5714
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
Natanael Simões
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
Tiago Pinhão
 

Destaque (20)

Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Prototipação
PrototipaçãoPrototipação
Prototipação
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 
Modelos de desenvolvimento de software (dino brasilis)
Modelos de desenvolvimento de software (dino brasilis)Modelos de desenvolvimento de software (dino brasilis)
Modelos de desenvolvimento de software (dino brasilis)
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3
 
Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2
 
Engenharia De Requisitos
Engenharia De RequisitosEngenharia De Requisitos
Engenharia De Requisitos
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
 
Garantia da qualidade cap.7
Garantia da qualidade   cap.7Garantia da qualidade   cap.7
Garantia da qualidade cap.7
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 

Semelhante a Uma Introdução a Engenharia de Software

Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
Roberto Nunes
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
Rudson Kiyoshi Souza Carvalho
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
Waldemar Roberti
 
P2_Aula1-convertido.pptx
P2_Aula1-convertido.pptxP2_Aula1-convertido.pptx
P2_Aula1-convertido.pptx
MarcondesTiburcio
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
Tiago Vizoto
 
Aula1 dia 22 02 2022.pdf
Aula1  dia 22 02 2022.pdfAula1  dia 22 02 2022.pdf
Aula1 dia 22 02 2022.pdf
MarcondesTiburcio
 
Aula1.pdf
Aula1.pdfAula1.pdf
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
MarcondesTiburcio
 
Introdução a informática: do Windows ao Excel
Introdução a informática: do Windows ao ExcelIntrodução a informática: do Windows ao Excel
Introdução a informática: do Windows ao Excel
malviana1
 
Es aula01
Es   aula01Es   aula01
Es aula01
Itaú
 
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
MarcosSilva941136
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
spawally
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - Wikipedia
Robson Silva Espig
 
Aula1 introducao engsw
Aula1 introducao engswAula1 introducao engsw
Aula1 introducao engsw
Computação Depressão
 
152191 11993
152191 11993152191 11993
152191 11993
Junior Abs
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
Renato da Silva
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
Elaine Cecília Gatto
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
wilsonguns
 
Apresentação da disciplina de Introdução à Informática
Apresentação da disciplina de Introdução à InformáticaApresentação da disciplina de Introdução à Informática
Apresentação da disciplina de Introdução à Informática
Késsia Marchi
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
Tiago Pinhão
 

Semelhante a Uma Introdução a Engenharia de Software (20)

Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
 
P2_Aula1-convertido.pptx
P2_Aula1-convertido.pptxP2_Aula1-convertido.pptx
P2_Aula1-convertido.pptx
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
Aula1 dia 22 02 2022.pdf
Aula1  dia 22 02 2022.pdfAula1  dia 22 02 2022.pdf
Aula1 dia 22 02 2022.pdf
 
Aula1.pdf
Aula1.pdfAula1.pdf
Aula1.pdf
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
 
Introdução a informática: do Windows ao Excel
Introdução a informática: do Windows ao ExcelIntrodução a informática: do Windows ao Excel
Introdução a informática: do Windows ao Excel
 
Es aula01
Es   aula01Es   aula01
Es aula01
 
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - Wikipedia
 
Aula1 introducao engsw
Aula1 introducao engswAula1 introducao engsw
Aula1 introducao engsw
 
152191 11993
152191 11993152191 11993
152191 11993
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Apresentação da disciplina de Introdução à Informática
Apresentação da disciplina de Introdução à InformáticaApresentação da disciplina de Introdução à Informática
Apresentação da disciplina de Introdução à Informática
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 

Último

Caderno_de_referencias_Ocupacaohumana_IV_FlaviaCoelho_compressed.pdf
Caderno_de_referencias_Ocupacaohumana_IV_FlaviaCoelho_compressed.pdfCaderno_de_referencias_Ocupacaohumana_IV_FlaviaCoelho_compressed.pdf
Caderno_de_referencias_Ocupacaohumana_IV_FlaviaCoelho_compressed.pdf
shirleisousa9166
 
Organograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdfOrganograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdf
Falcão Brasil
 
Escola de Especialistas de Aeronáutica (EEAR).pdf
Escola de Especialistas de Aeronáutica (EEAR).pdfEscola de Especialistas de Aeronáutica (EEAR).pdf
Escola de Especialistas de Aeronáutica (EEAR).pdf
Falcão Brasil
 
Infografia | Presidência húngara do Conselho da UE
Infografia | Presidência húngara do Conselho da UEInfografia | Presidência húngara do Conselho da UE
Infografia | Presidência húngara do Conselho da UE
Centro Jacques Delors
 
EBBOK_HORA DO CONTO_O SONHO DO EVARISTO_PAULA FRANCISCO_22_23
EBBOK_HORA DO CONTO_O SONHO DO EVARISTO_PAULA FRANCISCO_22_23EBBOK_HORA DO CONTO_O SONHO DO EVARISTO_PAULA FRANCISCO_22_23
EBBOK_HORA DO CONTO_O SONHO DO EVARISTO_PAULA FRANCISCO_22_23
Sandra Pratas
 
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
Sandra Pratas
 
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdfOs Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Falcão Brasil
 
Portfólio Estratégico da Marinha do Brasil (MB).pdf
Portfólio Estratégico da Marinha do Brasil (MB).pdfPortfólio Estratégico da Marinha do Brasil (MB).pdf
Portfólio Estratégico da Marinha do Brasil (MB).pdf
Falcão Brasil
 
Atividade Dias dos Pais - Meu Pai, Razão da Minha História.
Atividade Dias dos Pais -  Meu Pai, Razão da Minha História.Atividade Dias dos Pais -  Meu Pai, Razão da Minha História.
Atividade Dias dos Pais - Meu Pai, Razão da Minha História.
Mary Alvarenga
 
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptxSlides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
LuizHenriquedeAlmeid6
 
Caça-palavras - multiplicação
Caça-palavras  -  multiplicaçãoCaça-palavras  -  multiplicação
Caça-palavras - multiplicação
Mary Alvarenga
 
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
principeandregalli
 
Noite Alva! José Ernesto Ferraresso.ppsx
Noite Alva! José Ernesto Ferraresso.ppsxNoite Alva! José Ernesto Ferraresso.ppsx
Noite Alva! José Ernesto Ferraresso.ppsx
Luzia Gabriele
 
APA fonoaudiologia Pratica Trabalho Prontos.pptx
APA fonoaudiologia Pratica Trabalho Prontos.pptxAPA fonoaudiologia Pratica Trabalho Prontos.pptx
APA fonoaudiologia Pratica Trabalho Prontos.pptx
orquestrasinfonicaam
 
Introdução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdfIntrodução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdf
valdeci17
 
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdfGeotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Falcão Brasil
 
Slide para aplicação da AVAL. FLUÊNCIA.pptx
Slide para aplicação  da AVAL. FLUÊNCIA.pptxSlide para aplicação  da AVAL. FLUÊNCIA.pptx
Slide para aplicação da AVAL. FLUÊNCIA.pptx
LeilaVilasboas
 
História das ideias pedagógicas no Brasil - Demerval Saviani.pdf
História das ideias pedagógicas no Brasil - Demerval Saviani.pdfHistória das ideias pedagógicas no Brasil - Demerval Saviani.pdf
História das ideias pedagógicas no Brasil - Demerval Saviani.pdf
LeideLauraCenturionL
 
EMOCIONES PARA TRABAJAR EN LA AREA SOCIOEMOCIONAL
EMOCIONES PARA TRABAJAR EN LA AREA SOCIOEMOCIONALEMOCIONES PARA TRABAJAR EN LA AREA SOCIOEMOCIONAL
EMOCIONES PARA TRABAJAR EN LA AREA SOCIOEMOCIONAL
JocelynNavarroBonta
 

Último (20)

Caderno_de_referencias_Ocupacaohumana_IV_FlaviaCoelho_compressed.pdf
Caderno_de_referencias_Ocupacaohumana_IV_FlaviaCoelho_compressed.pdfCaderno_de_referencias_Ocupacaohumana_IV_FlaviaCoelho_compressed.pdf
Caderno_de_referencias_Ocupacaohumana_IV_FlaviaCoelho_compressed.pdf
 
Organograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdfOrganograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdf
 
Escola de Especialistas de Aeronáutica (EEAR).pdf
Escola de Especialistas de Aeronáutica (EEAR).pdfEscola de Especialistas de Aeronáutica (EEAR).pdf
Escola de Especialistas de Aeronáutica (EEAR).pdf
 
Infografia | Presidência húngara do Conselho da UE
Infografia | Presidência húngara do Conselho da UEInfografia | Presidência húngara do Conselho da UE
Infografia | Presidência húngara do Conselho da UE
 
EBBOK_HORA DO CONTO_O SONHO DO EVARISTO_PAULA FRANCISCO_22_23
EBBOK_HORA DO CONTO_O SONHO DO EVARISTO_PAULA FRANCISCO_22_23EBBOK_HORA DO CONTO_O SONHO DO EVARISTO_PAULA FRANCISCO_22_23
EBBOK_HORA DO CONTO_O SONHO DO EVARISTO_PAULA FRANCISCO_22_23
 
TALENTOS DA NOSSA ESCOLA .
TALENTOS DA NOSSA ESCOLA                .TALENTOS DA NOSSA ESCOLA                .
TALENTOS DA NOSSA ESCOLA .
 
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
EBOOK_HORA DO CONTO_O MONSTRO DAS CORES_ANGELINA & MÓNICA_22_23
 
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdfOs Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdf
 
Portfólio Estratégico da Marinha do Brasil (MB).pdf
Portfólio Estratégico da Marinha do Brasil (MB).pdfPortfólio Estratégico da Marinha do Brasil (MB).pdf
Portfólio Estratégico da Marinha do Brasil (MB).pdf
 
Atividade Dias dos Pais - Meu Pai, Razão da Minha História.
Atividade Dias dos Pais -  Meu Pai, Razão da Minha História.Atividade Dias dos Pais -  Meu Pai, Razão da Minha História.
Atividade Dias dos Pais - Meu Pai, Razão da Minha História.
 
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptxSlides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
Slides Lição 3, CPAD, Rute e Noemi, Entrelaçadas pelo Amor.pptx
 
Caça-palavras - multiplicação
Caça-palavras  -  multiplicaçãoCaça-palavras  -  multiplicação
Caça-palavras - multiplicação
 
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
 
Noite Alva! José Ernesto Ferraresso.ppsx
Noite Alva! José Ernesto Ferraresso.ppsxNoite Alva! José Ernesto Ferraresso.ppsx
Noite Alva! José Ernesto Ferraresso.ppsx
 
APA fonoaudiologia Pratica Trabalho Prontos.pptx
APA fonoaudiologia Pratica Trabalho Prontos.pptxAPA fonoaudiologia Pratica Trabalho Prontos.pptx
APA fonoaudiologia Pratica Trabalho Prontos.pptx
 
Introdução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdfIntrodução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdf
 
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdfGeotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
 
Slide para aplicação da AVAL. FLUÊNCIA.pptx
Slide para aplicação  da AVAL. FLUÊNCIA.pptxSlide para aplicação  da AVAL. FLUÊNCIA.pptx
Slide para aplicação da AVAL. FLUÊNCIA.pptx
 
História das ideias pedagógicas no Brasil - Demerval Saviani.pdf
História das ideias pedagógicas no Brasil - Demerval Saviani.pdfHistória das ideias pedagógicas no Brasil - Demerval Saviani.pdf
História das ideias pedagógicas no Brasil - Demerval Saviani.pdf
 
EMOCIONES PARA TRABAJAR EN LA AREA SOCIOEMOCIONAL
EMOCIONES PARA TRABAJAR EN LA AREA SOCIOEMOCIONALEMOCIONES PARA TRABAJAR EN LA AREA SOCIOEMOCIONAL
EMOCIONES PARA TRABAJAR EN LA AREA SOCIOEMOCIONAL
 

Uma Introdução a Engenharia de Software

  • 1. Uma  Introdução  a   Engenharia  de  So4ware   Centro  de  Informá-ca  -­‐  Universidade  Federal  de  Pernambuco   Sistemas  de  Informação   Vinicius  Cardoso  Garcia   vcg@cin.ufpe.br     Slides  originais  elaborados  por  Ian  Sommerville   O  autor  permite  o  uso  e  a  modificação  dos  slides  para  fins  didá-cos  
  • 2. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Engenharia de software   •  As economias de TODAS as nações desenvolvidas são dependentes de software. •  Cada vez mais sistemas são controlados por software. •  A engenharia de software se dedica às teorias, métodos e ferramentas para desenvolvimento de software profissional –  Sistemas não-triviais –  Com base em um conjunto de requisitos 2  
  • 3. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Custos de software   •  Os custos de software dominam os custos de sistemas computacionais. –  Em geral, software custa mais que hardware •  Manter um software custa mais que desenvolvê-lo •  A engenharia de software dedica-se ao desenvolvimento de software com custos adequados –  Respeitando o cronograma acordado –  Satisfazendo as necessidades dos clientes –  Minimizando o custo de manutenção 3  
  • 4. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Definições   •  Disciplina gerencial e tecnológica que lida com a produção e manutenção sistemática de produtos de software desenvolvidos dentro de estimativas de custo e tempo •  “Multi-person construction of multi-version software”(Parnas) 4  
  • 5. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   FAQs sobre engenharia de software   •  O que é software? •  O que é engenharia de software? •  Qual é a diferença entre engenharia de software e ciência da computação? •  Qual é a diferença entre engenharia de software e engenharia de sistemas? •  O que é processo de software? •  O que é um modelo de processo de software? 5  
  • 6. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   FAQs sobre engenharia de software   •  Quais são os custos da engenharia de software? •  Quais são os métodos da engenharia de software? •  O que é CASE (Computer-Aided Software Engeneering)? •  Quais são os atributos de um bom software? •  Quais são os desafios-chave enfrentados pela engenharia de software? 6  
  • 7. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   O que é software?   •  Programas de computador e artefatos associados •  Produtos de software podem ser: –  Genéricos – desenvolvidos para serem vendidos para uma grande variedade de clientes (e.g., Excel e Word) –  Personalizados – desenvolvidos para um único cliente de acordo com as suas especificações. •  Um software novo pode ser criado através de –  desenvolvimento de novos programas; –  configuração de sistemas de software genéricos; ou –  reutilização de um software existente. 7  
  • 8. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   O que é engenharia de software?   •  Engenharia de software é uma disciplina relacionada com todos os aspectos da produção de software. •  ... e propõe ferramentas, técnicas e processos para: –  Entender com precisão qual é o problema (as necessidades associadas ao sistema que deve ser construído/modificado)‫‏‬ –  Produzir uma solução adequada para esse problema (um sistema pronto para usar, levando-se em consideração as necessidades das partes interessadas)‫‏‬ –  Levando-se em conta restrições de desenvolvimento e recursos disponíveis 8  
  • 9. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Qual é a diferença entre engenharia de software e ciência da computação?   •  A ciência da computação dedica-se à teoria e aos fundamentos; –  Engenharia de software dedica-se aos aspectos práticos de desenvolvimento e de entrega de software –  O que vs. Como •  Teorias de ciência da computação são ainda insuficientes para atuar como uma base completa para a engenharia de software (diferente de, por exemplo, física e engenharia elétrica). –  Em outras palavras: não há receitas prontas! 9  
  • 10. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Qual é a diferença entre engenharia de software e engenharia de sistemas?   •  Engenharia de sistemas: –  Mais ampla –  Muita ênfase em aspectos de hardware e infra- estrutura •  Abstração do hardware •  Organização física das partes do sistema •  Aspectos de comunicação –  Engloba a engenharia do software •  Os engenheiros de sistema estão envolvidos em diversas atividades da engenharia de software –  Projeto da arquitetura –  Elicitação e especificação de requisitos 10  
  • 11. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   O que é processo de software?   •  Um conjunto estruturado de atividades, práticas, artefatos e ferramentas necessários para o desenvolvimento de um sistema de software –  Especificação; –  Desenvolvimento; –  Validação; –  Evolução. •  Exemplos: Processo Unificado (RUP), Programação Extrema, UML Components •  Diferente da definição do livro!!! –  processo , modelo de processo , método e metodologia 11  
  • 12. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   O que é processo de software?   •  Alguns elementos de um processo: –  Modelos de sistema: •  Modelos gráficos que podem/devem ser produzidos e as notações que devem ser empregadas; •  Restrições aplicadas aos modelos de sistema; –  Recomendações de boas práticas de projeto; –  Atividades que devem ser seguidas em determinada ordem –  Às vezes também prescrevem ferramentas •  Um processo adere a um ou mais modelos de processo 12  
  • 13. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   O que é um modelo de processo de software?   •  Uma representação simplificada de um processo de software, apresentado sob uma perspectiva específica –  Incluindo algumas atividades e sua organização de alto nível •  Modelos gerais de processo –  Cascata; –  Desenvolvimento iterativo; –  Engenharia de software baseada em componentes. •  Dois modelos não são necessariamente mutuamente excludentes! •  Representações de modelos de processo: –  Modelo de workflow – seqüência de atividades; –  Modelo de fluxo de dados – fluxo de informações; –  Modelo de papel/ação – quem faz o quê. 13  
  • 14. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Quais são os custos da engenharia de software?   •  60% dos custos são custos de desenvolvimento •  40% são custos de testes •  Para software sob encomenda, os custos de evolução normalmente excedem os de desenvolvimento. •  Os custos variam dependendo do tipo de sistema que está sendo desenvolvido e dos requisitos do sistema, tais como desempenho e confiabilidade •  A distribuição de custos depende do modelo de desenvolvimento que é usado. 14  
  • 15. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Distribuição de custos nas atividades   15  
  • 16. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   O que é CASE (Computer-Aided Software Engineering)   •  Sistemas de software que se destinam a fornecer apoio automatizado para as atividades de desenvolvimento de software. •  Sistemas CASE são usados freqüentemente para apoiar um método específico •  Upper-CASE –  Ferramentas para apoiar as atividades iniciais de processo de requisitos e de projeto; •  Lower-CASE –  Ferramentas para apoiar as atividades finais tais como programação, debugging e teste. 16  
  • 17. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Quais são os atributos de um bom software?   •  O software deve fornecer a funcionalidade e o desempenho requeridos para o usuário e deve apresentar certas características •  Facilidade de manutenção –  Deve ser fácil e barato fazer com que o sistema, depois de implantado, evolua para atender às necessidades dos clientes •  Confiabilidade –  O software deve funcionar de maneira que o usuário possa depender dele. No caso de falha, não traz danos físicos ou econômicos •  Eficiência –  O software deve usar o mínimo de recursos e prover máxima funcionalidade •  Usabilidade –  O software deve ser compreensível e fácil de usar 17  
  • 18. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Quais são os desafios-chave enfrentados pela engenharia de software?   •  Heterogeneidade –  Sistemas de software devem ser capaz de lidar com diferentes plataformas de hardware e ambientes de execução; •  Entrega –  O sistema deve ser entregue ao cliente no menor tempo possível, com o menor custo possível; •  Confiança –  O usuário deve poder justificadamente depositar sua confiança no sistema •  Escala –  O sistema deve funcionar adequadamente mesmo quando um grande número de usuários o está usando 18  
  • 19. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Responsabilidade profissional e ética   •  A engenharia de software envolve responsabilidades mais amplas do que simplesmente a aplicação de habilidades técnicas. •  Os engenheiros de software devem se comportar de modo honesto e eticamente responsável para serem respeitados como profissionais. •  O comportamento ético é mais do que simplesmente a sustentação de leis. 19  
  • 20. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Questões de responsabilidade profissional   •  Confidencialidade –  Os engenheiros de software devem normalmente respeitar a confidencialidade de seus funcionários ou clientes, independentemente de ter ou não assinado um acordo formal. •  Caso não aceitem essas condições, devem deixar isso expiícito para seus contratantes •  Competência –  Os engenheiros não devem conscientemente aceitar um trabalho que esteja fora de sua competência. 20  
  • 21. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Questões de responsabilidade profissional   •  Direitos sobre propriedade intelectual –  Desenvolvedores devem estar cientes das leis locais que regem o uso de propriedade intelectual, tais como patentes, direitos autorais, etc. –  Eles devem tomar cuidado para assegurar que a propriedade intelectual dos funcionários e clientes seja protegida. 21  
  • 22. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   Dilemas éticos   •  Discordância, em princípio, das políticas da gerência sênior. •  Um funcionário age de uma forma não ética e libera um sistema de segurança crítico sem finalizar o teste do sistema. •  Participação no desenvolvimento de sistemas de armamentos militares ou de sistemas nucleares 22  
  • 23. [if977]  Engenharia  de  So4ware  -­‐  CIn  -­‐  UFPE   A@vidade  Prá@ca   •  Para  a  próxima  aula   – Projeto  de  um  Avião   • E  ele  tem  que  voar!   23