Desenvolvimento Distribuído de Software e Processos de Desenvolvimento de Software

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

Download "Desenvolvimento Distribuído de Software e Processos de Desenvolvimento de Software"

Transcrição

1 PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Curso de Mestrado Desenvolvimento Distribuído de Software e Processos de Desenvolvimento de Software Trabalho Individual II Rafael Prikladnicki Orientador Prof. Dr. Jorge Luis Nicolas Audy Porto Alegre, 30 de agosto de 2002.

2 O que é o desenvolvimento de software? Uma arte, ciência, engenharia ou algo mais como um todo? Será que isto importa? Sim, isto importa, e importa para todos nós. Nossas ações e os resultados que são gerados podem ser diferentes, de acordo com a definição que for mais correta. Então, a idéia principal é: Todos nós precisamos que o nosso software seja desenvolvido da forma mais rápida possível e sem erros. Mas muito mais do que isso, nós precisamos sempre saber como a nossa equipe está desenvolvendo ao longo deste caminho. Alistair Cockburn ii

3 SUMÁRIO LISTA DE FIGURAS... v LISTA DE TABELAS... vi LISTA DE ABREVIATURAS E SIGLAS...vii INTRODUÇÃO Desenvolvimento Distribuído de Software (DDS) Critérios que caracterizam o nível de DDS Distância física dos atores Distribuição da Equipe de Desenvolvimento Alguns Cenários de Desenvolvimento Distribuído de Software (DDS) Cenário 1: Centro de Pesquisa em E-Business DELL/PUCRS Cenário 2: Centro de Desenvolvimento da Oikodomo Brasil Fatores de Sucesso de Desenvolvimento Distribuído de Software (DDS) Sintetizando a Pesquisa sobre DDS Os Principais Processos de Desenvolvimento de Software A ISO e a IEC Norma ISO/IEC (NBR ISO/IEC 12207) Os Processos Fundamentais Processos de Apoio Processos Organizacionais Limitações da NBR ISO/IEC Rational Unified Process RUP Análise Crítica Microsoft Solutions Framework MSF Modelo de Gerência de Risco do MSF Modelo de Equipe do MSF Modelo de Processo do MSF Análise Crítica iii

4 2.5 Agile Software Development - ASD Análise Crítica Extreme Programming XP Análise Crítica Análise Comparativa entre os Processos de Desenvolvimento Definição dos Critérios de Análise Análise Comparativa CONCLUSÕES REFERÊNCIAS BIBLIOGRÁFICAS iv

5 LISTA DE FIGURAS Figura 1 Mesma localização Física Figura 2 Distância Municipal Figura 3 Distância Regional Figura 4 Distância Continental Figura 5 Distância Global Figura 6 Distribuição em sub-equipes Figura 7 Distribuição individual Figura 8 Equipe de Desenvolvimento Centralizada Figura 9 Ilustração do Cenário Figura 10 - Ilustração do Cenário Figura 11 Fatores de Sucesso do DDS Figura 12 Os três atores envolvidos Figura 13 Critérios de definição do nível de distribuição do DDS Figura 14 Relação da distância com os processos de desenvolvimento Figura 15 Estrutura da NBR ISO/IEC Figura 16 o Rational Unified Process - Fonte: [PRI 02a] Figura 17 Gerência de Risco no MSF Figura 18 Os papéis definidos no MSF Figura 19 O modelo de processo do MSF Figura 20 Os elementos de um Figura 21 As três dimensões do escopo de um processo - Fonte: [COC 02] Figura 22 A instância de um escopo Figura 23 As quatro dimensões do XP Figura 24 O XP é visto como um conjunto de peças v

6 LISTA DE TABELAS Tabela 1 Os critérios definidos para a análise comparativa Tabela 2 Análise comparativa vi

7 LISTA DE ABREVIATURAS E SIGLAS ACM - Association for Computing Machinery ASD Agile Software Development DDS Desenvolvimento Distribuído de Software IEC International Electrotechnical Commission ISO International Organization for Standardization MCS Microsoft Consulting Services MSF - Microsoft Solutions Framework NBR Normas Brasileiras OOPSLA - Object Oriented Programming, Systems, Languages and Applications PDTSD - Process Support Distributed Team-Based Software Development RUP Rational Unified Process TI Tecnologia da Informação XP Extreme Programming vii

8 INTRODUÇÃO Hoje em dia, ao mesmo tempo em que a área da engenharia de software se desenvolve de uma forma cada vez mais rápida, é necessário desenvolver software de altíssima qualidade. Com o passar dos anos e durante a evolução desta área, é interessante observar como alguns dos princípios fundamentais desse desenvolvimento permanecem os mesmos de 30 anos atrás e como os desafios que os engenheiros de software encontram hoje são semelhantes aos existentes quando a engenharia de software ainda engatinhava. Após 30 anos, ainda temos que nos esforçar para desenvolver softwares confiáveis [PET 01]. Neste contexto, percebe-se cada vez mais a necessidade das organizações desenvolverem software tendo por base um processo bem definido. De acordo com o que foi escrito em [PRI 02b], um processo de software é representado por um modelo. Existem diversos modelos na área de desenvolvimento de software. Sendo assim, as empresas adotam um determinado modelo como referência, customizando-o e adequando este modelo de acordo com a sua realidade. Este modelo deve ser operacionalizado por meio de uma metodologia, estabelecendo basicamente a seqüência de atividades existentes e a relação entre elas, incluindo neste contexto os métodos e as ferramentas que dão suporte ao modelo, procurando sempre a qualidade total, tanto do processo como do produto final gerado seguindo-se o processo. Também se verificou em [PRI 02b] que existem diversos problemas e desafios ainda presentes no processo de desenvolvimento de software. Um dos problemas mais significativos é o planejamento, pois ele é o ponto de partida de qualquer atividade relacionada ao desenvolvimento de software. Considerando os desafios apresentados, um dos mais significativos envolve o processo de desenvolvimento de software 8

9 baseado em equipes e ambientes fisicamente distribuídos, ou seja, o Desenvolvimento Distribuído do Software (DDS). Hoje em dia as grandes organizações estão cada vez mais distribuindo seus processos de desenvolvimento de software ao redor do mundo, visando ganhos de produtividade, redução de custos, diluição de riscos e melhorias na qualidade. Ou seja, o software está ficando cada vez mais sofisticado, o processo de desenvolvimento de software está evoluindo de uma forma muito rápida e, além disso, se vê a necessidade de distribuir o desenvolvimento, trazendo muitos benefícios para as organizações. Por este motivo, o Trabalho Individual II tem como objetivo realizar um estudo aprofundado sobre o estado da arte do Desenvolvimento Distribuído de Software (DDS), suas características e definições, e dos principais modelos de processo de desenvolvimento de software existentes. Pretende-se analisar os diferentes cenários do DDS e descrever e analisar os seguintes modelos de processo: - o Rational Unified Process (RUP); - o Microsoft Solutions Framework (MSF); - o Agile Software Development (ASD); - o Extreme Programming (XP). Juntamente com a análise comparativa, pretende-se verificar que tipo de suporte cada um destes modelos de processo possui para um desenvolvimento distribuído de software. O capítulo 1 irá abordar a questão do desenvolvimento distribuído de software, analisando os diferentes cenários existentes. O capítulo 2 pretende descrever e analisar os principais modelos de processo de desenvolvimento software, identificando o estado da arte destes modelos. Por último, o capítulo 3 faz uma análise comparativa entre os processos analisados no capítulo 2, procurando sistematizar esta análise através de um critério de comparação previamente definido, e explicado no próprio capítulo. 9

10 1 Desenvolvimento Distribuído de Software (DDS) Ao longo dos anos, cada vez mais se percebe que o desenvolvimento de software nunca foi uma tarefa simples. Conforme foi abordado em [PRI 02b], viu-se que existe uma série de problemas e desafios inerentes ao processo de desenvolvimento de software. Entre os problemas encontrados, os projetos de software freqüentemente apresentam cronogramas atrasados, execução orçamentária abaixo do previsto e produtos defeituosos. Uma das razões para estas situações, especialmente para projetos grandes, está na coordenação das atividades da equipe de projeto e na manutenção do controle do projeto. Hoje em dia, gerenciar grandes projetos de desenvolvimento de software tem se tornado uma tarefa cada vez mais complexa. Não apenas por causa do crescimento dos projetos, mas também por que as equipes de projeto vêm se distribuindo no tempo e no espaço, inserido no conceito de globalização que a sociedade têm vivenciado nos últimos anos. Isto configura então o Desenvolvimento Distribuído de Software (DDS), onde algumas pessoas envolvidas no processo de desenvolvimento estão fisicamente distantes. Várias ferramentas e ambientes têm sido desenvolvidos ao longo dos últimos quatro anos para ajudar no controle e coordenação das equipes de desenvolvimento que estão inseridas neste tipo de ambiente. Muitas destas ferramentas estão focadas no suporte aos procedimentos de comunicação formal tais como elaboração de documentos, processos automatizados e outros canais de comunicação não interativos. Um estudo de caso feito por [KRA 95] concluiu que o desenvolvimento de software necessita de um suporte extensivo para a comunicação informal e interativa. Além disso, viu-se em [PRI 02b] que trabalhar com DDS talvez seja um dos maiores desafios que o atual ambiente de negócios apresenta do ponto de vista do 10

11 processo de desenvolvimento de software. Muitas empresas estão distribuindo seu processo de desenvolvimento de software em países como Índia e Brasil. Muitas vezes este processo se dá dentro de um mesmo país, em regiões com incentivos fiscais ou de concentração de massa crítica em determinadas áreas. As empresas buscam vantagens competitivas em termos de custos, qualidade ou flexibilidade na área de desenvolvimento de sistemas [PRI 02], além de ganhos de produtividade e diluição de riscos [McC 96]. Neste caso, ao optar por instanciar um ambiente de desenvolvimento distante fisicamente da sua sede, uma organização começa a encarar diversos desafios de adaptação, diferenças culturais, planejamento do trabalho, treinamento da nova equipe, entre outros. Sendo assim, surgem os conceitos de outsourcing e offshore outsourcing, e todos os desafios existentes no DDS ganham proporções maiores. Outsourcing é a prática de contratar uma organização externa para desenvolver um sistema, ao invés de desenvolver na sua própria sede (in-house) [McC 96]. As organizações que utilizam outsourcing podem se especializar em uma determinada área, ter mais desenvolvedores para trabalhar em um determinado projeto e ter uma grande biblioteca de código reutilizável. A combinação destes fatores pode resultar numa significativa redução no tempo necessário para desenvolver um produto. Muitas vezes os custos de desenvolvimento também podem diminuir. Uma das opções do outsourcing que vem se tornando bastante popular ao longo dos últimos anos é o offshore outsourcing. Organizações offshore são empresas que estão localizadas em algum outro país, e que oferecem custos mais baixos de desenvolvimento. Além disso, também oferecem uma qualidade que é, no mínimo, equivalente à qualidade das organizações localizadas no próprio país [McC 96]. O desenvolvimento de ambientes tecnológicos, modelos e ferramentas para atuar neste tipo de ambiente é um desafio cada vez mais importante, tanto para a teoria na área de engenharia de software como para as empresas que enfrentam as dificuldades criadas por este tipo de ambiente. E é por isto que nos últimos anos diversos estudos e eventos têm dado uma grande importância para este assunto. 11

12 Em 2001, em uma conferência anual em programação, sistemas, linguagens e aplicações orientados a objeto (OOPSLA 1 ), promovida pela ACM (Association for Computing Machinery), um painel com alguns dos principais pesquisadores da área de desenvolvimento de software que estavam participando da conferência apresentou a seguinte questão: Como é possível ter um desenvolvimento ágil se a equipe de desenvolvimento estiver fisicamente distribuída, cada um trabalhando na sua casa?. Todos os painelistas foram mais ou menos pela mesma resposta, dizendo "We wouldn't even try!, ou seja, Nós nunca tentamos! [DAD 02]. Além disso, neste mesmo painel foram citados alguns pontos relacionados com a questão apresentada e o cenário mundial de desenvolvimento de software naquele momento. O principal ponto discutido foi o de que diversas experiências envolvendo o desenvolvimento distribuído de software estavam sendo realizadas, mas nenhuma delas tratava de casos reais, incluindo as pressões de prazos, custo e escopo, tão comuns em projetos da área de software. Eram estudos basicamente acadêmicos, com o objetivo de aproximar os pesquisadores desta nova realidade, permitindo a ampliação de conhecimento nesta área. O que se sabia era que o DDS podia se transformar em um caminho real a ser seguido no futuro. Desde então, a comunidade científica está desenvolvendo estudos empíricos na área de DDS. Por este motivo, devido à multiplicidade de possibilidades existentes neste contexto de DDS, neste capítulo busca-se identificar os principais critérios que caracterizam um ambiente distribuído de desenvolvimento de software e seu nível de distribuição, além de identificar cenários que combinam alguns destes critérios e ilustram o DDS. Alguns destes critérios já existem, como resultado de trabalhos publicados em congressos internacionais, como o OOPSLA 01 ou ainda o workshop PDTSD Outros critérios foram identificados através de um estudo aprofundado da 1 OOPSLA - ACM o International Workshop on Process Support for Distributed Team-Based Software Development, no 6o World MultiConference on Systemics, Cybernetics and Informatics (SCI) - 12

13 realidade em que as empresas estão inseridas, considerando diversos cenários possíveis para o DDS. Estes critérios consideram a existência de três atores principais no processo, tendo papéis distintos uns dos outros, cada um com a sua importância. Estes atores são: D C U Equipe de Desenvolvimento Cliente Usuário A equipe de desenvolvimento representa todas as pessoas envolvidas no desenvolvimento de um determinado projeto, podendo também ser formada por um conjunto de sub-equipes. Esta equipe pode envolver pessoas responsáveis pela área de negócios, gerência de projetos, desenvolvimento, testes, controle de qualidade, responsáveis pelo suporte de ferramentas dentro do projeto, entre outros. O cliente é a pessoa física ou jurídica que solicitou e contratou o desenvolvimento de um determinado projeto. O usuário representa as pessoas responsáveis por fornecer todas as informações necessárias (requisitos) para o correto desenvolvimento do projeto e são responsáveis por utilizar o produto gerado. Às vezes, clientes e usuários podem ser as mesmas pessoas, representando os dois papéis simultaneamente. 1.1 Critérios que caracterizam o nível de DDS Ao longo deste trabalho [ALT 98], [DAD 02], [EVA 00], [EVA 01], [BIU 02], [HAY 00] [McC 96] foram encontrados diversos critérios que, envolvendo os atores acima e combinados nas suas diversas possibilidades, podem caracterizar o nível de DDS. Os critérios encontrados são apresentados a seguir: - Distância física dos atores [DAD 02]; - Distribuição da equipe de desenvolvimento [DAD 02]; - Terceirização do desenvolvimento [McC 96]; - Diferenças culturais [DAD 02], [EVA 01]; 13

14 - Tamanho do projeto [DAD 02], [EVA 01]; Ao aprofundar-se a análise referente a estes critérios, concluiu-se que: - a terceirização (normalmente citada na literatura como outsourcing) não se caracteriza especificamente como um critério de DDS. Diversas empresas têm utilizado o conceito de outsourcing 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 de desenvolvimento de software. Neste caso, o outsourcing não envolve uma terceirização no conceito tradicional, pois a unidade responsável pelo desenvolvimento é da própria empresa contratante. São inúmeros os exemplos de organizações que adotam esta estratégia na área de desenvolvimento de software (DELL Computers, Nestlê, HP, Bank of Boston, entre outras). Neste sentido, a questão da terceirização será abordada como uma característica das equipes participantes do processo de desenvolvimento e não como um critério de DDS. - cultura é, por definição, um fator multidimensional que pode afetar em diferentes maneiras a performance de projetos geograficamente distribuídos [EVA 01]. 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. Por isso, diferenças culturais são aspectos importantes para o DDS, pois diversos problemas podem ser causados por estas diferenças. Apesar de ser um critério importante, ele não se aplica para este estudo no sentido de ser um critério que caracterize a distribuição. As diferenças culturais são consideradas um fator crítico de sucesso no processo de DDS. - o tamanho de um projeto é um critério importante quando se opta pelo DDS, pois este critério pode indicar o tamanho da equipe, o volume de documentação existente e exigido, etc. Mas este critério também não se aplica para este estudo para efeito de caracterização do DDS e sim como uma dos fatores que podem levar uma empresa a optar por um desenvolvimento distribuído, assim como custo ou prazos. 14

15 Sendo assim, a seguir serão detalhados os critérios julgados convenientes para esta pesquisa, para efeito de caracterização de um ambiente de DDS Distância física dos atores A distância física dos atores participantes do processo é um critério utilizado para definir o quão distantes estão os três atores envolvidos e suas respectivas áreas de negócio. Para este critério foram definidas cinco situações que ajudam a verificar qual o tipo de distância física existente e suas características principais. As situações para a distância física dos atores estão definidas da seguinte maneira: - Mesma localização física: esta é a situação onde a empresa possui toda a sua equipe instalada em um mesmo local (sala, prédio, universidade), considerando todos os atores envolvidos. A figura 1 ilustra esta situação: D D C D D U Figura 1 Mesma localização Física. - Distância municipal: esta é uma situação onde a equipe está localizada dentro da mesma cidade, estando fisicamente distante no máximo em 50km. Neste cenário a equipe pode se reunir quase que diariamente. A figura 2 ilustra esta situação mostrando uma equipe localizada dentro da cidade de Porto Alegre. U C D Figura 2 Distância Municipal. 15

16 - Distância Regional: esta situação caracteriza-se por ter a equipe localizada dentro de um mesmo Estado ou de um mesmo País, estando distante entre três e seis horas de viagem de avião, em zonas de fuso horário igual ou vizinho. Nesta situação, a equipe pode se reunir em curtos intervalos de tempo. A figura 3 ilustra este cenário, mostrando uma equipe localizada dentro do estado do Rio Grande do Sul. C U D Figura 3 Distância Regional. - Distância Continental: esta situação caracteriza-se por ter a equipe separada dentro de um mesmo continente, onde cada integrante deve estar em uma zona de fuso horário de no máximo 4 horas de diferença do outro. Nesta situação já se torna inconveniente uma reunião com toda a equipe de forma freqüente, mas algumas viagens podem ocorrer. A figura 4 ilustra este cenário, mostrando uma equipe de desenvolvimento localizada dentro do continente Europeu. C D U Figura 4 Distância Continental. - Distância Global: esta situação caracteriza-se por ter a equipe separada, onde cada integrante está em algum lugar do mundo, de forma que o tempo de uma viagem para reunir toda a equipe em um lugar comum ultrapassa a duração de 24 horas. Nesta situação, normalmente os membros da equipe se reúnem por algumas 16

17 semanas no início de um projeto. A figura 5 ilustra este cenário, mostrando uma equipe distribuída em 3 continentes (América do Norte, América do Sul e Ásia). U C D Figura 5 Distância Global Distribuição da Equipe de Desenvolvimento Ter toda a equipe participante do processo de desenvolvimento de software (cliente, usuário e equipe de desenvolvimento) distante fisicamente de acordo com alguma das cinco situações previstas no item anterior não indica que a equipe de desenvolvimento esteja distribuída. Sendo assim, um ambiente de desenvolvimento distribuído de software pode ter a equipe de desenvolvimento estruturada em duas situações principais: - Equipe de desenvolvimento distribuída: esta situação indica que a equipe de desenvolvimento pode ser distribuída de forma a trabalhar distante fisicamente. Esta distribuição pode ter cada integrante da equipe distante fisicamente, ou podem existir subequipes de desenvolvimento que estão distribuídas. As figuras 6 e 7 a seguir ilustram estas possibilidades: D D D D D D D D Figura 6 Distribuição em sub-equipes. Figura 7 Distribuição individual. 17

18 - Equipe de desenvolvimento centralizada: esta situação indica que a equipe de desenvolvimento estará localizada no mesmo espaço físico, ou seja, trabalhará sempre fisicamente junta. A figura 8 ilustra a equipe de desenvolvimento localizada em um mesmo espaço físico. D D D D D D D D Figura 8 Equipe de Desenvolvimento Centralizada. Cabe salientar que a distribuição da equipe de desenvolvimento não leva em conta a localização dos outros atores, cliente e usuário. 1.2 Alguns Cenários de Desenvolvimento Distribuído de Software (DDS) Um ambiente para o desenvolvimento distribuído de software (DDS) tem diversas possibilidades de configuração. Conforme foi apresentado no item 1.1, dois critérios podem auxiliar na definição do nível de distribuição existente. Cada critério possui um conjunto de situações, e a combinação de uma determinada situação de cada critério indica como a empresa realiza o desenvolvimento de um projeto de software, considerando os atores envolvidos. Um ambiente DDS pode ser visto sob duas perspectivas principais: - Considerando apenas a equipe de desenvolvimento; - Considerando a equipe de desenvolvimento, clientes e usuários. O nível de DDS a ser utilizado no processo de desenvolvimento de software depende da organização e do projeto a ser desenvolvido. Este processo de DDS pode ser implementado internamente na própria empresa, onde cliente, usuário e equipe de desenvolvimento são da própria empresa, ou envolvendo outras empresas, onde os clientes e os usuários não pertencem à empresa que desenvolverá o projeto. Baseando-se nestas perspectivas e nos critérios anteriormente citados, a seguir serão 18

19 apresentados dois cenários diferentes, baseados em casos reais, que possuem um desenvolvimento distribuído de software. O primeiro cenário corresponde a uma empresa que possui os três atores (equipe de desenvolvimento, cliente e usuário) no seu quadro de funcionários, cada um na sua área de negócio. Já o segundo cenário corresponde a uma empresa que possui apenas uma equipe de desenvolvimento, sendo que clientes e usuários são atores externos, que contratam o serviço de desenvolvimento de software desta empresa. Para efeito deste estudo, foram considerados dois centros de desenvolvimento de software, pertencentes a duas empresas localizadas em Porto Alegre (Dell Computers e Oikodomo Brasil). Estes centros de desenvolvimento são cenários reais de desenvolvimento distribuído de software, cada um com suas características específicas. Portanto, foram analisados: - o Centro de Pesquisa em E-Business DELL/PUCRS; - o Centro de Desenvolvimento da Oikodomo no Brasil; Cenário 1: Centro de Pesquisa em E-Business DELL/PUCRS Neste cenário, a empresa DELL Computers possui um centro de pesquisa e desenvolvimento de software voltado para e-business, sendo responsável, entre outras atividades, pelo desenvolvimento dos softwares de e-business corporativos da empresa, ou seja, sistemas que serão utilizados na própria empresa (sistemas para outros setores, automatização de determinadas atividades, entre outros). Sabendo-se dos dois critérios definidos no item 1.1, pode-se enquadrar este centro de pesquisa e desenvolvimento no seguinte cenário: Considerando que a empresa possui este centro em Porto Alegre e a sua sede está localizada nos Estados Unidos, os atores participantes do processo de desenvolvimento possuem uma distância continental, onde o cliente e/ou o usuário podem estar localizados nos Estados Unidos enquanto que a equipe de desenvolvimento está localizada em Porto Alegre. Além disso, existe uma possibilidade de distribuição da equipe de desenvolvimento, visto que o analista de negócios pode estar nos Estados Unidos, bem como a pessoa responsável 19

20 pela instalação do sistema, caso o sistema esteja sendo desenvolvido para ser utilizado em toda a empresa e sua instalação seja feita na sede, ou seja, nos Estados Unidos. Por último, alguns integrantes da equipe de desenvolvimento podem ser terceirizados, sendo contratados para um período específico de tempo, mas estes integrantes não estão distribuídos, estando fisicamente próximos de todo o resto da equipe. A figura 9 ilustra a configuração deste cenário de desenvolvimento. U C D D D Figura 9 Ilustração do Cenário 1. O que se percebe na figura 9 é que os atores estão fisicamente distribuídos, mas a equipe de desenvolvimento está localizada no mesmo espaço físico, tendo um integrante terceirizado Cenário 2: Centro de Desenvolvimento da Oikodomo Brasil Neste cenário, a empresa Oikodomo Global Technologies possui um centro de desenvolvimento de software no Brasil, localizado em Porto Alegre, sendo responsável por todo o desenvolvimento de software da empresa num âmbito mundial, podendo desenvolver para qualquer cliente, dentro ou fora da empresa. Sabendo-se dos dois critérios definidos no item 1.1, pode-se enquadrar este centro de desenvolvimento de software no seguinte cenário: Considerando que a empresa possui este centro de desenvolvimento em Porto Alegre e a sua sede está localizada nos Estados Unidos, os atores participantes do processo de desenvolvimento possuem uma distância continental, onde o cliente e o usuário estão localizados nos Estados Unidos enquanto que a equipe de desenvolvimento está localizada em Porto Alegre e também nos Estados Unidos, caracterizando assim a distribuição da equipe de desenvolvimento, visto que o analista de negócios está nos Estados Unidos, enquanto que os outros integrantes da equipe de desenvolvimento estão em Porto Alegre. Por último, alguns integrantes da 20

21 equipe de desenvolvimento podem ser terceirizados, sendo contratados para um período específico de tempo, mas estes integrantes não estão distribuídos, estando fisicamente próximos de todo o resto da equipe. A figura 10 ilustra como ocorre o desenvolvimento de um projeto de software dentro desta empresa, neste exemplo específico. U C D D D D Figura 10 - Ilustração do Cenário 2. O que se percebe na figura 10 é que, além de os atores estarem fisicamente distribuídos, existe a distribuição da equipe de desenvolvimento, onde existe um analista de negócios localizado nos Estados Unidos junto com clientes e usuários, e o restante da equipe de desenvolvimento está localizada em Porto Alegre, tendo esta equipe ainda um integrante terceirizado. 1.3 Fatores de Sucesso de Desenvolvimento Distribuído de Software (DDS) A pesquisa realizada com relação à identificação dos critérios de DDS [ALT 98], [DAD 02], [EVA 00], [EVA 01], [BIU 02], [HAY 00], mostrou a existência de uma série de fatores envolvidos no processo. Alguns destes fatores foram utilizados para caracterizar o DDS e seu nível de presença (distância física e distribuição da equipe de desenvolvimento). Outros fatores identificados podem ser considerados como fatores críticos de sucesso dos processos de DDS. Desta forma, para o sucesso de um projeto em um ambiente de DDS, identifica-se um conjunto de fatores (figura 11): DIFERENÇAS CULTURAIS COOPERAÇÃO DDS COMUNICAÇÃO CONFIANÇA COORDENAÇÃO Figura 11 Fatores de Sucesso do DDS 21

22 - Comunicação: a comunicação em um DDS é a chave para o bom andamento e execução de um projeto. Já a falta de comunicação faz com que as equipes fisicamente distantes não saibam de informações básicas sobre o projeto, sobre a equipe de projeto, entre outros. Por isso, deve existir um fluxo de informações ágil e eficaz entre os membros da equipe; - Confiança: confiança em um DDS é de vital importância para o bom fluxo de informações entre as equipes distribuídas. Ter confiança é ter segurança e firmeza no trabalho da equipe como um todo, independente de quem faça este trabalho. Por isso, torna-se essencial a procura de mecanismos que propiciem o estabelecimento de um clima de confiança nas relações e ações entre os atores envolvidos; - Cooperação: cooperação em um DDS significa colaboração da equipe para um objetivo comum, ou seja, ajudar e pensar como equipe. Por isso, é fundamental a cooperação entre as equipes fisicamente distantes, pois de nada adianta uma boa coordenação e uma ótima comunicação se não existir cooperação entre os membros das equipes; - Coordenação: a coordenação em um DDS é um fator que visa dispor as atividades de forma ordenada baseando-se em processos e regras previamente definidos. Por isso, deve existir um eficiente suporte para a coordenação das atividades de desenvolvimento; - Diferenças Culturais: quando se desenvolve software em um cenário onde exista o DDS, uma das primeiras atividades deve ser verificar qual o nível de diferenças culturais existentes entre as equipes fisicamente distantes, pois às vezes determinadas ações podem ser mal interpretadas pelo simples fato de ser parte da cultura de uma equipe e não da outra. Estas diferenças devem ser identificadas e acomodadas entre os participantes do processo. 1.4 Sintetizando a Pesquisa sobre DDS A partir da análise crítica do estudo realizado, buscou-se identificar os critérios a serem adotados na pesquisa com relação ao DDS visando o futuro do trabalho. Num 22

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

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

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Processo Unificado (RUP)

Processo Unificado (RUP) Fases do Desenvolvimento Processo Unificado (RUP) Ulf Bergmann ulf@ime.eb.br Domínio do Problema Objetos Objetos do do Mundo Mundo real real Modelo Semântico Domínio da Solução Aplicação Interface Serviços

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

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

Leia mais

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

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

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

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

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 O Processo Unificado dos autores Ivar Jacobson, Grady Booch e James

Leia mais

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

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

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

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia

Leia mais

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Agenda Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Introdução Processo de software é o conjunto de ferramentas, métodos

Leia mais

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

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

Leia mais

Planejamento Iterativo

Planejamento Iterativo Planejamento Iterativo Planejando as Fases e Iterações Hermano Perrelli hermano@cin.ufpe.br 1 Revisando Processo iterativo Req A&P Imp I/T Imp Req A&P Imp I/T Imp Req A&P Imp I/T Imp Iteração 1 Iteração

Leia mais

Sistemas de Informação e Programação II Odorico Machado Mendizabal

Sistemas de Informação e Programação II Odorico Machado Mendizabal Sistemas de Informação e Programação II Odorico Machado Mendizabal Universidade Federal do Rio Grande FURG C3 Engenharia de Computação 16 e 23 de março de 2011 Processo de Desenvolvimento de Software Objetivos

Leia mais

VANT-EC-SAME. Software de Suporte do VANT V-SUP Caso de Desenvolvimento Versão 1.0

VANT-EC-SAME. Software de Suporte do VANT V-SUP Caso de Desenvolvimento Versão 1.0 VANT-EC-SAME Software de Suporte do VANT V-SUP Caso de Desenvolvimento Versão 1.0 Histórico da Revisão Data Versão Descrição Autor 17/0/07 1.0 Versão Inicial Douglas Moura Confidencial VANT-EC-SAME, 2007

Leia mais

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

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

Leia mais

Para cada fase consideramos. Tempo para um projeto típico Tempo para um projeto Complexo. Arquitetura do Processo Unificado. A meta a ser atingida

Para cada fase consideramos. Tempo para um projeto típico Tempo para um projeto Complexo. Arquitetura do Processo Unificado. A meta a ser atingida Arquitetura do Processo Unificado Tempo para um projeto típico Tempo para um projeto Complexo O tempo gasto nas fases iniciais aumentam Para cada fase consideramos A meta a ser atingida Workflows a executar

Leia mais

METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS

METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS PODER JUDICIÁRIO JUSTIÇA DO TRABALHO TRIBUNAL REGIONAL DO TRABALHO DA 11ª REGIÃO SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO - SETI Versão 1.0 MANAUS-AM (2010) MDS Metodologia de Desenvolvimento de Sistemas

Leia mais

Profa. Celia Corigliano. Unidade IV GERENCIAMENTO DE PROJETOS DE TI

Profa. Celia Corigliano. Unidade IV GERENCIAMENTO DE PROJETOS DE TI Profa. Celia Corigliano Unidade IV GERENCIAMENTO DE PROJETOS DE TI Agenda da disciplina Unidade I Gestão de Projetos Unidade II Ferramentas para Gestão de Projetos Unidade III Gestão de Riscos em TI Unidade

Leia mais

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE

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

Leia mais

Introdução ao Processo Unificado (PU)

Introdução ao Processo Unificado (PU) Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução ao Processo Unificado (PU) Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin

Leia mais

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

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

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

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP RUP Rational Unified Process ( Unificado de Desenvolvimento da Rational) Conjunto de passos que tem como objetivo atingir uma meta de software na ES, processo que visa a produzir o software - de modo eficiente

Leia mais

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos SOFTWARE PROCESSES Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Introduzir modelos de processo de software Descrever uma variedade de modelos de processo

Leia mais

PROJETO DE FÁBRICA DE SOFTWARE

PROJETO DE FÁBRICA DE SOFTWARE FACULDADE SETE DE SETEMBRO FASETE Departamento de Sistemas de Informação PROJETO DE FÁBRICA DE SOFTWARE Denise Xavier Fortes Paulo Afonso BA Agosto/2015 Sumário 1. INTRODUÇÃO... 3 2. PERFIS FUNCIONAIS...

Leia mais

RUP como Metodologia de Desenvolvimento de Software para Obtenção da Qualidade de Software

RUP como Metodologia de Desenvolvimento de Software para Obtenção da Qualidade de Software SEGeT Simpósio de Excelência em Gestão e Tecnologia 1 RUP como Metodologia de Desenvolvimento de Software para Obtenção da Qualidade de Software Alfredo Nazareno P. Boente Fabiano S. G. de Oliveira João

Leia mais

Introdução ao OpenUP (Open Unified Process)

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

Leia mais

Modelos de processos de desenvolvimento de software

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

Leia mais

SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO

SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO Danilo Freitas Silvas Sistemas de informação CEATEC danilofs.ti@gmail.com Resumo:

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

Leia mais

Comparação entre Metodologias RUP e XP

Comparação entre Metodologias RUP e XP Comparação entre Metodologias RUP e XP Carlos G. Vasco, Marcelo Henrique Vithoft, Paulo Roberto C. Estante Programa de Pós Graduação em Informática Aplicada Pontifícia Universidade Católica do Paraná (PUCPR)

Leia mais

Qualidade de Software

Qualidade de Software Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br A expressão ISO 9000 (International Organization for Standardization) designa um grupo de normas técnicas que estabelecem

Leia mais

Pós Graduação Engenharia de Software

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

Leia mais

Engenharia de Software: Metodologias e Contextualização. Prof. José Eduardo A. de O. Teixeira vqv.com.br / j.edu@vqv.com.br

Engenharia de Software: Metodologias e Contextualização. Prof. José Eduardo A. de O. Teixeira vqv.com.br / j.edu@vqv.com.br Engenharia de Software: Metodologias e Contextualização Prof. José Eduardo A. de O. Teixeira vqv.com.br / j.edu@vqv.com.br Conceitos iniciais Informática: Ciência que tem como objetivo o tratamento da

Leia mais

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Evandro Polese Alves Ricardo de Almeida Falbo Departamento de Informática - UFES Av. Fernando Ferrari, s/n, Vitória - ES - Brasil

Leia mais

Metodologias Ágeis. Aécio Costa

Metodologias Ágeis. Aécio Costa Metodologias Ágeis Aécio Costa Metodologias Ágeis Problema: Processo de desenvolvimento de Software Imprevisível e complicado. Empírico: Aceita imprevisibilidade, porém tem mecanismos de ação corretiva.

Leia mais

GERÊNCIA DE RISCOS E ESCOPO EM PROJETOS DE DESENVOLVIMENTO DE SOFTWARE

GERÊNCIA DE RISCOS E ESCOPO EM PROJETOS DE DESENVOLVIMENTO DE SOFTWARE GERÊNCIA DE RISCOS E ESCOPO EM PROJETOS DE DESENVOLVIMENTO DE SOFTWARE Viviana Regina Weber 1 Anderson Yanzer Cabral 2 RESUMO O presente artigo tem como objetivo apresentar uma pesquisa, em desenvolvimento,

Leia mais

O Ciclo de Vida do Desenvolvimento de Sistemas i

O Ciclo de Vida do Desenvolvimento de Sistemas i O Ciclo de Vida do de Sistemas i O Ciclo de Vida do de Sistemas ( SDLC Systems Development Life Cycle), conhecido também com o ciclo de vida do software refere-se aos estágios de concepção, projeto, criação

Leia mais

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE Prof. Dr. Ivanir Costa Unidade III QUALIDADE DE SOFTWARE Normas de qualidade de software - introdução Encontra-se no site da ABNT (Associação Brasileira de Normas Técnicas) as seguintes definições: Normalização

Leia mais

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com http://www.luizleao.com

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com http://www.luizleao.com Processo de Desenvolvimento de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta aula Modelo Cascata (Waterfall) ou TOP DOWN. Modelo Iterativo. Metodologia Ágil.

Leia mais

MODELOS DE MELHORES GOVERNANÇA DE T.I. PRÁTICAS DA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

MODELOS DE MELHORES GOVERNANÇA DE T.I. PRÁTICAS DA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza MODELOS DE MELHORES PRÁTICAS DA GOVERNANÇA DE T.I. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza MELHORES PRÁTICAS PARA T.I. MODELO DE MELHORES PRÁTICAS COBIT Control Objectives for Information

Leia mais

Apresentação do Portfólio da ITWV Soluções Inteligentes em Tecnologia

Apresentação do Portfólio da ITWV Soluções Inteligentes em Tecnologia P ORTFÓ FÓLIO Apresentação do Portfólio da ITWV Soluções Inteligentes em Tecnologia versão 1.1 ÍNDICE 1. A EMPRESA... 3 2. BI (BUSINESS INTELLIGENCE)... 5 3. DESENVOLVIMENTO DE SISTEMAS... 6 3.1. PRODUTOS

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Projetos na área de TI. Prof. Hélio Engholm Jr

Projetos na área de TI. Prof. Hélio Engholm Jr Projetos na área de TI Prof. Hélio Engholm Jr Projetos de Software Ciclo de Vida do Projeto Concepção Iniciação Encerramento Planejamento Execução e Controle Revisão Ciclo de Vida do Produto Processos

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software Ciência da Computação ENGENHARIA DE SOFTWARE Análise dos Requisitos de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução Tipos de requisitos Atividades Princípios da

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

Metodologia de Desenvolvimento de Sistemas (MDS - ANEEL)

Metodologia de Desenvolvimento de Sistemas (MDS - ANEEL) Metodologia de Desenvolvimento de Sistemas (MDS - ANEEL) Versão 2.0 Escritório de Gerenciamento de Projetos - EGP Superintendência da Gestão Técnica da Informação SGI Agência Nacional de Energia Elétrica

Leia mais

A Experiência na Definição de um Processo Padrão Baseado no Processo Unificado

A Experiência na Definição de um Processo Padrão Baseado no Processo Unificado A Experiência na Definição de um Processo Padrão Baseado no Processo Unificado RICARDO DE ALMEIDA FALBO Departamento de Informática - UFES Av. Fernando Ferrari, s/n, Vitória ES falbo@inf.ufes.br Abstract

Leia mais

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

Leia mais

14 Os principais documentos de um projeto são: o termo de. 15 Elemento integrante do gerenciamento do escopo do projeto,

14 Os principais documentos de um projeto são: o termo de. 15 Elemento integrante do gerenciamento do escopo do projeto, De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

No que se refere a conceitos básicos do gerenciamento de projetos, segundo o PMBoK, julgue os itens a seguir.

No que se refere a conceitos básicos do gerenciamento de projetos, segundo o PMBoK, julgue os itens a seguir. De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Apresentação O programa de Pós-graduação Lato Sensu em Engenharia de Software Orientada a Serviços

Leia mais

Visão Geral do RUP Rational Unified Process. Jorge Fernandes UFRN Junho de 2002

Visão Geral do RUP Rational Unified Process. Jorge Fernandes UFRN Junho de 2002 Visão Geral do RUP Rational Unified Process Jorge Fernandes UFRN Junho de 2002 Resumo do Artigo de Krutchen O que é o RUP? 6 Práticas Comprovadamente Efetivas Desenvolvimento Interativo Gestão de Requisitos

Leia mais

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes.

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes. De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

FERRAMENTA DE WORKFLOW DE DOCUMENTOS PARA O AMBIENTE COLABORATIVO ARCASE

FERRAMENTA DE WORKFLOW DE DOCUMENTOS PARA O AMBIENTE COLABORATIVO ARCASE FERRAMENTA DE WORKFLOW DE DOCUMENTOS PARA O AMBIENTE COLABORATIVO ARCASE Marcello Thiry thiry@univali.br Ana Frida da Cunha Silva anafrida@univali.br Universidade do Vale do Itajaí UNIVALI Campus São José

Leia mais

Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento

Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento Desenvolvimento Iterativo Esta abordagem ao desenvolvimento assegura que o sistema cresce de forma incremental assegura que a complexidade se mantém controlada permite ainda obter rápido feedback de várias

Leia mais

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

Leia mais

Fundamentos de Teste de Software

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

Leia mais

PREVIEW DAS PRINCIPAIS SEÇÕES DA NBR ISO 19011

PREVIEW DAS PRINCIPAIS SEÇÕES DA NBR ISO 19011 CENTRO DA QUALIDADE, SEGURANÇA E PRODUTIVIDADE PARA O BRASIL E AMÉRICA LATINA PREVIEW DAS PRINCIPAIS SEÇÕES DA NBR ISO 19011 Diretrizes para auditorias de sistemas de gestão da qualidade e/ou ambiental

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

08/09/2011 GERÊNCIA DA INTEGRAÇÃO PMBOK GESTÃO DE PROJETOS

08/09/2011 GERÊNCIA DA INTEGRAÇÃO PMBOK GESTÃO DE PROJETOS GESTÃO DE PROJETOS Prof. Me. Luís Felipe Schilling "Escolha batalhas suficientemente grandes para importar, suficientemente pequenas para VENCER." Jonathan Kozol GERÊNCIA DA INTEGRAÇÃO PMBOK 1 GERÊNCIA

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Uma Implementação do Processo de Garantia da Qualidade usando a Spider-QA, a Spider-CL e o Mantis

Uma Implementação do Processo de Garantia da Qualidade usando a Spider-QA, a Spider-CL e o Mantis Uma Implementação do Processo de Garantia da Qualidade usando a Spider-QA, a Spider-CL e o Mantis Rodrigo Araujo Barbalho 1, Marília Paulo Teles 2, Sandro Ronaldo Bezerra Oliveira 1,2 1 Faculdade de Computação

Leia mais

Como obter resultados em TI com gestão e governança efetivas direcionadas a estratégia do negócio?

Como obter resultados em TI com gestão e governança efetivas direcionadas a estratégia do negócio? Como obter resultados em TI com gestão e governança efetivas direcionadas a estratégia do negócio? A Tecnologia da Informação vem evoluindo constantemente, e as empresas seja qual for seu porte estão cada

Leia mais

Gerenciamento de Configuração de Software

Gerenciamento de Configuração de Software Gerenciamento de Configuração de Software Prof. Ricardo Argenton Ramos [Baseado na apresentação do prof. Masiero ICMC-USP] Contexto para Gerência de Configuração 2 Problema dos Dados Compartilhados Desenvolvedor

Leia mais

TRIBUNAL DE JUSTIÇA DO ESTADO DE MATO GROSSO

TRIBUNAL DE JUSTIÇA DO ESTADO DE MATO GROSSO DO ESTADO DE MATO GROSSO INSTRUÇÃO NORMATIVA STI Nº 01/2011 Versão: 01 Publicação: DJE nº de / /2011 Unidade Responsável: Coordenadoria de Tecnologia da Informação - CTI I FINALIDADE Instituir a Metodologia

Leia mais

Planejamento e Gerenciamento Iterativo de Projetos de Software

Planejamento e Gerenciamento Iterativo de Projetos de Software Planejamento e Gerenciamento de Projetos de Software Hermano Perrelli hermano@cin.ufpe.br Objetivos desta parte Discutir uma metodologia de desenvolvimento iterativa e incremental Apresentar atividades

Leia mais

Rastreabilidade e Análise de Impacto: Um caso de aplicação utilizando a ferramenta Visual Studio Team System

Rastreabilidade e Análise de Impacto: Um caso de aplicação utilizando a ferramenta Visual Studio Team System Rastreabilidade e Análise de Impacto: Um caso de aplicação utilizando a ferramenta Visual Studio Team System Tiago Domenici Griffo 1, Gothardo Francisco de Magalhães Santos 1, Rodrigo Becke Cabral 1 1

Leia mais

Contrato de Serviço (SLA) para [Cliente] por [Provedor]

Contrato de Serviço (SLA) para [Cliente] por [Provedor] Contrato de Serviço (SLA) para [Cliente] por [Provedor] Data Gerador do documento: Gerente de Negociação: Versões Versão Data Revisão Autor Aprovação (Ao assinar abaixo, o cliente concorda com todos os

Leia mais

Palavras-Chaves: engenharia de requisitos, modelagem, UML.

Palavras-Chaves: engenharia de requisitos, modelagem, UML. APLICAÇÃO DA ENGENHARIA DE REQUISITOS PARA COMPREENSÃO DE DOMÍNIO DO PROBLEMA PARA SISTEMA DE CONTROLE COMERCIAL LEONARDO DE PAULA SANCHES Discente da AEMS Faculdades Integradas de Três Lagoas RENAN HENRIQUE

Leia mais

Metodologia de Desenvolvimento de Sistemas

Metodologia de Desenvolvimento de Sistemas Metodologia de Desenvolvimento de Sistemas Processo de Desenvolvimento de Software Faculdade Mauricio de Nassau S.I 5 Período NA Alunos: Elthon Diego 021707 Vitor da Cruz 033420 Professora Suzana Sampaio

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Planejamento e Gerenciamento

Ciência da Computação ENGENHARIA DE SOFTWARE. Planejamento e Gerenciamento Ciência da Computação ENGENHARIA DE SOFTWARE Planejamento e Gerenciamento Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução; Pessoas, Produto, Processo e Projeto; Gerência de

Leia mais

ITIL V3 (aula 2) AGENDA: GERENCIAMENTO DE MUDANÇA GERENCIAMENTO DE LIBERAÇÃO GERENCIAMENTO DE CONFIGURAÇÃO

ITIL V3 (aula 2) AGENDA: GERENCIAMENTO DE MUDANÇA GERENCIAMENTO DE LIBERAÇÃO GERENCIAMENTO DE CONFIGURAÇÃO ITIL V3 (aula 2) AGENDA: GERENCIAMENTO DE MUDANÇA GERENCIAMENTO DE LIBERAÇÃO GERENCIAMENTO DE CONFIGURAÇÃO Gerência de Mudanças as Objetivos Minimizar o impacto de incidentes relacionados a mudanças sobre

Leia mais

Prof.: Gilberto Onodera

Prof.: Gilberto Onodera Automação de Sistemas Prof.: Gilberto Onodera Aula 21-maio maio-2007 Revisão Conceitos de Macro-economia: Globalização Objetivo: Entender os principais drivers de mercado Economia de escala Paradigma da

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega

Leia mais

SEGURANÇA DA INFORMAÇÃO

SEGURANÇA DA INFORMAÇÃO SEGURANÇA DA INFORMAÇÃO NBR ISO/IEC 27002: 2005 (antiga NBR ISO/IEC 17799) NBR ISO/IEC 27002:2005 (Antiga NBR ISO/IEC 17799); 27002:2013. Metodologias e Melhores Práticas em SI CobiT; Prof. Me. Marcel

Leia mais

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

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

Leia mais

FS-MDP: Um Modelo de Definição de Processos de Fábrica de Software

FS-MDP: Um Modelo de Definição de Processos de Fábrica de Software FS-MDP: Um Modelo de Definição de Processos de Fábrica de Software Luzia Nomura (EP-POLI/USP) luzia.nomura@poli.usp.br Mauro de Mesquita Spinola (EP-POLI/USP) mauro.spinola@poli.usp.br Osvaldo Hikage (EP-POLI/USP)

Leia mais

Metodologia de Gestão e Desenvolvimento de Software. Coordenação Geral de Tecnologia da Informação

Metodologia de Gestão e Desenvolvimento de Software. Coordenação Geral de Tecnologia da Informação Metodologia de Gestão e Desenvolvimento de Software Coordenação Geral de Tecnologia da Informação 2 Índice 1. Processos Organizacionais... 7 1.1. A gestão da demanda... 7 1.2. e Responsabilidades... 7

Leia mais

SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/

SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/ SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/ ModeloPlanoProjeto_2007_04_24 SIGECO07_PlanoProjeto_2007_09_23 Página

Leia mais

Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots

Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots Roosewelt Sanie Da Silva¹ 1 Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC) Rodovia

Leia mais

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

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

Leia mais

DESENVOLVIMENTO DE SISTEMAS

DESENVOLVIMENTO DE SISTEMAS Agência Nacional de Vigilância Sanitária METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS GGTIN GESIS Brasília, julho de 2006. Página: 1 Histórico de Revisões Data Versão Descrição Autor 12/06/2006 1.0.00 Criação

Leia mais

Qualidade de Processo de Software Normas ISO 12207 e 15504

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

Leia mais

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

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

Leia mais

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Tendências, Perspectivas e Ferramentas de Qualidade em Engenharia de Software (4)

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Tendências, Perspectivas e Ferramentas de Qualidade em Engenharia de Software (4) CURSO de GRADUAÇÃO e de PÓS-GRADUAÇÃO do ITA 2º SEMESTRE 2002 CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software Eng. Osvandre Alves Martins e Prof. Dr. Adilson Marques da Cunha Tendências,

Leia mais

Rational Unified Process

Rational Unified Process Rational Unified Process Engenharia de Software Bruno Braun Fernando Coelho Jonatas Teixeira Vinicius Massuchetto Sobre o RUP Metodologia proprietária de desenvolvimento de software Iterativo e incremental

Leia mais

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

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

Leia mais

GESTÃO DA QUALIDADE DE SOFTWARE

GESTÃO DA QUALIDADE DE SOFTWARE GESTÃO DA QUALIDADE DE SOFTWARE Fernando L. F. Almeida falmeida@ispgaya.pt Principais Modelos Capability Maturity Model Integration (CMMI) Team Software Process and Personal Software Process (TSP/PSP)

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Políticas de Qualidade em TI

Políticas de Qualidade em TI Políticas de Qualidade em TI Aula 05 MPS.BR (ago/12) Melhoria de Processo do Software Brasileiro Prof. www.edilms.eti.br edilms@yahoo.com Agenda Descrição sumária do MPS.BR - Melhoria de Processo do Software

Leia mais

Engenharia de Software. Gerenciamento de Requisitos. Prof. Rodolfo Miranda de Barros rodolfo@uel.br

Engenharia de Software. Gerenciamento de Requisitos. Prof. Rodolfo Miranda de Barros rodolfo@uel.br Engenharia de Software Gerenciamento de Requisitos Prof. Rodolfo Miranda de Barros rodolfo@uel.br Engenharia de Requisitos (ER) Engenharia de O termo Engenharia implica em dizer que um processo sistemático

Leia mais

Introdução Engenharia de Software

Introdução Engenharia de Software Introdução Engenharia de Software Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 EMENTA Parte 1 Conceitos de Engenharia de Software. Processo de desenvolvimento

Leia mais

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação

Leia mais

ISO - 9126. Aécio Costa

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

Leia mais

METODOLOGIA DE GERENCIAMENTO DE PROJETOS SCRUM: ESTUDO DE REVISÃO. Bruno Edgar Fuhr 1

METODOLOGIA DE GERENCIAMENTO DE PROJETOS SCRUM: ESTUDO DE REVISÃO. Bruno Edgar Fuhr 1 METODOLOGIA DE GERENCIAMENTO DE PROJETOS SCRUM: ESTUDO DE REVISÃO Bruno Edgar Fuhr 1 Resumo: O atual mercado de sistemas informatizados exige das empresas de desenvolvimento, um produto que tenha ao mesmo

Leia mais

Engenharia de Software I 2012.2 Modelos de Processo de Software

Engenharia de Software I 2012.2 Modelos de Processo de Software Engenharia de Software I 2012.2 Modelos de Processo de Software Ricardo Argenton Ramos ricargentonramos@gmail.com A Engenharia de Software Uma Tecnologia em Camadas Gerenciamento da Qualidade Total e filosofias

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ENGENHARIA DE SOFTWARE III

UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ENGENHARIA DE SOFTWARE III UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ENGENHARIA DE SOFTWARE III FERRAMENTAS DE GERENCIAMENTO DE PROJETOS TRAC E DOTPROJECT ORIETADOS AO RUP ACADÊMICOS: GUSTAVO

Leia mais