Ambientes de Desenvolvimento de Software Bacharelado em Sistema de Informação Prof. Msc George Cabral [email protected] 05/11/2015 Tópicos Abordados Definição de Ambiente de Desenvolvimento Instalação Plataformas IDE’s Políticas de Segurança 05/11/2015 05/11/2015 Ambiente de Desenvolvimento de Software Ambientes de desenvolvimento de software são ambientes que se propõem a disponibilizar ferramentas de apoio ao longo de todo o processo de desenvolvimento do software. Compostos, basicamente, por editor de código fonte, compilador, depurador (debugger) e bibliotecas auxiliares. Exemplos: Eclipse, Matlab, NetBeans, Jcreator, Delphi, etc. 05/11/2015 05/11/2015 Motivações Crise do Software - dificuldades no desenvolvimento de software frente ao rápido crescimento da demanda, da complexidade dos problemas a serem resolvidos e da inexistência de técnicas para o desenvolvimento de sistemas. Conseqüências da crise : ◦ ◦ ◦ ◦ Projetos estourando o orçamento; Estouro no prazo de entrega; Softwares de baixa qualidade; Software muitas vezes não atingiam os requisitos; Motivações Solucionando a crise do software: ◦ Uso de melhores métodos (estrutural, orientação a objetos ?) e ferramentas; ◦ Mudança de paradigma sobre o que é desenvolver software e como deve ser feito. Ambientes de Desenvolvimento de Software – ADS ◦ ◦ ◦ ◦ Qualidade do produto; Aumento na produtividade; Cumprimento dos prazos; Redução na alocação de recursos. Ferramentas CASE Computer-Aided Software Engeneering - Engenharia de Software Auxiliada por Computador. Ferramentas para o auxílio em uma ou várias etapas do ciclo de desenvolvimento de software. Exemplos: Controle de Versão CVS, Subversion, etc. Gerência De Projetos Microsoft Project, dotProject, etc. Edição Eclipse, NetBeans, etc. Ferramentas de Prototipagem JBuilder, Delphi, etc. Automação de tarefas Apache Ant, Apache Maven Testes JUnit, cunit, etc. Geração de Código Velocity, Transformica, etc. Documentação Javadoc Ambiente de Desenvolvimento de software Linguagem C (estruturada, variáveis) http://www.bloodshed.net/devcpp.html 05/11/2015 05/11/2015 Ambiente de Desenvolvimento de Software 05/11/2015 05/11/2015 Ambiente de Desenvolvimento de Software 05/11/2015 05/11/2015 Ambiente de Desenvolvimento de Software 05/11/2015 05/11/2015 Ambiente de Desenvolvimento de Software Linguagem Python (interpretada e orientada a objeto) http://python.org/ 05/11/2015 05/11/2015 Ambiente de Desenvolvimento de Software 05/11/2015 05/11/2015 Ambiente de Desenvolvimento de Software 05/11/2015 05/11/2015 Plataforma da Linguagem Python Implementação do Python em: ◦ CPython – Linguagem C ◦ IronPython – C#, na plataforma . NET ◦ Jython – Linguagem Java 05/11/2015 05/11/2015 Ambiente de Desenvolvimento de Software JSDK (Java Software Development Kit) Ferramentas para desenvolvimento de aplicações Java usam o JSDK como base: ◦ ◦ ◦ ◦ Eclipse Netbeans Borland JBuilder … 05/11/2015 05/11/2015 Linguagem Java 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) 05/11/2015 05/11/2015 Java 05/11/2015 05/11/2015 Plataforma Java 05/11/2015 05/11/2015 Java Virtual Machine Assegura a independência das aplicações entre diferentes plataformas Traduz comandos Java para a linguagem da máquina nativa 05/11/2015 05/11/2015 Bytecodes Instruções de código de máquina específicas para a máquina virtual Java Código intermediário A JVM transforma os bytecodes em instruções da máquina que está executando o programa 05/11/2015 05/11/2015 Compilador e Interpretador 05/11/2015 05/11/2015 IDE´s Ferramentas via linha de comando; Usam-se as IDE’s que fornecem uma interface gráfica para o uso dessas ferramentas; Automatiza o trabalho: ◦ ◦ ◦ ◦ Compilação Debug Execução Empacotamento de uma aplicação; Aumento da produtividade 05/11/2015 05/11/2015 Exemplo de IDEs O Eclipse: ◦ ◦ ◦ ◦ ◦ é um IDEs OpenSource; Editor visual Instalada JVM (Java Virtual Machine) ; Não é instalado. Descompacte o arquivo; Workspace; www.eclipse.org 05/11/2015 05/11/2015 Exemplo de IDEs 05/11/2015 05/11/2015 Exemplo de IDEs 05/11/2015 05/11/2015 Exemplo de IDEs 05/11/2015 05/11/2015 Exemplo de IDEs 05/11/2015 05/11/2015 Exemplo de IDEs 05/11/2015 05/11/2015 Exemplo de IDEs 05/11/2015 05/11/2015 Eclipse Várias distribuições para finalidades específicas. Exemplo IDE´s Matlab ◦ cálculo com matrizes; ◦ Precisa de Licença ◦ Fácil e rápida manipulação de uma grande quantidade de informações; ◦ Bibliotecas auxiliares (“Toolboxes”) 05/11/2015 05/11/2015 Exemplo IDEs 05/11/2015 05/11/2015 Lições Aprendidas Ambiente de Desenvolvimento de Software ◦ Definição ◦ Tipos Linguagem C Linguagem Python Linguagem Java Plataformas Ambiente de Desenvolvimento Integrado ◦ Matlab ◦ Eclipse 05/11/2015 05/11/2015 Dúvidas ? 05/11/2015 05/11/2015 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 05/11/2015 05/11/2015