SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
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
Implementação
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ítulos 7
– IEEE. Guide to the Software Engineering Body of Knowledge.
SWEBOK. Version 3. IEEE Computer Society. 2014. –
Chapter 3
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (3)
Implementação
• Implementação (Construção):
– Criação da versão executável do software:
• Desenvolvimento de software com linguagens de
programação; ou
• Customização/adaptação de software de prateleira; ou
• Integração de componentes de software.
Implementação
Introdução à Engenharia de Software
Software
implementado
Projeto
detalhado
Componentes
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (4)
Implementação
• Fundamentos:
– Minimizar a complexidade (criar módulos com função bem
definida)
– Antecipar a mudança (definir estruturas flexíveis e
adaptáveis)
– Construir para a verificação (facilitar o teste)
– Padrões na construção (de codificação, de formatos de
dados, etc.).
– Reuso (reaproveitar software: bibliotecas, componentes,
frameworks, produtos)
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (5)
Implementação
• Reuso:
– Pode ocorrer em vários níveis:
• Reuso de especificação.
• Reuso de código (bibliotecas, API – Application Programming
Interface).
• Reuso de componentes e frameworks (conjunto de objetos).
• Reuso de sistemas (COTS – Commercial-Off-The-Shelf, software de
prateleira).
– Pode ter dois focos:
• Implementar com reuso: visa a reutilização de software existente.
• Implementar para reuso: visa a criação de software que possa ser
reutilizado.
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (6)
Implementação
• Diretrizes de programação:
– Algoritmo (lógica de programação)
– Estruturas de dados (armazenamento de dados no programa)
– Estruturas de controle (controle do fluxo de execução do
programa)
– Tratamento de exceção (controle de possíveis erros/falhas)
– Documentação (interna e externa do código)
– Nomenclatura dos elementos (nomes significativos para
variáveis, classes, métodos, etc.)
– Tabulação (endentação) do código
– Refatoração (melhoria do código, remoção de redundância)
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (7)
Implementação
• Linguagens de Programação:
– O paradigma de programação pode influenciar a definição da
arquitetura, projeto e implementação do software.
– Há diversos paradigmas e linguagens de programação:
• Procedural (Ex.: FORTRAN, COBOL, C, Pascal, BASIC)
• Orientado a objetos (Ex.: Smalltalk, C++, Java, C#)
• Funcional (Ex.: LISP, ML)
• Lógica (Ex.: PROLOG)
Introdução à Engenharia de Software
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (8)
Implementação
• Ferramentas de construção:
– IDE (Integrated Development Enviroment). Ex: BlueJ,
Eclipse, Visual Studio
– Geradores de GUI (Graphical User Interface)
– Ferramentas de teste unitário
– Ferramentas de depuração (debugging)
– Geradores de código
– Geradores de aplicação (MDA-Model Driven Architecture)
– Geradores de documentação
– Gerenciador de configuração (versionamento, integração,
rastreabilidade)
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
Implementação

Mais conteúdo relacionado

Semelhante a Implementação 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
 
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
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Thyago Maia
 
Monografia eng soft1_halan
Monografia eng soft1_halanMonografia eng soft1_halan
Monografia eng soft1_halanHalan Ridolphi
 
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
 
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
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Valmon Gaudencio
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e ValidaçãoMarcelo Yamaguti
 
algoritmos e programacao apostila completa
 algoritmos e programacao apostila completa algoritmos e programacao apostila completa
algoritmos e programacao apostila completauna
 
Apostila de algoritmo e programação
Apostila de algoritmo e programaçãoApostila de algoritmo e programação
Apostila de algoritmo e programaçãoThiago Marques
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9wilsonguns
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacaopablogranola
 

Semelhante a Implementação software (20)

Projeto de software
Projeto de softwareProjeto de software
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 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
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
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
 
Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Monografia eng soft1_halan
Monografia eng soft1_halanMonografia eng soft1_halan
Monografia eng soft1_halan
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
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
 
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...
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e Validação
 
algoritmos e programacao apostila completa
 algoritmos e programacao apostila completa algoritmos e programacao apostila completa
algoritmos e programacao apostila completa
 
Apostila de algoritmo e programação
Apostila de algoritmo e programaçãoApostila de algoritmo e programação
Apostila de algoritmo e programação
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacao
 

Implementação 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 Implementação
  • 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ítulos 7 – IEEE. Guide to the Software Engineering Body of Knowledge. SWEBOK. Version 3. IEEE Computer Society. 2014. – Chapter 3 Introdução à Engenharia de Software
  • 3. PUCRS - FACIN Prof. Marcelo H. Yamaguti (3) Implementação • Implementação (Construção): – Criação da versão executável do software: • Desenvolvimento de software com linguagens de programação; ou • Customização/adaptação de software de prateleira; ou • Integração de componentes de software. Implementação Introdução à Engenharia de Software Software implementado Projeto detalhado Componentes
  • 4. PUCRS - FACIN Prof. Marcelo H. Yamaguti (4) Implementação • Fundamentos: – Minimizar a complexidade (criar módulos com função bem definida) – Antecipar a mudança (definir estruturas flexíveis e adaptáveis) – Construir para a verificação (facilitar o teste) – Padrões na construção (de codificação, de formatos de dados, etc.). – Reuso (reaproveitar software: bibliotecas, componentes, frameworks, produtos) Introdução à Engenharia de Software
  • 5. PUCRS - FACIN Prof. Marcelo H. Yamaguti (5) Implementação • Reuso: – Pode ocorrer em vários níveis: • Reuso de especificação. • Reuso de código (bibliotecas, API – Application Programming Interface). • Reuso de componentes e frameworks (conjunto de objetos). • Reuso de sistemas (COTS – Commercial-Off-The-Shelf, software de prateleira). – Pode ter dois focos: • Implementar com reuso: visa a reutilização de software existente. • Implementar para reuso: visa a criação de software que possa ser reutilizado. Introdução à Engenharia de Software
  • 6. PUCRS - FACIN Prof. Marcelo H. Yamaguti (6) Implementação • Diretrizes de programação: – Algoritmo (lógica de programação) – Estruturas de dados (armazenamento de dados no programa) – Estruturas de controle (controle do fluxo de execução do programa) – Tratamento de exceção (controle de possíveis erros/falhas) – Documentação (interna e externa do código) – Nomenclatura dos elementos (nomes significativos para variáveis, classes, métodos, etc.) – Tabulação (endentação) do código – Refatoração (melhoria do código, remoção de redundância) Introdução à Engenharia de Software
  • 7. PUCRS - FACIN Prof. Marcelo H. Yamaguti (7) Implementação • Linguagens de Programação: – O paradigma de programação pode influenciar a definição da arquitetura, projeto e implementação do software. – Há diversos paradigmas e linguagens de programação: • Procedural (Ex.: FORTRAN, COBOL, C, Pascal, BASIC) • Orientado a objetos (Ex.: Smalltalk, C++, Java, C#) • Funcional (Ex.: LISP, ML) • Lógica (Ex.: PROLOG) Introdução à Engenharia de Software
  • 8. PUCRS - FACIN Prof. Marcelo H. Yamaguti (8) Implementação • Ferramentas de construção: – IDE (Integrated Development Enviroment). Ex: BlueJ, Eclipse, Visual Studio – Geradores de GUI (Graphical User Interface) – Ferramentas de teste unitário – Ferramentas de depuração (debugging) – Geradores de código – Geradores de aplicação (MDA-Model Driven Architecture) – Geradores de documentação – Gerenciador de configuração (versionamento, integração, rastreabilidade) 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 Implementação