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, ljfs}@cin.ufpe.br 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia 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

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

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

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

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

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

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005 SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005 ÍNDICE Introdução...3 A Necessidade do Gerenciamento e Controle das Informações...3 Benefícios de um Sistema de Gestão da Albi Informática...4 A Ferramenta...5

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Princípios de Linhas de Produtos de Software. Prof. Alberto Costa Neto alberto@ufs.br

Princípios de Linhas de Produtos de Software. Prof. Alberto Costa Neto alberto@ufs.br Princípios de Linhas de Produtos de Software Prof. Alberto Costa Neto alberto@ufs.br Surgimento das Linhas de Produtos Inicialmente produtos eram feitos artesanalmente Mas... Nº de pessoas que poderiam

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

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

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

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

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

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

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

Organização e a Terceirização da área de TI. Profa. Reane Franco Goulart

Organização e a Terceirização da área de TI. Profa. Reane Franco Goulart Organização e a Terceirização da área de TI Profa. Reane Franco Goulart Como surgiu? A terceirização é uma ideia consolidada logo após a Segunda Guerra Mundial, com as indústrias bélicas americanas, as

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

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11 GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11 Índice 1. Importância do ERP para as organizações...3 2. ERP como fonte de vantagem competitiva...4 3. Desenvolvimento e implantação de sistema de informação...5

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

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

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

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

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

MODELO CMM MATURIDADE DE SOFTWARE

MODELO CMM MATURIDADE DE SOFTWARE MODELO CMM MATURIDADE DE SOFTWARE O modelo CMM Capability Maturity Model foi produzido pelo SEI (Software Engineering Institute) da Universidade Carnegie Mellon (CMU), em Pittsburgh, EUA, por um grupo

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

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

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

O modelo unificado de processo. O Rational Unified Process, RUP.

O modelo unificado de processo. O Rational Unified Process, RUP. Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

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

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Processo de Desenvolvimento de Sites

Processo de Desenvolvimento de Sites ANEXO 4 METODOLOGIA DE DESENVOLVIMENTO PROCERGS MDP Processo de Desenvolvimento de Sites O processo de desenvolvimento de sites foi definido com base nas características deste produto e na forma de trabalho

Leia mais

PROFESSOR: CRISTIANO MARIOTTI

PROFESSOR: CRISTIANO MARIOTTI PROFESSOR: CRISTIANO MARIOTTI Conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software; Considerado um dos principais mecanismos para se obter software de qualidade

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

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

PRINCÍPIOS DE SISTEMAS DE INFORMAÇÃO MÓDULO 17

PRINCÍPIOS DE SISTEMAS DE INFORMAÇÃO MÓDULO 17 PRINCÍPIOS DE SISTEMAS DE INFORMAÇÃO MÓDULO 17 Índice 1. Conceitos de Ciclo de Desenvolvimento de Sistemas...3 1.1. Principais Fases... 3 1.2. Técnicas... 4 1.3. Papéis de Responsabilidades... 4 1.3.1.

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

UML: Casos de Uso. Projeto de Sistemas de Software

UML: Casos de Uso. Projeto de Sistemas de Software UML: Casos de Uso Projeto de Sistemas de Software UML Casos de Uso Introdução Casos de uso Elementos do diagrama de casos de uso Descrição de casos de uso Exemplo: Blog Ferramentas de modelagem Bibliografia

Leia mais

Pequenas e Médias Empresas no Canadá. Pequenos Negócios Conceito e Principais instituições de Apoio aos Pequenos Negócios

Pequenas e Médias Empresas no Canadá. Pequenos Negócios Conceito e Principais instituições de Apoio aos Pequenos Negócios Pequenas e Médias Empresas no Canadá Pequenos Negócios Conceito e Principais instituições de Apoio aos Pequenos Negócios De acordo com a nomenclatura usada pelo Ministério da Indústria do Canadá, o porte

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

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

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

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

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

ARQUITETURA CORPORATIVA PARA IMPLEMENTAÇÃO DE UMA ESTRATÉGIA DE GOVERNANÇA DE TI SUSTENTÁVEL. Março 2013

ARQUITETURA CORPORATIVA PARA IMPLEMENTAÇÃO DE UMA ESTRATÉGIA DE GOVERNANÇA DE TI SUSTENTÁVEL. Março 2013 ARQUITETURA CORPORATIVA PARA IMPLEMENTAÇÃO DE UMA ESTRATÉGIA DE GOVERNANÇA DE TI SUSTENTÁVEL Março 2013 Aitec Brasil Apresentação Institucional Missão Antecipar tendências, identificando, criando e desenvolvendo

Leia mais

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML UML (Unified Modeling Language Linguagem de Modelagem Unificada) é uma linguagem-padrão para a elaboração da estrutura de

Leia mais

PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0

PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0 PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0 Banco Central do Brasil, 2015 Página 1 de 14 Índice 1. FLUXO DO PEN - PROCESSO DE ENTENDIMENTO DAS NECESSIDADES DE NEGÓCIO... 3 2.

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

ISO - 9126. Aécio Costa

ISO - 9126. Aécio Costa ISO - 9126 Aécio Costa A evolução da Qualidade do Produto Qualidade = funcionalidade Confiabilidade Realização de funções críticas Produto de qualidade = sem bugs Controle de qualidade Teste do produto

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

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

PRODUTOS RIOSOFT COM SUBSÍDIO SEBRAEtec

PRODUTOS RIOSOFT COM SUBSÍDIO SEBRAEtec PRODUTOS RIOSOFT COM SUBSÍDIO SEBRAEtec ÁREA DE NORMAS, QUALIDADE E PROCESSOS. I - NORMA ISO/IEC 29110 Micro e Pequenas Empresas focadas no desenvolvimento de software. 2) Ambiente É possível constatar,

Leia mais

Projeto de inovação do processo de monitoramento de safra da Conab

Projeto de inovação do processo de monitoramento de safra da Conab Projeto de inovação do processo de monitoramento de safra da Conab Projeto elaborado por Lorenzo Seguini lorenzo_seguini@yahoo.it Projeto Diálogos Setoriais União Europeia - Brasil 1 Sumário 1. Introdução...3

Leia mais

Gerenciamento de Projetos no Marketing Desenvolvimento de Novos Produtos

Gerenciamento de Projetos no Marketing Desenvolvimento de Novos Produtos Gerenciamento de Projetos no Marketing Desenvolvimento de Novos Produtos Por Giovanni Giazzon, PMP (http://giazzon.net) Gerenciar um projeto é aplicar boas práticas de planejamento e execução de atividades

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

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

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2 APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2 Renan J. Borges 1, Késsia R. C. Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí, PR Brasil renanjborges@gmail.com, kessia@unipar.br

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 5 http://www.ic.uff.br/~bianca/engsoft2/ Aula 5-05/05/2006 1 Dúvidas da aula passada RUP (Rational Unified Process) é uma ferramenta ou um processo? Resposta: os dois. O

Leia 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

Prototipação de Software

Prototipação de Software UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Prototipação de Software Engenharia de Software 2o. Semestre de 2005

Leia mais

4o ENCONTRO DE USUÁRIOS DE BI

4o ENCONTRO DE USUÁRIOS DE BI 4o ENCONTRO DE USUÁRIOS DE BI Contextualizando Para o quarto Encontro de Usuários de Bi o tema escolhido foi sobre os mo8vos que levam projetos de BI a serem tão longos e o que poderia ser feito para torná-

Leia mais

Executive Business Process Management

Executive Business Process Management Executive Business Process Management Executive Business Consulting 1 Executive Business Process Management (EBPM) O aumento da competitividade das organizações passa pela melhoria dos processos, principalmente

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

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3 Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3 Modelos de Processo de Software O Modelo Sequencial Linear Aula passada também chamado Modelo Cascata

Leia mais

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da 6 Conclusões No âmbito do framework teórico da Engenharia Semiótica, este trabalho faz parte de um esforço conjunto para desenvolver ferramentas epistêmicas que apóiem a reflexão do designer durante o

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

Diagrama de transição de Estados (DTE)

Diagrama de transição de Estados (DTE) Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das

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

Mapas de Rotas Tecnológicas Roadmaps Conceitos, Tipos e Etapas de Elaboração. LELIO FELLOWS FILHO 05 de julho de 2007

Mapas de Rotas Tecnológicas Roadmaps Conceitos, Tipos e Etapas de Elaboração. LELIO FELLOWS FILHO 05 de julho de 2007 Mapas de Rotas Tecnológicas Roadmaps Conceitos, Tipos e Etapas de Elaboração LELIO FELLOWS FILHO 05 de julho de 2007 ROADMAP: do quê se trata Os mapas tecnológicos ou technology roadmaps fazem parte das

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Carga Horária :144h (07/04 a 05/09/2014) 1. JUSTIFICATIVA: 2. OBJETIVO(S):

Carga Horária :144h (07/04 a 05/09/2014) 1. JUSTIFICATIVA: 2. OBJETIVO(S): Carga Horária :144h (07/04 a 05/09/2014) 1. JUSTIFICATIVA: Nos últimos anos, o cenário econômico mundial vem mudando significativamente em decorrência dos avanços tecnológicos, da globalização, das mega

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Gerenciamento de software como ativo de automação industrial

Gerenciamento de software como ativo de automação industrial Gerenciamento de software como ativo de automação industrial INTRODUÇÃO Quando falamos em gerenciamento de ativos na área de automação industrial, fica evidente a intenção de cuidar e manter bens materiais

Leia mais