GERENCIAMENTO DE CONFIGURAÇÕES EM DESENVOLVIMENTO DISTRIBUÍDO DE SOFTWARE

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

Download "GERENCIAMENTO DE CONFIGURAÇÕES EM DESENVOLVIMENTO DISTRIBUÍDO DE SOFTWARE"

Transcrição

1 GERENCIAMENTO DE CONFIGURAÇÕES EM DESENVOLVIMENTO DISTRIBUÍDO DE SOFTWARE Henrique Dalavale Fabretti[Voluntário] 1, Alexandre L Erario [orientador] 2 1 COENC, Coordenação de Engenharia de Computação 2 COADS, Coordenação de Análise e Desenvolvimento de Sistemas Campus Cornélio Procópio Universidade Tecnológica Federal do Paraná - UTFPR Avenida Alberto Carazzai, Cornélio Procópio Henrique.fabretti@gmail.com, alerario@utfpr.edu.br Resumo - Este artigo apresenta um estudo sobre o gerenciamento de configurações em ambientes de Desenvolvimento Distribuído de Software. Este identifica que o GC em ambientes de DDS tem sua complexidade expandida em função da distância entre as equipes de desenvolvimento. Além disso, os sistemas de controle de versões precisam de funcionalidades adicionais relacionadas à capacidade de gerenciar múltiplos servidores de versões e a sincronização entre estes. Palavras-chave: Gerenciamento de Configuração; Desenvolvimento Distribuído de Software. Abstract - This paper presents a study on the configuration management environments in Distributed Software Development. This identifies that the CM in DDS environments has expanded its complexity depending on the distance between the development teams. In addition, version control systems need additional features related to the ability to manage multiple servers and synchronization between these versions. Keywords: Configuration Management; Distributed Software Development. INTRODUÇÃO Gerenciamento de Configuração. Gerenciamento de Configuração (GC) segundo [11] é o conjunto de desenvolvimento e aplicação de padrões e procedimentos para controlar um produto que está em desenvolvimento. O GC é necessário, pois todo produto, durante seu projeto, está sujeito à alterações (mudanças, correções ou adaptações), e a cada vez que este produto é incrementado, é necessário manter um controle do que é alterado ou incluído. CG na prática define como registrar e processar as mudanças, como relacioná-las aos componentes do sistema e métodos para identificar diferentes versões do software. O ponto de partida para o desenvolvimento do plano deve ser um conjunto de padrões de configuração, que devem ser adaptados para se atender aos requisitos e às restrições de cada projeto especifico. Deve ser organizado em um número de seções que: Define o que será gerenciado e o esquema para identificar as entidades; Estabelece quem é responsável pelos procedimentos de GC e submissão de itens controlados para a equipe de GC; Define os padrões de GC que todos os membros devem adotar para o controle de mudanças e gerenciamento de versões; Especifica as ferramentas que se deve usar para o GC e os

2 processos para uso destas; Descreve a estrutura do banco de dados de configuração usada onde serão armazenadas as informações de configurações. Gerentes de versões idealizam procedimentos para assegurar que as versões de um sistema possam ser recuperadas quando solicitadas e não sejam alteradas acidentalmente pela equipe de desenvolvimento. Para um produto (nosso caso, DDS), os gerentes de versões trabalham com a equipe de marketing (caso for um software privado). Uma versão de um sistema é uma instância de um sistema que difere, de alguma maneira, de outras instâncias. Versões de um sistema podem ter funcionalidades distintas, desempenhos aprimorados ou defeitos de software reparados. Algumas versões podem ser funcionalmente equivalentes, mas projetadas para diferentes configurações de hardware e software. Versões com somente pequenas diferenças são algumas vezes chamadas de variantes. Um release do sistema é uma versão distribuída aos clientes. Cada release deve incorporar novas funcionalidades ou ser planejado para uma plataforma diferente de hardware. Para criar uma versão específica de um sistema, é preciso especificar as versões dos componentes de sistema que devem ser incluídas nele. Há três técnicas básicas usadas para identificação da versão de componente: Numeração de versões, onde componente recebe um número explicito e único da versão. Isso é o mais comumente usado; Identificação baseada em atributos, onde cada componente tem um nome e um grupo de atributos associados para cada versão. Os componentes são identificados pela especificação de seus nomes e valores de atributos; Identificação orientada a mudanças, onde cada componente é nomeado, e também associado com uma ou mais solicitações de mudanças. Considera-se que cada versão de componente foi criada em resposta a uma ou mais solicitações de mudanças. A versão de componente é identificada pelo conjunto de solicitações de mudanças que se aplicam ao componente. Um número de versão é adicionado ao componente ou ao nome do sistema. Se a primeira versão for chamada de 1.0, as versões subsequentes serão 1.1, 1.2 e assim por diante. Em algum estágio, um novo release é criado (versão 2.0), e o processo inicia-se novamente da versão 2.1. Isso ocorre linearmente, baseado no conceito de que as versões do sistema são criadas em sequência. Um problema fundamental com os esquemas explícitos de nomeação de versões é que eles não refletem os diversos atributos que podem ser usados para identificar as versões. Exemplos desses atributos de identificação são: Cliente; Linguagem de desenvolvimento; Status de desenvolvimento; Plataforma de hardware; Data de criação. Se cada versão é identificada por um único conjunto de atributos, é fácil adicionar novas versões derivadas de algumas das versões existentes. Elas são identificadas usando um conjunto único de valores. Exemplo: CFinanceiro (I.Cliente = Luiz Antonio, II. linguagem = Java, III. Status = Final, IV. plataforma = Windows Seven, V. data = Dez2011) Para recuperar uma versão, é preciso conhecer seus atributos associados e usar um sistema de gerenciamento de mudanças separado para descobrir os relacionamentos entre versões e alterações. A identificação orientada a mudanças é usada para identificar versões de sistema em vez de componentes. Cada mudança de sistema que tenha sido implementada tem um conjunto de mudanças associadas que descreve as mudanças solicitadas realizadas em diferentes componentes do sistema. Um release de um sistema é uma versão do sistema distribuído para os clientes, onde os gerentes de releases de sistemas são responsáveis por decidir quando um sistema pode ser liberado para os clientes, gerenciar o processo de criação do release e de meios de distribuição

3 e documentar o release para assegurar que ele pode ser recriado exatamente como foi distribuído, se for necessário. A preparação e distribuição de um release de sistema é um processo dispendioso, particularmente para produtos de software voltados para um grande mercado. Se os releases forem muito frequentes, os clientes poderão deixar de atualizar os antigos releases. Se os releases não forem frequentes, poderá haver perda de participação no mercado, à medida que os clientes migram para sistemas alternativos. A criação de releases é um processo de criação de arquivos e documentos que inclui todos os componentes do release do sistema. O código executável de programas e todos os arquivos de dados associados devem ser coletados e identificados. As descrições de configuração podem ter que ser escritas para hardwares diferentes e para instruções e sistemas operacionais preparados para clientes que necessitem configurar os próprios sistemas. Finalmente, quando todas as informações estiverem disponíveis, o diretório do release é manipulado para distribuição. Desenvolvimento Distribuído de Software. Numa era globalizada, onde organizações com filiais em diversos países buscam incansavelmente o lucro, que é resultante de baixos custos e tempo de produção, a ideia de se produzir software a um nível global tornou-se plausível, senão necessária. Segundo [3], não existem dúvidas para qualquer profissional que trabalha na área de engenharia de software que tanto o desenvolvimento de software tradicional quanto o distribuído possuem diversas dificuldades. As principais características que os diferenciam são: dispersão geográfica (distância física); dispersão temporal (diferenças de fuso-horário); e diferenças culturais (idioma, tradições, costumes, normas e comportamento). Na prática o desenvolvimento distribuído de software (DDS) ocorre quando grupos cooperam e/ou colaboram para desenvolver partes ou um todo de um software. A principal motivação do DDS, entre outras, conforme citado por [5], é a redução de tempo e custo de produção de software, que são compatíveis com a nossa realidade atual (era globalizada). Porém, existem algumas variáveis que podem comprometer a interação e consequentemente o tempo de respostas entre os nós (os grupos que trabalham juntos), que são justamente as citadas por [3]. Muitas vezes o DDS acontece mesmo sem que os grupos envolvidos conheçam as suas características, mas em prática o executam. Existem casos que o DDS é empregado para que poucos tenham acesso à todo o software (evitando fraudes), ou seja, vários grupos desenvolvem parte do software, então cada um só tem acesso àquilo que desenvolveu. [8] em sua pesquisa concluiu que o DDS se caracteriza pelos seguintes critérios: Distancia física dos autores; Distribuição da equipe de desenvolvimento; Terceirização do desenvolvimento; Diferenças culturais; Tamanho do projeto; A distribuição geográfica, que engloba a distancia física dos autores e a distribuição da equipe de desenvolvimento, ocorre de duas formas: Offshore, ou seja, em um país diferente da matriz da empresa contratante e do cliente. Segundo [5], o objetivo da prática de offshore é aumentar a produtividade, reduzir custos e tornar a distribuição do software mais compatível com características locais; Onshore, onde estão localizados no mesmo país a matriz da empresa e o cliente. Podem ocorrer duas situações de desenvolvimento: onsite e offsite. Na primeira situação o cliente e desenvolvedor estão fisicamente no mesmo espaço. Na segunda, não. A terceirização (normalmente citada como outsourcing) não se caracteriza especificamente como um critério de DDS. Várias empresas utilizam o conceito de outsorcing para representar uma estratégia de negócios onde uma unidade (subsidiária) da empresa localizada em outro país ou estado torna-se responsável pela atividade envolvendo o processo

4 de desenvolvimento de software. Nesse caso, o outsourcing não envolve uma terceirização tradicional, pois a unidade responsável é da própria empresa. As diferenças culturais em um ambiente de DDS surgem das diferenças culturais entre os membros das equipes e entre os locais fisicamente distantes. Entre essas diferenças podemos exemplificar o idioma e diferenças de fuso horário. O crescimento das ferramentas de CSCW (Computer Supported Cooperative Work) e da própria internet também favorece e ressalta a ideia do GSD (Global Software Development), como disseram [9] Dentre essas ferramentas podemos citar softwares de gerenciamento de versões, videoconferências (para reuniões entre os nós), e mais recentemente plataformas capazes de oferecer um ambiente de desenvolvimento de software. METODOLOGIA A metodologia utilizada a principio foi a Pesquisa Exploratória, que consiste em realizar um estudo superficial do tema a ser explorado, a fim de haver um primeiro contato com o material. Na pesquisa exploratória, caso o problema proposto não apresente aspectos que permitam a visualização dos procedimentos a serem adotados, é necessário que o pesquisador inicie um processo de sondagem, com vistas a aprimorar ideias, descobrir intuições e, mais tarde, construir hipóteses. Sendo assim, realizamos posteriormente uma pesquisa com maior compreensão e precisão. Estudamos o tema Gerenciamento de Configurações, para aperfeiçoamento de conhecimento nessa área da Engenharia de Software [11], e posteriormente sobre como encaixá-la nos ambientes de Desenvolvimento Distribuído de Software [1], [2], [4], [5], [10] e [12]. Para trabalhos futuros, utilizaremos o método de pesquisa survey, que pode ser descrita como a obtenção de dados ou informações sobre características, ações ou opiniões de determinado grupo de pessoas, indicado como representante de uma população-alvo, por meio de um instrumento de pesquisa, normalmente um questionário, tendo como estratégia de aplicação a entrevista pessoal, o envio pelo correio e outras. Na escolha da estratégia de aplicação deve-se atentar para o custo, o tempo, e também para a forma que venha a garantir uma taxa de resposta aceitável para o estudo. O ambiente de trabalho onde será realizada a pesquisa survey é a de alunos de disciplinas distintas de um mesmo curso, caracterizado como nível 1 por [6], a fim de identificar os processos de gestão de configuração utilizado pelos alunos. O questionário será composto em partes pelas questões a seguir: Qual o processo de gestão de configuração utilizado; Quais as atividades desse processo de gestão de configuração; Quais artefatos foram gerados; Qual foi a necessidade para se gerar mais de um artefato. RESULTADOS E DISCUSSÃO Gerenciamento de Configuração em Desenvolvimento Distribuído de Software. O GC ajuda a gerenciar as mudanças e os bens (artefatos) nas fronteiras geográficas de forma segura no ambiente de DDS. Muitos dos sistemas de controle de versões atuais, tais como o Subversion, Git, CVS e Mercurial se baseiam na primeira versão do software, e utilizam com pouca ênfase a ferramenta CASE (ferramentas que auxiliam atividades de engenharia de software, desde análise de requisitos e modelagem até programação e testes), sendo a maioria preocupados com questões de implementação e teste, o que ocasiona uma pouca importância com a natureza dessas implementações, que geralmente é o código fonte. Muitas ferramentas sejam de controle de versão ou de controle de mudança, que fornecem funcionalidades do GC estão disponíveis no mercado, mas estas não dão suporte

5 direto para um versionamento explícito, ou seja, um versionamento totalmente detalhado e perfeccionista, principalmente quando diz respeito ao controle de versão de projetos com um alto nível de complexidade, que ocorre na maioria dos casos de DDS. GC é uma das melhores práticas para enfrentar os desafios globais sobre os processos de desenvolvimento de software e organizações, devido a pouca interação e comunicação direta em um ambiente de DDS. Infelizmente, muitos sistemas de controle de versão atuais estão focados em documentos textuais, que limitam o detalhamento explicito da versão, visto que artefatos de software também incluem vários documentos com uma estrutura hierárquica e estão envolvidos em diversas relações com outros artefatos, e tais informações não são bem tratadas pelas ferramentas disponíveis atualmente. A Philips fez uma experiência de 10 anos com DDS, um trabalho derivado de 200 projetos. Ela encontrou alguns problemas no requisito Gerenciamento de Configurações, entre eles estão a falta de tempo para criar uma infraestrutura de GC, não havia gerentes de configurações competentes disponíveis e os procedimentos do gerenciamento de mudanças não estavam definidos, concluíram [4]. A experiência mostra que não é suficiente o tempo de preparação necessário para criar esta infraestrutura, resultando em tempo e esforços perdidos nos primeiros estágios do projeto. A elaboração e o controle dos sistemas complexos de GC necessários para o DDS exigem gerentes de configuração altamente competentes que trabalham em conjunto com os arquitetos e os integradores de forma intensiva. O nível exigido dos gerentes de configuração parece ser um recurso escasso e não está disponível em 50% dos casos, conforme [4]. Em seu trabalho, [1], dissertou que o tamanho e a complexidade dos projetos de software têm aumentado drasticamente ao passar dos anos. Ainda segundo [1], para realizar um controle de versão, as organizações geralmente obtêm um snapshot dos arquivos mestres e armazenam-no em um site principal, e através desse site repassam o arquivo para outros locais geograficamente distantes. Se forem feitas alterações em um local remoto, as versões modificadas devem ser cuidadosamente integradas de volta para os arquivos mestre no site principal. O processo é em grande parte manual e sujeito a erros, especialmente se vários sites estão fazendo mudanças para os arquivos de mesma origem. Com diversos sites sendo responsáveis por diferentes tarefas de desenvolvimento num arquivo de origem igual, pode ser difícil saber a versão mais atual da cópia mestre. Várias abordagens para coordenar o desenvolvimento distribuído de software em relação ao controle de versão são conhecidas. Uma abordagem simples envolve o fornecimento de usuários em todos locais com acesso a um repositório centralizado e compartilhado (incluindo bases de dados e armazenamento de dados de versão) através de uma rede WAN (Wide area network), que nada mais é do que uma rede de longa distância. Esta abordagem tem problemas de utilização significativas, entre elas incluem-se a vulnerabilidade a problemas de rede, devido à necessidade de acesso frequente ao repositório central, a velocidade de desempenho inaceitável devido à frequentes acessos ao repositório central com uma largura de banda WAN relativamente baixa, e problemas de escala para sistemas que possuem um grande número de utilizadores que requerem o acesso remoto a um repositório central, uma vez que a carga sobre o servidor central aumenta com o número de utilizadores na rede. Um sistema de GC que não está bem preparado tende a causar problemas como enormes transferências de dados entre os sites, que por sua vez provoca longos períodos de espera e, assim, a irritação entre os desenvolvedores, por exemplo.

6 CONCLUSÕES A gestão de configuração em ambientes de desenvolvimento distribuído de software é uma ferramenta essencial para a execução eficaz do projeto. É fato que tal área contribui nos projetos de sistemas, estando este incluso em modelos de maturidade de desenvolvimento de software. Em ambientes de desenvolvimento distribuído, a gestão de configurações torna-se mais complexa. Esta complexidade está relacionada fortemente a distribuição das equipes de desenvolvimento. Um mesmo processo de CM precisa ser especificado e difundido para todas as unidades de produção. Ainda, no caso de controle de versões, uma estrutura precisa ser definida. O modelo de controle de versões centralizado pode atender o DDS, entretanto corre-se o risco de indisponibilidades da rede. Seja qual for o motivo de indisponibilidades ataques, problemas no link, sobrecarga no servidor pode comprometer o andamento do projeto, estagnando todos os sites de produção. Um ambiente distribuído de controle de versões pode minimizar este problema, mas politicas de sincronização precisam ser definidas e implantadas. A execução de um projeto distribuído não necessariamente é linear. Vários componentes interdependentes podem, por meio de interfaces, serem implementados e integrados. O modelo ideal de controle de versões em um ambiente de DDS deve ter a capacidade de gerenciar, além das características convencionais de um repositório de versões como branch, merge deve ser capaz de gerenciar segmentos do projeto em cada site de produção e sincronizar tais segmentos de maneira a manter a consistência do projeto de software. REFERÊNCIAS [1] ALLEN, L. W.; FERNANDEZ, G. L.; KANE, K. P.. Version Control System For Geographically Distributed Software Development. United States Patent, P. 18. [2] BRUEGGE, B. al. Supporting Distributed Software Development with fine-grained Artefact Management. In: INTERNATIONAL CONFERENCE ON GLOBAL SOFTWARE ENGINEERING, , 2006, Florianópolis, São Paulo. Proceedings.Garching B. München: IEEE, p [3] CARMEL, E.; AGARWAL, R.. Tactical Approaches for Alleviating Distance in Global Software Development. IEE Software, v. 18, n.2. março/abril p [4] KOMMEREN, R.; PARVIAINEN, P.. Philips experiences in global distributed software development. Eindhoven: Empir Software Eng, P. 14 [5] L'ERARIO, A.. M3DS: um modelo de dinâmica de desenvolvimento distribuído de software f. Tese (Doutorado) - Usp, São Paulo, [6] L ERARIO, A.; FERREIRA, M. O; FABRETTI, H. D..et al. Um framework para o ensino de desenvolvimento distribuído de software em cursos de graduação. In: COBENGE - Congresso Brasileiro de Educação em Engenharia. Belém PA, [7] PRESSMAN, R. S. Engenharia de Software. 5a edição, Editora McGraw-Hill, 2002 [8] PRIKLADNICKI, R.. Desenvolvimento Distribuído de Software e Processos de Desenvolvimento de Software f. Trabalho Individual II, FACIN PPGCC, PUCRS, Porto Alegre, Ago [9] SA, J.; MASLOVA, E.. A unified Process Support Framework for Global Software Development. In: INTERNATIONAL COMPUTER SOFTWARE AND

7 APPLICATIONS CONFERENCE, 26, Oxford. Proceedings Oxford: IEEE, 2002.p.1-2. [10] SILVA, C. A..DiSEN-SCV: gerenciador de versões de artefatos para um ambiente de desenvolvimento distribuído de software. Tese de Mestrado, UEM, Maringá, [11] SOMMERVILLE, I. (Ed.). Gerenciamento: Gerenciamento de Configurações. In: SOMMERVILLE, I.. Engenharia de Software.8. ed. São Paulo: Pearson Addison - Wesley, p [12] STEINMACHER, I.; WIESE, I. C.; POZZA, R. ; HUZITA, E. H. M. ; AMORIM, E. F. ; PASCUTTI, M. C. D.. Uma Proposta de Arquitetura para Ambientes de Desenvolvimento Distribuído de Software. XI Congreso Argentino de Ciencias de La Computacion (CACIC), 2005, Entre Ríos. XI Congreso Argentino de Ciencias de La Computacion (CACIC), 2005.

Gerenciamento de configuração e mudança

Gerenciamento de configuração e mudança Gerenciamento de configuração e mudança Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores

Leia mais

Versão: 1.0 Doc Manager

Versão: 1.0 Doc Manager Plano de Gerenciamento de Configuração versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Cliente: São José Agroindustrial Representante do cliente: Paulo José de Souza 1 Data: 10/04/2016

Leia mais

Engenharia de Software. Prof. Raquel Silveira

Engenharia de Software. Prof. Raquel Silveira Engenharia de Software Prof. Raquel Silveira MOTIVAÇÃO Você já perdeu alguma versão anterior do arquivo do projeto? Já teve problemas em manter diferentes versões do sistema rodando ao mesmo tempo? Alguém

Leia mais

Desenvolvimento Distribuído de Software. Rafael Leonardo Vivian (DIN-UEM) rlvivian.uem [at] gmail [dot] com

Desenvolvimento Distribuído de Software. Rafael Leonardo Vivian (DIN-UEM) rlvivian.uem [at] gmail [dot] com Desenvolvimento Distribuído de Software Rafael Leonardo Vivian (DIN-UEM) rlvivian.uem [at] gmail [dot] com Twitter: @rafaelvivian Evolução do Desenvolvimento de Software Anos 50 e 60: não havia processo

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

Tarefas de Gerenciamento de Configuração

Tarefas de Gerenciamento de Configuração Tarefas de Gerenciamento de Configuração 1- Tarefas Preliminares 2- Identificação 3- Controle de Mudanças 4- Controle de Versão 5- Auditoria de Configuração 6- Relato de Situação 7- Controle de Interface

Leia mais

Gerenciamento de Configuração

Gerenciamento de Configuração Gerenciamento de Configuração WAZLAWICK, Raul S. Engenharia de Software: Conceitos e Práticas.1 ed. Rio de Janeiro: Elsevier, 2013. PRESSMAN, Roger S. Engenharia de Software. 6 ed.são Paulo: McGraw-Hill,

Leia mais

Princípios da Engenharia de Software aula 03

Princípios da Engenharia de Software aula 03 Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos

Leia mais

DiSEN-SCV: Uma estratégia para replicação de repositórios e alocação de artefatos

DiSEN-SCV: Uma estratégia para replicação de repositórios e alocação de artefatos DiSEN-SCV: Uma estratégia para replicação de repositórios e alocação de artefatos César Alberto da Silva, Elisa Hatsue Moriya Huzita Departamento de Informática Universidade Estadual de Maringá (UEM) CEP

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Teste de Software Verificação e validação Testes de desenvolvimento Testes de release Testes de usuário Desenvolvimento dirigido a testes Kele Teixeira Belloze kelebelloze@gmail.com

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

Capítulo 25. Gerenciamento de Configuração Pearson PrenticeHall. Todos os direitos reservados. slide 1

Capítulo 25. Gerenciamento de Configuração Pearson PrenticeHall. Todos os direitos reservados. slide 1 Capítulo 25 Gerenciamento de Configuração slide 1 Tópicos abordados Gerenciamento de mudanças Gerenciamento de versões Construção de sistemas Gerenciamento de releases slide 2 Gerenciamento de configuração

Leia mais

Manutenção Leitura: Sommerville; Pressman

Manutenção Leitura: Sommerville; Pressman Manutenção Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º - 8º Edição / Ian Sommerville 2000-2007 Slide 1 Manutenção de software É modificar um programa depois que ele

Leia mais

Gerenciamento de Configuração de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

Gerenciamento de Configuração de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015 Gerenciamento de Configuração de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015 Contextualizando 2 ISO 12207: Estrutura Processos Fundamentais Aquisição Processos

Leia mais

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta Gerência de Configuração: Terminologia Leonardo Gresta Paulino Murta leomurta@ic.uff.br Item de configuração Agregação de hardware e/ou software que será passível de gerência de configuração e tratado

Leia mais

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Trabalho de Conclusão de Curso Ciências da Computação SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS AS Acadêmico: Fabricio

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Curso: Sistemas de Informação Profª: Janaide Nogueira ENGENHARIA DESOFTWARE APRESENTAÇÃO Formação Técnica: Informática(IFCE-Campus Tianguá-CE) Secretária Escolar(FDR) Graduação:

Leia mais

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

INTRODUÇÃO A ENGENHARIA DE SOFTWARE Universidade Estadual Vale do Acaraú AGENDA INTRODUÇÃO A ENGENHARIA DE SOFTWARE Processos Modelos de Desenvolvimento de Software Engenharia de Requisitos Projeto de Interface com o Usuário Projeto Arquitetural

Leia mais

Análise de Ferramentas para Controle de Versões de Software no Contexto do MPS.BR

Análise de Ferramentas para Controle de Versões de Software no Contexto do MPS.BR Análise de Ferramentas para Controle de Versões de Software no Contexto do MPS.BR Danne da Silva Oliveira 1, Heitor Costa 2, Paulo Afonso Parreira Júnior 2 1 Instituto de Ciências Exatas - Universidade

Leia mais

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo Metamodelos para Banco de Dados Carlos Julian Menezes Araújo cjma@cin.ufpe.br Prof. Dr. Robson do Nascimento Fidalgo 1 Agenda Metadados MDA MOF Metamodelos CWM Pacote Relacional Referências 2 Metadados

Leia mais

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

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda Rodrigo Reis Cleidson de Souza! 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!

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Proposta de Trabalho de Conclusão de Curso

Proposta de Trabalho de Conclusão de Curso UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO CURSO DE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Proposta de Trabalho de Conclusão de Curso Gerador de Código Automático Baseado em Diagramas de

Leia mais

5 Processo de Reificação e de Desenvolvimento com ACCA

5 Processo de Reificação e de Desenvolvimento com ACCA Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

Gerência da Configuração de Software. Teresa Maciel DEINFO/UFRPE

Gerência da Configuração de Software. Teresa Maciel DEINFO/UFRPE Gerência da Configuração de Software Teresa Maciel DEINFO/UFRPE 1 Propósito Garantir a integridade dos itens que compõem uma versão do produtos de software, através do controle de versões e mudanças dos

Leia mais

Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato.

Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato. O que é? Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato. Com isso ele oferece uma maneira muito mais inteligente e eficaz de organizar projetos, pois é

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE AULA 1 Introdução à Engenharia de Software 05/02/2014 Sobre o professor... Geovani Sajorato Engenheiro de Software Pleno na IOB Folhamatic S.A (Sage Group Brazil). 5 anos de experiência

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Disciplina - Requisitos. Grupo Yuni Luiz Eduardo Káthia

Disciplina - Requisitos. Grupo Yuni Luiz Eduardo Káthia Disciplina - Requisitos Grupo Yuni Luiz Eduardo Káthia RUP(Rational Unified Process) 1. Introdução. 2. Introdução a disciplinas no RUP. 3. Requisitos. 4. Gerenciamento de Requisitos. 5. Relação com outras

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

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

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

Leia mais

Leitura: Cap : Sommerville; cap20: Pressman

Leitura: Cap : Sommerville; cap20: Pressman Leitura: Cap26-27 - 28: Sommerville; cap20: Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 1/47 Manutenção de software É modificar um programa depois que

Leia mais

Visão Geral do RUP.

Visão Geral do RUP. Visão Geral do RUP hermano@cin.ufpe.br Objetivos Apresentar as características RUP Discutir os conceitos da metodologia: fases, fluxos de atividades (workflows), iterações, responsáveis, atividades e artefatos

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem

Leia mais

Introdução a Engenharia de Software

Introdução a Engenharia de Software Engenharia de Software Aula 02 Introdução a Engenharia de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@dcc.ufmg.br ou disciplina.eduardo@gmail.com 7 Março de 2018 Bibliografia

Leia mais

Engenharia de Software

Engenharia de Software Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos

Leia mais

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Criado: mar/2001 Atualizado: set/2005 Tópicos Definição de Requisitos Participantes Processo Documento de Requisitos (SRS) Evolução dos Requisitos 2 Referência I.Sommerville. Sw

Leia mais

Prof. Fábio Lúcio Meira

Prof. Fábio Lúcio Meira Prof. Fábio Lúcio Meira Objetivo Transformar os requisitos no design do futuro sistema Evoluir uma arquitetura robusta do sistema Adaptar o design para adequá-lo ao ambiente de implementação O principal

Leia mais

Engenharia de Software Introdução

Engenharia de Software Introdução Engenharia de Software Introdução Ricardo Argenton Ramos ricargentonramos@gmail.com Engenharia de Software I 2013.2 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software

Leia mais

Borland Connect 1.3. Notas da versão

Borland Connect 1.3. Notas da versão Borland Connect 1.3 Notas da versão Borland Software Corporation 700 King Farm Blvd, Suite 400 Rockville, MD 20850 Copyright Micro Focus 2014. All rights reserved. Portions Copyright 1998-2009 Borland

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 CI 221 DISCIPLINA: Engenharia de Software AULA NÚMERO: 3 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos básicos como processo, projeto, produto, por que

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: 20 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a Gestão de configuração e Engenharia

Leia mais

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins. Bibliografia Quais são os problemas? 4 A sofisticação do software ultrapassou nossa capacidade de construção. 4 Nossa capacidade de construir programas não acompanha a demanda por novos programas. 4 Nossa

Leia mais

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta Gerência de Configuração: Terminologia Leonardo Gresta Paulino Murta leomurta@ic.uff.br Item de configuração Agregação de hardware e/ou software que será passível de gerência de configuração e tratado

Leia mais

GERENCIAMENTO DAS COMUNICAÇÕES DO PROJETO

GERENCIAMENTO DAS COMUNICAÇÕES DO PROJETO GERENCIAMENTO DAS COMUNICAÇÕES DO PROJETO Planejar o Gerenciamento das Comunicações O gerenciamento das comunicações do projeto inclui os processos necessários para assegurar que as informações do projeto

Leia mais

Resumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento.

Resumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento. Universidade Federal de Santa Catarina Centro Tecnológico Disciplina: PROJETOS I Aluno: Cleosvaldo G. Vieira Jr cgvjr@inf.ufsc.br Resumo parcial da Tese de Doutorado Um modelo de Sistema de Gestão do Conhecimento

Leia mais

Estilos Arquiteturais

Estilos Arquiteturais Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as

Leia mais

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

Engenharia de Software

Engenharia de Software PLANO DE AVALIAÇÕES Engenharia de Software 1ª AP: 08 de setembro 2ª AP: 13 de outubro 3ª AP: 10 de novembro NAF: 17 de novembro Referência bibliográfica: SOMMERVILLE, I. Engenharia de Software. 8ª ed.

Leia mais

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001 PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções

Leia mais

Análise de Sistemas. Aula 5

Análise de Sistemas. Aula 5 Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles

Leia mais

RUP Unified Process. Profª Jocelma Rios

RUP Unified Process. Profª Jocelma Rios RUP Unified Process Profª Jocelma Rios Nov/2012 O que pretendemos: Reforçar os aspectos que caracterizam o processo iterativo e incremental Identificar como atingir os objetivos dos projetos de software

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Processo de Desenvolvimento de Software

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Processo de Desenvolvimento de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE SCE186-ENGENHARIA DE SOFTWARE Profs. José Carlos Maldonado e Elisa Yumi Nakagawa Atividades da Engenharia de DEFINIÇÃO SOFTWARE PRODUTO MANUTENÇÃO Análise de Sistema

Leia mais

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado) Processo UP Unified Process (Processo Unificado) Conjunto de passos que tem como objetivo atingir uma meta Processo de software na ES, processo que visa a produzir o software - de modo eficiente e previsível

Leia mais

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno PDS Aula 1.4 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br 2 Introdução Há alguns anos, o desenvolvimento de softwares era muito obsoleto; Existiam diversos problemas relacionados

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer

Leia mais

Material cedido por André Santos. Objetivo

Material cedido por André Santos. Objetivo Material cedido por André Santos Objetivo Compreender a importância do uso de mecanismos de gerência de configuração (GC) e de mudança (GM), seus métodos, processos e ferramentas. Fornecer os principais

Leia mais

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula 3 Agenda O processo de desenvolvimento de software Processo Unificado e as fases do Processo Unificado Requisitos

Leia mais

Análise e Projeto de Software

Análise e Projeto de Software Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE CMP1280/CMP1250 Prof. Me. Fábio Assunção Introdução à Engenharia de Requisitos REQUISITOS Descrições do que o sistema deve fazer, os serviços oferecidos pelo

Leia mais

Visão Geral do RUP (Rational Unified Process)

Visão Geral do RUP (Rational Unified Process) Visão Geral do RUP (Rational Unified Process) Objetivos deste módulo Apresentar as características do RUP Discutir os conceitos que existem no RUP: fases, fluxos de atividades (worklows), iterações, responsáveis,

Leia mais

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO

Leia mais

1. INTRODUÇÃO A MODELAGEM DE DADOS

1. INTRODUÇÃO A MODELAGEM DE DADOS 1. INTRODUÇÃO A MODELAGEM DE DADOS Para se construir uma casa ou um prédio de qualidade, é essencial fazer um planejamento detalhado, com a finalidade de pensar sobre as formas de construção, fazer estimativas

Leia mais

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema. Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 O desenvolvimento de software envolve usuários, clientes e desenvolvedores. Avalie as seguintes afirmações

Leia mais

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;

Leia mais

Gerência de Configuração: Planejamento. Leonardo Gresta Paulino Murta

Gerência de Configuração: Planejamento. Leonardo Gresta Paulino Murta Gerência de Configuração: Planejamento Leonardo Gresta Paulino Murta leomurta@ic.uff.br Fases preparatórias para a implementação de GC Preparação do plano de GC Organização da equipe de GC Organização

Leia mais

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio FUNDAMENTOS DE ENGENHARIA DE SOFTWARE Professor: Paulo Vencio Bibliografia: Como o assunto é cobrado: Conceito de forma geral Bibliografia Específica Aplicação do Conceito Conteúdo Programático: Conceito

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Modelo

Leia mais

Overview sobre Regras de Négocios e Requisitos de Software para subsidiar o desenvolvimento da ferramenta GAIA RN.

Overview sobre Regras de Négocios e Requisitos de Software para subsidiar o desenvolvimento da ferramenta GAIA RN. Overview sobre Regras de Négocios e Requisitos de Software para subsidiar o desenvolvimento da ferramenta GAIA RN. Rafael Kazuhiro Yoshihara 1, Rodolfo Miranda de Barros 1 1 Departamento de Computação

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

Processos de Software

Processos de Software Processos 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 profs. Márcio Cornélio, Vinicius

Leia mais

ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software

ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software ENGENHARIA DE SOFTWARE Aula 17 Reuso de software OBJETIVOS Entender os benefícios e problemas de reuso de software durante o desenvolvimento de novos sistemas; Entender o conceito de um framework de aplicações

Leia mais

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0> Projeto Integrador Documento Visão Versão Histórico de Revisões Data Versão Descrição Autor

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Fundamentos da Engenharia de Software Modelos de desenvolvimento Importância do software Importância do Software Qualidade é fundamental Consequências de erros no software podem

Leia mais

O PAPEL DOS SISTEMAS DE INFORMAÇÃO NAS ORGANIZAÇÕES

O PAPEL DOS SISTEMAS DE INFORMAÇÃO NAS ORGANIZAÇÕES UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO O PAPEL DOS SISTEMAS DE INFORMAÇÃO NAS ORGANIZAÇÕES MARINGÁ 2014 SUMÁRIO SUMÁRIO...1

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

Leia mais

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Disciplina: Banco de Dados Prof: Márcio Palheta, Esp.

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Professor Virgílio Fries Muller E-mail: vfmnet@gmail.com Site: www.vfm.com.br Aplicações do software BÁSICO coleção de programas escritos para dar apoio a outros programas DE TEMPO

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave Primeiro Módulo: Parte 3 Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave AN V 3.0 [60] Rildo F Santos (@rildosan) rildo.santos@etecnologia.com.br www.etecnologia.com.br http://etecnologia.ning.com

Leia mais

UML Unified Modeling Language Linguagem de Modelagem Unificada

UML Unified Modeling Language Linguagem de Modelagem Unificada UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: porto@gilbertoporto.com.br A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo

Leia mais

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer Parte 2 ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer P alguns conceitos básicos. A primeira definição é relativa aos conceitos de dados e informação. Dados são fatos em

Leia mais

Sistemas de Computação e de Informação

Sistemas de Computação e de Informação Sistemas de Computação e de Informação SLIDE 9 Professor Júlio Cesar da Silva juliocesar@eloquium.com.br site: http://eloquium.com.br/ twitter: @profjuliocsilva Linguagens de Programação Os computadores

Leia mais

IBM Managed Security Services para Reimplementação e Reativação do Agente

IBM Managed Security Services para Reimplementação e Reativação do Agente Descrição dos Serviços IBM Managed Security Services para Reimplementação e Reativação do Agente 1. Escopo dos Serviços O IBM Managed Security Services para Reimplementação e Reativação do Agente (denominado

Leia mais