Gerenciando Variabilidade e Reusabilidade em Linhas de Produto de Software
|
|
- Yago Lameira Alves
- 8 Há anos
- Visualizações:
Transcrição
1 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, PE, Brasil Improvess Olinda, PE, Brasil {lcadb, cmor}@cin.ufpe.br Gleibson Oliveira, Lúcio Santos Centro de Informática (CIn) Universidade Federal de Pernambuco Recife, PE, Brasil Improvess Olinda, PE, Brasil {grso, ljfs}@cin.ufpe.br Abstract One of the biggest challenges in software companies is to identify and track changes in deployed solutions among its customers; applications originally similar but that have been customized or extended to serve more specific purposes. Maintenance on a system impacts, potentially, other customers, making an arduous task to manage the process variability without a process-guide, with explicitly roles, activities and artifacts. Recent advances in Software Engineering advocate, on the other hand, the use of engineering driven by models for Software Product Lines, where the management of variability is more intense. This paper presents, therefore, a process that combines the best of both worlds, development driven by models, covering management of variability, thus increasing productivity and reusability of artifacts within a software factory. Index Terms Variability Management, Process, Reuse, Software Product Line. I. INTRODUÇÃO Uma das experiências mais recentes em fábricas de software para acelerar a entrega de produtos/serviços ao mercado, sem impactar os recursos financeiros e humanos é remover do programador o trabalho de construir from the scracth a solução final. Neste novo contexto, ao invés de códigos, os modelos passam a ser os artefatos primários. Basicamente, estes modelos são abstrações em alto nível do domínio do problema a ser resolvido, independente de qualquer plataforma/linguagem de programação, os quais, por intermédio de sucessivas transformações automáticas ou manuais, são refinados até produzir o código final da aplicação. Este novo contexto centrado em modelos, todavia, ainda está longe de atingir a maturidade, devido à falta de ferramentas ou mesmo pelo uso inadequado destes modelos (apenas como documentação contemplativa)[1]. Linhas de Produto de Software (em inglês, Software Product Line-SPL) - conjunto de sistemas de software que satisfaz as necessidades de uma determinada parte do mercado [2] - é uma estratégia de desenvolvimento comumente aplicada para uma ampla gama de produtos. SPL incorpora reusabilidade dentro de uma família de produtos similares. Em contrapartida, Modelos de Domínio (em inglês, Domain Specific Modeling-DSM) é uma ramificação da Engenharia dirigida por modelos, onde são fabricados modelos utilizando uma linguagem de cunho específico, muitas vezes definida pelo próprio programador [3]. Mesmo havendo um conjunto de boas práticas reunindo os dois mundos (SPL + DSM) [4], existe a carência de um processo genérico, que sirva como um guia de atividades bem estruturadas a serem aplicadas sistematicamente, com os seus respectivos papéis, etapas e artefatos gerados. Este trabalho, portanto, apresenta o processo REUSE, fundamentado em um contexto de desenvolvimento baseado em modelos e que contenpla atividades críticas dentro de uma fábrica de produtos de software, como a gerência de variabilidade. O restante do artigo está organizado da seguinte forma. Nas seções 2 e 3, discutimos brevemente todo o arcabouço teórico que fundamenta esta pesquisa. Alguns trabalhos semelhantes são discutidos na seção 4. A seção 5 descreve o processo, utilizando a notação BPMN. Em seguida, na seção 6, nós consideramos um breve estudo de caso e, finalmente, conclusões e perspectivas para trabalhos futuros são discutidas na seção 7. II. DESENVOLVIMENTO DIRIGIDO POR MODELOS E MODELOS DE DOMÍNIO Desenvolvimento dirigido por modelos (em inglês, Model Driven Development-MDD) é um paradigma de desenvolvimento onde os modelos (gráficos ou textuais) não são mais artefatos meramente informais. Enquanto aumenta 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 Volter (2006) [1], MDD introduz benefícios, tais como velocidade de desenvolvimento, qualidade de software e facilidade no gerenciamento de mudanças. Atkinson e Küuhne (2003) [5], definem a infra-estrutura de MDD como: conceitos, regras e restrições do domínio além de uma notação formal para a definição de modelos expressivos, adaptáveis, abstratos, que são facilmente exportados para outras plataformas, além de geradores de código automático inteligentes. À luz do novo contexto de desenvolvimento, DSM emerge como uma solução de duas vias: Em primeiro lugar, eleva
2 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. Em seguida, gera produtos finais em uma linguagem de programação escolhida ou outra forma a partir dessas especificações de alto nível [3]. III. ANÁLISE DE DOMÍNIO: GERÊNCIA DE VARIABILIDADE Gerência de Variabilidade representa a definição do escopo, similaridades e variabilidades entre os produtos de software de uma única família [6], [7]. Esta análise pode ser realizada a nível de componentes, arquitetura, artefatos e até mesmo, casos de teste [8]. Variabilidade pode ser definida como [...] a capacidade de um requisito de se adaptar aos usos em contextos de produtos diferentes que estão no escopo da linha de produtos [9]. Essa idéia se torna mais clara em fábricas de SPL: uma atividade corriqueira no processo de análise e desenvolvimento de soluções [6], [10]. Para a reusabilidade, é necessário analisar o quanto cada produto de uma família difere dos outros da mesma família. Esta análise contempla capacidades da aplicação, arquitetura, requisitos não-funcionais, e até mesmo aspectos tecnológicos. A partir destas semelhanças observadas, é razoável pensar em termos de um modelo abstrato, abrangente, cobrindo todas estes pontos em comum, enquanto permanece longe de qualquer plataforma de codificação. Nestas circunstâncias, Feature-Oriented Domain Analysis (FODA) [11] surge como um método para capturar as variabilidades. FODA pode ser delineado em três etapas: (i) a análise de domínio (por documentações ou aplicações existentes, requisitos, informações do domínio), (ii) extração de similaridades na criação de um modelo genérico e paramétrico, (iii) refinamento do modelo em diferentes aplicações. IV. TRABALHOS RELACIONADOS Bragança e Machado (2007) [12] argumentam que o uso do MDD com SPL traz diversas melhorias, ao avaliar o reuso intra-organizacional através da análise de variabilidade. No entanto, os autores discutem sobre a falta de uma padronização internacional quanto ao método, a experiência e as ferramentas existentes para a otimização da sinergia destas abordagens. Assim, um processo é proposto, conhecido como 4SRS (Four Step Rule set). O processo contempla o estudo da variabilidade e é inteiramente baseado em UML 1. No entanto, o uso de um diagrama de atividades para descrever o processo não reflete todas as informações necessárias, tais como produtos de saída e responsabilidades. Outras obras como [13], [14] preocupam-se em definir os ganhos potenciais com a sinergia entre SPL e MDD. Estes trabalhos também destacam transformações entre modelos e geração de código, mas não se preocupam em definir uma seqüência planejada de etapas e, como e quando (em que situação) técnicas, métodos e ferramentas devem ser utilizadas 1 para alcançar a reutilização, mitigando riscos e, reduzindo custos. Outros trabalhos abordam o uso de MDD e SPL dentro do contexto de MDA (em inglês, Model Driven Architecture) 2, tais como [15] e [16]. Krahn et al. [4] definiu uma série de papéis que podem ser associados com o desenvolvimento em DSM, como desenvolvedor de linguagem, desenvolvedor de ferramentas, e o desenvolvedor da biblioteca e de produtos; além disso, o artigo define as três atividades genéricas para o desenvolvimento de uma aplicação arbritária. Um conjunto de boas práticas para o desenvolvimento de aplicações neste paradigma pode ser encontrado em [3]. De fato, essas políticas de uso e os papéis definidos em [4] serviram como pano de fundo para a criação do processo apresentado neste artigo. No entanto, o objetivo deste processo é ser simples, claro, mas completo o suficiente para que todos os participantes possam facilmente entendê-lo, ajudando a melhorar a comunicação intra-organizacional. V. PROCESSO REUSE Os processos descritos a seguir foram desenvolvidos utilizando o Business Process Model and Notation (BPMN) [17], mantida pela Object Management Group-OMG 3. Entre os principais benefícios que norteou a escolha deste sistema de notação, destacam-se, que ele é compreensível por todos os usuários de negócios, além de ser apto para processos de negócios. O processo, conhecido como REUSE, figura 1, pode ser descrito em termos de cinco macro-processos internos: (1) Análise de Domínio (2) Análise da Variabilidade, (3) Definição da Linguagem (4) construção das Ferramentas Gráficas e (5) Definição do Gerador de Código. Para cada subprocesso, produtos de trabalho são gerados e estes artefatos serão tomados como entrada para as fases subsequentes.nas subseções que seguem, cada sub-processo será detalhado. Pela dimensão do artigo, as figuras foram ajustadas para não prejudicar a legibilidade. A. Papéis Fig. 1. Processo REUSE Os seguintes papéis foram identificados: Analista de Domínio - Especialista para compreender regras de negócio envolvidas na solução; Arquiteto da Linguagem - Desenvolvedor com conhecimento em (meta)modelagem que irá gerenciar o projeto da linguagem para representar o domínio; Desenvolvedor de Componentes - Capaz de encapsular comportamento
3 comum entre os trechos do gerador de código; Desenvolvedor da Ferramenta - Desenvolve ferramentas que aumentam a produtividade do usuário final no uso da linguagem; Desenvolvedor do Gerador - Cria o gerador de código. B. Sub-processos Análise de Domínio: Neste processo, o Analista de Domínio é o responsável pelo conjunto das atividades listadas abaixo. Nesta fase (Figura 2), temos: Entrada Um documento que descreve os requisitos da família da aplicação-alvo (Especificação de Requisitos) e documentação de todos os produtos a serem gerados. Atividades 1. Listar Entidades: Levantamento das entidades do domínio da família dos produtos. Essas entidades são os elementos básicos das regras de negócio que a aplicação representa. 2. Listar Relacionamentos das Entidades: Definir as relações entre entidades do domínio e seu comportamento lógico. As dependências são mapeadas e as entidades são classificadas em forte ou fraca. 3. Analisar Documentação de Componentes de Software da mesma SPL: Analisar a documentação de qualquer produto de software que pertenca a mesma linha de produção. Esta análise permite uma visão superficial da complexidade do cenário. Produtos de Trabalho Documento com uma análise completa do domínio. gerador de código. Essa análise também é feita ao nível da observação e documentação de software. 3. Identificar os requisitos que variam entre diferentes versões do produto: Realizar análise para identificar as necessidades que variam em diferentes versões do produto. Esta análise é realizada ao nível da funcionalidade e da observação da arquitetura e do código fonte. 4. Identificação das variações de restrições em relação ao conhecimento de domínio: Identificar restrições que existem entre a família de produtos de software. Estas restrições serão mapeadas (em actividades posteriores) nos elementos do domínio da linguagem. Inicialmente restrições podem estar em conformidade com o fator da variabilidade (onde o mesmo recurso está disponível com diferentes comportamentos) ou obedecer o fator de inclusão/exclusão (onde o recurso está presente ou não no produto final). Produtos de Trabalho Relatório contendo a análise da viabilidade e da variabilidade do cenário; Definição dos pontos de similaridade e variabilidade da SPL. Fig. 3. Subprocesso da Análise de Variabilidade Fig. 2. Subprocesso da Análise de Domínio Análise da Variabilidade: Todas as atividades deste subprocesso são da responsabilidade do Analista de Domínio (Figura 3). Entrada Mesmos documentos da fase anterior acrescido do Documento com a análise completa do domínio em que a DSM será utilizada. Atividades 1. Identificar os requisitos comuns dentro da linha de produtos: Atividade para identificar os elementos que se repetem em todos os membros da linha de produção de software. Esta análise é realizada a nível de observação e documentação de software. 2. Identificar os requisitos distintos dentro da linha de produtos: Atividade para identificar os elementos que variam dentro da família de produtos. Estas diferenças evidenciam pontos em que a linguagem deve oferecer flexibilidade. Esses pontos também são refletidos no Definição da Linguagem: Todas as atividades deste subprocesso são da responsabilidade do Arquiteto da Linguagem, no entanto, nas duas primeiras atividades, a experiência do Analista de Domínio é ainda valiosa (Figura 4). Entrada Modelo Caraterísticas Variáveis e Similares; Ferramentas usadas para modelar a linguagem DSL. Atividades 1. Define as entidades que estarão disponíveis: Configurar entidades de domínio que serão fornecidas pela linguagem para os usuários finais, além de quais personalizações podem ser realizada para cada entidade (em relação ao comportamento). 2. Define recursos a serem disponibilizados: Definir características ou comportamentos que serão fornecidas pela linguagem para usuários finais e personalizações que podem ser realizadas em cada um. 3. Configuração de restrições da linguagem em relação ao conhecimento de domínio: Definir como os pontos de variabilidade serão apresentados para possíveis alterações na construção de produtos finais de software. 4. Implementar a linguagem usando um metamodelo: Construção do metamodelo da linguagem. Este define a estrutura de linguagem que é utilizada para determinar
4 o comportamento no campo analisado. Produtos de Trabalho Metamodelo da linguagem que expressará o domínio investigado nas últimas etapas. Fig. 5. Subprocesso de Construção da Ferramenta Fig. 4. Subprocesso da definição da linguagem Construção da ferramenta gráfica: Neste quarto passo, o desenvolvedor da ferramenta tem a responsabilidade do subprocesso (Figura 5). Entrada Metamodelo da Linguagem. Atividades 1. Criação do templates do Gerador: Modelo responsável por gerar o código base de plug-ins (edit, editor e testes). 2. Criar Modelo Gráfico: O modelo gráfico contém links para as imagens que farão parte do modelo do usuário final. Este modelo se baseia na definição destas imagens e com a personalização das relações entre as entidades mapeadas no início do projeto. 3. Criação do Modelo de Mapeamento: Este é responsável por implementar a ligação entre o modelo gráfico e do modelo da paleta (o modelo responsável pela gestão/organização da paleta para o usuário final). Neste modelo, é possível especificar quais os elementos da paleta o usuário final terá acesso. Portanto, o metamodelo deve identificar todas as possibilidades e o modelo de mapeamento deve restringir quais as possibilidades que estarão disponíveis para o usuário final. 4. Personalizar o código do plu-in gráfico gerado: Depois de definir todos os modelos e gerar o código do plug gráfico, nós modificamos trechos do código, a fim de melhorar a aparência da ferramenta. As mensagens para o usuário (dicas de ferramenta e mensagens de alerta sobre inconsistências/incoerências) são definidas nesta etapa. Produtos de Trabalho Plug in que representa a ferramenta DSM em produção. Definição do Gerador de Código: As três atividades descritas a seguir são realizadas pelo desenvolvedor do gerador (Figura 6). Entrada Metamodelo da Linguagem. Atividades 1. Definir a granularidade do gerador de código: Definir o nível de abstração do gerador de código. Nesta atividade, a separação entre o código comum e do domínio da aplicação é realizada, por exemplo, formulários para aplicações web, o código específico que contém regras de negócio. O código comum é agrupados em templates que facilitam a reutilização de partes do gerador em outros projetos. Como o gerador de código é também um software, sua arquitetura é passível de estruturação e análise de reutilização. Nesta fase, as inspecções serão realizadas em aplicação da família de produtos para capturar a estrutura do código. Esta estrutura deve ser antecipado pelo gerador, determinando a distribuição do código entre os templates. 2. Implementação dos templates: estes modelam a arquitetura da solução e padronizam o código gerado. A organização torna a estrutura do gerador mais próxima da aplicação, tornando a manutenção mais fácil. Os templates também são agrupados de acordo com a natureza do código gerado, comum ou específico da aplicação. Nesta atividade, a análise é indispensável para a geração de templates mais genéricos para facilitar a manutenção evolutiva. Estes templates genéricos podem ser utilizados para melhorar a estrutura do design do gerador, bem como para incluir recursos genéricos que podem ser ampliados com a adição de novos templates.3. Teste do gerador: nesta atividade, alguns aplicativos são criados e amostras do código são inspecionados para analisar o comportamento final. A variabilidade da solução é testada com a geração de muitos exemplos, analisando a presença ou ausência de certos requisitos. Estes testes endorssam o metamodelo criad, além de testar a exatidão e a completude do gerador de código. Produtos de Trabalho Templates de geração de código responsáveis pela geração do código comportamental final; Aplicação gerada e pronta para a avaliação final. Além dos papéis apresentados ao longo desta seção, os outros são incorporados no processo tradicional de desenvolvimento de software. É oportuno esclarecer que há uma dependência natural entre a linguagem e o gerador de código. Este último pode tornar-se excessivamente complexo se toda a codificação necessária ficar sob sua responsabilidade. Para minimizar este problema, pode-se configurar, manter e reutilizar componentes que podem ser integrados de forma a tornálo mais viável. Assim, para trabalhos futuros, sugerimos um novo subprocesso opcional que cria e reutiliza componentes utilizados pelos aplicativo.
5 Fig. 6. Subprocesso do Gerador de Código VI. ESTUDO DE CASO Um projeto piloto foi realizado para avaliar o desenvolvimento de uma solução utilizando o processo REUSE: um software para estoque e gestão financeira. A gestão de estoques é um sistema de atividades logísticas com um plano estratégico com foco no processo de produção. Isto envolve uma série de entidades, desde o estoque de materiais, transporte, bem como o controle completo sobre logística e quando (segurança), quanto, onde (fornecedores) e como comprar os produtos, mantendo o saldo do estoque em perfeito equilíbrio. Já um sistema financeiro inclui clientes, fornecedores, centro de custo, taxas associadas, transferência de contas, contas a pagar e a receber, reembolso e de período de competência, além das demais regras de negócio (omitidas por questão de espaço). O projeto foi desenvolvido em inglês, por isso, as figuras estão todas na língua inglesa. Fig. 7. Visão Parcial do Metamodelo Após a análise do domínio, um documento com as prováveis entidades e relacionamentos foi criado. Este documento serviu como um argumento para gerar o modelo FODA. O modelo foi criado pelo Plug in Eclipse Compositional Variability Management 4. A Análise da variabilidade foi feita em dois níveis. No nível macro, ou seja, entre os sistemas, podendo haver quatro combinações possíveis: Sistema Gestão de Estoque para Prefeituras; Sistema de Gerenciamento de Estoque para Micro e Médias Empresas; Sistema Financeiro; Sistema de Gerenciamento de Estoque para Micro e Médias Empresas acoplado ao Sistema Financeiro. Não é possível acoplar o sistema financeiro e o sistema de estoque para prefeituras, por incompatibilidades funcionais. No nível micro, isto é, variabilidade à nível de presença/ausência de entidades, os seguintes resultados foram alcançados: para o sistema de estoque foram identificadas 5, 4, 5 e 20 entidades obrigatórias, opcionais, alternativas e número de relacionamentos, respectivamente; para o sistema financeiro, obtivemos 9, 2, 2 e 28, respectivamente. Para desenvolver o metamodelo (Definição da Linguagem), foi utilizado o Eclipse Modeling Framework Project [18]. Uma parte do metamodelo de estoque é ilustrado na figura 7. Por razões de espaço, o metamodelo para o sistema financeiro foi omitido. A definição da (Ferramenta gráfica) foi feita através do Eclipse Graphical Editing Framework (GEF) 5, onde foi criada uma paleta com quatro seções bem definidas: uma lista os sistemas disponíveis, outra os elementos do domínio do estoque, a terceira os elementos do domínio financeiro, e uma quarta seção com os elementos comuns entre os sistemas. Além disso, o modelo gráfico foi criado para representar as entidades mapeadas para cada elemento do domínio de aplicação. Tomemos, por exemplo, a entidade Product na Figura 8: não é nada mais do que uma imagem cuja semântica está vinculada à classe Product no metamodelo. Esta figura representa um exemplo de uma DSM, com as seguintes entidades: Product, Output, Group, Family of Products e Release. Pelo espaço limitado deste artigo, a paleta do sistema foi omitida (do financeiro inclusive). Na última etapa, o o gerador de código foi construído utilizando o código fonte da aplicação original. Não foram feitas melhorias como refatoração dos modelos para gerar código-fonte de qualidade superior ao sistema original. Assim, verificou-se que a estrutura e o comportamento do sistema gerado permaneceu idênticos ao do sistema original. O tempo gasto para criar o gerador de código foi superior as outras atividades. Como resultados preliminares, foi utilizado o teste de regressão [19]. O comportamento gerado pelo sistema de estoque permaneceu o mesmo quando comparado com a aplicação original. Além disso, a análise estática de código [20] para identificar os acoplamentos e a presença de ciclos indicou que a estrutura do do código-fonte gerado é praticamente mantido em relação ao original, como pode ser observado na figura 9. O Gráfico, no eixo horizontal, está dividido em quatro partes: total de classes, classes abstratas, concretas e acoplamento aferentes (afferent coupling). O eixo vertical
6 Fig. 9. Fig. 8. Exemplo DSM Análise Estática do Código do Sistema de Estoque mostra a medição por packages da aplicação (7 no total). O mesmo coportamento foi mantido para o sistma financeiro. VII. CONCLUSÃO O processo REUSE aqui discutido se destina a ser suficientemente amplo para ser adequado para qualquer plataforma de desenvolvimento. Espera-se que o próprio processo facilite a reutilização mesmo entre diferentes aplicações e plataformas. Além disso, em vez de um conjunto disperso de práticas e sem estrutura, foi definido um framework de atividades sincronizadas com os respectivos papéis dos responsáveis e produtos de trabalho, mostrando como cada atividade está em estrita conformidade com as passadas e futuras, tornando-se bastante consistente. No entanto, argumentamos que ainda há muito trabalho a ser feito. Há um projeto em andamento para ampliar o processo com componentes pré-fabricados. Além disso, pretendemos desenvolver um estudo de caso em novas aplicações para analisar quantitativamente os benefícios do uso do processo em termos de manutenção, custo, produtividade e qualidade de software. REFERENCES [1] T. Stahl and M. Völter, Model-Driven Software Development: Technology, Engineering, Management. Chichester, UK: Wiley, [2] C. M. U. Software Engineering Institute, Software product lines, Jun [3] S. Kelly and J.-P. Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Pr, March [Online]. Available: [4] H. Krahn, B. Rumpe, and S. Volkel, Roles in software development using domain specific modelling languages, in In Proceedings of the 6th OOPSLA Workshop on Domain-Specific Modeling 2006, 2006, pp [5] C. Atkinson and T. Kuhne, Model-driven development: a metamodeling foundation, Software, IEEE, vol. 20, no. 5, pp , [Online]. Available: [6] T. Myllymäki, Variability management in software product-lines, Institute of Software Systems, Tampere University of Technology, Tech. Rep., December 2001, technical report 30. [7] D. H. James Coplien and D. Weiss, Commonality and variability in software engineering, Software, IEEE, vol. 15, no. 6, pp , November [Online]. Available: [8] M. A. B. Lianping Chen and N. Ali, Variability management in software product lines: a systematic review, in SPLC 09: Proceedings of the 13th International Software Product Line Conference. Pittsburgh, PA, USA: Carnegie Mellon University, 2009, pp [9] F. Bachmann and P. C. Clements, Variability in software product lines, Tech. Rep. September, [10] J. Estublier and G. Vega, Reuse and variability in large software applications, in ESEC/FSE-13: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering. New York, NY, USA: ACM, 2005, pp [11] J. A. H. W. E. N. Kyo C. Kang, Sholom G. Cohen and A. S. Peterson, Feature-Oriented Domain Analysis (FODA) Feasibility Study, [12] A. Braganca and R. J. Machado, Model driven development of software product lines, in QUATIC 07: Proceedings of the 6th International Conference on Quality of Information and Communications Technology. Washington, DC, USA: IEEE Computer Society, 2007, pp [13] K. Czarnecki, M. Antkiewicz, C. H. P. Kim, S. Lau, and K. Pietroszek, Model-driven software product lines, in OOPSLA 05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. New York, NY, USA: ACM, 2005, pp [14] G. Rushton and R. Baillargeon, Model-driven product line software development process, General Motors Corp., Tech. Rep., [15] K. Garces, C. Parra, H. Arboleda, A. Yie, and R. Casallas, Variability management in a model-driven software product line, Avances en Sistemas e Informática, vol. 4, no. 2, pp. 3 12, [16] I. Schaefer, Variability modelling for model-driven development of software product lines, in VaMoS, ser. ICB-Research Report, vol. 37. Universität Duisburg-Essen, 2010, pp [17] O. M. Group, Business process modeling notation (bpmn) version 2.0, Tech. Rep., June [Online]. Available: [18] M. P. Dave Steinberg, Frank Budinsky and E. Merks, EMF: Eclipse Modeling Framework (2nd Edition) (Eclipse), 2nd ed. Addison-Wesley Longman, Amsterdam, January [Online]. Available: [19] G. J. Myers and C. Sandler, The Art of Software Testing. John Wiley & Sons, [20] N. Ayewah, D. Hovemeyer, J. D. Morgenthaler, J. Penix, and W. Pugh, Using static analysis to find bugs, IEEE Software, vol. 25, pp , 2008.
Solução DSM para Micro e Pequenas Software House
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
Leia maisUma 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 maisUML - 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 maisTable 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 maisENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
Leia maisRequisitos de Software
Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,
Leia maisGUIA 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 maisFeature-Driven Development
FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por
Leia maisCiência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software
Ciência da Computação ENGENHARIA DE SOFTWARE Análise dos Requisitos de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução Tipos de requisitos Atividades Princípios da
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maisProfessor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br BPMN
Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br BPMN Benefícios da modelagem Em uma organização orientada a processos, modelos de processos são o principal meio para medir o desempenho
Leia maisEngenharia 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 maisPRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)
RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,
Leia maisV Workshop Anual do MPS - WAMPS 2009 Estudo de Viabilidade de Domínio para Avaliar o Potencial da Organização Quanto à Implementação do Processo Desenvolvimento para Reutilização do MR-MPS MPS Mylene Lisbôa
Leia maisEngenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr
Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia
Leia maisBPMN Business Process Modeling Notation
BPMN Business Process Modeling Notation Business Process Modeling Notation Página 1 Objetivo O objetivo deste curso é apresentar os elementos da notação de modelagem de processos de negócio BPMN 1.1 (Business
Leia mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Leia maisResumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0
O que é BABok? O BABok 2.0, Corpo de Conhecimento de Análise de Negócios, é considerado como um Guia Referência de Práticas de Análise de Negócio. Este guia é publicado e mantido pelo IIBA. O guia BABok
Leia mais2 Engenharia de Software
20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite
Leia maisARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.
ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página
Leia maisEngenharia de Software
Engenharia de Requisitos Cap. 06 e 07 Sommerville 8 ed. REQUISITOS DE SOFTWARE» Requisitos são descrições de serviços fornecidos pelo sistema e suas restrições operacionais. REQUISITOS DE USUÁRIOS: São
Leia maisInstituto 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 maisVISUAL 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 maisUniversidade 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 maisTransformaçã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 maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisbuild UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.
UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas
Leia maisSistemas 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 maisDIMENSIONANDO 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 maisMODELO 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 maisGerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto
Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento
Leia maisDocumento de Requisitos
Documento de Requisitos Projeto: Data 26/05/2005 Responsável Autor (s) Doc ID Localização Versão do Template Márcia Jacyntha Nunes Rodrigues Lucena Silvia Cássia Pereira Márcia Jacyntha Nunes Rodrigues
Leia maisA 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 maisRequisitos de Ferramentas Especializadas de Gestão de Configuração de Software
Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Ricardo Terra 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Campus da Pampulha 31.270-010
Leia maisBPMN (Business Process. George Valença gavs@cin.ufpe.br
BPMN (Business Process Modeling Notation) George Valença gavs@cin.ufpe.br 31/10/2012 Introdução Modelagem de processos No ciclo de vida BPM, a etapa de modelagem de processos consiste em um conjunto de
Leia maisO Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no
1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified
Leia maisTópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.
Métodos Ágeis Edes Garcia da Costa Filho edes_filho@dc.ufscar.br 1 Tópicos Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Extreme Programming (XP). Referências Bibliográficas. 2 Histórico
Leia maisAUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0
AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento
Leia maisISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO 9000. As Normas da família ISO 9000
ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário Gestão da Qualidade 2005 1 As Normas da família ISO 9000 ISO 9000 descreve os fundamentos de sistemas de gestão da qualidade e especifica
Leia maisTópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619
Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o
Leia maisDesenvolvimento de software orientado a características e dirigido por modelos
Desenvolvimento de software orientado a características e dirigido por modelos Universidade Federal de Uberlândia Rodrigo Reis Pereira Prof. Dr. Marcelo Almeida Maia Agenda Motivação Introdução Modelagem
Leia maisRoteiro 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 maisIntrodução à Computação
Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os
Leia maisMetodologia e Gerenciamento do Projeto na Fábrica de Software v.2
.:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento
Leia maisCurso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP
Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela
Leia maisGARANTIA DA QUALIDADE DE SOFTWARE
GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características
Leia maisEngenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.
Leia maisEngenharia 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 maisModelos 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 maisFase 1: Engenharia de Produto
Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia mais02/10/2012. Padronização de interfaces. Referências
Referências Engenharia de Usabilidade Prof.: Clarindo Isaías Pereira da Silva e Pádua Contribuição: Cláudio Márcio de Souza Vicente Gestus Hix, D.; Hartson, H. R. Developing User Interfaces: ensuring usability
Leia maisDisciplina: GESTÃO DE PROCESSOS E QUALIDADE Prof. Afonso Celso M. Madeira
Disciplina: GESTÃO DE PROCESSOS E QUALIDADE Prof. Afonso Celso M. Madeira 3º semestre CONCEITOS CONCEITOS Atividade Ação executada que tem por finalidade dar suporte aos objetivos da organização. Correspondem
Leia maisEngenharia 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 maisO que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?
O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação
Leia mais! 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 mais3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Leia maisPROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL Um processo é um conjunto de passos parcialmente ordenados, constituídos por atividades, métodos, práticas e transformações,
Leia maisDiagrama 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 maisGovernanç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 maisModernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br
Modernização e Evolução do Acervo de Software Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br Tópicos 1. Estudo Amplo sobre Modernização 2. Visão IBM Enterprise Modernization 3. Discussão - Aplicação
Leia maisUsando RDL para Derivação de Produtos em uma Linha de Produtos de Software
Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Juliano Dantas Santos Universidade Federal do Rio de Janeiro COPPE - Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa
Leia maisIntrodução à Engenharia de Software
Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia
Leia maisUNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas
UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar
Leia maisUnidade II MODELAGEM DE PROCESSOS
Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que
Leia maisEngenharia de Software
Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo
Leia maisIntroduçã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 maisPrincí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 maisW Projeto. Gerenciamento. Construindo a WBS e gerando o Cronograma. Autor: Antonio Augusto Camargos, PMP 1/12
W Projeto BS Construindo a WBS e gerando o Cronograma. Gerenciamento Autor: Antonio Augusto Camargos, PMP 1/12 Índice Remissivo Resumo...3 1. Introdução...3 2. Conceituando a WBS (Work Breakdown Structure/Estrutura
Leia maisAgenda 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 maisGestão dos Níveis de Serviço
A Gestão dos Níveis de Serviço (SLM) Os sistemas e tecnologias de informação e comunicação têm nas empresas um papel cada vez mais importante evoluindo, hoje em dia, para níveis mais elevados de funcionamento
Leia maisUm 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 maisDocumento de Arquitetura
Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento
Leia maisEngenharia 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 maisProva de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES
Implementação MPS.BR 26 de maio de 2008 4 horas de duração e-mail: (DEIXAR EM BRANCO) RESULTADO: Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Nota INSTRUÇÕES Para a maioria das questões você tem mais de uma opção e
Leia maisÀREA DE DESENVOLVIMENTO
ÀREA DE DESENVOLVIMENTO Sumário O que é o Cardio? O que é o Telos? Ambiente de Desenvolvimento Ambiente Visual Studio Team System Projeto de Refatoração O que é Cardio? Tamanho atual do aplicativo: ü Arquivos.cs
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisProjeto de Sistemas I
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o
Leia maisPrograma do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)
Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Apresentação O programa de Pós-graduação Lato Sensu em Engenharia de Software Orientada a Serviços
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Introdução à Arquitetura de Software (continuação)
Leia maisPDS - 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 maisUm Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e
JEANE MENDES DA SILVA SANTOS Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e Plano de Trabalho de Conclusão de Curso apresentado à Universidade Federal de
Leia maisTRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES
TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado
Leia maisFundamentos em Teste de Software. Vinicius V. Pessoni viniciuspessoni@gmail.com
Fundamentos em Teste de Software Vinicius V. Pessoni viniciuspessoni@gmail.com Objetivos do treinamento 1. Expor os fundamentos de Teste de Software; 2. Conceituar os Níveis de Teste; 3. Detalhar sobre
Leia maisGerenciamento de Problemas
Gerenciamento de Problemas O processo de Gerenciamento de Problemas se concentra em encontrar os erros conhecidos da infra-estrutura de TI. Tudo que é realizado neste processo está voltado a: Encontrar
Leia maisPlanejamento da disciplina: Modelagem de processos de negócio
UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira
Leia maisCapí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 maisModelo 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 maisRequisitos de Software. Teresa Maciel DEINFO/UFRPE
Requisitos de Software Teresa Maciel DEINFO/UFRPE 1 Requisito de Software Características que o produto de software deverá apresentar para atender às necessidades e expectativas do cliente. 2 Requisito
Leia maisWilson Moraes Góes. Novatec
Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia maisFACULDADE 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 maisMODELAGEM 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 maisNotas de Aula 02: Processos de Desenvolvimento de Software
Notas de Aula 02: Processos de Desenvolvimento de Software Objetivos da aula: Introduzir os conceitos de um processo de desenvolvimento de software Definir os processos básicos Apresentar as vantagens
Leia maisOdyssey-MDA: Uma Ferramenta para Transformações de Modelos UML
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511
Leia maisProcessos de Desenvolvimento de Software
Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e
Leia mais