SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
Prof. Marcelo H. Yamaguti (1)
Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Prof. Marcelo H. Yamaguti
Introdução à Engenharia de
Software
DESENVOLVIMENTO DE
SOFTWARE
Projeto e Arquitetura de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (2)
Referências
• Estude para aprofundamento no conteúdo:
– SOMMERVILLE, Ian. Engenharia de Software. 9ª ed. São
Paulo: Pearson, 2011. – Capítulo 7
– PFLEEGER, Shari Lawrence. Engenharia de Software: teoria
e prática. 2ª ed. São Paulo: Prentice-Hall, 2004. - Capítulo 5
– IEEE. Guide to the Software Engineering Body of Knowledge.
SWEBOK. Version 3. IEEE Computer Society. 2014. –
Chapter 2
– GAMMA, Erich; HELM, Richard; JOHNSON, Ralph;
VLISSIDES, John. Design patterns: elements for reusable
object-oriented software. Reading: Addison-Wesley, 1994.
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (3)
Projeto e Arquitetura
• Projeto:
– Preliminar: foco no projeto da arquitetura do software.
– Detalhado: foco no projeto dos componentes (módulos) de
software.
Projeto
preliminar
Introdução à Engenharia de Software
Análise
Especificação
de requisitos
Arquitetura
O QUE COMO
Projeto
detalhado
Componentes
COMO
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (4)
Projeto detalhado
• O projeto detalhado visa especificar os componentes
(módulos) a serem implementados.
• Os módulos são derivados da arquitetura do software
definida e representam unidades independentes que
possuem uma funcionalidade bem definida e que
(idealmente) podem ser reutilizáveis.
• No projeto de módulos há diretrizes que devem ser
observadas, como por exemplo:
– Acoplamento: mede o grau de interdependência entre os
módulos.
– Coesão: mede o grau de ligação dos elementos internos de um
módulo.
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (5)
Projeto detalhado
• Estratégias de detalhamento do projeto:
– Projeto funcional
– Projeto orientado a objetos
– Projeto centrado em estrutura de dados
– Projeto baseado em componentes
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (6)
Padrões de projeto
• Semelhante aos padrões de arquitetura, no nível do
projeto de componentes há diversos padrões de
projeto que servem para uniformizar a especificação
de componentes.
• O catálogo mais conhecido são os design patterns
(padrões de projeto) propostos por Erich Gamma.
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (7)
Padrões de projeto
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (8)
Especificação do projeto
• A modelagem do projeto pode gerar especificações:
– Textuais
– Gráficas (ex.: UML)
• Estas especificações podem ser agrupadas em dois
grandes grupos.
– Descrições de estrutura:
• Ex.: Linguagens de descrição (ex.: ADL – Architectural Description
Languages)
• Ex.: UML – diagramas de estrutura
– Descrições de comportamento:
• Ex.: UML – diagramas de comportamento
Introdução à Engenharia de Software
Prof. Marcelo H. Yamaguti (9)
Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Prof. Marcelo H. Yamaguti
Introdução à Engenharia de
Software
DESENVOLVIMENTO DE
SOFTWARE
Projeto e Arquitetura de Software

Más contenido relacionado

Destacado

9 Projeto conceitual
9 Projeto conceitual9 Projeto conceitual
9 Projeto conceitualMarcel Gois
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
10 D Projeto Detalhado
10 D Projeto Detalhado10 D Projeto Detalhado
10 D Projeto DetalhadoMarcel Gois
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentesigordsm
 
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
 
Gestão de empreendedorísmo Sebrae
Gestão de empreendedorísmo SebraeGestão de empreendedorísmo Sebrae
Gestão de empreendedorísmo SebraeMah1986mah
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareFelipe Goulart
 
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
 

Destacado (10)

Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
 
9 Projeto conceitual
9 Projeto conceitual9 Projeto conceitual
9 Projeto conceitual
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
10 D Projeto Detalhado
10 D Projeto Detalhado10 D Projeto Detalhado
10 D Projeto Detalhado
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentes
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Gestão de empreendedorísmo Sebrae
Gestão de empreendedorísmo SebraeGestão de empreendedorísmo Sebrae
Gestão de empreendedorísmo Sebrae
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia 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
 

Similar a Projeto de software

Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de SoftwareMarcelo Yamaguti
 
Gerenciamento de Configuração
Gerenciamento de ConfiguraçãoGerenciamento de Configuração
Gerenciamento de ConfiguraçãoMarcelo Yamaguti
 
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...Fernando Geraldo Mantoan
 
Monografia eng soft1_halan
Monografia eng soft1_halanMonografia eng soft1_halan
Monografia eng soft1_halanHalan Ridolphi
 
Apresentação IHC - Prof.ª Cristiane Fidelix
Apresentação IHC  - Prof.ª Cristiane FidelixApresentação IHC  - Prof.ª Cristiane Fidelix
Apresentação IHC - Prof.ª Cristiane FidelixCris Fidelix
 
Arquitetura de software - Introdução
Arquitetura de software - IntroduçãoArquitetura de software - Introdução
Arquitetura de software - IntroduçãoSergio Crespo
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasNorton Guimarães
 
387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdf387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdfNickMartinsgaspar
 
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernateAnálise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernateRicardo Rinco
 
Uma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareUma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareVinicius Garcia
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - WikipediaRobson Silva Espig
 
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
 
Arquitetura_de_software_e_como_descreve-la_v2
Arquitetura_de_software_e_como_descreve-la_v2Arquitetura_de_software_e_como_descreve-la_v2
Arquitetura_de_software_e_como_descreve-la_v2Diogo Soares Moreira
 

Similar a Projeto de software (20)

Implementação
ImplementaçãoImplementação
Implementação
 
Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Gerenciamento de Configuração
Gerenciamento de ConfiguraçãoGerenciamento de Configuração
Gerenciamento de Configuração
 
Gerenciamento de Projetos
Gerenciamento de ProjetosGerenciamento de Projetos
Gerenciamento de Projetos
 
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
 
Teste
TesteTeste
Teste
 
Monografia eng soft1_halan
Monografia eng soft1_halanMonografia eng soft1_halan
Monografia eng soft1_halan
 
1345486916110
13454869161101345486916110
1345486916110
 
Apresentação IHC - Prof.ª Cristiane Fidelix
Apresentação IHC  - Prof.ª Cristiane FidelixApresentação IHC  - Prof.ª Cristiane Fidelix
Apresentação IHC - Prof.ª Cristiane Fidelix
 
Arquitetura de software - Introdução
Arquitetura de software - IntroduçãoArquitetura de software - Introdução
Arquitetura de software - Introdução
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e Dicas
 
Eng.ª do Software - 1. Introdução
Eng.ª do Software - 1. IntroduçãoEng.ª do Software - 1. Introdução
Eng.ª do Software - 1. Introdução
 
387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdf387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdf
 
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernateAnálise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
 
Uma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareUma Introdução a Engenharia de Software
Uma Introdução a Engenharia de Software
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - Wikipedia
 
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
 
Arquitetura_de_software_e_como_descreve-la_v2
Arquitetura_de_software_e_como_descreve-la_v2Arquitetura_de_software_e_como_descreve-la_v2
Arquitetura_de_software_e_como_descreve-la_v2
 
Reúso
ReúsoReúso
Reúso
 

Projeto de software

  • 1. Prof. Marcelo H. Yamaguti (1) Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Prof. Marcelo H. Yamaguti Introdução à Engenharia de Software DESENVOLVIMENTO DE SOFTWARE Projeto e Arquitetura de Software
  • 2. PUCRS - FACIN Prof. Marcelo H. Yamaguti (2) Referências • Estude para aprofundamento no conteúdo: – SOMMERVILLE, Ian. Engenharia de Software. 9ª ed. São Paulo: Pearson, 2011. – Capítulo 7 – PFLEEGER, Shari Lawrence. Engenharia de Software: teoria e prática. 2ª ed. São Paulo: Prentice-Hall, 2004. - Capítulo 5 – IEEE. Guide to the Software Engineering Body of Knowledge. SWEBOK. Version 3. IEEE Computer Society. 2014. – Chapter 2 – GAMMA, Erich; HELM, Richard; JOHNSON, Ralph; VLISSIDES, John. Design patterns: elements for reusable object-oriented software. Reading: Addison-Wesley, 1994. Introdução à Engenharia de Software
  • 3. PUCRS - FACIN Prof. Marcelo H. Yamaguti (3) Projeto e Arquitetura • Projeto: – Preliminar: foco no projeto da arquitetura do software. – Detalhado: foco no projeto dos componentes (módulos) de software. Projeto preliminar Introdução à Engenharia de Software Análise Especificação de requisitos Arquitetura O QUE COMO Projeto detalhado Componentes COMO
  • 4. PUCRS - FACIN Prof. Marcelo H. Yamaguti (4) Projeto detalhado • O projeto detalhado visa especificar os componentes (módulos) a serem implementados. • Os módulos são derivados da arquitetura do software definida e representam unidades independentes que possuem uma funcionalidade bem definida e que (idealmente) podem ser reutilizáveis. • No projeto de módulos há diretrizes que devem ser observadas, como por exemplo: – Acoplamento: mede o grau de interdependência entre os módulos. – Coesão: mede o grau de ligação dos elementos internos de um módulo. Introdução à Engenharia de Software
  • 5. PUCRS - FACIN Prof. Marcelo H. Yamaguti (5) Projeto detalhado • Estratégias de detalhamento do projeto: – Projeto funcional – Projeto orientado a objetos – Projeto centrado em estrutura de dados – Projeto baseado em componentes Introdução à Engenharia de Software
  • 6. PUCRS - FACIN Prof. Marcelo H. Yamaguti (6) Padrões de projeto • Semelhante aos padrões de arquitetura, no nível do projeto de componentes há diversos padrões de projeto que servem para uniformizar a especificação de componentes. • O catálogo mais conhecido são os design patterns (padrões de projeto) propostos por Erich Gamma. Introdução à Engenharia de Software
  • 7. PUCRS - FACIN Prof. Marcelo H. Yamaguti (7) Padrões de projeto Introdução à Engenharia de Software
  • 8. PUCRS - FACIN Prof. Marcelo H. Yamaguti (8) Especificação do projeto • A modelagem do projeto pode gerar especificações: – Textuais – Gráficas (ex.: UML) • Estas especificações podem ser agrupadas em dois grandes grupos. – Descrições de estrutura: • Ex.: Linguagens de descrição (ex.: ADL – Architectural Description Languages) • Ex.: UML – diagramas de estrutura – Descrições de comportamento: • Ex.: UML – diagramas de comportamento Introdução à Engenharia de Software
  • 9. Prof. Marcelo H. Yamaguti (9) Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Prof. Marcelo H. Yamaguti Introdução à Engenharia de Software DESENVOLVIMENTO DE SOFTWARE Projeto e Arquitetura de Software