Engenharia de Software

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

Download "Engenharia de Software"

Transcrição

1 Engenharia de Software Professor Pedro Henrique Chagas Freitas Prof. Pedro Henrique Chagas Freitas 1

2 Tópicos da Aula Modelo baseado em componentes... 3 Métodos Formais... 9 Modelo Iterativo e Modelo Incremental RAD (Rapid Application Development) Modelos Evolucionários Modelo Espiral Prototipagem Lista das Questões Comentadas na Aula Bibliografia Lista das Questões Apresentadas na Aula Gabarito Prof. Pedro Henrique Chagas Freitas 2

3 Engenharia de Software (Parte II) Modelo baseado em componentes Vamos retornar do ponto onde paramos e tratar do modelo baseado em componentes. O modelo baseado em componentes surgiu no final dos anos 60, em uma conferência que buscava tratar da crise do Software. Nessa época tivemos os primeiros circuitos integrados aliados aos sistemas computacionais que estavam surgindo. Perceba que quando esses dois mundos (circuitos integrados e sistemas computacionais) se colidiram a complexidade daquilo que poderia ser criado a partir de então era maior e como já comentamos desenvolver software nesse ponto da história era quase que informal. Foi nesse contexto que surgiu o modelo baseado em componentes, que se utiliza de princípios oriundos da engenharia. Mas professor que princípios são esses que fomentaram o modelo baseado em componentes? A engenharia trabalha com um princípio de reutilização e quando pensamos no mundo computacional esse princípio deu origem aos componentes reusáveis, logo o modelo baseado em componentes é um modelo baseado em reusabilidade. Segundo vários autores, inclusive o autor (Pressman): A utilização do modelo baseado em componentes reduz custo de produção e gera entregas mais rápidas. Perceba que em virtude de trabalharmos aqui com a reutilização de componentes, os custos de desenvolvimento é menor aqui do que em outros modelos. Professor mas o que é um componente? Segundo nosso autor Pressman, um componente é um bloco de construção modular, ou seja, é uma parte executável de um modulo maior, que encapsula sua respectiva implementação. O modelo baseado em componentes vai trabalhar com as seguintes fases: Prof. Pedro Henrique Chagas Freitas 3

4 Especificação de Requisitos A especificação de requisitos tem o objetivo de traduzir as informações coletadas em um documento que vai agrupar os requisitos de software. Incluindo requisitos de usuário e requisitos de sistema. Análise de Componentes Na análise de componentes é realizada uma busca pelos componentes necessários para atender os requisitos. Modificação de Requisitos Após os componentes serem analisados, alternativas são propostas e os requisitos podem ser modificados ou não, dependendo da realidade de cada componente encontrado. Projeto de Sistema com reúso Os componentes reutilizaveis são apresentados a fim de se adequar ao projeto do sistema como um todo. Desenvolvimento e Integração É realizada a integração do sistema com os componentes já verificados. Validação de Sistema O sistema é validado junto ao cliente, agora com os componentes acoplados a fim de verificar se o sistema atendem aos requisitos elicitados. Prof. Pedro Henrique Chagas Freitas 4

5 Quando estudarmos o modelo espiral, perceberemos que o modelo baseado em componentes apresenta muitas características do modelo espiral. Perceba então que o modelo baseado em componentes busca desenvolver software a partir de componentes já existentes, conduzindo assim sempre ao reuso do software. Prof. Pedro Henrique Chagas Freitas 5

6 1. (FCC 2014 TRT 16 Região Analista Judiciário Tecnologia da Informação - III) O modelo baseado em componentes, baseia-se na existência de um número significativo de partes reusáveis. O processo de desenvolvimento do sistema enfoca a integração destas partes, ao invés de desenvolvê-las a partir do zero. Perfeito! Lembre-se: A engenharia trabalha com um princípio de reutilização e quando pensamos no mundo computacional esse princípio deu origem aos componentes reusáveis, logo o modelo baseado em componentes é um modelo baseado em reusabilidade. Gabarito: Correto 2. (CESPE TER-PE - Técnico Judiciário Programação de Sistemas) Assinale a opção que apresenta modelos de desenvolvimento de software. a) Paradigma imperativo e scrum. b) Modelo em cascata, DFD e paradigma concorrente. c) Modelo em cascata, modelo de componentes e modelo evolucionário. d) Transformação formal e PMP. e) Scrum e JPA. Vimos até o modelo cascata e agora o modelo de componentes e mais para frente veremos o modelo evolucionário. As outras alternativas não apresentam modelos de desenvolvimento de software. Prof. Pedro Henrique Chagas Freitas 6

7 Gabarito: Letra C 3. (CESPE 2010 TRE (BA) Técnico Judiciário Tecnologia da Informação) Na engenharia de software baseada em componentes, na qual se supõe que partes do sistema já existam, o processo de desenvolvimento concentra-se mais na integração dessas partes que no seu desenvolvimento a partir do início. Essa abordagem é baseada em reuso para o desenvolvimento de sistemas de software. Como estamos tratando de componentes temos um esforço maior durante o período de integração entre os componentes. O modelo baseado em componentes pode ser tratado também como engenharia de software baseada em componentes. Gabarito: Correto 4. (FEPESE 2014 MPE-SC Analista de Tecnologia da Informação) O modelo de processo de software no qual uma implementação inicial é exposta ao usuário para que possam ser realizados refinamentos posteriores que representam novas versões do sistema é conhecido como modelo de engenharia de software baseado em componentes. Questão completamente errada, não foi nada disso que ensinei. Mais para frente você vai perceber que nessa questão a banca na verdade estava tratando do modelo evolucionário. Gabarito: Errado Prof. Pedro Henrique Chagas Freitas 7

8 5. (Quadrix Cobra (Banco do Brasil) - Analista de Operações Requisitos e Testes - B) Um dos ciclos de vida da engenharia de software bastante utilizado é o modelo incremental, que direciona para o reuso de software, com componentes desenvolvidos ou de mercado, com a redução no tempo do ciclo de desenvolvimento. Estamos tratando aqui do modelo baseado em componentes e a descrição da questão aponta para ele e não para o modelo incremental. Gabarito: Errado Prof. Pedro Henrique Chagas Freitas 8

9 Métodos Formais Métodos formais é um assunto muito raro de ser cobrado em prova, todavia é bastante simples! Os métodos formais são técnicas de desenvolvimento de software baseado em métodos matemáticos. Dentre os métodos formais, temos modelos que são utilizados em casos muito específicos, como sistemas que precisam passar grande confiabilidade, por exemplo, situações onde a vida humana esta em jogo, sistemas industriais complexos, etc. O custo de aplicar estes métodos é muito elevado, por isso, raramente eles são utilizados, tendo em vista que existem outros métodos adequados também para situações criticas e especificas. 6. (CESPE 2013 MPOG Técnico de nível Superior Tecnologia - Modificada) Uma das técnicas utilizadas para reduzir a ambigüidade de requisitos em tipos abstratos de dados é o uso de notações baseadas em linguagens formais matemáticas, como a abordagem algébrica e os métodos formais. Correto. Os métodos formais são técnicas de desenvolvimento de software baseado em métodos matemáticos. Gabarito: Correto Prof. Pedro Henrique Chagas Freitas 9

10 Modelo Iterativo e Modelo Incremental O modelo iterativo surgiu na época do modelo cascata, como o modelo cascata acumulava riscos, o objetivo era mitigar esses riscos, reduzindo o acumulo deles. Mas como fazer isso? Para mitigar os riscos, começamos então a desenvolver software de maneira gradual, através de requisitos menores, feedback constante e principalmente interação com o usuário. Essa mudança de concepção do modelo em cascata para o modelo iterativo também nos ajudou a reagir melhor às mudanças e gerenciar melhor o ciclo de vida do software. A figura apresentada acima demonstra bem o que é o modelo iterativo e o que é o modelo incremental. Nas provas dificilmente vai ser cobrada uma distinção entre os dois, porque eles caminham lado a lado, tendo pequenas diferenças. No modelo iterativo, temos várias equipes trabalhando no desenvolvimento de uma parte do software que será integrada no final e no modelo incremental temos equipes trabalhando no desenvolvimento do software lançando versões deste software com novas funcionalidades: versão 1.0, versão 2.0, etc. Uma das principais vantagens tanto do modelo iterativo como do modelo incremental é que o cliente vai receber entregas do software antes que este esteja completamente pronto, logo o feedback aqui é constante. Prof. Pedro Henrique Chagas Freitas 10

11 7. (CESGRANRIO 2016 TCE-PR Analista de Controle - Tecnologia da Informação) No modelo iterativo de desenvolvimento de software, as atividades são dispostas em estágios seqüenciais. No modelo cascata e não no modelo iterativo as atividades são dispostas em estágios seqüenciais. Gabarito: Errado 8. (CESPE 2014 ANTAQ Analista de Sistemas e Negócios) O processo de desenvolvimento iterativo e incremental apresenta dificuldades para dar visibilidade ao processo. Pelo contrário, a visibilidade do processo é melhor quando utilizando processos baseados no desenvolvimento iterativo e incremental. Gabarito: Errado 9. (CESPE 2014 ANATEL Analista Administrativo Desenvolvimento de Sistemas) Nos processos iterativos de desenvolvimento de software, o tratamento de mudanças em requisitos deve ser priorizado com a realização de um processo formal de gerenciamento de mudanças. Prof. Pedro Henrique Chagas Freitas 11

12 Não existe essa dependência de priorizar o tratamento de mudanças em requisitos com a realização de um processo formal de gerenciamento de mudanças. Gabarito: Errado 10. (CESPE 2013 BACEN Analista de Sistemas) Na abordagem incremental, o sistema é dividido em subsistemas por funcionalidades. Após a identificação das funcionalidades a serem entregues no primeiro incremento, novas funcionalidades serão adicionadas a cada versão. Perfeito! No modelo incremental o sistema pode ser dividido em subsistemas por funcionalidades, por isso que a cada incremento eu entrego algo funcional. Gabarito: Correto Prof. Pedro Henrique Chagas Freitas 12

13 RAD (Rapid Application Development) O RAD é um modelo iterativo e incremental que vai trabalhar com ciclos de desenvolvimento curtos, entre 60 e 90 dias. Aqui também temos a utilização do reúso de componentes a fim de reduzir o tempo de desenvolvimento do software. Estas são as fases do RAD: Modelagem de Negócios Modelagem de Dados Modelagem de Processos Geração de Aplicação Teste e Modificação Modelagem de negócio: É o modelo de como funciona os processos de negócio. Modelagem de dados: De base de como funciona os processos de negócio, podemos criar uma representação dos dados com o objetivo de suportar o negócio. Modelagem de processos: Já definido o modelo de negócio e de dados, podemos modelar o fluxo dos processos a fim de implementar as funções do negócio. Prof. Pedro Henrique Chagas Freitas 13

14 Geração de aplicação: A geração de aplicação compreende o uso de técnicas baseadas na reutilização de componentes para construção de soluções de software para o negócio. Teste e Modificação: Muitos componentes aqui já estão testados, mas os novos componentes, que não estão são testados são testados nessa fase e as modificações necessárias são realizadas. No modelo RAD temos um feedback constante por parte do cliente, abaixo algumas das vantagens e desvantagens do modelo RAD. Prof. Pedro Henrique Chagas Freitas 14

15 11. (FUNCAB 2014 MDA Analista de Sistemas) São características do desenvolvimento rápido de aplicações (RAD), EXCETO: a) Construção baseada em componentes. b) Utilização de equipes enxutas, mesmo em projetos grandes. c) Aplicação em desenvolvimento de sistemas de informação. d) Desenvolvimento extramamente curto. e) Processo com desenvolvimento de software incremental. No RAD as equipes devem ser maiores em projetos grandes, não existe essa definição de manter equipes enxutas em projeto grandes, as outras alternativas são características do RAD. Gabarito: Letra B 12. (FGV 2010 FIOCRUZ Tecnologista em Saúde) Rapid Application Development (RAD) é um modelo de processo de software incremental que enfatiza um ciclo de desenvolvimento curto, com o uso de uma abordagem de construção baseada em componentes. Nesse modelo, três das principais fases são abrangidas pelas modelagens: a) do negócio, dos recursos financeiros e das funções gerenciais. b) do gerenciamento, dos recursos de TI e dos processos. c) do planejamento, dos dados e das funções gerenciais. d) do planejamento, dos recursos de TI e dos projetos. e) do negócio, dos dados e dos processos. Prof. Pedro Henrique Chagas Freitas 15

16 Fases do RAD: Modelagem de negócio: É o modelo de como funciona os processos de negócio. Modelagem de dados: De base de como funciona os processos de negócio, podemos criar uma representação dos dados com o objetivo de suportar o negócio. Modelagem de processos: Já definido o modelo de negócio e de dados, podemos modelar o fluxo dos processos a fim de implementar as funções do negócio. Geração de aplicação: A geração de aplicação compreende o uso de técnicas baseadas na reutilização de componentes para construção de soluções de software para o negócio. Teste e Modificação: Muitos componentes aqui já estão testados, mas os novos componentes, que não estão são testados são testados nessa fase e as modificações necessárias são realizadas. Gabarito: Letra E 13. (Cespe 2008 TST Analista Judiciário Tecnologia da Informação) O modelo RAD (Rapid Application Development) consiste em uma forma de prototipação para esclarecer dúvidas da especificação do software. O RAD pode utilizar prototipação, mas não é uma forma de prototipação. O RAD é um modelo iterativo e incremental que vai trabalhar com ciclos de desenvolvimento curtos, entre 60 e 90 dias. Aqui também temos a utilização do reúso de componentes a fim de reduzir o tempo de desenvolvimento do software. Gabarito: Errado Prof. Pedro Henrique Chagas Freitas 16

17 14. (Cespe 2013 TRT 17 Região Analista de Sistemas) O objetivo do RAD é separar os modelos da visualização e do controle. Ele fornece o controlador e facilita a escrita de moldes padronizados para a camada de visualização. O RAD é um modelo iterativo e incremental que vai trabalhar com ciclos de desenvolvimento curtos, entre 60 e 90 dias. Aqui também temos a utilização do reúso de componentes a fim de reduzir o tempo de desenvolvimento do software. Questão completamente fora de contexto do que é RAD ou do seu objetivo. Gabarito: Errado Prof. Pedro Henrique Chagas Freitas 17

18 Modelos Evolucionários Os modelos evolucionários tem como objetivo criar uma implementação ou versão inicial, capaz de evoluir ao longo do tempo, através da verificação e refinamento de várias versões até chegar no desejado. Pressman define que os modelos evolucionários são iterativos, apresentando características que possibilitam desenvolver versões cada vez mais completas do software. Existem dois tipos de desenvolvimento baseado em modelos evolucionários, que são: Desenvolvimento evolutivo ou exploratório: Nele compreendemos as partes do software e evoluimos essas através do acoplamento de novas características que o cliente pede ao longo do processo. Desenvolvimento através de prototipação: Aqui nós desenvolvemos os requisitos e conforme o software vai evoluindo e a compreensão do requisitos vai aumentando, vamos descartando versões desatualizadas. Os modelos evolucionários apresentam algumas dificuldades, que são a mudança contínua, o que dificulta você ter uma estrutura consistente e outra dificuldade é a falta de documentação, uma vez que novas versões são constantemente lançadas, o que inviabiliza uma atualização constante. Entre as vantagens é importante destacar que nos modelos evolucionários, podemos apresentar uma versão inicial ao usuário, e refinar a compreensão das suas necessidades ao longo das versões que são apresentadas, lembrando que essas versões podem ser descartadas ou evoluir até a versão final. Resumindo, o desenvolvimento evolucionário vai intercalar as atividades de especificação, desenvolvimento e validação, o que permite que o software seja desenvolvido de forma mais rápida, conforme especificações iniciais e abstratas. Entre os principais modelos evolucionários se destacam o modelo espiral e a prototipagem. Prof. Pedro Henrique Chagas Freitas 18

19 15. (FUNRIO IF-PA Analista de Tecnologia) Um modelo de desenvolvimento de software intercala as atividades de especificação, desenvolvimento e validação. Ele permite desenvolver rapidamente um sistema inicial a partir de especificações abstratas, que são então refinadas com informações do cliente, para produzir um sistema que atenda suas necessidades. Esse modelo é conhecido como desenvolvimento: a) Em espiral. b) em cascata. c) evolucionário. d) formal de sistemas. e) orientado a reuso. Os modelos evolucionários tem como objetivo criar uma implementação ou versão inicial, capaz de evoluir ao longo do tempo, através da verificação e refinamento de várias versões até chegar no desejado. Estamos tratando aqui na questão dos modelos evolucionários. Gabarito: Letra C 16. (FGV 2015 TCM-SP Agente de Fiscalização Tecnologia da Informação) Software, assim como todos os sistemas complexos, evolui ao longo do tempo. Modelos de processos evolucionários reconhecem a natureza iterativa e incremental da maioria dos projetos de engenharia de software e são projetados para adequar mudanças. Os modelos a serem utilizados em um processo evolucionário são: a) cascata e modelo V; b) prototipação e modelo espiral; Prof. Pedro Henrique Chagas Freitas 19

20 c) concorrente e métodos formais; d) incremental e baseado em componentes; e) processo unificado e orientado a aspectos. Analise de Sistemas em Teoria e Exercícios Comentados Entre os principais modelos evolucionários se destacam o modelo espiral e a prototipagem. Gabarito: Letra B 17. (CESGRANRIO 2014 Petrobrás Tecnico de Informática Júnior) Um técnico de informática, com o objetivo de agilizar o desenvolvimento de um software, escolheu o desenvolvimento evolucionário, uma abordagem da área de Engenharia de Software, que: a) facilita a produção de sistemas bem estruturados, privilegiando um processo de mudanças contínuas, cada vez mais fáceis e baratas. b) Se baseia na existência de um número significativo de componentes reusáveis, num processo de desenvolvimento que enfoca a integração desses componentes, em vez de desenvolvê-los a partir do zero. c) considera como atividades fundamentais do processo a especificação, o desenvolvimento, a validação e a evolução, representado-as como fases de processo separadas, sendo que para uma fase ser iniciada, a outra deve estar completamente terminada. d) é mutuamente exclusiva com o modelo em cascata e de Engenharia de Software baseada em componentes, sendo que os subsistemas contidos em um sistema maior precisam ser desenvolvidos, usando a mesma abordagem ou modelo. e) intercala as atividades de especificação, desenvolvimento e validação, permitindo que um sistema inicial seja desenvolvido rapidamente, baseado em especificações abstratas. Prof. Pedro Henrique Chagas Freitas 20

21 Lembra: Resumindo, o desenvolvimento evolucionário vai intercalar as atividades de especificação, desenvolvimento e validação, o que permite que o software seja desenvolvido de forma mais rápida, conforme especificações iniciais e abstratas. Entre os principais modelos evolucionários se destacam o modelo espiral e a prototipagem. Nossa resposta correta é a Letra E. Gabarito: Letra E Prof. Pedro Henrique Chagas Freitas 21

22 Modelo Espiral Em 1988, o modelo espiral foi proposto por Boehm, a ideia aqui é que as atividades dentro do processo de desenvolvimento de software sejam representadas como uma espiral. O modelo espiral para muitos visa combinar dois modelos, o cascata e a prototipação, sendo que cada loop dentro do modelo espiral vai representar uma fase do processo de desenvolvimento de software. A imagem acima é uma representação conforme apresenta o autor Pressman, que ensina que o modelo espiral é dividido em cinco etapas, a saber: Comunicação, Planejamento, Modelagem, Construção e Implantação. Perceba que eu escolho cada fase de acordo com as necessidades do negócio, cada loop é uma fase e em cada uma delas podemos teremos necessidades diferentes, conforme o desenvolvimento do software. Segundo Boehm criado do modelo, a cada loop da espiral, uma escolha deve ser feitas sobre se o projeto deverá continuar ou não e a principal diferença que vocês tem que levar para prova é que o modelo espiral de destaca de outros, por causa da análise de riscos. Prof. Pedro Henrique Chagas Freitas 22

23 18. (CESPE 2010 SERPRO Analista área: Desenvolvimento de Sistemas) O modelo em espiral de ciclo de vida de software é iterativo e incremental, uma vez que a mesma seqüência de atividades relacionadas à produção de software é realizada a cada ciclo da espiral. Errado, o modelo espiral é evolucionário e iterativo, mas não é incremental. Gabarito: Errado 19. (CESPE 2013 STF Técnico Judiciário Tecnologia da Informação) O processo de software fundamentado no modelo em espiral apresenta o processo em loops compostos basicamente por setores, como, por exemplo, definição de objetivos, avaliação de riscos, planejamento e desenvolvimento e avaliação. Isso mesmo! Prof. Pedro Henrique Chagas Freitas 23

24 Note que o último setor em inglês vai aparecer a característica: delivery feedback, que aqui na questão foi compreendida como avaliação, assim como construction foi compreendido como desenvolvimento. Oriento sempre a não se prender ao rigor dos nomes, porque a mesma banca pode adota autores diferentes e traduções diferentes, o importante é que você consiga perceber se a questão representa o que de fato ela visa representar. Ok? Gabarito: Correto 20. (CS-UFG 2014 UEAP Analista de Tecnologia) No modelo espiral de Boehm, o processo de software é representado como uma espiral e não como uma sequência de atividades com retornos de uma para outra. O modelo espiral de Boehm é a) um framework de processo de software dirigido a riscos. b) dividido em três setores: definição de objetivos, desenvolvimento e planejamento. c) pouco tolerante a mudanças ao longo do processo de software. d) construído de forma que a volta mais externa define o início do processo de software. Olhando para as alternativas a mais coerente é a letra A, eu pessoalmente não vejo o modelo espiral como um framework de processo de software, mas realmente o modelo espiral é dirigido a risco, essa é uma característica marcante do modelo e a banca entendeu que a letra A, realmente é a correta. Gabarito: Letra A 21. (FCC 2010 MPE-RN Analista de Tecnologia da Informação) No modelo de desenvolvimento de software em espiral, cada loop da espiral representa: a) a necessidade de retornar ao início da fase em que se encontra. Prof. Pedro Henrique Chagas Freitas 24

25 b) um processo de reengenharia. c) uma disciplina de software. d) uma fase do processo de software. e) uma atividade paralela. Analise de Sistemas em Teoria e Exercícios Comentados No modelo de desenvolvimento de software em espiral, cada loop da espiral representa uma fase do processo de software. Lembra: O modelo espiral para muitos visa combinar dois modelos, o cascata e a prototipação, sendo que cada loop dentro do modelo espiral vai representar uma fase do processo de desenvolvimento de software. Gabarito: Letra D 22. (FCC 2010 BAHIAGÁS Analista de Sistemas) 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. Praticamente a mesma questão, no mesmo ano, com a mesma banca e alternativa certa sendo a mesma. Gabarito: Letra D 23. (FUNCAB 2010 PRODAM-AM Analista de Tecnologia) Qual das alternativas a seguir corresponde ao modelo de processo, proposto no final da década de 80, que tem como principais características ser evolucionário, iterativo e focado na redução dos riscos? Prof. Pedro Henrique Chagas Freitas 25

26 a) Modelo em Espiral. b) Modelo em Cascata. c) Modelo em V. d) Modelo Transformacional. e) Modelo de Especificação Operacional. Analise de Sistemas em Teoria e Exercícios Comentados Estamos tratando aqui do Modelo Espiral. Gabarito: Letra A 24. (CESGRANRIO 2011 FINEP Analista de Desenvolvimento de Sistemas) O modelo de processo de desenvolvimento de software que combina as atividades de desenvolvimento com o gerenciamento de risco é o Modelo a) Transformacional b) de Especificação Operacional c) em V d) em Cascata e) em Espiral O modelo de processo de desenvolvimento de software que combina as atividades de desenvolvimento com o gerenciamento de risco é o Modelo Espiral. Gabarito: Letra E 25. (AOCP 2014 UFGD Analista de Tecnologia da Informação) Sobre o modelo espiral de Boehm, assinale a alternativa INCORRETA: a) É um framework de processo de software dirigido a riscos. Prof. Pedro Henrique Chagas Freitas 26

27 b) Neste modelo, o processo de software é representado como uma espiral. Cada volta na espiral representa uma fase do processo de software. c) Neste modelo, cada volta da espiral é dividida em três setores, sendo: Definição de objetivos, Desenvolvimento e validação, Planejamento. d) Neste modelo, a volta mais interna pode preocupar-se com a viabilidade do sistema. e) Neste modelo, já uma combinação de prevenção e tolerância a mudanças, assume que mudanças são um resultado de riscos de projeto e inclui atividades explícitas de gerenciamento de riscos para sua redução. A única alternativa que não apresenta nenhuma ligação com o que estudamos é a alternativa C, NÃO existe essa divisão em três setores, sendo: Definição de objetivos, Desenvolvimento e validação, Planejamento. Gabarito: Letra C Prof. Pedro Henrique Chagas Freitas 27

28 Prototipagem A prototipagem é muito comum em cenários onde os requisitos não são bem conhecidos, através da prototipagem conseguimos compreender melhor os requisitos com o cliente. A prototipagem é um processo iterativo, sendo que é muito utilizado nas versões iniciais de desenvolvimento de um software, ajudando na compreensão do software como um todo. A principal vantagem da prototipagem é a experiência que o usuário ou cliente do software pode ter antes do término do processo de desenvolvimento do software. Existem algumas maneiras de se trabalhar com a prototipagem, entre elas se destacam: A utilização da prototipagem dentro do contexto de requisitos, que nada mais é do que a construção de um protótipo para ajudar a refinar a especificação dos requisitos. A utilização da prototipagem para teste de software, um protótipo aqui pode ser utilizado para realizar testes com o sistema no qual deverá ser acoplado. A utilização da prototipagem para explorar sistemas, um protótipo pode ser utilizado para validar especificações em um sistema e apoiar a experiência por exemplo do usuário com o sistema. Na prototipagem evolutiva, temos evoluções dentro do processo de desenvolvimento do software, até chegar no resultado esperado. O importante então é perceber que ao longo da prototipação é possível encontrar defeitos e validar o caminho de evolução do software. Com isso, variáveis como esforço, tempo, investimento, podem ser melhor trabalhadas, e é claro também existem desvantagens, como por exemplo o usuário confundir o protótipo com o software final, o que é muito comum. Além disso temos a documentação que fica prejudicada ao longo do processo de prototipagem e a falta de visibilidade do progresso quando vai evoluindo, evoluindo e nunca termina. Ok? Prof. Pedro Henrique Chagas Freitas 28

29 26. (CESPE 2011 MEC Analista de Sistemas) No modelo de prototipação, o processo de desenvolvimento de software é modelado como uma seqüência linear de fases, enfatizando um ciclo de desenvolvimento de breve duração. Sequência linear de fases? Lembra do que eu disse: A prototipagem é um processo iterativo, sendo que é muito utilizado nas versões iniciais de desenvolvimento de um software, ajudando na compreensão do software como um todo. Gabarito: Errado 27. (FUMARC 2012 TJ-MG Oficial Judiciário - D) Em relação a prototipagem, o protótipo ajuda no entendimento dos requisitos do sistema. Lembrando: A prototipagem é muito comum em cenários onde os requisitos não são bem conhecidos, através da prototipagem conseguimos compreender melhor os requisitos com o cliente. Gabarito: Correto 28. (FGV 2010 FIOCRUZ Tecnologista em Saúde - B) Como modelo evolucionário do processo de software, uma característica da prototipagem é configurar um processo iterativo e rápido de desenvolvimento. Prof. Pedro Henrique Chagas Freitas 29

30 Simples não é verdade. A prototipagem é um modelo evolucionário e iterativo, que traz uma característica de rapidez no desenvolvimento do software. Gabarito: Correto Bons estudos! Te encontro na nossa próxima aula. Abração. Se a vida não ficar mais fácil, trate de ficar mais forte. Lembre-se: JB Carvalho Prof. Pedro Henrique Chagas Freitas 30

31 Lista das Questões Comentadas na Aula 1. (FCC 2014 TRT 16 Região Analista Judiciário Tecnologia da Informação - III) O modelo baseado em componentes, baseia-se na existência de um número significativo de partes reusáveis. O processo de desenvolvimento do sistema enfoca a integração destas partes, ao invés de desenvolvê-las a partir do zero. Perfeito! Lembre-se: A engenharia trabalha com um princípio de reutilização e quando pensamos no mundo computacional esse princípio deu origem aos componentes reusáveis, logo o modelo baseado em componentes é um modelo baseado em reusabilidade. Gabarito: Correto 2. (CESPE TER-PE - Técnico Judiciário Programação de Sistemas) Assinale a opção que apresenta modelos de desenvolvimento de software. a) Paradigma imperativo e scrum. b) Modelo em cascata, DFD e paradigma concorrente. c) Modelo em cascata, modelo de componentes e modelo evolucionário. d) Transformação formal e PMP. e) Scrum e JPA. Vimos até o modelo cascata e agora o modelo de componentes e mais para frente veremos o modelo evolucionário. As outras alternativas não apresentam modelos de desenvolvimento de software. Gabarito: Letra C Prof. Pedro Henrique Chagas Freitas 31

32 3. (CESPE 2010 TER (BA) Técnico Judiciário Tecnologia da Informação) Na engenharia de software baseada em componentes, na qual se supõe que partes do sistema já existam, o processo de desenvolvimento concentra-se mais na integração dessas partes que no seu desenvolvimento a partir do início. Essa abordagem é baseada em reúso para o desenvolvimento de sistemas de software. Como estamos tratando de componentes temos um esforço maior durante o período de integração entre os componentes. O modelo baseado em componentes pode ser tratado também como engenharia de software baseada em componentes. Gabarito: Correto 4. (FEPESE 2014 MPE-SC Analista de Tecnologia da Informação) O modelo de processo de software no qual uma implementação inicial é exposta ao usuário para que possam ser realizados refinamentos posteriores que representam novas versões do sistema é conhecido como modelo de engenharia de software baseado em componentes. Questão completamente errada, não foi nada disso que ensinei. Mais para frente você vai perceber que nessa questão ao banca na verdade estava tratando do modelo evolucionário. Gabarito: Errado 5. (Quadrix Cobra (Banco do Brasil) - Analista de Operações Requisitos e Testes - B) Um dos ciclos de vida da engenharia de software bastante utilizado é o modelo incremental, que Prof. Pedro Henrique Chagas Freitas 32

33 direciona para o reuso de software, com componentes desenvolvidos ou de mercado, com a redução no tempo do ciclo de desenvolvimento. Estamos tratando aqui do modelo baseado em componentes e a descrição da questão aponta para ele e não para o modelo incremental. Gabarito: Errado 6. (CESPE 2013 MPOG Técnico de nível Superior Tecnologia - Modificada) Uma das técnicas utilizadas para reduzir a ambiguidade de requisitos em tipos abstratos de dados é o uso de notações baseadas em linguagens formais matemáticas, como a abordagem algébrica e os métodos formais. Correto. Os métodos formais são técnicas de desenvolvimento de software baseado em métodos matemáticos. Gabarito: Correto 7. (CESGRANRIO 2016 TCE-PR Analista de Controle - Tecnologia da Informação) No modelo iterativo de desenvolvimento de software, as atividades são dispostas em estágios sequênciais. No modelo cascata e não no modelo iterativo as atividades são dispostas em estágios sequênciais. Gabarito: Errado Prof. Pedro Henrique Chagas Freitas 33

34 8. (CESPE 2014 ANTAQ Analista de Sistemas e Negócios) O processo de desenvolvimento iterativo e incremental apresenta dificuldades para dar visibilidade ao processo. Pelo contrário, a visibilidade do processo é melhor quando utilizando processos baseados no desenvolvimento iterativo e incremental. Gabarito: Errado 9. (CESPE 2014 ANATEL Analista Administrativo Desenvolvimento de Sistemas) Nos processos iterativos de desenvolvimento de software, o tratamento de mudanças em requisitos deve ser priorizado com a realização de um processo formal de gerenciamento de mudanças. Não existe essa dependência de priorizar o tratamento de mudanças em requisitos com a realização de um processo formal de gerenciamento de mudanças. Gabarito: Errado 10. (CESPE 2013 BACEN Analista de Sistemas) Na abordagem incremental, o sistema é dividido em subsistemas por funcionalidades. Após a identificação das funcionalidades a serem entregues no primeiro incremento, novas funcionalidades serão adicionadas a cada versão. Prof. Pedro Henrique Chagas Freitas 34

35 Perfeito! No modelo incremental o sistema pode ser dividido em subsistemas por funcionalidades, por isso que a cada incremento eu entrego algo funcional. Gabarito: Correto 11. (FUNCAB 2014 MDA Analista de Sistemas) São características do desenvolvimento rápido de aplicações (RAD), EXCETO: a) Construção baseada em componentes. b) Utilização de equipes enxutas, mesmo em projetos grandes. c) Aplicação em desenvolvimento de sistemas de informação. d) Desenvolvimento extramamente curto. e) Processo com desenvolvimento de software incremental. No RAD as equipes devem ser maiores em projetos grandes, não existe essa definição de manter equipes enxutas em projeto grandes, as outras alternativas são características do RAD. Gabarito: Letra B 12. (FGV 2010 FIOCRUZ Tecnologista em Saúde) Rapid Application Development (RAD) é um modelo de processo de software incremental que enfatiza um ciclo de desenvolvimento curto, com o uso de uma abordagem de construção baseada em componentes. Nesse modelo, três das principais fases são abrangidas pelas modelagens: a) do negócio, dos recursos financeiros e das funções gerenciais. b) do gerenciamento, dos recursos de TI e dos processos. c) do planejamento, dos dados e das funções gerenciais. d) do planejamento, dos recursos de TI e dos projetos. e) do negócio, dos dados e dos processos. Prof. Pedro Henrique Chagas Freitas 35

36 Fases do RAD: Modelagem de negócio: É o modelo de como funciona os processos de negócio. Modelagem de dados: De base de como funciona os processos de negócio, podemos criar uma representação dos dados com o objetivo de suportar o negócio. Modelagem de processos: Já definido o modelo de negócio e de dados, podemos modelar o fluxo dos processos a fim de implementar as funções do negócio. Geração de aplicação: A geração de aplicação compreende o uso de técnicas baseadas na reutilização de componentes para construção de soluções de software para o negócio. Teste e Modificação: Muitos componentes aqui já estão testados, mas os novos componentes, que não estão são testados são testados nessa fase e as modificações necessárias são realizadas. Gabarito: Letra E 13. (Cespe 2008 TST Analista Judiciário Tecnologia da Informação) O modelo RAD (Rapid Application Development) consiste em uma forma de prototipação para esclarecer dúvidas da especificação do software. O RAD pode utilizar prototipação, mas não é uma forma de prototipação. O RAD é um modelo iterativo e incremental que vai trabalhar com ciclos de desenvolvimento curtos, entre 60 e 90 dias. Aqui também temos a utilização do reúso de componentes a fim de reduzir o tempo de desenvolvimento do software. Gabarito: Errado Prof. Pedro Henrique Chagas Freitas 36

37 14. (Cespe 2013 TRT 17 Região Analista de Sistemas) O objetivo do RAD é separar os modelos da visualização e do controle. Ele fornece o controlador e facilita a escrita de moldes padronizados para a camada de visualização. O RAD é um modelo iterativo e incremental que vai trabalhar com ciclos de desenvolvimento curtos, entre 60 e 90 dias. Aqui também temos a utilização do reúso de componentes a fim de reduzir o tempo de desenvolvimento do software. Questão completamente fora de contexto do que é RAD ou do seu objetivo. Gabarito: Errado 15. (FUNRIO IF-PA Analista de Tecnologia) Um modelo de desenvolvimento de software intercala as atividades de especificação, desenvolvimento e validação. Ele permite desenvolver rapidamente um sistema inicial a partir de especificações abstratas, que são então refinadas com informações do cliente, para produzir um sistema que atenda suas necessidades. Esse modelo é conhecido como desenvolvimento: a) Em espiral. b) em cascata. c) evolucionário. d) formal de sistemas. e) orientado a reuso. Os modelos evolucionários tem como objetivo criar uma implementação ou versão inicial, capaz de evoluir ao longo do tempo, através da verificação e refinamento de várias versões até chegar no desejado. Estamos tratando aqui na questão dos modelos evolucionários. Prof. Pedro Henrique Chagas Freitas 37

38 Gabarito: Letra C 16. (FGV 2015 TCM-SP Agente de Fiscalização Tecnologia da Informação) Software, assim como todos os sistemas complexos, evolui ao longo do tempo. Modelos de processos evolucionários reconhecem a natureza iterativa e incremental da maioria dos projetos de engenharia de software e são projetados para adequar mudanças. Os modelos a serem utilizados em um processo evolucionário são: a) cascata e modelo V; b) prototipação e modelo espiral; c) concorrente e métodos formais; d) incremental e baseado em componentes; e) processo unificado e orientado a aspectos. Entre os principais modelos evolucionários se destacam o modelo espiral e a prototipagem. Gabarito: Letra B 17. (CESGRANRIO 2014 Petrobrás Tecnico de Informática Júnior) Um técnico de informática, com o objetivo de agilizar o desenvolvimento de um software, escolheu o desenvolvimento evolucionário, uma abordagem da área de Engenharia de Software, que: a) facilita a produção de sistemas bem estruturados, privilegiando um processo de mudanças contínuas, cada vez mais fáceis e baratas. b) Se baseia na existência de um número significativo de componentes reusáveis, num processo de desenvolvimento que enfoca a integração desses componentes, em vez de desenvolvê-los a partir do zero. Prof. Pedro Henrique Chagas Freitas 38

39 c) considera como atividades fundamentais do processo a especificação, o desenvolvimento, a validação e a evolução, representado-as como fases de processo separadas, sendo que para uma fase ser iniciada, a outra deve estar completamente terminada. d) é mutuamente exclusiva com o modelo em cascata e de Engenharia de Software baseada em componentes, sendo que os subsistemas contidos em um sistema maior precisam ser desenvolvidos, usando a mesma abordagem ou modelo. e) intercala as atividades de especificação, desenvolvimento e validação, permitindo que um sistema inicial seja desenvolvido rapidamente, baseado em especificações abstratas. Lembra: Resumindo, o desenvolvimento evolucionário vai intercalar as atividades de especificação, desenvolvimento e validação, o que permite que o software seja desenvolvido de forma mais rápida, conforme especificações iniciais e abstratas. Entre os principais modelos evolucionários se destacam o modelo espiral e a prototipagem. Nossa resposta correta é a Letra E. Gabarito: Letra E 18. (CESPE 2010 SERPRO Analista área: Desenvolvimento de Sistemas) O modelo em espiral de ciclo de vida de software é iterativo e incremental, uma vez que a mesma sequência de atividades relacionadas à produção de software é realizada a cada ciclo da espiral. Errado, o modelo espiral é evolucionário e iterativo, mas não é incremental. Gabarito: Errado Prof. Pedro Henrique Chagas Freitas 39

40 19. (CESPE 2013 STF Técnico Judiciário Tecnologia da Informação) O processo de software fundamentado no modelo em espiral apresenta o processo em loops compostos basicamente por setores, como, por exemplo, definição de objetivos, avaliação de riscos, planejamento e desenvolvimento e avaliação. Isso mesmo! Note que o último setor em inglês vai aparecer a característica: delivery feedback, que aqui na questão foi compreendida como avaliação, assim como construction foi compreendido como desenvolvimento. Oriento sempre a não se prender ao rigor dos nomes, porque a mesma banca pode adota autores diferentes e traduções diferentes, o importante é que você consiga perceber se a questão representa o que de fato ela visa representar. Ok? Gabarito: Correto 20. (CS-UFG 2014 UEAP Analista de Tecnologia) No modelo espiral de Boehm, o processo de software é representado como uma espiral e não como uma sequência de atividades com retornos de uma para outra. O modelo espiral de Boehm é Prof. Pedro Henrique Chagas Freitas 40

41 a) um framework de processo de software dirigido a riscos. b) dividido em três setores: definição de objetivos, desenvolvimento e planejamento. c) pouco tolerante a mudanças ao longo do processo de software. d) construído de forma que a volta mais externa define o início do processo de software. Olhando para as alternativas a mais coerente é a letra A, eu pessoalmente não vejo o modelo espiral como um framework de processo de software, mas realmente o modelo espiral é dirigido a risco, essa é uma característica marcante do modelo e a banca entendeu que a letra A, realmente é a correta. Gabarito: Letra A 21. (FCC 2010 MPE-RN Analista de Tecnologia da Informação) No modelo de desenvolvimento de software em espiral, cada loop da espiral representa: a) a necessidade de retornar ao início da fase em que se encontra. b) um processo de reengenharia. c) uma disciplina de software. d) uma fase do processo de software. e) uma atividade paralela. No modelo de desenvolvimento de software em espiral, cada loop da espiral representa uma fase do processo de software. Lembra: O modelo espiral para muitos visa combinar dois modelos, o cascata e a prototipação, sendo que cada loop dentro do modelo espiral vai representar uma fase do processo de desenvolvimento de software. Gabarito: Letra D Prof. Pedro Henrique Chagas Freitas 41

42 22. (FCC 2010 BAHIAGÁS Analista de Sistemas) 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. Praticamente a mesma questão, no mesmo ano, com a mesma banca e alternativa certa sendo a mesma. Gabarito: Letra D 23. (FUNCAB 2010 PRODAM-AM Analista de Tecnologia) Qual das alternativas a seguir corresponde ao modelo de processo, proposto no final da década de 80, que tem como principais características ser evolucionário, iterativo e focado na redução dos riscos? a) Modelo em Espiral. b) Modelo em Cascata. c) Modelo em V. d) ModeloTransformacional. e) Modelo de Especificação Operacional. Estamos tratando aqui do Modelo Espiral. Gabarito: Letra A 24. (CESGRANRIO 2011 FINEP Analista de Desenvolvimento de Sistemas) O modelo de processo de desenvolvimento de software que combina as atividades de desenvolvimento com o gerenciamento de risco é o Modelo Prof. Pedro Henrique Chagas Freitas 42

43 a) Transformacional b) de Especificação Operacional c) em V d) em Cascata e) em Espiral Analise de Sistemas em Teoria e Exercícios Comentados O modelo de processo de desenvolvimento de software que combina as atividades de desenvolvimento com o gerenciamento de risco é o Modelo Espiral. Gabarito: Letra E 25. (AOCP 2014 UFGD Analista de Tecnologia da Informação) Sobre o modelo espiral de Boehm, assinale a alternativa INCORRETA: a) É um framework de processo de software dirigido a riscos. b) Neste modelo, o processo de software é representado como uma espiral. Cada volta na espiral representa uma fase do processo de software. c) Neste modelo, cada volta da espiral é dividida em três setores, sendo: Definição de objetivos, Desenvolvimento e validação, Planejamento. d) Neste modelo, a volta mais interna pode preocupar-se com a viabilidade do sistema. e) Neste modelo, já uma combinação de prevenção e tolerância a mudanças, assume que mudanças são um resultado de riscos de projeto e inclui atividades explícitas de gerenciamento de riscos para sua redução. A única alternativa que não apresenta nenhuma ligação com o que estudamos é a alternativa C, NÃO existe essa divisão em três setores, sendo: Definição de objetivos, Desenvolvimento e validação, Planejamento. Prof. Pedro Henrique Chagas Freitas 43

44 Gabarito: Letra C 26. (CESPE 2011 MEC Analista de Sistemas) No modelo de prototipação, o processo de desenvolvimento de software é modelado como uma sequência linear de fases, enfatizando um ciclo de desenvolvimento de breve duração. Sequência linear de fases? Lembra do que eu disse: A prototipagem é um processo iterativo, sendo que é muito utilizado nas versões iniciais de desenvolvimento de um software, ajudando na compreensão do software como um todo. Gabarito: Errado 27. (FUMARC 2012 TJ-MG Oficial Judiciário - D) Em relação a prototipagem, o protótipo ajuda no entendimento dos requisitos do sistema. Lembrando: A prototipagem é muito comum em cenários onde os requisitos não são bem conhecidos, através da prototipagem conseguimos compreender melhor os requisitos com o cliente. Gabarito: Correto 28. (FGV 2010 FIOCRUZ Tecnologista em Saúde - B) Como modelo evolucionário do processo de software, uma característica da prototipagem é configurar um processo iterativo e rápido de desenvolvimento. Simples não é verdade. Prof. Pedro Henrique Chagas Freitas 44

45 A prototipagem é um modelo evolucionário e iterativo, que traz uma característica de rapidez no desenvolvimento do software. Gabarito: Correto Prof. Pedro Henrique Chagas Freitas 45

46 Bibliografia PRESSMAN, Roger S. Engenharia de Software: Uma abordagem profissional, 7ª. Edição. São Paulo: Pearson Makron Books, SOMMERVILLE, Ian. Engenharia de Software, 8ª. Edição. São Paulo: Pearson Addison Wesley, Prof. Pedro Henrique Chagas Freitas 46

47 Lista das Questões Apresentadas na Aula 1. (FCC 2014 TRT 16 Região Analista Judiciário Tecnologia da Informação - III) O modelo baseado em componentes, baseia-se na existência de um número significativo de partes reusáveis. O processo de desenvolvimento do sistema enfoca a integração destas partes, ao invés de desenvolvê-las a partir do zero. 2. (CESPE TER-PE - Técnico Judiciário Programação de Sistemas) Assinale a opção que apresenta modelos de desenvolvimento de software. a) Paradigma imperativo e scrum. b) Modelo em cascata, DFD e paradigma concorrente. c) Modelo em cascata, modelo de componentes e modelo evolucionário. d) Transformação formal e PMP. e) Scrum e JPA. 3. (CESPE 2010 TER (BA) Técnico Judiciário Tecnologia da Informação) Na engenharia de software baseada em componentes, na qual se supõe que partes do sistema já existam, o processo de desenvolvimento concentra-se mais na integração dessas partes que no seu desenvolvimento a partir do início. Essa abordagem é baseada em reúso para o desenvolvimento de sistemas de software. 4. (FEPESE 2014 MPE-SC Analista de Tecnologia da Informação) O modelo de processo de software no qual uma implementação inicial é exposta ao usuário para que possam ser realizados refinamentos posteriores que representam novas versões Prof. Pedro Henrique Chagas Freitas 47

48 do sistema é conhecido como modelo de engenharia de software baseado em componentes. 5. (Quadrix Cobra (Banco do Brasil) - Analista de Operações Requisitos e Testes - B) Um dos ciclos de vida da engenharia de software bastante utilizado é o modelo incremental, que direciona para o reuso de software, com componentes desenvolvidos ou de mercado, com a redução no tempo do ciclo de desenvolvimento. 6. (CESPE 2013 MPOG Técnico de nível Superior Tecnologia - Modificada) Uma das técnicas utilizadas para reduzir a ambiguidade de requisitos em tipos abstratos de dados é o uso de notações baseadas em linguagens formais matemáticas, como a abordagem algébrica e os métodos formais. 7. (CESGRANRIO 2016 TCE-PR Analista de Controle - Tecnologia da Informação) No modelo iterativo de desenvolvimento de software, as atividades são dispostas em estágios sequênciais. 8. (CESPE 2014 ANTAQ Analista de Sistemas e Negócios) O processo de desenvolvimento iterativo e incremental apresenta dificuldades para dar visibilidade ao processo. Prof. Pedro Henrique Chagas Freitas 48

49 9. (CESPE 2014 ANATEL Analista Administrativo Desenvolvimento de Sistemas) Nos processos iterativos de desenvolvimento de software, o tratamento de mudanças em requisitos deve ser priorizado com a realização de um processo formal de gerenciamento de mudanças. 10. (CESPE 2013 BACEN Analista de Sistemas) Na abordagem incremental, o sistema é dividido em subsistemas por funcionalidades. Após a identificação das funcionalidades a serem entregues no primeiro incremento, novas funcionalidades serão adicionadas a cada versão. 11. (FUNCAB 2014 MDA Analista de Sistemas) São características do desenvolvimento rápido de aplicações (RAD), EXCETO: a) Construção baseada em componentes. b) Utilização de equipes enxutas, mesmo em projetos grandes. c) Aplicação em desenvolvimento de sistemas de informação. d) Desenvolvimento extramamente curto. e) Processo com desenvolvimento de software incremental. 12. (FGV 2010 FIOCRUZ Tecnologista em Saúde) Rapid Application Development (RAD) é um modelo de processo de software incremental que enfatiza um ciclo de desenvolvimento curto, com o uso de uma abordagem de construção baseada em componentes. Nesse modelo, três das principais fases são abrangidas pelas modelagens: a) do negócio, dos recursos financeiros e das funções gerenciais. b) do gerenciamento, dos recursos de TI e dos processos. c) do planejamento, dos dados e das funções gerenciais. d) do planejamento, dos recursos de TI e dos projetos. e) do negócio, dos dados e dos processos. Prof. Pedro Henrique Chagas Freitas 49

50 13. (Cespe 2008 TST Analista Judiciário Tecnologia da Informação) O modelo RAD (Rapid Application Development) consiste em uma forma de prototipação para esclarecer dúvidas da especificação do software. 14. (Cespe 2013 TRT 17 Região Analista de Sistemas) O objetivo do RAD é separar os modelos da visualização e do controle. Ele fornece o controlador e facilita a escrita de moldes padronizados para a camada de visualização. 15. (FUNRIO IF-PA Analista de Tecnologia) Um modelo de desenvolvimento de software intercala as atividades de especificação, desenvolvimento e validação. Ele permite desenvolver rapidamente um sistema inicial a partir de especificações abstratas, que são então refinadas com informações do cliente, para produzir um sistema que atenda suas necessidades. Esse modelo é conhecido como desenvolvimento: a) Em espiral. b) em cascata. c) evolucionário. d) formal de sistemas. e) orientado a reuso. 16. (FGV 2015 TCM-SP Agente de Fiscalização Tecnologia da Informação) Software, assim como todos os sistemas complexos, evolui ao longo do tempo. Modelos de processos evolucionários Prof. Pedro Henrique Chagas Freitas 50

51 reconhecem a natureza iterativa e incremental da maioria dos projetos de engenharia de software e são projetados para adequar mudanças. Os modelos a serem utilizados em um processo evolucionário são: a) cascata e modelo V; b) prototipação e modelo espiral; c) concorrente e métodos formais; d) incremental e baseado em componentes; e) processo unificado e orientado a aspectos. 17. (CESGRANRIO 2014 Petrobrás Tecnico de Informática Júnior) Um técnico de informática, com o objetivo de agilizar o desenvolvimento de um software, escolheu o desenvolvimento evolucionário, uma abordagem da área de Engenharia de Software, que: a) facilita a produção de sistemas bem estruturados, privilegiando um processo de mudanças contínuas, cada vez mais fáceis e baratas. b) Se baseia na existência de um número significativo de componentes reusáveis, num processo de desenvolvimento que enfoca a integração desses componentes, em vez de desenvolvê-los a partir do zero. c) considera como atividades fundamentais do processo a especificação, o desenvolvimento, a validação e a evolução, representado-as como fases de processo separadas, sendo que para uma fase ser iniciada, a outra deve estar completamente terminada. d) é mutuamente exclusiva com o modelo em cascata e de Engenharia de Software baseada em componentes, sendo que os subsistemas contidos em um sistema maior precisam ser desenvolvidos, usando a mesma abordagem ou modelo. e) intercala as atividades de especificação, desenvolvimento e validação, permitindo que um sistema inicial seja desenvolvido rapidamente, baseado em especificações abstratas. Prof. Pedro Henrique Chagas Freitas 51

52 18. (CESPE 2010 SERPRO Analista área: Desenvolvimento de Sistemas) O modelo em espiral de ciclo de vida de software é iterativo e incremental, uma vez que a mesma sequência de atividades relacionadas à produção de software é realizada a cada ciclo da espiral. 19. (CESPE 2013 STF Técnico Judiciário Tecnologia da Informação) O processo de software fundamentado no modelo em espiral apresenta o processo em loops compostos basicamente por setores, como, por exemplo, definição de objetivos, avaliação de riscos, planejamento e desenvolvimento e avaliação. 20. (CS-UFG 2014 UEAP Analista de Tecnologia) No modelo espiral de Boehm, o processo de software é representado como uma espiral e não como uma sequência de atividades com retornos de uma para outra. O modelo espiral de Boehm é a) um framework de processo de software dirigido a riscos. b) dividido em três setores: definição de objetivos, desenvolvimento e planejamento. c) pouco tolerante a mudanças ao longo do processo de software. d) construído de forma que a volta mais externa define o início do processo de software. Prof. Pedro Henrique Chagas Freitas 52

53 21. (FCC 2010 MPE-RN Analista de Tecnologia da Informação) No modelo de desenvolvimento de software em espiral, cada loop da espiral representa: a) a necessidade de retornar ao início da fase em que se encontra. b) um processo de reengenharia. c) uma disciplina de software. d) uma fase do processo de software. e) uma atividade paralela. 22. (FCC 2010 BAHIAGÁS Analista de Sistemas) 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. 23. (FUNCAB 2010 PRODAM-AM Analista de Tecnologia) Qual das alternativas a seguir corresponde ao modelo de processo, proposto no final da década de 80, que tem como principais características ser evolucionário, iterativo e focado na redução dos riscos? a) Modelo em Espiral. b) Modelo em Cascata. c) Modelo em V. d) ModeloTransformacional. e) Modelo de Especificação Operacional. Prof. Pedro Henrique Chagas Freitas 53

54 24. (CESGRANRIO 2011 FINEP Analista de Desenvolvimento de Sistemas) O modelo de processo de desenvolvimento de software que combina as atividades de desenvolvimento com o gerenciamento de risco é o Modelo a) Transformacional b) de Especificação Operacional c) em V d) em Cascata e) em Espiral 25. (AOCP 2014 UFGD Analista de Tecnologia da Informação) Sobre o modelo espiral de Boehm, assinale a alternativa INCORRETA: a) É um framework de processo de software dirigido a riscos. b) Neste modelo, o processo de software é representado como uma espiral. Cada volta na espiral representa uma fase do processo de software. c) Neste modelo, cada volta da espiral é dividida em três setores, sendo: Definição de objetivos, Desenvolvimento e validação, Planejamento. d) Neste modelo, a volta mais interna pode preocupar-se com a viabilidade do sistema. e) Neste modelo, já uma combinação de prevenção e tolerância a mudanças, assume que mudanças são um resultado de riscos de projeto e inclui atividades explícitas de gerenciamento de riscos para sua redução. Prof. Pedro Henrique Chagas Freitas 54

55 26. (CESPE 2011 MEC Analista de Sistemas) No modelo de prototipação, o processo de desenvolvimento de software é modelado como uma sequência linear de fases, enfatizando um ciclo de desenvolvimento de breve duração. 27. (FUMARC 2012 TJ-MG Oficial Judiciário - D) Em relação a prototipagem, o protótipo ajuda no entendimento dos requisitos do sistema. 28. (FGV 2010 FIOCRUZ Tecnologista em Saúde - B) Como modelo evolucionário do processo de software, uma característica da prototipagem é configurar um processo iterativo e rápido de desenvolvimento. Prof. Pedro Henrique Chagas Freitas 55

56 Gabarito 1. Correto. 2. Letra C. 3. Correto. 4. Errado. 5. Errado. 24. Letra E 25. Letra C 26. Errado 27. Correto 28. Correto 6. Correto. 7. Errado. 8. Errado. 9. Errado. 10. Correto. 11. Letra B. 12. Letra E. 13. Errado. 14. Errado. 15. Letra C. 16. Letra B. 17. Letra E. 18. Errado. 19. Correto. 20. Letra A. 21. Letra D. 22. Letra D. 23. Letra A. Prof. Pedro Henrique Chagas Freitas 56

57 Prof.. Pedro Henrique Chagas Freitas 57

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

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

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

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

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

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

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

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

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

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

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

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

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata 4//204 Engenharia de Software Luiz A. Nascimento Modelos de software Cascata (especificação/desenvolvimento/ validação e evolução) Na teoria:desenvolvimento linear Na prática: São necessárias várias iterações

Leia mais

Processos de Software. O que é modelo de processo? Vantagens. Modelos de Processo Gerais. O que é um processo de software?

Processos de Software. O que é modelo de processo? Vantagens. Modelos de Processo Gerais. O que é um processo de software? DCC / ICEx / UFMG O que é um processo de software? Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Conjunto de atividades que leva ao desenvolvimento do produto software Um

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

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

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

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

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

Modelos de Processo de Software. Profª Jocelma Rios

Modelos de Processo de Software. Profª Jocelma Rios Modelos de Processo de Software Profª Jocelma Rios Jun/2013 O que pretendemos: Apresentar os conceitos básicos de processos de software Descrever os principais modelos de processos de software, elucidando

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

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

Ciclo de Vida de Sistemas de Informação

Ciclo de Vida de Sistemas de Informação Ciclo de Vida de Sistemas de Informação PROCESSO DE DESEN. DE SIs Todo desenvolvimetno de SI pode ser caracterizado como um ciclo de solução de problema. Definição do Problema Situação atual Desenvolvimento

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

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

Reuso de Software Aula Maio 2012

Reuso de Software Aula Maio 2012 Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes

Leia mais

Verificação e Validação (V & V)

Verificação e Validação (V & V) Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado

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

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Engenharia de Software. Prof. Me. Clodoaldo Brasilino Engenharia de Software Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu.br Acompanhamento da Disciplina 1. Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software

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

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

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

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

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um

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

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini   / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ENGENHARIA DE SOFTWARE Aula N : 02 Tema:

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

PROCESSO DE SOFTWARE

PROCESSO DE SOFTWARE PROCESSO DE SOFTWARE Allan Senna Costa dos Santos Discente do Curso Tecnologia em Análise e Desenvolvimento de Sistemas Faculdades Integradas de Três Lagoas (AEMS) Jhonatan Ricardo Ferraris da Silva Discente

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

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

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

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

1. Envolve a coleta de requisitos de todos os elementos do sistema; 2.Essa visão de sistema é essencial quando o software faz interface com outros elementos como HW, pessoas e BD; 1. processo de coleta

Leia mais

Engenharia de Software I - Aula 04

Engenharia de Software I - Aula 04 Engenharia de Software I - Aula 04 Prof. Denis Carvalho Instituto Federal de Educação, Ciência e Tecnologia de Minas Gerais Campus São João Evangelista Conteúdo 1 Introdução 2 Paradigmas 3 Referências

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 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: 2 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO Nesta aula serão apresentados e discutidos os conceitos de Processo de desenvolvimento de software e ciclo

Leia mais

MODELAGEM DE SISTEMAS Unidade 1 Conceitos Básicos de Modelagem. Luiz Leão

MODELAGEM DE SISTEMAS Unidade 1 Conceitos Básicos de Modelagem. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático A Importância da Modelagem Princípios de Modelagem Atividades de Análise e Projeto Análise e Projeto Orientados a Objeto Procura

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

- 6ª Lista de Exercícios -

- 6ª Lista de Exercícios - - 6ª Lista de Exercícios - Gerência de Configuração Questão 1) (CESPE, 2013, TCE-RO - Analista de Informática). Com relação à gerência de configuração de software, julgue os itens que se seguem: Quando

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

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE 2016-1 ENGENHARIA DE SOFTWARE Processos de Software Etapas do processo de software Modelos de ciclo de vida de software Kele Teixeira Belloze kelebelloze@gmail.com 2016-1 PROCESSO DE DESENVOLVIMENTO DE

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

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

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

Protótipo: um brinquedo valioso

Protótipo: um brinquedo valioso Protótipo: um brinquedo valioso Guilherme Siqueira Simões 21/09/2016 2016 FATTO Consultoria e Sistemas www.fattocs.com 1 MISSÃO Apoiar nossos clientes a ter mais visibilidade do desempenho de seus processos

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

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 Sobre a Metodologia de Desenvolvimento de Software Extreme Programming (XP), explique e cite os benefícios

Leia mais

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado) Processo UP Unified Process (Processo Unificado) Conjunto de passos que tem como objetivo atingir uma meta Processo de software na ES, processo que visa a produzir o software - de modo eficiente e previsível

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

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

Engenharia de Software I

Engenharia de Software I Engenharia de Software I CURSO DE S ISTE MAS DE INFORMAÇÃO KAR LA DONATO FOO K DA NIEL LIMA GO MES JÚNIOR DESU / DCO MP 2017 Engenharia de Software Disciplina de engenhara relacionada com todos os aspectos

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Visão Geral Profa.Paulo C. Masiero masiero@icmc.usp.br ICMC/USP Algumas Dúvidas... Como são desenvolvidos os softwares? Estamos sendo bem sucedidos nos softwares que construímos?

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

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

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 A Engenharia de Software Uma Tecnologia em Camadas Gerenciamento da Qualidade Total e filosofias

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 2016 Engenharia de Software Disciplina de engenhara relacionada com todos os aspectos da produção

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2012 Paradigmas e Processo de Software Engenharia de Software: Abrangência Engenharia de Software possui

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

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

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

Aula 2 - Modelos de Processo - cascata, iterativo e incremental e ágil Aula 2 - 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 O que é um processo?

Leia mais

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais Engenharia de Software Aula 02 Tópicos da Aula Engenharia de Software: Conceitos Fundamentais Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 07 Março 2012 Motivação e Conceitos

Leia mais

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema: Modelos de Ciclo de Vida e Metodologias de Software 33) No SCRUM, uma iteração que segue um ciclo (PDCA) e entrega incremento de software pronto é denominada: A) Backlog. B) Sprint. C) Daily scrum. D)

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

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

RAD Rapid Application Development

RAD Rapid Application Development RAD Rapid Application Development Desenvolvimento Rápido de Aplicação Brunna Leite Rafaela Trevizan Renan Gonçalvez Samanta de Masi RAD é um modelo de processo de desenvolvimento de software iterativo

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

Processo Unificado (PU) Unified Process

Processo Unificado (PU) Unified Process Processo Unificado (PU) Unified Process 10 de junho de 2011 Adonai Canêz One comment Introdução O Processo Unificado (PU) surgiu para realizar o desenvolvimento de software visando a construção de sistemas

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

Aula 1: Apresentação. Revisão para Prova 1. Aula 2: Motivação. O que é software? Eng. de Software em Camadas. O que é Engenharia de Software?

Aula 1: Apresentação. Revisão para Prova 1. Aula 2: Motivação. O que é software? Eng. de Software em Camadas. O que é Engenharia de Software? Engenharia de Software Aula 15 Aula 1: Apresentação Revisão para Prova 1 Livro Datas Monitoria Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 22 Abril 2013 Avaliação Agenda do Curso

Leia mais

Engenharia de Software. Engenharia de Software

Engenharia de Software. Engenharia de Software Desenvolvimento SCE 186 - Engenharia Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002 Engenharia Uma Tecnologia em Camadas ferramentas métodos processo foco na qualidade Gerenciamento

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

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

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

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade I - Engenharia de Requisitos Definição de Requisitos (Continuação) Processos de Engenharia de Requisitos (Cont.) - Análise - Registro - Validação - Gerência 1 Processo de

Leia mais

Análise e Projeto de Software

Análise e Projeto de Software Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Teste de Software Verificação e validação Testes de desenvolvimento Testes de release Testes de usuário Desenvolvimento dirigido a testes Kele Teixeira Belloze kelebelloze@gmail.com

Leia mais

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta aula Fases do Processo. Ciclo de vida do processo. Processo Unificado Orientado por Casos de Uso, surgiu para realizar o

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo

Leia mais

Processo devem incorporar uma estratégia desenvolvimento

Processo devem incorporar uma estratégia desenvolvimento Modelo de Processo de Software Processo devem incorporar uma estratégia de desenvolvimento definição do problema estado atual desenvolvimento técnico integração da solução Auxiliadora Freire Fonte: Engenharia

Leia mais

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software Engenharia de Software Aula 17 Desenvolvimento de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 7 Maio 2012 1. Especificação de requisitos 2. Projeto

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

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

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAIANO Campus Senhor do Bonfim I N S T I T U T O F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O L O G I A B A I A N O C a m p u s S E N

Leia mais

UML Unified Modeling Language Linguagem de Modelagem Unificada

UML Unified Modeling Language Linguagem de Modelagem Unificada UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: porto@gilbertoporto.com.br A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 1- Visão Geral de Testes de Software Aula 2 Estrutura para o Teste de Software SUMÁRIO 1. Introdução... 3 2. Vertentes

Leia mais