• Nenhum resultado encontrado

Conhecimentos específicos para Analista Judiciário do TST: Analise de Sistemas (Parte I)

N/A
N/A
Protected

Academic year: 2021

Share "Conhecimentos específicos para Analista Judiciário do TST: Analise de Sistemas (Parte I)"

Copied!
83
0
0

Texto

(1)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 1

AULA 00

Conhecimentos específicos

para Analista Judiciário do

TST: Analise de Sistemas

(Parte I)

Princípios de Engenharia de Software I

Professor Pedro Henrique Chagas Freitas

(2)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 2

Aula Conteúdo Programático Data

00

Proposta do curso e aula demonstrativa sobre Engenharia de Software: Ciclos de vida, metodologias, processos e modelo cascata (Parte 1).

21/04

01 Engenharia de Software: Ciclo de vida, Metodologias e Processos (Parte 2). 21/04 02

Engenharia de Requisitos: Definição, classificação, domínio, organização e técnicas de elicitação.

22/04

03 Paradigma Orientado a Objetos: Conceitos fundamentais de OO 29/04 04 UML (Unified Modeling Language):Conceito, Diagramas e Estrutura 06/05 05

Estrutura de dados: Vetores e Matrizes, Lista encadeada, Pilhas, Filas, Árvores.

06/05

06

Conceitos Lógicos de Programação: Conceitos fundamentais de lógica de programação

13/05

07

Arquitetura Orientada a Serviço (SOA): Paradigma orientado a serviço, SOAP, WSDL, UDDI e REST.

13/05

08 Java: JEE, JSP, JSF, Servlets, Hibernate e AJAX. 13/05

09 Desenvolvimento Web: Conceitos sobre desenvolvimento Web. 13/05

10 Simulado final: Simulado com questões comentadas. 31/05

(3)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 3 Tópicos da Aula

Apresentação ... 4

Planejamento das Aulas ... 9

Introdução à Engenharia de Software ... 11

Processos de Software ... 17

Ciclo de vida de software ... 29

Modelo em Cascata ... 35

Modelo baseado em componentes ... 49

Lista das Questões Comentadas na Aula ... 50

Considerações Finais ... 71

Bibliografia ... 72

Lista das Questões Apresentadas na Aula ... 73

(4)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 4

Apresentação

Seus pensamentos moldam o seu presente, seus sonhos criam seu

futuro.

Paulo Sergio Fernandes

Conferencista, Pastor e Escritor.

Sejam bem-vindo (a)s ao nosso curso!

Já fez

Check-in

rumo ao seu sonho? Já sentou na cadeira e embarcou rumo ao seu

destino? Já escolheu o melhor caminho para chegar lá? Já pensou quantas escalas

fazer e por qual companhia aérea voar?

Sabe.. A nossa vida parece muito com um saguão de aeroporto. Todo dia várias

pessoas estão passando por nós indo para vários destinos, esses destinos por sua vez,

se originam de escolhas e nós fazemos escolhas todos os dias. Hoje pela manhã, por

exemplo, escolhi comer ovos e tomar um café com leite que aqui em Brasília é

tradição.

É um imenso prazer estar aqui junto com a equipe do Ponto dos Concursos,

realizando este trabalho de te tornar um candidato peso pesado na arena dos

concursos públicos!!!

Quando temos o sonho de ingressar em

um bom

concurso público

e provavelmente se você esta

lendo este material em qualquer localidade do

território nacional, deve ter esse sonho! Você

precisa fazer check-in diariamente rumo ao seu

destino. Eu, enquanto seu professor estou aqui

para te ajudar nesse check-in e embarcar nessa

viagem com você, tirando suas duvidas e te

preparando para a aprovação.

(5)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 5

Todas as pessoas que chegaram a algum lugar começaram de onde estavam

. O que

quero dizer com isso, caro aluno (a) é que nós aqui da Ponto dos Concursos, de fato

acreditamos no seu sonho de ingressar em uma boa carreira pública e estamos

dispostos a te mostrar o caminho do sucesso para alcançar a carreira que você tanto

sonha!

Para isso quero te apresentar a nossa aula demonstrativa, você embarcando conosco

nessa aula demonstrativa, vai poder desfrutar de uma viagem rumo a sua aprovação.

Nesse caminho, quero te apresentar alguns conselhos que eu sempre gosto de dar.

Algumas pessoas me perguntam: Pedro quanto tempo leva até a aprovação?

Sabe amigo (a) eu já tenho alguns anos nessa estrada e já vi de tudo, já vi amigos meus

ingressando no MPU com 6 meses de estudo, e também já vi outros amigos

ingressando com 3 anos de estudo. A verdade é que não existe uma verdade sobre

isso, o que existe são pessoas diferentes utilizando seu tempo, esforço, disciplina e fé

de formas diferentes.

(6)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 6

Tempo:

Assim sendo, o tempo até sua aprovação vai depender do equilíbrio entre

esses fatores: Tempo de qualidade nos estudos (Pode ser 2 horas por dia? Sim. Pode

ser 10 horas por dia? Sim. Desde que você absorva a matéria, mesmo que sejam 20

minutos por dia, precisa ser tempo de qualidade).

Você já deve ter se deparado com aquele amigo seu, que estuda a 5 anos, 25 horas

por dia, e de fato existem pessoas assim, mas sinceramente eu não conheço ninguém

que consiga realizar mais de 6 horas (de qualidade nos estudos), por isso gosto de

sempre focar nisso, você precisa ter tempo de qualidade nos seus estudos e não muito

tempo para estudar.

Conheço por exemplo pessoas

excepcionais que não acreditam

em si mesmas e aqui esta o

grande

pulo do gato!

Você precisa ter

tempo, esforço, disciplina e fé,

mas antes de tudo isso

precisa

acreditar em si mesmo!

Digo isso,

porque muitos dos que param,

não param pela dificuldade, mas

por deixar de acreditar.

(7)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 7

Esforço:

Esforço é a sua determinação em movimento. Acredite não tem como chegar

no lugar da vitória sem se esforçar muito, a propósito se você esta começando nesse

mundo dos concursos vai perceber que tem muito conteúdo para você aprender, se já

esta nessa estrada vai lembrar que ainda não se tornou a melhor versão de você

mesmo.

Mas nunca se esqueça: seu esforço vai até o dia da aprovação, às vezes pode ser difícil,

mas quero garantir a você caro aluno (a), vale a pena à luta! Cada dia acordando cedo,

cada resumo e principalmente cada noite de batalha ao lado do conteúdo para prova,

resolvendo questões e se preparando! Tudo isso vai te levar ao lugar da aprovação,

então mãos a obra, seu esforço esta construindo o destino para onde você esta indo!

Se continuar nessa estrada dia após dia, eu te garanto uma coisa:

Você vai conseguir

chegar a sua aprovação muito antes do que imagina.

Disciplina e Fé:

Aprendi uma coisa estudando para concursos, a sua disciplina é o que

te diferencia, qualquer pessoa pode se dedicar, mas nem todos serão

constantes

(disciplinados), sua memória deve sempre ser lembrada do conteúdo. Quem nunca se

deparou com alguma questão e pensou:

Nossa! Eu já vi isso antes. Você tenta se lembrar, então percebe que não guardou a

informação que deveria ter guardado. Por isso, precisamos da disciplina,

manter a

constância no objetivo traz o objetivo para perto de você.

Sua Fé vai te ajudar nesse processo, eu

pessoalmente sempre gosto de olhar as

coisas com um propósito maior do que

aquilo que estou vendo naquele

momento. Quero te convidar a fazer a

mesma coisa, toda vez que o cansaço

aparecer ou qualquer outro fator,

lembre-se seu objetivo é a aprovação e

é para lá que você esta indo, tenha fé e

bom ânimo! Você vai chegar lá!

(8)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 8

Antes de apresentar nosso curso, gostaria de me apresentar!

Sou Engenheiro de Computação, especialista em Gestão e Desenvolvimento de

Sistemas, Mestrando em Gestão do Conhecimento e Tecnologia da Informação e

Coach pela Sociedade Brasileira de Coaching. Tenho 5 anos estudando para concursos,

3 anos como professor de tecnologia da informação e coach especializado em

concursos públicos.

Já atuei como Analista SAP no maior projeto de implantação de SAP para Banco da

América Latina na Caixa Econômica Federal. Sou Cearense, mas moro desde que nasci

aqui em Brasília e coleciono algumas aprovações e nomeações nessa estrada, fui

aprovado e nomeado para o cargo de Analista de Tecnologia da Informação na

Fundação Universidade de Brasília (FUB), aprovado e nomeado para o cargo de

Analista de Sistemas do Ministério da Educação e Cultura (MEC) e atualmente exerço

o cargo de Analista de Tecnologia da Informação no Ministério do Planejamento,

Desenvolvimento e Gestão (MPDG). Entre meus principais projetos está a implantação

do barramento de serviço no Ministério da Agricultura, Pecuária e Abastecimento

(MAPA), onde como ATI do Ministério do Planejamento fui responsável pelo projeto

que inicializou o paradigma orientado a serviço (SOA) no Ministério da Agricultura.

Feitas as apresentações, vamos conhecer mais sobre nosso curso!

(9)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 9

Planejamento das Aulas

Teremos

11

aulas, contando com essa

aula demonstrativa,

e desde já começaremos a

abordar o conteúdo do nosso curso. Acredito que neste curso passaremos de 300

questões comentadas de diversas bancas.

Vou usar minha experiência em concursos para te ajudar a saber exatamente o que

você precisa saber, ou seja,

o que as bancas estão cobrando nos últimos anos

.

Digo isso, porque quando você adquire um livro, exemplo: Engenharia de Software do

Roger Pressman, literatura muito explorada pelo CESPE, você pode passar muito

tempo aprendendo o que a banca não cobra.

Nada contra adquirir o livro, mas esse será o meu trabalho aqui, tirar da literatura

tudo que você precisa para ter

conteúdo fresco e necessário

para sua prova. Acredite

em mim, 80% das questões da sua prova, já ocorreram antes de outra forma, ou seja,

é previsível o que a banca vai cobrar se você conseguir

enxergar o que ela vem

cobrando.

É aqui que eu entro

para te ajudar a passar na frente da concorrência, garanto a você

que esse material será construído a fim de ser tudo o que você precisa para ingressar

nos grandes concursos.

Trabalharemos aqui com uma visão crescente, ou seja, o conteúdo das aulas partirá de

uma visão geral, onde você vai

entender o básico até uma visão detalhista

.

Por que Professor? Porque não adianta se tornar um especialista em conceitos

avançados quando você nem entende a teoria mais básica e simples, como veremos

existem questões que vão ir fundo nas disciplinas, todavia, outras serão triviais,

abordando apenas o conceito por trás da disciplina.

Adotarei uma

linguagem simples

, para o texto não ser cansativo, para que tenhamos

uma aula baseada em uma conversa,

acredito que isso te ajudará na absorção do

conteúdo.

Preciso fazer resumos? Sinceramente, sim.

Eu indico a prática de fazer resumos sempre

ao

término de uma aula, exemplo: você estuda toda a aula 00, então estuda

novamente agora fazendo seu resumo. Eu em particular adoto sempre a elaboração

(10)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 10

de resumos e tem me ajudado a

materializar

as informações na minha mente

,

principalmente perto da prova, quando os resumos ajudam bastante.

Buscarei aqui

construir parágrafos pequenos

, para deixar o texto

dinâmico e objetivo,

com destaques nas palavras ou frases chaves. Qualquer dúvida me coloco a disposição

para auxiliá-los, com rápido feedback para que possamos

caminhar juntos nessa

jornada

rumo a aprovação

.

Esta é a nossa aula demonstrativa onde já

mergulharemos fundo na matéria e nos exercícios.

Bons estudos!!!

Prof. Pedro Henrique Chagas Freitas

Instagram: _pedrochagasfreitas

(11)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 11

Introdução à Engenharia de Software

Vamos lá! Antes de entrar propriamente no conteúdo, quero rapidamente te apresentar nossas duas fontes para falar do tema: Engenharia de Software.

Temos aqui então o Dr. Pressman e o Dr. Sommerville que são duas referências adotadas pelas bancas (Cespe, FCC, Esaf, etc.) Feitas as devidas apresentações vamos nos nortear nessa estrada por essas duas bibliografias, então se em algum momento nas aulas eu citar, conforme diz: Pressman ou Sommerville, você já sabe de quem se trata.

Mas afinal de contas o que é Engenharia de Software?

Aula 00 – Engenharia de Software: Ciclos de vida, metodologias e processos (Parte I)

(12)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 12

Engenharia de software segundo o IEEE (Instituto de Engenheiros Eletricistas e

Eletrônicos) é a aplicação de uma abordagem sistemática, quantificável e

disciplinada de desenvolvimento de software. Para nosso amigo, Pressman

a Engenharia de Software é a criação e utilização de sólidos princípios de

engenharia a fim de obter softwares econômicos que sejam confiáveis e que trabalhem eficientemente em maquinas reais.

Segundo este mesmo autor (Pressman): A engenharia de Software ocorre

como consequência de um processo chamado Engenharia de Sistemas.

Daqui já podemos tirar uma conclusão:

Ou seja, a engenharia de sistemas não se concentra somente no software, ela é mais abrangente e tem seu foco no produto final, que “pode ser” um

software ou um sistema do qual o software faz parte.

A engenharia de sistemas segundo Pressman se divide em dois domínios:

Engenharia de Produto (Foco no produto final) e Engenharia de Processo

de Negócio (Foco no Processo que entrega valor para o Negócio). Feita essa

diferenciação, como nosso foco aqui é a Engenharia de Software, vamos voltar para nosso tema.

A engenharia de software, portanto é diferente da engenharia de sistemas e tem por objetivo a aplicação de teorias desenvolvidas sobre a

engenharia, agora no contexto de software, sempre com foco na

qualidade.

Desenvolver então software com foco na qualidade é definir um processo, atribuir métodos e utilizar ferramentas a fim de alcançar qualidade. Conforme ensina nosso Mestre Pressman, a Engenharia de Software é criada em cima dos seguintes pilares:

(13)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 13

Por trás da qualidade, encontramos um processo de desenvolvimento que visa gerar código executável com qualidade, para isso métodos bem definidos são utilizados e ferramentas ajudam a agregar valor no alcance do produto:

Software com Qualidade.

Vamos então revelar o que Sommerville pensa sobre a Engenharia de Software:

Entendeu então o que é Engenharia de Software, vamos verificar quando ela surgiu: Na década de 60 houve uma crise no desenvolvimento de software, na época o processo de desenvolvimento de software era um pouco caótico, não existiam processos bem definidos, nem métodos e as ferramentas ainda estavam começando a aparecer no mercado.

A indústria de software percebeu então que era a hora de começar a por ordem na casa, antes que os softwares começassem a se tornar problemas invés de soluções, pensaram então em aplicar conceitos já empregados na engenharia e trazer para o mundo do software.

Segundo Sommerville: A engenharia de software

não se relaciona apenas com os processos

técnicos de desenvolvimento de software, mas

também com as atividades de gerenciamento de projeto de software e o desenvolvimento de ferramentas, métodos e teorias que possam apoiar a produção de software com qualidade.

(14)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 14

Por volta dos anos 80, surge o que alguns de nós conhecemos na faculdade por paradigma estruturado, como você já deve imaginar 20 anos se passaram e já era possível enxergar um pequeno nível de maturidade, mas os desafios ainda eram grandes.

Em 90 surgiu o paradigma orientado a objeto, para revolucionar com tudo até então, e por fim chegaram às metodologias ágeis, o paradigma orientado a serviço (SOA), o Big Data, os sistemas distribuídos, então a festa começou (:

Ao longo deste caminho foram estabelecidos alguns princípios enquanto a engenharia de software ia evoluindo até os dias de hoje, são eles:

Formalidade, Abstração, Decomposição, Generalização e Flexibilidade.

Desenvolvimento de Software na década de 60

(15)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 15 Yes. Mas..Isso vai depender de cada autor. Indo direto ao ponto, não é possível dizer quais são as disciplinas da engenharia de software, porque não existe um consenso sobre elas, mas quando não existe

um consenso entre os autores, adotamos o bom senso.

Seguiremos então as disciplinas apresentadas tanto pelo Pressman como pelo Sommerville. Professor mas e se a banca cobrar a definição dada por um autor lá do Panamá, que ninguém nunca ouviu falar.

Então verifique se elas se parecem com essas disciplinas:

Formalidade é desenvolver software de acordo com métodos definidos.

Abstração é tratar a realidade produzida pelo software como uma realidade refletida do nosso mundo, considerando apenas aspectos relevantes.

Decomposição é dividir o software em partes menores, mais gerenciáveis.

Generalização é utilizada para a resolução de problemas de maneira genérica, reaproveitando soluções já existentes.

Flexibilização é permitir que o software possa sofrer alterações, sem causar problemas durante sua execução.

Professores Pedro, existem disciplinas específicas dentro da Engenharia de Software?

(16)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 16 Requisitos de Negócios Requisitos de Software Análise de Software Projeto de Software Construção de Software Teste de Software Manutenção de Software

Requisitos de Negócios: Como o negócio funciona?

Requisitos de Software: Requisitos para o Software atender o negócio.

Análise de Software: Desenho do problema que o software visa solucionar.

Projeto de Software:Desenho da solução que o software vai implementar.

Construção do Software: Codificação do software.

Teste de Software: Garantia da qualidade do software

(17)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 17

Processos de Software

Quase tudo hoje no mundo globalizado vai adotar em algum momento um processo e com a engenharia de software não é diferente. Quando desejamos

criar um software nós levantamos um conjunto de atividades que vão

gerar resultados esperados e associamos essas atividades a esses

resultados, a fim de produzir um produto, que no nosso caso, chamamos de

software.

Professor existe um processo ideal de como produzir um software? Não. O processo ideal não existe, o que existe são diferentes abordagens para o desenvolvimento de software que podem ser empregadas de acordo com o tipo de software, equipe de projeto, cultura organizacional, dentre outros fatores vigentes.

Esses processos vão sempre adotar atividades fundamentais como mostrei na página anterior a vocês. Funciona assim: Vou analisar o negócio, depois vou

levantar requisitos, desenhar o problema, em seguida desenhar a solução,

implementar a solução projetada, testar e colocar em produção. Ok?

Para organizar essas atividades, teremos processos bem definidos, que tem como objetivo trazer qualidade para o produto final (software).

Entre os modelos de processos de software que temos hoje alguns se destacam, são eles:

Quero produzir um Software com

qualidade

Adoto processos de software de

acordo

com a necessidade do

software.

(18)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 18

• Modelo Sequencial Linear • Modelos Incrementais • Modelos Evolucionários • Modelos Especializados • Modelos Ágeis

• Engenharia dirigida a modelos (MDE)

1. (Cespe – 2016 – TCE (PR) – Analista de Controle – Tecnologia da Informação) Assinale a opção correta, a respeito de engenharia de software.

a) A engenharia de software está relacionada aos diversos aspectos de produção de software e inclui as atividades de especificação, desenvolvimento, validação e evolução de software.

b) A engenharia de software refere-se ao estudo das teorias e fundamentos da computação, ficando o desenvolvimento de software a cargo da ciência da computação.

c) No modelo iterativo de desenvolvimento de software, as atividades são dispostas em estágios sequenciais.

d) Um processo de software é composto por quatro atividades fundamentais: iniciação, desenvolvimento, entrega e encerramento.

e) O conceito de software se restringe ao desenvolvimento do código em determinada linguagem e seu armazenamento em arquivos.

Comentários:

A alternativa (a) esta correta porque apresenta de forma abrangente os aspectos da engenharia de software, relacionando as atividades de especificação, desenvolvimento, validação e evolução de software.

A alternativa (b) inverte os conceitos de engenharia de software e ciência da computação, tendo em vista que a ciência da computação é quem busca teorias e fundamentos fomentados na computação.

(19)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 19

Na alternativa (c) temos uma definição utilizada para designar o modelo cascata, que veremos ainda nesta aula.

A alternativa (d) apresenta a entrega como atividade fundamental. Todavia apesar do processo de software apresentar uma entrega, essa etapa é apresentada pelos autores como a validação, tendo em vista que o software entregue precisa ser validado conforme analise anterior de negócio e requisitos. A alternativa (e) esta errada porque restringe o conceito de software ao desenvolvimento de código. Se por exemplo, este código não é compilado, validado ou até mesmo se não atende uma demanda de negócio não é por si só um software, perceba que a simples escrita de um código não faz deste um software.

Gabarito: Letra A

2. (FCC - 2012 - TRT - 6ª Região (PE) - Técnico Judiciário - Tecnologia da Informação) Considere: é uma disciplina que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, depois que ele entrou em operação. Seu principal objetivo é fornecer uma estrutura metodológica para a construção de software com alta qualidade. A definição refere-se:

a) ao ciclo de vida do software.

b) à programação orientada a objetos. c) À análise de sistemas.

d) À engenharia de requisitos. e) à engenharia de software.

Comentários:

Agora que você já sabe o que é a engenharia de software não tem porque errar uma questão dessas. Tudo certo então? Estamos tratando aqui da Engenharia de Software.

(20)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 20 3. (CESPE – 2016 - TRE – PI – Técnico Judiciário – Tecnologia da

Informação - b) Com base nos princípios da engenharia de software ao término de cada atividade do processo de engenharia de software, não é obrigatória a geração de insumos.

Comentários:

Não é obrigatória a geração de insumos? Note que na engenharia de software sempre após o término de uma atividade ou de uma etapa serão gerados insumos para as próximas fases, afinal de contas a razão de qualquer etapa é fomentar a próxima etapa dentro do processo de desenvolvimento de software.

Gabarito: Errado

4. (CESPE - 2013 - TRT - 10ª REGIÃO (DF e TO) - Analista Judiciário - Tecnologia da Informação) A engenharia de software engloba processos, métodos e ferramentas. Um de seus focos é a produção de software de alta qualidade a custos adequados.

Comentários:

Engenharia de Software engloba processos? Sim. Métodos? Sim. Ferramentas? Sim. Lembra:

O foco esta na produção de software de qualidade? Sim. Gastando muito ou pouco? Pouco é melhor não é.

(21)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 21 5. (FCC - 2011 - INFRAERO - Analista de Sistemas - Gestão de TI)

Em relação à Engenharia de Software, é INCORRETO afirmar:

a) O design de software, ao descrever os diversos aspectos que estarão presentes no sistema quando construído, permite que se faça a avaliação prévia para garantir que ele alcance os objetivos propostos pelos interessados.

b) A representação de um design de software mais simples para representar apenas as suas características essenciais busca atender ao princípio da abstração.

c) Iniciar a entrevista para obtenção dos requisitos de software com perguntas mais genéricas e finalizar com perguntas mais específicas sobre o sistema é o que caracteriza a técnica de entrevista estruturada em funil. d) No contexto de levantamento de requisitos, funcionalidade é um dos aspectos que deve ser levado em conta na abordagem dos requisitos funcionais.

e) A representação é a linguagem do design, cujo único propósito é descrever um sistema de software que seja possível construir.

Comentários:

Vamos para a última alternativa ver se encontramos alguma coisa diferente do que apresentemos, mas antes queria evidenciar o seguinte: Na literatura de Engenharia de Software, o termo “design de software” é o mesmo utilizado para se referir a “projeto de software”, existem exceções, mas basicamente, lembre-se que ao utilizar design o avaliador normalmente esta de referindo a projeto.

A letra (e) vai dizer o seguinte: A representação é a linguagem do design (projeto), cujo único propósito é descrever um sistema de software que seja possível construir. Entenda que este é um dos propósitos e não o único

propósito, dizer que é o único propósito é limitar muito a atividade de projeto

(22)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 22

Gabarito: Letra E

6. (CESPE – 2016 - TRE – PI – Técnico Judiciário – Tecnologia da Informação - c) Os modelos de processo de desenvolvimento de software, que podem ser classificados em modelo cascata e modelo de engenharia de software orientada a reuso, são excludentes entre si, razão por que se deve escolher a melhor abordagem para um projeto de software.

Comentários:

O modelo cascata e o modelo orientado a reuso não são excludentes entre

si, podemos utilizar um processo de desenvolvimento de software utilizando

componentes existentes com foco no reuso e optar por utilizar esses componentes seguindo o cascata.

Gabarito: Errado

7. (CESPE – 2010 TRE/BA – Área: Tecnologia da Informação) A engenharia de software está relacionada com todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até sua manutenção, depois que este entrar em operação. A engenharia de sistemas diz respeito aos aspectos do desenvolvimento e da evolução de sistemas complexos, nos quais o software desempenha um papel importante.

Comentários:

Para responder essa questão é só pensarmos da seguinte forma:

Engenharia de Sistemas

Engenharia de Software

(23)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 23

Note que o texto da questão apresenta a engenharia de software como um item dentro da engenharia de sistemas, na engenharia de software estamos interessados em tudo sobre o ciclo de vida do software, talvez você esteja pensando: Mas professor a questão não diz: desde os estágios iniciais de especificação do sistema até sua manutenção, depois que este entrar em operação.

Às vezes precisamos ter sensibilidade para o que o avaliador quer dizer e não nos prender ao rigor dos conceitos, nessa questão o avaliador (CESPE) considerou correto o entendimento de citar a especificação do sistema dentro dos estágios iniciais, acredito que seria melhor dizer “especificação do software”, todavia entendeu a banca que a questão estava correta.

Atenção: Muito cuidado com o feeling (percepção) da banca, sempre procure compreender qual entendimento o avaliador deseja passar.

Gabarito: Correto

8. (FGV - 2010 - BADESC - Analista de Sistemas - Desenvolvimento de Sistemas)De acordo com Pressman, a engenharia de software é baseada em camadas, com foco na qualidade. Essas camadas são:

a) métodos, processo e teste.

b) ferramentas, métodos e processo.

c) métodos, construção, teste e implantação.

d) planejamento, modelagem, construção, validação e implantação.

e) comunicação, planejamento, modelagem, construção e implantação.

(24)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 24

Gabarito: Letra B

9. (CESPE – 2016 - TRT 8 Região – Técnico Judiciário – Tecnologia da Informação - b) A respeito dos processos e métodos em engenharia de software: Na engenharia de software, o processo define uma metodologia, ao passo que os métodos determinam os procedimentos técnicos.

Comentários:

Perfeito. Pergunto um processo define uma metodologia? Sim. Porque metodologia é uma forma ou maneira dos métodos ou processos atingirem um resultado. Métodos determinam os procedimentos técnicos? Sim. Porque através dos métodos eu consigo criar etapas para realização de tarefas dentro de uma metodologia.

Gabarito: Correto

10. (FCC – 2009 - AFR/SP - Analista de Sistemas) A engenharia de software está inserida no contexto:

a) das engenharias de sistemas, de processo e de produto. b) da engenharia de sistemas, apenas.

c) das engenharias de processo e de produto, apenas. d) das engenharias de sistemas e de processo, apenas. e) das engenharias de sistemas e de produto, apenas.

(25)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 25 Comentários:

A engenharia de software é uma consequência do que conhecemos por engenharia de sistemas, lembra. Nosso autor Pressman também diz que a engenharia de sistemas pode ser dividida em duas formas: Engenharia de

Processos de Negócio e Engenharia de Produto.

Gabarito: Letra A

11. (CESPE - 2012 - MEC - Gerente de Projetos) A engenharia de software, disciplina relacionada aos aspectos da produção de software, abrange somente os processos técnicos do desenvolvimento de software.

Comentários:

Somente os aspectos técnicos do desenvolvimento de software? E onde ficam as atividades relacionadas a analise do negócio ou ao gerenciamento de projetos.

Gabarito: Errado

12. (CESPE – 2013 – ANTT – Analista: Especialista em Tecnologia da Informação) Produtos de software podem ser construídos utilizando-se diferentes modelos de processos, pois alguns modelos são mais adequados que outros para determinados tipos de aplicação.

Comentários:

Com certeza! Como eu disse, não existe hoje um melhor modelo de processo, o que existe são modelos de processos melhores para determinados projetos de desenvolvimento de software.

(26)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 26

Gabarito: Correto

13. (CESPE – 2013 – CNJ – Analista em Tecnologia da Informação) Para a utilização de metodologias modernas, com abordagem da engenharia de software, recomenda-se a elaboração dos manuais do sistema ao final do projeto, quando todos os seus detalhes já estão definidos.

Comentários:

Não existe essa recomendação. Até porque o avaliador tratou aqui de manuais do sistema ao final do projeto. Ao longo do projeto de software poderão ser criados manuais e outros tipos de documentação, mas se olharmos para uma boa prática é melhor que esses manuais sejam elaborados ao longo do projeto. A questão também erra ao vincular a utilização de metodologias modernas com a elaboração de manuais, o que não é de todo uma verdade se tratarmos, por exemplo, de metodologias de desenvolvimento agile.

Gabarito: Errado

14. (CESPE – 2013 – TRT 10 – Analista de Tecnologia) As atividades fundamentais relacionadas ao processo de construção de um software incluem a especificação, o desenvolvimento, a validação e a evolução do software.

Comentários:

(27)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 27

Se não sair muito desse contexto lógico, as atividades estarão corretas.

Gabarito: Correto

15. (CESPE – 2013 – TRT 10 – Analista de Tecnologia) O ciclo de vida de um software, entre outras características, está relacionado aos estágios de concepção, projeto, criação e implementação.

Comentários:

Questão simples. Na concepção meu software vai ser elicitado conforme os requisitos de negócios, a fim de se elaborar um projeto, que em seguida é criado e implementado. Gabarito: Correto Requisitos de Negócios Requisitos de Software Análise de Software Projeto de Software Construção de Software Teste de Software Manutenção de Software

(28)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 28 16. (FCC – 2012 – TST – Analista Judiciário – Tecnologia da

Informação – E) A engenharia de software agrupa as melhores práticas para a concepção, projeto, operação e manutenção de artefatos que suportam a execução de programas de computador, tais como as técnicas de armazenamento e as estruturas em memória principal.

Comentários:

Coloquei essa questão aqui, que é na verdade uma alternativa da prova da FCC para o TST, para te mostrar como às vezes a banca vai tentar te enrolar criando uma salada que parece estar correta. Quando a banca se esforça para te fazer acreditar em uma questão, muito provavelmente é porque esta questão esta errada. Te pergunto: O que tem de ligação suportar a execução de programas de computador, tais como técnicas de armazenamento com o que vimos aqui na nossa aula? Não tem ligação nenhuma, aqui é um exemplo de uma tentativa do avaliador de jogar um monte de informação e se você estiver descuidado você marcar correto.

(29)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 29

Ciclo de vida de software

Desde o momento em que o software é concebido (requisitos de negócios) até o momento em que ele vai para produção, ele passa por diversas fases, que vão formar o seu ciclo de vida.

Não sei se você já estudou o ciclo de vida de um projeto, mas no PMBOK, o ciclo de vida de um projeto é representado por fases, a saber: Início, Preparação, Execução e Encerramento.

Tendo por fundamento que um software é um projeto, podemos enxergar no

ciclo de vida de software algumas fases por padrão:Concepção,

Desenvolvimento, Operação e Retirada.

Não existe consenso entre os autores sobre essas fases dentro do ciclo de vida de software, mas podemos tomar por base essas fases que foram citadas.

(30)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 30

Quando a visão de ciclo de vida de software foi estabelecida, vários modelos de processos de desenvolvimento de software começaram a surgir, tendo por finalidade organizar de forma prática etapas gerenciáveis dentro do ciclo de vida de software.

Surge então o que conhecemos por modelo de processo de

desenvolvimento de software seqüencial (linear), trazendo o modelo cascata.

Depois de verificadas as limitações do modelo cascata, foram surgindo outros processos de desenvolvimento como o modelo iterativo e o incremental, o modelo RAD, o RUP, as metodologias ágeis, sempre visando atender ao contexto de cada tipo de software.

Paralelamente surgiu o modelo evolucionário com a prototipagem e com o espiral e também outros modelos mais específicos como os métodos formais e

os métodos baseados em componentes.

Concepção

Desenvolvimento

Operação Retirada

(31)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 31 Mapa mental dos modelos de Software

Mapa mental do modelo Iterativo

Modelos de

software

Sequencial ou

Linear

Cascata

Iterativo

Incremental

Evolucionário

Específico

Iterativo Incremental RAD RUP Métodos Ágeis Evolucionário Prototipagem Espiral

(32)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 32 Curiosidade: Um dos grandes desafios que enfrentamos hoje na administração

pública é encontrar um modelo para desenvolvimento de software compatível

com a realidade de cada órgão da administração pública.

Alguns órgãos como o Banco Central e Tribunal Superior Eleitoral já se utilizam, por exemplo, de metodologias ágeis, enquanto outros órgãos estão começando a caminhar nas metodologias ágeis, como o Ministério da Agricultura, que é fortemente orientado pelo RUP.

Existem também órgãos que eu não vou citar aqui que são orientados a desorientação, ou seja, não existe metodologia definida, nem mesmo uma criada pelo próprio órgão.

Gosto de enfocar isso para que você perceba caro aluno (a) que a metodologia adotada, pode definir o sucesso de um projeto de desenvolvimento de software ou o seu fracasso.

17. (CESPE – 2016 – FUNPRESP– Analista de Tecnologia da Informação) Acerca dos conceitos relativos a engenharia de software, julgue o próximo item. No gerenciamento do ciclo de vida de um software, o processo de desenvolvimento (processo básico) objetiva estabelecer os requisitos dos componentes e suas interfaces em um sistema.

Comentários:

Lembre-se que conforme o ciclo de vida apresentado na aula, antes do desenvolvimento, temos uma etapa muito interessante chamada: concepção. Na concepção eu estabeleço meus requisitos e não no desenvolvimento, a questão erra então ao dizer que o processo de desenvolvimento objetiva

estabelecer os requisitos dos componentes.

(33)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 33 18. (CESPE – 2016 – TCE-PR– Analista de Controle - Tecnologia

da Informação - C) As fases do ciclo de vida de software são: concepção, desenvolvimento, entrega e encerramento.

Comentários:

Essa questão é questionável, veja que o ciclo de vida se baseia em:

Agora pergunto, podemos enxergar a fase de operação como entrega? Não. Muitas das vezes quando um software entra em operação, ele não está com todas as suas funcionalidades, logo ele não esta entregue.

Gabarito: Errado

Concepção

Desenvolvimento

Operação Retirada

(34)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 34 19. (CESPE – 2013 – TRT 10 Região– Analista Judiciário –

Tecnologia da Informação) O ciclo de vida de um software, entre outras características, está relacionado aos estágios de concepção, projeto, criação e implementação.

Comentários:

O ciclo de vida de um software tem concepção? Sim. Tem um projeto? Sim. Tem criação? Sim. Tem implementação? Sim. Note que as fases norteiam o ciclo de vida, mas o que o avaliador esta querendo saber é se os estágios de concepção, projeto, criação e implementação se relacionam com o ciclo de vida de software.

Gabarito: Correto

20. (CESPE – 2009 – TCE/TO – Analista de Sistemas - C) A escolha do modelo do ciclo de vida não depende de características específicas do projeto, pois o melhor modelo é sempre o mais usado pela equipe do projeto.

Comentários:

A escolha do modelo não depende do projeto? Como assim? O melhor modelo é sempre o mais usado pela equipe de projeto? Não sei nem como deixar essa questão mais errada.

(35)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 35

Modelo em Cascata

Nos anos 70 Royce iniciou o modelo sequencial ou linear que em seguida foi nomeado de modelo cascata ou monolítico. O modelo cascata é também conhecido como modelo tradicional ou Waterfall, mas normalmente em prova aparece mais o termo modelo cascata ou clássico.

Como você deve imaginar pelos nomes que apresentei aqui o modelo cascata é distribuído em uma fase após a outra, cada fase apresenta atividades que são

requisitos para a fase seguinte.

Assim sendo, uma fase só se inicia após o término da fase anterior, daí vem outro nome: modelo sequencial, ou seja, existe uma sequência rígida de

fases que visam o desenvolvimento do software. No cascata, a segunda fase,

por exemplo só será iniciada após o término da primeira fase.

Temos então “marcos” ao término de cada fase que dão abertura para a próxima fase. O ciclo de vida do software aqui é muito rígido o que dificulta muito o processo de desenvolvimento do software.

Também não existe consenso entre os autores sobre as fases do modelo cascata, separei aqui as fases elencadas pelo Sommerville, Pressman (6 edição) e pelo Yourdon.

Sommerville

Definição de Requisitos Projeto de Sistema e Software Implementação e Teste de Unidade Integração e Teste de Sistema Operação e Manutenção

Pressman

Comunicação Planejamento Modelagem Construção Implantação

Yourdon

Requisitos de Sistema Requisitos de Software Análise Projeto Codificação Teste Operação

(36)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 36

Professor mas eu devo decorar qual delas? Eu não indico decorar, mas sim

aprender a ordem apresentada pelo Pressman. Por quê? Porque possui a

definição mais simples de cada etapa.

Assim sendo, indico que você grave a lógica por trás de cada uma das etapas, infelizmente a banca pode cobrar na integra, por exemplo, as fases descritas pelo Yourdon e você acabar marcando errado porque decorou as do Sommerville, por isso atenção ao encadeamento de cada fase, se você ler e reler vai perceber que existe uma razão para os autores terem escolhido seus respectivos encadeamentos.

Quero agora apresentar para vocês um amigo nosso que gosta muito do modelo cascata e não tem como falar do modelo cascata sem falar dele, ninguém gosta dele, mas o modelo cascata adora trabalhar com ele. Já sabe de quem eu estou falando?

RISCO

Pense comigo, se uma fase só inicia após o término da fase anterior, então eu

só vou verificar se houve um erro quando o projeto estiver terminando.

No modelo incremental, por exemplo, o risco vai diminuindo no decorrer do

projeto, no modelo cascata ele se mantém constante ao longo do projeto.

As fases no Cascata sempre serão sequenciais e sempre entregarão um resultado.

(37)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 37 Assim sendo, o melhor momento para se descobrir um problema é no

início do processo de desenvolvimento, porque se eu descubro um erro lá

na frente, quando o projeto já está terminando, o custo para corrigir esse erro é dezenas de vezes maior do que se este tivesse sido descoberto no início. Isso também afeta diversas outras variáveis como: tempo, qualidade, integração, etc.

Risco x Tempo

Note que um erro no início quando estamos tratando do modelo cascata deverá

ser rapidamente corrigido, porque se o projeto continuar é possível que

o custo da correção seja altíssimo. Logo, ao longo de todo o tempo do

projeto teremos um risco muito alto que só diminuirá no final.

Lembre-se então, que se houver um erro identificado no início, teremos baixo custo de correção, enquanto se o erro somente for identificado no final, teremos um alto custo para correção.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Tempo

(38)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 38

No modelo Iterativo e Incremental por sua vez, começamos o projeto com o risco elevado,mas ao longo do projeto o risco tende a diminuir. Em momento oportuno explicarei o porquê da diminuição desse risco, mas por enquanto, faça sempre essa correlação entre o modelo cascata e a constante risco ao longo do projeto, ou seja, o modelo cascata acumula riscos até a fase de testes e implantação do sistema.

Tem sim, caro aluno (a). O modelo cascata é dividido em

fases distintas e essa é a grande vantagem do cascata. Sei que pode não

parecer uma grande vantagem, mas lembre-se que o modelo cascata surgiu em uma época negra da história do desenvolvimento de software. Onde os softwares não tinham nenhum padrão, o cascata veio então para organizar a casa.

Todavia com o passar do tempo e com a evolução da tecnologia, projetos que demandam uma complexidade maior, começaram a não aceitar o cascata por causa da sua rigidez. Uma situação muito recorrente hoje, por exemplo, é a mudança de requisitos ao longo do desenvolvimento do software, agora imagine um projeto de desenvolvimento de software, onde eu tenho vários stakeholders que mudam os requisitos constantemente, é incabível colocar o modelo cascata nesse cenário não é verdade.

Temos também a situação onde eu tenho um projeto de desenvolvimento de software onde os requisitos são realmente bem definidos e compreendidos e as chances de mudanças nos requisitos são muito pequenas, é indicado utilizar o modelo cascata nesse contexto? Sim.

Professor para que o modelo cascata existe então? Ele não tem nenhuma vantagem?

(39)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 39

Vantagens x Desvantagens do Cascata

Vantagens Desvantagens

Marcos para entrega de

artefatos. Necessita de requisitos bem definidos

Rígido: Fácil de gerenciar Mantemosriscos

Documentação para cada fase Entregável somente no final

21. (CESPE – 2016 – FUNPRESP– Analista de Tecnologia da Informação) O modelo de execução de projetos em cascata é caracterizado por fases que se entrelaçam e se sobrepõem. A abordagem incremental, por sua vez, assemelha-se ao planejamento em ondas sucessivas.

Comentários:

O modelo cascata é seqüencial, ou seja, as fases não se entrelaçam ou se sobrepõem. No cascata nós só avançamos para a próxima fase quando a anterior é concluída.

Gabarito: Errado _________________________________________________________

22. (CESPE – 2014– MEC – Especialista em Processos de Negócios) No que se refere ao modelo em cascata, é necessária a presença dos membros da equipe, pelo menos, em três fases consecutivas do projeto.

Comentários:

(40)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 40

Gabarito: Errado

23. (CESPE – 2011 – MEC – Analista de Sistemas) O modelo Waterfall tem a vantagem de facilitar a realização de mudanças sem a necessidade de retrabalho em fases já completadas.

Comentários:

Ao contrário, a mudança não é prevista no modelo cascata, e caso haja uma mudança o retrabalho necessariamente será realizado.

Gabarito: Errado

24. (CESPE – 2009 – INMETRO – Analista de Sistemas) Em um processo de desenvolvimento em cascata, os testes de software são realizados todos em um mesmo estágio, que acontece após a finalização das fases de implementação.

Comentários:

A maior parte dos testes acontece realmente na fase de testes, após a implementação, porém existe um autor, muito querido, chamado Sommerville que diz que os testes ocorrerão em dois momentos: Teste de unidade e Teste

(41)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 41

Gabarito: Errado

25. (CESPE – 2014 – ANATEL – Analista Administrativo – Tecnologia da Informação) No ciclo de vida clássico, ou modelo em cascata, as fases concluídas são congeladas para se evitar o retrabalho e maximizarem-se os custos de produção e a aprovação de documentos

Comentários:

As fases concluídas são congeladas para se evitar o retrabalho e maximizarem-se os custos de produção? Essa questão chega a maximizarem-ser engraçada, qual modelo seria criado para maximizar custos de produção.

Sommerville

Definição de Requisitos Projeto de Sistema e Software Implementação e Teste de Unidade Integração e Teste de Sistema Operação e Manutenção

Pressman

Comunicação Planejamento Modelagem Construção Implantação

Yourdon

Requisitos de Sistema Requisitos de Software Análise Projeto Codificação Teste Operação

(42)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 42

Gabarito: Errado

26. (CESPE – 2016 - TCE (PR) – Analista de Controle de Tecnologia da Informação - C) No que diz respeito à engenharia de software: O modelo de desenvolvimento em cascata é utilizado em caso de divergência nos requisitos de um software, para permitir a evolução gradual do entendimento dos requisitos durante a implementação do software.

Comentários:

É exatamente isso que não é o modelo cascata. O cascata trabalha o processo de desenvolvimento de software como etapas rígidas, logo o modelo cascata cria uma barreira a divergência nos requisitos, tendo em vista que a premissa do cascata é que os requisitos estão bem definidos e não vão mudar ao longo do desenvolvimento do software.

Gabarito: Errado

27.

(

CESPE – 2009 – INMETRO – Analista de Sistemas) No

desenvolvimento de software, o modelo em cascata é estruturado de tal maneira que as fases que compõem o desenvolvimento são interligadas. Nessa situação, o final de uma fase implica o inicio de outra.

Comentários:

Perfeito! Foi o que aprendemos aqui, as fases no modelo cascata são interligadas e o final de uma fase implica o inicio da outra fase.

(43)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 43 28. (CESPE – 2010 – BASA – Analista de Sistemas) No modelo em

cascata, o projeto segue uma série de passos ordenados. Ao final de cada projeto, a equipe de projeto finaliza uma revisão. O desenvolvimento continua e, ao final, o cliente avalia a solução proposta.

Comentários:

No modelo cascata, o projeto realmente segue uma série de passos ordenados

(fases) e ao final de cada fase e não de cada projeto a equipe de projeto

finaliza uma revisão.

Gabarito: Errado

29. (CESPE – 2015 – TCE – RN – Assessor Técnico em Informática) As fases do modelo de ciclo de vida em cascata são demonstração, análise de requisitos, pré-projeto, desenvolvimento, projeto básico, homologação, implantação e manutenção, respectivamente.

Comentários:

Essas fases se encontram em algum dos autores que apresentamos aqui? Não. Logo questão errada.

Gabarito: Errado

30. (CESPE – TRE/AL – Analista de Sistemas) O modelo cascata ou ciclo de vida clássico necessita de uma abordagem sistemática, que envolve, em primeiro lugar, o projeto e, em seguida, a análise, a codificação, os testes e a manutenção.

(44)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 44

Lembra doYourdon:

A ordem correta seria Projeto e depois Análise. Questão difícil se você não

lembrar a diferença entre análise e projeto, vamos relembrar.

Note que se análise é a verificação do problema, o projeto não pode vir antes da análise.

Sommerville

Definição de Requisitos Projeto de Sistema e Software Implementação e Teste de Unidade Integração e Teste de Sistema Operação e Manutenção

Pressman

Comunicação Planejamento Modelagem Construção Implantação

Yourdon

Requisitos de Sistema Requisitos de Software Análise Projeto Codificação Teste Operação

Requisitos de Negócios: Como o negócio funciona?

Requisitos de Software: Requisitos para o Software atender o negócio.

Análise de Software: Desenho do problema que o software visa

solucionar.

Projeto de Software: Desenho da solução que o software vai

implementar.

Construção do Software: Codificação do software.

Teste de Software: Garantia da qualidade do software

(45)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 45

Gabarito: Errado

31. (VUNESP – 2012 – SPTrans – Analista de Sistemas) Uma das

abordagens do processo de desenvolvimento da engenharia de software prevê a divisão em etapas, em que o fim de uma é a entrada para a próxima. Esse processo é conhecido como modelo:

a) Transformação b) Incremental c) Evolutivo d) Espiral e) Cascata Comentários:

Fácil não é. Estamos tratando aqui do modelo Cascata.

Gabarito: Letra E

32. (CESPE – STJ – Analista de Sistemas) O modelo de desenvolvimento sequencial linear, também chamado modelo clássico ou modelo em cascata, caracteriza-se por não acomodar adequadamente as incertezas que existem no inicio de um projeto de software, em especial as geradas pela dificuldade do cliente de explicitar todos os requerimentos que o programa deve contemplar.

Comentários:

Lembre sempre que o cascata acumula riscos e que requisitos que constantemente sofrem modificações encontram uma resistência muito grande no modelo cascata.

(46)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 46 33. (CESPE – SERPRO – Analista de Sistemas) O modelo em

cascata consiste de fases e atividades que devem ser realizadas em sequencia, de forma que uma atividade é requisito da outra.

Comentários:

Perfeito! No cascata as fases e atividades são realizadas de forma sequencial, sendo que uma atividade é requisito da outra.

Gabarito: Correto

34. (CESPE – TST – Analista de Sistemas) No modelo de desenvolvimento sequencial linear, a fase de codificação é a que gera erros de maior custo de correção.

Comentários:

Não. A fase com erros com maior custo é a fase de requisitos, porque se o erro estiver no requisito, provavelmente muito do que foi investido será perdido.

Gabarito: Errado

35. (Cesgranrio – Petrobrás – Analista de Sistemas) No ciclo de vida clássico, também chamado de modelo sequencial linear ou modelo cascata, é apresentada uma abordagem sistemática composta pelas seguintes atividades:

(47)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 47

a) Análise de Requisitos de Software, Projeto, Geração de Código, Teste e Manutenção.

b) Modelagem e Engenharia do Sistema/Informação, Análise de Requisitos de Software, Projeto, Geração de Código, Teste e Manutenção.

c) Modelagem e Engenharia do Sistema/Informação, Projeto, Geração de Código, Teste e Manutenção.

d) Levantamento de Requisitos de Software, Projeto, Geração de Código e Manutenção e Análise de Requisitos de Software.

e) Levantamento de Requisitos de Software, Projeto, Geração de Código, Teste Progressivo e Manutenção.

Comentários:

Essa é uma questão muito interessante, note que eu apresentei para vocês as fases do cascata da 6 edição do livro do Pressman, todavia o avaliador decidiu nessa questão cobrar conforme a 4 edição do livro do Pressman.

Pressman (6 edição)

Comunicação

Planejamento

Modelagem

Construção

Implantação

Pressman (4 edição)

Modelagem e Engenharia

do Sistema/Informação

Analise de Requisitos de

Software

Projeto

Geração de Código

Teste e Manutenção

(48)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 48

Professor isso é possível? Infelizmente sim. Coloquei essa questão aqui para que vocês percebam que compreender o que é esperado de cada fase é melhor que decorar cada uma das fases.

(49)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 49

Modelo baseado em componentes

“Vamos seguir em frente! Te encontro na nossa Aula 01!!! Onde veremos:

Modelo baseado em componentes, métodos formais, modelos iterativos e

incrementais, modelos evolucionários, RAD, Prototipagem, Modelos

evolucionários e modelos em espiral.

Forte Abraço!

Se a vida não ficar mais fácil, trate de ficar mais forte.

JB Carvalho

Lembre-se:

Prof. Pedro Henrique Chagas Freitas

Instagram: _pedrochagasfreitas

(50)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 50

Lista das Questões Comentadas na Aula

1. (Cespe – 2016 – TCE (PR) – Analista de Controle – Tecnologia da Informação) Assinale a opção correta, a respeito de engenharia de software.

a) A engenharia de software está relacionada aos diversos aspectos de produção de software e inclui as atividades de especificação, desenvolvimento, validação e evolução de software.

b) A engenharia de software refere-se ao estudo das teorias e fundamentos da computação, ficando o desenvolvimento de software a cargo da ciência da computação.

c) No modelo iterativo de desenvolvimento de software, as atividades são dispostas em estágios sequenciais.

d) Um processo de software é composto por quatro atividades fundamentais: iniciação, desenvolvimento, entrega e encerramento.

e) O conceito de software se restringe ao desenvolvimento do código em determinada linguagem e seu armazenamento em arquivos.

Comentários:

A alternativa (a) esta correta porque apresenta de forma abrangente os aspectos da engenharia de software, relacionando as atividades de especificação, desenvolvimento, validação e evolução de software.

A alternativa (b) inverte os conceitos de engenharia de software e ciência da computação, tendo em vista que a ciência da computação é quem busca teorias e fundamentos fomentados na computação.

Na alternativa (c) temos uma definição utilizada para designar o modelo cascata, que veremos ainda nesta aula.

A alternativa (d) apresenta a entrega como atividade fundamental. Todavia apesar do processo de software ter uma entrega, essa etapa é apresentada pelos autores como a validação, tendo em vista que o software entregue precisa ser validado conforme analise anterior de negócio e requisitos.

A alternativa (e) esta errada porque restringe o conceito de software ao desenvolvimento de código. Se por exemplo, este código não é compilado, validado ou até mesmo se não atende uma demanda de negócio não é por si só

(51)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 51

um software, perceba que a simples escrita de um código não faz deste um software.

Gabarito: Letra A

2. (FCC - 2012 - TRT - 6ª Região (PE) - Técnico Judiciário - Tecnologia da Informação) Considere: é uma disciplina que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, depois que ele entrou em operação. Seu principal objetivo é fornecer uma estrutura metodológica para a construção de software com alta qualidade. A definição refere-se:

a) ao ciclo de vida do software.

b) à programação orientada a objetos. c) À análise de sistemas.

d) À engenharia de requisitos. e) à engenharia de software.

Comentários:

Agora que você já sabe o que é a engenharia de software não tem porque errar uma questão dessas. Tudo certo então? Estamos tratando aqui da Engenharia de Software.

Gabarito: Letra E

3. (CESPE – 2016 - TRE – PI – Técnico Judiciário – Tecnologia da Informação - b) Com base nos princípios da engenharia de software ao término de cada atividade do processo de engenharia de software, não é obrigatória a geração de insumos.

Comentários:

Não é obrigatória a geração de insumos? Note que na engenharia de software sempre após o término de uma atividade ou de uma etapa serão

(52)

www.pontodosconcursos.com.br|Prof. Pedro Henrique Chagas Freitas 52

gerados insumos, afinal de contas a razão de qualquer etapa é fomentar a próxima etapa dentro do processo de desenvolvimento de software.

Gabarito: Errado

4. (CESPE - 2013 - TRT - 10ª REGIÃO (DF e TO) - Analista Judiciário - Tecnologia da Informação)A engenharia de software engloba processos, métodos e ferramentas. Um de seus focos é a produção de software de alta qualidade a custos adequados.

Comentários:

Engenharia de Software engloba processos? Sim. Métodos? Sim. Ferramentas? Sim. Lembra:

O foco esta na produção de software de qualidade? Sim. Gastando muito ou pouco? Pouco é melhor não é.

Gabarito: Correto

5. (FCC - 2011 - INFRAERO - Analista de Sistemas - Gestão de TI)Em relação à Engenharia de Software, é INCORRETO afirmar:

a) O design de software, ao descrever os diversos aspectos que estarão presentes no sistema quando construído, permite que se faça a avaliação prévia para garantir que ele alcance os objetivos propostos pelos interessados.

b) A representação de um design de software mais simples para representar apenas as suas características essenciais busca atender ao princípio da abstração.

Referências

Documentos relacionados

• “…Se puder verificar equipes incompletas no início da próxima aula seria uma mão

To control scope, we need to manage a list of tasks... To control time, we need to manage

Rule of Least Surprise: In interface design, always do the least surprising thing.. Rule of Silence: When a program has nothing surprising to say, it should

1) Representação do ponto de vista do cliente: a técnica deve ser capaz de ilustrar o processo de serviço sobre a ótica do cliente, permitindo a identificação dos momentos

1. Etnografia Concorrente: São realizados estudos curtos e interativos antes do inicio do desenvolvimento, para que sejam colhidos os requisitos iniciais e a geração dos

Dissertação (Mestrado Profissional em Gestão e Tecnologia em Sistemas Produtivos). Centro Estadual de Educação Tecnológica Paula Souza, São Paulo, 2014. A Governança Corporativa,

Em todas as vezes, nossos olhos devem ser fixados, não em uma promessa apenas, mas sobre Ele, o único fundamento da nossa esperança, e em e através de quem sozinho todas as

Meus estudos recentes comprovam que as vacinas recombinantes contra a cinomose canina são capazes de proteger completamente filhotes de cães contra a cinomose canina após apenas