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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Gerenciamento da Integração (PMBoK 5ª ed.)

Gerenciamento da Integração (PMBoK 5ª ed.) Gerenciamento da Integração (PMBoK 5ª ed.) O PMBoK diz que: O gerenciamento da integração do projeto inclui os processos e as atividades necessárias para identificar, definir, combinar, unificar e coordenar

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia 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

MUDANÇAS NA ISO 9001: A VERSÃO 2015

MUDANÇAS NA ISO 9001: A VERSÃO 2015 MUDANÇAS NA ISO 9001: A VERSÃO 2015 Está em andamento o processo de revisão da Norma ISO 9001: 2015, que ao ser concluído resultará na mudança mais significativa já efetuada. A chamada família ISO 9000

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

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

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

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

Leia mais

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

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

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

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

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

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

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

Gerenciamento de Problemas

Gerenciamento de Problemas Gerenciamento de Problemas O processo de Gerenciamento de Problemas se concentra em encontrar os erros conhecidos da infra-estrutura de TI. Tudo que é realizado neste processo está voltado a: Encontrar

Leia mais

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

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

Leia mais

Engenharia de Software

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

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

MASTER IN PROJECT MANAGEMENT

MASTER IN PROJECT MANAGEMENT MASTER IN PROJECT MANAGEMENT PROJETOS E COMUNICAÇÃO PROF. RICARDO SCHWACH MBA, PMP, COBIT, ITIL Atividade 1 Que modelos em gestão de projetos estão sendo adotados como referência nas organizações? Como

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

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

Extração de Requisitos

Extração de Requisitos Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia 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

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0 O que é BABok? O BABok 2.0, Corpo de Conhecimento de Análise de Negócios, é considerado como um Guia Referência de Práticas de Análise de Negócio. Este guia é publicado e mantido pelo IIBA. O guia BABok

Leia 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

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

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

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

Gerenciamento de Níveis de Serviço

Gerenciamento de Níveis de Serviço Gerenciamento de Níveis de Serviço O processo de Gerenciamento de Níveis de Serviço fornece o contato entre a organização de TI e o cliente, para garantir que a organização de TI conhece os serviços que

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

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

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

Governança Corporativa. A importância da Governança de TI e Segurança da Informação na estratégia empresarial.

Governança Corporativa. A importância da Governança de TI e Segurança da Informação na estratégia empresarial. Governança Corporativa A importância da Governança de TI e Segurança da Informação na estratégia empresarial. A virtualização dos negócios tem impactado diretamente a condição de fazer negócio, conferindo

Leia mais

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

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

Leia mais

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

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

Leia mais

Sistemas de Gestão da Qualidade. Introdução. Engenharia de Produção Gestão Estratégica da Qualidade. Tema Sistemas de Gestão da Qualidade

Sistemas de Gestão da Qualidade. Introdução. Engenharia de Produção Gestão Estratégica da Qualidade. Tema Sistemas de Gestão da Qualidade Tema Sistemas de Gestão da Qualidade Projeto Curso Disciplina Tema Professor Pós-graduação Engenharia de Produção Gestão Estratégica da Qualidade Sistemas de Gestão da Qualidade Elton Ivan Schneider Introdução

Leia mais

ISO 9001:2008. Alterações e Adições da nova versão

ISO 9001:2008. Alterações e Adições da nova versão ISO 9001:2008 Alterações e Adições da nova versão Notas sobe esta apresentação Esta apresentação contém as principais alterações e adições promovidas pela edição 2008 da norma de sistema de gestão mais

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

OBJETIVO 2 APLICAÇÃO 3 ATRIBUIÇÕES E RESPONSABILIDADES 4 DOCUMENTOS DE REFERÊNCIA 5 TERMINOLOGIA 6 DESCRIÇÃO DO PROCESSO DE GESTÃO DE MUDANÇAS

OBJETIVO 2 APLICAÇÃO 3 ATRIBUIÇÕES E RESPONSABILIDADES 4 DOCUMENTOS DE REFERÊNCIA 5 TERMINOLOGIA 6 DESCRIÇÃO DO PROCESSO DE GESTÃO DE MUDANÇAS Impresso em 26/08/2015 10:31:18 (Sem título Aprovado ' Elaborado por Daniel Trindade/BRA/VERITAS em 01/11/2013 Verificado por Cintia Kikuchi em 04/11/2013 Aprovado por Americo Venturini/BRA/VERITAS em

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

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

Engenharia de Requisitos Estudo de Caso

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

Leia mais

Resumo das Interpretações Oficiais do TC 176 / ISO

Resumo das Interpretações Oficiais do TC 176 / ISO Resumo das Interpretações Oficiais do TC 176 / ISO Referência RFI 011 Pergunta NBR ISO 9001:2000 cláusula: 2 Apenas os termos e definições da NBR ISO 9000:2000 constituem prescrições da NBR ISO 9001:2000,

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

O Processo Unificado

O Processo Unificado UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo Unificado 879SCC Projeto e Desenvolvimento de Sistemas

Leia mais

Modelo Cascata ou Clássico

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

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia 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

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

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

Qual a diferença entre certificação e acreditação? O que precisamos fazer para obter e manter a certificação ou acreditação?

Qual a diferença entre certificação e acreditação? O que precisamos fazer para obter e manter a certificação ou acreditação? O que é a norma ISO? Em linhas gerais, a norma ISO é o conjunto de cinco normas internacionais que traz para a empresa orientação no desenvolvimento e implementação de um Sistema de Gestão da Qualidade

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

Engenharia de Software II

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

Leia mais

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

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

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

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia 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

EDITORES DE TEXTO Capítulo 1: Avaliação técnica e econômica dos principais editores de texto do mercado.

EDITORES DE TEXTO Capítulo 1: Avaliação técnica e econômica dos principais editores de texto do mercado. Nome: Nº Série: EDITORES DE TEXTO Capítulo 1: Avaliação técnica e econômica dos principais editores de texto do mercado. Habilidades: Pesquisar novas ferramentas e aplicativos de informática para a área

Leia mais

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

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

Leia mais

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização Prof. Ricardo José Pfitscher Material elaborado com base em: José Luiz Mendes Gerson Volney Lagemann Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento

Leia mais

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA 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 Prof. Dr. Adilson Marques da Cunha Conceitos de Qualidade CES-32 / CE-230

Leia mais

Processos de gerenciamento de projetos em um projeto

Processos de gerenciamento de projetos em um projeto Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.

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

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009 Gestão da Qualidade Políticas Manutenção (corretiva, preventiva, preditiva). Elementos chaves da Qualidade Total satisfação do cliente Priorizar a qualidade Melhoria contínua Participação e comprometimento

Leia mais

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

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

Leia mais

A importância da comunicação em projetos de

A importância da comunicação em projetos de A importância da comunicação em projetos de Tecnologia da Informação (TI) Autor: Ivan Luizio R. G. Magalhães Um perigo previsto está metade evitado. Thomas Fuller Introdução Há muitos anos atrás, um bom

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

PMI-SP PMI-SC PMI-RS PMI PMI-PR PMI-PE

PMI-SP PMI-SC PMI-RS PMI PMI-PR PMI-PE ESTUDO DE BENCHMARKING EM GERENCIAMENTO DE PROJETOS 2009 Brasil Uma realização dos Chapters Brasileiros do PMI - Project Management Institute PMI-SP PMI-RJ PMI-AM PMI-SC PMI-BA ANEXO 2 PMI-RS PMI PMI-CE

Leia mais

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES Implementação MPS.BR 26 de maio de 2008 4 horas de duração e-mail: (DEIXAR EM BRANCO) RESULTADO: Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Nota INSTRUÇÕES Para a maioria das questões você tem mais de uma opção e

Leia mais

Gerenciamento de Riscos do Projeto Eventos Adversos

Gerenciamento de Riscos do Projeto Eventos Adversos Gerenciamento de Riscos do Projeto Eventos Adversos 11. Gerenciamento de riscos do projeto PMBOK 2000 PMBOK 2004 11.1 Planejamento de gerenciamento de riscos 11.1 Planejamento de gerenciamento de riscos

Leia mais

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

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

Leia mais