Ambientes de Desenvolvimento de Software Bacharelado em Sistema de Informação Prof. Msc George Cabral [email protected] 31/05/2017 Tópicos Abordados Definição de Ambiente de Desenvolvimento Instalação Plataformas IDE’s Políticas de Segurança 31/05/2017 31/05/2017 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. 31/05/2017 31/05/2017 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 31/05/2017 31/05/2017 Ambiente de Desenvolvimento de Software 31/05/2017 31/05/2017 Ambiente de Desenvolvimento de Software 31/05/2017 31/05/2017 Ambiente de Desenvolvimento de Software 31/05/2017 31/05/2017 Ambiente de Desenvolvimento de Software Linguagem Python (interpretada e orientada a objeto) http://python.org/ 31/05/2017 31/05/2017 Ambiente de Desenvolvimento de Software 31/05/2017 31/05/2017 Ambiente de Desenvolvimento de Software 31/05/2017 31/05/2017 Plataforma da Linguagem Python Implementação do Python em: ◦ CPython – Linguagem C ◦ IronPython – C#, na plataforma . NET ◦ Jython – Linguagem Java 31/05/2017 31/05/2017 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 … 31/05/2017 31/05/2017 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) 31/05/2017 31/05/2017 Java 31/05/2017 31/05/2017 Plataforma Java 31/05/2017 31/05/2017 Java Virtual Machine Assegura a independência das aplicações entre diferentes plataformas Traduz comandos Java para a linguagem da máquina nativa 31/05/2017 31/05/2017 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 31/05/2017 31/05/2017 Compilador e Interpretador 31/05/2017 31/05/2017 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 31/05/2017 31/05/2017 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 31/05/2017 31/05/2017 Exemplo de IDEs 31/05/2017 31/05/2017 Exemplo de IDEs 31/05/2017 31/05/2017 Exemplo de IDEs 31/05/2017 31/05/2017 Exemplo de IDEs 31/05/2017 31/05/2017 Exemplo de IDEs 31/05/2017 31/05/2017 Exemplo de IDEs 31/05/2017 31/05/2017 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”) 31/05/2017 31/05/2017 Exemplo IDEs 31/05/2017 31/05/2017 Lições Aprendidas Ambiente de Desenvolvimento de Software ◦ Definição ◦ Tipos Linguagem C Linguagem Python Linguagem Java Plataformas Ambiente de Desenvolvimento Integrado ◦ Matlab ◦ Eclipse 31/05/2017 31/05/2017 Dúvidas ? 31/05/2017 31/05/2017 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 31/05/2017 31/05/2017