Agile Modeling. '(3$57$0(172'(&20387$d 2

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

Download "Agile Modeling. '(3$57$0(172'(&20387$d 2"

Transcrição

1 &(1752'(&,Ç1&,$6$*5È5,$6 '(3$57$0(172'(&20387$d 2 ',6&,3/,1$'((1*(1+$5,$'(62)7:$5( Agile Modeling 'RFHQWH Prof.Rodolfo Miranda de Barros $OXQRV André Ricardo Gonçalves Daniel César Romano Luvizotto Heber A. A. Nascimento Luiz Gustavo Andrade dos Santos /RQGULQD

2 6XPiULR,QWURGXomR $JLOH0RGHOLQJ$0 2.1 Manifesto Agile Valores do Agile Modeling Princípios do Agile Modeling Práticas do Agile Modeling...7 'HILQLomRGHPRGHORViJHLV 'HILQLomRGHPRGHODJHPiJLO 8VRGH80/QmRpVXILFLHQWH )HUUDPHQWDV&$6( &RQFOXVmR 5HIHUrQFLDV 1

3 ,QWURGXomR Com o passar do tempo empresas desenvolvedoras de software viram a necessidade de adotar um modelo de gerenciamento no desenvolvimento de software, visto que sem um gerenciamento adequado, o desenvolvimento era uma bagunça. Não existia uma documentação adequada, não havia um padrão de desenvolvimento, não existia uma maneira de se estimar mais precisamente o tempo de desenvolvimento, e quanto menos, um valor adequado do software. Hoje em dia existem vários tipos de modelos, como por exemplo, [1]: Agile, Cleanroom, Iterativo, RAD, RUP, Espiral, Waterfall, XP dentre outros. Com a adoção de um modelo para o desenvolvimento de projetos de softwares e sua correta aplicação, a empresa só tem a ganhar. Vamos analisar alguns casos, supre todas as deficiências citadas anteriormente, define melhor o papel de cada pessoa no desenvolvimento de um projeto, assim obtêm um maior controle sobre cada pessoa e conseqüentemente sobre o trabalho desenvolvido pela mesma, posteriormente facilita a manutenção, especifica melhor as funcionalidades do software, etc. O modelo proposto neste trabalho é o Agile Modeling (AM) [5] que busca a construção e manutenção eficiente de artefatos, criando-os apenas quando agregarem valor real ao projeto, e focando principalmente os esforços no desenvolvimento do software que, em última análise, é o objetivo principal do processo. Deve-se notar, entretanto, [5] que AM não é uma metodologia de desenvolvimento ágil como extreme Programming (XP), SCRUM, DSDM, etc., mas uma metodologia de modelagem ágil, isto é, AM visa construir e manter modelos de sistemas de maneira eficaz e eficiente e, portanto, pode ser utilizada dentro de metodologias ágeis como as citadas há pouco, como também em metodologias prescritivas como o Unified Process. 2

4 $JLOH0RGHOLQJ$0 AM segundo Scott W. Ambler[5] é uma metodologia baseada na prática pra modelagem eficaz de software. AM não segue um processo prescritivo, ou seja, não define procedimentos detalhados tal como a criação de um dado tipo de modelo, ao invés disso AM é uma coleção de valores, princípios e praticas que podem ser aplicados por profissionais de software no dia-a-dia. Em outras palavras [3] AM utiliza métodos ágeis que se adaptam rapidamente as mudanças para o desenvolvimento de um software. Embora métodos ágeis difiram de projeto para projeto, estes métodos possuem características comuns, incluindo desenvolvimento iterativo, comunicação e uma redução de artefatos intermediários. Uma característica do AM é que ele é aplicado juntamente com outras metodologias ágeis para se chegar a um melhor resultado no desenvolvimento de um projeto de software, observe a seguinte figura: Os métodos ágeis podem ser vistos de varias perspectivas. Perspectiva do produto, os métodos ágeis são mais apropriados em situações de mudanças rápidas e de emergentes exigências, e não são apropriados em situações que o sistema em questão possui um alto nível de risco em relação à confiabilidade e segurança. Assim, podemos observar que há casos que convém a utilização do AM já em outros casos não, embora não haja um consenso geral com relação a este ponto. Perspectiva Organizacional pode ser avaliada examinando três pontos chaves de uma organização [3]: cultura, povos, e comunicação. Com relação a estas áreas um número de fatores chaves de sucesso foram identificados, e são eles: 3

5 A cultura da organização deve suportar negociação; As pessoas devem ser confiáveis; As organizações devem conviver com as decisões tomadas pelos colaboradores; As organizações precisam ter ambientes que facilite a comunicação entre as pessoas. Com certeza o fator mais importante de escolha ou não de métodos ágeis é o tamanho do projeto, com o crescente tamanho do projeto, a comunicação face a face torna-se mais difícil, conseqüentemente os métodos ágeis são mais indicados para projetos que envolvam um numero que varia de 20 até 40 pessoas em um dado projeto [1]. Em resumo, AM surgiu para melhorar as maneiras de desenvolvimento de software, definindo valores, princípios e praticas que devem ser praticado para a obtenção de um processo mais interativo e menos burocrático do que os atuais. 0DQLIHVWR$JLOH Esse manifesto surgiu de um grupo de consultores, engenheiros e autores que no ano de 2001 apresentaram o 7KH$JLOH0DQLIHVWR, com o intuito de apresentar e discutir melhores formas para o desenvolvimento de software, aplicando alguns conceitos de agilidade ás metodologias existentes. E este manifesto contém algumas citações interessantes, como por exemplo, [3]: Valorizar as pessoas envolvidas no processo e as relações entre elas, ao invés de se focar em processos e em ferramentas; Focar-se mais na produção do software do que em documentação; Estar preparado para mudanças em oposição ao seguimento rigoroso de um plano; O objetivo principal é satisfazer o cliente com a entrega rápida de um software funcional; Os métodos ágeis devem transformar a mudança numa vantagem competitiva do cliente; 4

6 Os elementos do grupo de desenvolvimento e os clientes devem reunir-se frequentemente, com o objetivo de discutir o andamento e obter mais informações acerca do software; Oferecer um ambiente e apoio apropriado aos envolvidos no projeto; Ser simples, etc. 9DORUHVGR$JLOH0RGHOLQJ abaixo:: Ambler [1] apresenta, os valores do Agile Modeling, tais valores são apresentados Comunicação: promete uma comunicação clara entre a equipe e os VWDNHKROGHUVe também entre desenvolvedores e a equipe; Simplicidade: é muito importante que os desenvolvedores entendam que modelos são críticos para simplificar software e processos de software, é muito fácil explorar uma idéia, assim, devemos melhorá-la para um melhor entendimento, e isso pode ser feito através de desenho de um diagrama, ao invés de dois ou mais diagramas. Portanto no desenvolvimento do projeto devemos nos apegar a simplicidade. Feedback: recorrendo à exposição de idéias e conceitos através de diagramas, fica facilitada a troca de opiniões entre os pares e é mais rápida a introdução de possíveis melhorias. Coragem: a coragem é de extrema importância, pois, em um projeto sempre temos que fazer importantes decisões e estar pronto para mudanças caso as escolhas tomadas não foram corretas. Humildade: os melhores desenvolvedores tem a humildade de reconhecer que não sabem de tudo, e que clientes e VWDNHKROGHUV têm seus valores e esses valores adicionam qualidade ao projeto. 5

7 3ULQFtSLRVGR$JLOH0RGHOLQJ Os princípios do AM são os seguintes: Assumir a simplicidade: busca uma solução simples na qual se trabalha apenas com requisitos atuais não se preocupando com os futuros requisitos, assim trabalha-se de forma organizada, e com isso mais rapidamente; Abertura a mudanças: com o passar do projeto RVVWDNHKROGHUV podem mudar de idéia em relação a um dado requisito, portanto deve-se estar preparado para mudanças; Abertura a mudanças: estar preparado a mudanças, pois com o andamento do projeto, as avaliações de alguns requisitos podem mudar na opinião de VWDNHKROGHUV Software é o objetivo primário: como o objetivo principal é o software, ele deve estar de acordo com os interesses dos VWDNHKROGHUV. Viabilizar esforços futuros: preparar a próxima etapa é muito importante, para que ela possa ser iniciada sem muita dificuldade e com eficiência. Para isso é necessária uma boa documentação, tomando em conta pessoas envolvidas, natureza e outros fatores; Alterações incrementais: a fim de otimizar recursos deve-se dirigir o projeto de maneira incremental. Maximizar o investimento dos VWDNHKROGHUV: afim que os VWDNHKROGHUV invistam mais se deve satisfazer as interesses deles. Modelar com propósito: antes de criar qualquer coisa é necessário identificar a razão para saber o que será e feito por quem, assim só será realizado necessário poupando tempo e dinheiro. Múltiplos modelos: no desenvolvimento vários modelos são requeridos, então deve-se classificar os mais importantes, e descartar os outros; Trabalho com qualidade: o projeto deve ter qualidade a fim de satisfazer o cliente; 6

8 Feedback rápido: o tempo entre uma ação e resposta é muito importante, pois quanto mais rápida a reação, mais cedo pode ser corrigido um erro. Travel Light: é necessário um equilíbrio entre a quantidade de modelos produzidos e a agilidade que é introduzida no projeto, pois a atualização dos diferentes modelos pode ser muito difícil. 3UiWLFDVGR$JLOH0RGHOLQJ Não é fácil a implementação de AM na cultura de desenvolver software, pois o método gera uma grande mudança no pensamento e também pelo medo natural das pessoas por mudanças. Os princípios mais importantes para direcionar os esforços em relação ao Para direcionar os esforços em torno de AM, existem alguns princípios que devem ser observados para que o processo adotado seja realmente ágil. Dentre esses princípios, os mais importantes são: Participação ativa dos VWDNHKROGHUV: em poucas palavras é a participação daqueles que realmente tem a capacidade de contribuir para o projeto com relação aos requisitos. O AM expande uma pratica do XP s On-Site Customer que consiste em ter os VWDNHKROGHUV envolvidos ativamente no projeto, tomando decisões acerca da atribuição de recursos e definição do projeto; Aplicação correta dos artefatos: cada artefato tem as suas próprias características. Na maioria dos casos, um diagrama é uma melhor opção em relação a um exemplo de código. A única inconveniência é que a equipe necessita de conhecer em detalhe diferentes artefatos para poder avaliar quando utilizar um em detrimento de outro; Posse coletiva: todas as pessoas envolvidas no projeto podem e devem trabalhar em qualquer artefato quando necessário. Os modelos produzidos são de todos e para todos; Criação de modelos em paralelo: trabalhar com modelos em paralelo tem se mostrado mais produtivo para o projeto, visto que não existe apenas um que preencha todas as necessidades de um projeto; 7

9 Maximizar a simplicidade: deve-se simplificar ao máximo o conteúdo dos modelos, acompanhando as necessidades e expectativas dos VWDNHKROGHUV; Descrições simples e acessíveis: um modelo simples que disponibilize as funcionalidades chave, ou então um modelo típico que descreva as principais responsabilidades das classes e suas relações, é muito mais eficaz e eficiente; Publicação dos modelos: deve ser disponibilizado um local designado por modeling wall, onde são colocados todos os modelos, acessível à equipe de desenvolvimento, bem como aos VWDNHKROGHUV; Iteração para outro artefato: sempre que surja um bloqueio, é conveniente ponderar a alteração do artefato. Essa situação será mesmo um indicador para mudar de artefato alvo, pois uma alteração do ponto de vista aumenta a probabilidade de descobrir a dificuldade encontrada; Modelação incremental: a modelagem incremental caracteriza-se pela divisão de um modelo em pequenas partes, designadas por incrementos, que são progressivamente disponibilizados. Esta prática aumenta a agilidade através da possibilidade de entregar software mais rapidamente aos utilizadores; Modelagem entre todos: o processo de modelagem facilita a comunicação de idéias e conceitos, assim como ajuda a compreender a situação e a encontrar um sentido comum para o projeto. Trata-se, portanto, de uma atividade que deverá ser realizada em grupo, com a participação eficaz de todos; Comprovação através do código Um modelo é uma abstração que reflete o aspecto do que está a ser desenvolvido. Mas nem sempre é assim e torna-se é necessário comprová-lo através de código, recordando que numa abordagem iterativa, a modelagem é apenas uma das muitas tarefas a realizar; Fonte de informação única: toda a informação associada a um projeto deve ser armazenada num só local, privilegiando a reutilização de artefatos. Utilizar as ferramentas mais simples, a maioria dos modelos pode ser desenhada recorrendo a um rascunho, posteriormente digitalizado e integrado no projeto. Na fase de desenho, esta abordagem acaba por ser muito valiosa, pois provoca reflexão e evita o consumo de recursos em diagramas mais elaborados; 8

10 Aplicação de normas de modelagem: deverá ser selecionada uma norma de modelagem, como por exemplo, o UML, cuja notação e semântica terá de ser aplicada de forma consistente em todos os modelos produzidos; Aplicação cuidadosa de padrões: os modeladores deverão possuir um conhecimento alargado de todos os modelos existentes, de forma a terem sensibilidade sobre qual o padrão de desenho apropriado a cada situação. Atualizar/Descartar modelos temporários: uma parte considerável dos modelos produzidos são considerados temporários, pois já cumpriram o seu propósito e agora não acrescentam o mesmo valor ao projeto. Uma vez desatualizados, torna-se necessário optar por sincronizar ou descartá-los, após uma avaliação dos custos envolvidos. Formalizar documentos de contrato: os modelos de contrato são utilizados sempre que um grupo externo controla um recurso de informação necessário. O seu desenvolvimento e manutenção envolvem recursos consideráveis, de modo que o número de modelos de contrato existentes deverá ser minimizado, sem descurar a sua precisão e detalhe; Minimizar as atualizações: deve-se atualizar um modelo apenas quando se revelar necessário. Com esta prática, os modeladores apercebem-se que agora atualizam um menor número de modelos e que estes não necessitam de ser perfeitos para revelarem valor ou servirem os seus propósitos. 9

11 'HILQLomRGHPRGHORViJHLV Podemos definir modelos ágeis usando AM como sendo um modelo eficiente que resolva os problemas nas etapas de um projeto, e esses modelos possuem um aspecto próprio [2]. Um modelo ágil tem de ser inteligível e não belo e cheio de dados irrelevantes, que só sobrecarrega a representação do software, ou seja, não é necessário sempre o uso de uma ferramenta CASE pra se construir um modelo, com um simples lápis e uma folha pode se construir um modelo suficientemente bom. Um modelo tem de ser suficientemente detalhado, a toda mudança o modelo deve ser atualizado e como dito anteriormente, não é necessário um modelo muito detalhado, pois alguns desses dados são inúteis e isso só torna o sistema mais complexo e com isso torna-se mais caro a sua atualização. Então o modelo deve ser simples o bastante para representar de forma clara e concisa o seu objeto, para deixar o custo da atualização bem baixo. E o mais importante, um modelo tem de atender o seu propósito, como assim? O modelo tem um importante papel, que é o de manter a equipe informada sobre um conjunto de dados. E se esses dados não forem mostrados de forma clara, então ele não estará cumprindo o seu papel e isso resultara em um custo maior para mantê-lo. 10

12 'HILQLomRGHPRGHODJHPiJLO Deve-se diferenciar o que são os modelos ágeis, descritos na seção anterior, do processo de modelagem ágil. Também é importante estabelecer o escopo do AM para esclarecer o que pode e o que não pode ser atendido por este processo: AM é um complemento aos processos existentes; não é uma metodologia completa: AM foca em modelagem e, em segundo plano, documentação [2]. AM pode ser utilizado para aumentar a eficiência da modelagem e documentação, tanto em processos prescritivos como o Unified Process quanto processos ágeis como o SCRUM. AM é uma técnica eficiente para a melhoria dos esforços de desenvolvimento de software de muitos profissionais da área. AM não é uma espécie de óleo mágico que resolverá todos os problemas, tampouco uma técnica que garantirá melhores resultados. A idéia por trás de AM é a de que se você utilizar seus esforços de modelagem de maneira mais racional e permanecer focado no projeto, então provavelmente sua eficiência no desenvolvimento do projeto irá aumentar; $0 QmR YLVD j HOLPLQDomR GD GRFXPHQWDomR AM simplesmente diz que a documentação deve ser feita de modo mais racional, maximizando o investimento do cliente no processo de desenvolvimento. $0 QmR YLVD j HOLPLQDomR GH IHUUDPHQWDV &$6( Pelo contrário: AM diz que a melhor ferramenta para criar um modelo é a mais simples. Se um modelo for mais fácil de ser desenhado em uma ferramenta CASE do que em um papel, então a ferramenta CASE deve ser utilizada para a criação desse modelo. 11

13 8VRGH80/QmRpVXILFLHQWH O princípio de múltiplos modelos do AM nos diz que nós precisamos ter muitas técnicas de modelagem em nosso trabalho se nós desejamos ser eficientes como desenvolvedores. O artigo Artefatos para AM apresenta uma visão geral de varias modelagem de artefatos, incluindo a UML, e como podemos observar a uma larga seleção de modelos disponível. Cada modelo tem seus prós e contras, consequentemente um único modelos não é suficiente para as necessidades de desenvolvimento de um projeto. Embora a UML seja de fato robusta, ela não é suficiente para as necessidades de modelagem, ou seja, UML não é suficiente. A UML dever ser usada como uma base de coleção de técnicas de modelagem a qual complementa outras técnicas. 12

14 )HUUDPHQWDV&$6( Segundo Ambler[3] no AM o uso de ferramentas CASE é tratado com muito cuidado, em todo projeto deve-se usar ferramentas CASE, mas deve ser utilizadas de forma inteligente. Como assim? Em certos projetos podemos adotar ferramentas simples como um quadro ou uma folha em branco para se desenhar os diagramas, já em outros casos, devemos utilizar ferramentas mais complexas, tais como, Compuware's OptimalJ, Borland s Together, Rational System Architect ou Computer Associate s ERWin. As ferramentas CASE devem ser usadas de forma inteligente para maximizar ao máximo o desenvolvimento do projeto, assim, se um dado projeto necessita de uma ferramenta mais complexa use a ferramenta mais complexa, já se o projeto não necessita de uma ferramenta complexa use a mais simples. Não há a necessidade de temer a mudanças. Mudança feita de forma correta só trás benefícios ao desenvolvimento de projetos. Custo de uso de ferramentas CASE: Treinamento da equipe; Custos de Avaliação; Geralmente as ferramentas mais complexas dificultam a entrada de novos desenvolvedores; A integração inadequada com outras ferramentas reduz a produtividade e/ou requer trabalho da integração. Benefícios no uso de ferramentas CASE: Reengenharia; Suporte para mudanças de níveis de abstração; Testa a consistência e validação de modelos; Sincronização dos modelos com código; Geração de documentação. 13

15 &RQFOXVmR O AM é uma metodologia que tem o objetivo de facilitar e ao mesmo tempo fazer com que o analista ganhe tempo no desenvolvimento. Para que não existam confusões sobre o que é AM, há algumas definições que nos auxiliará a identificar se o AM é a melhor solução pra um dado projeto. E essas definições são as seguintes [2]: AM é uma atitude, não um processo prescritivo; AM é um suplemento aos métodos existentes, ele NÃO é uma metodologia COMPLETA; AM é uma forma efetiva de se trabalhar em conjunto para atingir as necessidades dos patrocinadores no projeto; AM é uma coisa que funciona na prática, não é teoria acadêmica; AM não é uma solução salvadora ; AM é para o desenvolvedor médio, mas não é um substituto de pessoas competentes; AM não é um ataque à documentação, pelo contrário, AM aconselha a criação de documentos que têm valor; AM não é um ataque às ferramentas CASE; Com isso podemos observar que o Agile Modeling não foca muito a documentação e ferramentas, isso não quer dizer que não são utilizadas, são utilizadas, mas de forma inteligente e ágil. E também podemos observar que o AM não se aplica em todo tipo de projeto. 14

16 5HIHUrQFLDV [1] AMBLER, S. W. $JLOHPRGHOLQJ$0VLWH. Disponível em: <http://www.agilemodeling.com>. Acesso em: 01 maio [2] Santos, Alexandre Denes dos, Martins, Jefferson Carlos, Leal, Manoel Flavio. $JLOH0RGHOLQJ±2YHUYLHZ. Disponível em <http://www.pr.gov.br/batebyte/edicoes/2003/bb131/agile.shtml>. Acessado em: 28 abril [3] Ambler, Scott W. $JLOH0RGHOLQJ. Disponível em: <http://www.ambysoft.com/books/agilemodeling.html> Acessado em: 05 maio [4] Cardim, Ivan Cordeiro.$YDOLDQGRR0LFURVRIW6ROXWLRQV)UDPHZRUN IRU$JLOH6RIWZDUH'HYHORSPHQWHPUHODomRDRH[WUHPH3URJUDPPLQ Universidade Federal de Pernambuco. Recife. Pernambuco [5] Mendonça, Alexandre, Viera, José Nuno, Moura, Milton. $JLOH 0RGHOLQJ. Universidade de Lisboa. Lisboa. Portugal. 15

Resumo artigo Agile Modeling- Overview

Resumo artigo Agile Modeling- Overview Universidade Federal de Santa Catarina Centro Tecnológico Disciplina: Projetos I Aluno: Diogo Ludvig 0313812-7 Resumo artigo Agile Modeling- Overview Este trabalho se refere ao resumo do artigo Agile Modeling,

Leia mais

Desenvolvimento ágil de software

Desenvolvimento ágil de software Desenvolvimento ágil de software Desenvolvimento ágil de software (do inglês Agile software development) ou Método ágil é um conjunto de metodologias de desenvolvimento de software. O desenvolvimento ágil,

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

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

Algumas propriedades dos objetos:

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

Leia mais

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

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

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

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

Leia mais

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

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

Leia mais

FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas. OpenUp. Arquitetura de software

FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas. OpenUp. Arquitetura de software FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas OpenUp Arquitetura de software Fortaleza/2010 OpenUP Alguns anos atrás, vários funcionários da IBM começaram

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

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas. Métodos Ágeis Edes Garcia da Costa Filho edes_filho@dc.ufscar.br 1 Tópicos Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Extreme Programming (XP). Referências Bibliográficas. 2 Histórico

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Extreme Programming I Ricardo de Sousa Britto rbritto@ufpi.edu.br Você gostaria de trabalhar assim? Análise de Requisitos Longe de acordo Requerimentos Complexo Anarquia Perto

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

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

05/05/2010. Década de 60: a chamada Crise do Software

05/05/2010. Década de 60: a chamada Crise do Software Pressman, Roger S. Software Engineering: A Practiotioner s Approach. Editora: McGraw- Hill. Ano: 2001. Edição: 5 Introdução Sommerville, Ian. SW Engineering. Editora: Addison Wesley. Ano: 2003. Edição:

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

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

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

Leia mais

MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças.

MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças. METODOLOGIAS ÁGEIS SURGIMENTO As metodologias ágeis surgiram em resposta ao problema dos atrasos no desenvolvimento de software e aos cancelamentos, devido ao fato dos sistemas demorarem muito tempo para

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

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

Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF

Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF 1. Identificação de um problema a ser implementado 2. Análise

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

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

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

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2015 Desenvolvimento Rápido de Software 2 1 Para quê o Desenvolvimento Rápido de Software? Os negócios

Leia mais

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução.

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução. Introdução Métodos Ágeis em Engenharia de Software Thiago do Nascimento Ferreira Desenvolvimento de software é imprevisível e complicado; Empresas operam em ambiente global com mudanças rápidas; Reconhecer

Leia mais

Segurança de Aplicações Aula 6

Segurança de Aplicações Aula 6 Segurança de Aplicações Aula 6 Prof. Msc. Anderson da Cruz Apresentação Atividade Apresentação da atividade realizada na aula 4 2 Desenvolvimento de Software 3 Modelos de Desenvolvimento de Software Cascata

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS

UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS Professor: Adriel Ziesemer Disciplina: Engenharia de Software TRABALHO ACADÊMICO Cristian Santos - nº 45671 Guilherme

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO Santa Maria, 24 de Setembro de 2013. Revisão aula anterior Processos de Software Engenharia de Requisitos, Projeto,

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 à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

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

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

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

Leia mais

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

Desenvolvimento de Software requer Processo e Gestão

Desenvolvimento de Software requer Processo e Gestão Desenvolvimento de Software requer Processo e Gestão Antonio Mendes da Silva Filho * If Edison had a needle to find in a haystack, he would proceed at once with the diligence of the bee to examine straw

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Processos de software Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt Processo Um processo é uma série de etapas envolvendo actividades, restrições e

Leia mais

SCRUM. Fabrício Sousa fabbricio7@yahoo.com.br

SCRUM. Fabrício Sousa fabbricio7@yahoo.com.br SCRUM Fabrício Sousa fabbricio7@yahoo.com.br Introdução 2 2001 Encontro onde profissionais e acadêmicos da área de desenvolvimento de software de mostraram seu descontentamento com a maneira com que os

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Processo de software I Ricardo de Sousa Britto rbritto@ufpi.edu.br + O que é Engenharia de Software n Definição dada pela IEEE [IEE93]: n Aplicação de uma abordagem sistemática,

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

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES Marcelo Augusto Lima Painka¹, Késsia Rita da Costa Marchi¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

Análise de Sistemas Unidade III A Engenharia de Software Desenvolvimento Ágil

Análise de Sistemas Unidade III A Engenharia de Software Desenvolvimento Ágil Análise de Sistemas Unidade III A Engenharia de Software Desenvolvimento Ágil franciscogerson10@gmail.com Conteúdo Programático Introdução O que é um processo ágil A política de desenvolvimento ágil Fatores

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

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

Jonas de Souza H2W SYSTEMS

Jonas de Souza H2W SYSTEMS Jonas de Souza H2W SYSTEMS 1 Tecnólogo em Informática Fatec Jundiaí MBA em Gerenciamento de Projetos FGV Project Management Professional PMI Mestrando em Tecnologia UNICAMP Metodologia de apoio à aquisição

Leia mais

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

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

Leia mais

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

Guia Projectlab para Métodos Agéis

Guia Projectlab para Métodos Agéis Guia Projectlab para Métodos Agéis GUIA PROJECTLAB PARA MÉTODOS ÁGEIS 2 Índice Introdução O que são métodos ágeis Breve histórico sobre métodos ágeis 03 04 04 Tipos de projetos que se beneficiam com métodos

Leia mais

Modelos de Processo (métodos)

Modelos de Processo (métodos) Modelos de Processo (métodos) Um modelo de processo ou método define um conjunto de atividades específicas. Principais modelos: Cascata (Waterfall) Espiral (Spiral) Evolutivo Incremental Processo Unificado

Leia mais

Manifesto Ágil - Princípios

Manifesto Ágil - Princípios USP UNIVERSIDADE DO ESTADO DE SÃO PAULO Métodos Ágeis Alunos: Rogério Guaraci dos Santos - rgsantos@ime.usp.br Giulian Dalton Luz - gdaltonl@ime.usp.br Manifesto Ágil - Princípios Indivíduos e interações

Leia mais

Definição de Processos

Definição de Processos Definição de Processos Introdução Prof Ms Vinícius Costa de Souza www.inf.unisinos.br/~vinicius viniciuscs@unisinos.br Agenda Processos Definição Componentes Documentação Características Aplicações Nomenclaturas

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

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

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

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

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

METODOLOGIA ÁGIL. Lílian Simão Oliveira

METODOLOGIA ÁGIL. Lílian Simão Oliveira METODOLOGIA ÁGIL Lílian Simão Oliveira Fonte: Pressman, 2004 Aulas Prof. Auxiliadora Freire e Sabrina Schürhaus Alexandre Amorin Por quê???? Principais Causas Uso das Funcionalidades Processos empírico

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

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso Desenvolvimento de Software Dirigido por Caso de Uso Parte II: Especificando Caso de Uso Vinicius Lourenço de Sousa viniciuslsousa@gmail.com Atua no ramo de desenvolvimento de software há mais de 10 anos,

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

Com metodologias de desenvolvimento

Com metodologias de desenvolvimento Sociedade demanda grande quantidade de sistemas/aplicações software complexo, sistemas distribuídos, heterogêneos requisitos mutantes (todo ano, todo mês, todo dia) Mas, infelizmente, não há gente suficiente

Leia mais

Desenvolvimento Ágil de Software

Desenvolvimento Ágil de Software Desenvolvimento Ágil de Software Métodos ágeis (Sommerville) As empresas operam em um ambiente global, com mudanças rápidas. Softwares fazem parte de quase todas as operações de negócios. O desenvolvimento

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

Modelagem Ágil. (Melhorando o aprendizado num projeto de desenvolvimento) Pimentel Medeiros

Modelagem Ágil. (Melhorando o aprendizado num projeto de desenvolvimento) Pimentel Medeiros Modelagem Ágil Por Manoel Pimentel Medeiros (Melhorando o aprendizado num projeto de desenvolvimento) É Engenheiro de Software, com mais de 15 anos na área de TI, atualmente trabalha como Coach em metodologias

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

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Objetivo da aula Depois desta aula você terá uma visão sobre o conceitos

Leia mais

Desenvolvimento Ágil de Software em Larga Escala

Desenvolvimento Ágil de Software em Larga Escala Desenvolvimento Ágil de Software em Larga Escala Jutta Eckstein Encontro Ágil 2009 1 Agilidade é Quente Gerenciamento Ágil de Projetos Testes Ágeis Arquitetura Ágeis Offshore Ágil Investimento Ágil PLM

Leia mais

LISTA DE EXERCÍCIOS METODOLOGIAS ÁGEIS ENGENHARIA DE SOFTWARE 10/08/2013

LISTA DE EXERCÍCIOS METODOLOGIAS ÁGEIS ENGENHARIA DE SOFTWARE 10/08/2013 LISTA DE EXERCÍCIOS METODOLOGIAS ÁGEIS ENGENHARIA DE SOFTWARE 10/08/2013 Disciplina: Professor: Engenharia de Software Edison Andrade Martins Morais http://www.edison.eti.br prof@edison.eti.br Área: Metodologias

Leia mais

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade 4 e 5 de novembro de 2014.

SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade 4 e 5 de novembro de 2014. Metodologia de desenvolvimento de software de baixa complexidade: estudos iniciais Juliana da Rosa Dias juliana.da.rosa.dias@gmail.com Renan Alberto de Souza souza.renan@me.com Resumo: Esse artigo tem

Leia mais

Modelos de processos de desenvolvimento de software

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

Leia mais

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

Engenharia de Software

Engenharia de Software Engenharia de Software Processos de software Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt Processo Um processo é uma série de etapas envolvendo actividades, restrições e

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

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

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

Leia mais

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada

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

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê? Significado de XP? Extreme Programming (Programação Extrema). Ideal para que tipo de empresa (equipe): pequena, média, grande? Pequenas e Médias. Em software onde os requisitos não são conhecidos é recomendado

Leia mais

Suporte à Engenharia Reversa para o ambiente SEA

Suporte à Engenharia Reversa para o ambiente SEA Otavio Pereira Suporte à Engenharia Reversa para o ambiente SEA Orientador: Ricardo Pereira e Silva Universidade Federal de Santa Catarina - UFSC Departamento de Informática e Estatística - INE Florianópolis

Leia mais

Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos

Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos Engenharia de Software Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos Thiago P. da Silva thiagosilva.inf@gmail.com Agenda Engenharia de Requisitos Níveis de Descrição dos Requisitos Tipos

Leia mais

IDC TECHNOLOGY SPOTLIGHT

IDC TECHNOLOGY SPOTLIGHT IDC TECHNOLOGY SPOTLIGHT A importância da inovação em fornecedores de sistemas, serviços e soluções para criar ofertas holísticas Julho de 2014 Adaptado de Suporte a ambientes de datacenter: aplicando

Leia mais

UNIVERSIDADE ESTADUAL DE CAMPINAS - UNICAMP FACULDADE DE TECNOLOGIA - FT GUSTAVO ARCERITO MARIVALDO FELIPE DE MELO

UNIVERSIDADE ESTADUAL DE CAMPINAS - UNICAMP FACULDADE DE TECNOLOGIA - FT GUSTAVO ARCERITO MARIVALDO FELIPE DE MELO UNIVERSIDADE ESTADUAL DE CAMPINAS - UNICAMP FACULDADE DE TECNOLOGIA - FT GUSTAVO ARCERITO MARIVALDO FELIPE DE MELO Análise da Metodologia Ágil SCRUM no desenvolvimento de software para o agronegócio Limeira

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

extreme Digital Television (XDTv): um método Ágil para o Desenvolvimento de Aplicações para TV Digital.

extreme Digital Television (XDTv): um método Ágil para o Desenvolvimento de Aplicações para TV Digital. APÊNDICES A seguir são exibidos os documentos, formulários e questionários que contribuíram para a elaboração da tese, denominada: XDTv: um método Ágil para o Desenvolvimento de Aplicações para TV Digital.

Leia mais

Introdução Engenharia de Software

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

Leia mais

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

Comparativo entre Processos Ágeis. Daniel Ferreira dfs3@cin.ufpe.br

Comparativo entre Processos Ágeis. Daniel Ferreira dfs3@cin.ufpe.br Comparativo entre Processos Ágeis Daniel Ferreira dfs3@cin.ufpe.br O que discutiremos: Histórico Os Princípios Ágeis Comparação Do ponto de vista incremental Do ponto de vista funcional Vantagens e Desvantagens

Leia mais

Pós Graduação Engenharia de Software

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

Leia mais

Engenharia de Software-2003

Engenharia de Software-2003 Engenharia de Software-2003 Mestrado em Ciência da Computação Departamento de Informática - UEM Profa. Dra. Elisa H. M. Huzita eng. de software-2003 Elisa Huzita Produto de Software Conceitos Software

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

Leia mais

O que é um processo de software?

O que é um processo de software? O que é um processo de software? Um conjunto de atividades realizadas por pessoas cujo objetivo é desenvolvimento ou evolução de software e sua documentação. Atividades genéricas em todos os processos:

Leia mais

Tecnologias Atuais de. Desenvolvimento de Software

Tecnologias Atuais de. Desenvolvimento de Software Tecnologias Atuais de Desenvolvimento de Software volução dos Processos de Desenvolvimento de Software Prof. Luiz Antônio lpereira@uninet.com.br Agenda onceitos volução dos Processos de Software Modelos

Leia mais

PRD Tecnologia de Gestão Ltda. Julho/2008

PRD Tecnologia de Gestão Ltda. Julho/2008 O Processo de Desenvolvimento Telescope Julho/2008 Página 1 Sumário Introdução...3 O desenvolvimento de software tradicional...3 O problema da produtividade...3 O problema da portabilidade...6 O problema

Leia mais

INTRODUÇÃO À GESTÃO DE TECNOLOGIA DA INFORMAÇÃO. Adriana Beal, Eng. MBA Maio de 2001

INTRODUÇÃO À GESTÃO DE TECNOLOGIA DA INFORMAÇÃO. Adriana Beal, Eng. MBA Maio de 2001 INTRODUÇÃO À GESTÃO DE TECNOLOGIA DA INFORMAÇÃO, Eng. MBA Maio de 2001 Apresentação Existe um consenso entre especialistas das mais diversas áreas de que as organizações bem-sucedidas no século XXI serão

Leia mais

Metodologia de Desenvolvimento de Sistemas (Versão 2.0)

Metodologia de Desenvolvimento de Sistemas (Versão 2.0) SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA INTEGRAÇÃO NACIONAL DEPARTAMENTO NACIONAL DE OBRAS CONTRA AS SECAS Metodologia de Desenvolvimento de Sistemas (Versão 2.0) 1 Sumário 1Introdução... 5 1.1 Objetivo...

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

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1141 Processo e qualidade de software I Prof. Me. Elias Ferreira Sala: 210 F Quarta-Feira:

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais