SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
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

Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercíciosGuilherme
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Elaine Cecília Gatto
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Elaine Cecília Gatto
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Aula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAlexandreLisboadaSil
 
Á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 SoftwareElaine Cecília Gatto
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareRobson Silva Espig
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Sérgio Souza Costa
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Elaine Cecília Gatto
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 

Mais procurados (20)

Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Aula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptx
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Á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
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Cmmi e mps.Br
Cmmi e mps.BrCmmi e mps.Br
Cmmi e mps.Br
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
A Linguagem UML
A Linguagem UMLA Linguagem UML
A Linguagem UML
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 

Destaque

Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Softwareelliando dias
 
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 1André 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 softwareRonney Moreira de Castro
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
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 softwareYuri 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 softwareJoao 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 3André 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 2André Phillip Bertoletti
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de SoftwareJoã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.7emc5714
 
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 UMLNatanael Simões
 

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 Introdução à Engenharia de Software

Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxRoberto Nunes
 
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 fundamentaisWaldemar Roberti
 
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
 
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.pptxMarcondesTiburcio
 
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 SoftwareCloves da Rocha
 
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 Excelmalviana1
 
Es aula01
Es   aula01Es   aula01
Es aula01Itaú
 
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 3spawally
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - WikipediaRobson Silva Espig
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9wilsonguns
 
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áticaKéssia Marchi
 

Semelhante a Introdução à 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
 
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
 
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
 
Processos de Software
Processos de SoftwareProcessos de Software
Processos 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
 

Último

Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxkarinasantiago54
 
CRONOGRAMA: AÇÕES DO PROJETO ESTAÇÃO LEITURA
CRONOGRAMA: AÇÕES DO PROJETO ESTAÇÃO LEITURACRONOGRAMA: AÇÕES DO PROJETO ESTAÇÃO LEITURA
CRONOGRAMA: AÇÕES DO PROJETO ESTAÇÃO LEITURADouglasVasconcelosMa
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoCelianeOliveira8
 
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...nexocan937
 
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptxSlides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptxLuizHenriquedeAlmeid6
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileirosMary Alvarenga
 
Orientações para a análise do poema Orfeu Rebelde.pptx
Orientações para a análise do poema Orfeu Rebelde.pptxOrientações para a análise do poema Orfeu Rebelde.pptx
Orientações para a análise do poema Orfeu Rebelde.pptxJMTCS
 
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptxEVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptxHenriqueLuciano2
 
Revolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptxRevolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptxHlioMachado1
 
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...Martin M Flynn
 
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTREVACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTREIVONETETAVARESRAMOS
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...LuizHenriquedeAlmeid6
 
Sistema de Bibliotecas UCS - A descoberta da terra
Sistema de Bibliotecas UCS  - A descoberta da terraSistema de Bibliotecas UCS  - A descoberta da terra
Sistema de Bibliotecas UCS - A descoberta da terraBiblioteca UCS
 
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxSlides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxLuizHenriquedeAlmeid6
 
Mini livro sanfona - Diga não ao bullying
Mini livro sanfona - Diga não ao  bullyingMini livro sanfona - Diga não ao  bullying
Mini livro sanfona - Diga não ao bullyingMary Alvarenga
 
Linguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdfLinguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdfLaseVasconcelos1
 
Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024GleyceMoreiraXWeslle
 
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETOProjeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETODouglasVasconcelosMa
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaFernanda Ledesma
 

Último (20)

Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
 
CRONOGRAMA: AÇÕES DO PROJETO ESTAÇÃO LEITURA
CRONOGRAMA: AÇÕES DO PROJETO ESTAÇÃO LEITURACRONOGRAMA: AÇÕES DO PROJETO ESTAÇÃO LEITURA
CRONOGRAMA: AÇÕES DO PROJETO ESTAÇÃO LEITURA
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e feminino
 
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
Minha Luta (Mein Kampf), A História do País que Lutou contra a União Soviétic...
 
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptxSlides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
Slides Lição 01, Central Gospel, Os Sinais do Fim dos Tempos 2Tr24.pptx
 
19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros19 de abril - Dia dos povos indigenas brasileiros
19 de abril - Dia dos povos indigenas brasileiros
 
Orientações para a análise do poema Orfeu Rebelde.pptx
Orientações para a análise do poema Orfeu Rebelde.pptxOrientações para a análise do poema Orfeu Rebelde.pptx
Orientações para a análise do poema Orfeu Rebelde.pptx
 
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptxEVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
EVANGELISMO É MISSÕES ATUALIZADO 2024.pptx
 
Os Ratos - Dyonelio Machado FUVEST 2025
Os Ratos  -  Dyonelio Machado  FUVEST 2025Os Ratos  -  Dyonelio Machado  FUVEST 2025
Os Ratos - Dyonelio Machado FUVEST 2025
 
Revolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptxRevolução Industrial - Revolução Industrial .pptx
Revolução Industrial - Revolução Industrial .pptx
 
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
 
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTREVACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
VACINAR E DOAR, É SÓ COMEÇAR - - 1º BIMESTRE
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
 
Sistema de Bibliotecas UCS - A descoberta da terra
Sistema de Bibliotecas UCS  - A descoberta da terraSistema de Bibliotecas UCS  - A descoberta da terra
Sistema de Bibliotecas UCS - A descoberta da terra
 
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptxSlides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
Slides Lição 3, CPAD, O Céu - o Destino do Cristão, 2Tr24,.pptx
 
Mini livro sanfona - Diga não ao bullying
Mini livro sanfona - Diga não ao  bullyingMini livro sanfona - Diga não ao  bullying
Mini livro sanfona - Diga não ao bullying
 
Linguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdfLinguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdf
 
Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024Apresentação sobre o Combate a Dengue 2024
Apresentação sobre o Combate a Dengue 2024
 
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETOProjeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
Projeto leitura HTPC abril - FORMAÇÃP SOBRE O PROJETO
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão Linguística
 

Introdução à 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