INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA IMPLEMENTAÇÃO

Documentos relacionados
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

Métodos de implementação de linguagens. Kellen Pinagé

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

VANTAGENS DE USAR APACHE MAVEN NA PROGRAMAÇÃO.

Desenvolvimento de Aplicações Desktop

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Engenharia de Software I

UTILIZAÇÃO DE TECNOLOGIAS MODERNAS PARA CADASTRAMENTO DAS FAMÍLIAS DA ATENÇÃO BÁSICA DE SAÚDE DO MUNICÍPIO DE COARI

Introdução à plataforma Java

Guia Doxygen. Emanuel Filipe Galdino Alves

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Ferramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia.

Desenvolvendo aplicações Java

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Engenharia de Software

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Gerenciamento de configuração e mudança

FURBUP: UM PROCESSO DE SOFTWARE PARA USO ACADÊMICO BASEADO NO OPENUP. Acadêmico: João Paulo Pedri Orientador: Everaldo Artur Grahl

Linguagens de Domínio Específico

Proposta de Trabalho de Conclusão de Curso

AULA 1 INTRODUÇÃO AO JAVA

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Documentação. Java First-Tier: Aplicações. Documentação com javadoc. Comentários especiais. Marcas Especiais. Exemplo. Finalidade das marcas

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Ferramentas Programação. UDESC - Prof. Juliano Maia 1

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

INTRODUÇÃO À INTEGRAÇÃO CONTÍNUA. Jadson Santos Software Engineer Informatic Superintendence (SINFO) - UFRN

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

Professor Emiliano S. Monteiro

Introdução à Computação: Máquinas Multiníveis

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL

INTRODUÇÃO A LINGUAGEM JAVA

MONITORANDO A QUALIDADE DO SEU PROJETO

UnoTech Soluções em Histórico da Revisão Data Versão Descrição Autor 27/05/ 1.0 Construção do Documento Carlos GG Flor Página 2

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato.

Escopo: PROCESSOS FUNDAMENTAIS

Gerenciamento de Projetos com o Redmine

9 Seminário de Extensão

FLUXOGRAMA. Nickerson Fonseca Ferreira

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA FASE DE PROJETO

SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno

FACULDADE ZACARIAS DE GÓES SISTEMAS DE INFORMAÇÃO ADRIEL ALMEIDA CAFÉ PROCESSO DE COMPILAÇÃO

Processos de software

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema

Algoritmos Computacionais

Cadeira: Engenharia de Software

Introdução ao Desenvolvimento de

RUP RATIONAL UNIFIED PROCESS

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores

Conceitos de Linguagens de Programação

Esta é a única declaração da aplicação

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Configuração do Apache Cordova Lab. 13. Prof. Bruno C. Vani

Desenvolvimento de programas

envolvidos numa comunicação

Gerência de Configuração: Processos e Ferramentas. Leonardo Gresta Paulino Murta

Compiladores Ambiente de Execução

Infraestrutura de Hardware. Funcionamento de um Computador

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Analista de Negócio Pleno

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Nosso Primeiro Programa Java

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

UML e seus diagramas

Aula 2 - Introdução Cleverton Hentz

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Princípios da Engenharia de Software aula 03

CP Introdução à Informática Prof. Msc. Carlos de Salles

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Prof. Ms. Ronaldo Martins da Costa

Sumário. Capítulo 1 Introdução 29. Capítulo 2 Utilizando Objetos 59

Laboratório 01 NetBeans

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER

Grupo de Usuários Java do Noroeste Paulista. Introdução à tecnologia Java

Versão: 1.0 Doc Manager

Documento de Visão versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Cliente: São José Agroindustrial Representante do

Europass-Curriculum Vitae

Guia para configurar o IDE Netbeans para desenvolver projectos em C/C++ com OpenMP:

PROJETO DE CONCLUSÃO DE CURSO

Paradigmas de Software

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

Gradle para Geração de Multi-Aplicativos Móveis: Um Estudo de Caso em uma Universidade

Transcrição:

1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA IMPLEMENTAÇÃO Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br

Introdução 2 É o processo de tradução do projeto para uma forma que seja possível de ser executada em máquina. Esta fase é responsável pela escrita do sistema em si. Inclui o uso em linguagens de programação, programação em banco de dados, geração de programas a partir de ferramentas CASE, etc. Foco em boas práticas de programação.

Introdução 3 Alguns pontos importantes que serão vistos nesta fase do projeto: Ambiente de desenvolvimento Boas práticas de programação. Documentação Ferramentas de desenvolvimento

Ambiente de desenvolvimento 4 Conjunto de ferramentas que dão apoio ao desenvolvimento de software. Seu principal objetivo é agilizar o processo de desenvolvimento. Possui como principais características e ferramentas: Editor Compilador Depurador Geração de códigos Testes Distribuição Refatoração

Ambiente de desenvolvimento 5 É tão importante que existe uma atividade no RUP que específica para o Ambiente. Exemplo de um ambiente de desenvolvimento??? SO Linux, máquina virtual Java 8, Netbeans, SGBD MySQL 5, Internet, Intranet, etc. Pode ser instalado completamente na máquina dos membros da equipe de desenvolvimento. Como também pode estar distribuído, dependendo da arquitetura do sistema.

6 Ambiente de desenvolvimento

Boas práticas de programação 7 O código deve ser: Simples: código fácil de entender; Direto: vai direto ao ponto, não dá voltas para atingir seu objetivo; Eficiente: código que faz o que é proposto; Sem duplicidade: não faz o que outra parte do código já faz; Elegante: porque é diferente dos outros códigos; Feito com cuidado: quem fez teve preocupação em produzir aquele código.

Boas práticas de programação 8 A Sun criou uma convenção para padronizar a codificação com Java. O uso de uma convenção é importante por: Aproximadamente 80% do custo de um sistema está em sua manutenção; Dificilmente o autor original do código irá realizar a manutenção do código durante o tempo de vida do sistema; A padronização deixa o código mais legível e fácil de ser entendido;

9 Boas práticas de programação

Documentação 10 Como toda obra bem planejada, o código fonte do sistema desenvolvido deve ser bem documentado. Os principais pontos para se documentar no código são: Cabeçalho da classe (informações iniciais) Principais variáveis utilizadas Padronização do nome das variáveis e parâmetros Pontos importantes no decorrer do código Lembrem-se do psicopata!!

11 Documentação

Ferramentas de desenvolvimento 12 São ferramentas criadas com o objetivo de auxiliar algumas tarefas do desenvolvimento de sistemas. Podem ser divididas em categorias, por exemplo: Sistemas de controle de versão Ferramentas de build Geradores de interface Editores de texto Geração de documentação

Sistemas de controle de versão 13 Sistemas são desenvolvidos por equipes e seus membros têm que trabalhar paralelamente. Como gerenciar as várias versões do sistema??? Os sistemas de controle de versão são softwares utilizados no desenvolvimento de sistemas para controlar as diferentes versões histórico e desenvolvimento dos códigos-fontes e documentação. Também serve como backup.

Sistemas de controle de versão 14 Os SCV mais utilizados atualmente são: CVS Mercurial Git SVN

Ferramentas de Build 15 São ferramentas que auxiliam na compilação, gestão de dependências, empacotamento e distribuição dos sistemas desenvolvidos. Utilizados para a criação de procedimentos para automatizar as tarefas já citadas. As ferramentas de build mais utilizadas são: Make Apache Ant Apache Maven

Geração de documentação 16 Vimos que a documentação interna de código é uma atividade muito importante no desenvolvimento/manutenção de um sistema. LEMBREM-SE DO PSICOPATA!! Além da documentação interna é importante gerar uma documentação externa. Existem ferramentas que geram esse tipo de documentação: Doxygen Javadoc