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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fábrica de Software 29/04/2015

Fá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 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

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

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

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

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

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

Estratégias de Pesquisa

Estratégias de Pesquisa Estratégias de Pesquisa Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Agenda Survey Design e Criação Estudo de Caso Pesquisa Ação Experimento

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

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

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

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

Introdução à Computação

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

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

Objetivos desta Aula. Introdução a Engenharia de Software Capítulo 1. Sumário. Engenharia de Software. Custos do Software. Custos do Software

Objetivos desta Aula. Introdução a Engenharia de Software Capítulo 1. Sumário. Engenharia de Software. Custos do Software. Custos do Software Objetivos desta Aula Introdução a Engenharia de Software Capítulo 1 Introduzir a engenharia de e explicar a sua importância Responder uma série de perguntas sobre engenharia de Introduzir questões éticas

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

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Clayton Maciel Costa

Leia mais

QUALIDADE DE SOFTWARE AULA N.7

QUALIDADE DE SOFTWARE AULA N.7 QUALIDADE DE SOFTWARE AULA N.7 Curso: SISTEMAS DE INFORMAÇÃO Disciplina: Qualidade de Software Profa. : Kátia Lopes Silva 1 CMM: DEFINIÇÃO Capability Maturity Model Um modelo que descreve como as práticas

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

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

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

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

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

Unidade II MODELAGEM DE PROCESSOS

Unidade 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 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

FUND DE SI SISTEMAS INTEGRADOS ERP SCM CRM

FUND DE SI SISTEMAS INTEGRADOS ERP SCM CRM FUND DE SI SISTEMAS INTEGRADOS ERP SCM CRM 5/5/2013 1 ERP ENTERPRISE RESOURCE PLANNING 5/5/2013 2 1 Os SI nas organizações 5/5/2013 3 Histórico Os Softwares de SI surgiram nos anos 60 para controlar estoque

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

Etapas e Desafios. plataforma de BPM corporativa. BPMS Showcase 2014. Kelly Sganderla Consultora de Processos, CBPP Kelly.sganderla@iprocess.com.

Etapas e Desafios. plataforma de BPM corporativa. BPMS Showcase 2014. Kelly Sganderla Consultora de Processos, CBPP Kelly.sganderla@iprocess.com. BPMS Showcase 2014 Etapas e Desafios na seleção de uma plataforma de BPM corporativa Apresentado por: Kelly Sganderla Consultora de Processos, CBPP Kelly.sganderla@iprocess.com.br Apresentando a iprocess

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

O Valor da TI. Introduzindo os conceitos do Val IT para mensuração do valor de Tecnologia da Informação. Conhecimento em Tecnologia da Informação

O Valor da TI. Introduzindo os conceitos do Val IT para mensuração do valor de Tecnologia da Informação. Conhecimento em Tecnologia da Informação Conhecimento em Tecnologia da Informação Conhecimento em Tecnologia da Informação O Valor da TI Introduzindo os conceitos do Val IT para mensuração do valor de Tecnologia da Informação 2010 Bridge Consulting

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

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

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

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

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

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

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

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 3 Teste Estático SUMÁRIO INTRODUÇÃO... 3 1. Definição... 3 2. Custo Versus Benefício...

Leia mais

Figura 5 - Workflow para a Fase de Projeto

Figura 5 - Workflow para a Fase de Projeto 5. Fase de Projeto A Fase de Projeto caracteriza-se por transformar as informações modeladas durante a Fase de Análise em estruturas arquiteturais de projeto com o objetivo de viabilizar a implementação

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

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

2 Engenharia de Software

2 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 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

CMMI (Capability Maturity Model Integration) Thiago Gimenez Cantos. Bacharel em Sistemas de Informação

CMMI (Capability Maturity Model Integration) Thiago Gimenez Cantos. Bacharel em Sistemas de Informação CMMI (Capability Maturity Model Integration) Thiago Gimenez Cantos Bacharel em Sistemas de Informação Faculdade de Informática de Presidente Prudente Universidade do Oeste Paulista (UNOESTE) thiago@visioncom.com.br;

Leia mais

Auditoria Interna do Futuro: Você está Preparado? Oswaldo Basile, CIA, CCSA. Presidente IIA Brasil

Auditoria Interna do Futuro: Você está Preparado? Oswaldo Basile, CIA, CCSA. Presidente IIA Brasil Auditoria Interna do Futuro: Você está Preparado? Oswaldo Basile, CIA, CCSA. Presidente IIA Brasil O futuro é (deveria ser) o sucesso Como estar preparado? O que você NÃO verá nesta apresentação Voltar

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

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Curso: 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 mais

METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS

METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS COORDENAÇÃO DE SISTEMAS (CODES) JUNHO/2011 Rua do Rouxinol, N 115 / Salvador Bahia CEP: 41.720-052 Telefone: (71) 3186-0001. Email: codes@ifbaiano.edu.br Site:

Leia mais

2. Sistemas Multi-Agentes (Multi-Agent System - MAS)

2. Sistemas Multi-Agentes (Multi-Agent System - MAS) AORML uma linguagem para modelagem de uma aplicação Multiagentes: Uma Aplicação no Sistema Expertcop. Hebert de Aquino Nery, Daniel Gonçalves de Oliveira e Vasco Furtado. Universidade de Fortaleza UNIFOR

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

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação Use of UML modeling in a management system for a food franchising Richard B. N. Vital, Tatiane M. Vital.

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

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

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

2 Diagrama de Caso de Uso

2 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 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

Renova Energia Otimiza Gestão de Conhecimento e Projetos com CA Clarity PPM

Renova Energia Otimiza Gestão de Conhecimento e Projetos com CA Clarity PPM CUSTOMER SUCCESS STORY Maio 2014 Renova Energia Otimiza Gestão de Conhecimento e Projetos com CA Clarity PPM PERFIL DO CLIENTE Empresa: Renova Energia Indústria: Energia Funcionários: 182 (2012) Faturamento:

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO Santa Maria, 10 de Outubro de 2013. Revisão aula anterior Documento de Requisitos Estrutura Padrões Template Descoberta

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

Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software

Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software Thiago Bianchi 1 Elisa Yumi Nakagawa 2 1 IBM - International Business Machines 04753-080, São Paulo, SP, Brazil tbianchi@br.ibm.com

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

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

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados! Conclusões 2 Processo

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

Requisitos de business intelligence para TI: O que todo gerente de TI deve saber sobre as necessidades reais de usuários comerciais para BI

Requisitos de business intelligence para TI: O que todo gerente de TI deve saber sobre as necessidades reais de usuários comerciais para BI Requisitos de business intelligence para TI: O que todo gerente de TI deve saber sobre as necessidades reais de usuários comerciais para BI Janeiro de 2011 p2 Usuários comerciais e organizações precisam

Leia mais

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

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

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

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

MRedPN tt : Metodologia para Redesenho de Processos de Negócios com Transferência Tecnológica - Versão 1.1

MRedPN tt : Metodologia para Redesenho de Processos de Negócios com Transferência Tecnológica - Versão 1.1 MRedPN tt : Metodologia para Redesenho de Processos de Negócios com Transferência Tecnológica - Versão 1.1 Prof. Dr. Jorge Henrique Cabral Fernandes (jhcf@cic.unb.br) Departamento de Ciência da Computação

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