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

Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de SoftwareNécio de Lima Veras
 
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 SoftwareLeinylson Fontinele
 
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
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIFilipo Mór
 
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
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoDaniel Brandão
 
Qualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIQualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIMonnalisa Medeiros
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareUFPA
 
Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)elliando dias
 
Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaDaniel Silveira
 

Mais procurados (20)

Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
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
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
ISO 15504
ISO 15504ISO 15504
ISO 15504
 
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
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTI
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Aula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, InformaçãoAula 02 - Sistemas, Dados, Informação
Aula 02 - Sistemas, Dados, Informação
 
Qualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIQualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSI
 
Modelo Espiral
Modelo EspiralModelo Espiral
Modelo Espiral
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Uml
UmlUml
Uml
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)
 
Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiula
 

Destaque

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

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

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
 
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
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Renato Leal
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - WikipediaRobson Silva Espig
 
Á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
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9wilsonguns
 

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
 
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
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
 
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
 
Á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
 

Último

A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.MrPitobaldo
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptxLinoReisLino
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila RibeiroMarcele Ravasio
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 

Último (20)

A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 

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