Ambientes de
Desenvolvimento
de Software
Giordano Cabral
[email protected]
Baseado em conteúdo de Ceça Moraes
Conteúdo
 Definição de Ambiente de
Desenvolvimento
 Instalação
 Plataformas2
 IDE’s
2
Ambiente de
Desenvolvimento de
Software

Conjunto de ferramentas de apoio ao longo
de todo o processo de desenvolvimento do
software
 Compostos


por:
Editor de código fonte, compilador, depurador
(debugger) e bibliotecas auxiliares
Exemplos:

Eclipse, Matlab, NetBeans, JCreator, Delphi, IDLE
3
Motivação
 Conferência de Garmish, 1968
 Crise do Software
• Dificuldades no desenvolvimento de software
• Rápido crescimento da
demanda
• Alta complexidade dos problemas
• Inexistência de técnicas para o
desenvolvimento de sistemas
4
Motivação
 Consequências da crise:
orçamento
e/ou finalizados acima do tempo esperado
• Projetos realizados acima do
• Produtos de software:
• de
baixa qualidade
• sem atender aos requisitos do cliente
não gerenciáveis
• com código difícil de manter
• projetos
5
Motivação
 Melhorando a crise do software:
• Uso de melhores métodos (estrutural, OO) e
ferramentas
• Mudança de paradigma sobre o que é desenvolver
como deve ser feito
 Ambientes de desenvolvimento de Software,
software e
buscando
• Qualidade do produto
• Aumento na produtividade
• Cumprimento dos prazos
• Redução na alocação de recursos
6
Ferramentas CASE
 CASE
= Computer-Aided Software
Engeneering
Engenharia de Software Auxiliada por
Computador
 Ferramentas para o auxílio em uma ou
mais etapas do ciclo de
desenvolvimento de software

7
Ferramentas CASE
Exemplos
Funcionalidade
Controle de Versão
Ferramentas
CVS, Subversion
Gerência de Projetos
Microsoft Project,
dotProject
Eclipse, NetBeans
Edição
Ferramentas de
Prototipagem
Automação de tarefas
Testes
Geração de Código
Documentação
JBuilder, Delphi
Apache Ant, Apache Maven
Junit,Cunit
Velocity, Transformica
Javadoc
8
Ambientes de
Desenvolvimento de
Software
 Linguagem C (estruturada, variáveis)
• http://www.bloodshed.net/devcpp.html
9
Dev C++
10
Dev C++
11
Dev C++
12
Dev C++
13
Python
 Python
(interpretada,
orientada a
objetos)
• http://python.org
14
Python
15
Python
16
Plataforma da
Linguagem Python
 Implementação do Python em:
• CPython – Linguagem C
(http://pt.wikipedia.org/wiki/CPython)
• IronPython – C#, na plataforma . NET
(http://pt.wikipedia.org/wiki/IronPython)
• Jython – Linguagem Java
(http://pt.wikipedia.org/wiki/Jython)
17
Java
 JSDK (Java Software Development
Kit)
 Ferramentas para desenvolvimento de
aplicações Java usam o JSDK como
base:
• Eclipse
• Netbeans
• Borland JBuilder
18
JSDK
 Dois componentes:
• A linguagem de programação
Java
• A plataforma Java
• Java Virtual Machine – JVM (Máquina
Virtual Java)
• Java Applicaton Programming
Interface (API Java)
19
Java
20
Plataforma Java
21
Java Virtual Machine
 Assegura a independência das
aplicações entre diferentes
plataformas
 Traduz comandos Java para a
linguagem da máquina nativa
22
Bytecodes
 Código intermediário (Java –>
Sistema Operacional)
• Instruções específicas para a máquina
virtual Java
 A JVM transforma os bytecodes
em instruções da máquina que está
executando o programa
23
Bytecodes
JVM
Interpretador Java
(Mac)
JVM
Compilador Java
código
Bytecode
Java (arquivo
binário
independente
de
plataforma)
Interpretador Java
(PC)
JVM
Interpretador Java
(Linux)
24
Bytecodes


O interpretador é uma JVM
Bytecodes possibilitam "write once,
run anywhere”
25
Ambiente Java
26
Java
27
IDEs
 Algumas ferramentas são usadas com
linha de comando: JVM, compilador Java
 IDEs fornecem uma interface gráfica
para estas ferramentas
• Integrated Development Environment
 Automatizam:
• Compilação, Debug, Execução
• Empacotamento de uma aplicação
 Aumento da produtividade
28
IDES
Exemplos
 O Eclipse
• IDE OpenSource
• Editor visual
• Tem instalada a JVM (Java Virtual Machine)
• Não é instalado
• Descompactar o arquivo em c:\eclipse
• Workspace
 www.eclipse.org
29
Eclipse
30
Eclipse
31
Eclipse
32
Eclipse
33
Eclipse
34
Eclipse
35
Eclipse
 Várias distribuições para finalidades
específicas
36
IDES
Matlab
 Linguagem e ambiente interativo para
desenvolvimento de algoritmos,
visualização e análise de dados e
computação numérica
• Cálculo com matrizes
• Licença
• Fácil e rápida manipulação de uma grande
quantidade de informações
• Bibliotecas auxiliares (“Toolboxes”)
37
Matlab
38
Lições Aprendidas
 Ambiente de Desenvolvimento de Software
• Definição
• Tipos
• Linguagem C
• Linguagem Python
• Linguagem Java
 Ambiente de Desenvolvimento
Integrado (IDES)
• Matlab
• Eclipse
39
Perguntas ??
05/11/2015
40
Bibliografia
 DEITEL, H. M., DEITEL, P. J. Java: Como
Programar. 6ª Ed. Porto Alegre: Bookman, 2005.
 “A Guide to Developing Computing Policy
Documents”, Barbara L. Dijker
 http://www.eclipse.org/
 http://www.inf.pucrs.br/~flash/cbp/instala_de
vc/
 http://www.guj.com.br
 http://www.bloodshed.net/devcpp.html
41
Exercícios
 Pesquisar outros ambientes de
programação para as linguagens
apresentadas e para outras
linguagens também?
• Exemplo: C#, Pascal, Cobol
42
Download

Ambientes de Desenvolvimento de Software