Table 1. Dados do trabalho
|
|
- Maria Luiza Cacilda Cesário Furtado
- 8 Há anos
- Visualizações:
Transcrição
1 Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana T. Vaccare Braga Nível: Mestrado Programa de pós-graduação: Programa de Pós-Graduação em Ciências de Computação e Matemática Computacional - Universidade de São Paulo de contato do aluno: kicho@icmc.usp.br de contato do(s) masiero@icmc.usp.br orientador(es): rtvb@icmc.usp.br Ano de ingresso no programa: 2004 Época prevista de conclusão: 03/2006 Data da aprovação da 23/03/2005 proposta de dissertação: Table 1. Dados do trabalho Resumo. A engenharia de software de linhas de produtos almeja o aumento da produtividade e a construção de diversos sistemas em um domínio particular. Os riscos associados à implementação de uma linha de produtos podem aumentar em função do custo e da complexidade da construção dos artefatos necessários na linha de produtos. Um dos artefatos produzidos na linha de produtos são os geradores de aplicação. Essas ferramentas são implementadas em uma das últimas etapas do processo de desenvolvimento de uma família de produtos e normalmente são construídas de forma específica, ou seja, elas não podem ser reutilizadas em outros domínios sem modificações em sua estrutura interna. Este trabalho apresenta um gerador de aplicação baseado em linguagem de padrões configurável, ou seja, um gerador de aplicações que pode ser especializado por meio de uma linguagem de padrões, sem necessidade de recompilação, para diversos domínios diferentes. Com essa abordagem, um gerador de aplicação pode ser reutilizado em linhas de produtos distintas, possibilitando o aumento da produtividade em diversas fases do processo de desenvolvimento, tais como: codificação, documentação e testes, sem os custos encontrados no desenvolvimento de geradores de aplicação específicos. Palavras-chave: Engenharia de Software de Linhas de Produtos, Geradores de Aplicação, Padrões de Software, Linguagens de Padrões.
2 Geradores de aplicação configuráveis por linguagens de padrões Edison K. Shimabukuro Jr 1, Rosana T. Vaccare Braga 1, Paulo Cesar Masiero 1 1 Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo (USP) Caixa Postal São Carlos SP Brazil 1. Introdução {kicho,rtvb,masiero}@icmc.usp.br A indústria de software tem como uma de suas principais metas a construção de sistemas de alta qualidade e baixo custo. Nesse ambiente de alta competitividade, diversos sistemas são desenvolvidos para suprir as necessidades do mercado. Dentre esses sistemas, muitos apresentam mais similaridades do que diferenças [Greenfield and Short 2004]. Mesmo com a demanda por produtos similares, o processo usual adotado pelas organizações é a produção de aplicações individuais para posterior desenvolvimento de variações do mesmo sistema. Embora esta seja uma solução que atinja o seu objetivo, esta abordagem apresenta a necessidade de grandes investimentos em projeto, codificação e testes em todos os sistemas construídos [Weiss and Lai 1999, Greenfield and Short 2004, Czarnecki and Eisenercker 2002]. A engenharia de software de linhas de produtos pode ser utilizada para responder a essa demanda por produtos similares, apoiando a configuração e montagem de componentes, integração e automação do processo de produção, desenvolvimento de ferramentas que configuram e automatizam tarefas repetitivas e padronização de processos [Greenfield and Short 2004, Weiss and Lai 1999]. Com essas técnicas, uma organização pode atingir níveis mais elevados de produtividade e construir sistemas sob demanda de forma mais eficaz. O desenvolvimento de geradores de aplicação normalmente é realizado em uma das últimas etapas do processo de implementação de uma linha de produtos. Essas ferramentas são construídas com o objetivo de automatizar a implementação de artefatos de software, tais como: código fonte, documentação e casos de testes. Os principais problemas com a utilização dessas ferramentas são a complexidade do seu desenvolvimento e o seu alto acoplamento com os artefatos da linha de produtos, ou seja, elas são específicas para uma linha de produtos. Essas características fazem com que essas ferramentas sejam caras de desenvolver e pouco reutilizáveis por linhas de produtos diferentes. Este trabalho apresenta um gerador de aplicação baseado em linguagem de padrões configurável para um domínio específico. Esse gerador de aplicação pode ser configurado, sem a necessidade de recompilação, para realizar a transformação de uma especificação de entrada em artefatos de software. Essa ferramenta pode ser reutilizada em linhas de produtos diferentes, fornecendo apoio para a geração de artefatos e apresentando um baixo custo no processo de configuração em relação à abordagem tradicional de desenvolvimento de geradores de aplicação específicos. Este trabalho está organizado da seguinte maneira: Na Seção 2 é apresentada a fundamentação teórica deste trabalho. Na Seção 3 é apresentada a arquitetura e o pro-
3 cesso de configuração e utilização de um gerador de aplicação baseado em linguagens de padrões configurável. Finalmente, na Seção 4 são apresentadas as considerações finais deste trabalho. 2. Fundamentação Teórica Os principais assuntos abordados neste trabalho são padrões e linguagens de padrões de software, geradores de aplicação, componentes, frameworks e linhas de produtos. A seguir são apresentados os principais conceitos relacionados com padrões, linguagens de padrões e geradores de aplicação Padrões e Linguagens de Padrões Construir software não é uma tarefa fácil. Desenvolvedores experientes possuem maior facilidade na atividade de construção de software por possuírem conhecimento de soluções recorrentes que podem ser aplicadas em diversas situações similares. Tais soluções podem ser documentadas adequadamente no formato de padrões. Um padrão pode ser visto como a descrição de uma solução de um problema recorrente em um determinado ambiente para facilitar a sua utilização diversas vezes, sem no entanto, implementar a solução da mesma forma duas vezes [Alexander 1979]. Na engenharia de software, padrões encapsulam as melhores soluções baseadas em anos de desenvolvimento de aplicações, observação e experiência. Para encontrar a melhor solução, o desenvolvedor deve entender o problema, o contexto e as forças que governam esse problema [Harrison et al. 1999]. Dessa forma, os padrões ajudam na construção de sistemas confiáveis, seguindo os passos de outras construções de sistemas de sucesso [Harrison et al. 1999]. Nenhum padrão é uma entidade isolada e cada padrão é apoiado por outros padrões [Alexander 1979]. Uma linguagem de padrões é um conjunto de padrões, e os relacionamentos entre esses padrões são utilizados sistematicamente para resolver problemas. Uma linguagem de padrões fornece sugestões sobre como os padrões podem ser combinados para a solução de problemas específicos. Essas sugestões descrevem o processo de aplicação dos padrões, ou apenas definem restrições que a aplicação possui, como por exemplo, a ordem na qual os padrões devem ser aplicados [Greenfield and Short 2004] Geradores de aplicação O termo gerador de aplicação pode assumir diferentes significados, tais como: compiladores, pré-processadores, meta-funções que geram classes e procedimentos, wizards e geradores de código [Czarnecki and Eisenercker 2002]. Por exemplo, um wizard é um programa gráfico que recebe uma especificação em alto nível de abstração e a transforma em artefatos de software. Algumas ferramentas CASE (do inglês Computer Aided Software Engineering) geram uma parte do código de uma aplicação, utilizando como entrada diagramas e especificações que são inseridos na ferramenta pelo engenheiro de aplicação. Os compiladores são geradores de código, uma vez que recebem uma informação em um certo nível de abstração, tais como a linguagem Java ou C++, e transformam essa informação em uma linguagem de mais baixo nível, tais como código objeto, bytecode ou código de máquina [Czarnecki and Eisenercker 2002].
4 De maneira geral, o conceito de gerador de aplicação que será utilizado neste trabalho assume o significado de uma ferramenta que realiza as seguintes tarefas [Czarnecki and Eisenercker 2002]: valida a especificação de entrada e relata erros ou avisos de inconsistências, completa a especificação utilizando as configurações padrões, realiza otimizações e gera a implementação. Os geradores de aplicação podem ser baseados em uma linguagem de padrões. Geradores de aplicação baseados em linguagens de padrões são ferramentas que possuem o fluxo de execução baseado em uma linguagem de padrões [Braga and Masiero 2003]. O fluxo de execução dessas ferramentas conduz o engenheiro de aplicação por uma seqüência de etapas. Em cada etapa, a ferramenta fornece meios para o engenheiro de aplicações inserir informação sobre um padrão. No fim da execução dessa seqüência de etapas, a ferramenta possui as informações sobre todos os padrões aplicados e assim, ela pode utilizar essas informações para gerar artefatos de software. 3. Geradores de aplicação configuráveis por linguagens de padrões Como foi apresentado na Seção 1, quando se desenvolvem geradores de aplicação de forma específica, eles se tornam caros e, muitas vezes, o risco associado ao seu desenvolvimento dificulta ou impossibilita sua construção e utilização. A principal motivação para a construção de um gerador de aplicação configurável baseado em linguagens de padrões é evitar os custos do desenvolvimento de geradores de aplicações específicos e facilitar a sua modificação para a geração de diferentes artefatos durante o processo de desenvolvimento e manutenção de software. O ciclo de vida de um gerador de aplicação configurável (Figura 1) apresenta três fases: a fase de desenvolvimento, a fase de configuração e a fase de utilização. Na fase de desenvolvimento o gerador de aplicação configurável é projetado e implementado; na fase de configuração ele é especializado por um engenheiro de domínio para uma instância de um gerador de aplicação específico; na terceira fase, o gerador de aplicação especializado é utilizado por um engenheiro de aplicação para a geração de artefatos de aplicações específicas. Para que um gerador de aplicação baseado em linguagem de padrões tenha a capacidade de gerar artefatos para diferentes aplicações sem a necessidade de recompilação, ele deve ser configurado de acordo com as características da linguagem de padrões e dos artefatos de software que implementam as aplicações, tais como o código fonte necessário para realizar a composição de componentes ou instanciações de um framework, implementação de casos de testes específicos e geração de documentos específicos, tais como documentos de requisitos de usuário e documentos da UML [Booch et al. 2000]. Como ilustrado na Figura 2, para configurar o gerador de aplicação deve-se inserir na ferramenta o meta-modelo da linguagem de padrões e os templates dos artefatos de software. O meta-modelo da linguagem de padrões especifica quais padrões a ferramenta deve apresentar para o engenheiro de aplicação, quais são os relacionamentos e dependências entre os padrões e quais são os dados que a ferramenta deve coletar de cada padrão. Os templates são documentos de texto que representam o corpo dos artefatos que devem ser gerados, tais como código-fonte e casos de teste. Eles possuem marcações especiais que devem ser substituídas por dados provenientes da entrada do usuário para a obtenção dos diferentes arquivos de saída produzidos pelo gerador de aplicações.
5 Figure 1. Ciclo de vida de um gerador configurável Figure 2. Configuração do gerador de aplicação configurável Após o processo de configuração, o gerador de aplicação estará pronto para produzir artefatos de software com base na especificação de entrada fornecida pelo engenheiro de aplicação e assim oferecer apoio a linhas de produtos diferentes. 4. Considerações Finais Existem na literatura diversas abordagens para a construção de geradores de aplicação. Essas abordagens permitem a construção de geradores de aplicação que podem ser utilizados em domínios específicos, tais como o gerador MOmoC [Bichler 2003] e o gerador específico de domínio P3 [Batory et al. ]. Braga (2003) desenvolveu um gerador de aplicação específico baseado na linguagem de padrões GRN [Braga et al. 1999], denominado GREN-Wizard [Braga and Masiero 2003], que é utilizado para a instanciação do framework GREN [Braga 2003]. Após a conclusão desse trabalho, a autora propôs a construção de um Wizard genérico que pudesse ser utilizado para a instanciação de diversos pares de linguagens de padrões e frameworks. Este trabalho se caracteriza pela extensão dessa proposta, visando o desenvolvimento de um gerador de aplicação configurável por linguagens de padrões para a instanciação de frameworks e geração de outros
6 artefatos de software, tais como documentos UML, documentos de usuário, casos de testes e código fonte. Com a abordagem proposta neste trabalho, pretende-se diminuir a curva de investimento necessária para o desenvolvimento e utilização de geradores de aplicação em linhas de produtos diferentes. Essa diminuição será obtida pela substituição da fase de desenvolvimento de geradores de aplicação em linhas de produtos diferentes pela configuração de um gerador de aplicação configurável para atender às necessidades de cada linha de produtos. Para realizar essa tarefa, é necessário codificar um gerador de aplicações configurável e definir o seu processo de desenvolvimento, configuração e utilização. Atualmente já existe um protótipo dessa ferramenta e o processo de desenvolvimento está em fase de implementação. A ferramenta será utilizada na instanciação do framework GREN associado com a linguagem de padrões GRN [Braga et al. 1999] e mais um estudo de caso que utilizará composição de componentes para a construção de uma aplicação específica. Os principais resultados que serão observados na validação serão: o esforço necessário para que o engenheiro de domínio configure o gerador, a flexibilidade e extensibilidade da ferramenta, e a qualidade dos artefatos gerados. References Alexander, C. (1979). The Timeless Way of Building. Oxford University Press. Batory, D., Chen, G., Robertson, E., and Wang, T. Design wizards and visual programming environments for genvoca generators. IEEE Trans. Softw. Eng. Bichler, L. (2003). OOPSLA. A flexible code generator for mof-based modeling languages. Booch, G., Rumbaugh, J., and Jacobson, I. (2000). The Unified Modeling Language User Guide. Addison-Wesley. Braga, R. T. V. (2003). Um Processo para Construção e Instanciação de Frameworks baseados em uma Linguagem de Padrões para um Domínio Específico. PhD thesis, Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo. Braga, R. T. V., Germano, F. S. R., and Masiero, P. C. (1999). A pattern language for business resource management. In Proceedings of the 6th Annual Conference on Pattern Languages of Programs, Monticello, Illinois, EUA, volume 7, pages Braga, R. T. V. and Masiero, P. C. (2003). Building a wizard for framework instantiation based on a pattern language. 9th International Conference on Object-Oriented Information Systems (OOIS 03), Genebra, Suiça. Lecture Notes on Computer Science, pages Czarnecki, K. and Eisenercker, U. W. (2002). Generative Programming. Addison-Wesley. Greenfield, J. and Short, K. (2004). Software Factories - Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley Publishing, Inc. Harrison, N., Foote, B., and Rohnert, H. (1999). Pattern Languages of Program Design 4. Addison-Wesley. Weiss, D. M. and Lai, C. T. R. (1999). Software Product-Line Engineering. Addison- Wesley.
UML - Unified Modeling Language
UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril
Leia maisIntrodução à Engenharia de Software
Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia
Leia maisUML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2
UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem
Leia maisRUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP
RUP Rational Unified Process ( Unificado de Desenvolvimento da Rational) Conjunto de passos que tem como objetivo atingir uma meta de software na ES, processo que visa a produzir o software - de modo eficiente
Leia maisbuild UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.
UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas
Leia maisEngenharia de Software
Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo
Leia maisUNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC
CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1
Leia maisWilson Moraes Góes. Novatec
Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,
Leia maisTópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619
Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o
Leia maisPlanejamento da disciplina: Modelagem de processos de negócio
UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira
Leia maisUm Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e
JEANE MENDES DA SILVA SANTOS Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e Plano de Trabalho de Conclusão de Curso apresentado à Universidade Federal de
Leia maisEngenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes
Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisPadrões de projeto 1
Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisAnálise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Contextualização ENGENHARIA DE SOFTWARE ANÁLISE E PROJETO DE SISTEMAS ENGENHARIA DA INFORMAÇÃO Perspectiva Histórica Engenharia de Software 1940:
Leia mais2 Engenharia de Software
20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite
Leia maisModelagemde Software Orientadaa Objetos com UML
Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para
Leia maisPRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)
RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,
Leia maisHistórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW
Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,
Leia maisEngenharia Reversa e Reengenharia
Engenharia Reversa e Reengenharia SCE 186 Engenharia de Software Profa Rosana T. Vaccare Braga (material adaptado a partir do concedido pela Profa.: Rosângela Penteado, DC - UFSCar) Fases Genéricas do
Leia maisCES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA
CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA 2º SEMESTRE 2002 CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software Prof. Dr. Adilson Marques da Cunha Conceitos de Qualidade CES-32 / CE-230
Leia maisREPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX
REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX Murilo Augusto Tosatti (ICV-Unicentro), Marcos Antonio Quináia (Orientador), e-mail: maquinaia@gmail.com. Universidade Estadual do
Leia maisUML e a Ferramenta Astah. Profa. Reane Franco Goulart
UML e a Ferramenta Astah Profa. Reane Franco Goulart História da UML o Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. o Alguns esforços nesse
Leia maisDesenvolvimento de software orientado a características e dirigido por modelos
Desenvolvimento de software orientado a características e dirigido por modelos Universidade Federal de Uberlândia Rodrigo Reis Pereira Prof. Dr. Marcelo Almeida Maia Agenda Motivação Introdução Modelagem
Leia maisFAP - Faculdade de Apucarana Curso de Sistemas de Informação RESUMO EXPANDIDO DE TRABALHO DE CONCLUSÃO DE CURSO -
FAP - Faculdade de Apucarana Curso de Sistemas de Informação RESUMO EXPANDIDO DE TRABALHO DE CONCLUSÃO DE CURSO RESUMO EXPANDIDO DE TRABALHO DE CONCLUSÃO DE CURSO - PLATAFORMA ARES: UMA PLATAFORMA VIRTUAL
Leia maisEngenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr
Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia
Leia maisEngenharia de Software
Engenharia de Software Roteiro Qualidade de Software Produto de Software Processo de Software Modelo de Qualidade CMM Qualidade Qualidade de Software Na visão popular: Luxo Mais caro, complexo = maior
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Leia maisProcessos de Desenvolvimento de Software
Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e
Leia maisAUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0
AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento
Leia maisMétodos de Desenvolvimento de Software. Aula 1: Introdução
Métodos de Desenvolvimento de Software Aula 1: Introdução Agenda Engenharia de Software Processos de Software Método x Metodologia Uma abordagem de engenharia: construção de uma casa Equipes grandes e
Leia maisGERADOR DE APLICAÇÕES WEB BASEADO EM UMA LINGUAGEM DE PADRÕES DEFINIDA EM XML
GERADOR DE APLICAÇÕES WEB BASEADO EM UMA LINGUAGEM DE PADRÕES DEFINIDA EM XML GENERATOR WEB APPLICATION BASED ON A PATTERN LANGUAGE DEFINED IN XML Prof. Me Anderson Pazin a.pazin@gmail.com RESUMO Linguagens
Leia maisUsando RDL para Derivação de Produtos em uma Linha de Produtos de Software
Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Juliano Dantas Santos Universidade Federal do Rio de Janeiro COPPE - Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisObjetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.
Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos
Leia maisAutoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisPADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE
PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que
Leia maisUma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow
Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Itana M. S. Gimenes 1 itana@din.uem.br Fabrício R. Lazilha 2 fabricio@cesumar.br Edson A. O. Junior
Leia maisENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
Leia maisFrameworks. Pasteur Ottoni de Miranda Junior
Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem
Leia maisFerramenta para Geração de Código a partir da Especialização do Diagrama de Classes
Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisPadrões. Projeto (Design) de Software
Padrões Projeto de Softwares Categorias de Padrões Processo de Tradução de modelos de análise (isentos de tecnologia, lógicos) para modelos de projeto (development-ready, físicos) Qual a Tecnologia Alvo
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia maisANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição
Leia maisUnidade II MODELAGEM DE PROCESSOS
Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que
Leia maisLinha de Produto de Software
Linha de Produto de Software Jair C Leite DIMAp/UFRN O que é linha de produto de software? Técnica de produção baseada em outras engenharias fábricas que desenvolvem uma mesma família de produtos com partes
Leia maisFábrica de Software 29/04/2015
Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se
Leia maisEngenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com
Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.
Leia mais1 UML (UNIFIED MODELING LANGUAGE)
1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida
Leia mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maisALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA
ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do
Leia maisREVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas
Leia maisO que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?
O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação
Leia maisIntrodução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com
Introdução a UML Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML UML (Unified Modeling Language Linguagem de Modelagem Unificada) é uma linguagem-padrão para a elaboração da estrutura de
Leia maisIntrodução à Computação
Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os
Leia maisEtapas da Elaboração de um Projeto de Banco de Dados
Etapas da Elaboração de um Projeto de Banco de Dados Apresentar os modelos de dados em rede, hierárquicos, relacionais e orientados a objetos. Demonstrar as etapas de desenvolvimento de um projeto de banco
Leia maisAnálise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Leia maisFase 1: Engenharia de Produto
Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os
Leia maisCiência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software
Ciência da Computação ENGENHARIA DE SOFTWARE Análise dos Requisitos de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução Tipos de requisitos Atividades Princípios da
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisPrograma do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)
Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Apresentação O programa de Pós-graduação Lato Sensu em Engenharia de Software Orientada a Serviços
Leia maisAnálise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso
Análise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso Estefânia Paula da SILVA¹; Lígia Maria SOARES PASSOS² ¹ Aluna do curso de Engenharia de Produção do IFMG
Leia maisCONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB
ISBN 978-85-61091-05-7 V EPCC Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB Lincoln Fernandes Paulino
Leia maisUma Abordagem para Tratamento de Regras de Negócio nas Fases Iniciais do Desenvolvimento
Uma Abordagem para Tratamento de Regras de Negócio nas Fases Iniciais do Desenvolvimento Marco Antonio De Grandi, Valter Vieira de Camargo, Edmundo Sérgio Spoto Centro Universitário Eurípides de Marília
Leia mais**Docentes do Centro Universitário Filadélfia- Unifil. computação@unifil.br
COMPARATIVO DE PRODUTIVIDADE ENTRE UM PROCESSO DE DESENVOLVIMENTO DE SOFTWARE COM A ABORDAGEM DE LINHA DE PRODUTO DE SOFTWARE COM O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE TRADICIONAL.(2011) **Docentes
Leia maisA Grande Importância da Mineração de Dados nas Organizações
A Grande Importância da Mineração de Dados nas Organizações Amarildo Aparecido Ferreira Junior¹, Késsia Rita da Costa Marchi¹, Jaime Willian Dias¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil
Leia maisFelipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)
UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical
Leia maisAlgumas propriedades dos objetos:
Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,
Leia maisUm Gerador de aplicações configurável. Edison Kicho Shimabukuro Junior
Um Gerador de aplicações configurável Edison Kicho Shimabukuro Junior SERVIÇO DE PÓS-GRADUAÇÃO DO ICMC-USP Data de Depósito: 19 de abril de 2006 Assinatura: Um Gerador de aplicações configurável Edison
Leia maisGlossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.
Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis
Leia maisGUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR
Curso Engenharia Informática Ano letivo 2012/2013 Unidade Curricular Engenharia de Software II ECTS 6 Regime Obrigatório Ano 3º Semestre 1º sem Horas de trabalho globais Docente Maria Clara Silveira Total
Leia maisModelagem de Processos. Prof.: Fernando Ascani
Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus
Leia maisPrototipação de Software
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Prototipação de Software Engenharia de Software 2o. Semestre de 2005
Leia maisDESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação
DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES Trabalho de Graduação Orientando: Vinicius Stein Dani vsdani@inf.ufsm.br Orientadora: Giliane
Leia maisAutor(es) BARBARA STEFANI RANIERI. Orientador(es) LUIZ EDUARDO GALVÃO MARTINS, ANDERSON BELGAMO. Apoio Financeiro PIBIC/CNPQ. 1.
19 Congresso de Iniciação Científica ESPECIFICAÇÃO E IMPLEMENTAÇÃO DE UMA FERRAMENTA AUTOMATIZADA DE APOIO AO GERSE: GUIA DE ELICITAÇÃO DE REQUISITOS PARA SISTEMAS EMBARCADOS Autor(es) BARBARA STEFANI
Leia maisEngenharia de Software II
Engenharia de Software II Aula 5 http://www.ic.uff.br/~bianca/engsoft2/ Aula 5-05/05/2006 1 Dúvidas da aula passada RUP (Rational Unified Process) é uma ferramenta ou um processo? Resposta: os dois. O
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia maisIntrodução ao Paradigma Orientado a Objetos. Principais conceitos
Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura
Leia maisRequisitos de Software
Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,
Leia maisUm modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.
UML - Motivação - O que é um modelo? Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. O que é um modelo? O que é um modelo? O
Leia mais)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR
6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,
Leia maisEngenharia de Software
Tema da Aula A Modelagem e os Métodos em Prof. Cristiano R R Portella portella@widesoft.com.br Modelos em Abstração Um modelo é uma abstração de um objeto ou fenômeno sob um determinado ponto de vista
Leia maisIntrodução a Computação
Introdução a Computação Aula 03 Profissões de TI Prof. MSc. Edilberto Silva edilms@yahoo.com http:// Papéis... Um papel é uma definição abstrata de um conjunto de atividades executadas e dos respectivos
Leia maisGARANTIA DA QUALIDADE DE SOFTWARE
GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características
Leia maisTI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.
TI Aplicada Aula 02 Áreas e Profissionais de TI Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http:// Papéis... Um papel é uma definição abstrata de um conjunto de atividades executadas e dos
Leia maisCurso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP
Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela
Leia maisRequisitos de Ferramentas Especializadas de Gestão de Configuração de Software
Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Ricardo Terra 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Campus da Pampulha 31.270-010
Leia maisProcesso de Desenvolvimento Unificado
Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas
Leia mais! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software
Agenda Introdução a Engenharia de Cleidson de Souza cdesouza@ufpa.br http://www.ufpa.br/cdesouza! e Engenharia de! Engenharia de e Programação! Histórico " Crise do! No Silver Bullet! Fases Genéricas do
Leia maisdo grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;
1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,
Leia maisO Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no
1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified
Leia mais