Solução DSM para Micro e Pequenas Software House

Tamanho: px
Começar a partir da página:

Download "Solução DSM para Micro e Pequenas Software House"

Transcrição

1 Solução DSM para Micro e Pequenas Software House Luiz Carlos d Oleron 12, Cleyton Mário de Oliveira Rodrigues 12, Gleibson Oliveira 12, Lúcio santos 12 1 Centro de Informática Universidade Federal de Pernambuco (CIn/UFPE) P.O. Box 7851 Recife PE - Brasil 2 Improvess, Avenida Governador Carlos de Lima Cavalcante, 421 Olinda PE Brasil. {lcadb, cmor, grso, Abstract. Software engineering always sought techniques to leverage productivity for Product Lines, removing from the end-developer the hard task to pro- gram the entire solution. A model-centric, domain-based software development (Domain Specific Modeling, DSM) fits well this scenario: taking models as primary artifacts is the key business to keep model and code synchronized throughout the project. This paper therefore discusses the benefits that can be achieved by micro and small software product line enterprises when incorporating within the organizational environment a software development guided by domain-specific models. Further, a simulation for an integrated solution for inventory management will be discussed. Resumo. A Engenharia de Software sempre buscou técnicas para alavancar a produtividade para linhas de produto, removendo do desenvolvedor a árdua tarefa de programar toda a solução final. Um desenvolvimento baseado em modelos de domínio da aplicação se encaixa bem neste cenário: tomar modelos como artefatos primários é a chave do negócio para mantê-los sincronizados com o código ao longo do projeto. Este artigo, portanto, discute os benefícios que podem ser alcançados por micro e pequenas empresas que trabalham em linhas de produtos de software, ao incorporar dentro do ambiente organizacional um desenvolvimento de software orientado por modelos de domínio. Além disso, uma simulação para uma solução integrada de gestão de estoques será discutida. 1. Introdução A crise financeira que abalou o cenário macroeconômico mundial, entre os anos de 2008 e 2009, paradoxalmente, revelou uma forte tendência para investir em mercados emergentes. No pós-crise que se seguiu, a retomada do crescimento econômico experimentado por este seleto grupo de países emergentes, chamou a atenção de todo o mercado internacional, incluindo o mercado de tecnologia da informação e produção de software. Dentro deste contexto, a América Latina e especialmente o Brasil está emergindo como o carro-chefe na nas vendas de software e serviços [Gandra]. Micro e pequenas empresas, juntas, representam a maior parte das indústrias de software. Não obstante, para continuar (ou voltar) a crescer em ritmo acelerado é importante que estas continuem a ser maduras o suficiente para competir no mercado.

2 Tempo de entrega de um produto no mercado (time-to-market), produtividade, custos e qualidade continuam a ser fortes parâmetros para manter ou remover uma empresa no mercado de software. A Indústria de Software tem sido alvo de constantes transformações tanto metodológicas, como tecnológicas, tais como o surgimento de novas IDE (Integrated Development Environment) e ferramentas CASE (Computer-Aided Software Engineering), focando sempre na produtividade, qualidade, reusabilidade, interoperabilidade, além de eliminar redundâncias e inconsistências, e também, promover a entrega rápida de produtos e/ou serviços, a um baixo custo. Uma das experiências mais recentes é remover do programador final todo o árduo trabalho da construção da solução final, a qual era baseada quase que exclusivamente em sua própria interpretação do problema, e na as sua experiência em programação. Nesse novo roteiro [Stahl and Völter 2006], os modelos estão assumindo o papel de principal artefato. Em um nível abstrato, a solução do problema é modelada a partir das entidades presentes no domínio da aplicação, e, sistematicamente, este modelo é refinado em direção a uma plataforma de desenvolvimento (Java,.Net, por exemplo). O modelo original, portanto, é passível de ser reutilizado para a mesma aplicação, porém visando diferentes plataformas, ou até mesmo ser estendido para aplicações diferentes. Dentro do contexto de Software Product Line (SPL) [Software Engineering Institute 2010], onde produtos dentro de uma mesma família compartilham parcialmente algumas peculiaridades (arquitetura, features, casos de testes), o uso de modelos de domínio favorece a reusabilidade e, consequentemente, produtividade e baixo custo de desenvolvimento. Assim, este artigo explora os benefícios tangíveis que podem ser alcançados pelo uso de uma solução DSM dentro de uma família de produtos de software. Também, ao final do artigo é exibido um pequeno estudo de caso, utilizando ferramentas gratuitas e disponíveis na Web, tornando a solução compatível com a realidade das micro e pequenas empresas de software. Este artigo está organizado como se segue. Na seção 2 será discutido o cenário atual financeiro das micro e pequenas software house, bem como o cenário metodológico, isto é, as abordagens que existem e tratam o problema em discussão neste artigo. Já na seção 3é discutido o estado da arte de soluções de engenharia de software dirigida por modelos. Na Seção 4 apresentamos a solução DSM através de um conjunto de 5 atividades, bem como identificamos os benefícios advindos do uso desta solução. Por fim, as seções 5 e 6 tratam de um estudo de caso, instanciando estas atividades e das conclusões acerca do trabalho, como também as perspectivas para trabalhos futuros, respectivamente. 2. Cenário Atual Esta seção faz uma correlação entre dois aspectos que tangem as software-house, o cenário financeiro e o cenário metodológico. Enquanto, por um lado, explora como as empresas de desenvolvimento de software (em particular, as micro e pequenas) estão se comportando face à grande demanda do mercado, por outro, destacamos as ferramentas, processos e metodologias disponíveis na literatura que podem ser utilizadas como subsídio ferramental para aprimorar o desenvolvimento de sistemas baseado em modelos de domínio.

3 Figura 1: Taxa de crescimento no mercado Brasileiro (em Bilhões) [ABES 2010] Cenário Financeiro De acordo com a ABES [ABES 2009], o mercado brasileiro de software movimentou mais U$ 15 bilhões em 2009 e 2010, mantendo um crescimento constante [ABES 2010], em relação aos últimos anos, figura 1. Estima-se uma movimentação de mercado em 2012 em cerca de U$ 20,2 bilhões e uma projeção de 24% no número de empresas atuantes no segmento, fornecendo indicadores de crescimento da demanda de software no país. Do total movimentado em 2009, cerca de U$ 4,35 bilhões foram com desenvolvimento de software, sendo U$ 1,12 bilhões a movimentação relacionada a softwares customizáveis provenientes de software-houses, representando perto de 35% da demanda de desenvolvimento de software. O crescimento do mercado da Tecnologia da Informação (T.I.) reflete o aumento da demanda por software e a constante necessidade de investimento, com foco na competitividade das empresas. Além do mais, o aumento da demanda por serviços e produtos de T.I. leva ao aumento da competitividade no setor, fomentando novos entrantes no mercado e a necessidade de aperfeiçoamento da eficiência e competitividade empresarial de tais empresas. Todavia, o processo de produção da grande maioria das software-houses em mercados como o brasileiro não suporta o aumento crescente da demanda. A incapacidade operacional de fabricação entra em conflito com os resultados comerciais conquistados, gerando cenários onde as empresas vendem muito, mas não tem fôlego para atender às demandas vendidas [SOFTEX 2009]. Em particular, as software-houses possuem, em geral, um processo de fabricação mais próximo do artesanal (onde cada produto exige um grande grau de personalização manual para um cliente) do que industrial (onde produtos são gerados em linhas de produção, mas mesmo assim, atendem às necessidades específicas de cada cliente) Cenário Metodológico Linhas de Produtos de Software (em inglês Software Product Line, SPL) - um conjunto de sistemas de software que satisfaz as necessidades específicas de um segmento específico do mercado [Software Engineering Institute 2010] - é uma abordagem de desenvolvimento comumente aplicada para produção de uma ampla gama de produtos.

4 A partir de requisitos de um domínio específico, SPL advoga que estes sejam refinados até um produto alvo; esta abordagem, por natureza, incorpora e elava o reuso em uma família de produtos similares, uma vez que a partir do mesmo conjunto de requisitos iniciais, uma linha de produtos pode ser desenvolvida. Neste contexto, SPL introduz métodos de análise de Variabilidade, para identificar dentre estes requisitos, aqueles que são obrigatórios, alternativos ou opcionais; a diversidade de produtos de uma família dar-se-á a partir desta configuração. Em termos gerais, a Análise de Variabilidade contempla a definição do escopo, semelhanças e pontos de variabilidades entre produtos de software de uma determinada família [Myllymäki 2001] [Coplien et al. 1998]. A identificação pode ser realizada em nível de componentes, arquitetural, de artefatos e até mesmo em casos de testes [Chen et al. 2009]. Variabilidade pode ser definida como [...] a capacidade de um ativo se adaptar em contextos de produtos diferentes que estão no escopo da mesma linha de produtos [Bachmann e Clements 2005]. Dentre os métodos mais utilizados para se realizar análise de variabilidade, destaca-se o FODA - Feature Oriented Domain Analysis [Kang et al. 1990], o qual pode ser delineado em três passos consecutivos: (I) Análise de Domínio, (II) Extração dos pontos comuns e variáveis, e (III) Refinamento do modelo em diferentes aplicações. Recentes estudados na literatura discutem uma visão multidisciplinar, ao incorporar Engenharia Dirigida por Modelos (em inglês Model-Driven Development, MDD) como um processo inerente à SPL. Em particular, explora-se o uso de modelos específicos de domínio (em inglês Domain Specific Modeling, DSM) ao invés de modelos de propósito geral, uma vez que, os primeiros podem ser mais expressivos e mais coerentes com o domínio que se deseja modelar [Kelly e Tolvanen 2008], [White et al. 2009]. 3. MDD e DSM Desenvolvimento dirigido por modelos, (em inglês Model Driven Development, MDD) um paradigma de desenvolvimento onde os modelos (gráficos e/ou textuais) não são meros artefatos utilizados informalmente. Pelo contrário, esta abordagem surgiu para fechar a lacuna entre a solução, especificada por modelos com um alto nível de abstração e o código fonte final da aplicação. Elevando o nível de abstração da solução, independente de qualquer plataforma subjacente de codificação, é possível ganhar mais em termos de reutilização e produtividade. De acordo com [Stahl e Völter 2006], MDD introduz vários outros benefícios tais como: velocidade de desenvolvimento, qualidade do software, facilidade no gerenciamento de mudanças tecnológicas, entre outros pontos. Diversos estudos na literatura [Kelly e Tolvanen 2008], [Tolvanen 2004], [Kärnä 2009] apontam que o desenvolvimento baseado em modelo não é mais um mito, e sim uma realidade já presente em muitos projetos nas empresas de desenvolvimento de software. Em [Atkinson e Kuhne 2003], os autores definem a infra-estrutura de MDD como sendo formada de conceitos, regras e restrições, além de uma notação formal para a definição de modelos expressivos, adaptáveis e abstratos. Esta infra-estrutura também deve prover meios que permitam a troca de modelos entre plataformas distintas, além de

5 geradores de código inteligentes. Figura 2: Atividades para Solução DSM À Luz deste novo contexto de desenvolvimento, a Modelagem específica de Domínio (DSM) surge como uma solução de duas vias: Em primeiro lugar, eleva o nível de abstração além da programação, especificando a solução em uma linguagem que usa diretamente conceitos e regras de um determinado problema de domínio. Segundo, gera produtos finais em uma linguagem de programação escolhida ou em outra forma, a partir dessas especificações de alto nível [Kelly e Tolvanen 2008]. 4. Solução DSM No intuito de explorar os benefícios advindos do uso de soluções DSM dentro do contexto de SPL, definimos neste artigo, um conjunto de 5 atividades para guiar o desenvolvimento de aplicações. A figura 2 ilustra estes cinco passos Análise de Domínio O analista, durante a análise de domínio, depende de variáveis como sua experiência, percepção, além de necessitar de participação ativa do cliente, para delimitar bem o escopo da aplicação. Nesta fase, as entidades do domínio e das regras de negócio da aplicação são definidas. Também, os relacionamentos entre estas entidades são gerados e, a partir destes, as entidades passam a ser classificadas com entidades fracas, ou entidades fortes. Para se obter mais exatidão na modelagem do domínio, documentações disponíveis produtos pertencentes à mesma SPL da aplicação original são recolhidos para análise. Ao final, se faz necessário a confecção de um relatório listando todos os artefatos, cenários, requisitos discutidos ao longo desta fase Análise de Variabilidade Conforme discutido anteriormente, analisando as entidades em comuns e, consequentemente, as entidades obrigatórias e opcionais entre os produtos dentro de uma SPL, pode- se definir o nível de variabilidade para uma família de produtos. Tomando como ponto de partida o documento da análise de domínio criado anteriormente, e através do modelo FODA, pode-se definir visualmente, ou através de uma estrutura de árvore, todas as entidades, bem como os relacionamentos entre estas, deixando claro o que é obrigatório, opcional ou alternativo. Após esta fase, o modelo criado é a base de todas as possíveis configurações, isto é, para cada aplicação este modelo será sistematicamente refinado, até que a aplicação na plataforma alvo seja alcançada. Vale salientar que, a cada transformação imposta no modelo, este tornará cada vez menos abstrato e, portanto, menos reusável.

6 4.3. Definição da Linguagem Dando continuidade, a próxima atividade corresponde à criação da Linguagem. Baseado no modelo FODA, é possível agora analisar quais as entidades que estarão disponíveis para o usuário, além de definir as customizações necessárias para estas. É nesta fase que restrições relativas ao domínio são criadas. Para tal, a linguagem é especificada através de um metamodelo. Usualmente escritos em UML (Unified Modeling Language) 1, estes metamodelos descrevem abstratamente a sintaxe da Linguagem. Esta fase possibilita verificações sintáticas na definição da DSM, proibindo que configurações inválidas sejam criadas Criação da Ferramenta Gráfica Para que o cliente possa criar, sem maiores dificuldades, sua DSM, a quarta fase visa à criação de uma ferramenta gráfica construída sobre o metamodelo. Neste sentido, um Modelo Gráfico é criado, onde cada entidade passa a ter uma representação visual. É nesta fase também, que ligações semânticas entre o metamodelo e o modelo gráfico são criadas. Portanto, o que é válido no metamodelo será válido no modelo gráfico e precisa ser mantido. Além do mais, podem-se construir paletas para auxiliar o usuário final na criação da DSM. Mensagens de alerta e de erro também são customizadas. Por exemplo, se existe uma ligação mandatória entre duas entidades no metamodelo, e se, ao construir a DSM, esta ligação não for representada, caberá a ferramenta informar que existe o erro Criação do Gerador de Código A automação completa da geração do código final, a partir de modelos de domínio não é totalmente possível, pois para se construir a aplicação final é necessário antes definir o gerador de código. Neste, os templates que definem a estrutura do código fonte são criados. Além disso, é possível também criar otimizações, deixando-o mais acessível para futuras (e inevitáveis) manutenções. Como será observado no estudo de caso, esta atividade é a mais demorada dentre as cinco, uma vez que requer mais cuidados devido à intervenção humana. Em certas ocasiões, o gerador de código pode tornar-se o gargalo da solução DSM, e a tarefa de programar a solução final no desenvolvimento tradicional, pode ser refletido na tarefa de se programar o gerador de código. Assim, é preciso tomar cuidados extras para que esse possa ser expansível, simples, mas não deixando de ser completo Benefícios da Solução A partir da solução DSM descrita acima, podemos listar os benefícios diretos obtidos pelo uso de Modelos de Domínio em dois grandes subconjuntos: produtividade e qualidade: Com relação à Produtividade: Menor Tempo na Entregado do Produto, e esse tempo tende a diminuir a cada novo 1

7 produto, pois a reusabilidade aumenta; Rapidez no feedback para o usuário, uma vez que a análise pode ser feita em nível de modelo (mais abstrato) sem riscos deste não estar sincronizados com o código; Baixo custo no desenvolvimento, pois há ferramentas disponíveis para auxiliar as fases da solução DSM; Fácil Manutenção da Aplicação: a manutenção pode ser refletida de duas formas: adição de novas funcionalidades, e o responsável pela análise de domínio e variabilidade deverá identificar os impactos que a mudança irá acarretar nos produtos SPL; ou correção de erros, sendo realizadas nos modelos, mais simples de entender e alterar; Redução de recursos humanos, pois diminui a necessidade de profissionais experts em programação; Facilidade na imersão de novos desenvolvedores; Com relação à Qualidade: Regras de Corretude no domínio, dificultando a criação de especificações não desejadas; Eliminação de bugs nas fases iniciais do projeto; Geração de código que não precisa ser editado a partir da especificação; Suporte a validações em protótipo. 5. Sistema de Gestão de Estoque: Um Estudo de Caso Um pequeno projeto piloto foi realizado para avaliar o desenvolvimento da solução DSM: um software para gestão de estoque. De forma simples, a gestão de estoques é um sistema de atividades logísticas com foco estratégico e todo o processo produtivo. Isto envolve uma série de entidades, desde o inventário de materiais de transporte, bem como o controle total sobre a logística: quando (segurança), quanto, onde (fornecedores) e como compras os produtos, mantendo o estoque equilibrado, sem falta de produtos, ou em quantidade excessiva. Após a análise de domínio, um documento com as entidades/relacionamentos foi criado. Este documento serviu como argumento para gerar o modelo FODA. O modelo foi criado usando o Eclipse plugin Compositional Variability Management 2 que permite a edição visual ou através de estrutura de árvore. Após a análise de Variabilidade foram obtidos os seguintes resultados: Entidades Obrigatórias: 5 Entidades Opcionais: 4 Entidades Alternativas: 5 Relacionamentos: 20 Além das entidades, é possível associar atributos a estas, o que dá um caráter de infinita variabilidade para a aplicação. Suponha, por exemplo, que uma empresa solicite um aplicativo para gerenciamento de estoque, e exija a presença da entidade Produto. Um produto, por exemplo, pode ter várias peculiaridades, em termos de descrição, preço, data de estoque, embalagem e transporte. Todas essas características são atributos inerentes do 2

8 produto e que podem ser modelados. Nesta perspectiva, defendemos que há infinitas possibilidades de variação. Para desenvolver o metamodelo (Definição da Linguagem), foi utilizado o Eclipse Modeling Framework Project [Dave Steinberg e Merks 2009]. Por razões de propriedade intelectual, apenas uma parte do metamodelo é ilustrada na figura 3(a). Figura 3: Metamodelo (a) e Exemplo de uma DSM (b) Após a conclusão desta fase, a definição da ferramenta gráfica foi feita através do Eclipse Graphical Editing Framework (GEF) 3. O modelo gráfico também foi criado para representar as entidades mapeadas para cada elemento do domínio de aplicação. Tomemos, por exemplo, a entidade Product na Figura 3(b), nada mais do que uma imagem cuja semântica está vinculada à classe Product no metamodelo. Figura 4: Exemplo de Aplicação Com base nesse mapeamento, é possível definir todas as aplicações de estoque que podem ser criadas a partir do Metamodelo, desde que se cumpram todas as restrições expressas. Por exemplo, a multiplicidade mínima entre as entidades Inventory e Product é 1 (um), portanto, em nenhuma circunstância pode ser possível definir um sistema de gerenciamento de estoque, sem a participação da entidade produto. Nessas situações, mensagens de erro (também implantadas nesta fase) deverão alterar as possíveis 3

9 inconsistências e omissões do atual modelo. Na última etapa, o gerador de código foi criado. A linguagem de desenvolvimento adotada foi Java. Sua construção dói realização utilizando o código fonte original. Não foram feitas melhorias como refatoração dos modelos para gerar um código fonte de melhor qualidade que o sistema original. Portanto, espera-se que a estrutura e o comportamento do sistema permaneça idêntica ao do sistema original. A figura 4 mostra um exemplo de aplicação criada, utilizando modelos DSM. Para este caso, a solução continha as entidades de Produto, Fornecedor, Cliente, Grupo e Família. A figura ilustra também o processo de criação de um novo produto, ilustrando os atributos que foram associados a esta entidade (código, nome e descrição). Vale lembrar que tais atributos configuram a infinita variabilidade associada à família de aplicações de gestão de estoque. O tempo gasto para criar o gerador de código foi superior em relação às outras atividades, como pode ser observado na figura 5. Figura 5: Tempo gasto nas Atividades Como resultado preliminar, foi utilizado teste de regressão [Myers e Sandler 2004]: o comportamento gerado pela solução DSM permaneceu o mesmo quando comparado com a solução desenvolvida pela engenharia tradicional. Além disso, pela análise estática do código [Ayewah ET AL. 2008] utilizada para medir acoplamentos e presença de ciclos. Indicou que a estrutura do código-fonte gerado é praticamente mantida em relação ao código fonte original. A figura 6 mostra alguns resultados comparativos entre packages de ambos os códigos. Vale salientas que estes foram desenvolvidos pela mesma equipe, evitando qualquer tipo de viés por utilizar membros com proficiência diferentes. 6. Conclusão A solução DSM pretende ser genérica o suficiente para ser apropriada para qualquer plataforma de desenvolvimento. Com os resultados satisfatórios obtidos até então, este projeto está sendo aprimorado, para que diferentes aplicações possam ser geradas e assim, avaliarmos efetivamente o ganho em reusabilidade, produtividade, e baixo custo. Vale lembrar, contudo, que o desenvolvimento do estudo de caso foi conduzido utilizando plugins na plataforma Eclipse, o que não introduziu nenhum custo financeiro. Ao contrário do que se possa pensar, todos estes se adequaram perfeitamente às atividades, mostrando estáveis e de fácil usabilidade. Também, como dito antes, a partir

10 da análise estática e do teste de regressão, o código da solução DSM manteve-se próximo ao código da aplicação gerada por um desenvolvedor padrão. Figura 6: Resultados Preliminares Finalmente, saliente-se que, em caso da necessidade de gerar a mesma aplicação para uma plataforma diferente, o foco do trabalho será na reconfiguração dos templates do gerador de código, pois os artefatos das etapas iniciais (documentos e modelos) podem ser reutilizados, impactando diretamente na redução dos cursos. Através do estudo de caso, pode-se perceber que a solução está ao alcance de pequenas e micro empresas de desenvolvimento de software. Isto é importante, pois refuta a idéia de que para se manter competitiva no mercado, empresas deste nível precisam investir tanto quanto as grandes software-house. Como trabalho futuro, propomos a implantação de um processo baseado nestas 5 atividades, com seus respectivos marcos, produtos de trabalho e responsáveis, Este processo pode servir como guia de desenvolvimento, auxiliando os analistas desde a concepção até a implantação e manutenção da aplicação. References ABES (2009). Mercado brasileiro de software: Panorama e tendências Technical report, ABES - Associação Brasileira de Empresas de Software. ABES (2010). Mercado brasileiro de software pdf. Atkinson, C. and Kuhne, T. (2003). Model-driven development: a metamodeling founda- tion. Software, IEEE, 20(5): Ayewah, N., Hovemeyer, D., Morgenthaler, J. D., Penix, J., and Pugh, W. (2008). Using static analysis to find bugs. IEEE Software, 25: Bachmann, F. and Clements, P. C. (2005). Variability in software product lines. Technical Report September.

11 Chen, L., Babar, M. A., and Ali, N. (2009). Variability management in software product lines: a systematic review. In SPLC 09: Proceedings of the 13th International Soft- ware Product Line Conference, pages 81 90, Pittsburgh, PA, USA. Carnegie Mellon University. Coplien, J., Hoffman, D., and Weiss, D. (1998). Commonality and variability in software engineering. Software, IEEE, 15(6): Dave Steinberg, Frank Budinsky, M. P. and Merks, E. (2009). EMF: Eclipse Modeling Framework (2nd Edition) (Eclipse). Addison-Wesley Longman, Amsterdam, 2nd re- vised edition (rev). edition. Gandra, A. Setor de software no brasil deve crescer. Kang, K., Cohen, S., Hess, J., Nowak, W., and Peterson, S. (1990). Feature-Oriented Domain Analysis (FODA) Feasibility Study. Kelly, S. and Tolvanen, J.-P. (2008). Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Pr. Kärnä, J., T. J.-P. K. S. (2009). Evaluating the use of domain-specific modeling in practice. Myers, G. J. and Sandler, C. (2004). The Art of Software Testing. John Wiley & Sons. Myllymäki, T. (2001). Variability management in software product-lines. Technical report, Institute of Software Systems, Tampere University of Technology. Technical report 30. SOFTEX (2009). Software e serviço de ti: A indústria brasileira em perspectiva. Technical report, Associação para Promoção da Excelência do Software Brasileiro. Software Engineering Institute, C. M. U. (2010). Software product lines. sei.cmu.edu/productlines/. Stahl, T. and Völter, M. (2006). Model-Driven Software Development: Technology, Engineering, Management. Wiley, Chichester, UK. Tolvanen, J.-P. (2004). Metaedit+: domain-specific modeling for full code generation demonstrated [gpce]. In OOPSLA Companion, pages White, J., Hill, J. H., Gray, J., Tambe, S., Gokhale, A. S., and Schmidt, D. C. (2009). Improving domain-specific language reuse with software product line techniques. Software, IEEE, 26(4):47 53.

Gerenciando Variabilidade e Reusabilidade em Linhas de Produto de Software

Gerenciando Variabilidade e Reusabilidade em Linhas de Produto de Software Gerenciando Variabilidade e Reusabilidade em Linhas de Produto de Software Luiz Carlos d Oleron, Cleyton Mário de Oliveira Rodrigues Centro de Informática (CIn) Universidade Federal de Pernambuco Recife,

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho 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

Leia mais

Introdução à Engenharia de Software

Introduçã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 mais

Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software

Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software Gabriela Guedes de Souza, Jaelson Castro e Carla Silva ggs@cin.ufpe.br, jbc@cin.ufpe.br, carla@dce.ufpb.br DEPARTAMENTO DE

Leia mais

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Renan Sales Barros 1, Sandro Ronaldo Bezerra Oliveira 1 1 Faculdade de Computação Instituto de Ciências Exatas e Naturais (ICEN)

Leia mais

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois 1, 2, Karin Becker 2, Cláudia Werner 1 1 COPPE/UFRJ, Universidade Federal do Rio de Janeiro,

Leia mais

Tó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 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 mais

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software Eduardo Barbosa da Costa Juiz de Fora, MG Julho de 2008 Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software

Leia mais

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS Lilian R. M. Paiva, Luciene C. Oliveira, Mariana D. Justino, Mateus S. Silva, Mylene L. Rodrigues Engenharia de Computação - Universidade de Uberaba (UNIUBE)

Leia mais

Fase 1: Engenharia de Produto

Fase 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 mais

Uma Abordagem Dinâmica de Linha de Produto para Gestão de Processos de Negócio

Uma Abordagem Dinâmica de Linha de Produto para Gestão de Processos de Negócio Uma Abordagem Dinâmica de Linha de Produto para Gestão de Processos de Negócio Trabalho de Mestrado Roberto dos Santos Rocha (Aluno), Marcelo Fantinato (Orientador) Programa de Pós-graduação em Sistemas

Leia mais

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web } Com o forte crescimento do comércio eletrônico por

Leia mais

Ciê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 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 mais

MODELAGEM DE PROCESSOS

MODELAGEM DE PROCESSOS MODELAGEM DE PROCESSOS a a a PRODUZIDO POR CARLOS PORTELA csp3@cin.ufpe.br AGENDA Definição Objetivos e Vantagens Linguagens de Modelagem BPMN SPEM Ferramentas Considerações Finais Referências 2 DEFINIÇÃO:

Leia mais

Engenharia de Linha de Produtos de Software e o Processo de Análise Automática: uma visão geral

Engenharia de Linha de Produtos de Software e o Processo de Análise Automática: uma visão geral Engenharia de Linha de Produtos de Software e o Processo de Análise Automática: uma visão geral Cristiano Politowski - pesquisador Dr. Fabrícia Roos Frantz - orientadora Agenda SPLE Engenharia de Linha

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

Algumas propriedades dos objetos:

Algumas 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 mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil Elicitação de Requisitos a partir de Modelos de Processos de Negócio e Modelos Organizacionais: Uma pesquisa para definição de técnicas baseadas em heurísticas Marcos A. B. de Oliveira 1, Sérgio R. C.

Leia mais

Usando 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 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 mais

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE Tathiana da Silva Barrére Antonio Francisco do Prado Vitor César Bonafe E-mail: (tathiana,prado,bonafe)@dc.ufscar.br

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do 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 mais

Programa 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) 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 mais

Uma 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 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 mais

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software

Requisitos 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 mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software

Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software Itana M. S. Gimenes 1 itana@din.uem.br Radames J. Halmeman 1 radames@cm.cefetpr.br Fabrício R.

Leia mais

Transformação de um Modelo de Empresa em Requisitos de Software

Transformação de um Modelo de Empresa em Requisitos de Software Transformação de um Modelo de Empresa em Requisitos de Software Fábio Levy Siqueira 1 and Paulo Sérgio Muniz Silva 2 1 Programa de Educação Continuada da Poli-USP, São Paulo, Brazil 2 Escola Politécnica

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento 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 mais

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Engenharia 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 mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA 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 mais

Processo de Desenvolvimento de Software Linhas de Produtos de Software

Processo de Desenvolvimento de Software Linhas de Produtos de Software Processo de Desenvolvimento de Software Linhas de Produtos de Software Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Departamento Acadêmico de Gestão e Tecnologia da Informação

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 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 mais

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT Jaqueline Rissá Franco email: jaquerifr@gmail.com Karla Marturelli Mattos Luciano Mathias Doll João Almeida Resumo: Este artigo mostra novas abordagens na

Leia mais

Linha de Produtos de Software (SPL) em Java: Teoria e Prática

Linha de Produtos de Software (SPL) em Java: Teoria e Prática Linha de Produtos de Software (SPL) em Java: Teoria e Prática Prof. Me. Djan Almeida Santos Prof. Me. Pablo Freire Matos Slides baseados no material elaborado pelos professores: Ingrid Oliveira de Nunes,

Leia mais

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

RUP. 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 mais

UMA PROSTA DE ADEQUAÇÃO DO MS VISUAL STUDIO TEAM SYSTEM (VSTS) PARA O MPS.BR NÍVEIS F e G

UMA PROSTA DE ADEQUAÇÃO DO MS VISUAL STUDIO TEAM SYSTEM (VSTS) PARA O MPS.BR NÍVEIS F e G 1082 X Salão de Iniciação Científica PUCRS UMA PROSTA DE ADEQUAÇÃO DO MS VISUAL STUDIO TEAM SYSTEM (VSTS) PARA O MPS.BR NÍVEIS F e G Agner Macedo Paiva, Bernardo Copstein (orientador) FACIN, PUCRS, Centro

Leia mais

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004 Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. 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 mais

Análise da vantagem de adoção e uso de sistemas ERP código aberto em relação aos sistemas ERP código fechado

Análise da vantagem de adoção e uso de sistemas ERP código aberto em relação aos sistemas ERP código fechado Análise da vantagem de adoção e uso de sistemas ERP código aberto em relação aos sistemas ERP código fechado Louis Albert Araujo Springer Luis Augusto de Freitas Macedo Oliveira Atualmente vem crescendo

Leia mais

Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso

Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso Ernesto C. Brasil 1, Thiago C. de Sousa 2 1 Centro de Ensino Unificado de Teresina (CEUT)

Leia mais

Processo de Software

Processo de Software Processo de Software Uma importante contribuição da área de pesquisa de processo de software tem sido a conscientização de que o desenvolvimento de software é um processo complexo. Pesquisadores e profissionais

Leia mais

Fundamentos de Engenharia de Software. Josino Rodrigues (josinon@gmail.com)

Fundamentos de Engenharia de Software. Josino Rodrigues (josinon@gmail.com) Fundamentos de Engenharia de Software Josino Rodrigues (josinon@gmail.com) Apresentação Quem sou eu Quem são vocês? Qual seu nível de conhecimento associado a disciplina e quais suas expectativas? Objetivo

Leia mais

Suporte à Engenharia Reversa para o ambiente SEA

Suporte à Engenharia Reversa para o ambiente SEA Otavio Pereira Suporte à Engenharia Reversa para o ambiente SEA Orientador: Ricardo Pereira e Silva Universidade Federal de Santa Catarina - UFSC Departamento de Informática e Estatística - INE Florianópolis

Leia mais

Processos de Desenvolvimento de Software

Processos 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 mais

UML - Unified Modeling Language

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 mais

Desenvolvimento de software orientado a características e dirigido por modelos

Desenvolvimento 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 mais

Introdução à Engenharia de Software. Profª Jocelma Rios

Introdução à Engenharia de Software. Profª Jocelma Rios Introdução à Engenharia de Software Profª Jocelma Rios Jun/2013 O que pretendemos Apresentar os conceitos básicos de engenharia de software e as disciplinas que a compõem Apresentar as questões mais relevantes

Leia mais

Professor: Curso: Disciplina:

Professor: Curso: Disciplina: Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos

Leia mais

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Audrey B. Vasconcelos, Iuri Santos Souza, Ivonei F. da Silva, Keldjan Alves Centro de Informática Universidade

Leia mais

Introdução a INGENIAS:

Introdução a INGENIAS: Universidade do Estado do Rio Grande do Norte UERN Universidade Federal Rural do Semi-Árido UFERSA Mestrado em Ciência da Computação MCC Disciplina: Engenharia de Software Orientada a Agentes Professores:

Leia mais

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia de Software Processo de Desenvolvimento de Software Engenharia de Software Processo de Desenvolvimento de Software Prof. Edison A. M. Morais prof@edison.eti.br http://www.edison.eti.br Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar

Leia mais

Engenharia de Software

Engenharia 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 mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

Agenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor

Agenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor Reuso de Software Aula 05 Agenda da Aula Linha de Produtos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 19 Março 2012 Padrões arquiteturais Cliente-Servidor

Leia mais

Aná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. 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 mais

Levantamento de Requisitos.

Levantamento de Requisitos. FACULDADES INTEGRADAS MATO-GROSSENSES DE CIÊNCIAS SOCIAIS E HUMANAS RESUMO Levantamento de Requisitos. Leandro Cícero da Silva Mello. Prof. Jeanine Ferrazza Meyer Metodologia e Técnica de Pesquisa- Levantamento

Leia mais

Qualidade de Processo de Software Normas ISO 12207 e 15504

Qualidade de Processo de Software Normas ISO 12207 e 15504 Especialização em Gerência de Projetos de Software Qualidade de Processo de Software Normas ISO 12207 e 15504 Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br Qualidade de Software 2009 Instituto

Leia mais

Introdução ao Delphi. Introdução. Edições do Software. Capítulo 1. InforBRás - Informática Brasileira Ltda. O Que é o Delphi.

Introdução ao Delphi. Introdução. Edições do Software. Capítulo 1. InforBRás - Informática Brasileira Ltda. O Que é o Delphi. Capítulo 1 O Que é o Delphi Diferenças entre Delphi Client/Server do Delphi for Windows Características que compõem o Integrated Development Invironment (IDE) Como o Delphi se encaixa na família Borland

Leia mais

INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS

INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS Cilene Loisa Assmann (UNISC) cilenea@unisc.br Este estudo de caso tem como objetivo trazer a experiência de implantação

Leia mais

Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow

Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow Gustavo Zanini Kantorski, Marcelo Lopes Kroth Centro de Processamento de Dados Universidade Federal

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

Representando Características Autonômicas nos Processos de Negócio

Representando Características Autonômicas nos Processos de Negócio Representando Características Autonômicas nos Processos de Negócio Karolyne Oliveira, Tarcísio Pereira, Emanuel Santos, Jaelson Castro Universidade Federal de Pernambuco UFPE, Recife, PE 50 740-560, Brazil

Leia mais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC CENTRO DE EDUCAÇÃO SUPERIOR DO ALTO VALE DO ITAJAÍ CEAVI DIREÇÃO DE ENSINO DEN PLANO DE ENSINO

UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC CENTRO DE EDUCAÇÃO SUPERIOR DO ALTO VALE DO ITAJAÍ CEAVI DIREÇÃO DE ENSINO DEN PLANO DE ENSINO Departamento: Disciplina: Pré-Requisitos: I D E N T I F I C A Ç Ã O Sistemas de Informação Engenharia de Software Aplicada (ESA) Engenharia de Software (ES) CH: 7 Curso: Bacharelado em Sistemas de Informação

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE RESUMO Fazer um bom levantamento e especificação de requisitos é algo primordial para quem trabalha com desenvolvimento de sistemas. Esse levantamento

Leia mais

Uma proposta de um processo prático para apoiar o reuso de software

Uma proposta de um processo prático para apoiar o reuso de software Uma proposta de um processo prático para apoiar o reuso de software Rosangela Kronig (UNIP) rkronig.mes.engprod@unip.br Ivanir Costa (UNIP) icosta@unip.br Mauro Spínola (UNIP) mspinola@unip.br Resumo A

Leia mais

Aplicação da ISO/IEC TR 15504 na Melhoria do Processo de Desenvolvimento de Software de uma Pequena Empresa

Aplicação da ISO/IEC TR 15504 na Melhoria do Processo de Desenvolvimento de Software de uma Pequena Empresa Aplicação da ISO/IEC TR 15504 na Melhoria do Processo de Desenvolvimento de Software de uma Pequena Empresa Odair Jacinto da Silva 1, Carlos Alberto Borges 1, Clênio Sampaio Salviano 2, Adalberto N. Crespo

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada Ciência da Computação ENGENHARIA DE SOFTWARE UML-Unified Modeling Language Linguagem de Modelagem Unificada Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução a linguagem UML

Leia mais

Laudon & Laudon MIS, 7th Edition. Pg. 1.1

Laudon & Laudon MIS, 7th Edition. Pg. 1.1 Laudon & Laudon MIS, 7th Edition. Pg. 1.1 12 OBJETIVOS OBJETIVOS REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 12.1 De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma

Leia mais

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO Capítulo 12 REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 12.1 2003 by Prentice Hall OBJETIVOS De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma organização trabalhar?

Leia mais

Modelos de processos de desenvolvimento de software

Modelos de processos de desenvolvimento de software Definição Um modelo de processo de software é uma representação abstrata de um processo. Os modelos de processo podem ser desenvolvidos a partir de várias perspectivas e podem mostrar as atividades envolvidas

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO 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 mais

COBIT (CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY)

COBIT (CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY) Universidade Federal de Santa Catarina Departamento de Informática e Estatística INE Curso: Sistemas de Informação Disciplina: Projetos I Professor: Renato Cislaghi Aluno: Fausto Vetter Orientadora: Maria

Leia mais

UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO

UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO 231 UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO Ana Paula Terra Bacelo Resumo Reuso de software é considerada uma forma eficiente de aumentar a produtividade

Leia mais

Treinamento BPM e BPMN Apresentação Executiva

Treinamento BPM e BPMN Apresentação Executiva Apresentação Executiva 1 O treinamento de BPM e BPMN tem como premissa capacitar o aluno a captar as atividades relativas a determinado processo da empresa, organizá-las, gerando um fluxograma de atividades/processos,

Leia mais

MODELAGEM DE UM SUBSISTEMA IMOBILIÁRIO UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE MODELING A REAL ESTATE SUBSYSTEM USING SOFTWARE PRODUCT LINES

MODELAGEM DE UM SUBSISTEMA IMOBILIÁRIO UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE MODELING A REAL ESTATE SUBSYSTEM USING SOFTWARE PRODUCT LINES MODELAGEM DE UM SUBSISTEMA IMOBILIÁRIO UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE MODELING A REAL ESTATE SUBSYSTEM USING SOFTWARE PRODUCT LINES Silvia Ribeiro Mantuani 1 ; Fernando Henrique Campos 2 ; Vinícius

Leia mais

Requisitos de Software

Requisitos 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 mais

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Valdemar Vicente GRACIANO NETO 1 ; Juliano Lopes DE OLIVEIRA 1 1 Instituto de Informática

Leia mais

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados 1021 X Salão de Iniciação Científica PUCRS Engenharia de Domínio baseada na Reengenharia de Sistemas Legados Cássia Zottis¹, Profa. Dra. Ana Paula Terra Bacelo 1 (orientadora) 1 Faculdade de Informática,

Leia mais

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

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

Leia mais

FAPS: Ferramenta para apoiar Avaliações Integradas de Processos de Software

FAPS: Ferramenta para apoiar Avaliações Integradas de Processos de Software FAPS: Ferramenta para apoiar Avaliações Integradas de Processos de Software Marcello Thiry 1 2, Christiane Gresse von Wangenheim 1 2, Alessandra Zoucas 12, Leonardo Reis Tristão 1 1 (II-MPS.BR) Incremental

Leia mais

Uma Abordagem usando PU

Uma Abordagem usando PU Uma Abordagem usando PU Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Baseada em: Rational Software Corpotation G. Booch, Ivar Jacobson,

Leia mais

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA 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 mais

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Gustavo Zanini Kantorski, Marcelo Lopes Kroth Universidade Federal de Santa Maria (UFSM) 97100-000 Santa Maria

Leia mais

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação 1 Ruironaldi dos Santos Cruz ARTIGO ARQUITETURA ORIENTADA A SERVIÇO SOA SERVICE

Leia mais

Análise do processo de desenvolvimento e manutenção do Sistema de Informação e Gestão Acadêmica (SIGA) com foco no Nível G do MPS.

Análise do processo de desenvolvimento e manutenção do Sistema de Informação e Gestão Acadêmica (SIGA) com foco no Nível G do MPS. UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Análise do processo de desenvolvimento e manutenção do Sistema de Informação e Gestão Acadêmica (SIGA) com foco

Leia mais

Análise qualitativa sobre as metodologias do desenvolvimento de software em product in line.

Análise qualitativa sobre as metodologias do desenvolvimento de software em product in line. Relatório do GPES UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Relatório referente à pesquisa preliminar da análise qualitativa sobre as metodologias de desenvolvimento de software baseado em product in

Leia mais

Linhas de Produtos de Software. Professor: Uirá DIMAp / UFRN, 2009.2

Linhas de Produtos de Software. Professor: Uirá DIMAp / UFRN, 2009.2 Linhas de Produtos de Software Professor: Uirá DIMAp / UFRN, 2009.2 Aula 4: Modelagem de Variabilidades em Requisitos Modelagem de Requisitos Documentação textual Não limita a expressividade dos requisitos

Leia mais

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 1 OBJETIVOS 1. De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma organização trabalhar? 2. Como uma empresa pode certificar-se

Leia mais

Ementários. Disciplina: Gestão Estratégica

Ementários. Disciplina: Gestão Estratégica Ementários Disciplina: Gestão Estratégica Ementa: Os níveis e tipos de estratégias e sua formulação. O planejamento estratégico e a competitividade empresarial. Métodos de análise estratégica do ambiente

Leia mais

5 Um Modelo Generativo Orientado a Aspectos

5 Um Modelo Generativo Orientado a Aspectos 71 5 Um Modelo Generativo Orientado a Aspectos Nesse capítulo é apresentado um modelo generativo orientado a aspectos que é usado para instanciação de variabilidades OO e OA encontradas em arquiteturas

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem 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 mais

Histórico: Linha de Produção. Linha de Produtos de Software. Reuso vs. Customização. Mercado Competitivo. Linha de Produtos de Software

Histórico: Linha de Produção. Linha de Produtos de Software. Reuso vs. Customização. Mercado Competitivo. Linha de Produtos de Software DCC / ICEx / UFMG Histórico: Linha de Produção Linha de Produtos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Produtos em geral eram feitos manualmente Com o crescimento do consumo,

Leia mais

Práticas de IHC versus Processos de Engenharia de Software: Uma Análise para Adoção

Práticas de IHC versus Processos de Engenharia de Software: Uma Análise para Adoção Práticas de IHC versus Processos de Engenharia de Software: Uma Análise para Adoção Joyce Cristina Souza Bastos 1, Sandro Ronaldo Bezerra Oliveira 1 1 Faculdade de Computação - Instituto de Ciências Exatas

Leia mais

VISUAL STUDIO TEAM SYSTEM IMPLANTAÇÃO DA SUITE DE FERRAMENTAS

VISUAL STUDIO TEAM SYSTEM IMPLANTAÇÃO DA SUITE DE FERRAMENTAS UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA VISUAL STUDIO TEAM SYSTEM IMPLANTAÇÃO DA SUITE DE FERRAMENTAS PARA APOIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Leia mais

Ferramenta Colaborativa para Groupware

Ferramenta Colaborativa para Groupware Ferramenta Colaborativa para Groupware Rodolpho Brock UFSC Universidade Federal de Santa Catarina INE Deparrtamento de Informática e Estatística Curso de Graduação em Sistema de Informação rbrock@inf.ufsc.br

Leia mais