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

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

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

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

! 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

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

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

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

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

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

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

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

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

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

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

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

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

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

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

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

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

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

Leia mais

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

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

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

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

Estratégia de TI. Posicionamento Estratégico da TI: como atingir o alinhamento com o negócio. Conhecimento em Tecnologia da Informação

Estratégia de TI. Posicionamento Estratégico da TI: como atingir o alinhamento com o negócio. Conhecimento em Tecnologia da Informação Conhecimento em Tecnologia da Informação Conhecimento em Tecnologia da Informação Estratégia de TI Posicionamento Estratégico da TI: como atingir o alinhamento com o negócio 2011 Bridge Consulting Apresentação

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web Resumo. Desenvolvimento de um software de gerenciamento de projetos para utilização na Web Autor: Danilo Humberto Dias Santos Orientador: Walteno Martins Parreira Júnior Bacharelado em Engenharia da Computação

Leia mais

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

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

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

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

CobiT 5. Como avaliar a maturidade dos processos de acordo com o novo modelo? Conhecimento em Tecnologia da Informação

CobiT 5. Como avaliar a maturidade dos processos de acordo com o novo modelo? Conhecimento em Tecnologia da Informação Conhecimento em Tecnologia da Informação CobiT 5 Como avaliar a maturidade dos processos de acordo com o novo modelo? 2013 Bridge Consulting All rights reserved Apresentação Sabemos que a Tecnologia da

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

Metodologia de Desenvolvimento de Sistemas

Metodologia de Desenvolvimento de Sistemas Metodologia de Desenvolvimento de Sistemas Aula 1 Ementa Fases do Ciclo de Vida do Desenvolvimento de Software, apresentando como os métodos, ferramentas e procedimentos da engenharia de software, podem

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

Políticas de Segurança da Informação. Aécio Costa

Políticas de Segurança da Informação. Aécio Costa Aécio Costa A segurança da informação é obtida a partir da implementação de um conjunto de controles adequados, incluindo políticas, processos, procedimentos, estruturas organizacionais e funções de software

Leia mais

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

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

Leia mais

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

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

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

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

Leia mais

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

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr Processos de Desenvolvimento de Software Objetivos Descrever o processo de desenvolvimento de software Orientado a Objetos (Object Oriented Software Development - OOSD) Descrever como a modelagem suporta

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

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

MSF- MICROSOFT SOLUTIONS FRAMEWORK. Cesar Eduardo Freitas Italo Alves

MSF- MICROSOFT SOLUTIONS FRAMEWORK. Cesar Eduardo Freitas Italo Alves MSF- MICROSOFT SOLUTIONS FRAMEWORK Cesar Eduardo Freitas Italo Alves A ORIGEM DO MSF (MICROSOFT SOLUTIONS FRAMEWORK) Baseado na experiência da empresa na construção de softwares como Office e Windows e

Leia mais

RUP Rational Unified Process

RUP Rational Unified Process Universidade do Contestado UNC Unidade Universitária de Mafra Otávio Rodolfo Piske Curso de Sistemas de Informação 5ª Fase RUP Rational Unified Process MAFRA 2003 Otávio Rodolfo Piske 1 - Introdução O

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

Ferramenta Colaborativa para Groupware

Ferramenta Colaborativa para Groupware Ferramenta Colaborativa para Groupware Rodolpho Brock UFSC Universidade Federal de Santa Catarina INE Deparrtamento de Informática e Estatística Curso de Graduação em Sistema de Informação rbrock@inf.ufsc.br

Leia mais

Módulo 3. Interpretação da norma NBR ISO 19011:2002 requisitos: 6.2, 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.2.5, 6.3, 6.4, 6.4.1, 6.4.2, 6.4.

Módulo 3. Interpretação da norma NBR ISO 19011:2002 requisitos: 6.2, 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.2.5, 6.3, 6.4, 6.4.1, 6.4.2, 6.4. Módulo 3 Interpretação da norma NBR ISO 19011:2002 requisitos: 6.2, 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.2.5, 6.3, 6.4, 6.4.1, 6.4.2, 6.4.3 Exercícios 6.2 Iniciando a auditoria/ 6.2.1 Designando o líder da equipe

Leia mais

PMONow! Serviço de Implantação de um Escritório de Projetos

PMONow! Serviço de Implantação de um Escritório de Projetos PMONow! Serviço de Implantação de um Escritório de Projetos PMONow! Serviço de Implantação de um Escritório de Projetos As organizações em torno do mundo estão implantando processos e disciplinas formais

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

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

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

Prof. Me. Marcos Echevarria

Prof. Me. Marcos Echevarria Prof. Me. Marcos Echevarria Nas décadas de 80 e 90 a visão geral sobre a melhor maneira de desenvolver software era seguir um cuidadoso planejamento para garantir uma boa qualidade; Esse cenário era aplicável

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

A Disciplina Gerência de Projetos

A Disciplina Gerência de Projetos A Disciplina Gerência de Projetos Atividades, Artefatos e Responsabilidades hermano@cin.ufpe.br Objetivos Apresentar atividades da disciplina Gerência de Projetos Discutir os artefatos e responsáveis envolvidos

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Prof. José Honorato F.N. Prof. José Honorato F.N. honoratonunes@gmail.com Requisitos de Software Software é o conjunto dos programas e dos meios não materiais que possibilitam o

Leia mais

Capítulo 1. Extreme Programming: visão geral

Capítulo 1. Extreme Programming: visão geral Capítulo 1 Extreme Programming: visão geral Extreme Programming, ou XP, é um processo de desenvolvimento de software voltado para: Projetos cujos requisitos são vagos e mudam com freqüência; Desenvolvimento

Leia mais

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

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

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

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

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

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

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

Especialização em Arquitetura e Engenharia de Software

Especialização em Arquitetura e Engenharia de Software Especialização em Arquitetura e Engenharia de Software O curso vai propiciar que você seja um especialista para atua atuar na área de Arquitetura de Software em diferentes organizações, estando apto a:

Leia mais

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

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela

Leia mais

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

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

Leia mais

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

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

Leia mais

ITIL - Information Technology Infraestructure Library

ITIL - Information Technology Infraestructure Library ITIL Biblioteca de infra estrutura de TI (do Inglês, Information Technology Infraestructure Library) e ISO/IEC 20.000 ITIL - Information Technology Infraestructure Library Foi criado no fim dos anos 80

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Introdução à Melhoria de Processos de Software baseado no MPS.BR Prof. Maxwell Anderson www.maxwellanderson.com.br Agenda Introdução MPS.BR MR-MPS Detalhando o MPS.BR nível G Introdução

Leia mais

Uma Introdução a Engenharia de Software e Sistemas

Uma Introdução a Engenharia de Software e Sistemas Uma Introdução a Engenharia de Software e Sistemas Centro de Informática - Universidade Federal de Pernambuco Engenharia da Computação Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville

Leia mais

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI Profa. Gislaine Stachissini Unidade III GOVERNANÇA DE TI Information Technology Infrastructure Library ITIL Criado pelo governo do Reino Unido, tem como objetivo a criação de um guia com as melhores práticas

Leia mais

Metodologia de Gerenciamento de Projetos da Justiça Federal

Metodologia de Gerenciamento de Projetos da Justiça Federal Metodologia de Gerenciamento de Projetos da Justiça Federal Histórico de Revisões Data Versão Descrição 30/04/2010 1.0 Versão Inicial 2 Sumário 1. Introdução... 5 2. Público-alvo... 5 3. Conceitos básicos...

Leia mais

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) APARECIDA DE GOIÂNIA 2014 LISTA DE TABELAS Tabela 1 Áreas de processo por

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras MBA Gestão em TI Disciplina: Administração de Suporte e Automação Gerenciamento de Suporte Professor: Fernando Zaidan Ago-2009 1 2 Contexto Área de TI lugar estratégico

Leia mais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1

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

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

ITIL V3 GUIA DE MELHORES PRÁTICAS EM GERENCIAMENTO DE SERVIÇOS

ITIL V3 GUIA DE MELHORES PRÁTICAS EM GERENCIAMENTO DE SERVIÇOS ITIL V3 GUIA DE MELHORES PRÁTICAS EM GERENCIAMENTO DE SERVIÇOS CAPÍTULO 1 INTRODUÇÃO ITIL V3 1.1. Introdução ao gerenciamento de serviços. Devemos ressaltar que nos últimos anos, muitos profissionais da

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

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

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO X PROJETO BÁSICO: DESCRIÇÃO DOS PROCESSOS DE TI

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO X PROJETO BÁSICO: DESCRIÇÃO DOS PROCESSOS DE TI CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO X PROJETO BÁSICO: DESCRIÇÃO DOS PROCESSOS DE TI 1. PI06 TI 1.1. Processos a serem Atendidos pelos APLICATIVOS DESENVOLVIDOS Os seguintes processos do MACROPROCESSO

Leia mais

Professor: Curso: Disciplina:

Professor: Curso: Disciplina: Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Governança de T.I. Professor: Ernesto Junior E-mail: egpjunior@gmail.com

Governança de T.I. Professor: Ernesto Junior E-mail: egpjunior@gmail.com Governança de T.I Professor: Ernesto Junior E-mail: egpjunior@gmail.com Information Technology Infrastructure Library ITIL ITIL é um acrônimo de Information Technology Infraestruture Library. Criado em

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Curso de Desenvolvimento de Software Prof. Alessandro J de Souza ajdsouza@cefetrn.br 1 Rational Unified Process RUP Fase Construção 2 VISÃO GERAL Fase Construção. Visão Geral 3

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 Extreme Programming (XP); DAS (Desenvolvimento Adaptativo de Software)

Leia mais

CHECK - LIST - ISO 9001:2000

CHECK - LIST - ISO 9001:2000 REQUISITOS ISO 9001: 2000 SIM NÃO 1.2 APLICAÇÃO A organização identificou as exclusões de itens da norma no seu manual da qualidade? As exclusões são relacionadas somente aos requisitos da sessão 7 da

Leia mais

Código de prática para a gestão da segurança da informação

Código de prática para a gestão da segurança da informação Código de prática para a gestão da segurança da informação Edição e Produção: Fabiano Rabaneda Advogado, professor da Universidade Federal do Mato Grosso. Especializando em Direito Eletrônico e Tecnologia

Leia mais

Projeto. Gerenciamento de Projeto de Software. Tópicos abordados. Características básicas de um projeto. Definição

Projeto. Gerenciamento de Projeto de Software. Tópicos abordados. Características básicas de um projeto. Definição Gerenciamento de Projeto de Software Tópicos abordados Atividades de gerenciamento Planejamento do projeto Cronograma do projeto Gerenciamento de riscos Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com

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

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9 Página: 1 de 9 1. OBJETIVO Estabelecer sistemática de funcionamento e aplicação das Auditorias Internas da Qualidade, fornecendo diretrizes para instruir, planejar, executar e documentar as mesmas. Este

Leia mais

Notas de Aula 02: Processos de Desenvolvimento de Software

Notas de Aula 02: Processos de Desenvolvimento de Software Notas de Aula 02: Processos de Desenvolvimento de Software Objetivos da aula: Introduzir os conceitos de um processo de desenvolvimento de software Definir os processos básicos Apresentar as vantagens

Leia 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

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

NORMA NBR ISO 9001:2008

NORMA NBR ISO 9001:2008 NORMA NBR ISO 9001:2008 Introdução 0.1 Generalidades Convém que a adoção de um sistema de gestão da qualidade seja uma decisão estratégica de uma organização. O projeto e a implementação de um sistema

Leia mais