METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

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

Download "METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS"

Transcrição

1 1 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS A metodologia é uma abordagem formalizada para a execução do CVDS. Existem várias metodologias de desenvolvimento de sistemas, e cada uma é única, com base na solicitação e foca na aplicação de cada fase do CVDS. Algumas metodologias são padrões formais utilizados por agências do governo, enquanto outras foram desenvolvidas por empresas de consultoria para vender aos clientes. Muitas organizações têm metodologias internas que foram aperfeiçoadas ao longo dos anos, e eles explicam exatamente como cada fase do CVDS é para ser realizado naquela empresa. Há muitas maneiras de categorizar metodologias. Se concentrar nos processos de negócio ou os dados que suportam o negócio. Sequenciação das fases do CVDS e da quantidade de tempo e esforço dedicado a cada uma. CODIFICAR E CORRIGIR O primeiro modelo de desenvolvimento de software é o que a maioria de nós fazemos quando estamos trabalhando em pequenos projetos desenvolvidos por nós mesmos, ou talvez com um único parceiro. É o modelo de código e correção. Não há requisitos formais. Sem documentação necessária. Nenhuma garantia de qualidade ou testes formais. A liberação é casual na melhor das hipóteses. Sem estimativas de esforço ou cronogramas. Codificar e corrigir gasta uma quantidade mínima de tempo para entender o problema e, em seguida, inicia a codificação. Compila o código e testá-o. Se não funcionar, corrige o problema e tenta novamente. Continua este ciclo de escreve-compila-executa-corrige até que o programa faça o que você quer sem erros fatais e, em seguida, apronte-o para uso. Todo programador conhece esse modelo. Todos nós já usamos mais do que uma vez, e ele realmente funciona em determinadas circunstâncias: a rápida, tarefas descartáveis. Não há manutenção envolvida e o modelo funciona bem para programas pequenos e unipessoais. Sem gerenciamento de configuração, pouco na forma de testes, nenhum planejamento arquitetônico e, provavelmente, pouco mais de um controle documental do programa para uma revisão de código, esse modelo é bom para protótipos rápidos e porco e nada mais. Software criado usando este modelo vai ser pequeno, curto em sutilezas da interface do usuário, e idiossincrático 1. 1 Peculiar e pessoa, muito íntimo e que só a própria pessoa entenderia.

2 2 Esta é uma excelente maneira de fazer protótipos rápidos, porcos e curtos, programas únicos. É útil para validar decisões de arquitetura e de mostrar uma versão rápida de um design de interface do usuário. Use-o para compreender o problema maior que você está trabalhando. PROJETO ESTRUTURADO É a primeira categoria de metodologias de desenvolvimento de sistemas. Estas metodologias tornaram-se dominante na década de 1980, substituindo o anterior, ad hoc 2, abordagem indisciplinado. Metodologias de projeto estruturadas adotam uma abordagem formal passo-a-passo para a CVDS que se move logicamente de uma fase para outra. Desenvolvimento em Cascata O primeiro e mais tradicional dos modelos de processos orientados a projeto é o modelo em cascata. Foi criado em 1970 por Winston Royce, aborda todas as fases do ciclo padrão de vida. Exige uma documentação detalhada em cada fase, juntamente com comentários, o arquivamento dos documentos, terminar a transição em cada fase do processo, gerenciamento de configuração e gerenciamento próximo de todo o projeto. O projeto estruturado também introduziu o uso de modelagem formal ou técnicas de diagramação para descrever os processos básicos de negócios e os dados que os suportam. O projeto estruturado tradicional utiliza um conjunto de diagramas para representar os processos e um conjunto separado de diagramas para representar os dados. O analista de sistemas deve decidir sobre qual conjunto desenvolver primeiro e usar como o núcleo do sistema 2 Direta, pontual, eventual,

3 modelo de diagramas de processo ou modelo de diagramas de dados. Há muito debate sobre quais devem vir em primeiro lugar, os processos ou os dados, porque ambos são importantes para o sistema. 3 As duas principais vantagens da abordagem projeto estruturado em cascata: Identifica os requisitos do sistema muito antes de a programação começa Minimiza mudanças nos requisitos como o produto do projeto. As duas desvantagens principais são: O desenho deve ser completamente especificado antes que a programação comece. Um longo período de tempo decorrido entre a conclusão da proposta do sistema na fase de análise e a entrega do sistema (geralmente vários meses ou anos). Um sistema pode também exigir retrabalho significativo porque o ambiente de negócios mudou desde o momento em que a fase de análise ocorreu. Quando as mudanças ocorrem, significa voltar para as fases iniciais e após a mudança através de cada uma das fases subsequentes, por sua vez. Retornar a Cascata A primeira coisa que acontece com o modelo cascata é que isso muda na cascata com feedback. Esta é uma admissão de que uma cascata em linha reta não funciona e que você precisa da capacidade de retornar em uma fase anterior, quando você descobre um problema na fase atual. A modelo cascata com feedback reconhece que você começa a trabalhar com requisitos, projeto, plano de teste incompletos e assim por

4 diante. Também constrói explicitamente a ideia que você terá que voltar às etapas anteriores do processo quando novas informações sobre o seu projeto são descobertas. As novas informações podem ser novos requisitos, requisitos atualizados, falhas de projeto, defeitos nos planos de teste e afins. Qualquer uma dessas exige que você revisite uma etapa anterior do processo para corrigir o problema. 4 Este modelo de processo ainda é bastante rígido, e tem as mesmas vantagens de um modelo em cascata quando se trata de novos projetos e equipes inexperientes. As duas principais desvantagens com o modelo cascata com feedback são: Que torna mais difícil saber quando terminou. Ele mexe com o seu cronograma, porque em qualquer fase pode haver mudanças inesperadas de volta a uma fase anterior do desenvolvimento. Desenvolvimento Paralelo Metodologia de desenvolvimento paralelo tenta resolver o problema de atrasos entre a fase de análise e a entrega do sistema. Em vez de fazer projeto e implementação em sequência, ele executa um projeto geral para todo o sistema e depois divide o projeto em uma série de subprojetos distintos que podem ser projetados e implementados em paralelo. Uma vez que todos os subprojetos estejam completos, há uma integração final das partes separadas, e o sistema é entregue. A principal vantagem desta metodologia é que ela pode reduzir o tempo de planejamento para entregar um sistema. Contudo, a abordagem ainda sofre problemas causados pela documentação de papel. Também adiciona um novo problema: Às vezes os subprojetos não são completamente independentes; decisões de projeto feitas em um subprojeto podem afetar os outros, e o fim do projeto pode exigir esforços de integração significativos.

5 5 DESENVOLVIMENTO RÁPIDO DE APLICATIVOS (RAD) Uma segunda categoria de metodologias inclui o desenvolvimento rápido de aplicativos (RAD). Trata-se de uma nova classe de metodologias de desenvolvimento de sistemas que surgiram na década de Metodologias baseadas em RAD tentam resolver os pontos fracos de metodologias de projeto estruturadas, ajustando as fases CVDS para obter alguma parte do sistema desenvolvido rapidamente e nas mãos dos usuários. Desta forma, os usuários podem compreender melhor o sistema e sugerir revisões que trazem o sistema mais próximo do que é necessário. A maioria das metodologias baseadas em RAD recomendam que os analistas utilizem técnicas especiais e ferramentas de computador para acelerar a análise, projeto e fases de implementação, tais como ferramentas CASE, sessões de joint application design (JAD), linguagens de programação visual de 4ª geração que simplificam e aceleram a programação (Visual Basic e Delphi), e geradores de código que automaticamente produzem programas de especificações de projeto. A combinação das fases alteradas do ciclo de vida e a utilização dessas ferramentas e técnicas melhoram a velocidade e qualidade do desenvolvimento de sistemas. No entanto, há um possível problema sutil com metodologias baseadas em RAD: gestão de expectativas dos usuários. Devido ao uso das ferramentas e técnicas que podem melhorar a velocidade e a qualidade de desenvolvimento de sistemas, as expectativas dos usuários de que é possível pode mudar drasticamente. Como um usuário compreende melhor a tecnologia da informação, os requisitos de sistemas tendem a se expandir. Este era um problema menor quando se utiliza metodologias que gastam bastante tempo na documentação de requisitos. Desenvolvimento em Fase

6 Uma metodologia de desenvolvimento baseado em fase quebra um sistema global em uma série de versões, que são desenvolvidas sequencialmente. A fase de análise identifica o conceito geral do sistema, e a equipe de projeto, usuários e patrocinador do sistema, então, classificam os requisitos em uma série de versões. Os requisitos mais importantes e fundamentais são empacotados para a primeira versão do sistema. A fase de análise, em seguida, leva ao projeto e implementação, mas apenas com o conjunto de requisitos identificados para a versão 1. Uma vez que a versão 1 é implementada, o trabalho começa na versão 2. Análise adicional é realizada com base nos requisitos previamente identificadas e combinadas com novas ideias e questões que surgiram a partir da experiência dos usuários com a versão 1. Assim que a versão 2 for projetada e implementada, e começa a trabalhar imediatamente na próxima versão. Este processo continua até que o sistema está completo. Tem a vantagem de obter rapidamente um sistema útil nas mãos dos usuários. Embora o sistema não execute todas as funções que os usuários precisam, começa a proporcionar valor de negócio mais cedo do que se o sistema fosse entregue após a conclusão, como é o caso com as metodologias cascata e paralela. Da mesma forma, os usuários começam a trabalhar com o sistema mais cedo, e são mais propensos a identificar exigências adicionais importantes mais cedo do que com situações de projetos estruturados. A principal desvantagem é que os usuários começam a trabalhar com sistemas que são intencionalmente incompletos. É fundamental identificar as características mais importantes e úteis e incluí-las na primeira versão e gerenciar as expectativas dos usuários ao longo do caminho. 6

7 7 Prototipação A metodologia baseada em prototipação realiza as fases de análise, projeto, e implementação ao mesmo tempo, e todas as três fases são realizadas repetidamente em um ciclo até que o sistema seja concluído. O primeiro protótipo é geralmente a primeira parte do sistema que é usado. Isso é mostrado aos usuários e ao patrocinador do projeto, que fornecem comentários. Estes comentários são usados para reavaliar, reformular e reimplementar um segundo protótipo, que fornece mais algumas funcionalidades. Esse processo continua em um ciclo até que os analistas, usuários e patrocinadores concordem que o protótipo oferece funcionalidade suficiente para ser instalado e utilizado na organização. Depois o protótipo (agora chamado de sistema) é instalado, o refinamento ocorre até que seja aceito como o novo sistema. A vantagem de uma metodologia baseada em protótipos: Fornece muito rapidamente um sistema com o qual os usuários podem interagir, mesmo que não esteja pronto para uso organizacional de primeirar. Tranquiliza os usuários que a equipe do projeto está trabalhando no sistema Ajuda a refinar mais rapidamente as necessidades reais. Muitas vezes, o protótipo passa por mudanças tão significativas que muitas decisões iniciais do projeto se tornam pobres. Isto pode causar problemas no desenvolvimento de sistemas complexos porque questões fundamentais e problemas não são reconhecidos até o processo de desenvolvimento. Prototipagem Descartável

8 Metodologias baseada em protótipos descartáveis são semelhantes aos de metodologias baseadas em protótipos na medida em que incluem o desenvolvimento de protótipos; no entanto, os protótipos descartáveis são feitos num ponto diferente no CVDS. Estes protótipos são utilizados para um propósito muito diferente do que os anteriormente discutidos, e têm uma aparência muito diferente. Têm uma fase de análise relativamente completa (reune informações e desenvolve ideias para concepção do sistema). Cada característica sugerida é examinada através da análise, projeto e construção de um protótipo de projeto. Um protótipo de projeto não é um sistema de trabalho; é um produto que representa uma parte do sistema que precisa de refinamento adicional, e que contém detalhes apenas o suficiente para permitir aos usuários compreender as questões em consideração. Um sistema desenvolvido usando este tipo de metodologia depende de vários protótipos durante as fases de análise e projeto. Cada um dos protótipos é utilizado para minimizar o risco associado ao sistema, confirmando que as questões importantes sejam entendidas antes que o sistema real esteja construído. Uma vez que as questões estejam resolvidas, o projeto progride em projeto e implementação. Neste ponto, os protótipos de projeto são jogados fora, que é uma diferença importante entre essa metodologia e metodologia de protótipos, em que os protótipos evoluem para o sistema final. Metodologias baseadas em protótipos descartáveis equilibram os benefícios das fases de análise e projeto bem pensada com as vantagens da utilização de protótipos para refinar questões fundamentais antes de um sistema estar construído. Pode levar mais tempo para entregar o sistema final, em comparação com metodologias baseadas em protótipos, mas este tipo de metodologia geralmente produz sistemas mais estáveis e confiáveis. 8 Modelo de Evolução Incremental A maneira tradicional de implementação do modelo incremental é conhecida como prototipagem evolutiva. Na prototipação evolucionária, prioriza

9 os requisitos como eles são recebidos e produz uma sucessão de cada vez mais rica em recursos de versões do produto. Cada versão é refinada usando feedback de clientes e os resultados da integração e testes do sistema. Este é um excelente modelo para um ambiente de requisitos de mudança ou ambíguo, ou com um domínio de aplicação pouco compreendido. Este é o modelo que evoluiu para os modernos processos de desenvolvimento ágeis. 9 DESENVOLVIMENTO ÁGIL Estas metodologias centradas em programação têm poucas regras e práticas, as quais são bastante fáceis de seguir. Eles se concentram na racionalização do CVDS, eliminando grande parte da modelagem e sobrecarga de documentação e o tempo gasto nessas tarefas. A abordagem ao desenvolvimento ágil é tipicamente utilizado em conjunto com metodologias orientadas a objeto. Necessita menos documentação e menos controles de processo. Destinada a projetos de software de pequeno e médio porte e equipes menores de desenvolvedores. Permite que as equipes de desenvolvedores se ajustem rapidamente às mudanças nos requisitos e exigências dos clientes. Propõe liberar o software concluído muito mais rapidamente do que os modelos orientados a plano. Programação Total (XP)

10 Programação total (extreme Programming) foi criada por volta de 1995 por Kent Beck e Ward Cunningham. XP é uma maneira leve, eficiente, de baixo risco, flexível, previsível, científica, e divertida para desenvolver software. XP conta com as seguintes ideias fundamentais comunicação, simplicidade, feedback e coragem: Envolvimento pesado do cliente: XP exige que um representante do cliente seja parte da equipe de desenvolvimento e esteja no local em todos os momentos. O representante do cliente trabalha com a equipe para criar o conteúdo de cada interação do produto, e cria todos os testes de aceitação para cada liberação provisória. Teste unitário contínuo: XP chama para os desenvolvedores escreverem os testes unitários para todos os novos recursos antes de qualquer código ser escrito. Desta forma, os testes, é claro, inicialmente falharão, mas dá ao programador uma métrica clara para o sucesso. Quando todos os testes unitários passarem, terminou de implementar o recurso. A programação em pares: XP exige que todo o código seja escrito por pares de programadores. Um escreve o código, enquanto o outro captura erros de digitação, faz sugestões, pensa sobre o projeto e testes, e assim por diante. A dupla muda os lugares periodicamente (a cada 30 minutos ou assim, ou quando um deles acha que ele tem uma melhor forma de implementar um pedaço de código). Oferece à equipe uma oportunidade de refatorar código existente - reprojetá-lo para torná-lo o mais simples possível, enquanto ainda atende aos requisitos do cliente. Ciclos curtos de iteração e lançamentos frequentes: XP normalmente usa ciclos de lançamento no intervalo de poucos meses e cada lançamento é composto de várias iterações, cada um na ordem de 4 a 6 semanas. XP também exige constante integração e construção do produto. Em um projeto XP, integrações e construções podem acontecer várias vezes ao dia. XP tenta minimizar riscos, controlando as quatro variáveis de desenvolvimento de software: custo, tempo, recursos e qualidade. XP descreve quatro atividades que são a base da disciplina: codificação, testes, ouvir e projetar. O ciclo de vida XP contém todas as fases do ciclo de vida genérico, mas comprime as três fases intermediárias projeto, código e teste para uma fase de implementação única. A fase de produção é adicionada após a implementação para permitir que o código seja estabilizado antes do lançamento. Scrum 10

11 Scrum é uma metodologia ágil. Scrum deriva seu nome do rugby, onde um scrum é uma forma de reiniciar o jogo depois de uma infração às regras. O scrum usa os avante em uma equipe de rugby para tentar (re)conquistar o controle de bola e avance para a linha da baliza adversária. A ideia da metodologia Scrum ágil é que uma pequena equipe esteja unificada em torno de um objetivo único e se reúne para sprints de desenvolvimento que leve-os ao objetivo. Vem da ideia de gestão de processo. É uma variação da abordagem de desenvolvimento iterativo e incorpora muitos dos recursos do XP. É uma abordagem mais de gestão que o XP e não define muitas das práticas de desenvolvimento detalhados como o XP faz, embora a maioria dos projetos Scrum utilize essas práticas. Utiliza equipes com não mais de 10 desenvolvedores. Scrum enfatiza a eficácia de equipes pequenas e propriedade coletiva. Scrum se caracterizada por sprint, uma iteração entre uma e quatro semanas. Às vezes um sprint pode terminar mais cedo, ou com menos funcionalidades do que foi proposto. Um sprint (corrida) sempre oferece um produto utilizável. Os requisitos são encapsulados em dois pedaços: a lista de prioridades de todos os requisitos para o projeto, a lista priorizada de requisitos para o sprint atual. Projetos Scrum é facilitado por um Scrum Master cujo trabalho é gerenciar os processos pendentes, executar reuniões diárias do Scrum, e proteger a equipe de influências externas durante o sprint. O Scrum Master geralmente não é um desenvolvedor. Após cada sprint é realizada uma reunião de planejamento para o próximo sprint. Esta reunião também pode decidir se o projeto está concluído. Após o último sprint programado é feito um sprint final que corrige eventuais falhas existentes, finaliza a documentação, e geralmente produz o código. Quaisquer requisitos deixados em reserva são transferidos para o próximo lançamento. PROCESSO DE DESENVOLVIMENTO DE SOFTWARE UNIFICADO É um processo de software orientado a casos de uso que utiliza a notação UML. Também é conhecido como o Rational Unified Process (RUP). É um processo popular de desenvolvimento de software baseada em UML. Consiste em núcleo de cinco fluxos trabalho, quatro fases e é iterativo. Cada ciclo atravessa todas as quatro fases e endereça o desenvolvimento do núcleo de um fluxo de trabalho. 11

12 Os fluxos de trabalho e seus produtos são as seguintes: requisitos (modelo de casos e uso), análise, projeto, implementação e teste. Como o modelo espiral, o USDP é um processo orientado à risco. As fases do ciclo de vida do USDP são as seguintes: 1. Iniciação: a ideia das sementes é desenvolvida para um nível suficiente para justificar entrar na fase de elaboração. 2. Elaboração: a arquitetura de software é definido. 3. Construção: o software é construído ao ponto dele estar pronto para a libertação para a comunidade de usuários. 4. Transição: o software é entregue à comunidade de usuários.. 12 SELEÇÃO DA METODOLOGIA DE DESENVOLVIMENTO APROPRIADA Por existirem muitas metodologias, o primeiro desafio enfrentado pelos analistas é selecionar qual delas usar. Escolher uma metodologia não é simples, porque nenhuma metodologia é sempre melhor. Muitas organizações têm padrões e políticas para orientar a escolha da metodologia. Um item importante é o grau de experiência da equipe de analistas. Muitas das metodologias RAD requerem o uso de "novas" ferramentas e técnicas que têm uma curva de aprendizagem significativa. Muitas vezes, essas ferramentas e técnicas aumentam a complexidade do projeto e necessita de um tempo extra para aprender. No entanto, uma vez que são adotadas e a equipe torna-se experiente, elas podem aumentar significativamente a velocidade em que a metodologia pode entregar um sistema final. EXERCÍCIOS 1. (TJ-RJ 2012) Dos diferentes modelos para o ciclo de vida de desenvolvimento de um software é correto afirmar que a) o modelo em espiral é o mais simples e o mais antigo.

13 b) o modelo em cascata é o menos flexível e mais simples. c) a fase de especificação de requisitos pode estar ausente do modelo. d) a fase de implementação é sempre a última do modelo. e) o modelo em cascata é o mais recente e comple-xo. 2. (TSE 2012) Observe a figura, que representa uma ferramenta de processo, conhecida como Ciclo de Vida de Sistema. Devido ao encadeamento de uma fase com outra, esse modelo é conhecido como cascata. Observe. 13 Um das fases prevê a execução de atividades que envolvem a identificação e a descrição das abstrações fundamentais do sistema de software e suas relações e o estabelecimento de uma arquitetura geral para o sistema como um todo. Essa fase denomina-se a) definição de requisitos. b) projeto de sistema e software. c) implementação e teste de unidade. d) integração e teste de sistema. 3. ( TSE 2012) Observe um modelo de ciclo de vida para desenvolvimento de sistemas. Nessa abordagem, o desenvolvimento do produto de software é dividido em ciclos, sendo identificadas em cada ciclo, as fases de análise, projeto, implementação e testes. Este modelo é conhecido como ciclo de vida a) por prototipação em cascata.

14 b) por estágios em módulos. c) iterativo e incremental. d) iterativo e incremental. 4. (UDESC 2010) Identifique se são verdadeiras ( V ) ou falsas ( F ) as seguintes afirmativas, com relação a ciclo de vida de software: ( ) Pode-se considerar que na etapa de projeto ocorre a modelagem do domínio do problema. ( ) Pode-se considerar que na etapa de análise ocorre a modelagem do domínio do negócio. ( ) O modelo de ciclo de vida espiral prevê análise de riscos. ( ) Os modelos de ciclo de vida espiral e incremental prevêem desenvolvimento cíclico. 5. (SAD-PE 2010) Um desenvolvedor de software foi contratado por uma empresa de software, mas ainda não tem informações acerca do modelo de desenvolvimento, do modelo de ciclo de vida ou do processo de desenvolvimento de software sob o qual se estruturam as atividades da organização. O desenvolvedor, no entanto, ao chegar às dependências da empresa, no seu primeiro dia de trabalho, começou a observar alguns comportamentos desempenhados pelos seus colegas. Tratando tais comportamentos como evidências do desempenho de um processo aderente a determinado modelo, o desenvolvedor registrou algumas proposições acerca do modelo empregado na empresa. A respeito da situação acima, em cada uma das opções a seguir, é apresentada uma evidência coletada pelo desenvolvedor, que deve ser analisada individualmente, independentemente das demais evidências coletadas. Assinale a opção em que a conclusão de evidência é coerente com o que estabelece o corpo de conhecimento da engenharia de software acerca desse tema. a) Os requisitos do software da organização são, detalhadamente, descritos por meio de fórmulas e diagramas, usando-se notações matemáticas embasadas na teoria dos conjuntos, relações e funções, e no cálculo de predicados. Portanto, a empresa usa métodos ágeis. b) O gerente geral de projetos da empresa decidiu, junto a um cliente, realizar algumas modificações nos requisitos de um produto desoftware que já se encontrava na fase de testes e comprometeu-se a incluir tais requisitos na próxima liberação do produto. Essa decisão permite inferir que o modelo de desenvolvimento de software empregado não é do tipo cascata. c) Imediatamente após ter testado um protótipo evolucionário, um dos colegas da empresa iniciou a produção de uma lista de riscos aos quais o projeto está sujeito. Dessa forma, a empresa não utiliza um modelo de ciclo de vida embasado no espiral. d) Todos os colegas com os quais o desenvolvedor teve contato lhe informaram que desenvolvem testes unitários para os módulos que desenvolvem, realizam programação em pares e, periodicamente, 14

15 fazem refatoração de código. Nesse caso, a empresa não utiliza o modelo de programação extrema. e) A empresa dispõe de processo bem estabelecido para medição e análise da qualidade dos processos de software e produtos desenvolvidos, não ocorrendo o mesmo com processos de gerenciamento de acordo com os vários fornecedores da empresa. Assim, a empresa tem chances de estar aderente ao CMMI, no nível de maturidade (TRANSPETRO 2011) Na Engenharia de Software, há diversos modelos de ciclo de vida, definidos com variados níveis de formalidade. O modelo a) cascata (ou clássico) é adequado para controlar riscos e requisitos voláteis durante o desenvolvimento do sistema. b) codificação e correção (code and fix) é adequado para alcançar um bom nível de manutenibilidade do sistema. c) prototipagem descartável é adequado para descartar a fase de levantamento de requisitos do sistema a ser desenvolvido. d) prototipagem evolutiva entrega uma versão inicial do sistema, que considera requisitos já definidos com o cliente. e) espiral é inadequado quando são necessários o uso de protótipos durante a validação do sistema e o reúso de software. 7. (BDMG 2011) O modelo de ciclo de vida de processo de software cujos principais subprocessos são executados em estrita sequência, o que permite demarcá-los como pontos de controle bem definidos, é denominado: a) Espiral. b) Cascata. c) Prototipagem evolutiva. d) Dirigidos por prazo. 8. (TRT-MT 2011) Considere: I. Modificações devem ser ajustadas facilmente em módulos isolados e fáceis de encontrar. Se não atendem a isso, um reprojeto deverá ser necessário. II. Modificações de tabelas devem ser especialmente fáceis de fazer. Se qualquer modificação não é rápida e fácil de ser feita, indica-se a realização de um reprojeto. III. Modificações devem ser fáceis para serem feitas na forma de iterações. Se elas não são, haverá um problema básico tal como um projeto falho ou uma proliferação de correções. No contexto das bases para direcionar a implementação e análise do processo iterativo e incremental, está correto o que se afirma em a) I e III, apenas. b) III, apenas. c) I e II, apenas. d) II e III, apenas. 15

16 e) I, II e III. 9. (CFA 2010) No modelo de desenvolvimento em espiral, cada loop da espiral representa uma fase do processo de software. A importante distinção entre este modelo e os demais é a consideração em todos os ciclos da análise de a) Escopo. b) Requisitos. c) Implementação e teste. d) Riscos. 10. (CFA 2010) O modelo espiral para a Engenharia de Software foi desenvolvido acrescentando-se novos elementos as melhores características de outros modelos. Segundo o modelo espiral, a determinação dos objetivos, alternativas e restrições está relacionada à atividade de a) análise de risco. b) planejamento. c) engenharia. d) avaliação feita pelo cliente. 11. (AL-RR 2010) Das seguintes informações sobre modelos de ciclos de vida de desenvolvimento de software, é INCORRETO afirmar: a) O modelo de ciclo de vida em espiral divide o desenvolvimento do software em iterações. b) O modelo de ciclo de vida em espiral é orientado a reduzir os riscos do projeto. c) No modelo de ciclo de vida em cascata, as etapas acontecem de maneira seqüencial. d) O modelo de ciclo de vida em cascata permite instalar no final de cada fase uma versão do software no cliente. e) O modelo de prototipagem evolucionária permite que desde muito cedo se ganhe uma melhor percepção dos requisitos do sistema. 12. (UFF 2009) Em relação aos ciclos de vida do software, o desenvolvimento de sistemas por meio de ciclo de vida iterativos garante ao sistema: a) atualização contínua. b) legalidade. c) segurança. d) legibilidade. e) utilização mínima de recursos. 13. (BAHIAGÁS 2010) No modelo em espiral do processo de software cada loop na espiral representa a) uma disciplina de requisitos. b) um enfoque de banco de dados. c) uma tomada de decisão. d) uma fase do processo. e) um ciclo de programa. 16

17 14. (ELETROBRÁS 2010) A figura abaixo representa, simplificadamente, as fases do Modelo de Ciclo de Vida Cascata. 17 Dentre as diversas características desse modelo, afirma-se que a) existe um protótipo do sistema, ao final de cada fase, cada vez mais completo, que permite ao cliente avaliar o produto. b) nenhuma fase é terminada até que a sua documentação tenha sido completada e seus produtos aprovados pelo grupo de garantia da qualidade. c) o custo de modificação do sistema é praticamente o mesmo, independente da fase em que o projeto esteja. d) as fases podem se sobrepor, para acelerar o projeto. e) datagramas de fluxo de dados ou diagramas UML são utilizados como técnicas gráficas para se comunicar com seus clientes. 15. (ELETROBRÁS 2010) O gerenciamento de grande quantidade de informação na construção de sistemas pode ser contornada usando-se a técnica de refinamentos sucessivos, utilizada no modelo de Ciclo de Vida Iterativo e Incremental. A construção de sistemas, com base nesse modelo de ciclo de vida, a) é dividida em, no máximo, 7 incrementos, com 7 iterações cada, devido à restrição da Lei de Miller. b) tem seus incrementos trabalhados simultaneamente, acelerando o desenvolvimento do sistema. c) contém atividades que podem exigir trabalho, em maior ou menor grau, em todos os incrementos planejados. d) define que as atividades de testes sejam realizadas no último incremento, que é planejado exclusivamente para tal propósito. e) deve ter a mesma quantidade de iterações em todos os incrementos planejados. 16. (ELETROBRÁS 2010) O termo Modelo de Ciclo de Vida é utilizado para descrever um grupo de atividades e a forma como elas se relacionam. Considerando o Modelo de Ciclo de Vida de Sistemas por Prototipagem Evolucionária, afirma-se que a) os clientes não têm acesso a uma visualização dos progressos do desenvolvimento. b) é possível determinar com exatidão o tempo que o projeto irá demorar. c) não deve ser utilizado quando os requisitos mudam rapidamente e o cliente está relutante em aceitar um conjunto de requisitos.

18 d) não há uma forma de saber de antemão o número de iterações que serão necessárias. e) apenas a fase final gera um produto que não é um documento. 17. (ELETROBRÁS 2010) Uma fábrica de software utiliza um ciclo de vida de desenvolvimento de sistemas que contempla um conjunto sequencial de ações de desenvolvimento, desde o diagnóstico do problema até os testes necessários à implementação. Além disso, nada está terminado até que todas as fases estejam completas. Esse ciclo de vida é conhecido como a) XP. b) Cascata. c) SCRUM. d) Continuum. e) Espiral. 18. (CETESB 2009) Considere um sistema cujos requisitos de interface são definidos apenas quando o cliente realiza um test-drive na aplicação e aprova essa interface. Assinale a alternativa que apresenta o modelo mais adequado para o desenvolvimento da interface desse sistema. a) Ágil. b) Cascata. c) Iterativo incremental. d) Prototipação. e) Rapid Application Development. 19. (INMETRO 2009) Assinale V (verdadeiro) ou F (falso) para as afirmações abaixo: ( ) Em um ciclo de vida, com base em componentes de software, as atividades de busca, avaliação, adaptação e testes de componentes ocorrem basicamente após as fase de desenho e antes da fase de testes do sistema de software. ( ) As técnicas de refatoração de código compreendem, entre outras, a remoção de números mágicos e a introdução de padrões de desenho. ( ) As técnicas, os métodos e as ferramentas classicamente associados às fases do modelo de ciclo de vida em cascata, na metodologia RUP, estão melhor distribuídos ao longo das disciplinas do que ao longo das fases do modelo. 20. (TRT-SE 2010) À medida que se avança pelo modelo ocorre uma iteração e o software evolui para estágios superiores, normalmente com aumento da complexidade. Cada iteração está provida das atividades determinadas pelos quadrantes planejamento, avaliação de alternativas e riscos, desenvolvimento do software e avaliação do cliente. No ciclo de vida de desenvolvimento de software, trata-se da propriedade do modelo a) Cascata. b) Incremental. c) Espiral. 18

19 19 d) Prototipação. e) Balbúrdia. REFERÊNCIA BIBLIOGRÁFICA DENNIS, Alan; WIXOM, Barbara; TEGARDEN, David. System Analysis Design UML Version rd ed. Hoboken: John Wiley & Sons, 2009 p GOMAA, Hassan. Software Modeling and Design. 1 st Cambridge University Press, 2011 p ed. Cambridge: DOOLEY, John. Software Development and Professional Practice. 1 st. ed. New York: Apress, 2011 p. 7-25

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Análise e Projeto. Prof. Erinaldo Sanches Nascimento Análise e Projeto Prof. Erinaldo Sanches Nascimento Objetivos Apresentar o ciclo de vida de desenvolvimento de sistemas. Descrever as metodologias de desenvolvimento de sistemas. 2 Introdução Programação

Leia mais

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata: QUESTÕES 1. 0 que é domínio da aplicação (ou do problema)? 2. Qual a importância da engenharia de software e como se justificam os custos a ela associados? 3. O que é processo de desenvolvimento de software

Leia mais

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome: Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. No ciclo de vida de software, a estrutura de dados, a arquitetura, os detalhes procedimentais

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento

Leia mais

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome: Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. A figura abaixo representa, simplificadamente, as fases do Modelo de Ciclo de Vida Cascata.

Leia mais

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

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

Leia mais

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia Engenharia de Software Processos Desenvolvimento de Software Tradicionais 2014/2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR Processos Um conjunto estruturado de atividades necessárias para o desenvolvimento

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE CURSO TÉCNICO DE INFORMÁTICA Módulo A ENGENHARIA DE SOFTWARE Processos de Software O PROCESSO É LENTO... Todo software deve ser construído de forma organizada, através de processos. Um processo pode ser

Leia mais

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS 1. Com relação à engenharia de software, julgue os itens seguintes. Engenharia de software não está relacionada

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

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

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

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Para Sommerville a arquitetura de sistemas descreve o sistema em termos de um conjunto de unidades

Leia mais

Processos de Software

Processos de Software Riscos Processos de Software Gidevaldo Novais (gidevaldo.vic@ftc.br) Muitos problemas no desenvolvimento de software provêm de riscos Seriam problemas potenciais que poderão ocorrer em um futuro próximo

Leia mais

Processos de Software

Processos de Software Processos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos profs. Márcio Cornélio, Vinicius

Leia mais

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br 2 Vale a pena ver de novo Modelo de Processo:

Leia mais

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU) Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU) Prof. Seiji Isotani (sisotani@icmc.usp.br) Modelos de Processo de

Leia mais

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

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno PDS Aula 1.5 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento

Leia mais

Modelos de Processo de Software

Modelos de Processo de Software Modelos de Processo de Software Engenharia de Software Profa. Dra. Rosana T. Vaccare Braga 1 o semestre de 2017 (material produzido e atualizado pelos professores do grupo de pesquisa em Engenharia de

Leia mais

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,

Leia mais

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software Professor Ariel da Silva Dias Modelos de Processo de Software Conjunto de atividades que leva à produção de um produto de Software [Sommerville,2011]; Podemos contar com ferramentas de apoio com o objetivo

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos

Leia mais

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Modelos de Processo de Software Desenvolver software é geralmente uma tarefa complexa e sujeita

Leia mais

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias Fábricas de Software Processos de Software Jorge Dias Um processo estruturado, controladoe melhoradode forma contínua, considerando abordagens de engenharia industrial, orientado para o atendimento a múltiplas

Leia mais

Aula 3.1 Introdução e Visão Geral do Processo Unificado

Aula 3.1 Introdução e Visão Geral do Processo Unificado PDS Aula 3.1 Introdução e Visão Geral do Processo Unificado Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Definição O Processo Unificado (Unified Process, UP) é um tipo de processo de desenvolvimento de

Leia mais

Professor Emiliano S. Monteiro

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

Leia mais

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

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

Leia mais

RUP/PSDS. Introdução e Comparação

RUP/PSDS. Introdução e Comparação RUP/PSDS Introdução e Comparação Agenda RUP Introdução Mlehores Práticas Estrutura Tempo Conteúdo Contraponto PSDS Introdução Objetivos Promover planejamento, medição e controle dos projetos Reduzir riscos

Leia mais

Processo de Desenvolvimento. Edjandir Corrêa Costa

Processo de Desenvolvimento. Edjandir Corrêa Costa Processo de Desenvolvimento Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br Processo de Desenvolvimento Definição: É um roteiro que determina quais são as tarefas necessárias e em que ordem elas devem

Leia mais

2. Processos em Engenharia de Software

2. Processos em Engenharia de Software Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br Engenharia de Software 2. Processos em Engenharia de Software.......... 2.1. Visão Geral Conceito de processo conjunto

Leia mais

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -

Leia mais

ENGENHARIA DE SOFTWARE

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

Leia mais

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

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno PDS Aula 1.6 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento

Leia mais

14/11/2013. Capítulo 2. Processos de Software. Tópicos apresentados. Oprocessodesoftware. Modelos de processo de software. Atividades de processo.

14/11/2013. Capítulo 2. Processos de Software. Tópicos apresentados. Oprocessodesoftware. Modelos de processo de software. Atividades de processo. 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

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

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

Leia mais

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam: Prof. Edson dos Santos Cordeiro 1 Tópico: Objetivo: Introdução a Ciclo de Vida do Software Conhecer os principais conceitos relacionados a ciclo de vida do software. Bibliog. Base: McCONNEL, Steve. Rapid

Leia mais

Rational Unified Process (RUP)

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

Leia mais

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Problemas e Práticas Recomendadas no Desenvolvimento de Software Problemas e Práticas Recomendadas no Desenvolvimento de Software Objetivos deste módulo Levantar problemas enfrentados na prática do desenvolvimento de software Discutir boas práticas para o desenvolvimento

Leia mais

1. A função DevOps, que se concentra principalmente em Produtos & Serviços:

1. A função DevOps, que se concentra principalmente em Produtos & Serviços: Questões de múltipla escolha 1. A função DevOps, que se concentra principalmente em Produtos & Serviços: a) Desenvolvimento Ágil b) Melhoria Contínua c) Automatizar tudo d) Centralizar o Desenvolvimento

Leia mais

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis Professor Ariel da Silva Dias RUP e Modelos Ágeis Modelo de processo de software proprietário. Desenvolvido pela empresa Rational Software Corporation. Em 2003 a empresa foi adquirida pela IBM. Então O

Leia mais

Engenharia de Software

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

Leia mais

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um. Aula 02 CICLO DE VIDA DO SOFTWARE O ciclo de vida de um software é uma estrutura contendo todos os processos e tarefas envolvendo o desenvolvimento e finalização, ou seja, as etapas de operação e manutenção

Leia mais

Processos de Software

Processos de Software Processos de Software Capítulo 2 Processos de Software slide 47 2011 Pearson Prentice Hall. Todos os direitos reservados. 1 Tópicos apresentados Modelos de processo de software. Atividades de processo.

Leia mais

Processos de Software

Processos de Software DCC / ICEx / UFMG Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Processos Procedimentos e métodos definindo relação entre tarefas PROCESSO Pessoas com habilidades, treinadas

Leia mais

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

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

Leia mais

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia de Software Processo de Desenvolvimento de Software Engenharia de Software Processo de Desenvolvimento de Software Prof. Elias Ferreira Elaborador por: Prof. Edison A. M. Morais Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar

Leia mais

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia Software. Ení Berbert Camilo Contaiffer Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado

Leia mais

Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Modelos de Processo de Software SSC 121 - Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 ENGENHARIA DE SOFTWARE 3 pode ser vista como uma abordagem de desenvolvimento de

Leia mais

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

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

Leia mais

Modelos de Ciclo de Vida

Modelos de Ciclo de Vida Modelos de Ciclo de Vida Modelos de ciclo de vida descrevem as etapas do processo de desenvolvimento de sistemas e as atividades a serem realizadas em cada etapa. A definição dessas etapas e atividades

Leia mais

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu

Leia mais

Capítulo 2 - Processos de Software

Capítulo 2 - Processos de Software Capítulo 2 - Processos de Software Capítulo 2 Processos Software 1 Assuntos abordados Modelos de processo de software Atividades no processo de software Mudança no processo de software Melhoria de processos

Leia mais

Modelos de Processo de Software

Modelos de Processo de Software Modelos de Processo de Software Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com PAE: Armando M. Toda armando.toda@gmail.com (material produzido e atualizado pelos professores

Leia mais

Princípios da Engenharia de Software aula 03

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

Leia mais

Processos de Software

Processos de Software Processos de Software Um processo de software é um conjunto de atividades que leva à produção de um produto de software Um modelo de processo de software é uma representação abstrata de um processo de

Leia mais

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

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 09289 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 3. Especificação e Análise de Requisitos

Leia mais

Desenvolvimento ágil de software

Desenvolvimento ágil de software Desenvolvimento ágil de software Prof. Cristiane Aparecida Lana slide 1 Bibliografia utilizada: Mais opções visite meu site, clique aqui para acessá-lo. slide 2 2011 Pearson 2011 Pearson Prentice Prentice

Leia mais

Processos de. Desenvolvimento de Software

Processos de. Desenvolvimento de Software Processos de Desenvolvimento de Software O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento de um sistema de software

Leia mais

Informática I. Aula Aula 21-29/11/06 1

Informática I. Aula Aula 21-29/11/06 1 Informática I Aula 21 http://www.ic.uff.br/~bianca/informatica1/ Aula 21-29/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome: ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1: Assinale a função correta de engenharia de requisitos:

Leia mais

Paradigmas de Software

Paradigmas de Software Paradigmas de Software Objetivos Introdução aos paradigmas de software. Descrição de modelos genéricos e sua aplicabilidade. Descrição dos processos de requisitos, desenvolvimento, teste e evolução. Modelo

Leia mais

Extreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira

Extreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira Projeto de Desenvolvimento Software Extreme Programming Prof.: Ari Oliveira O Extreme Programming (XP) é uma metodologia de desenvolvimento de software que auxilia na produção de sistemas de maior qualidade,

Leia mais

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

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

Leia mais

Escolhendo um Modelo de Ciclo de Vida

Escolhendo um Modelo de Ciclo de Vida Escolhendo um Modelo de Ciclo de Vida Ciclos de Vida 1 Ciclo de Vida de um Produto Qualquer desenvolvimento de produto inicia com uma idéia e termina com o produto pretendido. O ciclo de vida de um produto

Leia mais

Engenharia de Software. Herbert Rausch Fernandes

Engenharia de Software. Herbert Rausch Fernandes Engenharia de Software Herbert Rausch Fernandes O Processo Unificado É uma tentativa de unir os melhores recursos e características dos modelos convencionais; Reconhece a importância da comunicação com

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

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

Leia mais

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

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

Leia mais

Métodos Ágeis e Programação Extrema (XP)

Métodos Ágeis e Programação Extrema (XP) Métodos Ágeis e Programação Extrema (XP) 1 Métodos Ágeis A insatisfação com os overheads envolvidos em métodos tradicionais de desenvolvimento levou à criação dos métodos ágeis. Esses métodos: Focam no

Leia mais

Desenvolvimento de Projetos

Desenvolvimento de Projetos Desenvolvimento de Projetos Aula 1.3 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; Modelo Incremental; Desenvolvimento Evolucionário;

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Unidade VII Ferramentas de PDS. Luiz Leão

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Unidade VII Ferramentas de PDS. Luiz Leão PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático RUP (Rational Unified Process) PRAXIS Introdução Foi proposto como uma resposta aos problemas

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CI 221 DISCIPLINA: Engenharia de Software AULA NÚMERO: 3 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos básicos como processo, projeto, produto, por que

Leia mais

Prof. Dr. Thiago Jabur Bittar

Prof. Dr. Thiago Jabur Bittar Prof. Dr. Thiago Jabur Bittar Uma representação abstrata e simplificada do processo de desenvolvimento software, tipicamente mostrando as principais atividades e dados usados na produção e manutenção de

Leia mais

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO CURSO ANÁLISE E DESENVOLVIMENTO DE SISTEMA MODELO DOS PROCESSOS DE SOFTWARE ALUNO SAMUEL BRAGA LOPES SUMÁRIO - AGENDA INTRODUÇÃO MODELO CASCATA

Leia mais

Processo Unificado. Leonardo Gresta Paulino Murta

Processo Unificado. Leonardo Gresta Paulino Murta Processo Unificado Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Processo de Software Desenvolvimento Iterativo Desenvolvimento Evolutivo Desenvolvimento Ágil Processo Unificado Fronteira entre

Leia mais

Visão Geral do RUP (Rational Unified Process)

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

Leia mais

Desenvolvimento Ágil de Software

Desenvolvimento Ágil de Software DCC / ICEx / UFMG Desenvolvimento Ágil de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Agenda Métodos ágeis Histórico e Motivação Manifesto ágil Desenvolvimento dirigido a planos e ágil

Leia mais

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro Geralmente os problemas que devem ser resolvidos são complexos portanto sua resolução necessita de análise, ou seja, uma investigação. Prof. Emiliano S. Monteiro Análise:

Leia mais

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini Unidade II MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Modelagem de sistemas A fase do desenvolvimento do sistema exige: esforço; dedicação; envolvimento; um único objetivo. Estilo de desenvolvimento

Leia mais

CICLO DE VIDA DE SOFTWARE

CICLO DE VIDA DE SOFTWARE WESLLEYMOURA@GMAIL.COM CICLO DE VIDA DE SOFTWARE ANÁLISE DE SISTEMAS Introdução ao ciclo de vida de software Qualificar um produto é muito bom para que tenhamos certeza de que há seriedade e preocupação

Leia mais

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO CONTEÚDO Conceitos básicos Caracterização de um processo Estágios básicos Linha do tempo Cascata Espiral Prototipação Modelo-V Orientado

Leia mais

Cadeira: Engenharia de Software

Cadeira: Engenharia de Software Cadeira: Engenharia de Software Aulas 9, 10 15/08/15 Docente: Cláudia Ivete F. Jovo cifjovo@gmail.com or cjovo@up.ac.mz M.Sc. Cláudia Jovo 2017/DI 0 Definição de Eng. Software; Eng. Software Tecnologia

Leia mais

Aula 2 Processo de Software

Aula 2 Processo de Software Aula 2 Processo de Software Processo de software O que é processo de software? Deve incluir 4 partes fundamentais Não existe um processo ideal Certo ou errado? O tipo de software influencia no tipo de

Leia mais

MODELAGEM DE SISTEMAS Unidade 5 Ciclo de Vida Iterativo e Incremental. Luiz Leão

MODELAGEM DE SISTEMAS Unidade 5 Ciclo de Vida Iterativo e Incremental. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático Apresentação Etapas e Disciplina Técnicas e modelos aplicados Definição de iterações Introdução Foi proposto como uma resposta

Leia mais

Modelos Prescritivos de Processo

Modelos Prescritivos de Processo "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software Modelos Prescritivos de Processo Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação

Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação - Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação COM06852 - Introdução aos SI Prof.

Leia mais

Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne

Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 1 Processos de software Atividades para

Leia mais

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos Processos de engenharia de requisitos Processos de Engenharia de Requisitos Os requisitos e as formas de obtê-los e documentálos variam drasticamente de um projeto para o outro Contudo, existe uma série

Leia mais

Prof. Ms. Ronaldo Martins da Costa

Prof. Ms. Ronaldo Martins da Costa Prof. Ms. Ronaldo Martins da Costa Diferentes conjuntos de etapas que envolvem métodos, ferramentas e procedimentos utilizados no desenvolvimento de software CiclodeVidaClássico Prototipação Modelo Espiral

Leia mais

Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa

Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa Desenvolvimento Ágil de Software Prof. Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br Métodos Ágeis História Na início da década de 90 havia uma visão de que a melhor maneira para se criar software era

Leia mais

Definições e ciclo de vida

Definições e ciclo de vida Definições e ciclo de vida A aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção do software. É a aplicação sistemática de conhecimentos científicos

Leia mais

MODELOS DE PROCESSOS (PARTE 2)

MODELOS DE PROCESSOS (PARTE 2) MODELOS DE PROCESSOS (PARTE 2) Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Recordando nossas Datas Provas (novas datas): 3ª Prova (1ª chamada): 03/07 2ª Prova (2ª chamada):

Leia mais

PROCESSOS DE SOFTWARE

PROCESSOS DE SOFTWARE PROCESSOS DE SOFTWARE Atividades para especificar, projetar, implementar e testar sistemas de software 1 Processos de software Uma Visão Genérica: 3 Fases Definição - o que Engenharia do Sistema Planejamento

Leia mais

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

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Tecnologia em Sistemas de Informação DISCIPLINA: SOFT Engenharia de Software DATA: AULA NÚMERO: 01 PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Software...1 2.2 Engenharia

Leia mais

Engenharia de Software

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

Leia mais

Modelos de Gestão de Projetos

Modelos de Gestão de Projetos Modelos de Gestão de Projetos Gestão de Projetos Tradicionais Criados para situações de baixo risco e incertezas, já existe conhecimento sobre o que será desenvolvido, o escopo envolvido e o objetivo proposto

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Processo Por quê um processo Padronizar a geração de produtos e serviços Garantir a repetitividade da geração de produtos e serviços Reter o conhecimento Oferecer

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO Santa Maria, 13 de Setembro de 2013. Revisão aula anterior Processo de software Um modelo de processo de software consiste

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software - 2ª Lista de Exercícios - Questões Discursivas Questão 1) O que você entende por processo de software e qual a sua importância para a qualidade dos produtos de software? Qual a

Leia mais

Introdução a Engenharia de Software

Introdução a Engenharia de Software Introdução a Engenharia de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 5 de abril de 2017 Material Apresentado Sumário de Aula 1 O que é Engenharia de Software

Leia mais