420 likes | 554 Views
Ambientes de Desenvolvimento de Software. Giordano Cabral giordanorec@gmail.com Baseado em conteúdo de Ceça Moraes. Conteúdo. Definição de Ambiente de Desenvolvimento Instalação Plataformas 2 IDE’s. Ambiente de Desenvolvimento de Software.
E N D
Ambientes de Desenvolvimento de Software Giordano Cabral giordanorec@gmail.com Baseado em conteúdo de Ceça Moraes
Conteúdo • Definição de Ambiente de Desenvolvimento • Instalação • Plataformas2 • IDE’s
Ambiente de Desenvolvimento de Software • Conjunto de ferramentasde 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
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
Motivação • Consequências da crise: • Projetos realizados acima do orçamentoe/ou finalizados acima do tempoesperado • Produtos de software: • de baixa qualidade • sem atender aos requisitos do cliente • projetos não gerenciáveis • com código difícil de manter
Motivação • Melhorando a crise do software: • Uso de melhores métodos (estrutural, OO) e ferramentas • Mudança de paradigma sobre o que é desenvolver software e comodeve ser feito • Ambientes de desenvolvimento de Software, buscando • Qualidade do produto • Aumento na produtividade • Cumprimento dos prazos • Redução na alocação de recursos
Ferramentas CASE • CASE = Computer-AidedSoftware Engeneering • Engenharia de Software Auxiliada por Computador • Ferramentas para o auxílio em uma ou mais etapas do ciclo de desenvolvimento de software
Ambientes de Desenvolvimento de Software • Linguagem C (estruturada, variáveis) • http://www.bloodshed.net/devcpp.html
Python • Python (interpretada, orientada a objetos) • http://python.org
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)
Java • JSDK (Java Software Development Kit) • Ferramentas para desenvolvimento de aplicações Java usam o JSDK como base: • Eclipse • Netbeans • Borland JBuilder • …
JSDK • Dois componentes: • A linguagem de programação Java • A plataformaJava • Java Virtual Machine – JVM (Máquina Virtual Java) • Java Applicaton Programming Interface (API Java)
Java Virtual Machine • Assegura a independênciadas aplicações entre diferentes plataformas • Traduz comandos Java para a linguagem da máquina nativa
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
JVM Interpretador Java (Mac) ........ ....... ....... JVM Compilador Java Interpretador Java (PC) Bytecode Java (arquivo binário independente de plataforma) código JVM Interpretador Java (Linux) Bytecodes
Bytecodes • O interpretador é uma JVM • Bytecodes possibilitam "write once, run anywhere”
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
IDESExemplos • 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
Eclipse • Várias distribuições para finalidades específicas
IDESMatlab • 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”)
Lições Aprendidas • Ambiente de Desenvolvimento de Software • Definição • Tipos • Linguagem C • Linguagem Python • Linguagem Java • Ambiente de Desenvolvimento Integrado (IDES) • Matlab • Eclipse
Perguntas ?? 22/10/2014
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_devc/ • http://www.guj.com.br • http://www.bloodshed.net/devcpp.html
Exercícios • Pesquisar outros ambientes de programação para as linguagens apresentadas e para outras linguagens também? • Exemplo: C#, Pascal, Cobol